rouge 3.19.0 → 3.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rouge.rb +1 -0
  3. data/lib/rouge/cli.rb +32 -2
  4. data/lib/rouge/demos/augeas +16 -0
  5. data/lib/rouge/demos/bibtex +12 -0
  6. data/lib/rouge/demos/brightscript +6 -0
  7. data/lib/rouge/demos/email +11 -0
  8. data/lib/rouge/demos/hlsl +20 -0
  9. data/lib/rouge/demos/j +12 -0
  10. data/lib/rouge/demos/janet +3 -0
  11. data/lib/rouge/demos/livescript +15 -0
  12. data/lib/rouge/demos/postscript +9 -0
  13. data/lib/rouge/demos/ssh +4 -0
  14. data/lib/rouge/demos/systemd +4 -0
  15. data/lib/rouge/demos/velocity +9 -0
  16. data/lib/rouge/demos/zig +6 -0
  17. data/lib/rouge/formatters/html_line_highlighter.rb +26 -0
  18. data/lib/rouge/lexer.rb +38 -20
  19. data/lib/rouge/lexers/apex.rb +9 -7
  20. data/lib/rouge/lexers/augeas.rb +93 -0
  21. data/lib/rouge/lexers/batchfile.rb +1 -1
  22. data/lib/rouge/lexers/bibtex.rb +115 -0
  23. data/lib/rouge/lexers/brightscript.rb +147 -0
  24. data/lib/rouge/lexers/cpp.rb +11 -4
  25. data/lib/rouge/lexers/css.rb +3 -1
  26. data/lib/rouge/lexers/diff.rb +1 -1
  27. data/lib/rouge/lexers/docker.rb +1 -1
  28. data/lib/rouge/lexers/elm.rb +5 -5
  29. data/lib/rouge/lexers/email.rb +39 -0
  30. data/lib/rouge/lexers/ghc_core.rb +2 -1
  31. data/lib/rouge/lexers/graphql.rb +1 -1
  32. data/lib/rouge/lexers/hack.rb +1 -1
  33. data/lib/rouge/lexers/haskell.rb +27 -19
  34. data/lib/rouge/lexers/hlsl.rb +166 -0
  35. data/lib/rouge/lexers/html.rb +7 -7
  36. data/lib/rouge/lexers/http.rb +8 -2
  37. data/lib/rouge/lexers/isbl.rb +2 -2
  38. data/lib/rouge/lexers/j.rb +244 -0
  39. data/lib/rouge/lexers/janet.rb +218 -0
  40. data/lib/rouge/lexers/javascript.rb +10 -5
  41. data/lib/rouge/lexers/jinja.rb +22 -7
  42. data/lib/rouge/lexers/jsl.rb +1 -1
  43. data/lib/rouge/lexers/jsonnet.rb +4 -3
  44. data/lib/rouge/lexers/jsp.rb +2 -3
  45. data/lib/rouge/lexers/jsx.rb +47 -59
  46. data/lib/rouge/lexers/julia.rb +4 -2
  47. data/lib/rouge/lexers/kotlin.rb +7 -3
  48. data/lib/rouge/lexers/livescript.rb +310 -0
  49. data/lib/rouge/lexers/opentype_feature_file.rb +26 -42
  50. data/lib/rouge/lexers/perl.rb +21 -3
  51. data/lib/rouge/lexers/php.rb +274 -128
  52. data/lib/rouge/lexers/postscript.rb +93 -0
  53. data/lib/rouge/lexers/powershell.rb +5 -3
  54. data/lib/rouge/lexers/q.rb +1 -1
  55. data/lib/rouge/lexers/rego.rb +27 -12
  56. data/lib/rouge/lexers/ruby.rb +3 -3
  57. data/lib/rouge/lexers/rust.rb +3 -1
  58. data/lib/rouge/lexers/sass/common.rb +1 -0
  59. data/lib/rouge/lexers/smarty.rb +1 -1
  60. data/lib/rouge/lexers/ssh.rb +33 -0
  61. data/lib/rouge/lexers/systemd.rb +34 -0
  62. data/lib/rouge/lexers/tsx.rb +10 -3
  63. data/lib/rouge/lexers/twig.rb +4 -4
  64. data/lib/rouge/lexers/typescript.rb +1 -12
  65. data/lib/rouge/lexers/typescript/common.rb +18 -4
  66. data/lib/rouge/lexers/velocity.rb +71 -0
  67. data/lib/rouge/lexers/wollok.rb +0 -1
  68. data/lib/rouge/lexers/xml.rb +5 -3
  69. data/lib/rouge/lexers/yaml.rb +5 -3
  70. data/lib/rouge/lexers/zig.rb +139 -0
  71. data/lib/rouge/regex_lexer.rb +56 -1
  72. data/lib/rouge/version.rb +1 -1
  73. metadata +29 -2
@@ -0,0 +1,71 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ module Rouge
4
+ module Lexers
5
+ class Velocity < TemplateLexer
6
+ title 'Velocity'
7
+ desc 'Velocity is a Java-based template engine (velocity.apache.org)'
8
+ tag 'velocity'
9
+ filenames '*.vm', '*.velocity', '*.fhtml'
10
+ mimetypes 'text/html+velocity'
11
+
12
+ id = /[a-z_]\w*/i
13
+
14
+ state :root do
15
+ rule %r/[^{#$]+/ do
16
+ delegate parent
17
+ end
18
+
19
+ rule %r/(#)(\*.*?\*)(#)/m, Comment::Multiline
20
+ rule %r/(##)(.*?$)/, Comment::Single
21
+
22
+ rule %r/(#\{?)(#{id})(\}?)(\s?\()/m do
23
+ groups Punctuation, Name::Function, Punctuation, Punctuation
24
+ push :directive_params
25
+ end
26
+
27
+ rule %r/(#\{?)(#{id})(\}|\b)/m do
28
+ groups Punctuation, Name::Function, Punctuation
29
+ end
30
+
31
+ rule %r/\$\{?/, Punctuation, :variable
32
+ end
33
+
34
+ state :variable do
35
+ rule %r/#{id}/, Name::Variable
36
+ rule %r/\(/, Punctuation, :func_params
37
+ rule %r/(\.)(#{id})/ do
38
+ groups Punctuation, Name::Variable
39
+ end
40
+ rule %r/\}/, Punctuation, :pop!
41
+ rule(//) { pop! }
42
+ end
43
+
44
+ state :directive_params do
45
+ rule %r/(&&|\|\||==?|!=?|[-<>+*%&|^\/])|\b(eq|ne|gt|lt|ge|le|not|in)\b/, Operator
46
+ rule %r/\[/, Operator, :range_operator
47
+ rule %r/\b#{id}\b/, Name::Function
48
+ mixin :func_params
49
+ end
50
+
51
+ state :range_operator do
52
+ rule %r/[.]{2}/, Operator
53
+ mixin :func_params
54
+ rule %r/\]/, Operator, :pop!
55
+ end
56
+
57
+ state :func_params do
58
+ rule %r/\$\{?/, Punctuation, :variable
59
+ rule %r/\s+/, Text
60
+ rule %r/,/, Punctuation
61
+ rule %r/"(\\\\|\\"|[^"])*"/, Str::Double
62
+ rule %r/'(\\\\|\\'|[^'])*'/, Str::Single
63
+ rule %r/0[xX][0-9a-fA-F]+[Ll]?/, Num::Hex
64
+ rule %r/\b[0-9]+\b/, Num::Integer
65
+ rule %r/(true|false|null)\b/, Keyword::Constant
66
+ rule %r/[(\[]/, Punctuation, :push!
67
+ rule %r/[)\]}]/, Punctuation, :pop!
68
+ end
69
+ end
70
+ end
71
+ end
@@ -18,7 +18,6 @@ module Rouge
18
18
 
19
19
  state :whitespaces_and_comments do
20
20
  rule %r/\s+/m, Text::Whitespace
21
- rule %r/$+/m, Text::Whitespace
22
21
  rule %r(//.*$), Comment::Single
23
22
  rule %r(/\*(.|\s)*?\*/)m, Comment::Multiline
24
23
  end
@@ -12,6 +12,8 @@ module Rouge
12
12
  mimetypes 'text/xml', 'application/xml', 'image/svg+xml',
13
13
  'application/rss+xml', 'application/atom+xml'
14
14
 
15
+ # Documentation: https://www.w3.org/TR/xml11/#charsets and https://www.w3.org/TR/xml11/#sec-suggested-names
16
+
15
17
  def self.detect?(text)
16
18
  return false if text.doctype?(/html/)
17
19
  return true if text =~ /\A<\?xml\b/
@@ -27,10 +29,10 @@ module Rouge
27
29
  rule %r/<![^>]*>/, Comment::Preproc
28
30
 
29
31
  # open tags
30
- rule %r(<\s*[\w:.-]+)m, Name::Tag, :tag
32
+ rule %r(<\s*[\p{L}:_][\p{Word}\p{Cf}:.·-]*)m, Name::Tag, :tag
31
33
 
32
34
  # self-closing tags
33
- rule %r(<\s*/\s*[\w:.-]+\s*>)m, Name::Tag
35
+ rule %r(<\s*/\s*[\p{L}:_][\p{Word}\p{Cf}:.·-]*\s*>)m, Name::Tag
34
36
  end
35
37
 
36
38
  state :comment do
@@ -41,7 +43,7 @@ module Rouge
41
43
 
42
44
  state :tag do
43
45
  rule %r/\s+/m, Text
44
- rule %r/[\w.:-]+\s*=/m, Name::Attribute, :attr
46
+ rule %r/[\p{L}:_][\p{Word}\p{Cf}:.·-]*\s*=/m, Name::Attribute, :attr
45
47
  rule %r(/?\s*>), Name::Tag, :pop!
46
48
  end
47
49
 
@@ -11,6 +11,8 @@ module Rouge
11
11
  aliases 'yml'
12
12
  filenames '*.yaml', '*.yml'
13
13
 
14
+ # Documentation: https://yaml.org/spec/1.2/spec.html
15
+
14
16
  def self.detect?(text)
15
17
  # look for the %YAML directive
16
18
  return true if text =~ /\A\s*%YAML/m
@@ -165,15 +167,15 @@ module Rouge
165
167
  )x, Keyword::Type
166
168
 
167
169
  # an anchor
168
- rule %r/&[\w-]+/, Name::Label
170
+ rule %r/&[\p{L}\p{Nl}\p{Nd}_-]+/, Name::Label
169
171
 
170
172
  # an alias
171
- rule %r/\*[\w-]+/, Name::Variable
173
+ rule %r/\*[\p{L}\p{Nl}\p{Nd}_-]+/, Name::Variable
172
174
  end
173
175
 
174
176
  state :block_nodes do
175
177
  # implicit key
176
- rule %r/((?:\w[\w -]*)?)(:)(?=\s|$)/ do |m|
178
+ rule %r/((?:[\p{L}\p{Nl}\p{Nd}_][\p{L}\p{Nl}\p{Nd}\p{Blank}_-]*)?)(:)(?=\s|$)/ do |m|
177
179
  groups Name::Attribute, Punctuation::Indicator
178
180
  set_indent m[0], :implicit => true
179
181
  end
@@ -0,0 +1,139 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Zig < RegexLexer
7
+ tag 'zig'
8
+ aliases 'zir'
9
+ filenames '*.zig'
10
+ mimetypes 'text/x-zig'
11
+
12
+ title 'Zig'
13
+ desc 'The Zig programming language (ziglang.org)'
14
+
15
+ def self.keywords
16
+ @keywords ||= %w(
17
+ align linksection threadlocal struct enum union error break return
18
+ anyframe fn c_longlong c_ulonglong c_longdouble c_void comptime_float
19
+ c_short c_ushort c_int c_uint c_long c_ulong continue asm defer
20
+ errdefer const var extern packed export pub if else switch and or
21
+ orelse while for bool unreachable try catch async suspend nosuspend
22
+ await resume undefined usingnamespace test void noreturn type
23
+ anyerror usize noalias inline noinline comptime callconv volatile
24
+ allowzero
25
+ )
26
+ end
27
+
28
+ def self.builtins
29
+ @builtins ||= %w(
30
+ @addWithOverflow @as @atomicLoad @atomicStore @bitCast @breakpoint
31
+ @alignCast @alignOf @cDefine @cImport @cInclude @bitOffsetOf
32
+ @atomicRmw @bytesToSlice @byteOffsetOf @OpaqueType @panic @ptrCast
33
+ @bitReverse @Vector @sin @cUndef @canImplicitCast @clz @cmpxchgWeak
34
+ @cmpxchgStrong @compileError @compileLog @ctz @popCount @divExact
35
+ @divFloor @cos @divTrunc @embedFile @export @tagName @TagType
36
+ @errorName @call @errorReturnTrace @fence @fieldParentPtr @field
37
+ @unionInit @errorToInt @intToEnum @enumToInt @setAlignStack @frame
38
+ @Frame @exp @exp2 @log @log2 @log10 @fabs @floor @ceil @trunc @round
39
+ @floatCast @intToFloat @floatToInt @boolToInt @errSetCast @intToError
40
+ @frameAddress @import @newStackCall @asyncCall @intToPtr @intCast
41
+ @frameSize @memcpy @memset @mod @mulWithOverflow @splat @ptrToInt
42
+ @rem @returnAddress @setCold @Type @shuffle @setGlobalLinkage
43
+ @setGlobalSection @shlExact @This @hasDecl @hasField
44
+ @setRuntimeSafety @setEvalBranchQuota @setFloatMode @shlWithOverflow
45
+ @shrExact @sizeOf @bitSizeOf @sqrt @byteSwap @subWithOverflow
46
+ @sliceToBytes comptime_int @truncate @typeInfo @typeName @TypeOf
47
+ )
48
+ end
49
+
50
+ id = /[a-z_]\w*/i
51
+ escapes = /\\ ([nrt'"\\0] | x\h{2} | u\h{4} | U\h{8})/x
52
+
53
+ state :bol do
54
+ mixin :whitespace
55
+ rule %r/#\s[^\n]*/, Comment::Special
56
+ rule(//) { pop! }
57
+ end
58
+
59
+ state :attribute do
60
+ mixin :whitespace
61
+ mixin :literals
62
+ rule %r/[(,)=:]/, Name::Decorator
63
+ rule %r/\]/, Name::Decorator, :pop!
64
+ rule id, Name::Decorator
65
+ end
66
+
67
+ state :whitespace do
68
+ rule %r/\s+/, Text
69
+ rule %r(//[^\n]*), Comment
70
+ end
71
+
72
+ state :root do
73
+ rule %r/\n/, Text, :bol
74
+
75
+ mixin :whitespace
76
+
77
+ rule %r/\b(?:(i|u)[0-9]+)\b/, Keyword::Type
78
+ rule %r/\b(?:f(16|32|64|128))\b/, Keyword::Type
79
+ rule %r/\b(?:(isize|usize))\b/, Keyword::Type
80
+
81
+ mixin :literals
82
+
83
+ rule %r/'#{id}/, Name::Variable
84
+ rule %r/([.]?)(\s*)(@?#{id})(\s*)([(]?)/ do |m|
85
+ name = m[3]
86
+ t = if self.class.keywords.include? name
87
+ Keyword
88
+ elsif self.class.builtins.include? name
89
+ Name::Builtin
90
+ elsif !m[1].empty? && !m[5].empty?
91
+ Name::Function
92
+ elsif !m[1].empty?
93
+ Name::Property
94
+ else
95
+ Name
96
+ end
97
+
98
+ groups Punctuation, Text, t, Text, Punctuation
99
+ end
100
+
101
+ rule %r/[()\[\]{}|,:;]/, Punctuation
102
+ rule %r/[*\/!@~&+%^<>=\?-]|\.{1,3}/, Operator
103
+ end
104
+
105
+ state :literals do
106
+ rule %r/\b(?:true|false|null)\b/, Keyword::Constant
107
+ rule %r(
108
+ ' (?: #{escapes} | [^\\] ) '
109
+ )x, Str::Char
110
+
111
+ rule %r/"/, Str, :string
112
+ rule %r/r(#*)".*?"\1/m, Str
113
+
114
+ dot = /[.][0-9_]+/
115
+ exp = /e[-+]?[0-9_]+/
116
+
117
+ rule %r(
118
+ [0-9]+
119
+ (#{dot} #{exp}?
120
+ |#{dot}? #{exp}
121
+ )
122
+ )x, Num::Float
123
+
124
+ rule %r(
125
+ ( 0b[10_]+
126
+ | 0x[0-9a-fA-F_]+
127
+ | [0-9_]+
128
+ )
129
+ )x, Num::Integer
130
+ end
131
+
132
+ state :string do
133
+ rule %r/"/, Str, :pop!
134
+ rule escapes, Str::Escape
135
+ rule %r/[^"\\]+/m, Str
136
+ end
137
+ end
138
+ end
139
+ end
@@ -6,6 +6,37 @@ module Rouge
6
6
  # A stateful lexer that uses sets of regular expressions to
7
7
  # tokenize a string. Most lexers are instances of RegexLexer.
8
8
  class RegexLexer < Lexer
9
+ class InvalidRegex < StandardError
10
+ def initialize(re)
11
+ @re = re
12
+ end
13
+
14
+ def to_s
15
+ "regex #{@re.inspect} matches empty string, but has no predicate!"
16
+ end
17
+ end
18
+
19
+ class ClosedState < StandardError
20
+ attr_reader :state
21
+ def initialize(state)
22
+ @state = state
23
+ end
24
+
25
+ def rule
26
+ @state.rules.last
27
+ end
28
+
29
+ def to_s
30
+ rule = @state.rules.last
31
+ msg = "State :#{state.name} cannot continue after #{rule.inspect}, which will always match."
32
+ if rule.re.source.include?('*')
33
+ msg += " Consider replacing * with +."
34
+ end
35
+
36
+ msg
37
+ end
38
+ end
39
+
9
40
  # A rule is a tuple of a regular expression to test, and a callback
10
41
  # to perform if the test succeeds.
11
42
  #
@@ -42,12 +73,13 @@ module Rouge
42
73
  end
43
74
 
44
75
  class StateDSL
45
- attr_reader :rules
76
+ attr_reader :rules, :name
46
77
  def initialize(name, &defn)
47
78
  @name = name
48
79
  @defn = defn
49
80
  @rules = []
50
81
  @loaded = false
82
+ @closed = false
51
83
  end
52
84
 
53
85
  def to_state(lexer_class)
@@ -95,10 +127,14 @@ module Rouge
95
127
  # {RegexLexer#token}, and {RegexLexer#delegate}. The first
96
128
  # argument can be used to access the match groups.
97
129
  def rule(re, tok=nil, next_state=nil, &callback)
130
+ raise ClosedState.new(self) if @closed
131
+
98
132
  if tok.nil? && callback.nil?
99
133
  raise "please pass `rule` a token to yield or a callback"
100
134
  end
101
135
 
136
+ matches_empty = re =~ ''
137
+
102
138
  callback ||= case next_state
103
139
  when :pop!
104
140
  proc do |stream|
@@ -123,6 +159,9 @@ module Rouge
123
159
  @stack.push(state)
124
160
  end
125
161
  when nil
162
+ # cannot use an empty-matching regexp with no predicate
163
+ raise InvalidRegex.new(re) if matches_empty
164
+
126
165
  proc do |stream|
127
166
  puts " yielding: #{tok.qualname}, #{stream[0].inspect}" if @debug
128
167
  @output_stream.call(tok, stream[0])
@@ -132,6 +171,22 @@ module Rouge
132
171
  end
133
172
 
134
173
  rules << Rule.new(re, callback)
174
+
175
+ close! if matches_empty && !context_sensitive?(re)
176
+ end
177
+
178
+ def context_sensitive?(re)
179
+ source = re.source
180
+ return true if source =~ /[(][?]<?[!=]/
181
+
182
+ # anchors count as lookahead/behind
183
+ return true if source =~ /[$^]/
184
+
185
+ false
186
+ end
187
+
188
+ def close!
189
+ @closed = true
135
190
  end
136
191
 
137
192
  # Mix in the rules from another state into this state. The rules
@@ -3,6 +3,6 @@
3
3
 
4
4
  module Rouge
5
5
  def self.version
6
- "3.19.0"
6
+ "3.24.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.19.0
4
+ version: 3.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeanine Adkisson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-12 00:00:00.000000000 Z
11
+ date: 2020-10-13 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:
@@ -31,12 +31,15 @@ files:
31
31
  - lib/rouge/demos/apiblueprint
32
32
  - lib/rouge/demos/applescript
33
33
  - lib/rouge/demos/armasm
34
+ - lib/rouge/demos/augeas
34
35
  - lib/rouge/demos/awk
35
36
  - lib/rouge/demos/batchfile
36
37
  - lib/rouge/demos/bbcbasic
38
+ - lib/rouge/demos/bibtex
37
39
  - lib/rouge/demos/biml
38
40
  - lib/rouge/demos/bpf
39
41
  - lib/rouge/demos/brainfuck
42
+ - lib/rouge/demos/brightscript
40
43
  - lib/rouge/demos/bsl
41
44
  - lib/rouge/demos/c
42
45
  - lib/rouge/demos/ceylon
@@ -70,6 +73,7 @@ files:
70
73
  - lib/rouge/demos/eiffel
71
74
  - lib/rouge/demos/elixir
72
75
  - lib/rouge/demos/elm
76
+ - lib/rouge/demos/email
73
77
  - lib/rouge/demos/epp
74
78
  - lib/rouge/demos/erb
75
79
  - lib/rouge/demos/erlang
@@ -93,6 +97,7 @@ files:
93
97
  - lib/rouge/demos/haskell
94
98
  - lib/rouge/demos/haxe
95
99
  - lib/rouge/demos/hcl
100
+ - lib/rouge/demos/hlsl
96
101
  - lib/rouge/demos/hocon
97
102
  - lib/rouge/demos/hql
98
103
  - lib/rouge/demos/html
@@ -105,6 +110,8 @@ files:
105
110
  - lib/rouge/demos/irb
106
111
  - lib/rouge/demos/irb_output
107
112
  - lib/rouge/demos/isbl
113
+ - lib/rouge/demos/j
114
+ - lib/rouge/demos/janet
108
115
  - lib/rouge/demos/java
109
116
  - lib/rouge/demos/javascript
110
117
  - lib/rouge/demos/jinja
@@ -120,6 +127,7 @@ files:
120
127
  - lib/rouge/demos/liquid
121
128
  - lib/rouge/demos/literate_coffeescript
122
129
  - lib/rouge/demos/literate_haskell
130
+ - lib/rouge/demos/livescript
123
131
  - lib/rouge/demos/llvm
124
132
  - lib/rouge/demos/lua
125
133
  - lib/rouge/demos/lustre
@@ -152,6 +160,7 @@ files:
152
160
  - lib/rouge/demos/plaintext
153
161
  - lib/rouge/demos/plist
154
162
  - lib/rouge/demos/pony
163
+ - lib/rouge/demos/postscript
155
164
  - lib/rouge/demos/powershell
156
165
  - lib/rouge/demos/praat
157
166
  - lib/rouge/demos/prolog
@@ -186,8 +195,10 @@ files:
186
195
  - lib/rouge/demos/sparql
187
196
  - lib/rouge/demos/sqf
188
197
  - lib/rouge/demos/sql
198
+ - lib/rouge/demos/ssh
189
199
  - lib/rouge/demos/supercollider
190
200
  - lib/rouge/demos/swift
201
+ - lib/rouge/demos/systemd
191
202
  - lib/rouge/demos/tap
192
203
  - lib/rouge/demos/tcl
193
204
  - lib/rouge/demos/terraform
@@ -202,6 +213,7 @@ files:
202
213
  - lib/rouge/demos/vala
203
214
  - lib/rouge/demos/vb
204
215
  - lib/rouge/demos/vcl
216
+ - lib/rouge/demos/velocity
205
217
  - lib/rouge/demos/verilog
206
218
  - lib/rouge/demos/vhdl
207
219
  - lib/rouge/demos/viml
@@ -213,10 +225,12 @@ files:
213
225
  - lib/rouge/demos/xquery
214
226
  - lib/rouge/demos/yaml
215
227
  - lib/rouge/demos/yang
228
+ - lib/rouge/demos/zig
216
229
  - lib/rouge/formatter.rb
217
230
  - lib/rouge/formatters/html.rb
218
231
  - lib/rouge/formatters/html_inline.rb
219
232
  - lib/rouge/formatters/html_legacy.rb
233
+ - lib/rouge/formatters/html_line_highlighter.rb
220
234
  - lib/rouge/formatters/html_line_table.rb
221
235
  - lib/rouge/formatters/html_linewise.rb
222
236
  - lib/rouge/formatters/html_pygments.rb
@@ -243,12 +257,15 @@ files:
243
257
  - lib/rouge/lexers/apiblueprint.rb
244
258
  - lib/rouge/lexers/apple_script.rb
245
259
  - lib/rouge/lexers/armasm.rb
260
+ - lib/rouge/lexers/augeas.rb
246
261
  - lib/rouge/lexers/awk.rb
247
262
  - lib/rouge/lexers/batchfile.rb
248
263
  - lib/rouge/lexers/bbcbasic.rb
264
+ - lib/rouge/lexers/bibtex.rb
249
265
  - lib/rouge/lexers/biml.rb
250
266
  - lib/rouge/lexers/bpf.rb
251
267
  - lib/rouge/lexers/brainfuck.rb
268
+ - lib/rouge/lexers/brightscript.rb
252
269
  - lib/rouge/lexers/bsl.rb
253
270
  - lib/rouge/lexers/c.rb
254
271
  - lib/rouge/lexers/ceylon.rb
@@ -282,6 +299,7 @@ files:
282
299
  - lib/rouge/lexers/eiffel.rb
283
300
  - lib/rouge/lexers/elixir.rb
284
301
  - lib/rouge/lexers/elm.rb
302
+ - lib/rouge/lexers/email.rb
285
303
  - lib/rouge/lexers/epp.rb
286
304
  - lib/rouge/lexers/erb.rb
287
305
  - lib/rouge/lexers/erlang.rb
@@ -306,6 +324,7 @@ files:
306
324
  - lib/rouge/lexers/haskell.rb
307
325
  - lib/rouge/lexers/haxe.rb
308
326
  - lib/rouge/lexers/hcl.rb
327
+ - lib/rouge/lexers/hlsl.rb
309
328
  - lib/rouge/lexers/hocon.rb
310
329
  - lib/rouge/lexers/hql.rb
311
330
  - lib/rouge/lexers/html.rb
@@ -318,6 +337,8 @@ files:
318
337
  - lib/rouge/lexers/irb.rb
319
338
  - lib/rouge/lexers/isbl.rb
320
339
  - lib/rouge/lexers/isbl/builtins.rb
340
+ - lib/rouge/lexers/j.rb
341
+ - lib/rouge/lexers/janet.rb
321
342
  - lib/rouge/lexers/java.rb
322
343
  - lib/rouge/lexers/javascript.rb
323
344
  - lib/rouge/lexers/jinja.rb
@@ -334,6 +355,7 @@ files:
334
355
  - lib/rouge/lexers/liquid.rb
335
356
  - lib/rouge/lexers/literate_coffeescript.rb
336
357
  - lib/rouge/lexers/literate_haskell.rb
358
+ - lib/rouge/lexers/livescript.rb
337
359
  - lib/rouge/lexers/llvm.rb
338
360
  - lib/rouge/lexers/llvm/keywords.rb
339
361
  - lib/rouge/lexers/lua.rb
@@ -374,6 +396,7 @@ files:
374
396
  - lib/rouge/lexers/plain_text.rb
375
397
  - lib/rouge/lexers/plist.rb
376
398
  - lib/rouge/lexers/pony.rb
399
+ - lib/rouge/lexers/postscript.rb
377
400
  - lib/rouge/lexers/powershell.rb
378
401
  - lib/rouge/lexers/praat.rb
379
402
  - lib/rouge/lexers/prolog.rb
@@ -410,8 +433,10 @@ files:
410
433
  - lib/rouge/lexers/sqf.rb
411
434
  - lib/rouge/lexers/sqf/keywords.rb
412
435
  - lib/rouge/lexers/sql.rb
436
+ - lib/rouge/lexers/ssh.rb
413
437
  - lib/rouge/lexers/supercollider.rb
414
438
  - lib/rouge/lexers/swift.rb
439
+ - lib/rouge/lexers/systemd.rb
415
440
  - lib/rouge/lexers/tap.rb
416
441
  - lib/rouge/lexers/tcl.rb
417
442
  - lib/rouge/lexers/terraform.rb
@@ -427,6 +452,7 @@ files:
427
452
  - lib/rouge/lexers/vala.rb
428
453
  - lib/rouge/lexers/varnish.rb
429
454
  - lib/rouge/lexers/vb.rb
455
+ - lib/rouge/lexers/velocity.rb
430
456
  - lib/rouge/lexers/verilog.rb
431
457
  - lib/rouge/lexers/vhdl.rb
432
458
  - lib/rouge/lexers/viml.rb
@@ -439,6 +465,7 @@ files:
439
465
  - lib/rouge/lexers/xquery.rb
440
466
  - lib/rouge/lexers/yaml.rb
441
467
  - lib/rouge/lexers/yang.rb
468
+ - lib/rouge/lexers/zig.rb
442
469
  - lib/rouge/plugins/redcarpet.rb
443
470
  - lib/rouge/regex_lexer.rb
444
471
  - lib/rouge/template_lexer.rb