This is an old revision of the document!
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.
Add this to the filetype_extensions.conf
file (…
means existing data):
[Extensions] ... JSON=*.json ... [Groups] ... Misc=JSON ...
And create a new filedef named filetypes.JSON.conf
with the following contents:
- filetypes.JSON.conf
[styling=C] [keywords] primary=true false null [settings] lexer_filetype=Javascript extension=json mime_type=application/json [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
Build Commands
For people using Unix, the following will be helpful for checking your JSON files for correctness.
- /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" >&2 exit 1 fi
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.