From c7b0e5469094e21a2db19e6c6839642f82f457f8 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Sat, 17 May 2014 11:44:35 +0000 Subject: [PATCH] Adding syntax colouring for JSON files. New file, originally from Aapo Rantalainen, but heavily edited, extended, and improved. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4901 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 4 ++++ doc/syntax/Makefile.am | 1 + doc/syntax/json.nanorc | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 doc/syntax/json.nanorc diff --git a/ChangeLog b/ChangeLog index 1b549541..47c2f4e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-05-17 Benno Schulenberg + * doc/syntax/json.nanorc: New file, originally from Aapo Rantalainen, + but edited, extended, and improved. See Savannah patch #7410. + 2014-05-16 Benno Schulenberg * src/text.c, src/winio.c: Remove some more double spaces. * doc/syntax/patch.nanorc: Show trailing whitespace on added lines. diff --git a/doc/syntax/Makefile.am b/doc/syntax/Makefile.am index 8060ef47..458c8165 100644 --- a/doc/syntax/Makefile.am +++ b/doc/syntax/Makefile.am @@ -12,6 +12,7 @@ pkgdata_DATA = asm.nanorc \ html.nanorc \ java.nanorc \ javascript.nanorc \ + json.nanorc \ lua.nanorc \ makefile.nanorc \ man.nanorc \ diff --git a/doc/syntax/json.nanorc b/doc/syntax/json.nanorc new file mode 100644 index 00000000..0f799f16 --- /dev/null +++ b/doc/syntax/json.nanorc @@ -0,0 +1,32 @@ +## Syntax highlighting for JSON files. + +# See: http://www.json.org/ +# Original author: Aapo Rantalainen +# License: GPLv3 or newer + +syntax "json" "\.json$" + +# Numbers (used as value). +color green ":[[:space:]]*\-?(0|[1-9][0-9]*)(\.[0-9]+)?([Ee]?[-+]?[0-9]+)?" +# Values (well, any string). +color brightmagenta "\".+\"" +# Hex numbers (used as value). +color green ":[[:space:]]*\"#[0-9abcdefABCDEF]+\"" +# Escapes. +color green "\\\\" "\\\"" "\\[bfnrt]" "\\u[0-9abcdefABCDEF]{4})" +# Special words. +color green "(true|false|null)" + +# Names (very unlikely to contain a quote). +color brightblue "\"[^"]+\"[[:space:]]*:" + +# Brackets, braces, and separators. +color brightblue "\[" "\]" +color brightred "\{" "\}" +color brightred "," ":" + +# Comments. +color cyan "(^|[[:space:]]+)(//|#).*$" + +# Trailing whitespace. +color ,green "[[:space:]]+$"