mirror of
git://git.sv.gnu.org/nano.git
synced 2025-01-05 00:54:26 +03:00
544351f3be
In many places a carriage return is not valid whitespace and should thus not be colored as such. In some of these places a vertical tab or form feed is maybe valid whitespace, but it would be ugly or even wrong to color them because they are not part of the subsequent comment or keyword. This fixes https://savannah.gnu.org/bugs/?60456.
34 lines
856 B
Plaintext
34 lines
856 B
Plaintext
## Syntax highlighting for JSON files.
|
|
|
|
## Original author: Aapo Rantalainen
|
|
## License: GPL version 3 or newer
|
|
|
|
syntax json "\.json$"
|
|
# No comments are permitted in JSON.
|
|
comment ""
|
|
|
|
# Numbers (used as value).
|
|
color green ":[[:blank:]]*\-?(0|[1-9][0-9]*)(\.[0-9]+)?([Ee]?[-+]?[0-9]+)?"
|
|
# Values (well, any string).
|
|
color brightmagenta "".+""
|
|
# Hex numbers (used as value).
|
|
color green ":[[:blank:]]*"#[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 ""[^"]+"[[:blank:]]*:"
|
|
|
|
# Brackets, braces, and separators.
|
|
color brightblue "\[" "\]"
|
|
color brightred "\{" "\}"
|
|
color brightred "," ":"
|
|
|
|
# Comments.
|
|
color cyan "(^|[[:blank:]]+)(//|#).*"
|
|
|
|
# Trailing whitespace.
|
|
color ,green "[[:space:]]+$"
|