Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
config:json [2011/12/15 05:47] – Add JSON custom filetype codebrainzconfig:json [2014/11/27 00:54] – Use lexer filetype "Javascritp" to be more straightforward (but it's the same in the end) colombanw
Line 1: Line 1:
-JSON+====== JSON Filetype ====== 
 +JSON files are intended for serializing data objects, but are sometimes used as configuration files.  JSON syntax is mostly a subset of JavaScript syntax and therefore the JavaScript lexer can be used for it.
  
-Although JSON files aren't terribly common, sometimes you'll have to hand-edit some JSON data, for example when it's used as a configuration file format. +Add this to the ''filetype_extensions.conf'' file (''...'' means existing data):
- +
-Add this to the ''filetypes_extensions.conf'' file (''...'' means existing data):+
 <code ini> <code ini>
 [Extensions] [Extensions]
Line 17: Line 16:
  
 And create a new filedef named ''filetypes.JSON.conf'' with the following contents: And create a new filedef named ''filetypes.JSON.conf'' with the following contents:
-<code ini>+<file properties filetypes.JSON.conf>
 [styling=C] [styling=C]
  
 [keywords] [keywords]
-primary=true false+primary=true false null
  
 [settings] [settings]
-extension=json 
 lexer_filetype=Javascript lexer_filetype=Javascript
-comment_single=# +extension=json 
-comment_use_indent=true+mime_type=application/json
  
 [indentation] [indentation]
-width=2+#width=4
 # 0 is spaces, 1 is tabs, 2 is tab & spaces # 0 is spaces, 1 is tabs, 2 is tab & spaces
-type=1 +#type=1 
-</code>+</file> 
 + 
 +=== Build Commands === 
 + 
 +For people using Unix, the following will be helpful for checking your JSON files for correctness. 
 + 
 +<file bash /usr/local/bin/check_json> 
 +#!/bin/sh 
 + 
 +if which python >/dev/null ; then 
 +  python -m json.tool <"$1" 2>&1 >/dev/null \ 
 +  | sed 's/^\([^:]*\): line \(.*\)/'"$1"':\2: \1/' 
 +elif which perl >/dev/null ; then 
 +  perl -MJSON -e 'local $/;decode_json(<STDIN>);' <"$1" 2>&1 >/dev/null \ 
 +  |sed 's/^\(.*\) at .e line 1, .STDIN. [^ ]* \([0-9]*\)/'"$1"':\2: \1/;' 
 +else 
 +  echo "No known JSON parsers found" >&
 +  exit 1 
 +fi 
 +</file> 
 + 
 +In Geany, go to the Build menu and 'Set Build Commands...' and use ''/usr/local/bin/check_json %f'' as the compile command, and ''([^:]+):([0-9]+)'' as the Error Regular Expression. 
 + 
 + 
 +{{tag>configure json filetype}} 
 +~~NOTOC~~ 
Print/export