summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go')
-rw-r--r--vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go b/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go
new file mode 100644
index 0000000000..0a4872e765
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go
@@ -0,0 +1,41 @@
+package p
+
+import (
+ . "github.com/alecthomas/chroma" // nolint
+ "github.com/alecthomas/chroma/lexers/internal"
+)
+
+// Pkgconfig lexer.
+var Pkgconfig = internal.Register(MustNewLexer(
+ &Config{
+ Name: "PkgConfig",
+ Aliases: []string{"pkgconfig"},
+ Filenames: []string{"*.pc"},
+ MimeTypes: []string{},
+ },
+ Rules{
+ "root": {
+ {`#.*$`, CommentSingle, nil},
+ {`^(\w+)(=)`, ByGroups(NameAttribute, Operator), nil},
+ {`^([\w.]+)(:)`, ByGroups(NameTag, Punctuation), Push("spvalue")},
+ Include("interp"),
+ {`[^${}#=:\n.]+`, Text, nil},
+ {`.`, Text, nil},
+ },
+ "interp": {
+ {`\$\$`, Text, nil},
+ {`\$\{`, LiteralStringInterpol, Push("curly")},
+ },
+ "curly": {
+ {`\}`, LiteralStringInterpol, Pop(1)},
+ {`\w+`, NameAttribute, nil},
+ },
+ "spvalue": {
+ Include("interp"),
+ {`#.*$`, CommentSingle, Pop(1)},
+ {`\n`, Text, Pop(1)},
+ {`[^${}#\n]+`, Text, nil},
+ {`.`, Text, nil},
+ },
+ },
+))