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
|
@@ -27,7 +27,7 @@ module Rouge
|
|
|
27
27
|
"test setup", "test teardown", "test template", "variables"
|
|
28
28
|
]
|
|
29
29
|
end
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
def self.settings_with_args
|
|
32
32
|
@settings_with_args ||= Set.new [
|
|
33
33
|
"arguments", "default tags", "documentation", "force tags",
|
|
@@ -93,7 +93,7 @@ module Rouge
|
|
|
93
93
|
@col = @col + 1
|
|
94
94
|
push :args
|
|
95
95
|
end
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
rule %r/ ?\|/, Text::Whitespace
|
|
98
98
|
end
|
|
99
99
|
|
|
@@ -129,17 +129,17 @@ module Rouge
|
|
|
129
129
|
rule %r/([A-Z]+(?: [A-Z]+)?)(:?)/i do |m|
|
|
130
130
|
match = m[1].downcase
|
|
131
131
|
@next = if self.class.settings_with_keywords.include? match
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
:keyword
|
|
133
|
+
elsif self.class.settings_with_args.include? match
|
|
134
|
+
:args
|
|
135
|
+
end
|
|
136
136
|
groups Name::Builtin::Pseudo, Punctuation
|
|
137
137
|
end
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
state :section_tests do
|
|
141
141
|
mixin :section_include
|
|
142
|
-
|
|
142
|
+
|
|
143
143
|
rule %r/[$@&%{}]+/, Name::Label
|
|
144
144
|
rule %r/( )(?![ |])/, Name::Label
|
|
145
145
|
|
|
@@ -155,15 +155,15 @@ module Rouge
|
|
|
155
155
|
|
|
156
156
|
state :section_keywords do
|
|
157
157
|
mixin :section_include
|
|
158
|
-
|
|
158
|
+
|
|
159
159
|
rule %r/[$@&%]\{/ do
|
|
160
160
|
token Name::Variable
|
|
161
161
|
push :var
|
|
162
162
|
end
|
|
163
|
-
|
|
163
|
+
|
|
164
164
|
rule %r/[$@&%{}]+/, Name::Label
|
|
165
165
|
rule %r/( )(?![ |])/, Name::Label
|
|
166
|
-
|
|
166
|
+
|
|
167
167
|
rule id, Name::Label
|
|
168
168
|
end
|
|
169
169
|
|
|
@@ -185,7 +185,7 @@ module Rouge
|
|
|
185
185
|
state :keyword do
|
|
186
186
|
rule %r/(\[)([A-Z]+(?: [A-Z]+)?)(\])/i do |m|
|
|
187
187
|
groups Punctuation, Name::Builtin::Pseudo, Punctuation
|
|
188
|
-
|
|
188
|
+
|
|
189
189
|
match = m[2].downcase
|
|
190
190
|
@is_template = true if match == "template"
|
|
191
191
|
if self.class.settings_with_keywords.include? match
|
|
@@ -229,7 +229,7 @@ module Rouge
|
|
|
229
229
|
rule %r/[$@&%]+/, Str
|
|
230
230
|
rule %r/( )(?![ |])/, Str
|
|
231
231
|
rule id, Str
|
|
232
|
-
|
|
232
|
+
|
|
233
233
|
mixin :return
|
|
234
234
|
end
|
|
235
235
|
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
|
|
4
4
|
module Rouge
|
|
5
5
|
module Lexers
|
|
6
|
-
class
|
|
7
|
-
title "
|
|
8
|
-
desc '
|
|
9
|
-
tag '
|
|
10
|
-
|
|
6
|
+
class Rocq < RegexLexer
|
|
7
|
+
title "Rocq"
|
|
8
|
+
desc 'The Rocq Prover (rocq-prover.org)'
|
|
9
|
+
tag 'rocq'
|
|
10
|
+
|
|
11
|
+
# Coq was renamed to Rocq
|
|
12
|
+
# https://github.com/rocq-prover/rfcs/blob/coq-roadmap/text/069-coq-roadmap.md#change-of-name-coq---the-rocq-prover
|
|
13
|
+
aliases 'coq'
|
|
14
|
+
mimetypes 'text/x-coq', 'text/x-rocq'
|
|
11
15
|
|
|
12
16
|
def self.gallina
|
|
13
17
|
@gallina ||= Set.new %w(
|
|
@@ -38,7 +42,7 @@ module Rouge
|
|
|
38
42
|
edestruct constructor econstructor eexists exists
|
|
39
43
|
f_equal refine instantiate revert simpl
|
|
40
44
|
specialize generalize dependent red induction
|
|
41
|
-
beta iota zeta delta exfalso autorewrite
|
|
45
|
+
beta iota zeta delta exfalso autorewrite
|
|
42
46
|
compute vm_compute native_compute
|
|
43
47
|
)
|
|
44
48
|
end
|
|
@@ -176,6 +180,8 @@ module Rouge
|
|
|
176
180
|
rule %r(:=|=>|;|:>|:|::|_), Punctuation
|
|
177
181
|
rule %r(->|/\\|\\/|;|:>|[⇒→↔⇔≔≡∀∃∧∨¬⊤⊥⊢⊨∈λ]), Operator
|
|
178
182
|
|
|
183
|
+
# [jneen] TODO: it is not ideal that we don't actually yield all of the
|
|
184
|
+
# consumed text here.
|
|
179
185
|
rule id do |m|
|
|
180
186
|
@name = m[0]
|
|
181
187
|
@id_dotted = false
|
|
@@ -251,5 +257,8 @@ module Rouge
|
|
|
251
257
|
end
|
|
252
258
|
end
|
|
253
259
|
end
|
|
260
|
+
|
|
261
|
+
# legacy
|
|
262
|
+
Coq = Rocq
|
|
254
263
|
end
|
|
255
264
|
end
|
data/lib/rouge/lexers/ruby.rb
CHANGED
|
@@ -106,7 +106,7 @@ module Rouge
|
|
|
106
106
|
end
|
|
107
107
|
|
|
108
108
|
keywords = %w(
|
|
109
|
-
BEGIN END alias begin break case defined
|
|
109
|
+
BEGIN END alias begin break case defined? do else elsif end
|
|
110
110
|
ensure for if in next redo rescue raise retry return super then
|
|
111
111
|
undef unless until when while yield
|
|
112
112
|
)
|
|
@@ -186,8 +186,18 @@ module Rouge
|
|
|
186
186
|
|
|
187
187
|
mixin :strings
|
|
188
188
|
|
|
189
|
-
rule %r
|
|
190
|
-
|
|
189
|
+
rule %r/\w+[?]?/ do |m|
|
|
190
|
+
if keywords.include?(m[0])
|
|
191
|
+
token Keyword
|
|
192
|
+
elsif keywords_pseudo.include?(m[0])
|
|
193
|
+
token Keyword::Pseudo
|
|
194
|
+
else
|
|
195
|
+
fallthrough!
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
push :expr_start
|
|
199
|
+
end
|
|
200
|
+
|
|
191
201
|
rule %r/(not|and|or)\b/, Operator::Word, :expr_start
|
|
192
202
|
|
|
193
203
|
rule %r(
|
|
@@ -208,10 +218,26 @@ module Rouge
|
|
|
208
218
|
push :classname
|
|
209
219
|
end
|
|
210
220
|
|
|
211
|
-
rule %r/(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
221
|
+
rule %r/(\w+)([?!])?/ do |m|
|
|
222
|
+
if m[2] == "?" && builtins_q.include?(m[1])
|
|
223
|
+
token Name::Builtin
|
|
224
|
+
elsif m[2] == "!" && builtins_b.include?(m[1])
|
|
225
|
+
token Name::Builtin
|
|
226
|
+
else
|
|
227
|
+
fallthrough!
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
push :expr_start
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
rule %r/(?<![.])\w+/ do |m|
|
|
234
|
+
if builtins_g.include?(m[0])
|
|
235
|
+
token Name::Builtin
|
|
236
|
+
push :method_call
|
|
237
|
+
else
|
|
238
|
+
fallthrough!
|
|
239
|
+
end
|
|
240
|
+
end
|
|
215
241
|
|
|
216
242
|
mixin :has_heredocs
|
|
217
243
|
|
data/lib/rouge/lexers/rust.rb
CHANGED
data/lib/rouge/lexers/sas.rb
CHANGED
|
@@ -13,13 +13,13 @@ module Rouge
|
|
|
13
13
|
# from Data step statements - SAS 9.4 Statements reference
|
|
14
14
|
# http://support.sas.com/documentation/cdl/en/lestmtsref/68024/PDF/default/lestmtsref.pdf
|
|
15
15
|
@data_step_statements ||= Set.new %w(
|
|
16
|
-
ABORT ARRAY ATTRIB BY CALL CARDS CARDS4 CATNAME CHECKPOINT
|
|
16
|
+
ABORT ARRAY ATTRIB BY CALL CARDS CARDS4 CATNAME CHECKPOINT
|
|
17
17
|
EXECUTE_ALWAYS CONTINUE DATA DATALINES DATALINES4 DELETE DESCRIBE
|
|
18
18
|
DISPLAY DM DO UNTIL WHILE DROP END ENDSAS ERROR EXECUTE FILE FILENAME
|
|
19
19
|
FOOTNOTE FORMAT GO TO IF THEN ELSE INFILE INFORMAT INPUT
|
|
20
20
|
KEEP LABEL LEAVE LENGTH LIBNAME LINK LIST LOCK LOSTCARD MERGE
|
|
21
21
|
MISSING MODIFY OPTIONS OUTPUT PAGE PUT PUTLOG REDIRECT REMOVE RENAME
|
|
22
|
-
REPLACE RESETLINE RETAIN RETURN RUN SASFILE SELECT SET SKIP STOP
|
|
22
|
+
REPLACE RESETLINE RETAIN RETURN RUN SASFILE SELECT SET SKIP STOP
|
|
23
23
|
SYSECHO TITLE UPDATE WHERE WINDOW X
|
|
24
24
|
)
|
|
25
25
|
# label:
|
|
@@ -137,193 +137,192 @@ module Rouge
|
|
|
137
137
|
)
|
|
138
138
|
end
|
|
139
139
|
|
|
140
|
-
def self.proc_keywords
|
|
140
|
+
def self.proc_keywords
|
|
141
141
|
# Create a hash with keywords for common PROCs, keyed by PROC name
|
|
142
142
|
@proc_keywords ||= {}
|
|
143
143
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
@proc_keywords["SQL"] ||= Set.new %w(
|
|
145
|
+
ALTER TABLE CONNECT CREATE INDEX VIEW DELETE DESCRIBE DISCONNECT DROP EXECUTE
|
|
146
|
+
INSERT RESET SELECT UPDATE VALIDATE ADD CONSTRAINT FOREIGN KEY PRIMARY
|
|
147
|
+
MODIFY LIKE AS ORDER BY USING FROM INTO SET VALUES DISTINCT UNIQUE
|
|
148
|
+
WHERE GROUP HAVING LEFT RIGHT INNER JOIN ON
|
|
149
|
+
)
|
|
150
150
|
# from SAS 9.4 SQL Procedure User's Guide
|
|
151
151
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
152
|
+
@proc_keywords["MEANS"] ||= Set.new %w(
|
|
153
|
+
BY CLASS FREQ ID OUTPUT OUT TYPES VAR WAYS WEIGHT
|
|
154
|
+
ATTRIB FORMAT LABEL WHERE
|
|
155
|
+
DESCENDING NOTSORTED
|
|
156
|
+
NOTHREADS NOTRAP PCTLDEF SUMSIZE THREADS CLASSDATA COMPLETETYPES
|
|
157
|
+
EXCLUSIVE MISSING FW MAXDEC NONOBS NOPRINT ORDER FORMATTED
|
|
158
|
+
UNFORMATTED PRINT PRINTALLTYPES PRINTIDVARS STACKODSOUTPUT
|
|
159
|
+
CHARTYPE DESCENDTYPES IDMIN
|
|
160
|
+
ALPHA EXCLNPWGT QMARKERS QMETHOD QNTLDEF VARDEF
|
|
161
|
+
CLM CSS CV KURTOSIS KURT LCLM MAX MEAN MIN MODE N
|
|
162
|
+
NMISS RANGE SKEWNESS SKEW STDDEV STD STDERR SUM SUMWGT UCLM USS
|
|
163
|
+
MEDIAN P50 Q1 P25 Q3 P75 P1 P90 P5 P95 P10 P99 P20 P30 P40 P60 P70
|
|
164
|
+
P80 QRANGE
|
|
165
|
+
PROBT PRT T
|
|
166
|
+
ASCENDING GROUPINTERNAL MLF PRELOADFMT
|
|
167
|
+
MAXID AUTOLABEL AUTONAME KEEPLEN LEVELS NOINHERIT
|
|
168
|
+
)
|
|
169
169
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
@proc_keywords["DATASETS"] ||= Set.new %w(
|
|
172
|
+
AGE APPEND ATTRIB AUDIT CHANGE CONTENTS COPY DELETE EXCHANGE
|
|
173
|
+
EXCLUDE FORMAT IC CREATE REACTIVATE INDEX CENTILES INFORMAT
|
|
174
|
+
INITIATE LABEL LOG MODIFY REBUILD RENAME REPAIR RESUME SAVE SELECT
|
|
175
|
+
SUSPEND TERMINATE USER_VAR XATTR ADD OPTIONS REMOVE SET
|
|
176
|
+
)
|
|
177
177
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
178
178
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
179
|
+
@proc_keywords["SORT"] ||= Set.new %w(
|
|
180
|
+
BY DESCENDING KEY ASCENDING ASC DESC DATECOPY FORCE OVERWRITE
|
|
181
|
+
PRESORTED SORTSIZE TAGSORT DUPOUT OUT UNIQUEOUT NODUPKEY NOUNIQUEKEY
|
|
182
|
+
NOTHREADS THREADS EQUALS NOEQUALS
|
|
183
|
+
ATTRIB FORMAT LABEL WHERE
|
|
184
|
+
)
|
|
185
185
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
186
186
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
187
|
+
@proc_keywords["PRINT"] ||= Set.new %w(
|
|
188
|
+
BY DESCENDING NOTSORTED PAGEBY SUMBY ID STYLE SUM VAR CONTENTS DATA
|
|
189
|
+
GRANDTOTAL_LABEL HEADING LABEL SPLIT SUMLABEL NOSUMLABEL
|
|
190
|
+
BLANKLINE COUNT DOUBLE N NOOBS OBS ROUND
|
|
191
|
+
ROWS UNIFORM WIDTH
|
|
192
|
+
ATTRIB FORMAT WHERE
|
|
193
|
+
)
|
|
194
194
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
195
195
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
@proc_keywords["APPEND"] ||= Set.new %w(
|
|
197
|
+
BASE APPENDVER DATA ENCRYPTKEY FORCE GETSORT NOWARN
|
|
198
|
+
ATTRIB FORMAT LABEL WHERE
|
|
199
|
+
)
|
|
200
200
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
201
201
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
202
|
+
@proc_keywords["TRANSPOSE"] ||= Set.new %w(
|
|
203
|
+
DELIMITER LABEL LET NAME OUT PREFIX SUFFIX BY DESCENDING NOTSORTED
|
|
204
|
+
COPY ID IDLABEL VAR INDB
|
|
205
|
+
ATTRIB FORMAT WHERE
|
|
206
|
+
)
|
|
207
207
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
208
208
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
)
|
|
209
|
+
@proc_keywords["FREQ"] ||= Set.new %w(
|
|
210
|
+
BY EXACT OUTPUT TABLES TEST WEIGHT
|
|
211
|
+
COMPRESS DATA FORMCHAR NLEVELS NOPRINT ORDER PAGE FORMATTED FREQ
|
|
212
|
+
INTERNAL
|
|
213
|
+
AGREE BARNARD BINOMIAL BIN CHISQ COMOR EQOR ZELEN FISHER JT KAPPA
|
|
214
|
+
KENTB TAUB LRCHI MCNEM MEASURES MHCHI OR ODDSRATIO PCHI PCORR RELRISK
|
|
215
|
+
RISKDIFF SCORR SMDCR SMDRC STUTC TAUC TREND WTKAP WTKAPPA
|
|
216
|
+
OUT AJCHI ALL BDCHI CMH CMH1 CMH2 CMHCOR CMHGA CMHRMS COCHQ CONTGY
|
|
217
|
+
CRAMV EQKAP EQWKP GAMMA GS GAILSIMON LAMCR LAMDAS LAMRC LGOR LGRRC1
|
|
218
|
+
LGRRC2 MHOR MHRRC1 MHRRC2 N NMISS PHI PLCORR RDIF1 RDIF2 RISKDIFF1
|
|
219
|
+
RISKDIFF2 RRC1 RELRISK1 RRC2 RELRISK2 RSK1 RISK1 RSK11 RISK11 RSK12
|
|
220
|
+
RISK12 RSK21 RISK21 RSK22 RISK22 TSYMM BOWKER U UCR URC
|
|
221
|
+
CELLCHI2 CUMCOL DEVIATION EXPECTED MISSPRINT PEARSONREF PRINTWKTS
|
|
222
|
+
SCOROUT SPARSE STDRES TOTPCT
|
|
223
|
+
CONTENTS CROSSLIST FORMAT LIST MAXLEVELS NOCOL NOCUM NOFREQ NOPERCENT NOROW NOSPARSE NOWARN PLOTS OUTCUM OUTEXPECT OUTPCT
|
|
224
|
+
ZEROS
|
|
225
|
+
)
|
|
227
226
|
# from Base SAS 9.4 Procedures Guide: Statistical Procedures, Fourth Edition
|
|
228
227
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
228
|
+
@proc_keywords["CORR"] ||= Set.new %w(
|
|
229
|
+
BY FREQ ID PARTIAL VAR WEIGHT WITH
|
|
230
|
+
DATA OUTH OUTK OUTP OUTPLC OUTPLS OUTS
|
|
231
|
+
EXCLNPWGHT FISHER HOEFFDING KENDALL NOMISS PEARSON POLYCHORIC
|
|
232
|
+
POLYSERIAL ALPHA COV CSSCP SINGULAR SSCP VARDEF PLOTS MATRIX SCATTER
|
|
233
|
+
BEST NOCORR NOPRINT NOPROB NOSIMPLE RANK
|
|
234
|
+
)
|
|
236
235
|
# from Base SAS 9.4 Procedures Guide: Statistical Procedures, Fourth Edition
|
|
237
236
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
)
|
|
237
|
+
@proc_keywords["REPORT"] ||= Set.new %w(
|
|
238
|
+
BREAK BY DESCENDING NOTSORTED COLUMN COMPUTE STYLE LINE ENDCOMP
|
|
239
|
+
CALL DEFINE _ROW_ FREQ RBREAK WEIGHT
|
|
240
|
+
ATTRIB FORMAT LABEL WHERE
|
|
241
|
+
DATA NOALIAS NOCENTER NOCOMPLETECOLS NOCOMPLETEROWS NOTHREADS
|
|
242
|
+
NOWINDOWS OUT PCTLDEF THREADS WINDOWS COMPLETECOLS
|
|
243
|
+
COMPLETEROWS CONTENTS SPANROWS COMMAND HELP PROMPT
|
|
244
|
+
BOX BYPAGENO CENTER COLWIDTH FORMCHAR LS MISSING PANELS PS
|
|
245
|
+
PSPACE SHOWALL SPACING WRAP EXCLNPWGT QMARKERS QMETHOD QNTLDEF VARDEF
|
|
246
|
+
NAMED NOHEADER SPLIT HEADLINE HEADSKIP LIST NOEXEC OUTREPT PROFILE
|
|
247
|
+
REPORT
|
|
248
|
+
COLOR DOL DUL OL PAGE SKIP SUMMARIZE SUPPRESS UL
|
|
249
|
+
BLINK HIGHLIGHT RVSVIDEO MERGE REPLACE URL URLBP URLP
|
|
250
|
+
AFTER BEFORE _PAGE_ LEFT RIGHT CHARACTER LENGTH
|
|
251
|
+
EXCLUSIVE MLF ORDER FORMATTED INTERNAL PRELOADFMT
|
|
252
|
+
WIDTH
|
|
253
|
+
ACROSS ANALYSIS COMPUTED DISPLAY GROUP FLOW ID NOPRINT NOZERO
|
|
254
|
+
CSS CV MAX MEAN MIN MODE N NMISS PCTN PCTSUM RANGE STD STDERR SUM
|
|
255
|
+
SUMWGT USS VAR
|
|
256
|
+
MEDIAN P50 Q1 P25 Q3 P75 P1 P90 P5 P95 P10 P99 P20 P30 P40 P60 P70
|
|
257
|
+
P80 QRANGE
|
|
258
|
+
PROBT PRT T
|
|
259
|
+
)
|
|
262
260
|
# from BASE SAS 9.4 Procedures Guide, Fifth Edition
|
|
263
261
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
262
|
+
@proc_keywords["METALIB"] ||= Set.new %w(
|
|
263
|
+
OMR DBAUTH DBUSER DBPASSWORD EXCLUDE SELECT READ FOLDER FOLDERID
|
|
264
|
+
IMPACT_LIMIT NOEXEC PREFIX REPORT UPDATE_RULE DELETE NOADD NODELDUP
|
|
265
|
+
NOUPDATE
|
|
266
|
+
LIBID LIBRARY LIBURI
|
|
267
|
+
TYPE DETAIL SUMMARY
|
|
268
|
+
)
|
|
271
269
|
# from SAS 9.4 Language Interfaces to Metadata, Third Edition
|
|
272
270
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
271
|
+
@proc_keywords["GCHART"] ||= Set.new %w(
|
|
272
|
+
DATA ANNOTATE GOUT IMAGEMAP BLOCK HBAR HBAR3D VBAR VBAR3D PIE PIE3D
|
|
273
|
+
DONUT STAR ANNO
|
|
274
|
+
BY NOTE FORMAT LABEL WHERE
|
|
275
|
+
BLOCKMAX CAXIS COUTLINE CTEXT LEGEND NOHEADING NOLEGEND PATTERNID
|
|
276
|
+
GROUP MIDPOINT SUBGROUP WOUTLINE DESCRIPTION NAME DISCRETE LEVELS
|
|
277
|
+
OLD MISSING HTML_LEGEND HTML URL FREQ G100 SUMVAR TYPE
|
|
278
|
+
CAUTOREF CERROR CFRAME CLM CREF FRAME NOFRAME GSPACE IFRAME
|
|
279
|
+
IMAGESTYLE TILE FIT LAUTOREF NOSYMBOL SHAPE SPACE
|
|
280
|
+
SUBOUTSIDE WAUTOREF WIDTH WREF
|
|
281
|
+
ASCENDING AUTOREF CLIPREF DESCENDING FRONTREF GAXIS MAXIS MINOR
|
|
282
|
+
NOAXIS NOBASEREF NOZERO RANGE AXIS REF CFREQ CFREQLABEL NONE CPERCENT
|
|
283
|
+
CPERCENTLABEL ERRORBAR BARS BOTH TOP FREQLABEL INSIDE MEAN MEANLABEL
|
|
284
|
+
NOSTATS OUTSIDE PERCENT PERCENTLABEL PERCENTSUM SUM
|
|
285
|
+
CFILL DETAIL_RADIUS EXPLODE FILL SOLID X INVISIBLE
|
|
286
|
+
RADIUS DETAIL_THRESHOLD DETAIL_PERCENT DETAIL_SLICE
|
|
287
|
+
DETAIL_VALUE DONUTPCT ACROSS DOWN NOGROUPHEADING
|
|
288
|
+
MATCHCOLOR OTHERCOLOR OTHERLABEL ARROW PLABEL PPERCENT SLICE
|
|
289
|
+
VALUE
|
|
290
|
+
ANGLE CLOCKWISE JSTYLE
|
|
291
|
+
NOCONNECT STARMAX STARMIN
|
|
292
|
+
)
|
|
295
293
|
# from SAS GRAPH 9.4 Reference, Fourth Edition
|
|
296
294
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
295
|
+
@proc_keywords["GPLOT"] ||= Set.new %w(
|
|
296
|
+
DATA ANNOTATE GOUT IMAGEMAP UNIFORM BUBBLE BUBBLE2 PLOT PLOT2
|
|
297
|
+
BCOLOR BFILL BFONT BLABEL BSCALE AREA RADIUS BSIZE DESCRIPTION NAME
|
|
298
|
+
AUTOHREF CAUTOHREF CHREF HAXIS HMINOR HREF HREVERSE HZERO LAUTOHREF
|
|
299
|
+
LHREF WAUTOHREF WHREF HTML URL
|
|
300
|
+
CAXIS CFRAME CTEXT DATAORDER FRAME NOFRAME FRONTREF GRID IFRAME
|
|
301
|
+
IMAGESTYLE TILE FIT NOAXIS
|
|
302
|
+
AUTOVREF CAUTOVREF CVREF LAUTOVREF LVREF VAXIS VMINOR VREF VREVERSE
|
|
303
|
+
VZERO WAUTOVREF WVREF
|
|
304
|
+
CBASELINE COUTLINE
|
|
305
|
+
AREAS LEGEND NOLASTAREA NOLEGEND OVERLAY REGEQN SKIPMISS
|
|
306
|
+
)
|
|
309
307
|
# from SAS GRAPH 9.4 Reference, Fourth Edition
|
|
310
308
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
309
|
+
@proc_keywords["REG"] ||= Set.new %w(
|
|
310
|
+
MODEL BY FREQ ID VAR WEIGHT ADD CODE DELETE MTEST OUTPUT PAINT
|
|
311
|
+
PLOT PRINT REFIT RESTRICT REWEIGHT STORE TEST
|
|
312
|
+
)
|
|
313
|
+
# from SAS/STAT 15.1 User's Guide
|
|
314
|
+
|
|
315
|
+
@proc_keywords["SGPLOT"] ||= Set.new %w(
|
|
316
|
+
STYLEATTRS BAND X Y UPPER LOWER BLOCK BUBBLE DENSITY DOT DROPLINE
|
|
317
|
+
ELLIPSE ELLIPSEPARM FRINGE GRADLEGEND HBAR HBARBASIC HBARPARM
|
|
318
|
+
HBOX HEATMAP HEATMAPPARM HIGHLOW HISTOGRAM HLINE INSET KEYLEGEND
|
|
319
|
+
LINEPARM LOESS NEEDLE PBSPLINE POLYGON REFLINE REG SCATTER SERIES
|
|
320
|
+
SPLINE STEP SYMBOLCHAR SYMBOLIMAGE TEXT VBAR VBARBASIC VBARPARM
|
|
321
|
+
VBOX VECTOR VLINE WATERFALL XAXIS X2AXIS XAXISTABLE YAXIS Y2AXIS
|
|
322
|
+
YAXISTABLE
|
|
323
|
+
)
|
|
324
|
+
|
|
325
|
+
# from ODS Graphics: Procedures Guide, Sixth Edition
|
|
327
326
|
return @proc_keywords
|
|
328
327
|
end
|
|
329
328
|
|
|
@@ -334,7 +333,7 @@ module Rouge
|
|
|
334
333
|
@sas_proc_names ||= Set.new %w(
|
|
335
334
|
ACCESS ACECLUS ADAPTIVEREG ALLELE ANOM ANOVA APPEND APPSRV ARIMA
|
|
336
335
|
AUTHLIB AUTOREG BCHOICE BOM BOXPLOT BTL BUILD CALENDAR CALIS CALLRFC
|
|
337
|
-
CANCORR CANDISC CAPABILITY CASECONTROL CATALOG CATMOD CDISC
|
|
336
|
+
CANCORR CANDISC CAPABILITY CASECONTROL CATALOG CATMOD CDISC
|
|
338
337
|
CHART CIMPORT CLP CLUSTER COMPARE COMPILE COMPUTAB CONTENTS CONVERT
|
|
339
338
|
COPULA COPY CORR CORRESP COUNTREG CPM CPORT CUSUM CV2VIEW DATEKEYS
|
|
340
339
|
DATASETS DATASOURCE DB2EXT DB2UTIL DBCSTAB DBF DBLOAD DELETE DIF
|
|
@@ -433,7 +432,7 @@ module Rouge
|
|
|
433
432
|
# The OF operator should also be highlighted (Language Reference p49)
|
|
434
433
|
rule %r/\b(of)\b/i, Operator::Word
|
|
435
434
|
rule %r/\b(like)\b/i, Operator::Word # Language Ref p181
|
|
436
|
-
|
|
435
|
+
|
|
437
436
|
rule %r/\d+/, Num::Integer
|
|
438
437
|
|
|
439
438
|
rule %r/\$/, Keyword::Type
|
|
@@ -467,7 +466,7 @@ module Rouge
|
|
|
467
466
|
|
|
468
467
|
rule %r/@/, Str::Symbol # line hold specifiers
|
|
469
468
|
rule %r/\?/, Str::Symbol # used for format modifiers
|
|
470
|
-
|
|
469
|
+
|
|
471
470
|
rule %r/[^\s]+/, Text # Fallback for anything we haven't matched so far
|
|
472
471
|
end
|
|
473
472
|
|
|
@@ -483,7 +482,7 @@ module Rouge
|
|
|
483
482
|
else
|
|
484
483
|
groups Keyword, Text, Name
|
|
485
484
|
end
|
|
486
|
-
|
|
485
|
+
|
|
487
486
|
push :proc
|
|
488
487
|
end
|
|
489
488
|
|
|
@@ -541,7 +540,7 @@ module Rouge
|
|
|
541
540
|
# PROCS
|
|
542
541
|
state :proc do
|
|
543
542
|
rule %r/(quit|run)/i, Keyword, :pop!
|
|
544
|
-
|
|
543
|
+
|
|
545
544
|
mixin :basics
|
|
546
545
|
rule %r/\w+/ do |m|
|
|
547
546
|
if self.class.data_step_statements.include? m[0].upcase
|
data/lib/rouge/lexers/sass.rb
CHANGED
data/lib/rouge/lexers/scss.rb
CHANGED