nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH V2] syntax: yaml: new file -- coloring rules for YAML files


From: Benno Schulenberg
Subject: [PATCH V2] syntax: yaml: new file -- coloring rules for YAML files
Date: Sun, 26 Sep 2021 16:45:42 +0200

This fulfills https://bugs.debian.org/982091.
Requested-by: Otto Kekäläinen <otto@debian.org>

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

V2: - use lighter color for keys, and one color for types
    - add regex for octal/hex, and one for dates
    - condense and/or improve several regexes

---
 syntax/yaml.nanorc | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 syntax/yaml.nanorc

diff --git a/syntax/yaml.nanorc b/syntax/yaml.nanorc
new file mode 100644
index 00000000..f49a3787
--- /dev/null
+++ b/syntax/yaml.nanorc
@@ -0,0 +1,39 @@
+## Syntax highlighting for YAML files.
+
+## Original author:  Benno Schulenberg
+## License:  GPL version 3 or newer
+
+syntax yaml "\.ya?ml$"
+header "^---"
+
+tabgives "  "
+comment "#"
+
+# Keys:
+color lightgreen "(\w|-)+:( |$)"
+color lightgreen "\[(\w|[, -])+\]:( |$)"
+
+# Values (booleans, numbers, octal/hex, dates, strings):
+color lightmagenta "[:,] +(Y(es)?|No?|y(es)?|no?|[Tt]rue|[Ff]alse|[Oo](n|ff))( 
*[]}]|, | +#|$)"
+color lightmagenta "[:,] +[+-]?[0-9]+(\.([0-9]+)?)?( *[]}]|, | +#|$)"
+color lightmagenta " 0(o[0-7]+|x[0-9ABCDEFabcdef]+)( *[]}]|, | +#|$)"
+color normal "[:,]( |$)"
+color lightmagenta " [12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])"
+color lightmagenta "("[^"]+"|'[^']+')"
+
+# Anchors and references:
+color pink " [&*]\w+( |$)"
+
+# Symbols:
+color bold,lagoon "^(---|\.\.\.)( |$)" " [|>]([1-9]?[+-]|[+-][1-9]?)?$"
+color yellow "(^ *- |[]{}[])"
+
+# Types:
+color mint " !!(binary|bool|float|int|map|null|omap|seq|set|str)( |$)"
+color mint " !(\w|-)+( |$)"
+
+# Mistakes (control codes, missing space, trailing space):
+color ,red "[[:cntrl:]]|[:,][^ ]| *$"
+
+# Comments:
+color italic,cyan "(^| )#.*"
-- 
2.29.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]