From 6ae8b2f82e767a410ed95f7600d04dffdfaddd1b Mon Sep 17 00:00:00 2001 From: Jesse Portnoy Date: Wed, 2 Aug 2023 19:08:21 +0100 Subject: [PATCH] This lexer will work nicely for `apt show` and `apt-cache` --- syntax_files/apt.yaml | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 syntax_files/apt.yaml diff --git a/syntax_files/apt.yaml b/syntax_files/apt.yaml new file mode 100644 index 0000000..81c1807 --- /dev/null +++ b/syntax_files/apt.yaml @@ -0,0 +1,44 @@ +filetype: apt + +detect: + filename: "\\.apt" + +rules: + - constant.number: "(^[D|+].*)" + - preproc: "[0-9]+,?[0-9]*" + - preproc: "\\\\." + - preproc: "^(un.*)" + - constant: "^(ii.*)" + - comment: "^(rc.*)" + - type: "(i386|i486|i586|i686|amd64|\\|athlon|ia64|alpha|alphaev5|alphaev56|alphapca56|alphaev6|alphaev67|sparc|sparcv9|sparc64armv3l|armv4b|armv4lm|ips|mipsel|ppc|iseries|ppcpseries|ppc64|m68k|m68kmint|Sgi|rs6000|i370|s390x|s390|noarch)" + - comment: "(^|[[:space:]])#([^{].*)?$" + - preproc: "[[:space:]]+$" + - indent-char: " + +| + +" + - statement: "[[:space:]]([0-9~:.]{2,}[-+:.0-9a-z~]+)[[:space:]]" + - type: "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) " + - constant: "\\b(YES|yes|Y|y|ON|on|NO|no|N|n|OFF|off)\\b" + - constant: "\\b(true|false)\\b" + - statement: "(:[[:space:]]|\\[|\\]|:[[:space:]]+[|>]|^[[:space:]]*- )" + - identifier: "[[:space:]][\\*&][A-Za-z0-9]+" + - type: "[-.\\w]+:" + - statement: ":" + - special: "(^---|^\\.\\.\\.|^%YAML|^%TAG)" + + - constant.string: + start: "\"" + end: "\"" + skip: "\\\\." + rules: + - constant.specialChar: "\\\\." + + - constant.string: + start: "'" + end: "'" + skip: "\\\\." + rules: + - constant.specialChar: "\\\\." + + - comment: + start: "#" + end: "$" + rules: []