Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
config:json [2011/12/15 05:51] – Fix title 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 Filetype ====== ====== 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}} {{tag>configure json filetype}}
 +~~NOTOC~~
 +
Print/export