annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 package lexers
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 import (
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 . "github.com/alecthomas/chroma/v2" // nolint
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 )
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 // Viml lexer.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 var Viml = Register(MustNewLexer(
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 &Config{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 Name: "VimL",
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 Aliases: []string{"vim"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 Filenames: []string{"*.vim", ".vimrc", ".exrc", ".gvimrc", "_vimrc", "_exrc", "_gvimrc", "vimrc", "gvimrc"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 MimeTypes: []string{"text/x-vim"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 vimlRules,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 ))
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 func vimlRules() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 return Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 "root": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 {`^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)`, ByGroups(UsingSelf("root"), Keyword, Text, Operator, Text, Text, Using("Python"), Text), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 {`^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t])(.*)`, ByGroups(UsingSelf("root"), Keyword, Text, Using("Python")), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 {`^\s*".*`, Comment, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 {`[ \t]+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 {`/(\\\\|\\/|[^\n/])*/`, LiteralStringRegex, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 {`"(\\\\|\\"|[^\n"])*"`, LiteralStringDouble, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 {`'(''|[^\n'])*'`, LiteralStringSingle, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 {`(?<=\s)"[^\-:.%#=*].*`, Comment, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 {`-?\d+`, LiteralNumber, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 {`#[0-9a-f]{6}`, LiteralNumberHex, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 {`^:`, Punctuation, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 {`[()<>+=!|,~-]`, Punctuation, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 {`\b(let|if|else|endif|elseif|fun|function|endfunction)\b`, Keyword, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 {`\b(NONE|bold|italic|underline|dark|light)\b`, NameBuiltin, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 {`\b\w+\b`, NameOther, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 {`.`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 }