|
Packit |
1ac44c |
## Syntax highlighting for JSON files.
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
# See: http://www.json.org/
|
|
Packit |
1ac44c |
# Original author: Aapo Rantalainen
|
|
Packit |
1ac44c |
# License: GPLv3 or newer
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
syntax json "\.json$"
|
|
Packit |
1ac44c |
# No comments are permitted in JSON.
|
|
Packit |
1ac44c |
comment ""
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
# Numbers (used as value).
|
|
Packit |
1ac44c |
color green ":[[:space:]]*\-?(0|[1-9][0-9]*)(\.[0-9]+)?([Ee]?[-+]?[0-9]+)?"
|
|
Packit |
1ac44c |
# Values (well, any string).
|
|
Packit |
1ac44c |
color brightmagenta "\".+\""
|
|
Packit |
1ac44c |
# Hex numbers (used as value).
|
|
Packit |
1ac44c |
color green ":[[:space:]]*\"#[0-9abcdefABCDEF]+\""
|
|
Packit |
1ac44c |
# Escapes.
|
|
Packit |
1ac44c |
color green "\\\\" "\\\"" "\\[bfnrt]" "\\u[0-9abcdefABCDEF]{4})"
|
|
Packit |
1ac44c |
# Special words.
|
|
Packit |
1ac44c |
color green "(true|false|null)"
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
# Names (very unlikely to contain a quote).
|
|
Packit |
1ac44c |
color brightblue "\"[^"]+\"[[:space:]]*:"
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
# Brackets, braces, and separators.
|
|
Packit |
1ac44c |
color brightblue "\[" "\]"
|
|
Packit |
1ac44c |
color brightred "\{" "\}"
|
|
Packit |
1ac44c |
color brightred "," ":"
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
# Comments.
|
|
Packit |
1ac44c |
color cyan "(^|[[:space:]]+)(//|#).*$"
|
|
Packit |
1ac44c |
|
|
Packit |
1ac44c |
# Trailing whitespace.
|
|
Packit |
1ac44c |
color ,green "[[:space:]]+$"
|