summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/alecthomas/chroma/lexers/i/ini.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/lexers/i/ini.go')
-rw-r--r--vendor/github.com/alecthomas/chroma/lexers/i/ini.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/lexers/i/ini.go b/vendor/github.com/alecthomas/chroma/lexers/i/ini.go
new file mode 100644
index 000000000..46b2ce238
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/lexers/i/ini.go
@@ -0,0 +1,29 @@
+package i
+
+import (
+ . "github.com/alecthomas/chroma" // nolint
+ "github.com/alecthomas/chroma/lexers/internal"
+)
+
+// Ini lexer.
+var Ini = internal.Register(MustNewLazyLexer(
+ &Config{
+ Name: "INI",
+ Aliases: []string{"ini", "cfg", "dosini"},
+ Filenames: []string{"*.ini", "*.cfg", "*.inf", ".gitconfig", ".editorconfig"},
+ MimeTypes: []string{"text/x-ini", "text/inf"},
+ },
+ iniRules,
+))
+
+func iniRules() Rules {
+ return Rules{
+ "root": {
+ {`\s+`, Text, nil},
+ {`[;#].*`, CommentSingle, nil},
+ {`\[.*?\]$`, Keyword, nil},
+ {`(.*?)([ \t]*)(=)([ \t]*)(.*(?:\n[ \t].+)*)`, ByGroups(NameAttribute, Text, Operator, Text, LiteralString), nil},
+ {`(.+?)$`, NameAttribute, nil},
+ },
+ }
+}