rouge 2.1.1 → 2.2.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
  SHA1:
3
- metadata.gz: 726f116a1b78032be65f6abef810b5b1db42a093
4
- data.tar.gz: acb0e9e2ad10c72f5e455517f17b71382693016b
3
+ metadata.gz: 4a52694e10ac2f03c8d2eadd1379cd10d3218df7
4
+ data.tar.gz: e7962a37f67e9fa857c066879f265e04b61bd553
5
5
  SHA512:
6
- metadata.gz: cb8b9f3139cc5d9539aa4b539a6c03f1b36630bc2483bac383cce749cff0f8b87565eeaa30ec74a0312098b77ae5e89824b063a89e36d1e53a986ad330a97e6f
7
- data.tar.gz: 61a48f640f1594d76ff48efe7501a3c5c151d9703d130a6d25db3c318a882b494a0409b9df8103c32fed6fad6768e617d158b84dedfb0b64dbd07dceaf4456e8
6
+ metadata.gz: c55cc1e3ca7c1db144a7c4df78bbab3c8af73367006072ea2d579b9d3d9c5d31234721e5c0cf82ad84fe315c070e9689287a8a0e586df6a1a231a951934726f7
7
+ data.tar.gz: f6a5777bacb090afc87ef413ab4bb069e15bc7a25ef72450565ae2994eb31d24e4e8b0eb08ae5494fdb03cdb0172fc7902040ffa14646133f7ae6fdf6597021c
data/Gemfile CHANGED
@@ -7,8 +7,6 @@ gem 'wrong'
7
7
 
8
8
  gem 'rubocop', '~> 0.49.1' if RUBY_VERSION >= '2.0.0'
9
9
 
10
- gem 'rake'
11
-
12
10
  # don't try to install redcarpet under jruby
13
11
  gem 'redcarpet', :platforms => :ruby
14
12
 
@@ -4,7 +4,7 @@ require 'pathname'
4
4
  ROOT_DIR = Pathname.new(__FILE__).dirname.parent
5
5
  load ROOT_DIR.join('lib/rouge.rb')
6
6
  load ROOT_DIR.join('lib/rouge/cli.rb')
7
- Signal.trap('SIGPIPE', 'SYSTEM_DEFAULT')
7
+ Signal.trap('PIPE', 'SYSTEM_DEFAULT') if Signal.list.include? 'PIPE'
8
8
 
9
9
  begin
10
10
  Rouge::CLI.parse(ARGV).run
@@ -273,6 +273,7 @@ module Rouge
273
273
  when 'html-pygments' then Formatters::HTMLPygments.new(Formatters::HTML.new, opts[:css_class])
274
274
  when 'html-inline' then Formatters::HTMLInline.new(theme)
275
275
  when 'html-table' then Formatters::HTMLTable.new(Formatters::HTML.new)
276
+ when 'null', 'raw', 'tokens' then Formatters::Null.new
276
277
  else
277
278
  error! "unknown formatter preset #{opts[:formatter]}"
278
279
  end
@@ -1,7 +1,7 @@
1
1
  # language: en
2
2
  Feature: Addition
3
3
  In order to avoid silly mistakes
4
- As a math idiot
4
+ As someone who has trouble with mental math
5
5
  I want to be told the sum of two numbers
6
6
 
7
7
  Scenario Outline: Add two numbers
@@ -0,0 +1,19 @@
1
+ # See https://nixos.org/nix/manual/#sec-expression-syntax
2
+ { stdenv, fetchurl, perl }: # 1
3
+
4
+ stdenv.mkDerivation { # 2
5
+ name = "hello-2.1.1"; # 3
6
+ builder = ./builder.sh; # 4
7
+ meta = rec {
8
+ name = "rouge";
9
+ version = "${name}-2.1.1";
10
+ number = 55 + 12;
11
+ isSmaller = number < 42;
12
+ bool = true;
13
+ };
14
+ src = fetchurl { # 5
15
+ url = ftp://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz; # path
16
+ md5 = "70c9ccf9fac07f762c24f2df2290784d";
17
+ };
18
+ inherit perl; # 6
19
+ }
@@ -21,8 +21,8 @@ module Rouge
21
21
  end
22
22
 
23
23
  # Format a token stream. Delegates to {#format}.
24
- def self.format(tokens, opts={}, &b)
25
- new(opts).format(tokens, &b)
24
+ def self.format(tokens, *a, &b)
25
+ new(*a).format(tokens, &b)
26
26
  end
27
27
 
28
28
  def initialize(opts={})
@@ -11,7 +11,7 @@ module Rouge
11
11
 
12
12
  def stream(tokens, &b)
13
13
  tokens.each do |tok, val|
14
- yield "#{tok} #{val.inspect}\n"
14
+ yield "#{tok.qualname} #{val.inspect}\n"
15
15
  end
16
16
  end
17
17
  end
@@ -4,13 +4,21 @@ module Rouge
4
4
  module Formatters
5
5
  # A formatter for 256-color terminals
6
6
  class Terminal256 < Formatter
7
+ tag 'terminal256'
8
+
7
9
  # @private
8
10
  attr_reader :theme
9
11
 
10
- # @argument theme
12
+ # @param [Hash,Rouge::Theme] theme
11
13
  # the theme to render with.
12
- def initialize(theme=nil)
13
- @theme = theme || Themes::ThankfulEyes
14
+ def initialize(theme = Themes::ThankfulEyes.new)
15
+ if theme.is_a?(Rouge::Theme)
16
+ @theme = theme
17
+ elsif theme.is_a?(Hash)
18
+ @theme = theme[:theme] || Themes::ThankfulEyes.new
19
+ else
20
+ raise ArgumentError, "invalid theme: #{theme.inspect}"
21
+ end
14
22
  end
15
23
 
16
24
  def stream(tokens, &b)
@@ -19,27 +19,30 @@ module Rouge
19
19
  exponent = /[ED][+-]?\d+/i
20
20
 
21
21
  def self.keywords
22
- # Fortran allows to omit whitespace between certain keywords...
22
+ # Special rules for two-word keywords are defined further down.
23
+ # Note: Fortran allows to omit whitespace between certain keywords.
23
24
  @keywords ||= Set.new %w(
24
- abstract all allocatable allocate assign assignment asynchronous
25
- backspace bind block blockdata close common concurrent contiguous call
26
- case class codimension contains continue cycle data deallocate
27
- deferred dimension do elemental else elseif elsewhere end endblock
28
- endblockdata enddo endenum endfile endforall endfunction endif
29
- endinterface endmodule endprogram endselect endsubmodule endsubroutine
30
- endtype endwhere endwhile entry enum enumerator equivalence error exit
31
- external final flush forall format function generic go goto if
32
- implicit import in include inout inquire intent interface intrinsic is
33
- module namelist non_overridable none nopass nullify only open operator
34
- optional out parameter pass pause pointer print private procedure
35
- program protected public pure read recursive result return rewind save
36
- select selectcase sequence stop submodule subroutine target then to
37
- type use value volatile wait where while write
25
+ abstract allocatable allocate assign assignment associate asynchronous
26
+ backspace bind block blockdata call case class close codimension
27
+ common concurrent contains contiguous continue critical cycle data
28
+ deallocate deferred dimension do elemental else elseif elsewhere end
29
+ endassociate endblock endblockdata enddo endenum endfile endforall
30
+ endfunction endif endinterface endmodule endprogram endselect
31
+ endsubmodule endsubroutine endtype endwhere endwhile entry enum
32
+ enumerator equivalence exit extends external final flush forall format
33
+ function generic goto if implicit import in include inout inquire
34
+ intent interface intrinsic is lock module namelist non_overridable
35
+ none nopass nullify only open operator optional out parameter pass
36
+ pause pointer print private procedure program protected public pure
37
+ read recursive result return rewind save select selectcase sequence
38
+ stop submodule subroutine target then type unlock use value volatile
39
+ wait where while write
38
40
  )
39
41
  end
40
42
 
41
43
  def self.types
42
- # There is a separate rule for "double precision" (two words) below
44
+ # A special rule for the two-word version "double precision" is
45
+ # defined further down.
43
46
  @types ||= Set.new %w(
44
47
  character complex doubleprecision integer logical real
45
48
  )
@@ -48,16 +51,16 @@ module Rouge
48
51
  def self.intrinsics
49
52
  @intrinsics ||= Set.new %w(
50
53
  abs achar acos acosh adjustl adjustr aimag aint all allocated anint
51
- any asin asinh associated atan atan2 atanh bessel_j0 bessel_j1
52
- bessel_jn bessel_y0 bessel_y1 bessel_yn bge bgt bit_size ble blt btest
53
- c_associated c_f_pointer c_f_procpointer c_funloc c_loc c_sizeof
54
- ceiling char cmplx command_argument_count compiler_options
55
- compiler_version conjg cos cosh count cpu_time cshift date_and_time
56
- dble digits dim dot_product dprod dshiftl dshiftr eoshift epsilon erf
57
- erfc_scaled erfc execute_command_line exp exponent extends_type_of
58
- findloc floor fraction gamma get_command_argument get_command
59
- get_environment_variable huge hypot iachar iall iand iany ibclr ibits
60
- ibset ichar ieee_class ieee_copy_sign ieee_get_flag
54
+ any asin asinh associated atan atan2 atanh atomic_define atomic_ref
55
+ bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn bge bgt
56
+ bit_size ble blt btest c_associated c_f_pointer c_f_procpointer
57
+ c_funloc c_loc c_sizeof ceiling char cmplx command_argument_count
58
+ compiler_options compiler_version conjg cos cosh count cpu_time cshift
59
+ date_and_time dble digits dim dot_product dprod dshiftl dshiftr
60
+ eoshift epsilon erf erfc_scaled erfc execute_command_line exp exponent
61
+ extends_type_of findloc floor fraction gamma get_command_argument
62
+ get_command get_environment_variable huge hypot iachar iall iand iany
63
+ ibclr ibits ibset ichar ieee_class ieee_copy_sign ieee_get_flag
61
64
  ieee_get_halting_mode ieee_get_rounding_mode ieee_get_status
62
65
  ieee_get_underflow_mode ieee_is_finite ieee_is_nan ieee_is_normal
63
66
  ieee_logb ieee_next_after ieee_rem ieee_rint ieee_scalb
@@ -124,9 +127,12 @@ module Rouge
124
127
  rule %r{\*\*|//|==|/=|<=|>=|=>|[-+*/<>=%]}, Operator
125
128
  rule /\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV|[A-Z]+)\./i, Operator::Word
126
129
 
127
- # To make sure "double precision" written as two words is highlighted
128
- # properly. "doubleprecision" is covered by a different rule.
130
+ # Special rules for two-word keywords and types.
131
+ # Note: "doubleprecision" is covered by the normal keyword rule.
129
132
  rule /double\s+precision\b/i, Keyword::Type
133
+ rule /go\s+to\b/i, Keyword
134
+ rule /sync\s+(all|images|memory)\b/i, Keyword
135
+ rule /error\s+stop\b/i, Keyword
130
136
 
131
137
  rule /#{name}/m do |m|
132
138
  match = m[0].downcase
@@ -19,6 +19,7 @@ module Rouge
19
19
  break return continue
20
20
  for endfor do while
21
21
  case default
22
+ try catch endtry
22
23
  abortonrte
23
24
  )
24
25
  end
@@ -247,12 +248,11 @@ module Rouge
247
248
  end
248
249
 
249
250
  def self.object_name
250
- /[a-z][a-z0-9_]*\b/i
251
+ /\b[a-z][a-z0-9_\.]*?\b/i
251
252
  end
252
253
 
253
254
  object = self.object_name
254
- whitespace = /[\s\r]+/
255
- noLineBreak = /[ \t]+/
255
+ noLineBreak = /(?:[ \t]|(?:\\\s*[\r\n]))+/
256
256
  operator = %r([\#$~!%^&*+=\|?:<>/-])
257
257
  punctuation = /[{}()\[\],.;]/
258
258
  number_float= /0x[a-f0-9]+/i
@@ -262,7 +262,7 @@ module Rouge
262
262
  state :root do
263
263
  rule %r(//), Comment, :comments
264
264
 
265
- rule /\b#{object}/ do |m|
265
+ rule /#{object}/ do |m|
266
266
  if m[0].downcase =~ /function/
267
267
  token Keyword::Declaration
268
268
  push :parse_function
@@ -281,8 +281,8 @@ module Rouge
281
281
  elsif self.class.hdf5Operation.include? m[0].downcase
282
282
  token Keyword::Reserved
283
283
  push :operationFlags
284
- elsif m[0].downcase =~ /(v|s|w)_[a-z]+[a-z0-9]*/
285
- token Name::Builtin
284
+ elsif m[0].downcase =~ /\b(v|s|w)_[a-z]+[a-z0-9]*/
285
+ token Name::Constant
286
286
  else
287
287
  token Name
288
288
  end
@@ -293,6 +293,7 @@ module Rouge
293
293
 
294
294
  mixin :characters
295
295
  mixin :numbers
296
+ mixin :whitespace
296
297
  end
297
298
 
298
299
  state :preprocessor do
@@ -310,7 +311,7 @@ module Rouge
310
311
 
311
312
  state :assignment do
312
313
  mixin :whitespace
313
- rule /\"/, Punctuation, :string1
314
+ rule /\"/, Literal::String::Double, :string1 #punctuation for string
314
315
  mixin :string2
315
316
  rule /#{number_float}/, Literal::Number::Float, :pop!
316
317
  rule /#{number_int}/, Literal::Number::Integer, :pop!
@@ -322,11 +323,11 @@ module Rouge
322
323
  state :parse_variables do
323
324
  mixin :whitespace
324
325
  rule /[=]/, Punctuation, :assignment
325
- rule %r([/][a-z]+)i, Keyword::Pseudo, :parse_variables
326
326
  rule object, Name::Variable
327
327
  rule /[\[\]]/, Punctuation # optional variables in functions
328
328
  rule /[,]/, Punctuation, :parse_variables
329
329
  rule /\)/, Punctuation, :pop! # end of function
330
+ rule %r([/][a-z]+)i, Keyword::Pseudo, :parse_variables
330
331
  rule(//) { pop! }
331
332
  end
332
333
 
@@ -367,7 +368,7 @@ module Rouge
367
368
  rule /\s/, Text
368
369
  rule /#{operator}/, Operator
369
370
  rule /#{punctuation}/, Punctuation
370
- rule /\"/, Punctuation, :string1
371
+ rule /\"/, Literal::String::Double, :string1 #punctuation for string
371
372
  mixin :string2
372
373
  end
373
374
 
@@ -387,7 +388,7 @@ module Rouge
387
388
  rule /\\\"/, Literal::String::Escape
388
389
  rule /\\/, Literal::String::Escape
389
390
  rule /[^"]/, Literal::String
390
- rule /\"/, Punctuation, :pop!
391
+ rule /\"/, Literal::String::Double, :pop! #punctuation for string
391
392
  end
392
393
 
393
394
  state :string2 do
@@ -198,12 +198,24 @@ module Rouge
198
198
  rule /0o[0-7][0-7_]*/i, Num::Oct
199
199
  rule /0b[01][01_]*/i, Num::Bin
200
200
  rule /[0-9]+/, Num::Integer
201
-
202
- rule /"(\\[\\"]|[^"])*"/, Str::Double
203
- rule /'(\\[\\']|[^'])*'/, Str::Single
201
+
202
+ rule /"/, Str::Double, :dq
203
+ rule /'/, Str::Single, :sq
204
204
  rule /:/, Punctuation
205
205
  end
206
206
 
207
+ state :dq do
208
+ rule /[^\\"]+/, Str::Double
209
+ rule /\\"/, Str::Escape
210
+ rule /"/, Str::Double, :pop!
211
+ end
212
+
213
+ state :sq do
214
+ rule /[^\\']+/, Str::Single
215
+ rule /\\'/, Str::Escape
216
+ rule /'/, Str::Single, :pop!
217
+ end
218
+
207
219
  # braced parts that aren't object literals
208
220
  state :statement do
209
221
  rule /case\b/ do
@@ -41,7 +41,7 @@ module Rouge
41
41
  rule %r'"(\\\\|\\"|[^"\n])*["\n]'m, Str
42
42
  rule %r"'\\.'|'[^\\]'", Str::Char
43
43
  rule %r"[0-9](\.[0-9]+)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?", Num
44
- rule %r'(class)(\s+)(object)' do
44
+ rule %r'(companion)(\s+)(object)' do
45
45
  groups Keyword, Text, Keyword
46
46
  end
47
47
  rule %r'(class|data\s+class|interface|object)(\s+)' do
@@ -0,0 +1,205 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ module Rouge
4
+ module Lexers
5
+ class Nix < RegexLexer
6
+ title 'Nix'
7
+ desc 'The Nix expression language (https://nixos.org/nix/manual/#ch-expression-language)'
8
+ tag 'nix'
9
+ aliases 'nixos'
10
+ filenames '*.nix'
11
+
12
+ state :whitespaces do
13
+ rule /^\s*\n\s*$/m, Text
14
+ rule /\s+/, Text
15
+ end
16
+
17
+ state :comment do
18
+ rule /#.*$/, Comment
19
+ rule /\/\*/, Comment, :multiline_comment
20
+ end
21
+
22
+ state :multiline_comment do
23
+ rule /\*\//, Comment, :pop!
24
+ rule /./, Comment
25
+ end
26
+
27
+ state :number do
28
+ rule /[0-9]/, Num::Integer
29
+ end
30
+
31
+ state :null do
32
+ rule /(null)/, Keyword::Constant
33
+ end
34
+
35
+ state :boolean do
36
+ rule /(true|false)/, Keyword::Constant
37
+ end
38
+
39
+ state :binding do
40
+ rule /[a-zA-Z_][a-zA-Z0-9-]*/, Name::Variable
41
+ end
42
+
43
+ state :path do
44
+ word = "[a-zA-Z0-9\._-]+"
45
+ section = "(\/#{word})"
46
+ prefix = "[a-z\+]+:\/\/"
47
+ root = /#{section}+/.source
48
+ tilde = /~#{section}+/.source
49
+ basic = /#{word}(\/#{word})+/.source
50
+ url = /#{prefix}(\/?#{basic})/.source
51
+ rule /(#{root}|#{tilde}|#{basic}|#{url})/, Str::Other
52
+ end
53
+
54
+ state :string do
55
+ rule /"/, Str::Double, :string_double_quoted
56
+ rule /''/, Str::Double, :string_indented
57
+ end
58
+
59
+ state :string_content do
60
+ rule /\${/, Str::Interpol, :string_interpolated_arg
61
+ mixin :escaped_sequence
62
+ end
63
+
64
+ state :escaped_sequence do
65
+ rule /\\./, Str::Escape
66
+ end
67
+
68
+ state :string_interpolated_arg do
69
+ mixin :expression
70
+ rule /}/, Str::Interpol, :pop!
71
+ end
72
+
73
+ state :string_indented do
74
+ mixin :string_content
75
+ rule /''/, Str::Double, :pop!
76
+ rule /./, Str::Double
77
+ end
78
+
79
+ state :string_double_quoted do
80
+ mixin :string_content
81
+ rule /"/, Str::Double, :pop!
82
+ rule /./, Str::Double
83
+ end
84
+
85
+ state :operator do
86
+ rule /(\.|\?|\+\+|\+|!=|!|\/\/|\=\=|&&|\|\||->|\/|\*|-|<|>|<=|=>)/, Operator
87
+ end
88
+
89
+ state :assignment do
90
+ rule /(=)/, Operator
91
+ rule /(@)/, Operator
92
+ end
93
+
94
+ state :accessor do
95
+ rule /(\$)/, Punctuation
96
+ end
97
+
98
+ state :delimiter do
99
+ rule /(;|,|:)/, Punctuation
100
+ end
101
+
102
+ state :atom_content do
103
+ mixin :expression
104
+ rule /\)/, Punctuation, :pop!
105
+ end
106
+
107
+ state :atom do
108
+ rule /\(/, Punctuation, :atom_content
109
+ end
110
+
111
+ state :list do
112
+ rule /\[/, Punctuation, :list_content
113
+ end
114
+
115
+ state :list_content do
116
+ rule /\]/, Punctuation, :pop!
117
+ mixin :expression
118
+ end
119
+
120
+ state :set do
121
+ rule /{/, Punctuation, :set_content
122
+ end
123
+
124
+ state :set_content do
125
+ rule /}/, Punctuation, :pop!
126
+ mixin :expression
127
+ end
128
+
129
+ state :expression do
130
+ mixin :ignore
131
+ mixin :comment
132
+ mixin :boolean
133
+ mixin :null
134
+ mixin :number
135
+ mixin :path
136
+ mixin :string
137
+ mixin :keywords
138
+ mixin :operator
139
+ mixin :accessor
140
+ mixin :assignment
141
+ mixin :delimiter
142
+ mixin :binding
143
+ mixin :atom
144
+ mixin :set
145
+ mixin :list
146
+ end
147
+
148
+ state :keywords do
149
+ mixin :keywords_namespace
150
+ mixin :keywords_declaration
151
+ mixin :keywords_conditional
152
+ mixin :keywords_reserved
153
+ mixin :keywords_builtin
154
+ end
155
+
156
+ state :keywords_namespace do
157
+ keywords = %w(with in inherit)
158
+ rule /(?:#{keywords.join('|')})\b/, Keyword::Namespace
159
+ end
160
+
161
+ state :keywords_declaration do
162
+ keywords = %w(let)
163
+ rule /(?:#{keywords.join('|')})\b/, Keyword::Declaration
164
+ end
165
+
166
+ state :keywords_conditional do
167
+ keywords = %w(if then else)
168
+ rule /(?:#{keywords.join('|')})\b/, Keyword
169
+ end
170
+
171
+ state :keywords_reserved do
172
+ keywords = %w(rec assert map)
173
+ rule /(?:#{keywords.join('|')})\b/, Keyword::Reserved
174
+ end
175
+
176
+ state :keywords_builtin do
177
+ keywords = %w(
178
+ abort
179
+ baseNameOf
180
+ builtins
181
+ derivation
182
+ fetchTarball
183
+ import
184
+ isNull
185
+ removeAttrs
186
+ throw
187
+ toString
188
+ )
189
+ rule /(?:#{keywords.join('|')})\b/, Keyword::Reserved
190
+ end
191
+
192
+ state :ignore do
193
+ mixin :whitespaces
194
+ end
195
+
196
+ state :root do
197
+ mixin :ignore
198
+ mixin :expression
199
+ end
200
+
201
+ start do
202
+ end
203
+ end
204
+ end
205
+ end
@@ -94,8 +94,11 @@ module Rouge
94
94
  rule(%r{'|\/:|\\:|':|\\|\/|0:|1:|2:}, Operator)
95
95
 
96
96
  ## numbers
97
- rule(/(?:\d+(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+|\d+\.\d*|\.\d+)?[ef]?/, Num::Float)
98
- rule(/[01]+b?/, Num)
97
+ rule(/(\d+[.]\d*|[.]\d+)(e[+-]?\d+)?[ef]?/, Num::Float)
98
+ rule(/\d+e[+-]?\d+[ef]?/, Num::Float)
99
+ rule(/\d+[ef]/, Num::Float)
100
+ rule(/0x[0-9a-f]+/i, Num::Hex)
101
+ rule(/[01]+b/, Num::Bin)
99
102
  rule(/[0-9]+[hij]?/, Num::Integer)
100
103
  ## symbols and paths
101
104
  rule(%r{(`:[:a-z0-9._\/]*|`(?:[a-z0-9.][:a-z0-9._]*)?)}i, Str::Symbol)
@@ -15,6 +15,7 @@ module Rouge
15
15
  # This normalizes things so that `text.shebang?('bash')` will detect
16
16
  # `#!/bash`, '#!/bin/bash', '#!/usr/bin/env bash', and '#!/bin/bash -x'
17
17
  def shebang?(match)
18
+ return false unless shebang
18
19
  match = /\b#{match}(\s|$)/
19
20
  match === shebang
20
21
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rouge
4
4
  def self.version
5
- "2.1.1"
5
+ "2.2.0"
6
6
  end
7
7
  end
@@ -14,5 +14,8 @@ Gem::Specification.new do |s|
14
14
  s.rubyforge_project = "rouge"
15
15
  s.files = Dir['Gemfile', 'LICENSE', 'rouge.gemspec', 'lib/**/*.rb', 'lib/**/*.yml', 'bin/rougify', 'lib/rouge/demos/*']
16
16
  s.executables = %w(rougify)
17
- s.license = 'MIT, 2-clause BSD'
17
+ s.licenses = ['MIT', 'BSD-2-Clause']
18
+
19
+ s.add_development_dependency "bundler", "~> 1.10"
20
+ s.add_development_dependency "rake", "~> 12.0"
18
21
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rouge
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.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: 2017-06-22 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2017-08-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '12.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '12.0'
13
41
  description: Rouge aims to a be a simple, easy-to-extend drop-in replacement for pygments.
14
42
  email:
15
43
  - jneen@jneen.net
@@ -99,6 +127,7 @@ files:
99
127
  - lib/rouge/demos/nasm
100
128
  - lib/rouge/demos/nginx
101
129
  - lib/rouge/demos/nim
130
+ - lib/rouge/demos/nix
102
131
  - lib/rouge/demos/objective_c
103
132
  - lib/rouge/demos/ocaml
104
133
  - lib/rouge/demos/pascal
@@ -248,6 +277,7 @@ files:
248
277
  - lib/rouge/lexers/nasm.rb
249
278
  - lib/rouge/lexers/nginx.rb
250
279
  - lib/rouge/lexers/nim.rb
280
+ - lib/rouge/lexers/nix.rb
251
281
  - lib/rouge/lexers/objective_c.rb
252
282
  - lib/rouge/lexers/ocaml.rb
253
283
  - lib/rouge/lexers/pascal.rb
@@ -327,7 +357,8 @@ files:
327
357
  - rouge.gemspec
328
358
  homepage: http://rouge.jneen.net/
329
359
  licenses:
330
- - MIT, 2-clause BSD
360
+ - MIT
361
+ - BSD-2-Clause
331
362
  metadata: {}
332
363
  post_install_message:
333
364
  rdoc_options: []