diff vendor/github.com/alecthomas/chroma/v2/lexers/vim.go @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/vim.go	Sun Jul 23 13:18:53 2023 +0000
@@ -0,0 +1,39 @@
+package lexers
+
+import (
+	. "github.com/alecthomas/chroma/v2" // nolint
+)
+
+// Viml lexer.
+var Viml = Register(MustNewLexer(
+	&Config{
+		Name:      "VimL",
+		Aliases:   []string{"vim"},
+		Filenames: []string{"*.vim", ".vimrc", ".exrc", ".gvimrc", "_vimrc", "_exrc", "_gvimrc", "vimrc", "gvimrc"},
+		MimeTypes: []string{"text/x-vim"},
+	},
+	vimlRules,
+))
+
+func vimlRules() Rules {
+	return Rules{
+		"root": {
+			{`^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)`, ByGroups(UsingSelf("root"), Keyword, Text, Operator, Text, Text, Using("Python"), Text), nil},
+			{`^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t])(.*)`, ByGroups(UsingSelf("root"), Keyword, Text, Using("Python")), nil},
+			{`^\s*".*`, Comment, nil},
+			{`[ \t]+`, Text, nil},
+			{`/(\\\\|\\/|[^\n/])*/`, LiteralStringRegex, nil},
+			{`"(\\\\|\\"|[^\n"])*"`, LiteralStringDouble, nil},
+			{`'(''|[^\n'])*'`, LiteralStringSingle, nil},
+			{`(?<=\s)"[^\-:.%#=*].*`, Comment, nil},
+			{`-?\d+`, LiteralNumber, nil},
+			{`#[0-9a-f]{6}`, LiteralNumberHex, nil},
+			{`^:`, Punctuation, nil},
+			{`[()<>+=!|,~-]`, Punctuation, nil},
+			{`\b(let|if|else|endif|elseif|fun|function|endfunction)\b`, Keyword, nil},
+			{`\b(NONE|bold|italic|underline|dark|light)\b`, NameBuiltin, nil},
+			{`\b\w+\b`, NameOther, nil},
+			{`.`, Text, nil},
+		},
+	}
+}