rouge 3.27.0 → 3.28.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 396c335066b8bb01574b5d81b25d43a98b58dd1bad1d3d9588b7a35c573e2209
4
- data.tar.gz: d899fb3968d38a1a93415c21c62e332f1a8ba230952c0a33adda5c4755c4c8f3
3
+ metadata.gz: a74c520254d1312e4a5343103e3d83b48c967025a77a01701c42820a5eb3c708
4
+ data.tar.gz: 2fb290b030a0d60910973c53398c0dd4b127d17c1b489c88105f0bddb3689f6e
5
5
  SHA512:
6
- metadata.gz: c1fed00ea4906f18e1939675dff9c02508cddef4b1878622422d66b3cbee6d07111ab434cb83314d5d3077f3b86375424d4af05f2fce46cb105a9ecef698aec9
7
- data.tar.gz: 7764c52128ef376d3af7e2c5d1a958a62bddffadc4b2d8c868161fd786a9af63827d143a8b85d6d5251d65f8adefc6a405e2fef5d29e6c7d73bc00f041d8c024
6
+ metadata.gz: f499d28b76cd95fa2182d64809c4b6828c735a95c05c1b9af858ac6c1d0d17755fdafa90ae93f9d7fd27bd826fb4055cb8d3985d94b17172018ef408a397d8cf
7
+ data.tar.gz: 7fcd54cac21c2fb1b1cdc0825691ce812f42bc5d18cace205b281aaf87e7d8a75ee2dca544e92b9b193084605811f74151b00c51237850952cb22d4e4dde5db9
data/Gemfile CHANGED
@@ -37,5 +37,8 @@ group :development do
37
37
  else
38
38
  gem 'sinatra'
39
39
  end
40
+
41
+ # Ruby 3 no longer ships with a web server
42
+ gem 'puma' if RUBY_VERSION >= '3'
40
43
  gem 'shotgun'
41
44
  end
@@ -0,0 +1,13 @@
1
+ # Simple things are simple.
2
+ hello-user = Hello, {$userName}!
3
+
4
+ # Complex things are possible.
5
+ shared-photos =
6
+ {$userName} {$photoCount ->
7
+ [one] added a new photo
8
+ *[other] added {$photoCount} new photos
9
+ } to {$userGender ->
10
+ [male] his stream
11
+ [female] her stream
12
+ *[other] their stream
13
+ }.
@@ -0,0 +1,13 @@
1
+ data {
2
+ int<lower=0> N;
3
+ vector[N] x;
4
+ vector[N] y;
5
+ }
6
+ parameters {
7
+ real alpha;
8
+ real beta;
9
+ real<lower=0> sigma;
10
+ }
11
+ model {
12
+ y ~ normal(alpha + beta * x, sigma);
13
+ }
@@ -0,0 +1,14 @@
1
+ * Run a series of linear regressions
2
+ sysuse auto, clear
3
+ foreach v of varlist mpg weight-turn {
4
+ regress price `v', robust
5
+ }
6
+
7
+ regress price i.foreign
8
+ local num_obs = e(N)
9
+ global myglobal = 4
10
+
11
+ * Generate and manipulate variables
12
+ generate newvar1 = "string"
13
+ generate newvar2 = 34 - `num_obs'
14
+ replace newvar2 = $myglobal
@@ -170,12 +170,22 @@ module Rouge
170
170
  end
171
171
 
172
172
  state :macro do
173
- # NB: pop! goes back to :bol
174
- rule %r/\n/, Comment::Preproc, :pop!
173
+ mixin :include
175
174
  rule %r([^/\n\\]+), Comment::Preproc
176
175
  rule %r/\\./m, Comment::Preproc
177
176
  mixin :inline_whitespace
178
177
  rule %r(/), Comment::Preproc
178
+ # NB: pop! goes back to :bol
179
+ rule %r/\n/, Comment::Preproc, :pop!
180
+ end
181
+
182
+ state :include do
183
+ rule %r/(include)(\s*)(<[^>]+>)([^\n]*)/ do
184
+ groups Comment::Preproc, Text, Comment::PreprocFile, Comment::Single
185
+ end
186
+ rule %r/(include)(\s*)("[^"]+")([^\n]*)/ do
187
+ groups Comment::Preproc, Text, Comment::PreprocFile, Comment::Single
188
+ end
179
189
  end
180
190
 
181
191
  state :if_0 do
@@ -103,7 +103,7 @@ module Rouge
103
103
  end
104
104
 
105
105
  def line_regex
106
- /(\\.|[^\\])*?(\n|$)/m
106
+ /(.*?)(\n|$)/
107
107
  end
108
108
 
109
109
  def output_lexer
@@ -22,12 +22,14 @@ module Rouge
22
22
 
23
23
  def self.keywords
24
24
  @keywords ||= super + Set.new(%w(
25
- asm auto catch const_cast delete dynamic_cast explicit export friend
25
+ asm auto catch char8_t concept
26
+ consteval constexpr constinit const_cast co_await co_return co_yield
27
+ delete dynamic_cast explicit export friend
26
28
  mutable namespace new operator private protected public
27
- reinterpret_cast restrict size_of static_cast this throw throws
29
+ reinterpret_cast requires restrict size_of static_cast this throw throws
28
30
  typeid typename using virtual final override
29
31
 
30
- alignas alignof constexpr decltype noexcept static_assert
32
+ alignas alignof decltype noexcept static_assert
31
33
  thread_local try
32
34
  ))
33
35
  end
@@ -68,7 +70,7 @@ module Rouge
68
70
  rule %r/#{dq}[lu]*/i, Num::Integer
69
71
  rule %r/\bnullptr\b/, Name::Builtin
70
72
  rule %r/(?:u8|u|U|L)?R"([a-zA-Z0-9_{}\[\]#<>%:;.?*\+\-\/\^&|~!=,"']{,16})\(.*?\)\1"/m, Str
71
- rule %r/::/, Operator
73
+ rule %r/(::|<=>)/, Operator
72
74
  end
73
75
 
74
76
  state :classname do
@@ -45,6 +45,7 @@ module Rouge
45
45
  state :root do
46
46
  rule %r/[\s]+/, Text
47
47
  rule %r(//.*?$), Comment::Single
48
+ rule %r(/\*), Comment::Multiline, :multiline_comments
48
49
 
49
50
  rule %r([*+\-<>=&|~%^]), Operator
50
51
  rule %r/[{}),;\[\]]/, Str::Symbol
@@ -103,6 +104,13 @@ module Rouge
103
104
  rule %r/'(\\\\|\\'|[^'])*'/, Str::Single
104
105
  rule %r/`(\\\\|\\`|[^`])*`/, Str::Backtick
105
106
  end
107
+
108
+ state :multiline_comments do
109
+ rule %r(/[*]), Comment::Multiline, :multiline_comments
110
+ rule %r([*]/), Comment::Multiline, :pop!
111
+ rule %r([^/*]+), Comment::Multiline
112
+ rule %r([/*]), Comment::Multiline
113
+ end
106
114
  end
107
115
  end
108
116
  end
@@ -5,25 +5,25 @@ module Rouge
5
5
  module Lexers
6
6
  class Dart < RegexLexer
7
7
  title "Dart"
8
- desc "The Dart programming language (dartlang.com)"
8
+ desc "The Dart programming language (dart.dev)"
9
9
 
10
10
  tag 'dart'
11
11
  filenames '*.dart'
12
12
  mimetypes 'text/x-dart'
13
13
 
14
14
  keywords = %w(
15
- as assert break case catch continue default do else finally for
16
- if in is new rethrow return super switch this throw try while with
15
+ as assert await break case catch continue default do else finally for
16
+ if in is new rethrow return super switch this throw try while with yield
17
17
  )
18
18
 
19
19
  declarations = %w(
20
- abstract dynamic const external extends factory final get implements
21
- native operator set static typedef var
20
+ abstract async dynamic const covariant external extends factory final get
21
+ implements late native on operator required set static sync typedef var
22
22
  )
23
23
 
24
- types = %w(bool double Dynamic enum int num Object Set String void)
24
+ types = %w(bool Comparable double Dynamic enum Function int List Map Never Null num Object Pattern Set String Symbol Type Uri void)
25
25
 
26
- imports = %w(import export library part\s*of part source)
26
+ imports = %w(import deferred export library part\s*of part source)
27
27
 
28
28
  id = /[a-zA-Z_]\w*/
29
29
 
@@ -53,7 +53,7 @@ module Rouge
53
53
  rule %r/(?:#{declarations.join('|')})\b/, Keyword::Declaration
54
54
  rule %r/(?:#{types.join('|')})\b/, Keyword::Type
55
55
  rule %r/(?:true|false|null)\b/, Keyword::Constant
56
- rule %r/(?:class|interface)\b/, Keyword::Declaration, :class
56
+ rule %r/(?:class|interface|mixin)\b/, Keyword::Declaration, :class
57
57
  rule %r/(?:#{imports.join('|')})\b/, Keyword::Namespace, :import
58
58
  rule %r/(\.)(#{id})/ do
59
59
  groups Operator, Name::Attribute
@@ -0,0 +1,74 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Fluent < RegexLexer
7
+ title 'Fluent'
8
+ desc 'Fluent localization files'
9
+ tag 'fluent'
10
+ aliases 'ftl'
11
+ filenames '*.ftl'
12
+
13
+ state :root do
14
+ rule %r{( *)(\=)( *)} do
15
+ groups Text::Whitespace, Punctuation, Text::Whitespace
16
+ push :template
17
+ end
18
+
19
+ rule %r{(?:\s*\n)+}m, Text::Whitespace
20
+ rule %r{\#{1,3}(?: .*)?$}, Comment::Single
21
+ rule %r{[a-zA-Z][a-zA-Z0-9_-]*}, Name::Constant
22
+ rule %r{\-[a-zA-Z][a-zA-Z0-9_-]*}, Name::Entity
23
+ rule %r{\s*\.[a-zA-Z][a-zA-Z0-9_-]*}, Name::Attribute
24
+ rule %r{\s+(?=[^\s\.])}, Text::Whitespace, :template
25
+ end
26
+
27
+ state :template do
28
+ rule %r{\n}m, Text::Whitespace, :pop!
29
+ rule %r{[^\{\n\}\*]+}, Text
30
+ rule %r{\{}, Punctuation, :placeable
31
+ rule %r{(?=\})}, Punctuation, :pop!
32
+ end
33
+
34
+ state :placeable do
35
+ rule %r{\s+}m, Text::Whitespace
36
+ rule %r{\{}, Punctuation, :placeable
37
+ rule %r{\}}, Punctuation, :pop!
38
+ rule %r{\$[a-zA-Z][a-zA-Z0-9_-]*}, Name::Variable
39
+ rule %r{\-[a-zA-Z][a-zA-Z0-9_-]*}, Name::Entity
40
+ rule %r{\.[a-zA-Z][a-zA-Z0-9_-]*}, Name::Attribute
41
+ rule %r{[A-Z]+}, Name::Builtin
42
+ rule %r{[a-zA-Z][a-zA-Z0-9_-]*}, Name::Constant
43
+ rule %r{[\(\),\:]}, Punctuation
44
+ rule %r{->}, Punctuation
45
+ rule %r{\*}, Punctuation::Indicator
46
+ rule %r{\-?\d+\.\d+?}, Literal::Number::Float
47
+ rule %r{\-?\d+}, Literal::Number::Integer
48
+ rule %r{"}, Str::Double, :string
49
+
50
+ rule %r{(\[)(\-?\d+\.\d+)(\])} do
51
+ groups Punctuation, Literal::Number::Float, Punctuation
52
+ push :template
53
+ end
54
+
55
+ rule %r{(\[)(\-?\d+)(\])} do
56
+ groups Punctuation, Literal::Number::Integer, Punctuation
57
+ push :template
58
+ end
59
+
60
+ rule %r{(\[)([a-zA-Z][a-zA-Z0-9_-]+)(\])} do
61
+ groups Punctuation, Str::Symbol, Punctuation
62
+ push :template
63
+ end
64
+ end
65
+
66
+ state :string do
67
+ rule %r{\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{6}}, Str::Escape
68
+ rule %r{\\.}, Str::Escape
69
+ rule %r{[^\"\\]}, Str::Double
70
+ rule %r{"}, Str::Double, :pop!
71
+ end
72
+ end
73
+ end
74
+ end
@@ -5,6 +5,7 @@ module Rouge
5
5
  module Lexers
6
6
  class Hcl < RegexLexer
7
7
  tag 'hcl'
8
+ filenames '*.hcl', '*.nomad'
8
9
 
9
10
  title 'Hashicorp Configuration Language'
10
11
  desc 'Hashicorp Configuration Language, used by Terraform and other Hashicorp tools'
@@ -57,7 +57,7 @@ module Rouge
57
57
  push :interpol
58
58
  push :expr_start
59
59
  end
60
- rule %r/\w+/, Name::Attribute
60
+ rule %r/\w[\w-]*/, Name::Attribute
61
61
  rule %r/=/, Punctuation
62
62
  rule %r/(["']).*?(\1)/, Str
63
63
  end
@@ -116,12 +116,14 @@ module Rouge
116
116
  rule class_name, Name::Class
117
117
  rule %r'(<)', Punctuation, :generic_parameters
118
118
  rule %r'(reified|out|in)', Keyword
119
- rule %r'([,:])', Punctuation
119
+ rule %r'([,:.?])', Punctuation
120
120
  rule %r'(\s+)', Text
121
121
  rule %r'(>)', Punctuation, :pop!
122
122
  end
123
123
 
124
124
  state :property do
125
+ rule %r'(<)', Punctuation, :generic_parameters
126
+ rule %r'(\s+)', Text
125
127
  rule name, Name::Property, :pop!
126
128
  end
127
129
 
@@ -22,10 +22,13 @@ module Rouge
22
22
 
23
23
  def self.keywords
24
24
  @keywords ||= %w(
25
- as assert async await break crate const continue copy do drop dyn else enum extern
26
- fail false fn for if impl let log loop macro match mod move mut priv pub pure
27
- ref return self Self static struct super true try trait type union unsafe use
28
- where while yield box
25
+ as async await break const continue crate dyn else enum extern false
26
+ fn for if impl in let log loop match mod move mut pub ref return self
27
+ Self static struct super trait true type unsafe use where while
28
+ abstract become box do final macro
29
+ override priv typeof unsized virtual
30
+ yield try
31
+ union
29
32
  )
30
33
  end
31
34
 
@@ -212,7 +215,8 @@ module Rouge
212
215
 
213
216
  state :has_literals do
214
217
  # constants
215
- rule %r/\b(?:true|false|nil)\b/, Keyword::Constant
218
+ rule %r/\b(?:true|false)\b/, Keyword::Constant
219
+
216
220
  # characters/bytes
217
221
  rule %r(
218
222
  b?' (?: #{escapes} | [^\\] ) '
@@ -41,16 +41,17 @@ module Rouge
41
41
  rule %r('''), Str::Single, :string_single_literal
42
42
  rule %r('), Str::Single, :string_single
43
43
 
44
- rule %r([$?]\w+), Name::Variable
45
- rule %r((\w*:)(\w+)?) do |m|
44
+ rule %r([$?][[:word:]]+), Name::Variable
45
+ rule %r(([[:word:]-]*)(:)([[:word:]-]+)?) do |m|
46
46
  token Name::Namespace, m[1]
47
- token Str::Symbol, m[2]
47
+ token Operator, m[2]
48
+ token Str::Symbol, m[3]
48
49
  end
49
50
  rule %r(<[^>]*>), Name::Namespace
50
51
  rule %r(true|false)i, Keyword::Constant
51
52
  rule %r/a\b/, Keyword
52
53
 
53
- rule %r([A-Z]\w+\b)i do |m|
54
+ rule %r([A-Z][[:word:]]+\b)i do |m|
54
55
  if self.class.builtins.include? m[0].upcase
55
56
  token Name::Builtin
56
57
  elsif self.class.keywords.include? m[0].upcase
@@ -0,0 +1,451 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Stan < RegexLexer
7
+ title "Stan"
8
+ desc 'Stan Modeling Language (mc-stan.org)'
9
+ tag 'stan'
10
+ filenames '*.stan', '*.stanfunctions'
11
+
12
+ # optional comment or whitespace
13
+ WS = %r((?:\s|//.*?\n|/[*].*?[*]/)+)
14
+ ID = /[a-zA-Z_][a-zA-Z0-9_]*/
15
+ RT = /(?:(?:[a-z_]\s*(?:\[[0-9, ]\])?)\s+)*/
16
+ OP = Regexp.new([
17
+ # Assigment operators
18
+ "=",
19
+
20
+ # Comparison operators
21
+ "<", "<=", ">", ">=", "==", "!=",
22
+
23
+ # Boolean operators
24
+ "!", "&&", "\\|\\|",
25
+
26
+ # Real-valued arithmetic operators
27
+ "\\+", "-", "\\*", "/", "\\^",
28
+
29
+ # Transposition operator
30
+ "'",
31
+
32
+ # Elementwise functions
33
+ "\\.\\+", "\\.-", "\\.\\*", "\\./", "\\.\\^",
34
+
35
+ # Matrix division operators
36
+ "\\\\",
37
+
38
+ # Compound assigment operators
39
+ "\\+=", "-=", "\\*=", "/=", "\\.\\*=", "\\./=",
40
+
41
+ # Sampling
42
+ "~",
43
+
44
+ # Conditional operator
45
+ "\\?", ":"
46
+ ].join("|"))
47
+
48
+ def self.keywords
49
+ @keywords ||= Set.new %w(
50
+ if else while for break continue print reject return
51
+ )
52
+ end
53
+
54
+ def self.types
55
+ @types ||= Set.new %w(
56
+ int real vector ordered positive_ordered simplex unit_vector
57
+ row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix
58
+ cov_matrix data void complex array
59
+ )
60
+ end
61
+
62
+ def self.reserved
63
+ @reserved ||= Set.new [
64
+ # Reserved words from Stan language
65
+ "for", "in", "while", "repeat", "until", "if", "then", "else", "true",
66
+ "false", "target", "functions", "model", "data", "parameters",
67
+ "quantities", "transformed", "generated",
68
+
69
+ # Reserved names from Stan implementation
70
+ "var", "fvar", "STAN_MAJOR", "STAN_MINOR", "STAN_PATCH",
71
+ "STAN_MATH_MAJOR", "STAN_MATH_MINOR", "STAN_MATH_PATCH",
72
+
73
+ # Reserved names from C++
74
+ "alignas", "alignof", "and", "and_eq", "asm", "auto", "bitand",
75
+ "bitor", "bool", "break", "case", "catch", "char", "char16_t",
76
+ "char32_t", "class", "compl", "const", "constexpr", "const_cast",
77
+ "continue", "decltype", "default", "delete", "do", "double",
78
+ "dynamic_cast", "else", "enum", "explicit", "export", "extern",
79
+ "false", "float", "for", "friend", "goto", "if", "inline", "int",
80
+ "long", "mutable", "namespace", "new", "noexcept", "not", "not_eq",
81
+ "nullptr", "operator", "or", "or_eq", "private", "protected",
82
+ "public", "register", "reinterpret_cast", "return", "short", "signed",
83
+ "sizeof", "static", "static_assert", "static_cast", "struct",
84
+ "switch", "template", "this", "thread_local", "throw", "true", "try",
85
+ "typedef", "typeid", "typename", "union", "unsigned", "using",
86
+ "virtual", "void", "volatile", "wchar_t", "while", "xor", "xor_eq"
87
+ ]
88
+ end
89
+
90
+ def self.builtin_functions
91
+ @builtin_functions ||= Set.new [
92
+ # Integer-Valued Basic Functions
93
+
94
+ ## Absolute functions
95
+ "abs", "int_step",
96
+
97
+ ## Bound functions
98
+ "min", "max",
99
+
100
+ ## Size functions
101
+ "size",
102
+
103
+ # Real-Valued Basic Functions
104
+
105
+ ## Log probability function
106
+ "target", "get_lp",
107
+
108
+ ## Logical functions
109
+ "step", "is_inf", "is_nan",
110
+
111
+ ## Step-like functions
112
+ "fabs", "fdim", "fmin", "fmax", "fmod", "floor", "ceil", "round",
113
+ "trunc",
114
+
115
+ ## Power and logarithm functions
116
+ "sqrt", "cbrt", "square", "exp", "exp2", "log", "log2", "log10",
117
+ "pow", "inv", "inv_sqrt", "inv_square",
118
+
119
+ ## Trigonometric functions
120
+ "hypot", "cos", "sin", "tan", "acos", "asin", "atan", "atan2",
121
+
122
+ ## Hyperbolic trigonometric functions
123
+ "cosh", "sinh", "tanh", "acosh", "asinh", "atanh",
124
+
125
+ ## Link functions
126
+ "logit", "inv_logit", "inv_cloglog",
127
+
128
+ ## Probability-related functions
129
+ "erf", "erfc", "Phi", "inv_Phi", "Phi_approx", "binary_log_loss",
130
+ "owens_t",
131
+
132
+ ## Combinatorial functions
133
+ "beta", "inc_beta", "lbeta", "tgamma", "lgamma", "digamma",
134
+ "trigamma", "lmgamma", "gamma_p", "gamma_q",
135
+ "binomial_coefficient_log", "choose", "bessel_first_kind",
136
+ "bessel_second_kind", "modified_bessel_first_kind",
137
+ "log_modified_bessel_first_kind", "modified_bessel_second_kind",
138
+ "falling_factorial", "lchoose", "log_falling_factorial",
139
+ "rising_factorial", "log_rising_factorial",
140
+
141
+ ## Composed functions
142
+ "expm1", "fma", "multiply_log", "ldexp", "lmultiply", "log1p",
143
+ "log1m", "log1p_exp", "log1m_exp", "log_diff_exp", "log_mix",
144
+ "log_sum_exp", "log_inv_logit", "log_inv_logit_diff",
145
+ "log1m_inv_logit",
146
+
147
+ ## Special functions
148
+ "lambert_w0", "lambert_wm1",
149
+
150
+ # Complex-Valued Basic Functions
151
+
152
+ ## Complex constructors and accessors
153
+ "to_complex", "get_real", "get_imag",
154
+
155
+ ## Complex special functions
156
+ "arg", "norm", "conj", "proj", "polar",
157
+
158
+ # Array Operations
159
+
160
+ ## Reductions
161
+ "sum", "prod", "log_sum_exp", "mean", "variance", "sd", "distance",
162
+ "squared_distance", "quantile",
163
+
164
+ ## Array size and dimension function
165
+ "dims", "num_elements",
166
+
167
+ ## Array broadcasting
168
+ "rep_array",
169
+
170
+ ## Array concatenation
171
+ "append_array",
172
+
173
+ ## Sorting functions
174
+ "sort_asc", "sort_desc", "sort_indices_asc", "sort_indices_desc",
175
+ "rank",
176
+
177
+ ## Reversing functions
178
+ "reverse",
179
+
180
+ # Matrix Operations
181
+
182
+ ## Integer-valued matrix size functions
183
+ "num_elements", "rows", "cols",
184
+
185
+ ## Dot products and specialized products
186
+ "dot_product", "columns_dot_product", "rows_dot_product", "dot_self",
187
+ "columns_dot_self", "rows_dot_self", "tcrossprod", "crossprod",
188
+ "quad_form", "quad_form_diag", "quad_form_sym", "trace_quad_form",
189
+ "trace_gen_quad_form", "multiply_lower_tri_self_transpose",
190
+ "diag_pre_multiply", "diag_post_multiply",
191
+
192
+ ## Broadcast functions
193
+ "rep_vector", "rep_row_vector", "rep_matrix",
194
+ "symmetrize_from_lower_tri",
195
+
196
+ ## Diagonal matrix functions
197
+ "add_diag", "diagonal", "diag_matrix", "identity_matrix",
198
+
199
+ ## Container construction functions
200
+ "linspaced_array", "linspaced_int_array", "linspaced_vector",
201
+ "linspaced_row_vector", "one_hot_int_array", "one_hot_array",
202
+ "one_hot_vector", "one_hot_row_vector", "ones_int_array",
203
+ "ones_array", "ones_vector", "ones_row_vector", "zeros_int_array",
204
+ "zeros_array", "zeros_vector", "zeros_row_vector", "uniform_simplex",
205
+
206
+ ## Slicing and blocking functions
207
+ "col", "row", "block", "sub_col", "sub_row", "head", "tail",
208
+ "segment",
209
+
210
+ ## Matrix concatenation
211
+ "append_col", "append_row",
212
+
213
+ ## Special matrix functions
214
+ "softmax", "log_softmax", "cumulative_sum",
215
+
216
+ ## Covariance functions
217
+ "cov_exp_quad",
218
+
219
+ ## Linear algebra functions and solvers
220
+ "mdivide_left_tri_low", "mdivide_right_tri_low", "mdivide_left_spd",
221
+ "mdivide_right_spd", "matrix_exp", "matrix_exp_multiply",
222
+ "scale_matrix_exp_multiply", "matrix_power", "trace", "determinant",
223
+ "log_determinant", "inverse", "inverse_spd", "chol2inv",
224
+ "generalized_inverse", "eigenvalues_sym", "eigenvectors_sym",
225
+ "qr_thin_Q", "qr_thin_R", "qr_Q", "qr_R", "cholseky_decompose",
226
+ "singular_values", "svd_U", "svd_V",
227
+
228
+ # Sparse Matrix Operations
229
+
230
+ ## Conversion functions
231
+ "csr_extract_w", "csr_extract_v", "csr_extract_u",
232
+ "csr_to_dense_matrix",
233
+
234
+ ## Sparse matrix arithmetic
235
+ "csr_matrix_times_vector",
236
+
237
+ # Mixed Operations
238
+ "to_matrix", "to_vector", "to_row_vector", "to_array_2d",
239
+ "to_array_1d",
240
+
241
+ # Higher-Order Functions
242
+
243
+ ## Algebraic equation solver
244
+ "algebra_solver", "algebra_solver_newton",
245
+
246
+ ## Ordinary differential equation
247
+ "ode_rk45", "ode_rk45_tol", "ode_ckrk", "ode_ckrk_tol", "ode_adams",
248
+ "ode_adams_tol", "ode_bdf", "ode_bdf_tol", "ode_adjoint_tol_ctl",
249
+
250
+ ## 1D integrator
251
+ "integrate_1d",
252
+
253
+ ## Reduce-sum function
254
+ "reduce_sum", "reduce_sum_static",
255
+
256
+ ## Map-rect function
257
+ "map_rect",
258
+
259
+ # Deprecated Functions
260
+ "integrate_ode_rk45", "integrate_ode", "integrate_ode_adams",
261
+ "integrate_ode_bdf",
262
+
263
+ # Hidden Markov Models
264
+ "hmm_marginal", "hmm_latent_rng", "hmm_hidden_state_prob"
265
+ ]
266
+ end
267
+
268
+ def self.distributions
269
+ @distributions ||= Set.new(
270
+ [
271
+ # Discrete Distributions
272
+
273
+ ## Binary Distributions
274
+ "bernoulli", "bernoulli_logit", "bernoulli_logit_glm",
275
+
276
+ ## Bounded Discrete Distributions
277
+ "binomial", "binomial_logit", "beta_binomial", "hypergeometric",
278
+ "categorical", "categorical_logit_glm", "discrete_range",
279
+ "ordered_logistic", "ordered_logistic_glm", "ordered_probit",
280
+
281
+ ## Unbounded Discrete Distributions
282
+ "neg_binomial", "neg_binomial_2", "neg_binomial_2_log",
283
+ "neg_binomial_2_log_glm", "poisson", "poisson_log",
284
+ "poisson_log_glm",
285
+
286
+ ## Multivariate Discrete Distributions
287
+ "multinomial", "multinomial_logit",
288
+
289
+ # Continuous Distributions
290
+
291
+ ## Unbounded Continuous Distributions
292
+ "normal", "std_normal", "normal_id_glm", "exp_mod_normal",
293
+ "skew_normal", "student_t", "cauchy", "double_exponential",
294
+ "logistic", "gumbel", "skew_double_exponential",
295
+
296
+ ## Positive Continuous Distributions
297
+ "lognormal", "chi_square", "inv_chi_square",
298
+ "scaled_inv_chi_square", "exponential", "gamma", "inv_gamma",
299
+ "weibull", "frechet", "rayleigh",
300
+
301
+ ## Positive Lower-Bounded Distributions
302
+ "pareto", "pareto_type_2", "wiener",
303
+
304
+ ## Continuous Distributions on [0, 1]
305
+ "beta", "beta_proportion",
306
+
307
+ ## Circular Distributions
308
+ "von_mises",
309
+
310
+ ## Bounded Continuous Distributions
311
+ "uniform",
312
+
313
+ ## Distributions over Unbounded Vectors
314
+ "multi_normal", "multi_normal_prec", "multi_normal_cholesky",
315
+ "multi_gp", "multi_gp_cholesky", "multi_student_t",
316
+ "gaussian_dlm_obs",
317
+
318
+ ## Simplex Distributions
319
+ "dirichlet",
320
+
321
+ ## Correlation Matrix Distributions
322
+ "lkj_corr", "lkj_corr_cholesky",
323
+
324
+ ## Covariance Matrix Distributions
325
+ "wishart", "inv_wishart"
326
+ ].product([
327
+ "", "_lpmf", "_lupmf", "_lpdf", "_lcdf", "_lccdf", "_rng", "_log",
328
+ "_cdf_log", "_ccdf_log"
329
+ ]).map {|s| "#{s[0]}#{s[1]}"}
330
+ )
331
+ end
332
+
333
+ def self.constants
334
+ @constants ||= Set.new [
335
+ # Mathematical constants
336
+ "pi", "e", "sqrt2", "log2", "log10",
337
+
338
+ # Special values
339
+ "not_a_number", "positive_infinity", "negative_infinity",
340
+ "machine_precision"
341
+ ]
342
+ end
343
+
344
+ state :root do
345
+ mixin :whitespace
346
+ rule %r/#include/, Comment::Preproc, :include
347
+ rule %r/#.*$/, Generic::Deleted
348
+ rule %r(
349
+ functions
350
+ |(?:transformed\s+)?data
351
+ |(?:transformed\s+)?parameters
352
+ |model
353
+ |generated\s+quantities
354
+ )x, Name::Namespace
355
+ rule %r(\{), Punctuation, :bracket_scope
356
+ mixin :scope
357
+ end
358
+
359
+ state :include do
360
+ rule %r((\s+)(\S+)(\s*)) do |m|
361
+ token Text, m[1]
362
+ token Comment::PreprocFile, m[2]
363
+ token Text, m[3]
364
+ pop!
365
+ end
366
+ end
367
+
368
+ state :whitespace do
369
+ rule %r(\n+)m, Text
370
+ rule %r(//(\\.|.)*?$), Comment::Single
371
+ mixin :inline_whitespace
372
+ end
373
+
374
+ state :inline_whitespace do
375
+ rule %r([ \t\r]+), Text
376
+ rule %r(/(\\\n)?[*].*?[*](\\\n)?/)m, Comment::Multiline
377
+ end
378
+
379
+ state :statements do
380
+ mixin :whitespace
381
+ rule %r/#include/, Comment::Preproc, :include
382
+ rule %r/#.*$/, Generic::Deleted
383
+ rule %r("), Str, :string
384
+ rule %r(
385
+ (
386
+ ((\d+[.]\d*|[.]?\d+)e[+-]?\d+|\d*[.]\d+|\d+)
387
+ (#{WS})[+-](#{WS})
388
+ ((\d+[.]\d*|[.]?\d+)e[+-]?\d+|\d*[.]\d+|\d+)i
389
+ )
390
+ |((\d+[.]\d*|[.]?\d+)e[+-]?\d+|\d*[.]\d+|\d+)i
391
+ |((\d+[.]\d*|[.]?\d+)e[+-]?\d+|\d*[.]\d+)
392
+ )mx, Num::Float
393
+ rule %r/\d+/, Num::Integer
394
+ rule %r(\*/), Error
395
+ rule OP, Operator
396
+ rule %r([\[\],.;]), Punctuation
397
+ rule %r([|](?![|])), Punctuation
398
+ rule %r(T\b), Keyword::Reserved
399
+ rule %r((lower|upper)\b), Name::Attribute
400
+ rule ID do |m|
401
+ name = m[0]
402
+
403
+ if self.class.keywords.include? name
404
+ token Keyword
405
+ elsif self.class.types.include? name
406
+ token Keyword::Type
407
+ elsif self.class.reserved.include? name
408
+ token Keyword::Reserved
409
+ else
410
+ token Name::Variable
411
+ end
412
+ end
413
+ end
414
+
415
+ state :scope do
416
+ mixin :whitespace
417
+ rule %r(
418
+ (#{RT}) # Return type
419
+ (#{ID}) # Function name
420
+ (?=\([^;]*?\)) # Signature or arguments
421
+ )mx do |m|
422
+ recurse m[1]
423
+
424
+ name = m[2]
425
+ if self.class.builtin_functions.include? name
426
+ token Name::Builtin, name
427
+ elsif self.class.distributions.include? name
428
+ token Name::Builtin, name
429
+ elsif self.class.constants.include? name
430
+ token Keyword::Constant
431
+ else
432
+ token Name::Function, name
433
+ end
434
+ end
435
+ rule %r(\{), Punctuation, :bracket_scope
436
+ rule %r(\(), Punctuation, :parens_scope
437
+ mixin :statements
438
+ end
439
+
440
+ state :bracket_scope do
441
+ mixin :scope
442
+ rule %r(\}), Punctuation, :pop!
443
+ end
444
+
445
+ state :parens_scope do
446
+ mixin :scope
447
+ rule %r(\)), Punctuation, :pop!
448
+ end
449
+ end
450
+ end
451
+ end
@@ -0,0 +1,165 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Stata < RegexLexer
7
+ title "Stata"
8
+ desc "The Stata programming language (www.stata.com)"
9
+ tag 'stata'
10
+ filenames '*.do', '*.ado'
11
+ mimetypes 'application/x-stata', 'text/x-stata'
12
+
13
+ ###
14
+ # Stata reference manual is available online at: https://www.stata.com/features/documentation/
15
+ ###
16
+
17
+ # Partial list of common programming and estimation commands, as of Stata 16
18
+ # Note: not all abbreviations are included
19
+ KEYWORDS = %w(
20
+ do run include clear assert set mata log
21
+ by bys bysort cap capt capture char class classutil which cdir confirm new existence creturn
22
+ _datasignature discard di dis disp displ displa display ereturn error _estimates exit file open read write seek close query findfile fvexpand
23
+ gettoken java home heapmax java_heapmax icd9 icd9p icd10 icd10cm icd10pcs initialize javacall levelsof
24
+ tempvar tempname tempfile macro shift uniq dups retokenize clean sizeof posof
25
+ makecns matcproc marksample mark markout markin svymarkout matlist
26
+ accum define dissimilarity eigenvalues get rowjoinbyname rownames score svd symeigen dir list ren rename
27
+ more pause plugin call postfile _predict preserve restore program define drop end python qui quietly noi noisily _return return _rmcoll rmsg _robust
28
+ serset locale_functions locale_ui signestimationsample checkestimationsample sleep syntax sysdir adopath adosize
29
+ tabdisp timer tokenize trace unab unabcmd varabbrev version viewsource
30
+ window fopen fsave manage menu push stopbox
31
+ net from cd link search install sj stb ado update uninstall pwd ssc ls
32
+ using insheet outsheet mkmat svmat sum summ summarize
33
+ graph gr_edit twoway histogram kdensity spikeplot
34
+ mi miss missing var varname order compress append
35
+ gen gene gener genera generat generate egen replace duplicates
36
+ estimates nlcom lincom test testnl predict suest
37
+ _regress reg regr regre regres regress probit logit ivregress logistic svy gmm ivprobit ivtobit
38
+ bsample assert codebook collapse compare contract copy count cross datasignature d ds desc describe destring tostring
39
+ drawnorm edit encode decode erase expand export filefilter fillin format frame frget frlink gsort
40
+ import dbase delimited excel fred haver sas sasxport5 sasxport8 spss infile infix input insobs inspect ipolate isid
41
+ joinby label language labelbook lookfor memory mem merge mkdir mvencode notes obs odbc order outfile
42
+ pctile xtile _pctile putmata range recast recode rename group reshape rm rmdir sample save saveold separate shell snapshot sort split splitsample stack statsby sysuse
43
+ type unicode use varmanage vl webuse xpose zipfile
44
+ number keep tab table tabulate stset stcox tsset xtset
45
+ )
46
+
47
+ # Complete list of functions by name, as of Stata 16
48
+ PRIMITIVE_FUNCTIONS = %w(
49
+ abbrev abs acos acosh age age_frac asin asinh atan atan2 atanh autocode
50
+ betaden binomial binomialp binomialtail binormal birthday bofd byteorder
51
+ c _caller cauchy cauchyden cauchytail Cdhms ceil char chi2 chi2den chi2tail Chms
52
+ chop cholesky clip Clock clock clockdiff cloglog Cmdyhms Cofc cofC Cofd cofd coleqnumb
53
+ collatorlocale collatorversion colnfreeparms colnumb colsof comb cond corr cos cosh
54
+ daily date datediff datediff_frac day det dgammapda dgammapdada dgammapdadx dgammapdxdx dhms
55
+ diag diag0cnt digamma dofb dofC dofc dofh dofm dofq dofw dofy dow doy dunnettprob e el epsdouble
56
+ epsfloat exp expm1 exponential exponentialden exponentialtail
57
+ F Fden fileexists fileread filereaderror filewrite float floor fmtwidth frval _frval Ftail
58
+ fammaden gammap gammaptail get hadamard halfyear halfyearly has_eprop hh hhC hms hofd hours
59
+ hypergeometric hypergeometricp
60
+ I ibeta ibetatail igaussian igaussianden igaussiantail indexnot inlist inrange int inv invbinomial invbinomialtail
61
+ invcauchy invcauchytail invchi2 invchi2tail invcloglog invdunnettprob invexponential invexponentialtail invF
62
+ invFtail invgammap invgammaptail invibeta invibetatail invigaussian invigaussiantail invlaplace invlaplacetail
63
+ invlogistic invlogistictail invlogit invnbinomial invnbinomialtail invnchi2 invnchi2tail invnF invnFtail invnibeta invnormal invnt invnttail
64
+ invpoisson invpoissontail invsym invt invttail invtukeyprob invweibull invweibullph invweibullphtail invweibulltail irecode islepyear issymmetric
65
+ J laplace laplaceden laplacetail ln ln1m ln1p lncauchyden lnfactorial lngamma lnigammaden lnigaussianden lniwishartden lnlaplaceden lnmvnormalden
66
+ lnnormal lnnormalden lnnormalden lnnormalden lnwishartden log log10 log1m log1p logistic logisticden logistictail logit
67
+ matmissing matrix matuniform max maxbyte maxdouble maxfloat maxint maxlong mdy mdyhms mi min minbyte mindouble minfloat minint minlong minutes
68
+ missing mm mmC mod mofd month monthly mreldif msofhours msofminutes msofseconds
69
+ nbetaden nbinomial nbinomialp nbinomialtail nchi2 nchi2den nchi2tail nextbirthday nextleapyear nF nFden nFtail nibeta
70
+ normal normalden npnchi2 npnF npnt nt ntden nttail nullmat
71
+ plural poisson poissonp poissontail previousbirthday previousleapyear qofd quarter quarterly r rbeta rbinomial rcauchy rchi2 recode
72
+ real regexm regexr regexs reldif replay return rexponential rgamma rhypergeometric rigaussian rlaplace rlogistic rnormal
73
+ round roweqnumb rownfreeparms rownumb rowsof rpoisson rt runiform runiformint rweibull rweibullph
74
+ s scalar seconds sign sin sinh smallestdouble soundex soundex_nara sqrt ss ssC strcat strdup string stritrim strlen strlower
75
+ strltrim strmatch strofreal strpos strproper strreverse strrpos strrtrim strtoname strtrim strupper subinstr subinword substr sum sweep
76
+ t tan tanh tC tc td tden th tin tm tobytes tq trace trigamma trunc ttail tukeyprob tw twithin
77
+ uchar udstrlen udsubstr uisdigit uisletter uniform ustrcompare ustrcompareex ustrfix ustrfrom ustrinvalidcnt ustrleft ustrlen ustrlower
78
+ ustrltrim ustrnormalize ustrpos ustrregexm ustrregexra ustrregexrf ustrregexs ustrreverse ustrright ustrrpos ustrrtrim ustrsortkey
79
+ ustrsortkeyex ustrtitle ustrto ustrtohex ustrtoname ustrtrim ustrunescape ustrupper ustrword ustrwordcount usubinstr usubstr
80
+ vec vecdiag week weekly weibull weibullden weibullph weibullphden weibullphtail weibulltail wofd word wordbreaklocale wordcount
81
+ year yearly yh ym yofd yq yw
82
+ )
83
+
84
+ # Note: types `str1-str2045` handled separately below
85
+ def self.type_keywords
86
+ @type_keywords ||= Set.new %w(byte int long float double str strL numeric string integer scalar matrix local global numlist varlist newlist)
87
+ end
88
+
89
+ # Stata commands used with braces. Includes all valid abbreviations for 'forvalues'.
90
+ def self.reserved_keywords
91
+ @reserved_keywords ||= Set.new %w(if else foreach forv forva forval forvalu forvalue forvalues to while in of continue break nobreak)
92
+ end
93
+
94
+ ###
95
+ # Lexer state and rules
96
+ ###
97
+ state :root do
98
+
99
+ # Pre-processor commands: #
100
+ rule %r/^\s*#.*$/, Comment::Preproc
101
+
102
+ # Hashbang comments: *!
103
+ rule %r/^\*!.*$/, Comment::Hashbang
104
+
105
+ # Single-line comment: *
106
+ rule %r/^\s*\*.*$/, Comment::Single
107
+
108
+ # Keywords: recognize only when they are the first word
109
+ rule %r/^\s*(#{KEYWORDS.join('|')})\b/, Keyword
110
+
111
+ # Whitespace. Classify `\n` as `Text` to avoid interference with `Comment` and `Keyword` above
112
+ rule(/[ \t]+/, Text::Whitespace)
113
+ rule(/[\n\r]+/, Text)
114
+
115
+ # In-line comment: //
116
+ rule %r/\/\/.*?$/, Comment::Single
117
+
118
+ # Multi-line comment: /* and */
119
+ rule %r(/(\\\n)?[*].*?[*](\\\n)?/)m, Comment::Multiline
120
+
121
+ # Strings indicated by compound double-quotes (`""') and double-quotes ("")
122
+ rule %r/`"(\\.|.)*?"'/, Str::Double
123
+ rule %r/"(\\.|.)*?"/, Str::Double
124
+
125
+ # Format locals (`') and globals ($) as strings
126
+ rule %r/`(\\.|.)*?'/, Str::Double
127
+ rule %r/(?<!\w)\$\w+/, Str::Double
128
+
129
+ # Display formats
130
+ rule %r/\%\S+/, Name::Property
131
+
132
+ # Additional string types: str1-str2045
133
+ rule %r/\bstr(204[0-5]|20[0-3][0-9]|[01][0-9][0-9][0-9]|[0-9][0-9][0-9]|[0-9][0-9]|[1-9])\b/, Keyword::Type
134
+
135
+ # Only recognize primitive functions when they are actually used as a function call, i.e. followed by an opening parenthesis
136
+ # `Name::Builtin` would be more logical, but is not usually highlighted, so use `Name::Function` instead
137
+ rule %r/\b(#{PRIMITIVE_FUNCTIONS.join('|')})(?=\()/, Name::Function
138
+
139
+ # Matrix operator `..` (declare here instead of with other operators, in order to avoid conflict with numbers below)
140
+ rule %r/\.\.(?=.*\])/, Operator
141
+
142
+ # Numbers
143
+ rule %r/[+-]?(\d+([.]\d+)?|[.]\d+)([eE][+-]?\d+)?/, Num
144
+
145
+ # Factor variable and time series operators
146
+ rule %r/\b[ICOicoLFDSlfds]\w*\./, Operator
147
+ rule %r/\b[ICOicoLFDSlfds]\w*(?=\(.*\)\.)/, Operator
148
+
149
+ rule %r/\w+/ do |m|
150
+ if self.class.reserved_keywords.include? m[0]
151
+ token Keyword::Reserved
152
+ elsif self.class.type_keywords.include? m[0]
153
+ token Keyword::Type
154
+ else
155
+ token Name
156
+ end
157
+ end
158
+
159
+ rule %r/[\[\]{}();,]/, Punctuation
160
+
161
+ rule %r([-<>?*+'^/\\!#.=~:&|]), Operator
162
+ end
163
+ end
164
+ end
165
+ end
@@ -11,14 +11,15 @@ module Rouge
11
11
  filenames '*.toml', 'Pipfile'
12
12
  mimetypes 'text/x-toml'
13
13
 
14
- identifier = /\S+/
14
+ # bare keys and quoted keys
15
+ identifier = %r/(?:\S+|"[^"]+"|'[^']+')/
15
16
 
16
17
  state :basic do
17
18
  rule %r/\s+/, Text
18
19
  rule %r/#.*?$/, Comment
19
20
  rule %r/(true|false)/, Keyword::Constant
20
21
 
21
- rule %r/(\S+)(\s*)(=)(\s*)(\{)/ do |m|
22
+ rule %r/(#{identifier})(\s*)(=)(\s*)(\{)/ do
22
23
  groups Name::Namespace, Text, Operator, Text, Punctuation
23
24
  push :inline
24
25
  end
@@ -48,6 +49,11 @@ module Rouge
48
49
 
49
50
  state :content do
50
51
  mixin :basic
52
+
53
+ rule %r/(#{identifier})(\s*)(=)/ do
54
+ groups Name::Property, Text, Punctuation
55
+ end
56
+
51
57
  rule %r/"""/, Str, :mdq
52
58
  rule %r/"/, Str, :dq
53
59
  rule %r/'''/, Str, :msq
@@ -95,10 +101,6 @@ module Rouge
95
101
  state :inline do
96
102
  mixin :content
97
103
 
98
- rule %r/(#{identifier})(\s*)(=)/ do
99
- groups Name::Property, Text, Punctuation
100
- end
101
-
102
104
  rule %r/\}/, Punctuation, :pop!
103
105
  end
104
106
  end
data/lib/rouge/version.rb CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  module Rouge
5
5
  def self.version
6
- "3.27.0"
6
+ "3.28.0"
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rouge
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.27.0
4
+ version: 3.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeanine Adkisson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-15 00:00:00.000000000 Z
11
+ date: 2022-02-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Rouge aims to a be a simple, easy-to-extend drop-in replacement for pygments.
14
14
  email:
@@ -80,6 +80,7 @@ files:
80
80
  - lib/rouge/demos/erlang
81
81
  - lib/rouge/demos/escape
82
82
  - lib/rouge/demos/factor
83
+ - lib/rouge/demos/fluent
83
84
  - lib/rouge/demos/fortran
84
85
  - lib/rouge/demos/freefem
85
86
  - lib/rouge/demos/fsharp
@@ -199,6 +200,8 @@ files:
199
200
  - lib/rouge/demos/sqf
200
201
  - lib/rouge/demos/sql
201
202
  - lib/rouge/demos/ssh
203
+ - lib/rouge/demos/stan
204
+ - lib/rouge/demos/stata
202
205
  - lib/rouge/demos/supercollider
203
206
  - lib/rouge/demos/swift
204
207
  - lib/rouge/demos/systemd
@@ -309,6 +312,7 @@ files:
309
312
  - lib/rouge/lexers/erlang.rb
310
313
  - lib/rouge/lexers/escape.rb
311
314
  - lib/rouge/lexers/factor.rb
315
+ - lib/rouge/lexers/fluent.rb
312
316
  - lib/rouge/lexers/fortran.rb
313
317
  - lib/rouge/lexers/freefem.rb
314
318
  - lib/rouge/lexers/fsharp.rb
@@ -440,6 +444,8 @@ files:
440
444
  - lib/rouge/lexers/sqf/keywords.rb
441
445
  - lib/rouge/lexers/sql.rb
442
446
  - lib/rouge/lexers/ssh.rb
447
+ - lib/rouge/lexers/stan.rb
448
+ - lib/rouge/lexers/stata.rb
443
449
  - lib/rouge/lexers/supercollider.rb
444
450
  - lib/rouge/lexers/swift.rb
445
451
  - lib/rouge/lexers/systemd.rb
@@ -504,7 +510,7 @@ metadata:
504
510
  changelog_uri: https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md
505
511
  documentation_uri: https://rouge-ruby.github.io/docs/
506
512
  source_code_uri: https://github.com/rouge-ruby/rouge
507
- post_install_message:
513
+ post_install_message:
508
514
  rdoc_options: []
509
515
  require_paths:
510
516
  - lib
@@ -519,8 +525,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
519
525
  - !ruby/object:Gem::Version
520
526
  version: '0'
521
527
  requirements: []
522
- rubygems_version: 3.0.3
523
- signing_key:
528
+ rubygems_version: 3.2.22
529
+ signing_key:
524
530
  specification_version: 4
525
531
  summary: A pure-ruby colorizer based on pygments
526
532
  test_files: []