rouge 4.6.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +11 -4
- data/bin/rougify +3 -4
- data/lib/rouge/cli.rb +7 -10
- data/lib/rouge/demos/abap +30 -4
- data/lib/rouge/demos/dylan +8 -0
- data/lib/rouge/demos/gjs +23 -0
- data/lib/rouge/demos/gts +36 -0
- data/lib/rouge/demos/kick_assembler +14 -0
- data/lib/rouge/demos/pdf +29 -0
- data/lib/rouge/demos/thrift +15 -0
- data/lib/rouge/demos/veryl +24 -0
- data/lib/rouge/eager.rb +3 -0
- data/lib/rouge/formatters/html.rb +8 -1
- data/lib/rouge/formatters/html_debug.rb +16 -0
- data/lib/rouge/formatters/html_legacy.rb +15 -1
- data/lib/rouge/formatters/html_legacy_table.rb +57 -0
- data/lib/rouge/formatters/html_line_highlighter.rb +11 -4
- data/lib/rouge/formatters/html_line_table.rb +8 -3
- data/lib/rouge/formatters/html_linewise.rb +11 -2
- data/lib/rouge/formatters/html_pygments.rb +6 -1
- data/lib/rouge/formatters/html_table.rb +47 -21
- data/lib/rouge/formatters/terminal256.rb +3 -3
- data/lib/rouge/formatters/tex.rb +1 -1
- data/lib/rouge/guesser.rb +1 -1
- data/lib/rouge/guessers/disambiguation.rb +2 -2
- data/lib/rouge/guessers/glob_mapping.rb +2 -2
- data/lib/rouge/guessers/modeline.rb +2 -2
- data/lib/rouge/lexer.rb +40 -21
- data/lib/rouge/lexers/abap/builtins.rb +187 -0
- data/lib/rouge/lexers/abap.rb +70 -178
- data/lib/rouge/lexers/ada.rb +1 -1
- data/lib/rouge/lexers/apache/keywords.rb +3 -11
- data/lib/rouge/lexers/apache.rb +25 -24
- data/lib/rouge/lexers/apex.rb +2 -2
- data/lib/rouge/lexers/apiblueprint.rb +2 -2
- data/lib/rouge/lexers/bicep.rb +2 -2
- data/lib/rouge/lexers/biml.rb +36 -9
- data/lib/rouge/lexers/brightscript.rb +3 -4
- data/lib/rouge/lexers/c.rb +9 -5
- data/lib/rouge/lexers/cobol.rb +1 -1
- data/lib/rouge/lexers/console.rb +11 -5
- data/lib/rouge/lexers/cpp.rb +10 -12
- data/lib/rouge/lexers/crystal.rb +1 -1
- data/lib/rouge/lexers/css.rb +21 -2
- data/lib/rouge/lexers/cuda.rb +4 -4
- data/lib/rouge/lexers/cython.rb +26 -50
- data/lib/rouge/lexers/dafny.rb +1 -1
- data/lib/rouge/lexers/dart.rb +2 -0
- data/lib/rouge/lexers/datastudio.rb +1 -1
- data/lib/rouge/lexers/digdag.rb +2 -3
- data/lib/rouge/lexers/dylan.rb +109 -0
- data/lib/rouge/lexers/ecl.rb +3 -3
- data/lib/rouge/lexers/elixir.rb +14 -9
- data/lib/rouge/lexers/escape.rb +1 -1
- data/lib/rouge/lexers/factor.rb +1 -1
- data/lib/rouge/lexers/freefem.rb +2 -2
- data/lib/rouge/lexers/ghc_cmm.rb +1 -1
- data/lib/rouge/lexers/ghc_core.rb +1 -1
- data/lib/rouge/lexers/gherkin/keywords.rb +10 -6
- data/lib/rouge/lexers/gherkin.rb +28 -26
- data/lib/rouge/lexers/gjs.rb +39 -0
- data/lib/rouge/lexers/glsl/builtins.rb +17 -0
- data/lib/rouge/lexers/glsl.rb +50 -113
- data/lib/rouge/lexers/go.rb +8 -6
- data/lib/rouge/lexers/gradle.rb +2 -2
- data/lib/rouge/lexers/groovy.rb +6 -0
- data/lib/rouge/lexers/gts.rb +39 -0
- data/lib/rouge/lexers/hack.rb +4 -6
- data/lib/rouge/lexers/haxe.rb +2 -2
- data/lib/rouge/lexers/hlsl.rb +6 -6
- data/lib/rouge/lexers/hocon.rb +2 -2
- data/lib/rouge/lexers/hql.rb +15 -19
- data/lib/rouge/lexers/idris.rb +1 -1
- data/lib/rouge/lexers/igorpro/builtins.rb +1530 -0
- data/lib/rouge/lexers/igorpro.rb +49 -520
- data/lib/rouge/lexers/irb.rb +3 -3
- data/lib/rouge/lexers/isbl.rb +7 -43
- data/lib/rouge/lexers/j.rb +1 -1
- data/lib/rouge/lexers/json5.rb +2 -2
- data/lib/rouge/lexers/json_doc.rb +2 -2
- data/lib/rouge/lexers/jsp.rb +119 -119
- data/lib/rouge/lexers/jsx.rb +2 -2
- data/lib/rouge/lexers/kick_assembler.rb +100 -0
- data/lib/rouge/lexers/kotlin.rb +5 -0
- data/lib/rouge/lexers/lasso/keywords.rb +6 -6
- data/lib/rouge/lexers/lasso.rb +9 -11
- data/lib/rouge/lexers/liquid.rb +5 -6
- data/lib/rouge/lexers/llvm/keywords.rb +3 -12
- data/lib/rouge/lexers/llvm.rb +5 -16
- data/lib/rouge/lexers/lua/keywords.rb +11 -13
- data/lib/rouge/lexers/lua.rb +8 -7
- data/lib/rouge/lexers/lutin.rb +5 -4
- data/lib/rouge/lexers/m68k.rb +3 -3
- data/lib/rouge/lexers/mason.rb +110 -110
- data/lib/rouge/lexers/mathematica/keywords.rb +1 -3
- data/lib/rouge/lexers/mathematica.rb +6 -7
- data/lib/rouge/lexers/matlab/keywords.rb +2 -2
- data/lib/rouge/lexers/matlab.rb +5 -5
- data/lib/rouge/lexers/meson.rb +1 -1
- data/lib/rouge/lexers/mojo.rb +6 -2
- data/lib/rouge/lexers/moonscript.rb +19 -17
- data/lib/rouge/lexers/nesasm.rb +6 -6
- data/lib/rouge/lexers/nial.rb +7 -8
- data/lib/rouge/lexers/nim.rb +3 -3
- data/lib/rouge/lexers/nix.rb +10 -8
- data/lib/rouge/lexers/objective_c.rb +3 -3
- data/lib/rouge/lexers/objective_cpp.rb +3 -2
- data/lib/rouge/lexers/ocaml.rb +2 -2
- data/lib/rouge/lexers/openedge.rb +9 -9
- data/lib/rouge/lexers/pdf.rb +109 -0
- data/lib/rouge/lexers/php/keywords.rb +136 -188
- data/lib/rouge/lexers/php.rb +100 -11
- data/lib/rouge/lexers/plsql.rb +8 -9
- data/lib/rouge/lexers/postscript.rb +1 -1
- data/lib/rouge/lexers/powershell.rb +1 -1
- data/lib/rouge/lexers/python.rb +111 -66
- data/lib/rouge/lexers/qml.rb +2 -2
- data/lib/rouge/lexers/reasonml.rb +2 -2
- data/lib/rouge/lexers/rego.rb +53 -53
- data/lib/rouge/lexers/rescript.rb +2 -2
- data/lib/rouge/lexers/robot_framework.rb +12 -12
- data/lib/rouge/lexers/{coq.rb → rocq.rb} +15 -6
- data/lib/rouge/lexers/ruby.rb +33 -7
- data/lib/rouge/lexers/rust.rb +1 -0
- data/lib/rouge/lexers/sas.rb +164 -165
- data/lib/rouge/lexers/sass/common.rb +1 -1
- data/lib/rouge/lexers/sass.rb +2 -2
- data/lib/rouge/lexers/scss.rb +2 -2
- data/lib/rouge/lexers/sed.rb +1 -1
- data/lib/rouge/lexers/shell.rb +5 -5
- data/lib/rouge/lexers/slice.rb +2 -2
- data/lib/rouge/lexers/sparql.rb +1 -1
- data/lib/rouge/lexers/sqf/keywords.rb +5 -3
- data/lib/rouge/lexers/sqf.rb +3 -4
- data/lib/rouge/lexers/stan.rb +9 -15
- data/lib/rouge/lexers/svelte.rb +2 -2
- data/lib/rouge/lexers/swift.rb +2 -2
- data/lib/rouge/lexers/tcl.rb +1 -1
- data/lib/rouge/lexers/terraform.rb +3 -3
- data/lib/rouge/lexers/thrift.rb +120 -0
- data/lib/rouge/lexers/tsx.rb +3 -3
- data/lib/rouge/lexers/ttcn3.rb +1 -1
- data/lib/rouge/lexers/twig.rb +2 -2
- data/lib/rouge/lexers/typescript.rb +3 -3
- data/lib/rouge/lexers/varnish.rb +8 -8
- data/lib/rouge/lexers/veryl.rb +109 -0
- data/lib/rouge/lexers/viml/keywords.rb +5 -7
- data/lib/rouge/lexers/viml.rb +8 -10
- data/lib/rouge/lexers/vue.rb +2 -2
- data/lib/rouge/lexers/xquery.rb +2 -1
- data/lib/rouge/lexers/yaml.rb +13 -1
- data/lib/rouge/lexers/yang.rb +42 -74
- data/lib/rouge/lexers/zig.rb +10 -10
- data/lib/rouge/plugins/redcarpet.rb +3 -2
- data/lib/rouge/regex_lexer.rb +25 -14
- data/lib/rouge/themes/gruvbox.rb +3 -0
- data/lib/rouge/token.rb +1 -1
- data/lib/rouge/util.rb +1 -1
- data/lib/rouge/version.rb +1 -1
- data/lib/rouge.rb +70 -59
- data/lib/rubocop/cop/rouge/no_building_alternation_pattern_in_regexp.rb +71 -0
- data/lib/rubocop/cop/rouge/no_huge_collections.rb +37 -0
- data/rouge.gemspec +8 -5
- metadata +44 -9
- data/lib/rouge/lexers/isbl/builtins.rb +0 -17
- data/lib/rouge/lexers/matlab/builtins.rb +0 -11
- /data/lib/rouge/demos/{coq → rocq} +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class Thrift < RegexLexer
|
|
7
|
+
title "Thrift"
|
|
8
|
+
desc "Apache Thrift interface definition language"
|
|
9
|
+
tag 'thrift'
|
|
10
|
+
aliases 'apache-thrift'
|
|
11
|
+
filenames '*.thrift'
|
|
12
|
+
mimetypes 'text/x-thrift', 'application/x-thrift'
|
|
13
|
+
|
|
14
|
+
def self.declarations
|
|
15
|
+
@declarations ||= Set.new %w(
|
|
16
|
+
include cpp_include namespace const typedef enum struct union
|
|
17
|
+
exception service
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.keywords
|
|
22
|
+
@keywords ||= Set.new %w(
|
|
23
|
+
async cpp_type extends oneway optional required throws
|
|
24
|
+
xsd_all xsd_attrs xsd_nillable xsd_optional
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.types
|
|
29
|
+
@types ||= Set.new %w(
|
|
30
|
+
binary bool byte double i8 i16 i32 i64 list map set string uuid void
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.constants
|
|
35
|
+
@constants ||= Set.new %w(false true)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
id = /[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z0-9_]+)*/
|
|
39
|
+
namespace_name = /[a-zA-Z_][a-zA-Z0-9_.-]*/
|
|
40
|
+
double = /[+-]?(?:(?:\d+\.\d+|\.\d+)(?:[eE][+-]?\d+)?|\d+[eE][+-]?\d+)/
|
|
41
|
+
|
|
42
|
+
state :comments_and_whitespace do
|
|
43
|
+
rule %r/\s+/, Text
|
|
44
|
+
rule %r/#.*$/, Comment::Single
|
|
45
|
+
rule %r{//.*$}, Comment::Single
|
|
46
|
+
rule %r{/\*}, Comment::Multiline, :comment
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
state :comment do
|
|
50
|
+
rule %r/[^*]+/, Comment::Multiline
|
|
51
|
+
rule %r/\*+\//, Comment::Multiline, :pop!
|
|
52
|
+
rule %r/\*+/, Comment::Multiline
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
state :namespace_scope do
|
|
56
|
+
mixin :comments_and_whitespace
|
|
57
|
+
|
|
58
|
+
rule %r/\*/ do
|
|
59
|
+
token Punctuation
|
|
60
|
+
goto :namespace_name
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
rule id do
|
|
64
|
+
token Keyword::Namespace
|
|
65
|
+
goto :namespace_name
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
rule(//) { pop! }
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
state :namespace_name do
|
|
72
|
+
mixin :comments_and_whitespace
|
|
73
|
+
|
|
74
|
+
rule namespace_name do
|
|
75
|
+
token Name::Namespace
|
|
76
|
+
pop!
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
rule(//) { pop! }
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
state :root do
|
|
83
|
+
mixin :comments_and_whitespace
|
|
84
|
+
|
|
85
|
+
rule %r/(namespace)(\s+)/ do
|
|
86
|
+
groups Keyword::Declaration, Text
|
|
87
|
+
push :namespace_scope
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
rule %r/((?:enum|exception|service|struct|union))(\s+)(#{id})/ do
|
|
91
|
+
groups Keyword::Declaration, Text, Name::Class
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
rule %r/"(?:\\.|[^"\\\n])*"/, Str::Double
|
|
95
|
+
rule %r/'(?:\\.|[^'\\\n])*'/, Str::Single
|
|
96
|
+
|
|
97
|
+
rule %r/[+-]?0x[0-9a-f]+/i, Num::Hex
|
|
98
|
+
rule double, Num::Float
|
|
99
|
+
rule %r/[+-]?\d+/, Num::Integer
|
|
100
|
+
|
|
101
|
+
rule id do |m|
|
|
102
|
+
if self.class.declarations.include?(m[0])
|
|
103
|
+
token Keyword::Declaration
|
|
104
|
+
elsif self.class.keywords.include?(m[0])
|
|
105
|
+
token Keyword
|
|
106
|
+
elsif self.class.types.include?(m[0])
|
|
107
|
+
token Keyword::Type
|
|
108
|
+
elsif self.class.constants.include?(m[0])
|
|
109
|
+
token Keyword::Constant
|
|
110
|
+
else
|
|
111
|
+
token Name
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
rule %r/[&=+\-]/, Operator
|
|
116
|
+
rule %r/[:;,{}\(\)<>\[\]]/, Punctuation
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
data/lib/rouge/lexers/tsx.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'jsx'
|
|
5
|
+
require_relative 'typescript/common'
|
|
6
|
+
|
|
4
7
|
module Rouge
|
|
5
8
|
module Lexers
|
|
6
|
-
load_lexer 'jsx.rb'
|
|
7
|
-
load_lexer 'typescript/common.rb'
|
|
8
|
-
|
|
9
9
|
class TSX < JSX
|
|
10
10
|
extend TypescriptCommon
|
|
11
11
|
|
data/lib/rouge/lexers/ttcn3.rb
CHANGED
data/lib/rouge/lexers/twig.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'javascript'
|
|
5
|
+
require_relative 'typescript/common'
|
|
6
|
+
|
|
4
7
|
module Rouge
|
|
5
8
|
module Lexers
|
|
6
|
-
load_lexer 'javascript.rb'
|
|
7
|
-
load_lexer 'typescript/common.rb'
|
|
8
|
-
|
|
9
9
|
class Typescript < Javascript
|
|
10
10
|
extend TypescriptCommon
|
|
11
11
|
|
data/lib/rouge/lexers/varnish.rb
CHANGED
|
@@ -128,14 +128,14 @@ module Rouge
|
|
|
128
128
|
|
|
129
129
|
# numeric literals (integer / float)
|
|
130
130
|
rule numeric do |m|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
131
|
+
case m[0]
|
|
132
|
+
when /^#{decimal}$/
|
|
133
|
+
token Num::Integer
|
|
134
|
+
when /^0x#{hex}$/
|
|
135
|
+
token Num::Integer
|
|
136
|
+
else
|
|
137
|
+
token Num::Float
|
|
138
|
+
end
|
|
139
139
|
end
|
|
140
140
|
|
|
141
141
|
# standard strings
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class Veryl < RegexLexer
|
|
7
|
+
title "Veryl"
|
|
8
|
+
desc "The Veryl hardware description language (https://veryl-lang.org)"
|
|
9
|
+
tag 'veryl'
|
|
10
|
+
filenames '*.veryl'
|
|
11
|
+
mimetypes 'text/x-veryl'
|
|
12
|
+
|
|
13
|
+
# Characters
|
|
14
|
+
|
|
15
|
+
WHITE_SPACE = /\s+/
|
|
16
|
+
NEWLINE = /\n/
|
|
17
|
+
|
|
18
|
+
# Comments
|
|
19
|
+
|
|
20
|
+
LINE_COMMENT = /\/\/(?:(?!#{NEWLINE}).)*/
|
|
21
|
+
GENERAL_COMMENT = /\/\*(?:(?!\*\/).)*\*\//m
|
|
22
|
+
COMMENT = /#{LINE_COMMENT}|#{GENERAL_COMMENT}/
|
|
23
|
+
|
|
24
|
+
# Numeric literals
|
|
25
|
+
|
|
26
|
+
EXPONENT = /[0-9]+(?:_[0-9]+)*\.[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*/
|
|
27
|
+
FIXED_POINT = /[0-9]+(?:_[0-9]+)*\.[0-9]+(?:_[0-9]+)*/
|
|
28
|
+
BASED = /(?:[0-9]+(?:_[0-9]+)*)?'s?[bodh][0-9a-fA-FxzXZ]+(?:_[0-9a-fA-FxzXZ]+)*/
|
|
29
|
+
ALL_BIT = /(?:[0-9]+(?:_[0-9]+)*)?'[01xzXZ]/
|
|
30
|
+
BASE_LESS = /[0-9]+(?:_[0-9]+)*/
|
|
31
|
+
|
|
32
|
+
# Operators and delimiters
|
|
33
|
+
|
|
34
|
+
OPERATOR = / -: | -> | \+: | \+= | -=
|
|
35
|
+
| \*= | \/= | %= | &= | \|=
|
|
36
|
+
| \^= | <<= | >>= |<<<= |>>>=
|
|
37
|
+
| <> | \*\* | \/ | \| | %
|
|
38
|
+
| \+ | - | <<< | >>> | <<
|
|
39
|
+
| >> | <= | >= | <: | >:
|
|
40
|
+
| === | ==\? | \!== | \!=\? | ==
|
|
41
|
+
| \!= | && | \|\| | & | \^~
|
|
42
|
+
| \^ | ~\^ | \| | ~& | ~\|
|
|
43
|
+
| \! | ~
|
|
44
|
+
/x
|
|
45
|
+
|
|
46
|
+
SEPARATOR = / ::< | :: | : | , | \.\.=
|
|
47
|
+
| \.\. | \. | = | \# | <
|
|
48
|
+
| \? | ' | '\{ | \{ | \[
|
|
49
|
+
| \( | > | \} | \] | \)
|
|
50
|
+
| ; | \*
|
|
51
|
+
/x
|
|
52
|
+
|
|
53
|
+
# Identifiers
|
|
54
|
+
|
|
55
|
+
DOLLAR_IDENTIFIER = /\$[a-zA-Z_][0-9a-zA-Z_$]*/
|
|
56
|
+
IDENTIFIER = /(?:r#)?[a-zA-Z_][0-9a-zA-Z_$]*/
|
|
57
|
+
|
|
58
|
+
# Keywords
|
|
59
|
+
|
|
60
|
+
def self.keywords
|
|
61
|
+
@keywords ||= Set.new %w(
|
|
62
|
+
embed enum function include interface modport module package proto pub struct union unsafe
|
|
63
|
+
alias always_comb always_ff assign as bind block connect const final import initial inst let param return break type var
|
|
64
|
+
converse inout input output same
|
|
65
|
+
case default else if_reset if inside outside switch
|
|
66
|
+
for in repeat rev step
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def self.keywords_type
|
|
71
|
+
@keywords_type ||= Set.new %w(
|
|
72
|
+
bit bbool lbool clock clock_posedge clock_negedge f32 f64 i8 i16 i32 i64 logic reset reset_async_high reset_async_low reset_sync_high reset_sync_low signed string tri u8 u16 u32 u64
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
state :root do
|
|
77
|
+
rule(COMMENT , Comment )
|
|
78
|
+
rule(EXPONENT , Num::Float )
|
|
79
|
+
rule(FIXED_POINT , Num::Float )
|
|
80
|
+
rule(BASED , Num::Integer )
|
|
81
|
+
rule(ALL_BIT , Num::Integer )
|
|
82
|
+
rule(BASE_LESS , Num::Integer )
|
|
83
|
+
rule(OPERATOR , Operator )
|
|
84
|
+
rule(SEPARATOR , Punctuation )
|
|
85
|
+
rule(DOLLAR_IDENTIFIER, Name )
|
|
86
|
+
rule(WHITE_SPACE , Text )
|
|
87
|
+
rule(/"/ , Str::Double, :string)
|
|
88
|
+
|
|
89
|
+
rule IDENTIFIER do |m|
|
|
90
|
+
name = m[0]
|
|
91
|
+
|
|
92
|
+
if self.class.keywords.include? name
|
|
93
|
+
token Keyword
|
|
94
|
+
elsif self.class.keywords_type.include? name
|
|
95
|
+
token Keyword::Type
|
|
96
|
+
else
|
|
97
|
+
token Name
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
state :string do
|
|
103
|
+
rule(/[^\\"]+/, Str::Double )
|
|
104
|
+
rule(/\\./ , Str::Escape )
|
|
105
|
+
rule(/"/ , Str::Double, :pop!)
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -8,13 +8,11 @@
|
|
|
8
8
|
module Rouge
|
|
9
9
|
module Lexers
|
|
10
10
|
class VimL
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
kw[:command] = Set.new ["a", "ar", "args", "argl", "arglocal", "ba", "ball", "bm", "bmodified", "breaka", "breakadd", "bun", "bunload", "cabc", "cabclear", "cal", "call", "cc", "cf", "cfile", "changes", "cla", "clast", "cnf", "cnfile", "comc", "comclear", "cp", "cprevious", "cstag", "debugg", "debuggreedy", "deletl", "dep", "diffpu", "diffput", "dl", "dr", "drop", "ec", "em", "emenu", "ene", "enew", "files", "fini", "finish", "folddoc", "folddoclosed", "gr", "grep", "helpc", "helpclose", "his", "history", "il", "ilist", "isp", "isplit", "keepa", "l", "list", "laf", "lafter", "lbel", "lbelow", "lcscope", "lfdo", "lgrepa", "lgrepadd", "lma", "lo", "loadview", "lop", "lopen", "lua", "m", "move", "mes", "mkvie", "mkview", "nbc", "nbclose", "noh", "nohlsearch", "ol", "oldfiles", "pa", "packadd", "po", "pop", "prof", "profile", "pta", "ptag", "ptr", "ptrewind", "py3f", "py3file", "pythonx", "quita", "quitall", "redraws", "redrawstatus", "rew", "rewind", "rubyf", "rubyfile", "sIg", "sa", "sargument", "sba", "sball", "sbr", "sbrewind", "scl", "scscope", "sfir", "sfirst", "sgl", "sic", "sin", "sm", "smap", "snoreme", "spelld", "spelldump", "spellw", "spellwrong", "srg", "st", "stop", "stj", "stjump", "sunmenu", "syn", "tN", "tNext", "tabd", "tabdo", "tabm", "tabmove", "tabr", "tabrewind", "tch", "tchdir", "tf", "tfirst", "tlmenu", "tm", "tmenu", "to", "topleft", "tu", "tunmenu", "undol", "undolist", "up", "update", "vi", "visual", "vmapc", "vmapclear", "wa", "wall", "winp", "winpos", "wundo", "xme", "xr", "xrestore", "ab", "arga", "argadd", "argu", "argument", "bad", "badd", "bn", "bnext", "breakd", "breakdel", "bw", "bwipeout", "cabo", "cabove", "cat", "catch", "ccl", "cclose", "cfdo", "chd", "chdir", "cle", "clearjumps", "cnor", "comp", "compiler", "cpf", "cpfile", "cun", "delc", "delcommand", "deletp", "di", "display", "diffs", "diffsplit", "dli", "dlist", "ds", "dsearch", "echoe", "echoerr", "en", "endif", "eval", "filet", "fir", "first", "foldo", "foldopen", "grepa", "grepadd", "helpf", "helpfind", "i", "imapc", "imapclear", "iuna", "iunabbrev", "keepalt", "la", "last", "lan", "language", "lbo", "lbottom", "ld", "ldo", "lfir", "lfirst", "lh", "lhelpgrep", "lmak", "lmake", "loadk", "lp", "lprevious", "luado", "ma", "mark", "messages", "mod", "mode", "nbs", "nbstart", "nor", "omapc", "omapclear", "packl", "packloadall", "popu", "popup", "profd", "profdel", "ptf", "ptfirst", "pts", "ptselect", "pyx", "r", "read", "redrawt", "redrawtabline", "ri", "right", "rundo", "sIl", "sal", "sall", "sbf", "sbfirst", "sc", "scp", "se", "set", "sg", "sgn", "sie", "sip", "sme", "snoremenu", "spelli", "spellinfo", "spr", "sprevious", "sri", "sta", "stag", "stopi", "stopinsert", "sus", "suspend", "sync", "ta", "tag", "tabe", "tabedit", "tabn", "tabnext", "tabs", "tcld", "tcldo", "th", "throw", "tln", "tma", "tmap", "tp", "tprevious", "tunma", "tunmap", "unh", "unhide", "v", "vie", "view", "vne", "vnew", "wh", "while", "wn", "wnext", "wv", "wviminfo", "xmenu", "xunme", "abc", "abclear", "argd", "argdelete", "as", "ascii", "bd", "bdelete", "bo", "botright", "breakl", "breaklist", "cN", "cNext", "cad", "caddbuffer", "cb", "cbuffer", "cd", "cfir", "cfirst", "che", "checkpath", "clo", "close", "co", "copy", "con", "continue", "cq", "cquit", "cuna", "cunabbrev", "delel", "delf", "delfunction", "dif", "diffupdate", "difft", "diffthis", "do", "dsp", "dsplit", "echom", "echomsg", "endf", "endfunction", "ex", "filetype", "fix", "fixdel", "for", "gui", "helpg", "helpgrep", "ia", "in", "j", "join", "keepj", "keepjumps", "lab", "labove", "lat", "lc", "lcd", "le", "left", "lg", "lgetfile", "lhi", "lhistory", "lmapc", "lmapclear", "loadkeymap", "lpf", "lpfile", "luafile", "mak", "make", "mk", "mkexrc", "mz", "mzscheme", "new", "nore", "on", "only", "pc", "pclose", "pp", "ppop", "promptf", "promptfind", "ptj", "ptjump", "pu", "put", "py", "python", "pyxdo", "rec", "recover", "reg", "registers", "rightb", "rightbelow", "rv", "rviminfo", "sIn", "san", "sandbox", "sbl", "sblast", "scI", "scr", "scriptnames", "setf", "setfiletype", "sgI", "sgp", "sig", "sir", "smenu", "so", "source", "spellr", "spellrare", "sr", "srl", "star", "startinsert", "sts", "stselect", "sv", "sview", "syncbind", "tab", "tabf", "tabfind", "tabnew", "tags", "tclf", "tclfile", "tj", "tjump", "tlnoremenu", "tmapc", "tmapclear", "tr", "trewind", "u", "undo", "unl", "ve", "version", "vim", "vimgrep", "vs", "vsplit", "win", "winsize", "wp", "wprevious", "x", "xit", "xnoreme", "xunmenu", "abo", "aboveleft", "argdo", "au", "bel", "belowright", "bp", "bprevious", "bro", "browse", "cNf", "cNfile", "cadde", "caddexpr", "cbe", "cbefore", "cdo", "cg", "cgetfile", "checkt", "checktime", "cmapc", "cmapclear", "col", "colder", "conf", "confirm", "cr", "crewind", "cw", "cwindow", "delep", "dell", "diffg", "diffget", "dig", "digraphs", "doau", "e", "edit", "echon", "endfo", "endfor", "exi", "exit", "filt", "filter", "fo", "fold", "fu", "function", "gvim", "helpt", "helptags", "iabc", "iabclear", "inor", "ju", "jumps", "keepp", "keeppatterns", "lad", "laddexpr", "later", "lch", "lchdir", "lefta", "leftabove", "lgetb", "lgetbuffer", "ll", "lne", "lnext", "loc", "lockmarks", "lr", "lrewind", "lv", "lvimgrep", "marks", "mks", "mksession", "mzf", "mzfile", "nmapc", "nmapclear", "nos", "noswapfile", "opt", "options", "pe", "perl", "pre", "preserve", "promptr", "promptrepl", "ptl", "ptlast", "pw", "pwd", "pydo", "pyxfile", "red", "redo", "res", "resize", "ru", "runtime", "sI", "sIp", "sav", "saveas", "sbm", "sbmodified", "sce", "scripte", "scriptencoding", "setg", "setglobal", "sgc", "sgr", "sign", "sl", "sleep", "smile", "sor", "sort", "spellrepall", "srI", "srn", "startg", "startgreplace", "sun", "sunhide", "sw", "swapname", "syntime", "tabN", "tabNext", "tabfir", "tabfirst", "tabo", "tabonly", "tc", "tcl", "te", "tearoff", "tl", "tlast", "tlu", "tn", "tnext", "try", "una", "unabbreviate", "unlo", "unlockvar", "verb", "verbose", "vimgrepa", "vimgrepadd", "wN", "wNext", "winc", "wincmd", "wq", "xa", "xall", "xnoremenu", "xwininfo", "addd", "arge", "argedit", "bN", "bNext", "bf", "bfirst", "br", "brewind", "bufdo", "c", "change", "caddf", "caddfile", "cbel", "cbelow", "ce", "center", "cgetb", "cgetbuffer", "chi", "chistory", "cn", "cnext", "colo", "colorscheme", "cons", "const", "cs", "d", "delete", "deletel", "delm", "delmarks", "diffo", "diffoff", "dir", "doaut", "ea", "el", "else", "endt", "endtry", "exu", "exusage", "fin", "find", "foldc", "foldclose", "g", "h", "help", "hi", "if", "intro", "k", "lN", "lNext", "laddb", "laddbuffer", "lb", "lbuffer", "lcl", "lclose", "lex", "lexpr", "lgete", "lgetexpr", "lla", "llast", "lnew", "lnewer", "lockv", "lockvar", "ls", "lvimgrepa", "lvimgrepadd", "mat", "match", "mksp", "mkspell", "n", "next", "noa", "nu", "number", "ownsyntax", "ped", "pedit", "prev", "previous", "ps", "psearch", "ptn", "ptnext", "py3", "pyf", "pyfile", "q", "quit", "redi", "redir", "ret", "retab", "rub", "ruby", "sIc", "sIr", "sbN", "sbNext", "sbn", "sbnext", "scg", "scriptv", "scriptversion", "setl", "setlocal", "sge", "sh", "shell", "sil", "silent", "sla", "slast", "sn", "snext", "sp", "split", "spellrrare", "src", "srp", "startr", "startreplace", "sunme", "sy", "t", "tabc", "tabclose", "tabl", "tablast", "tabp", "tabprevious", "tcd", "ter", "terminal", "tlm", "tlunmenu", "tno", "tnoremap", "ts", "tselect", "undoj", "undojoin", "uns", "unsilent", "vert", "vertical", "viu", "viusage", "w", "write", "windo", "wqa", "wqall", "xmapc", "xmapclear", "xprop", "y", "yank", "al", "all", "argg", "argglobal", "b", "buffer", "bl", "blast", "brea", "break", "buffers", "ca", "caf", "cafter", "cbo", "cbottom", "cex", "cexpr", "cgete", "cgetexpr", "cl", "clist", "cnew", "cnewer", "com", "cope", "copen", "cscope", "debug", "deletep", "delp", "diffp", "diffpatch", "dj", "djump", "dp", "earlier", "elsei", "elseif", "endw", "endwhile", "f", "file", "fina", "finally", "foldd", "folddoopen", "go", "goto", "ha", "hardcopy", "hid", "hide", "ij", "ijump", "is", "isearch", "kee", "keepmarks", "lNf", "lNfile", "laddf", "laddfile", "lbe", "lbefore", "lcs", "lf", "lfile", "lgr", "lgrep", "lli", "llist", "lnf", "lnfile", "lol", "lolder", "lt", "ltag", "lw", "lwindow", "menut", "menutranslate", "mkv", "mkvimrc", "nb", "nbkey", "noautocmd", "o", "open", "p", "print", "perld", "perldo", "pro", "ptN", "ptNext", "ptp", "ptprevious", "py3do", "python3", "qa", "qall", "redr", "redraw", "retu", "return", "rubyd", "rubydo", "sIe", "sN", "sNext", "sb", "sbuffer", "sbp", "sbprevious", "sci", "scs", "sf", "sfind", "sgi", "si", "sim", "simalt", "smagic", "sno", "snomagic", "spe", "spellgood", "spellu", "spellundo", "sre", "srewind", "def", "endd", "enddef", "disa", "disassemble", "vim9", "vim9script", "imp", "import", "exp", "export"]
|
|
14
|
-
kw[:option] = Set.new ["acd", "ambw", "arshape", "background", "ballooneval", "bex", "bl", "brk", "buftype", "cf", "cinkeys", "cmdwinheight", "com", "completeslash", "cpoptions", "cscoperelative", "csre", "cursorcolumn", "delcombine", "digraph", "eadirection", "emo", "equalprg", "expandtab", "fdls", "fex", "fileignorecase", "fml", "foldlevel", "formatexpr", "gcr", "go", "guifontset", "helpheight", "history", "hlsearch", "imaf", "ims", "includeexpr", "infercase", "iskeyword", "keywordprg", "laststatus", "lispwords", "lrm", "magic", "maxfuncdepth", "menuitems", "mm", "modifiable", "mousemodel", "mzq", "numberwidth", "opfunc", "patchexpr", "pfn", "pp", "printfont", "pumwidth", "pythonthreehome", "redrawtime", "ri", "rs", "sb", "scroll", "sect", "sft", "shellredir", "shiftwidth", "showmatch", "signcolumn", "smarttab", "sp", "spf", "srr", "startofline", "suffixes", "switchbuf", "ta", "tagfunc", "tbi", "term", "termwintype", "tgc", "titlelen", "toolbariconsize", "ttimeout", "ttymouse", "twt", "undofile", "varsofttabstop", "verbosefile", "viminfofile", "wak", "weirdinvert", "wig", "wildoptions", "winheight", "wm", "wrapscan", "ai", "anti", "autochdir", "backspace", "balloonevalterm", "bexpr", "bo", "browsedir", "casemap", "cfu", "cino", "cmp", "comments", "concealcursor", "cpp", "cscopetag", "cst", "cursorline", "dex", "dip", "eb", "emoji", "errorbells", "exrc", "fdm", "ff", "filetype", "fmr", "foldlevelstart", "formatlistpat", "gd", "gp", "guifontwide", "helplang", "hk", "ic", "imak", "imsearch", "incsearch", "insertmode", "isp", "km", "lazyredraw", "list", "ls", "makeef", "maxmapdepth", "mfd", "mmd", "modified", "mouses", "mzquantum", "nuw", "osfiletype", "patchmode", "ph", "preserveindent", "printheader", "pvh", "pyx", "regexpengine", "rightleft", "rtp", "sbo", "scrollbind", "sections", "sh", "shellslash", "shm", "showmode", "siso", "smc", "spc", "spl", "ss", "statusline", "suffixesadd", "sws", "tabline", "taglength", "tbidi", "termbidi", "terse", "tgst", "titleold", "top", "ttimeoutlen", "ttyscroll", "tx", "undolevels", "vartabstop", "vfile", "virtualedit", "warn", "wfh", "wildchar", "wim", "winminheight", "wmh", "write", "akm", "antialias", "autoindent", "backup", "balloonexpr", "bg", "bomb", "bs", "cb", "ch", "cinoptions", "cms", "commentstring", "conceallevel", "cpt", "cscopetagorder", "csto", "cursorlineopt", "dg", "dir", "ed", "enc", "errorfile", "fcl", "fdn", "ffs", "fillchars", "fo", "foldmarker", "formatoptions", "gdefault", "grepformat", "guiheadroom", "hf", "hkmap", "icon", "imc", "imsf", "inde", "is", "isprint", "kmp", "lbr", "listchars", "lsp", "makeencoding", "maxmem", "mh", "mmp", "more", "mouseshape", "mzschemedll", "odev", "pa", "path", "pheader", "previewheight", "printmbcharset", "pvp", "pyxversion", "relativenumber", "rightleftcmd", "ru", "sbr", "scrollfocus", "secure", "shcf", "shelltemp", "shortmess", "showtabline", "sj", "smd", "spell", "splitbelow", "ssl", "stl", "sw", "sxe", "tabpagemax", "tagrelative", "tbis", "termencoding", "textauto", "thesaurus", "titlestring", "tpm", "ttm", "ttytype", "uc", "undoreload", "vb", "vi", "visualbell", "wb", "wfw", "wildcharm", "winaltkeys", "winminwidth", "wmnu", "writeany", "al", "ar", "autoread", "backupcopy", "bdir", "bh", "breakat", "bsdir", "cc", "charconvert", "cinw", "co", "compatible", "confirm", "crb", "cscopeverbose", "csverb", "cwh", "dict", "directory", "edcompatible", "encoding", "errorformat", "fcs", "fdo", "fic", "fixendofline", "foldclose", "foldmethod", "formatprg", "gfm", "grepprg", "guioptions", "hh", "hkmapp", "iconstring", "imcmdline", "imst", "indentexpr", "isf", "joinspaces", "kp", "lcs", "lm", "luadll", "makeprg", "maxmempattern", "mis", "mmt", "mouse", "mouset", "mzschemegcdll", "oft", "packpath", "pdev", "pi", "previewpopup", "printmbfont", "pvw", "qe", "remap", "rl", "rubydll", "sc", "scrolljump", "sel", "shell", "shelltype", "shortname", "shq", "slm", "sn", "spellcapcheck", "splitright", "ssop", "stmp", "swapfile", "sxq", "tabstop", "tags", "tbs", "termguicolors", "textmode", "tildeop", "tl", "tr", "tty", "tw", "udf", "updatecount", "vbs", "viewdir", "vop", "wc", "wh", "wildignore", "wincolor", "winptydll", "wmw", "writebackup", "aleph", "arab", "autowrite", "backupdir", "bdlay", "bin", "breakindent", "bsk", "ccv", "ci", "cinwords", "cocu", "complete", "copyindent", "cryptmethod", "csl", "cuc", "debug", "dictionary", "display", "ef", "endofline", "esckeys", "fdc", "fdt", "fileencoding", "fixeol", "foldcolumn", "foldminlines", "fp", "gfn", "gtl", "guipty", "hi", "hkp", "ignorecase", "imd", "imstatusfunc", "indentkeys", "isfname", "js", "langmap", "linebreak", "lmap", "lw", "mat", "maxmemtot", "mkspellmem", "mod", "mousef", "mousetime", "nf", "ofu", "para", "penc", "pm", "previewwindow", "printoptions", "pw", "quoteescape", "renderoptions", "rlc", "ruf", "scb", "scrolloff", "selection", "shellcmdflag", "shellxescape", "showbreak", "si", "sm", "so", "spellfile", "spr", "st", "sts", "swapsync", "syn", "tag", "tagstack", "tc", "termwinkey", "textwidth", "timeout", "tm", "ts", "ttybuiltin", "twk", "udir", "updatetime", "vdir", "viewoptions", "vsts", "wcm", "whichwrap", "wildignorecase", "window", "winwidth", "wop", "writedelay", "allowrevins", "arabic", "autowriteall", "backupext", "belloff", "binary", "breakindentopt", "bt", "cd", "cin", "clipboard", "cole", "completefunc", "cot", "cscopepathcomp", "cspc", "cul", "deco", "diff", "dy", "efm", "eol", "et", "fde", "fen", "fileencodings", "fk", "foldenable", "foldnestmax", "fs", "gfs", "gtt", "guitablabel", "hid", "hl", "im", "imdisable", "imstyle", "indk", "isi", "key", "langmenu", "lines", "lnr", "lz", "matchpairs", "mco", "ml", "modeline", "mousefocus", "mp", "nrformats", "omnifunc", "paragraphs", "perldll", "pmbcs", "printdevice", "prompt", "pythondll", "rdt", "report", "rnu", "ruler", "scf", "scrollopt", "selectmode", "shellpipe", "shellxquote", "showcmd", "sidescroll", "smartcase", "softtabstop", "spelllang", "sps", "sta", "su", "swb", "synmaxcol", "tagbsearch", "tal", "tcldll", "termwinscroll", "tf", "timeoutlen", "to", "tsl", "ttyfast", "tws", "ul", "ur", "ve", "vif", "vts", "wcr", "wi", "wildmenu", "winfixheight", "wiv", "wrap", "ws", "altkeymap", "arabicshape", "aw", "backupskip", "beval", "bk", "bri", "bufhidden", "cdpath", "cindent", "cm", "colorcolumn", "completeopt", "cp", "cscopeprg", "csprg", "culopt", "def", "diffexpr", "ea", "ei", "ep", "eventignore", "fdi", "fenc", "fileformat", "fkmap", "foldexpr", "foldopen", "fsync", "gfw", "guicursor", "guitabtooltip", "hidden", "hlg", "imactivatefunc", "imi", "inc", "inex", "isident", "keymap", "langnoremap", "linespace", "loadplugins", "ma", "matchtime", "mef", "mle", "modelineexpr", "mousehide", "mps", "nu", "opendevice", "paste", "pex", "pmbfn", "printencoding", "pt", "pythonhome", "re", "restorescreen", "ro", "rulerformat", "scl", "scs", "sessionoptions", "shellquote", "shiftround", "showfulltag", "sidescrolloff", "smartindent", "sol", "spellsuggest", "sr", "stal", "sua", "swf", "syntax", "tagcase", "tb", "tenc", "termwinsize", "tfu", "title", "toolbar", "tsr", "ttym", "twsl", "undodir", "ut", "verbose", "viminfo", "wa", "wd", "wic", "wildmode", "winfixwidth", "wiw", "wrapmargin", "ww", "ambiwidth", "ari", "awa", "balloondelay", "bevalterm", "bkc", "briopt", "buflisted", "cedit", "cink", "cmdheight", "columns", "completepopup", "cpo", "cscopequickfix", "csqf", "cursorbind", "define", "diffopt", "ead", "ek", "equalalways", "ex", "fdl", "fencs", "fileformats", "flp", "foldignore", "foldtext", "ft", "ghr", "guifont", "helpfile", "highlight", "hls", "imactivatekey", "iminsert", "include", "inf", "isk", "keymodel", "langremap", "lisp", "lpl", "macatsui", "maxcombine", "menc", "mls", "modelines", "mousem", "msm", "number", "operatorfunc", "pastetoggle", "pexpr", "popt", "printexpr", "pumheight", "pythonthreedll", "readonly", "revins", "rop", "runtimepath", "scr", "noacd", "noallowrevins", "noantialias", "noarabic", "noarshape", "noautoread", "noaw", "noballooneval", "nobevalterm", "nobk", "nobreakindent", "nocf", "nocindent", "nocopyindent", "nocscoperelative", "nocsre", "nocuc", "nocursorcolumn", "nodelcombine", "nodigraph", "noed", "noemo", "noeol", "noesckeys", "noexpandtab", "nofic", "nofixeol", "nofoldenable", "nogd", "nohid", "nohkmap", "nohls", "noicon", "noimc", "noimdisable", "noinfercase", "nojoinspaces", "nolangremap", "nolinebreak", "nolnr", "nolrm", "nomacatsui", "noml", "nomod", "nomodelineexpr", "nomodified", "nomousef", "nomousehide", "nonumber", "noopendevice", "nopi", "nopreviewwindow", "nopvw", "norelativenumber", "norestorescreen", "nori", "norl", "noro", "noru", "nosb", "noscb", "noscrollbind", "noscs", "nosft", "noshelltemp", "noshortname", "noshowfulltag", "noshowmode", "nosm", "nosmartindent", "nosmd", "nosol", "nosplitbelow", "nospr", "nossl", "nostartofline", "noswapfile", "nota", "notagrelative", "notbi", "notbs", "noterse", "notextmode", "notgst", "notimeout", "noto", "notr", "nottybuiltin", "notx", "noundofile", "novisualbell", "nowarn", "noweirdinvert", "nowfw", "nowildignorecase", "nowinfixheight", "nowiv", "nowrap", "nowrite", "nowritebackup", "noai", "noaltkeymap", "noar", "noarabicshape", "noautochdir", "noautowrite", "noawa", "noballoonevalterm", "nobin", "nobl", "nobri", "noci", "nocompatible", "nocp", "nocscopetag", "nocst", "nocul", "nocursorline", "nodg", "noea", "noedcompatible", "noemoji", "noequalalways", "noet", "noexrc", "nofileignorecase", "nofk", "nofs", "nogdefault", "nohidden", "nohkmapp", "nohlsearch", "noignorecase", "noimcmdline", "noincsearch", "noinsertmode", "nojs", "nolazyredraw", "nolisp", "noloadplugins", "nolz", "nomagic", "nomle", "nomodeline", "nomodifiable", "nomore", "nomousefocus", "nonu", "noodev", "nopaste", "nopreserveindent", "noprompt", "noreadonly", "noremap", "norevins", "norightleft", "nornu", "nors", "noruler", "nosc", "noscf", "noscrollfocus", "nosecure", "noshellslash", "noshiftround", "noshowcmd", "noshowmatch", "nosi", "nosmartcase", "nosmarttab", "nosn", "nospell", "nosplitright", "nosr", "nosta", "nostmp", "noswf", "notagbsearch", "notagstack", "notbidi", "notermbidi", "notextauto", "notf", "notildeop", "notitle", "notop", "nottimeout", "nottyfast", "noudf", "novb", "nowa", "nowb", "nowfh", "nowic", "nowildmenu", "nowinfixwidth", "nowmnu", "nowrapscan", "nowriteany", "nows", "noakm", "noanti", "noarab", "noari", "noautoindent", "noautowriteall", "nobackup", "nobeval", "nobinary", "nobomb", "nobuflisted", "nocin", "noconfirm", "nocrb", "nocscopeverbose", "nocsverb", "nocursorbind", "nodeco", "nodiff", "noeb", "noek", "noendofline", "noerrorbells", "noex", "nofen", "nofixendofline", "nofkmap", "nofsync", "noguipty", "nohk", "nohkp", "noic", "noim", "noimd", "noinf", "nois", "nolangnoremap", "nolbr", "nolist", "nolpl", "noma", "nomh", "invacd", "invallowrevins", "invantialias", "invarabic", "invarshape", "invautoread", "invaw", "invballooneval", "invbevalterm", "invbk", "invbreakindent", "invcf", "invcindent", "invcopyindent", "invcscoperelative", "invcsre", "invcuc", "invcursorcolumn", "invdelcombine", "invdigraph", "inved", "invemo", "inveol", "invesckeys", "invexpandtab", "invfic", "invfixeol", "invfoldenable", "invgd", "invhid", "invhkmap", "invhls", "invicon", "invimc", "invimdisable", "invinfercase", "invjoinspaces", "invlangremap", "invlinebreak", "invlnr", "invlrm", "invmacatsui", "invml", "invmod", "invmodelineexpr", "invmodified", "invmousef", "invmousehide", "invnumber", "invopendevice", "invpi", "invpreviewwindow", "invpvw", "invrelativenumber", "invrestorescreen", "invri", "invrl", "invro", "invru", "invsb", "invscb", "invscrollbind", "invscs", "invsft", "invshelltemp", "invshortname", "invshowfulltag", "invshowmode", "invsm", "invsmartindent", "invsmd", "invsol", "invsplitbelow", "invspr", "invssl", "invstartofline", "invswapfile", "invta", "invtagrelative", "invtbi", "invtbs", "invterse", "invtextmode", "invtgst", "invtimeout", "invto", "invtr", "invttybuiltin", "invtx", "invundofile", "invvisualbell", "invwarn", "invweirdinvert", "invwfw", "invwildignorecase", "invwinfixheight", "invwiv", "invwrap", "invwrite", "invwritebackup", "invai", "invaltkeymap", "invar", "invarabicshape", "invautochdir", "invautowrite", "invawa", "invballoonevalterm", "invbin", "invbl", "invbri", "invci", "invcompatible", "invcp", "invcscopetag", "invcst", "invcul", "invcursorline", "invdg", "invea", "invedcompatible", "invemoji", "invequalalways", "invet", "invexrc", "invfileignorecase", "invfk", "invfs", "invgdefault", "invhidden", "invhkmapp", "invhlsearch", "invignorecase", "invimcmdline", "invincsearch", "invinsertmode", "invjs", "invlazyredraw", "invlisp", "invloadplugins", "invlz", "invmagic", "invmle", "invmodeline", "invmodifiable", "invmore", "invmousefocus", "invnu", "invodev", "invpaste", "invpreserveindent", "invprompt", "invreadonly", "invremap", "invrevins", "invrightleft", "invrnu", "invrs", "invruler", "invsc", "invscf", "invscrollfocus", "invsecure", "invshellslash", "invshiftround", "invshowcmd", "invshowmatch", "invsi", "invsmartcase", "invsmarttab", "invsn", "invspell", "invsplitright", "invsr", "invsta", "invstmp", "invswf", "invtagbsearch", "invtagstack", "invtbidi", "invtermbidi", "invtextauto", "invtf", "invtildeop", "invtitle", "invtop", "invttimeout", "invttyfast", "invudf", "invvb", "invwa", "invwb", "invwfh", "invwic", "invwildmenu", "invwinfixwidth", "invwmnu", "invwrapscan", "invwriteany", "invws", "invakm", "invanti", "invarab", "invari", "invautoindent", "invautowriteall", "invbackup", "invbeval", "invbinary", "invbomb", "invbuflisted", "invcin", "invconfirm", "invcrb", "invcscopeverbose", "invcsverb", "invcursorbind", "invdeco", "invdiff", "inveb", "invek", "invendofline", "inverrorbells", "invex", "invfen", "invfixendofline", "invfkmap", "invfsync", "invguipty", "invhk", "invhkp", "invic", "invim", "invimd", "invinf", "invis", "invlangnoremap", "invlbr", "invlist", "invlpl", "invma", "invmh", "t_8b", "t_AB", "t_al", "t_bc", "t_BE", "t_ce", "t_cl", "t_Co", "t_Cs", "t_CV", "t_db", "t_DL", "t_EI", "t_F2", "t_F4", "t_F6", "t_F8", "t_fs", "t_IE", "t_k1", "t_k2", "t_K3", "t_K4", "t_K5", "t_K6", "t_K7", "t_K8", "t_K9", "t_kb", "t_KB", "t_kd", "t_KD", "t_ke", "t_KE", "t_KF", "t_KG", "t_kh", "t_KH", "t_kI", "t_KI", "t_KJ", "t_KK", "t_kl", "t_KL", "t_kN", "t_kP", "t_kr", "t_ks", "t_ku", "t_le", "t_mb", "t_md", "t_me", "t_mr", "t_ms", "t_nd", "t_op", "t_PE", "t_PS", "t_RB", "t_RC", "t_RF", "t_Ri", "t_RI", "t_RS", "t_RT", "t_RV", "t_Sb", "t_SC", "t_se", "t_Sf", "t_SH", "t_Si", "t_SI", "t_so", "t_sr", "t_SR", "t_ST", "t_te", "t_Te", "t_TE", "t_ti", "t_TI", "t_ts", "t_Ts", "t_u7", "t_ue", "t_us", "t_ut", "t_vb", "t_ve", "t_vi", "t_vs", "t_VS", "t_WP", "t_WS", "t_xn", "t_xs", "t_ZH", "t_ZR", "t_8f", "t_AF", "t_AL", "t_BD", "t_cd", "t_Ce", "t_cm", "t_cs", "t_CS", "t_da", "t_dl", "t_EC", "t_F1", "t_F3", "t_F5", "t_F7", "t_F9", "t_GP", "t_IS", "t_K1", "t_k3", "t_k4", "t_k5", "t_k6", "t_k7", "t_k8", "t_k9", "t_KA", "t_kB", "t_KC", "t_kD"]
|
|
15
|
-
kw[:
|
|
16
|
-
kw[:function] = Set.new ["abs", "appendbufline", "asin", "assert_fails", "assert_notmatch", "balloon_gettext", "bufadd", "bufname", "byteidx", "char2nr", "ch_evalexpr", "ch_log", "ch_readraw", "cindent", "complete_check", "cosh", "deepcopy", "diff_hlID", "eval", "exists", "feedkeys", "findfile", "fnamemodify", "foldtextresult", "get", "getchar", "getcmdtype", "getenv", "getftype", "getmatches", "getreg", "gettagstack", "getwinvar", "has_key", "histget", "iconv", "inputlist", "interrupt", "isnan", "job_start", "js_encode", "libcall", "list2str", "log", "mapcheck", "matchdelete", "max", "nextnonblank", "popup_atcursor", "popup_dialog", "popup_getoptions", "popup_notification", "prevnonblank", "prop_add", "prop_type_add", "pum_getpos", "rand", "reg_recording", "remote_foreground", "remove", "round", "screencol", "searchdecl", "serverlist", "setenv", "setpos", "settagstack", "sign_define", "sign_placelist", "sin", "sound_playevent", "split", "str2list", "strftime", "strpart", "submatch", "synID", "systemlist", "taglist", "term_dumpload", "term_getcursor", "term_getstatus", "term_sendkeys", "term_setsize", "test_autochdir", "test_getvalue", "test_null_dict", "test_null_string", "test_scrollbar", "test_unknown", "timer_start", "toupper", "type", "values", "winbufnr", "win_findbuf", "winheight", "winline", "winsaveview", "winwidth", "acos", "argc", "assert_beeps", "assert_false", "assert_report", "balloon_show", "bufexists", "bufnr", "byteidxcomp", "ch_canread", "ch_evalraw", "ch_logfile", "ch_sendexpr", "clearmatches", "complete_info", "count", "delete", "echoraw", "eventhandler", "exp", "filereadable", "float2nr", "foldclosed", "foreground", "getbufinfo", "getcharmod", "getcmdwintype", "getfontname", "getimstatus", "getmousepos", "getregtype", "getwininfo", "glob", "haslocaldir", "histnr", "indent", "inputrestore", "invert", "items", "job_status", "json_decode", "libcallnr", "listener_add", "log10", "match", "matchend", "min", "nr2char", "popup_beval", "popup_filter_menu", "popup_getpos", "popup_setoptions", "printf", "prop_clear", "prop_type_change", "pumvisible", "range", "reltime", "remote_peek", "rename", "rubyeval", "screenpos", "searchpair", "setbufline", "setfperm", "setqflist", "setwinvar", "sign_getdefined", "sign_undefine", "sinh", "sound_playfile", "sqrt", "str2nr", "strgetchar", "strptime", "substitute", "synIDattr", "tabpagebuflist", "tan", "term_dumpwrite", "term_getjob", "term_gettitle", "term_setansicolors", "term_start", "test_feedinput", "test_ignore_error", "test_null_job", "test_option_not_set", "test_setmouse", "test_void", "timer_stop", "tr", "undofile", "virtcol", "wincol", "win_getid", "win_id2tabwin", "winnr", "win_screenpos", "wordcount", "add", "argidx", "assert_equal", "assert_inrange", "assert_true", "balloon_split", "buflisted", "bufwinid", "call", "ch_close", "ch_getbufnr", "ch_open", "ch_sendraw", "col", "confirm", "cscope_connection", "deletebufline", "empty", "executable", "expand", "filewritable", "floor", "foldclosedend", "funcref", "getbufline", "getcharsearch", "getcompletion", "getfperm", "getjumplist", "getpid", "gettabinfo", "getwinpos", "glob2regpat", "hasmapto", "hlexists", "index", "inputsave", "isdirectory", "job_getchannel", "job_stop", "json_encode", "line", "listener_flush", "luaeval", "matchadd", "matchlist", "mkdir", "or", "popup_clear", "popup_filter_yesno", "popup_hide", "popup_settext", "prompt_setcallback", "prop_find", "prop_type_delete", "py3eval", "readdir", "reltimefloat", "remote_read", "repeat", "screenattr", "screenrow", "searchpairpos", "setbufvar", "setline", "setreg", "sha256", "sign_getplaced", "sign_unplace", "sort", "sound_stop", "srand", "strcharpart", "stridx", "strridx", "swapinfo", "synIDtrans", "tabpagenr", "tanh", "term_getaltscreen", "term_getline", "term_gettty", "term_setapi", "term_wait", "test_garbagecollect_now", "test_null_blob", "test_null_list", "test_override", "test_settime", "timer_info", "timer_stopall", "trim", "undotree", "visualmode", "windowsversion", "win_gettype", "win_id2win", "winrestcmd", "win_splitmove", "writefile", "and", "arglistid", "assert_equalfile", "assert_match", "atan", "browse", "bufload", "bufwinnr", "ceil", "ch_close_in", "ch_getjob", "ch_read", "ch_setoptions", "complete", "copy", "cursor", "did_filetype", "environ", "execute", "expandcmd", "filter", "fmod", "foldlevel", "function", "getbufvar", "getcmdline", "getcurpos", "getfsize", "getline", "getpos", "gettabvar", "getwinposx", "globpath", "histadd", "hlID", "input", "inputsecret", "isinf", "job_info", "join", "keys", "line2byte", "listener_remove", "map", "matchaddpos", "matchstr", "mode", "pathshorten", "popup_close", "popup_findinfo", "popup_menu", "popup_show", "prompt_setinterrupt", "prop_list", "prop_type_get", "pyeval", "readfile", "reltimestr", "remote_send", "resolve", "screenchar", "screenstring", "searchpos", "setcharsearch", "setloclist", "settabvar", "shellescape", "sign_jump", "sign_unplacelist", "sound_clear", "spellbadword", "state", "strchars", "string", "strtrans", "swapname", "synstack", "tabpagewinnr", "tempname", "term_getansicolors", "term_getscrolled", "term_list", "term_setkill", "test_alloc_fail", "test_garbagecollect_soon", "test_null_channel", "test_null_partial", "test_refcount", "test_srand_seed", "timer_pause", "tolower", "trunc", "uniq", "wildmenumode", "win_execute", "win_gotoid", "winlayout", "winrestview", "win_type", "xor", "append", "argv", "assert_exception", "assert_notequal", "atan2", "browsedir", "bufloaded", "byte2line", "changenr", "chdir", "ch_info", "ch_readblob", "ch_status", "complete_add", "cos", "debugbreak", "diff_filler", "escape", "exepath", "extend", "finddir", "fnameescape", "foldtext", "garbagecollect", "getchangelist", "getcmdpos", "getcwd", "getftime", "getloclist", "getqflist", "gettabwinvar", "getwinposy", "has", "histdel", "hostname", "inputdialog", "insert", "islocked", "job_setoptions", "js_decode", "len", "lispindent", "localtime", "maparg", "matcharg", "matchstrpos", "mzeval", "perleval", "popup_create", "popup_findpreview", "popup_move", "pow", "prompt_setprompt", "prop_remove", "prop_type_list", "pyxeval", "reg_executing", "remote_expr", "remote_startserver", "reverse", "screenchars", "search", "server2client", "setcmdpos", "setmatches", "settabwinvar", "shiftwidth", "sign_place", "simplify", "soundfold", "spellsuggest", "str2float", "strdisplaywidth", "strlen", "strwidth", "synconcealed", "system", "tagfiles", "term_dumpdiff", "term_getattr", "term_getsize", "term_scrape", "term_setrestore"]
|
|
17
|
-
end
|
|
11
|
+
KEYWORDS = {}.tap do |kw|
|
|
12
|
+
kw[:command] = Set.new ["a", "al", "all", "ar", "arga", "argadd", "argd", "argded", "argdedupe", "argdelete", "arge", "argedit", "argg", "argglobal", "argl", "arglocal", "args", "argu", "argument", "as", "ascii", "b", "bN", "bNext", "ba", "bad", "badd", "ball", "balt", "bd", "bdelete", "bf", "bfirst", "bl", "blast", "bm", "bmodified", "bn", "bnext", "bp", "bprevious", "br", "brea", "break", "brewind", "buffer", "buffers", "bun", "bunload", "bw", "bwipeout", "cN", "cNext", "cNf", "cNfile", "cabo", "cabove", "cad", "caddbuffer", "cadde", "caddexpr", "caddf", "caddfile", "caf", "cafter", "cb", "cbe", "cbefore", "cbel", "cbelow", "cbo", "cbottom", "cbuffer", "cc", "ccl", "cclose", "ce", "center", "cex", "cexpr", "cf", "cfile", "cfir", "cfirst", "cg", "cgetb", "cgetbuffer", "cgete", "cgetexpr", "cgetfile", "changes", "che", "checkpath", "checkt", "checktime", "chi", "chistory", "cl", "cla", "clast", "cle", "clearjumps", "clip", "clipreset", "clist", "clo", "close", "cn", "cnew", "cnewer", "cnext", "cnf", "cnfile", "col", "colder", "colo", "colorscheme", "comc", "comclear", "comp", "compiler", "con", "continue", "cope", "copen", "cp", "cpf", "cpfile", "cprevious", "cq", "cquit", "cr", "crewind", "cs", "cscope", "cst", "cstag", "cw", "cwindow", "defc", "defcompile", "delel", "delep", "deletel", "deletep", "deletl", "deletp", "dell", "delm", "delmarks", "delp", "dep", "di", "dif", "diffg", "diffget", "diffo", "diffoff", "diffp", "diffpatch", "diffpu", "diffput", "diffs", "diffsplit", "difft", "diffthis", "diffupdate", "dig", "digraphs", "disa", "disassemble", "display", "dj", "djump", "dl", "dli", "dlist", "dp", "dr", "drop", "ds", "dsearch", "dsp", "dsplit", "e", "ea", "earlier", "edit", "em", "emenu", "endfo", "endfor", "endt", "endtry", "endw", "endwhile", "ene", "enew", "ex", "exi", "exit", "exu", "exusage", "f", "file", "files", "fin", "fina", "finally", "find", "fini", "finish", "fir", "first", "fix", "fixdel", "fo", "fold", "foldc", "foldclose", "foldo", "foldopen", "g", "global", "go", "goto", "gu", "gui", "gv", "gvim", "ha", "hardcopy", "helpc", "helpclose", "helpf", "helpfind", "helpt", "helptags", "i", "ij", "ijump", "il", "ilist", "int", "intro", "ip", "iput", "is", "isearch", "isp", "isplit", "ju", "jumps", "l", "lN", "lNext", "lNf", "lNfile", "la", "lab", "labove", "lad", "laddb", "laddbuffer", "laddexpr", "laddf", "laddfile", "laf", "lafter", "last", "lat", "later", "lb", "lbe", "lbefore", "lbel", "lbelow", "lbo", "lbottom", "lbuffer", "lcl", "lclose", "lcs", "lcscope", "le", "left", "lex", "lexpr", "lf", "lfile", "lfir", "lfirst", "lg", "lgetb", "lgetbuffer", "lgete", "lgetexpr", "lgetfile", "lhi", "lhistory", "list", "ll", "lla", "llast", "lli", "llist", "lmak", "lmake", "lne", "lnew", "lnewer", "lnext", "lnf", "lnfile", "lo", "loadview", "lockv", "lockvar", "lol", "lolder", "lop", "lopen", "lp", "lpf", "lpfile", "lprevious", "lr", "lrewind", "ls", "lt", "ltag", "lw", "lwindow", "m", "marks", "mes", "messages", "mk", "mkexrc", "mks", "mksession", "mksp", "mkspell", "mkv", "mkvie", "mkview", "mkvimrc", "mod", "mode", "move", "n", "nb", "nbc", "nbclose", "nbkey", "nbs", "nbstart", "next", "nextgroup", "noh", "nohlsearch", "nu", "number", "o", "ol", "oldfiles", "on", "only", "open", "opt", "options", "ow", "ownsyntax", "p", "pa", "packadd", "packl", "packloadall", "pb", "pbuffer", "pc", "pclose", "ped", "pedit", "po", "pop", "pp", "ppop", "pre", "preserve", "prev", "previous", "print", "ps", "psearch", "pt", "ptN", "ptNext", "ptag", "ptf", "ptfirst", "ptj", "ptjump", "ptl", "ptlast", "ptn", "ptnext", "ptp", "ptprevious", "ptr", "ptrewind", "pts", "ptselect", "pu", "put", "pw", "pwd", "q", "qa", "qall", "quit", "quita", "quitall", "r", "read", "rec", "recover", "red", "redo", "redr", "redraw", "redraws", "redrawstatus", "redrawt", "redrawtabline", "redrawtabp", "redrawtabpanel", "reg", "registers", "res", "resize", "ret", "retab", "rew", "rewind", "ri", "right", "ru", "rund", "rundo", "runtime", "rv", "rviminfo", "sN", "sNext", "sa", "sal", "sall", "sargument", "sav", "saveas", "sb", "sbN", "sbNext", "sba", "sball", "sbf", "sbfirst", "sbl", "sblast", "sbm", "sbmodified", "sbn", "sbnext", "sbp", "sbprevious", "sbr", "sbrewind", "sbuffer", "scr", "scripte", "scriptencoding", "scriptnames", "scriptv", "scriptversion", "scs", "scscope", "setf", "setfiletype", "sf", "sfind", "sfir", "sfirst", "sh", "shell", "sig", "sign", "sim", "simalt", "sla", "slast", "smi", "smile", "sn", "snext", "so", "source", "spe", "spelld", "spelldump", "spellgood", "spelli", "spellinfo", "spellr", "spellra", "spellrare", "spellrepall", "spellu", "spellundo", "spellw", "spellwrong", "spr", "sprevious", "sre", "srewind", "st", "sta", "stag", "star", "startg", "startgreplace", "startinsert", "startr", "startreplace", "stj", "stjump", "stop", "stopi", "stopinsert", "sts", "stselect", "sun", "sunhide", "sus", "suspend", "sv", "sview", "sync", "syncbind", "t", "tN", "tNext", "ta", "tabN", "tabNext", "tabc", "tabclose", "tabe", "tabedit", "tabf", "tabfind", "tabfir", "tabfirst", "tabl", "tablast", "tabm", "tabmove", "tabn", "tabnew", "tabnext", "tabo", "tabonly", "tabp", "tabprevious", "tabr", "tabrewind", "tabs", "tag", "tags", "te", "tearoff", "tf", "tfirst", "tj", "tjump", "tl", "tlast", "tn", "tnext", "tp", "tprevious", "tr", "trewind", "try", "ts", "tselect", "u", "undo", "undoj", "undojoin", "undol", "undolist", "unh", "unhide", "up", "update", "v", "ve", "version", "vglobal", "vi", "vie", "view", "vimBang", "visual", "viu", "viusage", "vne", "vnew", "vs", "vsplit", "w", "wN", "wNext", "wa", "wall", "wi", "winp", "winpos", "winsize", "wl", "wlrestore", "wn", "wnext", "wp", "wprevious", "wq", "wqa", "wqall", "write", "wu", "wundo", "wv", "wviminfo", "x", "xa", "xall", "xit", "xr", "xrestore", "y", "yank", "z"]
|
|
13
|
+
kw[:option] = Set.new ["ac", "acd", "acl", "act", "ai", "al", "aleph", "allowrevins", "ambiwidth", "ambw", "ar", "arab", "arabic", "arabicshape", "ari", "arshape", "asd", "autochdir", "autocomplete", "autocompletedelay", "autocompletetimeout", "autoindent", "autoread", "autoshelldir", "autowrite", "autowriteall", "aw", "awa", "background", "backspace", "backup", "backupcopy", "backupdir", "backupext", "backupskip", "balloondelay", "ballooneval", "balloonevalterm", "balloonexpr", "bdir", "bdlay", "belloff", "beval", "bevalterm", "bex", "bexpr", "bg", "bh", "bin", "binary", "bk", "bkc", "bl", "bo", "bomb", "breakat", "breakindent", "breakindentopt", "bri", "briopt", "brk", "browsedir", "bs", "bsdir", "bsk", "bt", "bufhidden", "buflisted", "buftype", "casemap", "cb", "cc", "ccv", "cd", "cdh", "cdhome", "cdpath", "cedit", "cf", "cfu", "ch", "charconvert", "chi", "chistory", "ci", "cia", "cin", "cindent", "cink", "cinkeys", "cino", "cinoptions", "cinscopedecls", "cinsd", "cinw", "cinwords", "clipboard", "clipmethod", "cm", "cmdheight", "cmdwinheight", "cmp", "cms", "co", "cocu", "cole", "colorcolumn", "columns", "com", "comments", "commentstring", "compatible", "complete", "completefunc", "completeitemalign", "completeopt", "completepopup", "completeslash", "completetimeout", "concealcursor", "conceallevel", "confirm", "copyindent", "cot", "cp", "cpm", "cpo", "cpoptions", "cpp", "cpt", "crb", "cryptmethod", "cscopepathcomp", "cscopeprg", "cscopequickfix", "cscoperelative", "cscopetag", "cscopetagorder", "cscopeverbose", "csl", "cspc", "csprg", "csqf", "csre", "cst", "csto", "csverb", "cto", "cuc", "cul", "culopt", "cursorbind", "cursorcolumn", "cursorline", "cursorlineopt", "cwh", "debug", "deco", "def", "define", "delcombine", "dex", "dg", "dia", "dict", "dictionary", "diff", "diffanchors", "diffexpr", "diffopt", "digraph", "dip", "dir", "directory", "display", "dy", "ea", "ead", "eadirection", "eb", "ed", "edcompatible", "ef", "efm", "ei", "eiw", "ek", "emo", "emoji", "enc", "encoding", "endoffile", "endofline", "eof", "eol", "ep", "equalalways", "equalprg", "errorbells", "errorfile", "errorformat", "esckeys", "et", "eventignore", "eventignorewin", "ex", "expandtab", "exrc", "fcl", "fcs", "fdc", "fde", "fdi", "fdl", "fdls", "fdm", "fdn", "fdo", "fdt", "fen", "fenc", "fencs", "fex", "ff", "ffs", "ffu", "fic", "fileencoding", "fileencodings", "fileformat", "fileformats", "fileignorecase", "filetype", "fillchars", "findfunc", "fixendofline", "fixeol", "flp", "fml", "fmr", "fo", "foldclose", "foldcolumn", "foldenable", "foldexpr", "foldignore", "foldlevel", "foldlevelstart", "foldmarker", "foldmethod", "foldminlines", "foldnestmax", "foldopen", "foldtext", "formatexpr", "formatlistpat", "formatoptions", "formatprg", "fp", "fs", "fsync", "ft", "gcr", "gd", "gdefault", "gfm", "gfn", "gfs", "gfw", "ghr", "gli", "go", "gp", "grepformat", "grepprg", "gtl", "gtt", "guicursor", "guifont", "guifontset", "guifontwide", "guiheadroom", "guiligatures", "guioptions", "guipty", "guitablabel", "guitabtooltip", "helpfile", "helpheight", "helplang", "hf", "hh", "hi", "hid", "hidden", "highlight", "history", "hk", "hkmap", "hkmapp", "hkp", "hl", "hlg", "hls", "hlsearch", "ic", "icon", "iconstring", "ignorecase", "im", "imactivatefunc", "imactivatekey", "imaf", "imak", "imc", "imcmdline", "imd", "imdisable", "imi", "iminsert", "ims", "imsearch", "imsf", "imst", "imstatusfunc", "imstyle", "inc", "include", "includeexpr", "incsearch", "inde", "indentexpr", "indentkeys", "indk", "inex", "inf", "infercase", "insertmode", "invac", "invacd", "invai", "invallowrevins", "invar", "invarab", "invarabic", "invarabicshape", "invari", "invarshape", "invasd", "invautochdir", "invautocomplete", "invautoindent", "invautoread", "invautoshelldir", "invautowrite", "invautowriteall", "invaw", "invawa", "invbackup", "invballooneval", "invballoonevalterm", "invbeval", "invbevalterm", "invbin", "invbinary", "invbk", "invbl", "invbomb", "invbreakindent", "invbri", "invbuflisted", "invcdh", "invcdhome", "invcf", "invci", "invcin", "invcindent", "invcompatible", "invconfirm", "invcopyindent", "invcp", "invcrb", "invcscoperelative", "invcscopetag", "invcscopeverbose", "invcsre", "invcst", "invcsverb", "invcuc", "invcul", "invcursorbind", "invcursorcolumn", "invcursorline", "invdeco", "invdelcombine", "invdg", "invdiff", "invdigraph", "invea", "inveb", "inved", "invedcompatible", "invek", "invemo", "invemoji", "invendoffile", "invendofline", "inveof", "inveol", "invequalalways", "inverrorbells", "invesckeys", "invet", "invex", "invexpandtab", "invexrc", "invfen", "invfic", "invfileignorecase", "invfixendofline", "invfixeol", "invfoldenable", "invfs", "invfsync", "invgd", "invgdefault", "invguipty", "invhid", "invhidden", "invhk", "invhkmap", "invhkmapp", "invhkp", "invhls", "invhlsearch", "invic", "invicon", "invignorecase", "invim", "invimc", "invimcmdline", "invimd", "invimdisable", "invincsearch", "invinf", "invinfercase", "invinsertmode", "invis", "invjoinspaces", "invjs", "invlangnoremap", "invlangremap", "invlazyredraw", "invlbr", "invlinebreak", "invlisp", "invlist", "invlnr", "invloadplugins", "invlpl", "invlrm", "invlz", "invma", "invmagic", "invmh", "invml", "invmle", "invmod", "invmodeline", "invmodelineexpr", "invmodifiable", "invmodified", "invmore", "invmousef", "invmousefocus", "invmousehide", "invmousemev", "invmousemoveevent", "invnu", "invnumber", "invodev", "invopendevice", "invpaste", "invpi", "invpreserveindent", "invpreviewwindow", "invprompt", "invpvw", "invreadonly", "invrelativenumber", "invremap", "invrestorescreen", "invrevins", "invri", "invrightleft", "invrl", "invrnu", "invro", "invrs", "invru", "invruler", "invsb", "invsc", "invscb", "invscf", "invscrollbind", "invscrollfocus", "invscs", "invsecure", "invsft", "invshellslash", "invshelltemp", "invshiftround", "invshortname", "invshowcmd", "invshowfulltag", "invshowmatch", "invshowmode", "invsi", "invsm", "invsmartcase", "invsmartindent", "invsmarttab", "invsmd", "invsmoothscroll", "invsms", "invsn", "invsol", "invspell", "invsplitbelow", "invsplitright", "invspr", "invsr", "invssl", "invsta", "invstartofline", "invstmp", "invswapfile", "invswf", "invta", "invtagbsearch", "invtagrelative", "invtagstack", "invtbi", "invtbidi", "invtbs", "invtermbidi", "invtermguicolors", "invterse", "invtextauto", "invtextmode", "invtf", "invtgc", "invtgst", "invtildeop", "invtimeout", "invtitle", "invto", "invtop", "invtr", "invttimeout", "invttybuiltin", "invttyfast", "invtx", "invudf", "invundofile", "invvb", "invvisualbell", "invwa", "invwarn", "invwb", "invweirdinvert", "invwfb", "invwfh", "invwfw", "invwic", "invwildignorecase", "invwildmenu", "invwinfixbuf", "invwinfixheight", "invwinfixwidth", "invwiv", "invwlsteal", "invwmnu", "invwrap", "invwrapscan", "invwrite", "invwriteany", "invwritebackup", "invws", "invwst", "invxtermcodes", "is", "isf", "isfname", "isi", "isident", "isk", "iskeyword", "isp", "isprint", "joinspaces", "jop", "js", "jumpoptions", "key", "keymap", "keymodel", "keyprotocol", "keywordprg", "km", "kmp", "kp", "kpc", "langmap", "langmenu", "langnoremap", "langremap", "laststatus", "lazyredraw", "lbr", "lcs", "lhi", "lhistory", "linebreak", "lines", "linespace", "lisp", "lispoptions", "lispwords", "list", "listchars", "lm", "lmap", "lnr", "loadplugins", "lop", "lpl", "lrm", "ls", "lsp", "luadll", "lw", "lz", "ma", "magic", "makeef", "makeencoding", "makeprg", "mat", "matchpairs", "matchtime", "maxcombine", "maxfuncdepth", "maxmapdepth", "maxmem", "maxmempattern", "maxmemtot", "maxsearchcount", "mco", "mef", "menc", "menuitems", "messagesopt", "mfd", "mh", "mis", "mkspellmem", "ml", "mle", "mls", "mm", "mmd", "mmp", "mmt", "mod", "modeline", "modelineexpr", "modelines", "modifiable", "modified", "mopt", "more", "mouse", "mousef", "mousefocus", "mousehide", "mousem", "mousemev", "mousemodel", "mousemoveevent", "mouses", "mouseshape", "mouset", "mousetime", "mp", "mps", "msc", "msm", "mzq", "mzquantum", "mzschemedll", "mzschemegcdll", "nextgroup", "nf", "noac", "noacd", "noai", "noallowrevins", "noar", "noarab", "noarabic", "noarabicshape", "noari", "noarshape", "noasd", "noautochdir", "noautocomplete", "noautoindent", "noautoread", "noautoshelldir", "noautowrite", "noautowriteall", "noaw", "noawa", "nobackup", "noballooneval", "noballoonevalterm", "nobeval", "nobevalterm", "nobin", "nobinary", "nobk", "nobl", "nobomb", "nobreakindent", "nobri", "nobuflisted", "nocdh", "nocdhome", "nocf", "noci", "nocin", "nocindent", "nocompatible", "noconfirm", "nocopyindent", "nocp", "nocrb", "nocscoperelative", "nocscopetag", "nocscopeverbose", "nocsre", "nocst", "nocsverb", "nocuc", "nocul", "nocursorbind", "nocursorcolumn", "nocursorline", "nodeco", "nodelcombine", "nodg", "nodiff", "nodigraph", "noea", "noeb", "noed", "noedcompatible", "noek", "noemo", "noemoji", "noendoffile", "noendofline", "noeof", "noeol", "noequalalways", "noerrorbells", "noesckeys", "noet", "noex", "noexpandtab", "noexrc", "nofen", "nofic", "nofileignorecase", "nofixendofline", "nofixeol", "nofoldenable", "nofs", "nofsync", "nogd", "nogdefault", "noguipty", "nohid", "nohidden", "nohk", "nohkmap", "nohkmapp", "nohkp", "nohls", "nohlsearch", "noic", "noicon", "noignorecase", "noim", "noimc", "noimcmdline", "noimd", "noimdisable", "noincsearch", "noinf", "noinfercase", "noinsertmode", "nois", "nojoinspaces", "nojs", "nolangnoremap", "nolangremap", "nolazyredraw", "nolbr", "nolinebreak", "nolisp", "nolist", "nolnr", "noloadplugins", "nolpl", "nolrm", "nolz", "noma", "nomagic", "nomh", "noml", "nomle", "nomod", "nomodeline", "nomodelineexpr", "nomodifiable", "nomodified", "nomore", "nomousef", "nomousefocus", "nomousehide", "nomousemev", "nomousemoveevent", "nonu", "nonumber", "noodev", "noopendevice", "nopaste", "nopi", "nopreserveindent", "nopreviewwindow", "noprompt", "nopvw", "noreadonly", "norelativenumber", "noremap", "norestorescreen", "norevins", "nori", "norightleft", "norl", "nornu", "noro", "nors", "noru", "noruler", "nosb", "nosc", "noscb", "noscf", "noscrollbind", "noscrollfocus", "noscs", "nosecure", "nosft", "noshellslash", "noshelltemp", "noshiftround", "noshortname", "noshowcmd", "noshowfulltag", "noshowmatch", "noshowmode", "nosi", "nosm", "nosmartcase", "nosmartindent", "nosmarttab", "nosmd", "nosmoothscroll", "nosms", "nosn", "nosol", "nospell", "nosplitbelow", "nosplitright", "nospr", "nosr", "nossl", "nosta", "nostartofline", "nostmp", "noswapfile", "noswf", "nota", "notagbsearch", "notagrelative", "notagstack", "notbi", "notbidi", "notbs", "notermbidi", "notermguicolors", "noterse", "notextauto", "notextmode", "notf", "notgc", "notgst", "notildeop", "notimeout", "notitle", "noto", "notop", "notr", "nottimeout", "nottybuiltin", "nottyfast", "notx", "noudf", "noundofile", "novb", "novisualbell", "nowa", "nowarn", "nowb", "noweirdinvert", "nowfb", "nowfh", "nowfw", "nowic", "nowildignorecase", "nowildmenu", "nowinfixbuf", "nowinfixheight", "nowinfixwidth", "nowiv", "nowlsteal", "nowmnu", "nowrap", "nowrapscan", "nowrite", "nowriteany", "nowritebackup", "nows", "nowst", "noxtermcodes", "nrformats", "nu", "number", "numberwidth", "nuw", "odev", "ofu", "omnifunc", "opendevice", "operatorfunc", "opfunc", "osctimeoutlen", "ost", "pa", "packpath", "para", "paragraphs", "paste", "pastetoggle", "patchexpr", "patchmode", "path", "pb", "pdev", "penc", "perldll", "pex", "pexpr", "pfn", "ph", "pheader", "pi", "pm", "pmbcs", "pmbfn", "pmw", "popt", "pp", "preserveindent", "previewheight", "previewpopup", "previewwindow", "printdevice", "printencoding", "printexpr", "printfont", "printheader", "printmbcharset", "printmbfont", "printoptions", "prompt", "pt", "pumborder", "pumheight", "pummaxwidth", "pumwidth", "pvh", "pvp", "pvw", "pw", "pythondll", "pythonhome", "pythonthreedll", "pythonthreehome", "pyx", "pyxversion", "qe", "qftf", "quickfixtextfunc", "quoteescape", "rdt", "re", "readonly", "redrawtime", "regexpengine", "relativenumber", "remap", "renderoptions", "report", "restorescreen", "revins", "ri", "rightleft", "rightleftcmd", "rl", "rlc", "rnu", "ro", "rop", "rs", "rtp", "ru", "rubydll", "ruf", "ruler", "rulerformat", "runtimepath", "sb", "sbo", "sbr", "sc", "scb", "scf", "scl", "scr", "scroll", "scrollbind", "scrollfocus", "scrolljump", "scrolloff", "scrollopt", "scs", "sect", "sections", "secure", "sel", "selection", "selectmode", "sessionoptions", "sft", "sh", "shcf", "shell", "shellcmdflag", "shellpipe", "shellquote", "shellredir", "shellslash", "shelltemp", "shelltype", "shellxescape", "shellxquote", "shiftround", "shiftwidth", "shm", "shortmess", "shortname", "showbreak", "showcmd", "showcmdloc", "showfulltag", "showmatch", "showmode", "showtabline", "showtabpanel", "shq", "si", "sidescroll", "sidescrolloff", "signcolumn", "siso", "sj", "skipwhite", "slm", "sloc", "sm", "smartcase", "smartindent", "smarttab", "smc", "smd", "smoothscroll", "sms", "sn", "so", "softtabstop", "sol", "sp", "spc", "spell", "spellcapcheck", "spellfile", "spelllang", "spelloptions", "spellsuggest", "spf", "spk", "spl", "splitbelow", "splitkeep", "splitright", "spo", "spr", "sps", "sr", "srr", "ss", "ssl", "ssop", "st", "sta", "stal", "startofline", "statusline", "stl", "stmp", "stpl", "sts", "su", "sua", "suffixes", "suffixesadd", "sw", "swapfile", "swapsync", "swb", "swf", "switchbuf", "sws", "sxe", "sxq", "syn", "synmaxcol", "syntax", "t_8b", "t_8f", "t_8u", "t_AB", "t_AF", "t_AL", "t_AU", "t_BD", "t_BE", "t_CF", "t_CS", "t_CV", "t_Ce", "t_Co", "t_Cs", "t_DL", "t_Ds", "t_EC", "t_EI", "t_F1", "t_F2", "t_F3", "t_F4", "t_F5", "t_F6", "t_F7", "t_F8", "t_F9", "t_GP", "t_IE", "t_IS", "t_K1", "t_K3", "t_K4", "t_K5", "t_K6", "t_K7", "t_K8", "t_K9", "t_KA", "t_KB", "t_KC", "t_KD", "t_KE", "t_KF", "t_KG", "t_KH", "t_KI", "t_KJ", "t_KK", "t_KL", "t_RB", "t_RC", "t_RF", "t_RI", "t_RK", "t_RS", "t_RT", "t_RV", "t_Ri", "t_SC", "t_SH", "t_SI", "t_SR", "t_ST", "t_Sb", "t_Sf", "t_Si", "t_TE", "t_TI", "t_Te", "t_Ts", "t_Us", "t_VS", "t_WP", "t_WS", "t_XM", "t_ZH", "t_ZR", "t_al", "t_bc", "t_cd", "t_ce", "t_cl", "t_cm", "t_cs", "t_da", "t_db", "t_dl", "t_ds", "t_fd", "t_fe", "t_fs", "t_k1", "t_k2", "t_k3", "t_k4", "t_k5", "t_k6", "t_k7", "t_k8", "t_k9", "t_kB", "t_kD", "t_kI", "t_kN", "t_kP", "t_kb", "t_kd", "t_ke", "t_kh", "t_kl", "t_kr", "t_ks", "t_ku", "t_le", "t_mb", "t_md", "t_me", "t_mr", "t_ms", "t_nd", "t_op", "t_se", "t_so", "t_sr", "t_te", "t_ti", "t_ts", "t_u7", "t_ue", "t_us", "t_ut", "t_vb", "t_ve", "t_vi", "t_vs", "t_xn", "t_xo", "t_xs", "ta", "tabclose", "tabline", "tabpagemax", "tabpanel", "tabpanelopt", "tabstop", "tag", "tagbsearch", "tagcase", "tagfunc", "taglength", "tagrelative", "tags", "tagstack", "tal", "tb", "tbi", "tbidi", "tbis", "tbs", "tc", "tcl", "tcldll", "tenc", "term", "termbidi", "termencoding", "termguicolors", "termwinkey", "termwinscroll", "termwinsize", "termwintype", "terse", "textauto", "textmode", "textwidth", "tf", "tfu", "tgc", "tgst", "thesaurus", "thesaurusfunc", "tildeop", "timeout", "timeoutlen", "title", "titlelen", "titleold", "titlestring", "tl", "tm", "to", "toolbar", "toolbariconsize", "top", "tpl", "tplo", "tpm", "tr", "ts", "tsl", "tsr", "tsrfu", "ttimeout", "ttimeoutlen", "ttm", "tty", "ttybuiltin", "ttyfast", "ttym", "ttymouse", "ttyscroll", "ttytype", "tw", "twk", "tws", "twsl", "twt", "tx", "uc", "udf", "udir", "ul", "undodir", "undofile", "undolevels", "undoreload", "updatecount", "updatetime", "ur", "ut", "varsofttabstop", "vartabstop", "vb", "vbs", "vdir", "ve", "verbose", "verbosefile", "vfile", "vi", "viewdir", "viewoptions", "vif", "vimSetEqual", "vimSetMod", "viminfo", "viminfofile", "virtualedit", "visualbell", "vop", "vsts", "vts", "wa", "wak", "warn", "wb", "wc", "wcm", "wcr", "wd", "weirdinvert", "wfb", "wfh", "wfw", "wh", "whichwrap", "wi", "wic", "wig", "wildchar", "wildcharm", "wildignore", "wildignorecase", "wildmenu", "wildmode", "wildoptions", "wim", "winaltkeys", "wincolor", "window", "winfixbuf", "winfixheight", "winfixwidth", "winheight", "winminheight", "winminwidth", "winptydll", "winwidth", "wiv", "wiw", "wlseat", "wlsteal", "wltimeoutlen", "wm", "wmh", "wmnu", "wmw", "wop", "wrap", "wrapmargin", "wrapscan", "write", "writeany", "writebackup", "writedelay", "ws", "wse", "wst", "wtm", "ww", "xtermcodes"]
|
|
14
|
+
kw[:auto] = Set.new ["BufAdd", "BufCreate", "BufDelete", "BufEnter", "BufFilePost", "BufFilePre", "BufHidden", "BufLeave", "BufNew", "BufNewFile", "BufRead", "BufReadCmd", "BufReadPost", "BufReadPre", "BufUnload", "BufWinEnter", "BufWinLeave", "BufWipeout", "BufWrite", "BufWriteCmd", "BufWritePost", "BufWritePre", "CmdUndefined", "CmdlineChanged", "CmdlineEnter", "CmdlineLeave", "CmdlineLeavePre", "CmdwinEnter", "CmdwinLeave", "ColorScheme", "ColorSchemePre", "CompleteChanged", "CompleteDone", "CompleteDonePre", "CursorHold", "CursorHoldI", "CursorMoved", "CursorMovedC", "CursorMovedI", "DiffUpdated", "DirChanged", "DirChangedPre", "EncodingChanged", "ExitPre", "FileAppendCmd", "FileAppendPost", "FileAppendPre", "FileChangedRO", "FileChangedShell", "FileChangedShellPost", "FileEncoding", "FileReadCmd", "FileReadPost", "FileReadPre", "FileType", "FileWriteCmd", "FileWritePost", "FileWritePre", "FilterReadPost", "FilterReadPre", "FilterWritePost", "FilterWritePre", "FocusGained", "FocusLost", "FuncUndefined", "GUIEnter", "GUIFailed", "InsertChange", "InsertCharPre", "InsertEnter", "InsertLeave", "InsertLeavePre", "KeyInputPre", "MenuPopup", "ModeChanged", "OptionSet", "QuickFixCmdPost", "QuickFixCmdPre", "QuitPre", "RemoteReply", "SafeState", "SafeStateAgain", "SessionLoadPost", "SessionWritePost", "ShellCmdPost", "ShellFilterPost", "SigUSR1", "SourceCmd", "SourcePost", "SourcePre", "SpellFileMissing", "StdinReadPost", "StdinReadPre", "SwapExists", "Syntax", "TabClosed", "TabClosedPre", "TabEnter", "TabLeave", "TabNew", "TermChanged", "TermResponse", "TermResponseAll", "TerminalOpen", "TerminalWinOpen", "TextChanged", "TextChangedI", "TextChangedP", "TextChangedT", "TextYankPost", "VimEnter", "VimLeave", "VimLeavePre", "VimResized", "VimResume", "VimSuspend", "WinClosed", "WinEnter", "WinLeave", "WinNew", "WinNewPre", "WinResized", "WinScrolled", "nextgroup", "skipwhite", "vimAutoEventSep", "vimAutocmdPattern"]
|
|
15
|
+
kw[:function] = Set.new ["abs", "acos", "add", "and", "append", "appendbufline", "argc", "argidx", "arglistid", "argv", "asin", "assert_beeps", "assert_equal", "assert_equalfile", "assert_exception", "assert_fails", "assert_false", "assert_inrange", "assert_match", "assert_nobeep", "assert_notequal", "assert_notmatch", "assert_report", "assert_true", "atan", "atan2", "autocmd_add", "autocmd_delete", "autocmd_get", "balloon_gettext", "balloon_show", "balloon_split", "base64_decode", "base64_encode", "bindtextdomain", "blob2list", "blob2str", "browse", "browsedir", "bufadd", "bufexists", "buflisted", "bufload", "bufloaded", "bufname", "bufnr", "bufwinid", "bufwinnr", "byte2line", "byteidx", "byteidxcomp", "call", "ceil", "ch_canread", "ch_close", "ch_close_in", "ch_evalexpr", "ch_evalraw", "ch_getbufnr", "ch_getjob", "ch_info", "ch_log", "ch_logfile", "ch_open", "ch_read", "ch_readblob", "ch_readraw", "ch_sendexpr", "ch_sendraw", "ch_setoptions", "ch_status", "changenr", "char2nr", "charclass", "charcol", "charidx", "chdir", "cindent", "clearmatches", "cmdcomplete_info", "col", "complete", "complete_add", "complete_check", "complete_info", "confirm", "copy", "cos", "cosh", "count", "cscope_connection", "cursor", "debugbreak", "deepcopy", "delete", "deletebufline", "did_filetype", "diff", "diff_filler", "diff_hlID", "digraph_get", "digraph_getlist", "digraph_set", "digraph_setlist", "echoraw", "empty", "environ", "err_teapot", "escape", "eval", "eventhandler", "executable", "execute", "exepath", "exists", "exists_compiled", "exp", "expand", "expandcmd", "extend", "extendnew", "feedkeys", "filecopy", "filereadable", "filewritable", "filter", "finddir", "findfile", "flatten", "flattennew", "float2nr", "floor", "fmod", "fnameescape", "fnamemodify", "foldclosed", "foldclosedend", "foldlevel", "foldtext", "foldtextresult", "foreach", "foreground", "fullcommand", "funcref", "function", "garbagecollect", "get", "getbufinfo", "getbufline", "getbufoneline", "getbufvar", "getcellpixels", "getcellwidths", "getchangelist", "getchar", "getcharmod", "getcharpos", "getcharsearch", "getcharstr", "getcmdcomplpat", "getcmdcompltype", "getcmdline", "getcmdpos", "getcmdprompt", "getcmdscreenpos", "getcmdtype", "getcmdwintype", "getcompletion", "getcompletiontype", "getcurpos", "getcursorcharpos", "getcwd", "getenv", "getfontname", "getfperm", "getfsize", "getftime", "getftype", "getimstatus", "getjumplist", "getline", "getloclist", "getmarklist", "getmatches", "getmousepos", "getmouseshape", "getpid", "getpos", "getqflist", "getreg", "getreginfo", "getregion", "getregionpos", "getregtype", "getscriptinfo", "getstacktrace", "gettabinfo", "gettabvar", "gettabwinvar", "gettagstack", "gettext", "getwininfo", "getwinpos", "getwinposx", "getwinposy", "getwinvar", "glob", "glob2regpat", "globpath", "has", "has_key", "haslocaldir", "hasmapto", "histadd", "histdel", "histget", "histnr", "hlID", "hlexists", "hlget", "hlset", "hostname", "iconv", "id", "indent", "index", "indexof", "input", "inputdialog", "inputlist", "inputrestore", "inputsave", "inputsecret", "insert", "instanceof", "interrupt", "invert", "isabsolutepath", "isdirectory", "isinf", "islocked", "isnan", "items", "job_getchannel", "job_info", "job_setoptions", "job_start", "job_status", "job_stop", "join", "js_decode", "js_encode", "json_decode", "json_encode", "keys", "keytrans", "len", "libcall", "libcallnr", "line", "line2byte", "lispindent", "list2blob", "list2str", "list2tuple", "listener_add", "listener_flush", "listener_remove", "localtime", "log", "log10", "luaeval", "map", "maparg", "mapcheck", "maplist", "mapnew", "mapset", "match", "matchadd", "matchaddpos", "matcharg", "matchbufline", "matchdelete", "matchend", "matchfuzzy", "matchfuzzypos", "matchlist", "matchstr", "matchstrlist", "matchstrpos", "max", "menu_info", "min", "mkdir", "mode", "mzeval", "nextnonblank", "ngettext", "nr2char", "or", "pathshorten", "perleval", "popup_atcursor", "popup_beval", "popup_clear", "popup_close", "popup_create", "popup_dialog", "popup_filter_menu", "popup_filter_yesno", "popup_findecho", "popup_findinfo", "popup_findpreview", "popup_getoptions", "popup_getpos", "popup_hide", "popup_list", "popup_locate", "popup_menu", "popup_move", "popup_notification", "popup_setbuf", "popup_setoptions", "popup_settext", "popup_show", "pow", "preinserted", "prevnonblank", "printf", "prompt_getprompt", "prompt_setcallback", "prompt_setinterrupt", "prompt_setprompt", "prop_add", "prop_add_list", "prop_clear", "prop_find", "prop_list", "prop_remove", "prop_type_add", "prop_type_change", "prop_type_delete", "prop_type_get", "prop_type_list", "pum_getpos", "pumvisible", "py3eval", "pyeval", "pyxeval", "rand", "range", "readblob", "readdir", "readdirex", "readfile", "redraw_listener_add", "redraw_listener_remove", "reduce", "reg_executing", "reg_recording", "reltime", "reltimefloat", "reltimestr", "remote_expr", "remote_foreground", "remote_peek", "remote_read", "remote_send", "remote_startserver", "remove", "rename", "repeat", "resolve", "reverse", "round", "rubyeval", "screenattr", "screenchar", "screenchars", "screencol", "screenpos", "screenrow", "screenstring", "search", "searchcount", "searchdecl", "searchpair", "searchpairpos", "searchpos", "server2client", "serverlist", "setbufline", "setbufvar", "setcellwidths", "setcharpos", "setcharsearch", "setcmdline", "setcmdpos", "setcursorcharpos", "setenv", "setfperm", "setline", "setloclist", "setmatches", "setpos", "setqflist", "setreg", "settabvar", "settabwinvar", "settagstack", "setwinvar", "sha256", "shellescape", "shiftwidth", "sign_define", "sign_getdefined", "sign_getplaced", "sign_jump", "sign_place", "sign_placelist", "sign_undefine", "sign_unplace", "sign_unplacelist", "simplify", "sin", "sinh", "slice", "sort", "sound_clear", "sound_playevent", "sound_playfile", "sound_stop", "soundfold", "spellbadword", "spellsuggest", "split", "sqrt", "srand", "state", "str2blob", "str2float", "str2list", "str2nr", "strcharlen", "strcharpart", "strchars", "strdisplaywidth", "strftime", "strgetchar", "stridx", "string", "strlen", "strpart", "strptime", "strridx", "strtrans", "strutf16len", "strwidth", "submatch", "substitute", "swapfilelist", "swapinfo", "swapname", "synID", "synIDattr", "synIDtrans", "synconcealed", "synstack", "system", "systemlist", "tabpagebuflist", "tabpagenr", "tabpagewinnr", "tagfiles", "taglist", "tan", "tanh", "tempname", "term_dumpdiff", "term_dumpload", "term_dumpwrite", "term_getaltscreen", "term_getansicolors", "term_getattr", "term_getcursor", "term_getjob", "term_getline", "term_getscrolled", "term_getsize", "term_getstatus", "term_gettitle", "term_gettty", "term_list", "term_scrape", "term_sendkeys", "term_setansicolors", "term_setapi", "term_setkill", "term_setrestore", "term_setsize", "term_start", "term_wait", "terminalprops", "test_alloc_fail", "test_autochdir", "test_feedinput", "test_garbagecollect_now", "test_garbagecollect_soon", "test_getvalue", "test_gui_event", "test_ignore_error", "test_mswin_event", "test_null_blob", "test_null_channel", "test_null_dict", "test_null_function", "test_null_job", "test_null_list", "test_null_partial", "test_null_string", "test_null_tuple", "test_option_not_set", "test_override", "test_refcount", "test_setmouse", "test_settime", "test_srand_seed", "test_unknown", "test_void", "timer_info", "timer_pause", "timer_start", "timer_stop", "timer_stopall", "tolower", "toupper", "tr", "trim", "trunc", "tuple2list", "type", "typename", "undofile", "undotree", "uniq", "uri_decode", "uri_encode", "utf16idx", "values", "virtcol", "virtcol2col", "visualmode", "wildmenumode", "wildtrigger", "win_execute", "win_findbuf", "win_getid", "win_gettype", "win_gotoid", "win_id2tabwin", "win_id2win", "win_move_separator", "win_move_statusline", "win_screenpos", "win_splitmove", "winbufnr", "wincol", "windowsversion", "winheight", "winlayout", "winline", "winnr", "winrestcmd", "winrestview", "winsaveview", "winwidth", "wordcount", "writefile", "xor"]
|
|
18
16
|
end
|
|
19
17
|
end
|
|
20
18
|
end
|
data/lib/rouge/lexers/viml.rb
CHANGED
|
@@ -13,9 +13,8 @@ module Rouge
|
|
|
13
13
|
|
|
14
14
|
mimetypes 'text/x-vim'
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
self.keywords
|
|
16
|
+
lazy do
|
|
17
|
+
require_relative 'viml/keywords'
|
|
19
18
|
end
|
|
20
19
|
|
|
21
20
|
state :root do
|
|
@@ -47,15 +46,14 @@ module Rouge
|
|
|
47
46
|
rule %r/[absg]:\w+\b/, Name::Variable
|
|
48
47
|
rule %r/\b\w+\b/ do |m|
|
|
49
48
|
name = m[0]
|
|
50
|
-
keywords = self.class.keywords
|
|
51
49
|
|
|
52
|
-
if
|
|
50
|
+
if KEYWORDS[:command].include? name
|
|
53
51
|
token Keyword
|
|
54
|
-
elsif
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
elsif (
|
|
53
|
+
KEYWORDS[:function].include?(name) ||
|
|
54
|
+
KEYWORDS[:option].include?(name) ||
|
|
55
|
+
KEYWORDS[:auto].include?(name)
|
|
56
|
+
)
|
|
59
57
|
token Name::Builtin
|
|
60
58
|
else
|
|
61
59
|
token Text
|