rouge 0.5.4 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -49,3 +49,4 @@ load load_dir.join('rouge/themes/thankful_eyes.rb')
49
49
  load load_dir.join('rouge/themes/colorful.rb')
50
50
  load load_dir.join('rouge/themes/base16.rb')
51
51
  load load_dir.join('rouge/themes/github.rb')
52
+ load load_dir.join('rouge/themes/monokai.rb')
@@ -0,0 +1,16 @@
1
+ util = require "my.module"
2
+
3
+ a_table = {
4
+ foo: 'bar'
5
+ interpolated: "foo-#{other.stuff 2 + 3}"
6
+ "string": 2
7
+ do: 'keyword'
8
+ }
9
+
10
+ class MyClass extends SomeClass
11
+ new: (@init, arg2 = 'default') =>
12
+ @derived = @init + 2
13
+ super!
14
+
15
+ other: =>
16
+ @foo + 2
@@ -1,5 +1,5 @@
1
1
  class Greeter
2
- def initialize(name = "World")
2
+ def initialize(name="World")
3
3
  @name = name
4
4
  end
5
5
 
File without changes
@@ -19,8 +19,8 @@ module Rouge
19
19
  # the given theme will be inlined in "style" attributes. This is
20
20
  # useful for formats in which stylesheets are not available.
21
21
  #
22
- # Content will be wrapped in a `<pre>` tag with the given
23
- # `:css_class` unless `:wrap` is set to `false`.
22
+ # Content will be wrapped in a tag (`div` if tableized, `pre` if
23
+ # not) with the given `:css_class` unless `:wrap` is set to `false`.
24
24
  def initialize(opts={})
25
25
  @css_class = opts.fetch(:css_class, 'highlight')
26
26
  @line_numbers = opts.fetch(:line_numbers, false)
@@ -65,10 +65,10 @@ module Rouge
65
65
 
66
66
  # generate a string of newline-separated line numbers for the gutter
67
67
  numbers = num_lines.times.map do |x|
68
- %<<div class="lineno">#{x+1}</div>>
68
+ %<<pre class="lineno">#{x+1}</pre>>
69
69
  end.join
70
70
 
71
- yield "<pre class=#{@css_class.inspect}>" if @wrap
71
+ yield "<div class=#{@css_class.inspect}>" if @wrap
72
72
  yield "<table><tbody><tr>"
73
73
 
74
74
  # the "gl" class applies the style for Generic.Lineno
@@ -77,11 +77,13 @@ module Rouge
77
77
  yield '</td>'
78
78
 
79
79
  yield '<td class="code">'
80
+ yield '<pre>'
80
81
  yield formatted
82
+ yield '</pre>'
81
83
  yield '</td>'
82
84
 
83
85
  yield '</tr></tbody></table>'
84
- yield '</pre>' if @wrap
86
+ yield '</div>' if @wrap
85
87
  end
86
88
 
87
89
  def span(tok, val, &b)
@@ -17,6 +17,13 @@ module Rouge
17
17
  new(opts).lex(stream, &b)
18
18
  end
19
19
 
20
+ def load_const(const_name, relpath)
21
+ return if Lexers.const_defined?(const_name)
22
+
23
+ root = Pathname.new(__FILE__).dirname.join('lexers')
24
+ load root.join(relpath)
25
+ end
26
+
20
27
  def default_options(o={})
21
28
  @default_options ||= {}
22
29
  @default_options.merge!(o)
@@ -1,7 +1,7 @@
1
- require 'rouge/lexers/c'
2
-
3
1
  module Rouge
4
2
  module Lexers
3
+ Lexer.load_const :C, 'c.rb'
4
+
5
5
  class Cpp < C
6
6
  desc "The C++ programming language"
7
7
 
@@ -1,27 +1,29 @@
1
+ # -*- coding: utf-8 -*- #
2
+
1
3
  module Rouge
2
4
  module Lexers
3
5
  class Lua < RegexLexer
4
6
  desc "Lua (http://www.lua.org)"
5
7
  tag 'lua'
6
8
  filenames '*.lua', '*.wlua'
7
-
9
+
8
10
  mimetypes 'text/x-lua', 'application/x-lua'
9
-
11
+
10
12
  def initialize(opts={})
11
13
  @function_highlighting = opts.delete(:function_highlighting) { true }
12
14
  @disabled_modules = opts.delete(:disabled_modules) { [] }
13
15
  super(opts)
14
16
  end
15
-
17
+
16
18
  def self.analyze_text(text)
17
19
  return 1 if text.shebang? 'lua'
18
20
  end
19
-
21
+
20
22
  def self.builtins
21
23
  load Pathname.new(__FILE__).dirname.join('lua/builtins.rb')
22
24
  self.builtins
23
25
  end
24
-
26
+
25
27
  def builtins
26
28
  return [] unless @function_highlighting
27
29
 
@@ -32,37 +34,37 @@ module Rouge
32
34
  end
33
35
  end
34
36
  end
35
-
37
+
36
38
  state :root do
37
39
  # lua allows a file to start with a shebang
38
40
  rule %r(#!(.*?)$), Comment::Preproc
39
41
  rule //, Text, :base
40
42
  end
41
-
43
+
42
44
  state :base do
43
- rule %r(--\[(=*)\[.*?\]\1\])ms, Comment::Multiline
45
+ rule %r(--\[(=*)\[.*?\]\1\])m, Comment::Multiline
44
46
  rule %r(--.*$), Comment::Single
45
-
47
+
46
48
  rule %r((?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?'), Num::Float
47
49
  rule %r((?i)\d+e[+-]?\d+), Num::Float
48
50
  rule %r((?i)0x[0-9a-f]*), Num::Hex
49
51
  rule %r(\d+), Num::Integer
50
-
52
+
51
53
  rule %r(\n), Text
52
54
  rule %r([^\S\n]), Text
53
55
  # multiline strings
54
- rule %r(\[(=*)\[.*?\]\1\])ms, Str
55
-
56
+ rule %r(\[(=*)\[.*?\]\1\])m, Str
57
+
56
58
  rule %r((==|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#])), Operator
57
59
  rule %r([\[\]\{\}\(\)\.,:;]), Punctuation
58
60
  rule %r((and|or|not)\b), Operator::Word
59
-
61
+
60
62
  rule %r((break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\b), Keyword
61
63
  rule %r((local)\b), Keyword::Declaration
62
64
  rule %r((true|false|nil)\b), Keyword::Constant
63
-
65
+
64
66
  rule %r((function)\b), Keyword, :function_name
65
-
67
+
66
68
  rule %r([A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z_][A-Za-z0-9_]*)?) do |m|
67
69
  name = m[0]
68
70
  if self.builtins.include?(name)
@@ -76,11 +78,11 @@ module Rouge
76
78
  token Name
77
79
  end
78
80
  end
79
-
81
+
80
82
  rule %r('), Str::Single, :escape_sqs
81
83
  rule %r("), Str::Double, :escape_dqs
82
84
  end
83
-
85
+
84
86
  state :function_name do
85
87
  rule /\s+/, Text
86
88
  rule %r((?:([A-Za-z_][A-Za-z0-9_]*)(\.))?([A-Za-z_][A-Za-z0-9_]*)) do
@@ -90,36 +92,30 @@ module Rouge
90
92
  # inline function
91
93
  rule %r(\(), Punctuation, :pop!
92
94
  end
93
-
95
+
94
96
  state :escape_sqs do
95
97
  mixin :string_escape
96
98
  mixin :sqs
97
99
  end
98
-
100
+
99
101
  state :escape_dqs do
100
102
  mixin :string_escape
101
103
  mixin :dqs
102
104
  end
103
-
105
+
104
106
  state :string_escape do
105
107
  rule %r(\\([abfnrtv\\"']|\d{1,3})), Str::Escape
106
108
  end
107
-
109
+
108
110
  state :sqs do
109
- rule %r('), Str, :pop!
110
- mixin :string
111
+ rule %r('), Str::Single, :pop!
112
+ rule %r([^']+), Str::Single
111
113
  end
112
-
114
+
113
115
  state :dqs do
114
- rule %r("), Str, :pop!
115
- mixin :string
116
- end
117
-
118
- # Lua is 8-bit clean, every character is valid in a string
119
- state :string do
120
- rule /./, Str
116
+ rule %r("), Str::Double, :pop!
117
+ rule %r([^"]+), Str::Double
121
118
  end
122
-
123
119
  end
124
120
  end
125
121
  end
@@ -0,0 +1,109 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ module Rouge
4
+ module Lexers
5
+ Lexer.load_const :Lua, 'lua.rb'
6
+
7
+ class Moonscript < RegexLexer
8
+ desc "Moonscript (http://www.moonscript.org)"
9
+ tag 'moonscript'
10
+ aliases 'moon'
11
+ filenames '*.moon'
12
+ mimetypes 'text/x-moonscript', 'application/x-moonscript'
13
+
14
+ def initialize(opts={})
15
+ @function_highlighting = opts.delete(:function_highlighting) { true }
16
+ @disabled_modules = opts.delete(:disabled_modules) { [] }
17
+ super(opts)
18
+ end
19
+
20
+ def self.analyze_text(text)
21
+ return 1 if text.shebang? 'moon'
22
+ end
23
+
24
+ def builtins
25
+ return [] unless @function_highlighting
26
+
27
+ @builtins ||= Set.new.tap do |builtins|
28
+ Rouge::Lexers::Lua.builtins.each do |mod, fns|
29
+ next if @disabled_modules.include? mod
30
+ builtins.merge(fns)
31
+ end
32
+ end
33
+ end
34
+
35
+ state :root do
36
+ rule %r(#!(.*?)$), Comment::Preproc # shebang
37
+ rule //, Text, :main
38
+ end
39
+
40
+ state :base do
41
+ ident = '(?:[\w_][\w\d_]*)'
42
+
43
+ rule %r((?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?'), Num::Float
44
+ rule %r((?i)\d+e[+-]?\d+), Num::Float
45
+ rule %r((?i)0x[0-9a-f]*), Num::Hex
46
+ rule %r(\d+), Num::Integer
47
+ rule %r(@#{ident}*), Name::Variable::Instance
48
+ rule %r([A-Z][\w\d_]*), Name::Class
49
+ rule %r("?[^"]+":), Literal::String::Symbol
50
+ rule %r(#{ident}:), Literal::String::Symbol
51
+ rule %r(:#{ident}), Literal::String::Symbol
52
+
53
+ rule %r(\s+), Text::Whitespace
54
+ rule %r((==|~=|!=|<=|>=|\.\.\.|\.\.|->|=>|[=+\-*/%^<>#!\\])), Operator
55
+ rule %r([\[\]\{\}\(\)\.,:;]), Punctuation
56
+ rule %r((and|or|not)\b), Operator::Word
57
+
58
+ keywords = %w{
59
+ break class continue do else elseif end extends for if import in
60
+ repeat return switch super then unless until using when with while
61
+ }
62
+ rule %r((#{keywords.join('|')})\b), Keyword
63
+ rule %r((local|export)\b), Keyword::Declaration
64
+ rule %r((true|false|nil)\b), Keyword::Constant
65
+
66
+ rule %r([A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z_][A-Za-z0-9_]*)?) do |m|
67
+ name = m[0]
68
+ if self.builtins.include?(name)
69
+ token Name::Builtin
70
+ elsif name =~ /\./
71
+ a, b = name.split('.', 2)
72
+ token Name, a
73
+ token Punctuation, '.'
74
+ token Name, b
75
+ else
76
+ token Name
77
+ end
78
+ end
79
+ end
80
+
81
+ state :main do
82
+ rule %r(--.*$), Comment::Single
83
+ rule %r(\[(=*)\[.*?\]\1\])m, Str::Heredoc
84
+
85
+ mixin :base
86
+
87
+ rule %r('), Str::Single, :sqs
88
+ rule %r("), Str::Double, :dqs
89
+ end
90
+
91
+ state :sqs do
92
+ rule %r('), Str::Single, :pop!
93
+ rule %r([^']+), Str::Single
94
+ end
95
+
96
+ state :interpolation do
97
+ rule %r(\}), Str::Interpol, :pop!
98
+ mixin :base
99
+ end
100
+
101
+ state :dqs do
102
+ rule %r(#\{), Str::Interpol, :interpolation
103
+ rule %r("), Str::Double, :pop!
104
+ rule %r(#[^{]), Str::Double
105
+ rule %r([^"#]+), Str::Double
106
+ end
107
+ end
108
+ end
109
+ end
@@ -1,7 +1,7 @@
1
- require 'rouge/lexers/c'
2
-
3
1
  module Rouge
4
2
  module Lexers
3
+ Lexer.load_const :C, 'c.rb'
4
+
5
5
  class ObjectiveC < C
6
6
  desc 'objective_c'
7
7
  tag 'objective_c'
@@ -1,7 +1,7 @@
1
- require 'rouge/lexers/sass/common'
2
-
3
1
  module Rouge
4
2
  module Lexers
3
+ Lexer.load_const :SassCommon, 'sass/common.rb'
4
+
5
5
  class Sass < SassCommon
6
6
  include Indentation
7
7
 
@@ -1,7 +1,7 @@
1
- require 'rouge/lexers/sass/common'
2
-
3
1
  module Rouge
4
2
  module Lexers
3
+ Lexer.load_const :SassCommon, 'sass/common.rb'
4
+
5
5
  class Scss < SassCommon
6
6
  desc "SCSS stylesheets (sass-lang.com)"
7
7
  tag 'scss'
@@ -0,0 +1,115 @@
1
+ module Rouge
2
+ module Lexers
3
+ class SML < RegexLexer
4
+ desc 'Standard ML'
5
+ tag 'sml'
6
+ aliases 'ml'
7
+ filenames '*.sml', '*.sig', '*.fun'
8
+
9
+ mimetypes 'text/x-standardml', 'application/x-standardml'
10
+
11
+ def self.keywords
12
+ @keywords ||= Set.new %w(
13
+ abstype and andalso as case datatype do else end exception
14
+ fn fun handle if in infix infixr let local nonfix of op open
15
+ orelse raise rec then type val with withtype while
16
+ eqtype functor include sharing sig signature struct structure
17
+ where
18
+ )
19
+ end
20
+
21
+ id = /[a-z][\w']*/i
22
+ symbol = %r([!%&$#/:<=>?@\\~`^|*+-]+)
23
+
24
+ def self.analyze_text(text)
25
+ return 0
26
+ end
27
+
28
+ state :whitespace do
29
+ rule /\s+/m, Text
30
+ rule /[(][*]/, Comment, :comment
31
+ end
32
+
33
+ state :delimiters do
34
+ rule /[(\[{]/, Punctuation, :main
35
+ rule /[)\]}]/, Punctuation, :pop!
36
+
37
+ rule /\b(let|if|local)\b(?!')/, Keyword::Reserved do
38
+ push; push
39
+ end
40
+
41
+ rule /\b(struct|sig|while)\b(?!')/ do
42
+ token Keyword::Reserved
43
+ push
44
+ end
45
+
46
+ rule /\b(do|else|end|in|then)\b(?!')/, Keyword::Reserved, :pop!
47
+ end
48
+
49
+ def token_for_id_with_dot(id)
50
+ if self.class.keywords.include? id
51
+ Error
52
+ else
53
+ Name::Namespace
54
+ end
55
+ end
56
+
57
+ def token_for_final_id(id)
58
+ if self.class.keywords.include? id or self.class.symbolic_reserved.include? id
59
+ Error
60
+ else
61
+ Name
62
+ end
63
+ end
64
+
65
+ def token_for_id(id)
66
+ if self.class.keywords.include? id
67
+ Keyword::Reserved
68
+ elsif self.class.symbolic_reserved.include? id
69
+ Punctuation
70
+ else
71
+ Name
72
+ end
73
+ end
74
+
75
+ state :core do
76
+ rule /[()\[\]{},;_]|[.][.][.]/, Punctuation
77
+ rule /#"/, Str::Char, :char
78
+ rule /~?0x[0-9a-fA-F]+/, Num::Hex
79
+ rule /0wx[0-9a-fA-F]+/, Num::Hex
80
+ rule /0w\d+/, Num::Integer
81
+ rule /~?\d+[.]\d+[eE]~?\d+/, Num::Float
82
+ rule /~?\d+[.]\d+/, Num::Float
83
+ rule /~?\d+/, Num::Integer
84
+
85
+ rule /#\s*[1-9][0-9]*/, Name::Label
86
+ rule /#\s*#{id}/, Name::Label
87
+ rule /#\s+#{symbol}/, Name::Label
88
+
89
+ rule /\b(datatype|abstype)\b(?!')/, Keyword::Reserved, :dname
90
+ rule(/(?=\bexception\b(?!'))/) { push :ename }
91
+ rule /\b(functor|include|open|signature|structure)\b(?!')/,
92
+ Keyword::Reserved, :sname
93
+ rule /\b(type|eqtype)\b(?!')/, Keyword::Reserved, :tname
94
+
95
+ rule /'#{id}/, Name::Decorator
96
+ rule /(#{id})([.])/ do |m|
97
+ groups(token_for_id_with_dot(m[1]), Punctuation)
98
+ push :dotted
99
+ end
100
+
101
+ state :dotted do
102
+ rule /(#{id})([.])/ do |m|
103
+ groups(token_for_id_with_dot(m[1]), Punctuation)
104
+ end
105
+ end
106
+ end
107
+
108
+ state :root do
109
+ rule /#!.*?\n/, Comment::Preproc
110
+ rule(//) { push :main }
111
+ end
112
+ end
113
+ end
114
+ end
115
+
@@ -290,7 +290,7 @@ module Rouge
290
290
  MAX_NULL_SCANS = 5
291
291
 
292
292
  # @private
293
- def run_rule(rule, scanner, &b)
293
+ def run_rule(rule, scanner)
294
294
  # XXX HACK XXX
295
295
  # StringScanner's implementation of ^ is b0rken.
296
296
  # see http://bugs.ruby-lang.org/issues/7092
@@ -142,6 +142,7 @@ module Rouge
142
142
  # shared styles for tableized line numbers
143
143
  yield "#{@scope} table { border-spacing: 0; }"
144
144
  yield "#{@scope} table td { padding: 5px; }"
145
+ yield "#{@scope} table pre { margin: 0; }"
145
146
  yield "#{@scope} table .gutter { text-align: right; }"
146
147
 
147
148
  styles.each do |tok, style|
@@ -0,0 +1,86 @@
1
+ module Rouge
2
+ module Themes
3
+ class Monokai < CSSTheme
4
+ name 'monokai'
5
+
6
+ palette :black => '#000000'
7
+ palette :bright_green => '#a6e22e'
8
+ palette :bright_pink => '#f92672'
9
+ palette :carmine => '#960050'
10
+ palette :dark => '#49483e'
11
+ palette :dark_grey => '#888888'
12
+ palette :dark_red => '#aa0000'
13
+ palette :dimgrey => '#75715e'
14
+ palette :emperor => '#555555'
15
+ palette :grey => '#999999'
16
+ palette :light_grey => '#aaaaaa'
17
+ palette :light_violet => '#ae81ff'
18
+ palette :soft_cyan => '#66d9ef'
19
+ palette :soft_yellow => '#e6db74'
20
+ palette :very_dark => '#1e0010'
21
+ palette :whitish => '#f8f8f2'
22
+
23
+ style Comment,
24
+ Comment::Multiline,
25
+ Comment::Single, :fg => :dimgrey, :italic => true
26
+ style Comment::Preproc, :fg => :dimgrey, :bold => true
27
+ style Comment::Special, :fg => :dimgrey, :italic => true, :bold => true
28
+ style Error, :fg => :carmine, :bg => :very_dark
29
+ style Generic::Deleted,
30
+ Generic::Inserted, :fg => :black
31
+ style Generic::Emph, :fg => :black, :italic => true
32
+ style Generic::Error,
33
+ Generic::Traceback, :fg => :dark_red
34
+ style Generic::Heading, :fg => :grey
35
+ style Generic::Output, :fg => :dark_grey
36
+ style Generic::Prompt, :fg => :emperor
37
+ style Generic::Strong, :bold => true
38
+ style Generic::Subheading, :fg => :light_grey
39
+ style Keyword,
40
+ Keyword::Constant,
41
+ Keyword::Declaration,
42
+ Keyword::Pseudo,
43
+ Keyword::Reserved,
44
+ Keyword::Type, :fg => :soft_cyan, :bold => true
45
+ style Keyword::Namespace,
46
+ Operator::Word,
47
+ Operator, :fg => :bright_pink, :bold => true
48
+ style Literal::Number::Float,
49
+ Literal::Number::Hex,
50
+ Literal::Number::Integer::Long,
51
+ Literal::Number::Integer,
52
+ Literal::Number::Oct,
53
+ Literal::Number,
54
+ Literal::String::Escape, :fg => :light_violet
55
+ style Literal::String::Backtick,
56
+ Literal::String::Char,
57
+ Literal::String::Doc,
58
+ Literal::String::Double,
59
+ Literal::String::Heredoc,
60
+ Literal::String::Interpol,
61
+ Literal::String::Other,
62
+ Literal::String::Regex,
63
+ Literal::String::Single,
64
+ Literal::String::Symbol,
65
+ Literal::String, :fg => :soft_yellow
66
+ style Name::Attribute, :fg => :bright_green
67
+ style Name::Class,
68
+ Name::Decorator,
69
+ Name::Exception,
70
+ Name::Function, :fg => :bright_green, :bold => true
71
+ style Name::Constant, :fg => :soft_cyan
72
+ style Name::Builtin::Pseudo,
73
+ Name::Builtin,
74
+ Name::Entity,
75
+ Name::Namespace,
76
+ Name::Variable::Class,
77
+ Name::Variable::Global,
78
+ Name::Variable::Instance,
79
+ Name::Variable,
80
+ Text::Whitespace, :fg => :whitish
81
+ style Name::Label, :fg => :whitish, :bold => true
82
+ style Name::Tag, :fg => :bright_pink
83
+ style Text, :fg => :whitish, :bg => :dark
84
+ end
85
+ end
86
+ end
@@ -1,5 +1,5 @@
1
1
  module Rouge
2
2
  def self.version
3
- "0.5.4"
3
+ "1.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rouge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-22 00:00:00.000000000 Z
12
+ date: 2013-11-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Rouge aims to a be a simple, easy-to-extend drop-in replacement for pygments.
15
15
  email:
@@ -36,6 +36,7 @@ files:
36
36
  - lib/rouge/themes/thankful_eyes.rb
37
37
  - lib/rouge/themes/base16.rb
38
38
  - lib/rouge/themes/github.rb
39
+ - lib/rouge/themes/monokai.rb
39
40
  - lib/rouge/themes/colorful.rb
40
41
  - lib/rouge/text_analyzer.rb
41
42
  - lib/rouge/regex_lexer.rb
@@ -60,6 +61,7 @@ files:
60
61
  - lib/rouge/lexers/viml/keywords.rb
61
62
  - lib/rouge/lexers/css.rb
62
63
  - lib/rouge/lexers/toml.rb
64
+ - lib/rouge/lexers/moonscript.rb
63
65
  - lib/rouge/lexers/puppet.rb
64
66
  - lib/rouge/lexers/ruby.rb
65
67
  - lib/rouge/lexers/http.rb
@@ -82,6 +84,7 @@ files:
82
84
  - lib/rouge/lexers/viml.rb
83
85
  - lib/rouge/lexers/java.rb
84
86
  - lib/rouge/lexers/common_lisp.rb
87
+ - lib/rouge/lexers/sml.rb
85
88
  - lib/rouge/lexers/scheme.rb
86
89
  - lib/rouge/lexers/haml.rb
87
90
  - lib/rouge/lexers/erb.rb
@@ -103,6 +106,7 @@ files:
103
106
  - lib/rouge.rb
104
107
  - bin/rougify
105
108
  - lib/rouge/demos/erlang
109
+ - lib/rouge/demos/moonscript
106
110
  - lib/rouge/demos/sass
107
111
  - lib/rouge/demos/ruby
108
112
  - lib/rouge/demos/factor
@@ -140,6 +144,7 @@ files:
140
144
  - lib/rouge/demos/sed
141
145
  - lib/rouge/demos/common_lisp
142
146
  - lib/rouge/demos/groovy
147
+ - lib/rouge/demos/sml
143
148
  - lib/rouge/demos/nginx
144
149
  - lib/rouge/demos/toml
145
150
  - lib/rouge/demos/gherkin