summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/vim.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/vim.go
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/vim.go')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/vim.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/vim.go b/vendor/github.com/alecthomas/chroma/v2/lexers/vim.go
new file mode 100644
index 0000000..b0059ea
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/vim.go
@@ -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},
+ },
+ }
+}