rugments 1.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +52 -0
- data/README.md +195 -0
- data/bin/rugmentize +6 -0
- data/lib/rugments/cli.rb +357 -0
- data/lib/rugments/formatter.rb +29 -0
- data/lib/rugments/formatters/html.rb +142 -0
- data/lib/rugments/formatters/null.rb +17 -0
- data/lib/rugments/formatters/terminal256.rb +174 -0
- data/lib/rugments/lexer.rb +431 -0
- data/lib/rugments/lexers/apache/keywords.yml +453 -0
- data/lib/rugments/lexers/apache.rb +67 -0
- data/lib/rugments/lexers/apple_script.rb +366 -0
- data/lib/rugments/lexers/c.rb +210 -0
- data/lib/rugments/lexers/clojure.rb +109 -0
- data/lib/rugments/lexers/coffeescript.rb +172 -0
- data/lib/rugments/lexers/common_lisp.rb +343 -0
- data/lib/rugments/lexers/conf.rb +22 -0
- data/lib/rugments/lexers/cpp.rb +63 -0
- data/lib/rugments/lexers/csharp.rb +85 -0
- data/lib/rugments/lexers/css.rb +269 -0
- data/lib/rugments/lexers/dart.rb +102 -0
- data/lib/rugments/lexers/diff.rb +39 -0
- data/lib/rugments/lexers/elixir.rb +105 -0
- data/lib/rugments/lexers/erb.rb +54 -0
- data/lib/rugments/lexers/erlang.rb +116 -0
- data/lib/rugments/lexers/factor.rb +300 -0
- data/lib/rugments/lexers/gherkin/keywords.rb +13 -0
- data/lib/rugments/lexers/gherkin.rb +135 -0
- data/lib/rugments/lexers/go.rb +176 -0
- data/lib/rugments/lexers/groovy.rb +102 -0
- data/lib/rugments/lexers/haml.rb +226 -0
- data/lib/rugments/lexers/handlebars.rb +77 -0
- data/lib/rugments/lexers/haskell.rb +181 -0
- data/lib/rugments/lexers/html.rb +92 -0
- data/lib/rugments/lexers/http.rb +78 -0
- data/lib/rugments/lexers/ini.rb +55 -0
- data/lib/rugments/lexers/io.rb +66 -0
- data/lib/rugments/lexers/java.rb +74 -0
- data/lib/rugments/lexers/javascript.rb +258 -0
- data/lib/rugments/lexers/literate_coffeescript.rb +31 -0
- data/lib/rugments/lexers/literate_haskell.rb +34 -0
- data/lib/rugments/lexers/llvm.rb +82 -0
- data/lib/rugments/lexers/lua/builtins.rb +21 -0
- data/lib/rugments/lexers/lua.rb +120 -0
- data/lib/rugments/lexers/make.rb +114 -0
- data/lib/rugments/lexers/markdown.rb +151 -0
- data/lib/rugments/lexers/matlab/builtins.rb +10 -0
- data/lib/rugments/lexers/matlab.rb +70 -0
- data/lib/rugments/lexers/moonscript.rb +108 -0
- data/lib/rugments/lexers/nginx.rb +69 -0
- data/lib/rugments/lexers/nim.rb +149 -0
- data/lib/rugments/lexers/objective_c.rb +188 -0
- data/lib/rugments/lexers/ocaml.rb +109 -0
- data/lib/rugments/lexers/perl.rb +195 -0
- data/lib/rugments/lexers/php/builtins.rb +192 -0
- data/lib/rugments/lexers/php.rb +162 -0
- data/lib/rugments/lexers/plain_text.rb +23 -0
- data/lib/rugments/lexers/prolog.rb +62 -0
- data/lib/rugments/lexers/properties.rb +53 -0
- data/lib/rugments/lexers/puppet.rb +126 -0
- data/lib/rugments/lexers/python.rb +225 -0
- data/lib/rugments/lexers/qml.rb +70 -0
- data/lib/rugments/lexers/r.rb +55 -0
- data/lib/rugments/lexers/racket.rb +540 -0
- data/lib/rugments/lexers/ruby.rb +413 -0
- data/lib/rugments/lexers/rust.rb +188 -0
- data/lib/rugments/lexers/sass/common.rb +172 -0
- data/lib/rugments/lexers/sass.rb +72 -0
- data/lib/rugments/lexers/scala.rb +140 -0
- data/lib/rugments/lexers/scheme.rb +109 -0
- data/lib/rugments/lexers/scss.rb +32 -0
- data/lib/rugments/lexers/sed.rb +167 -0
- data/lib/rugments/lexers/shell.rb +150 -0
- data/lib/rugments/lexers/slim.rb +222 -0
- data/lib/rugments/lexers/smalltalk.rb +114 -0
- data/lib/rugments/lexers/sml.rb +345 -0
- data/lib/rugments/lexers/sql.rb +138 -0
- data/lib/rugments/lexers/swift.rb +153 -0
- data/lib/rugments/lexers/tcl.rb +189 -0
- data/lib/rugments/lexers/tex.rb +70 -0
- data/lib/rugments/lexers/toml.rb +68 -0
- data/lib/rugments/lexers/vb.rb +162 -0
- data/lib/rugments/lexers/viml/keywords.rb +11 -0
- data/lib/rugments/lexers/viml.rb +99 -0
- data/lib/rugments/lexers/xml.rb +57 -0
- data/lib/rugments/lexers/yaml.rb +362 -0
- data/lib/rugments/plugins/redcarpet.rb +28 -0
- data/lib/rugments/regex_lexer.rb +432 -0
- data/lib/rugments/template_lexer.rb +23 -0
- data/lib/rugments/text_analyzer.rb +46 -0
- data/lib/rugments/theme.rb +202 -0
- data/lib/rugments/themes/base16.rb +128 -0
- data/lib/rugments/themes/colorful.rb +65 -0
- data/lib/rugments/themes/github.rb +69 -0
- data/lib/rugments/themes/monokai.rb +88 -0
- data/lib/rugments/themes/monokai_sublime.rb +89 -0
- data/lib/rugments/themes/thankful_eyes.rb +69 -0
- data/lib/rugments/token.rb +180 -0
- data/lib/rugments/util.rb +99 -0
- data/lib/rugments/version.rb +3 -0
- data/lib/rugments.rb +33 -0
- metadata +149 -0
@@ -0,0 +1,128 @@
|
|
1
|
+
module Rugments
|
2
|
+
module Themes
|
3
|
+
# default base16 theme
|
4
|
+
# by Chris Kempson (http://chriskempson.com)
|
5
|
+
class Base16 < CSSTheme
|
6
|
+
name 'base16'
|
7
|
+
|
8
|
+
palette base00: '#151515'
|
9
|
+
palette base01: '#202020'
|
10
|
+
palette base02: '#303030'
|
11
|
+
palette base03: '#505050'
|
12
|
+
palette base04: '#b0b0b0'
|
13
|
+
palette base05: '#d0d0d0'
|
14
|
+
palette base06: '#e0e0e0'
|
15
|
+
palette base07: '#f5f5f5'
|
16
|
+
palette base08: '#ac4142'
|
17
|
+
palette base09: '#d28445'
|
18
|
+
palette base0A: '#f4bf75'
|
19
|
+
palette base0B: '#90a959'
|
20
|
+
palette base0C: '#75b5aa'
|
21
|
+
palette base0D: '#6a9fb5'
|
22
|
+
palette base0E: '#aa759f'
|
23
|
+
palette base0F: '#8f5536'
|
24
|
+
|
25
|
+
extend HasModes
|
26
|
+
|
27
|
+
def self.light!
|
28
|
+
mode :dark # indicate that there is a dark variant
|
29
|
+
mode! :light
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.dark!
|
33
|
+
mode :light # indicate that there is a light variant
|
34
|
+
mode! :dark
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.make_dark!
|
38
|
+
style Text, fg: :base05, bg: :base00
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.make_light!
|
42
|
+
style Text, fg: :base02
|
43
|
+
end
|
44
|
+
|
45
|
+
light!
|
46
|
+
|
47
|
+
style Error, fg: :base00, bg: :base08
|
48
|
+
style Comment, fg: :base03
|
49
|
+
|
50
|
+
style Comment::Preproc,
|
51
|
+
Name::Tag, fg: :base0A
|
52
|
+
|
53
|
+
style Operator,
|
54
|
+
Punctuation, fg: :base05
|
55
|
+
|
56
|
+
style Generic::Inserted, fg: :base0B
|
57
|
+
style Generic::Deleted, fg: :base08
|
58
|
+
style Generic::Heading, fg: :base0D, bg: :base00, bold: true
|
59
|
+
|
60
|
+
style Keyword, fg: :base0E
|
61
|
+
style Keyword::Constant,
|
62
|
+
Keyword::Type, fg: :base09
|
63
|
+
|
64
|
+
style Keyword::Declaration, fg: :base09
|
65
|
+
|
66
|
+
style Literal::String, fg: :base0B
|
67
|
+
style Literal::String::Regex, fg: :base0C
|
68
|
+
|
69
|
+
style Literal::String::Interpol,
|
70
|
+
Literal::String::Escape, fg: :base0F
|
71
|
+
|
72
|
+
style Name::Namespace,
|
73
|
+
Name::Class,
|
74
|
+
Name::Constant, fg: :base0A
|
75
|
+
|
76
|
+
style Name::Attribute, fg: :base0D
|
77
|
+
|
78
|
+
style Literal::Number,
|
79
|
+
Literal::String::Symbol, fg: :base0B
|
80
|
+
|
81
|
+
class Solarized < Base16
|
82
|
+
name 'base16.solarized'
|
83
|
+
light!
|
84
|
+
# author "Ethan Schoonover (http://ethanschoonover.com/solarized)"
|
85
|
+
|
86
|
+
palette base00: '#002b36'
|
87
|
+
palette base01: '#073642'
|
88
|
+
palette base02: '#586e75'
|
89
|
+
palette base03: '#657b83'
|
90
|
+
palette base04: '#839496'
|
91
|
+
palette base05: '#93a1a1'
|
92
|
+
palette base06: '#eee8d5'
|
93
|
+
palette base07: '#fdf6e3'
|
94
|
+
palette base08: '#dc322f'
|
95
|
+
palette base09: '#cb4b16'
|
96
|
+
palette base0A: '#b58900'
|
97
|
+
palette base0B: '#859900'
|
98
|
+
palette base0C: '#2aa198'
|
99
|
+
palette base0D: '#268bd2'
|
100
|
+
palette base0E: '#6c71c4'
|
101
|
+
palette base0F: '#d33682'
|
102
|
+
end
|
103
|
+
|
104
|
+
class Monokai < Base16
|
105
|
+
name 'base16.monokai'
|
106
|
+
dark!
|
107
|
+
|
108
|
+
# author "Wimer Hazenberg (http://www.monokai.nl)"
|
109
|
+
palette base00: '#272822'
|
110
|
+
palette base01: '#383830'
|
111
|
+
palette base02: '#49483e'
|
112
|
+
palette base03: '#75715e'
|
113
|
+
palette base04: '#a59f85'
|
114
|
+
palette base05: '#f8f8f2'
|
115
|
+
palette base06: '#f5f4f1'
|
116
|
+
palette base07: '#f9f8f5'
|
117
|
+
palette base08: '#f92672'
|
118
|
+
palette base09: '#fd971f'
|
119
|
+
palette base0A: '#f4bf75'
|
120
|
+
palette base0B: '#a6e22e'
|
121
|
+
palette base0C: '#a1efe4'
|
122
|
+
palette base0D: '#66d9ef'
|
123
|
+
palette base0E: '#ae81ff'
|
124
|
+
palette base0F: '#cc6633'
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Rugments
|
2
|
+
module Themes
|
3
|
+
# stolen from pygments
|
4
|
+
class Colorful < CSSTheme
|
5
|
+
name 'colorful'
|
6
|
+
|
7
|
+
style Text, fg: '#bbbbbb', bg: '#000'
|
8
|
+
|
9
|
+
style Comment, fg: '#888'
|
10
|
+
style Comment::Preproc, fg: '#579'
|
11
|
+
style Comment::Special, fg: '#cc0000', bold: true
|
12
|
+
|
13
|
+
style Keyword, fg: '#080', bold: true
|
14
|
+
style Keyword::Pseudo, fg: '#038'
|
15
|
+
style Keyword::Type, fg: '#339'
|
16
|
+
|
17
|
+
style Operator, fg: '#333'
|
18
|
+
style Operator::Word, fg: '#000', bold: true
|
19
|
+
|
20
|
+
style Name::Builtin, fg: '#007020'
|
21
|
+
style Name::Function, fg: '#06B', bold: true
|
22
|
+
style Name::Class, fg: '#B06', bold: true
|
23
|
+
style Name::Namespace, fg: '#0e84b5', bold: true
|
24
|
+
style Name::Exception, fg: '#F00', bold: true
|
25
|
+
style Name::Variable, fg: '#963'
|
26
|
+
style Name::Variable::Instance, fg: '#33B'
|
27
|
+
style Name::Variable::Class, fg: '#369'
|
28
|
+
style Name::Variable::Global, fg: '#d70', bold: true
|
29
|
+
style Name::Constant, fg: '#036', bold: true
|
30
|
+
style Name::Label, fg: '#970', bold: true
|
31
|
+
style Name::Entity, fg: '#800', bold: true
|
32
|
+
style Name::Attribute, fg: '#00C'
|
33
|
+
style Name::Tag, fg: '#070'
|
34
|
+
style Name::Decorator, fg: '#555', bold: true
|
35
|
+
|
36
|
+
style Literal::String, bg: '#fff0f0'
|
37
|
+
style Literal::String::Char, fg: '#04D'
|
38
|
+
style Literal::String::Doc, fg: '#D42'
|
39
|
+
style Literal::String::Interpol, bg: '#eee'
|
40
|
+
style Literal::String::Escape, fg: '#666', bold: true
|
41
|
+
style Literal::String::Regex, fg: '#000', bg: '#fff0ff'
|
42
|
+
style Literal::String::Symbol, fg: '#A60'
|
43
|
+
style Literal::String::Other, fg: '#D20'
|
44
|
+
|
45
|
+
style Literal::Number, fg: '#60E', bold: true
|
46
|
+
style Literal::Number::Integer, fg: '#00D', bold: true
|
47
|
+
style Literal::Number::Float, fg: '#60E', bold: true
|
48
|
+
style Literal::Number::Hex, fg: '#058', bold: true
|
49
|
+
style Literal::Number::Oct, fg: '#40E', bold: true
|
50
|
+
|
51
|
+
style Generic::Heading, fg: '#000080', bold: true
|
52
|
+
style Generic::Subheading, fg: '#800080', bold: true
|
53
|
+
style Generic::Deleted, fg: '#A00000'
|
54
|
+
style Generic::Inserted, fg: '#00A000'
|
55
|
+
style Generic::Error, fg: '#FF0000'
|
56
|
+
style Generic::Emph, italic: true
|
57
|
+
style Generic::Strong, bold: true
|
58
|
+
style Generic::Prompt, fg: '#c65d09', bold: true
|
59
|
+
style Generic::Output, fg: '#888'
|
60
|
+
style Generic::Traceback, fg: '#04D'
|
61
|
+
|
62
|
+
style Error, fg: '#F00', bg: '#FAA'
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module Rugments
|
2
|
+
module Themes
|
3
|
+
class Github < CSSTheme
|
4
|
+
name 'github'
|
5
|
+
|
6
|
+
style Comment::Multiline, fg: '#999988', italic: true
|
7
|
+
style Comment::Preproc, fg: '#999999', bold: true
|
8
|
+
style Comment::Single, fg: '#999988', italic: true
|
9
|
+
style Comment::Special, fg: '#999999', italic: true, bold: true
|
10
|
+
style Comment, fg: '#999988', italic: true
|
11
|
+
style Error, fg: '#a61717', bg: '#e3d2d2'
|
12
|
+
style Generic::Deleted, fg: '#000000', bg: '#ffdddd'
|
13
|
+
style Generic::Emph, fg: '#000000', italic: true
|
14
|
+
style Generic::Error, fg: '#aa0000'
|
15
|
+
style Generic::Heading, fg: '#999999'
|
16
|
+
style Generic::Inserted, fg: '#000000', bg: '#ddffdd'
|
17
|
+
style Generic::Output, fg: '#888888'
|
18
|
+
style Generic::Prompt, fg: '#555555'
|
19
|
+
style Generic::Strong, bold: true
|
20
|
+
style Generic::Subheading, fg: '#aaaaaa'
|
21
|
+
style Generic::Traceback, fg: '#aa0000'
|
22
|
+
style Keyword::Constant, fg: '#000000', bold: true
|
23
|
+
style Keyword::Declaration, fg: '#000000', bold: true
|
24
|
+
style Keyword::Namespace, fg: '#000000', bold: true
|
25
|
+
style Keyword::Pseudo, fg: '#000000', bold: true
|
26
|
+
style Keyword::Reserved, fg: '#000000', bold: true
|
27
|
+
style Keyword::Type, fg: '#445588', bold: true
|
28
|
+
style Keyword, fg: '#000000', bold: true
|
29
|
+
style Literal::Number::Float, fg: '#009999'
|
30
|
+
style Literal::Number::Hex, fg: '#009999'
|
31
|
+
style Literal::Number::Integer::Long, fg: '#009999'
|
32
|
+
style Literal::Number::Integer, fg: '#009999'
|
33
|
+
style Literal::Number::Oct, fg: '#009999'
|
34
|
+
style Literal::Number, fg: '#009999'
|
35
|
+
style Literal::String::Backtick, fg: '#d14'
|
36
|
+
style Literal::String::Char, fg: '#d14'
|
37
|
+
style Literal::String::Doc, fg: '#d14'
|
38
|
+
style Literal::String::Double, fg: '#d14'
|
39
|
+
style Literal::String::Escape, fg: '#d14'
|
40
|
+
style Literal::String::Heredoc, fg: '#d14'
|
41
|
+
style Literal::String::Interpol, fg: '#d14'
|
42
|
+
style Literal::String::Other, fg: '#d14'
|
43
|
+
style Literal::String::Regex, fg: '#009926'
|
44
|
+
style Literal::String::Single, fg: '#d14'
|
45
|
+
style Literal::String::Symbol, fg: '#990073'
|
46
|
+
style Literal::String, fg: '#d14'
|
47
|
+
style Name::Attribute, fg: '#008080'
|
48
|
+
style Name::Builtin::Pseudo, fg: '#999999'
|
49
|
+
style Name::Builtin, fg: '#0086B3'
|
50
|
+
style Name::Class, fg: '#445588', bold: true
|
51
|
+
style Name::Constant, fg: '#008080'
|
52
|
+
style Name::Decorator, fg: '#3c5d5d', bold: true
|
53
|
+
style Name::Entity, fg: '#800080'
|
54
|
+
style Name::Exception, fg: '#990000', bold: true
|
55
|
+
style Name::Function, fg: '#990000', bold: true
|
56
|
+
style Name::Label, fg: '#990000', bold: true
|
57
|
+
style Name::Namespace, fg: '#555555'
|
58
|
+
style Name::Tag, fg: '#000080'
|
59
|
+
style Name::Variable::Class, fg: '#008080'
|
60
|
+
style Name::Variable::Global, fg: '#008080'
|
61
|
+
style Name::Variable::Instance, fg: '#008080'
|
62
|
+
style Name::Variable, fg: '#008080'
|
63
|
+
style Operator::Word, fg: '#000000', bold: true
|
64
|
+
style Operator, fg: '#000000', bold: true
|
65
|
+
style Text::Whitespace, fg: '#bbbbbb'
|
66
|
+
style Text, bg: '#f8f8f8'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Rugments
|
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
|
+
palette orange: '#f6aa11'
|
23
|
+
palette white: '#ffffff'
|
24
|
+
|
25
|
+
style Comment,
|
26
|
+
Comment::Multiline,
|
27
|
+
Comment::Single, fg: :dimgrey, italic: true
|
28
|
+
style Comment::Preproc, fg: :dimgrey, bold: true
|
29
|
+
style Comment::Special, fg: :dimgrey, italic: true, bold: true
|
30
|
+
style Error, fg: :carmine, bg: :very_dark
|
31
|
+
style Generic::Deleted,
|
32
|
+
Generic::Inserted, fg: :black
|
33
|
+
style Generic::Emph, fg: :black, italic: true
|
34
|
+
style Generic::Error,
|
35
|
+
Generic::Traceback, fg: :dark_red
|
36
|
+
style Generic::Heading, fg: :grey
|
37
|
+
style Generic::Output, fg: :dark_grey
|
38
|
+
style Generic::Prompt, fg: :emperor
|
39
|
+
style Generic::Strong, bold: true
|
40
|
+
style Generic::Subheading, fg: :light_grey
|
41
|
+
style Keyword,
|
42
|
+
Keyword::Constant,
|
43
|
+
Keyword::Declaration,
|
44
|
+
Keyword::Pseudo,
|
45
|
+
Keyword::Reserved,
|
46
|
+
Keyword::Type, fg: :soft_cyan, bold: true
|
47
|
+
style Keyword::Namespace,
|
48
|
+
Operator::Word,
|
49
|
+
Operator, fg: :bright_pink, bold: true
|
50
|
+
style Literal::Number::Float,
|
51
|
+
Literal::Number::Hex,
|
52
|
+
Literal::Number::Integer::Long,
|
53
|
+
Literal::Number::Integer,
|
54
|
+
Literal::Number::Oct,
|
55
|
+
Literal::Number,
|
56
|
+
Literal::String::Escape, fg: :light_violet
|
57
|
+
style Literal::String::Backtick,
|
58
|
+
Literal::String::Char,
|
59
|
+
Literal::String::Doc,
|
60
|
+
Literal::String::Double,
|
61
|
+
Literal::String::Heredoc,
|
62
|
+
Literal::String::Interpol,
|
63
|
+
Literal::String::Other,
|
64
|
+
Literal::String::Regex,
|
65
|
+
Literal::String::Single,
|
66
|
+
Literal::String::Symbol,
|
67
|
+
Literal::String, fg: :soft_yellow
|
68
|
+
style Name::Attribute, fg: :bright_green
|
69
|
+
style Name::Class,
|
70
|
+
Name::Decorator,
|
71
|
+
Name::Exception,
|
72
|
+
Name::Function, fg: :bright_green, bold: true
|
73
|
+
style Name::Constant, fg: :soft_cyan
|
74
|
+
style Name::Builtin::Pseudo,
|
75
|
+
Name::Builtin,
|
76
|
+
Name::Entity,
|
77
|
+
Name::Namespace,
|
78
|
+
Name::Variable::Class,
|
79
|
+
Name::Variable::Global,
|
80
|
+
Name::Variable::Instance,
|
81
|
+
Name::Variable,
|
82
|
+
Text::Whitespace, fg: :whitish
|
83
|
+
style Name::Label, fg: :whitish, bold: true
|
84
|
+
style Name::Tag, fg: :bright_pink
|
85
|
+
style Text, fg: :whitish, bg: :dark
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
module Rugments
|
2
|
+
module Themes
|
3
|
+
class MonokaiSublime < CSSTheme
|
4
|
+
name 'monokai.sublime'
|
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
|
+
palette orange: '#f6aa11'
|
23
|
+
palette white: '#ffffff'
|
24
|
+
|
25
|
+
style Generic::Heading, fg: :grey
|
26
|
+
style Literal::String::Regex, fg: :orange
|
27
|
+
style Generic::Output, fg: :dark_grey
|
28
|
+
style Generic::Prompt, fg: :emperor
|
29
|
+
style Generic::Strong, bold: false
|
30
|
+
style Generic::Subheading, fg: :light_grey
|
31
|
+
style Name::Builtin, fg: :orange
|
32
|
+
style Comment::Multiline,
|
33
|
+
Comment::Preproc,
|
34
|
+
Comment::Single,
|
35
|
+
Comment::Special,
|
36
|
+
Comment, fg: :dimgrey
|
37
|
+
style Error,
|
38
|
+
Generic::Error,
|
39
|
+
Generic::Traceback, fg: :carmine
|
40
|
+
style Generic::Deleted,
|
41
|
+
Generic::Inserted,
|
42
|
+
Generic::Emph, fg: :dark
|
43
|
+
style Keyword::Constant,
|
44
|
+
Keyword::Declaration,
|
45
|
+
Keyword::Reserved,
|
46
|
+
Name::Constant,
|
47
|
+
Keyword::Type, fg: :soft_cyan
|
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::Char,
|
55
|
+
Literal::String::Escape,
|
56
|
+
Literal::String::Symbol, fg: :light_violet
|
57
|
+
style Literal::String::Doc,
|
58
|
+
Literal::String::Double,
|
59
|
+
Literal::String::Backtick,
|
60
|
+
Literal::String::Heredoc,
|
61
|
+
Literal::String::Interpol,
|
62
|
+
Literal::String::Other,
|
63
|
+
Literal::String::Single,
|
64
|
+
Literal::String, fg: :soft_yellow
|
65
|
+
style Name::Attribute,
|
66
|
+
Name::Class,
|
67
|
+
Name::Decorator,
|
68
|
+
Name::Exception,
|
69
|
+
Name::Function, fg: :bright_green
|
70
|
+
style Name::Variable::Class,
|
71
|
+
Name::Namespace,
|
72
|
+
Name::Label,
|
73
|
+
Name::Entity,
|
74
|
+
Name::Builtin::Pseudo,
|
75
|
+
Name::Variable::Global,
|
76
|
+
Name::Variable::Instance,
|
77
|
+
Name::Variable,
|
78
|
+
Text::Whitespace,
|
79
|
+
Text,
|
80
|
+
Name, fg: :white
|
81
|
+
style Operator::Word,
|
82
|
+
Name::Tag,
|
83
|
+
Keyword,
|
84
|
+
Keyword::Namespace,
|
85
|
+
Keyword::Pseudo,
|
86
|
+
Operator, fg: :bright_pink
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module Rugments
|
2
|
+
module Themes
|
3
|
+
class ThankfulEyes < CSSTheme
|
4
|
+
name 'thankful_eyes'
|
5
|
+
|
6
|
+
# pallette, from GTKSourceView's ThankfulEyes
|
7
|
+
palette cool_as_ice: '#6c8b9f'
|
8
|
+
palette slate_blue: '#4e5d62'
|
9
|
+
palette eggshell_cloud: '#dee5e7'
|
10
|
+
palette krasna: '#122b3b'
|
11
|
+
palette aluminum1: '#fefeec'
|
12
|
+
palette scarletred2: '#cc0000'
|
13
|
+
palette butter3: '#c4a000'
|
14
|
+
palette go_get_it: '#b2fd6d'
|
15
|
+
palette chilly: '#a8e1fe'
|
16
|
+
palette unicorn: '#faf6e4'
|
17
|
+
palette sandy: '#f6dd62'
|
18
|
+
palette pink_merengue: '#f696db'
|
19
|
+
palette dune: '#fff0a6'
|
20
|
+
palette backlit: '#4df4ff'
|
21
|
+
palette schrill: '#ffb000'
|
22
|
+
|
23
|
+
style Text, fg: :unicorn, bg: :krasna
|
24
|
+
style Generic::Lineno, fg: :eggshell_cloud, bg: :slate_blue
|
25
|
+
|
26
|
+
style Comment, fg: :cool_as_ice, italic: true
|
27
|
+
style Comment::Preproc, fg: :go_get_it, bold: true, italic: true
|
28
|
+
style Error,
|
29
|
+
Generic::Error, fg: :aluminum1, bg: :scarletred2
|
30
|
+
style Keyword, fg: :sandy, bold: true
|
31
|
+
style Operator,
|
32
|
+
Punctuation, fg: :backlit
|
33
|
+
style Generic::Deleted, fg: :scarletred2
|
34
|
+
style Generic::Inserted, fg: :go_get_it
|
35
|
+
style Generic::Emph, italic: true
|
36
|
+
style Generic::Strong, bold: true
|
37
|
+
style Generic::Traceback, fg: :eggshell_cloud, bg: :slate_blue
|
38
|
+
style Keyword::Constant, fg: :pink_merengue, bold: true
|
39
|
+
style Keyword::Namespace,
|
40
|
+
Keyword::Pseudo,
|
41
|
+
Keyword::Reserved,
|
42
|
+
Generic::Heading,
|
43
|
+
Generic::Subheading, fg: :schrill, bold: true
|
44
|
+
style Keyword::Type,
|
45
|
+
Name::Constant,
|
46
|
+
Name::Class,
|
47
|
+
Name::Decorator,
|
48
|
+
Name::Namespace,
|
49
|
+
Name::Builtin::Pseudo,
|
50
|
+
Name::Exception, fg: :go_get_it, bold: true
|
51
|
+
style Name::Label,
|
52
|
+
Name::Tag, fg: :schrill, bold: true
|
53
|
+
style Literal::Number,
|
54
|
+
Literal::Date,
|
55
|
+
Literal::String::Symbol, fg: :pink_merengue, bold: true
|
56
|
+
style Literal::String, fg: :dune, bold: true
|
57
|
+
style Literal::String::Escape,
|
58
|
+
Literal::String::Char,
|
59
|
+
Literal::String::Interpol, fg: :backlit, bold: true
|
60
|
+
style Name::Builtin, bold: true
|
61
|
+
style Name::Entity, fg: '#999999', bold: true
|
62
|
+
style Text::Whitespace, fg: '#BBBBBB'
|
63
|
+
style Name::Function,
|
64
|
+
Name::Property,
|
65
|
+
Name::Attribute, fg: :chilly
|
66
|
+
style Name::Variable, fg: :chilly, bold: true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,180 @@
|
|
1
|
+
module Rugments
|
2
|
+
class Token
|
3
|
+
class << self
|
4
|
+
attr_reader :name
|
5
|
+
attr_reader :parent
|
6
|
+
attr_reader :shortname
|
7
|
+
|
8
|
+
def cache
|
9
|
+
@cache ||= {}
|
10
|
+
end
|
11
|
+
|
12
|
+
def sub_tokens
|
13
|
+
@sub_tokens ||= {}
|
14
|
+
end
|
15
|
+
|
16
|
+
def [](qualname)
|
17
|
+
return qualname unless qualname.is_a?(::String)
|
18
|
+
|
19
|
+
Token.cache[qualname]
|
20
|
+
end
|
21
|
+
|
22
|
+
def inspect
|
23
|
+
"<Token #{qualname}>"
|
24
|
+
end
|
25
|
+
|
26
|
+
def matches?(other)
|
27
|
+
other.token_chain.include? self
|
28
|
+
end
|
29
|
+
|
30
|
+
def token_chain
|
31
|
+
@token_chain ||= ancestors.take_while { |x| x != Token }.reverse
|
32
|
+
end
|
33
|
+
|
34
|
+
def qualname
|
35
|
+
@qualname ||= token_chain.map(&:name).join('.')
|
36
|
+
end
|
37
|
+
|
38
|
+
def register!
|
39
|
+
Token.cache[qualname] = self
|
40
|
+
parent.sub_tokens[name] = self
|
41
|
+
end
|
42
|
+
|
43
|
+
def make_token(name, shortname, &b)
|
44
|
+
parent = self
|
45
|
+
Class.new(parent) do
|
46
|
+
@parent = parent
|
47
|
+
@name = name
|
48
|
+
@shortname = shortname
|
49
|
+
register!
|
50
|
+
class_eval(&b) if b
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def token(name, shortname, &b)
|
55
|
+
tok = make_token(name, shortname, &b)
|
56
|
+
const_set(name, tok)
|
57
|
+
end
|
58
|
+
|
59
|
+
def each_token(&b)
|
60
|
+
Token.cache.each do |(_, t)|
|
61
|
+
b.call(t)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
module Tokens
|
67
|
+
def self.token(name, shortname, &b)
|
68
|
+
tok = Token.make_token(name, shortname, &b)
|
69
|
+
const_set(name, tok)
|
70
|
+
end
|
71
|
+
|
72
|
+
# IMPORTANT:
|
73
|
+
# For compatibility, this list must be kept in sync with
|
74
|
+
# pygments.token.STANDARD_TYPES
|
75
|
+
# please see https://github.com/jayferd/rouge/wiki/List-of-tokens
|
76
|
+
token :Text, '' do
|
77
|
+
token :Whitespace, 'w'
|
78
|
+
end
|
79
|
+
|
80
|
+
token :Error, 'err'
|
81
|
+
token :Other, 'x'
|
82
|
+
|
83
|
+
token :Keyword, 'k' do
|
84
|
+
token :Constant, 'kc'
|
85
|
+
token :Declaration, 'kd'
|
86
|
+
token :Namespace, 'kn'
|
87
|
+
token :Pseudo, 'kp'
|
88
|
+
token :Reserved, 'kr'
|
89
|
+
token :Type, 'kt'
|
90
|
+
token :Variable, 'kv'
|
91
|
+
end
|
92
|
+
|
93
|
+
token :Name, 'n' do
|
94
|
+
token :Attribute, 'na'
|
95
|
+
token :Builtin, 'nb' do
|
96
|
+
token :Pseudo, 'bp'
|
97
|
+
end
|
98
|
+
token :Class, 'nc'
|
99
|
+
token :Constant, 'no'
|
100
|
+
token :Decorator, 'nd'
|
101
|
+
token :Entity, 'ni'
|
102
|
+
token :Exception, 'ne'
|
103
|
+
token :Function, 'nf'
|
104
|
+
token :Property, 'py'
|
105
|
+
token :Label, 'nl'
|
106
|
+
token :Namespace, 'nn'
|
107
|
+
token :Other, 'nx'
|
108
|
+
token :Tag, 'nt'
|
109
|
+
token :Variable, 'nv' do
|
110
|
+
token :Class, 'vc'
|
111
|
+
token :Global, 'vg'
|
112
|
+
token :Instance, 'vi'
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
token :Literal, 'l' do
|
117
|
+
token :Date, 'ld'
|
118
|
+
|
119
|
+
token :String, 's' do
|
120
|
+
token :Backtick, 'sb'
|
121
|
+
token :Char, 'sc'
|
122
|
+
token :Doc, 'sd'
|
123
|
+
token :Double, 's2'
|
124
|
+
token :Escape, 'se'
|
125
|
+
token :Heredoc, 'sh'
|
126
|
+
token :Interpol, 'si'
|
127
|
+
token :Other, 'sx'
|
128
|
+
token :Regex, 'sr'
|
129
|
+
token :Single, 's1'
|
130
|
+
token :Symbol, 'ss'
|
131
|
+
end
|
132
|
+
|
133
|
+
token :Number, 'm' do
|
134
|
+
token :Float, 'mf'
|
135
|
+
token :Hex, 'mh'
|
136
|
+
token :Integer, 'mi' do
|
137
|
+
token :Long, 'il'
|
138
|
+
end
|
139
|
+
token :Oct, 'mo'
|
140
|
+
token :Bin, 'mb'
|
141
|
+
token :Other, 'mx'
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
token :Operator, 'o' do
|
146
|
+
token :Word, 'ow'
|
147
|
+
end
|
148
|
+
|
149
|
+
token :Punctuation, 'p' do
|
150
|
+
token :Indicator, 'pi'
|
151
|
+
end
|
152
|
+
|
153
|
+
token :Comment, 'c' do
|
154
|
+
token :Doc, 'cd'
|
155
|
+
token :Multiline, 'cm'
|
156
|
+
token :Preproc, 'cp'
|
157
|
+
token :Single, 'c1'
|
158
|
+
token :Special, 'cs'
|
159
|
+
end
|
160
|
+
|
161
|
+
token :Generic, 'g' do
|
162
|
+
token :Deleted, 'gd'
|
163
|
+
token :Emph, 'ge'
|
164
|
+
token :Error, 'gr'
|
165
|
+
token :Heading, 'gh'
|
166
|
+
token :Inserted, 'gi'
|
167
|
+
token :Output, 'go'
|
168
|
+
token :Prompt, 'gp'
|
169
|
+
token :Strong, 'gs'
|
170
|
+
token :Subheading, 'gu'
|
171
|
+
token :Traceback, 'gt'
|
172
|
+
token :Lineno, 'gl'
|
173
|
+
end
|
174
|
+
|
175
|
+
# convenience
|
176
|
+
Num = Literal::Number
|
177
|
+
Str = Literal::String
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|