summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/make.go
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
commitc6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch)
tree36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/make.go
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/make.go')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/make.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/make.go b/vendor/github.com/alecthomas/chroma/v2/lexers/make.go
new file mode 100644
index 0000000..48bdc13
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/make.go
@@ -0,0 +1,56 @@
+package lexers
+
+import (
+ . "github.com/alecthomas/chroma/v2" // nolint
+)
+
+// Makefile lexer.
+var Makefile = Register(MustNewLexer(
+ &Config{
+ Name: "Base Makefile",
+ Aliases: []string{"make", "makefile", "mf", "bsdmake"},
+ Filenames: []string{"*.mak", "*.mk", "Makefile", "makefile", "Makefile.*", "GNUmakefile"},
+ MimeTypes: []string{"text/x-makefile"},
+ EnsureNL: true,
+ },
+ makefileRules,
+))
+
+func makefileRules() Rules {
+ return Rules{
+ "root": {
+ {`^(?:[\t ]+.*\n|\n)+`, Using("Bash"), nil},
+ {`\$[<@$+%?|*]`, Keyword, nil},
+ {`\s+`, Text, nil},
+ {`#.*?\n`, Comment, nil},
+ {`(export)(\s+)(?=[\w${}\t -]+\n)`, ByGroups(Keyword, Text), Push("export")},
+ {`export\s+`, Keyword, nil},
+ {`([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)`, ByGroups(NameVariable, Text, Operator, Text, Using("Bash")), nil},
+ {`(?s)"(\\\\|\\.|[^"\\])*"`, LiteralStringDouble, nil},
+ {`(?s)'(\\\\|\\.|[^'\\])*'`, LiteralStringSingle, nil},
+ {`([^\n:]+)(:+)([ \t]*)`, ByGroups(NameFunction, Operator, Text), Push("block-header")},
+ {`\$\(`, Keyword, Push("expansion")},
+ },
+ "expansion": {
+ {`[^$a-zA-Z_()]+`, Text, nil},
+ {`[a-zA-Z_]+`, NameVariable, nil},
+ {`\$`, Keyword, nil},
+ {`\(`, Keyword, Push()},
+ {`\)`, Keyword, Pop(1)},
+ },
+ "export": {
+ {`[\w${}-]+`, NameVariable, nil},
+ {`\n`, Text, Pop(1)},
+ {`\s+`, Text, nil},
+ },
+ "block-header": {
+ {`[,|]`, Punctuation, nil},
+ {`#.*?\n`, Comment, Pop(1)},
+ {`\\\n`, Text, nil},
+ {`\$\(`, Keyword, Push("expansion")},
+ {`[a-zA-Z_]+`, Name, nil},
+ {`\n`, Text, Pop(1)},
+ {`.`, Text, nil},
+ },
+ }
+}