summaryrefslogtreecommitdiffstats
path: root/misc/syntax/yaml.syntax
diff options
context:
space:
mode:
Diffstat (limited to 'misc/syntax/yaml.syntax')
-rw-r--r--misc/syntax/yaml.syntax41
1 files changed, 41 insertions, 0 deletions
diff --git a/misc/syntax/yaml.syntax b/misc/syntax/yaml.syntax
new file mode 100644
index 0000000..fe85a9d
--- /dev/null
+++ b/misc/syntax/yaml.syntax
@@ -0,0 +1,41 @@
+# 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