mc/misc/syntax/yaml.syntax
Pavel Shumskii 971de9651c Ticket #4059: improve YAML multiline blocks syntax highliting.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2022-07-09 20:10:31 +03:00

42 lines
1.6 KiB
YAML

# YAML syntax highlighting
# Reference:
# https://en.wikipedia.org/wiki/YAML
# http://yaml.org/refcard.html
context default
spellcheck
keyword #*\n brown
keyword {{*}} brightred
keyword linestart --- brightcyan
keyword linestart \[\s\]-\s brightcyan
# "YAML requires that colons and commas used as list separators be followed by a space [...]"
keyword ,\{\s\n\} brightcyan
keyword , red
# Below, we can get by with just "*:\{\s\n\}", but we prefer to restrict the
# key names in order not to grab too much (e.g., "{one: 1, two: 2}", "one: 1 # possibilities: 1 or 2").
keyword \{0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\}\[\s-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]:\{\s\n\} yellow
keyword [ brightcyan
keyword ] brightcyan
keyword { brightcyan
keyword } brightcyan
keyword whole true brightmagenta
keyword whole false brightmagenta
keyword whole null brightmagenta
context " " green
spellcheck
keyword {{*}} brightred
keyword \\" brightgreen
keyword \\\\ brightgreen
keyword \\\{xuU\}\[0123456789\] brightgreen
keyword \\\{0abfnrtve_NLP\} brightgreen
context ' ' green
spellcheck
keyword {{*}} brightred
# The last word below may be: "\n*:\{\s\n\}", but used strict version suitable for more cases
context exclusive |\[123456789\+\-\s\t\]\n \n\n\[\s-\]\[-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]:\{\s\n\} brown
context exclusive >\[123456789\+\-\s\t\]\n \n\n\[\s-\]\[-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]:\{\s\n\} brown