rouge 4.0.1 → 4.1.1
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 +1 -1
- data/lib/rouge/demos/cisco_ios +19 -0
- data/lib/rouge/guessers/disambiguation.rb +7 -0
- data/lib/rouge/lexers/cisco_ios.rb +83 -0
- data/lib/rouge/lexers/cpp.rb +5 -1
- data/lib/rouge/lexers/csharp.rb +13 -12
- data/lib/rouge/lexers/dart.rb +6 -6
- data/lib/rouge/lexers/dot.rb +1 -0
- data/lib/rouge/lexers/ghc_cmm.rb +1 -1
- data/lib/rouge/lexers/javascript.rb +30 -0
- data/lib/rouge/lexers/jinja.rb +10 -10
- data/lib/rouge/lexers/liquid.rb +164 -164
- data/lib/rouge/lexers/mosel.rb +0 -4
- data/lib/rouge/lexers/openedge.rb +581 -376
- data/lib/rouge/lexers/php.rb +5 -3
- data/lib/rouge/lexers/python.rb +27 -8
- data/lib/rouge/lexers/ruby.rb +2 -1
- data/lib/rouge/lexers/rust.rb +7 -6
- data/lib/rouge/lexers/shell.rb +6 -2
- data/lib/rouge/lexers/twig.rb +9 -9
- data/lib/rouge/lexers/yaml.rb +1 -3
- data/lib/rouge/themes/github.rb +137 -62
- data/lib/rouge/version.rb +1 -1
- data/lib/rouge.rb +3 -5
- metadata +5 -3
data/lib/rouge/lexers/php.rb
CHANGED
@@ -66,7 +66,7 @@ module Rouge
|
|
66
66
|
|
67
67
|
id = /[\p{L}_][\p{L}\p{N}_]*/
|
68
68
|
ns = /(?:#{id}\\)+/
|
69
|
-
id_with_ns =
|
69
|
+
id_with_ns = /\\?(?:#{ns})?#{id}/
|
70
70
|
|
71
71
|
start do
|
72
72
|
case @start_inline
|
@@ -211,7 +211,7 @@ module Rouge
|
|
211
211
|
|
212
212
|
state :whitespace do
|
213
213
|
rule %r/\s+/, Text
|
214
|
-
rule %r
|
214
|
+
rule %r/#[^\[].*?$/, Comment::Single
|
215
215
|
rule %r(//.*?$), Comment::Single
|
216
216
|
rule %r(/\*\*(?!/).*?\*/)m, Comment::Doc
|
217
217
|
rule %r(/\*.*?\*/)m, Comment::Multiline
|
@@ -235,6 +235,8 @@ module Rouge
|
|
235
235
|
groups Keyword::Namespace, Text, Name::Namespace
|
236
236
|
end
|
237
237
|
|
238
|
+
rule %r/#\[.*\]$/, Name::Attribute
|
239
|
+
|
238
240
|
rule %r/(class|interface|trait|extends|implements)
|
239
241
|
(\s+)
|
240
242
|
(#{id_with_ns})/ix do |m|
|
@@ -271,7 +273,7 @@ module Rouge
|
|
271
273
|
state :in_catch do
|
272
274
|
rule %r/\(/, Punctuation
|
273
275
|
rule %r/\|/, Operator
|
274
|
-
rule
|
276
|
+
rule id_with_ns, Name::Class
|
275
277
|
mixin :escape
|
276
278
|
mixin :whitespace
|
277
279
|
mixin :return
|
data/lib/rouge/lexers/python.rb
CHANGED
@@ -40,7 +40,7 @@ module Rouge
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def self.builtins_pseudo
|
43
|
-
@builtins_pseudo ||= %w(
|
43
|
+
@builtins_pseudo ||= %w(None Ellipsis NotImplemented False True)
|
44
44
|
end
|
45
45
|
|
46
46
|
def self.exceptions
|
@@ -80,12 +80,18 @@ module Rouge
|
|
80
80
|
groups Punctuation, Text, Str::Doc
|
81
81
|
end
|
82
82
|
|
83
|
+
rule %r/\.\.\.\B$/, Name::Builtin::Pseudo
|
84
|
+
|
83
85
|
rule %r/[^\S\n]+/, Text
|
84
86
|
rule %r(#(.*)?\n?), Comment::Single
|
85
87
|
rule %r/[\[\]{}:(),;.]/, Punctuation
|
86
88
|
rule %r/\\\n/, Text
|
87
89
|
rule %r/\\/, Text
|
88
90
|
|
91
|
+
rule %r/@#{dotted_identifier}/i, Name::Decorator
|
92
|
+
|
93
|
+
rule %r/(>>>|\.\.\.)\B/, Generic::Prompt
|
94
|
+
|
89
95
|
rule %r/(in|is|and|or|not)\b/, Operator::Word
|
90
96
|
rule %r/(<<|>>|\/\/|\*\*)=?/, Operator
|
91
97
|
rule %r/[-~+\/*%=<>&^|@]=?|!=/, Operator
|
@@ -93,13 +99,13 @@ module Rouge
|
|
93
99
|
rule %r/(from)((?:\\\s|\s)+)(#{dotted_identifier})((?:\\\s|\s)+)(import)/ do
|
94
100
|
groups Keyword::Namespace,
|
95
101
|
Text,
|
96
|
-
Name
|
102
|
+
Name,
|
97
103
|
Text,
|
98
104
|
Keyword::Namespace
|
99
105
|
end
|
100
106
|
|
101
107
|
rule %r/(import)(\s+)(#{dotted_identifier})/ do
|
102
|
-
groups Keyword::Namespace, Text, Name
|
108
|
+
groups Keyword::Namespace, Text, Name
|
103
109
|
end
|
104
110
|
|
105
111
|
rule %r/(def)((?:\s|\\\s)+)/ do
|
@@ -112,16 +118,17 @@ module Rouge
|
|
112
118
|
push :classname
|
113
119
|
end
|
114
120
|
|
121
|
+
rule %r/([a-z_]\w*)[ \t]*(?=(\(.*\)))/m, Name::Function
|
122
|
+
rule %r/([A-Z_]\w*)[ \t]*(?=(\(.*\)))/m, Name::Class
|
123
|
+
|
115
124
|
# TODO: not in python 3
|
116
125
|
rule %r/`.*?`/, Str::Backtick
|
117
126
|
rule %r/([rfbu]{0,2})('''|"""|['"])/i do |m|
|
118
|
-
groups Str::Affix, Str
|
127
|
+
groups Str::Affix, Str::Heredoc
|
119
128
|
current_string.register type: m[1].downcase, delim: m[2]
|
120
129
|
push :generic_string
|
121
130
|
end
|
122
131
|
|
123
|
-
rule %r/@#{dotted_identifier}/i, Name::Decorator
|
124
|
-
|
125
132
|
# using negative lookbehind so we don't match property names
|
126
133
|
rule %r/(?<!\.)#{identifier}/ do |m|
|
127
134
|
if self.class.keywords.include? m[0]
|
@@ -175,11 +182,12 @@ module Rouge
|
|
175
182
|
end
|
176
183
|
|
177
184
|
state :generic_string do
|
178
|
-
rule %r
|
185
|
+
rule %r/>>>|\.\.\./, Generic::Prompt, :doctest
|
186
|
+
rule %r/[^'"\\{]+?/, Str
|
179
187
|
rule %r/{{/, Str
|
180
188
|
|
181
189
|
rule %r/'''|"""|['"]/ do |m|
|
182
|
-
token Str
|
190
|
+
token Str::Heredoc
|
183
191
|
if current_string.delim? m[0]
|
184
192
|
current_string.remove
|
185
193
|
pop!
|
@@ -217,6 +225,17 @@ module Rouge
|
|
217
225
|
rule %r/\\./, Str, :pop!
|
218
226
|
end
|
219
227
|
|
228
|
+
state :doctest do
|
229
|
+
rule %r/\n\n/, Text, :pop!
|
230
|
+
|
231
|
+
rule %r/'''|"""/ do
|
232
|
+
token Str::Heredoc
|
233
|
+
pop!(2) if in_state?(:generic_string) # pop :doctest and :generic_string
|
234
|
+
end
|
235
|
+
|
236
|
+
mixin :root
|
237
|
+
end
|
238
|
+
|
220
239
|
state :generic_interpol do
|
221
240
|
rule %r/[^{}!:]+/ do |m|
|
222
241
|
recurse m[0]
|
data/lib/rouge/lexers/ruby.rb
CHANGED
@@ -42,7 +42,7 @@ module Rouge
|
|
42
42
|
rule %r/%([rqswQWxiI])?([^\w\s])/ do |m|
|
43
43
|
open = Regexp.escape(m[2])
|
44
44
|
close = Regexp.escape(delimiter_map[m[2]] || m[2])
|
45
|
-
interp = /[rQWxI]/ === m[1]
|
45
|
+
interp = /[rQWxI]/ === m[1] || !m[1]
|
46
46
|
toktype = Str::Other
|
47
47
|
|
48
48
|
puts " open: #{open.inspect}" if @debug
|
@@ -188,6 +188,7 @@ module Rouge
|
|
188
188
|
|
189
189
|
rule %r/(?:#{keywords.join('|')})(?=\W|$)/, Keyword, :expr_start
|
190
190
|
rule %r/(?:#{keywords_pseudo.join('|')})\b/, Keyword::Pseudo, :expr_start
|
191
|
+
rule %r/(not|and|or)\b/, Operator::Word, :expr_start
|
191
192
|
|
192
193
|
rule %r(
|
193
194
|
(module)
|
data/lib/rouge/lexers/rust.rb
CHANGED
@@ -35,17 +35,18 @@ module Rouge
|
|
35
35
|
def self.builtins
|
36
36
|
@builtins ||= Set.new %w(
|
37
37
|
Add BitAnd BitOr BitXor bool c_char c_double c_float char
|
38
|
-
c_int clock_t c_long c_longlong
|
38
|
+
c_int clock_t c_long c_longlong Copy c_schar c_short
|
39
39
|
c_uchar c_uint c_ulong c_ulonglong c_ushort c_void dev_t DIR
|
40
|
-
dirent Div
|
41
|
-
i16 i32 i64 i8 isize Index ino_t int intptr_t
|
42
|
-
Neg
|
43
|
-
|
40
|
+
dirent Div Eq Err f32 f64 FILE float fpos_t
|
41
|
+
i16 i32 i64 i8 isize Index ino_t int intptr_t mode_t Mul
|
42
|
+
Neg None off_t Ok Option Ord Owned pid_t ptrdiff_t
|
43
|
+
Send Shl Shr size_t Some ssize_t str Sub time_t
|
44
44
|
u16 u32 u64 u8 usize uint uintptr_t
|
45
|
-
Box Vec String
|
45
|
+
Box Vec String Rc Arc
|
46
46
|
u128 i128 Result Sync Pin Unpin Sized Drop drop Fn FnMut FnOnce
|
47
47
|
Clone PartialEq PartialOrd AsMut AsRef From Into Default
|
48
48
|
DoubleEndedIterator ExactSizeIterator Extend IntoIterator Iterator
|
49
|
+
FromIterator ToOwned ToString TryFrom TryInto
|
49
50
|
)
|
50
51
|
end
|
51
52
|
|
data/lib/rouge/lexers/shell.rb
CHANGED
@@ -9,8 +9,11 @@ module Rouge
|
|
9
9
|
|
10
10
|
tag 'shell'
|
11
11
|
aliases 'bash', 'zsh', 'ksh', 'sh'
|
12
|
-
filenames '*.sh', '*.bash', '*.zsh', '*.ksh', '.bashrc',
|
13
|
-
'.kshrc', '.profile',
|
12
|
+
filenames '*.sh', '*.bash', '*.zsh', '*.ksh', '.bashrc',
|
13
|
+
'.kshrc', '.profile',
|
14
|
+
'.zshenv', '.zprofile', '.zshrc', '.zlogin', '.zlogout',
|
15
|
+
'zshenv', 'zprofile', 'zshrc', 'zlogin', 'zlogout',
|
16
|
+
'APKBUILD', 'PKGBUILD', '*.ebuild',
|
14
17
|
'*.eclass', '*.exheres-0', '*.exlib'
|
15
18
|
|
16
19
|
mimetypes 'application/x-sh', 'application/x-shellscript', 'text/x-sh',
|
@@ -18,6 +21,7 @@ module Rouge
|
|
18
21
|
|
19
22
|
def self.detect?(text)
|
20
23
|
return true if text.shebang?(/(ba|z|k)?sh/)
|
24
|
+
return true if text.start_with?('#compdef', '#autoload')
|
21
25
|
end
|
22
26
|
|
23
27
|
KEYWORDS = %w(
|
data/lib/rouge/lexers/twig.rb
CHANGED
@@ -16,24 +16,24 @@ module Rouge
|
|
16
16
|
mimetypes 'application/x-twig', 'text/html+twig'
|
17
17
|
|
18
18
|
def self.keywords
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
@keywords ||= %w(as do extends flush from import include use else starts
|
20
|
+
ends with without autoescape endautoescape block
|
21
|
+
endblock embed endembed filter endfilter for endfor
|
22
|
+
if endif macro endmacro sandbox endsandbox set endset
|
23
|
+
spaceless endspaceless)
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.tests
|
27
|
-
|
28
|
-
|
27
|
+
@tests ||= %w(constant defined divisibleby empty even iterable null odd
|
28
|
+
sameas)
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.pseudo_keywords
|
32
|
-
|
32
|
+
@pseudo_keywords ||= %w(true false none)
|
33
33
|
end
|
34
34
|
|
35
35
|
def self.word_operators
|
36
|
-
|
36
|
+
@word_operators ||= %w(b-and b-or b-xor is in and or not)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
data/lib/rouge/lexers/yaml.rb
CHANGED
@@ -18,8 +18,6 @@ module Rouge
|
|
18
18
|
return true if text =~ /\A\s*%YAML/m
|
19
19
|
end
|
20
20
|
|
21
|
-
SPECIAL_VALUES = Regexp.union(%w(true false null))
|
22
|
-
|
23
21
|
# NB: Tabs are forbidden in YAML, which is why you see things
|
24
22
|
# like /[ ]+/.
|
25
23
|
|
@@ -340,7 +338,7 @@ module Rouge
|
|
340
338
|
end
|
341
339
|
|
342
340
|
rule %r/[ ]+/, Str
|
343
|
-
rule
|
341
|
+
rule %r((true|false|null)\b), Keyword::Constant
|
344
342
|
rule %r/\d+(?:\.\d+)?(?=(\r?\n)| +#)/, Literal::Number, :pop!
|
345
343
|
|
346
344
|
# regular non-whitespace characters
|
data/lib/rouge/themes/github.rb
CHANGED
@@ -6,68 +6,143 @@ module Rouge
|
|
6
6
|
class Github < CSSTheme
|
7
7
|
name 'github'
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
9
|
+
# Primer primitives
|
10
|
+
# https://github.com/primer/primitives/tree/main/src/tokens
|
11
|
+
P_RED_0 = {:light => '#ffebe9', :dark => '#ffdcd7'}
|
12
|
+
P_RED_3 = {:dark => '#ff7b72'}
|
13
|
+
P_RED_5 = {:light => '#cf222e'}
|
14
|
+
P_RED_7 = {:light => '#82071e', :dark => '#8e1519'}
|
15
|
+
P_RED_8 = {:dark => '#67060c'}
|
16
|
+
P_ORANGE_2 = {:dark => '#ffa657'}
|
17
|
+
P_ORANGE_6 = {:light => '#953800'}
|
18
|
+
P_GREEN_0 = {:light => '#dafbe1', :dark => '#aff5b4'}
|
19
|
+
P_GREEN_1 = {:dark => '#7ee787'}
|
20
|
+
P_GREEN_6 = {:light => '#116329'}
|
21
|
+
P_GREEN_8 = {:dark => '#033a16'}
|
22
|
+
P_BLUE_1 = {:dark => '#a5d6ff'}
|
23
|
+
P_BLUE_2 = {:dark => '#79c0ff'}
|
24
|
+
P_BLUE_5 = {:dark => '#1f6feb'}
|
25
|
+
P_BLUE_6 = {:light => '#0550ae'}
|
26
|
+
P_BLUE_8 = {:light => '#0a3069'}
|
27
|
+
P_PURPLE_2 = {:dark => '#d2a8ff'}
|
28
|
+
P_PURPLE_5 = {:light => '#8250df'}
|
29
|
+
P_GRAY_0 = {:light => '#f6f8fa', :dark => '#f0f6fc'}
|
30
|
+
P_GRAY_1 = {:dark => '#c9d1d9'}
|
31
|
+
P_GRAY_3 = {:dark => '#8b949e'}
|
32
|
+
P_GRAY_5 = {:light => '#6e7781'}
|
33
|
+
P_GRAY_8 = {:dark => '#161b22'}
|
34
|
+
P_GRAY_9 = {:light => '#24292f'}
|
35
|
+
|
36
|
+
extend HasModes
|
37
|
+
|
38
|
+
def self.light!
|
39
|
+
mode :dark # indicate that there is a dark variant
|
40
|
+
mode! :light
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.dark!
|
44
|
+
mode :light # indicate that there is a light variant
|
45
|
+
mode! :dark
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.make_dark!
|
49
|
+
palette :comment => P_GRAY_3[@mode]
|
50
|
+
palette :constant => P_BLUE_2[@mode]
|
51
|
+
palette :entity => P_PURPLE_2[@mode]
|
52
|
+
palette :heading => P_BLUE_5[@mode]
|
53
|
+
palette :keyword => P_RED_3[@mode]
|
54
|
+
palette :string => P_BLUE_1[@mode]
|
55
|
+
palette :tag => P_GREEN_1[@mode]
|
56
|
+
palette :variable => P_ORANGE_2[@mode]
|
57
|
+
|
58
|
+
palette :fgDefault => P_GRAY_1[@mode]
|
59
|
+
palette :bgDefault => P_GRAY_8[@mode]
|
60
|
+
|
61
|
+
palette :fgInserted => P_GREEN_0[@mode]
|
62
|
+
palette :bgInserted => P_GREEN_8[@mode]
|
63
|
+
|
64
|
+
palette :fgDeleted => P_RED_0[@mode]
|
65
|
+
palette :bgDeleted => P_RED_8[@mode]
|
66
|
+
|
67
|
+
palette :fgError => P_GRAY_0[@mode]
|
68
|
+
palette :bgError => P_RED_7[@mode]
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.make_light!
|
72
|
+
palette :comment => P_GRAY_5[@mode]
|
73
|
+
palette :constant => P_BLUE_6[@mode]
|
74
|
+
palette :entity => P_PURPLE_5[@mode]
|
75
|
+
palette :heading => P_BLUE_6[@mode]
|
76
|
+
palette :keyword => P_RED_5[@mode]
|
77
|
+
palette :string => P_BLUE_8[@mode]
|
78
|
+
palette :tag => P_GREEN_6[@mode]
|
79
|
+
palette :variable => P_ORANGE_6[@mode]
|
80
|
+
|
81
|
+
palette :fgDefault => P_GRAY_9[@mode]
|
82
|
+
palette :bgDefault => P_GRAY_0[@mode]
|
83
|
+
|
84
|
+
palette :fgInserted => P_GREEN_6[@mode]
|
85
|
+
palette :bgInserted => P_GREEN_0[@mode]
|
86
|
+
|
87
|
+
palette :fgDeleted => P_RED_7[@mode]
|
88
|
+
palette :bgDeleted => P_RED_0[@mode]
|
89
|
+
|
90
|
+
palette :fgError => P_GRAY_0[@mode]
|
91
|
+
palette :bgError => P_RED_7[@mode]
|
92
|
+
end
|
93
|
+
|
94
|
+
light!
|
95
|
+
|
96
|
+
style Text, :fg => :fgDefault, :bg => :bgDefault
|
97
|
+
|
98
|
+
style Keyword, :fg => :keyword
|
99
|
+
|
100
|
+
style Generic::Error, :fg => :fgError
|
101
|
+
|
102
|
+
style Generic::Deleted, :fg => :fgDeleted, :bg => :bgDeleted
|
103
|
+
|
104
|
+
style Name::Builtin,
|
105
|
+
Name::Class,
|
106
|
+
Name::Constant,
|
107
|
+
Name::Namespace, :fg => :variable
|
108
|
+
|
109
|
+
style Literal::String::Regex,
|
110
|
+
Name::Attribute,
|
111
|
+
Name::Tag, :fg => :tag
|
112
|
+
|
113
|
+
style Generic::Inserted, :fg => :fgInserted, :bg => :bgInserted
|
114
|
+
|
115
|
+
style Keyword::Constant,
|
116
|
+
Literal,
|
117
|
+
Literal::String::Backtick,
|
118
|
+
Name::Builtin::Pseudo,
|
119
|
+
Name::Exception,
|
120
|
+
Name::Label,
|
121
|
+
Name::Property,
|
122
|
+
Name::Variable,
|
123
|
+
Operator, :fg => :constant
|
124
|
+
|
125
|
+
style Generic::Heading,
|
126
|
+
Generic::Subheading, :fg => :heading, :bold => true
|
127
|
+
|
128
|
+
style Literal::String, :fg => :string
|
129
|
+
|
130
|
+
style Name::Decorator,
|
131
|
+
Name::Function, :fg => :entity
|
132
|
+
|
133
|
+
style Error, :fg => :fgError, :bg => :bgError
|
134
|
+
|
135
|
+
style Comment,
|
136
|
+
Generic::Lineno,
|
137
|
+
Generic::Traceback, :fg => :comment
|
138
|
+
|
139
|
+
style Name::Entity,
|
140
|
+
Literal::String::Interpol, :fg => :fgDefault
|
141
|
+
|
142
|
+
style Generic::Emph, :fg => :fgDefault, :italic => true
|
143
|
+
|
144
|
+
style Generic::Strong, :fg => :fgDefault, :bold => true
|
145
|
+
|
71
146
|
end
|
72
147
|
end
|
73
148
|
end
|
data/lib/rouge/version.rb
CHANGED
data/lib/rouge.rb
CHANGED
@@ -47,11 +47,9 @@ module Rouge
|
|
47
47
|
#
|
48
48
|
# @api private
|
49
49
|
def load_lexers
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
Dir.glob(File.join(lexer_dir, '*.rb')).each do |f|
|
54
|
-
Lexers.load_lexer(f.sub(lexer_dir, ''))
|
50
|
+
lexer_dir = Pathname.new(LIB_DIR) / "rouge/lexers"
|
51
|
+
Pathname.glob(lexer_dir / '*.rb').each do |f|
|
52
|
+
Lexers.load_lexer(f.relative_path_from(lexer_dir))
|
55
53
|
end
|
56
54
|
end
|
57
55
|
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: 4.
|
4
|
+
version: 4.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeanine Adkisson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-15 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:
|
@@ -44,6 +44,7 @@ files:
|
|
44
44
|
- lib/rouge/demos/c
|
45
45
|
- lib/rouge/demos/ceylon
|
46
46
|
- lib/rouge/demos/cfscript
|
47
|
+
- lib/rouge/demos/cisco_ios
|
47
48
|
- lib/rouge/demos/clean
|
48
49
|
- lib/rouge/demos/clojure
|
49
50
|
- lib/rouge/demos/cmake
|
@@ -284,6 +285,7 @@ files:
|
|
284
285
|
- lib/rouge/lexers/c.rb
|
285
286
|
- lib/rouge/lexers/ceylon.rb
|
286
287
|
- lib/rouge/lexers/cfscript.rb
|
288
|
+
- lib/rouge/lexers/cisco_ios.rb
|
287
289
|
- lib/rouge/lexers/clean.rb
|
288
290
|
- lib/rouge/lexers/clojure.rb
|
289
291
|
- lib/rouge/lexers/cmake.rb
|
@@ -541,7 +543,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
541
543
|
- !ruby/object:Gem::Version
|
542
544
|
version: '0'
|
543
545
|
requirements: []
|
544
|
-
rubygems_version: 3.
|
546
|
+
rubygems_version: 3.4.12
|
545
547
|
signing_key:
|
546
548
|
specification_version: 4
|
547
549
|
summary: A pure-ruby colorizer based on pygments
|