rouge 0.5.4 → 1.1.0
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.
- data/lib/rouge.rb +1 -0
- data/lib/rouge/demos/moonscript +16 -0
- data/lib/rouge/demos/ruby +1 -1
- data/lib/rouge/demos/sml +0 -0
- data/lib/rouge/formatters/html.rb +7 -5
- data/lib/rouge/lexer.rb +7 -0
- data/lib/rouge/lexers/cpp.rb +2 -2
- data/lib/rouge/lexers/lua.rb +28 -32
- data/lib/rouge/lexers/moonscript.rb +109 -0
- data/lib/rouge/lexers/objective_c.rb +2 -2
- data/lib/rouge/lexers/sass.rb +2 -2
- data/lib/rouge/lexers/scss.rb +2 -2
- data/lib/rouge/lexers/sml.rb +115 -0
- data/lib/rouge/regex_lexer.rb +1 -1
- data/lib/rouge/theme.rb +1 -0
- data/lib/rouge/themes/monokai.rb +86 -0
- data/lib/rouge/version.rb +1 -1
- metadata +7 -2
data/lib/rouge.rb
CHANGED
@@ -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
|
data/lib/rouge/demos/ruby
CHANGED
data/lib/rouge/demos/sml
ADDED
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
|
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
|
-
%<<
|
68
|
+
%<<pre class="lineno">#{x+1}</pre>>
|
69
69
|
end.join
|
70
70
|
|
71
|
-
yield "<
|
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 '</
|
86
|
+
yield '</div>' if @wrap
|
85
87
|
end
|
86
88
|
|
87
89
|
def span(tok, val, &b)
|
data/lib/rouge/lexer.rb
CHANGED
@@ -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)
|
data/lib/rouge/lexers/cpp.rb
CHANGED
data/lib/rouge/lexers/lua.rb
CHANGED
@@ -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\])
|
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\])
|
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
|
-
|
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
|
-
|
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
|
data/lib/rouge/lexers/sass.rb
CHANGED
data/lib/rouge/lexers/scss.rb
CHANGED
@@ -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
|
+
|
data/lib/rouge/regex_lexer.rb
CHANGED
data/lib/rouge/theme.rb
CHANGED
@@ -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
|
data/lib/rouge/version.rb
CHANGED
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:
|
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-
|
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
|