rouge 1.11.0 → 1.11.1

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.
@@ -63,6 +63,8 @@ module Rouge
63
63
  end
64
64
  end
65
65
 
66
+ def palette(*a) self.class.palette(*a) end
67
+
66
68
  @styles = {}
67
69
  def self.styles
68
70
  @styles ||= InheritableHash.new(superclass.styles)
@@ -76,8 +78,6 @@ module Rouge
76
78
  def style(*tokens)
77
79
  style = tokens.last.is_a?(Hash) ? tokens.pop : {}
78
80
 
79
- style = Style.new(self, style)
80
-
81
81
  tokens.each do |tok|
82
82
  styles[tok] = style
83
83
  end
@@ -85,7 +85,7 @@ module Rouge
85
85
 
86
86
  def get_own_style(token)
87
87
  token.token_chain.reverse_each do |anc|
88
- return styles[anc] if styles[anc]
88
+ return Style.new(self, styles[anc]) if styles[anc]
89
89
  end
90
90
 
91
91
  nil
@@ -96,7 +96,7 @@ module Rouge
96
96
  end
97
97
 
98
98
  def base_style
99
- styles[Token::Tokens::Text]
99
+ get_own_style(Token::Tokens::Text)
100
100
  end
101
101
 
102
102
  def name(n=nil)
@@ -150,7 +150,7 @@ module Rouge
150
150
  yield "#{@scope} table pre { margin: 0; }"
151
151
 
152
152
  styles.each do |tok, style|
153
- style.render(css_selector(tok), &b)
153
+ Style.new(self, style).render(css_selector(tok), &b)
154
154
  end
155
155
  end
156
156
 
@@ -0,0 +1,167 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ # TODO how are we going to handle soft/hard contrast?
4
+
5
+ module Rouge
6
+ module Themes
7
+ # Based on https://github.com/morhetz/gruvbox, with help from
8
+ # https://github.com/daveyarwood/gruvbox-pygments
9
+ class Gruvbox < CSSTheme
10
+ name 'gruvbox'
11
+
12
+ # global Gruvbox colours {{{
13
+ C_dark0_hard = '#1d2021'
14
+ C_dark0 ='#282828'
15
+ C_dark0_soft = '#32302f'
16
+ C_dark1 = '#3c3836'
17
+ C_dark2 = '#504945'
18
+ C_dark3 = '#665c54'
19
+ C_dark4 = '#7c6f64'
20
+ C_dark4_256 = '#7c6f64'
21
+
22
+ C_gray_245 = '#928374'
23
+ C_gray_244 = '#928374'
24
+
25
+ C_light0_hard = '#f9f5d7'
26
+ C_light0 = '#fbf1c7'
27
+ C_light0_soft = '#f2e5bc'
28
+ C_light1 = '#ebdbb2'
29
+ C_light2 = '#d5c4a1'
30
+ C_light3 = '#bdae93'
31
+ C_light4 = '#a89984'
32
+ C_light4_256 = '#a89984'
33
+
34
+ C_bright_red = '#fb4934'
35
+ C_bright_green = '#b8bb26'
36
+ C_bright_yellow = '#fabd2f'
37
+ C_bright_blue = '#83a598'
38
+ C_bright_purple = '#d3869b'
39
+ C_bright_aqua = '#8ec07c'
40
+ C_bright_orange = '#fe8019'
41
+
42
+ C_neutral_red = '#cc241d'
43
+ C_neutral_green = '#98971a'
44
+ C_neutral_yellow = '#d79921'
45
+ C_neutral_blue = '#458588'
46
+ C_neutral_purple = '#b16286'
47
+ C_neutral_aqua = '#689d6a'
48
+ C_neutral_orange = '#d65d0e'
49
+
50
+ C_faded_red = '#9d0006'
51
+ C_faded_green = '#79740e'
52
+ C_faded_yellow = '#b57614'
53
+ C_faded_blue = '#076678'
54
+ C_faded_purple = '#8f3f71'
55
+ C_faded_aqua = '#427b58'
56
+ C_faded_orange = '#af3a03'
57
+ # }}}
58
+
59
+ extend HasModes
60
+
61
+ def self.light!
62
+ mode :dark # indicate that there is a dark variant
63
+ mode! :light
64
+ end
65
+
66
+ def self.dark!
67
+ mode :light # indicate that there is a light variant
68
+ mode! :dark
69
+ end
70
+
71
+ def self.make_dark!
72
+ palette bg0: C_dark0
73
+ palette bg1: C_dark1
74
+ palette bg2: C_dark2
75
+ palette bg3: C_dark3
76
+ palette bg4: C_dark4
77
+
78
+ palette gray: C_gray_245
79
+
80
+ palette fg0: C_light0
81
+ palette fg1: C_light1
82
+ palette fg2: C_light2
83
+ palette fg3: C_light3
84
+ palette fg4: C_light4
85
+
86
+ palette fg4_256: C_light4_256
87
+
88
+ palette red: C_bright_red
89
+ palette green: C_bright_green
90
+ palette yellow: C_bright_yellow
91
+ palette blue: C_bright_blue
92
+ palette purple: C_bright_purple
93
+ palette aqua: C_bright_aqua
94
+ palette orange: C_bright_orange
95
+
96
+ end
97
+
98
+ def self.make_light!
99
+ palette bg0: C_light0
100
+ palette bg1: C_light1
101
+ palette bg2: C_light2
102
+ palette bg3: C_light3
103
+ palette bg4: C_light4
104
+
105
+ palette gray: C_gray_244
106
+
107
+ palette fg0: C_dark0
108
+ palette fg1: C_dark1
109
+ palette fg2: C_dark2
110
+ palette fg3: C_dark3
111
+ palette fg4: C_dark4
112
+
113
+ palette fg4_256: C_dark4_256
114
+
115
+ palette red: C_faded_red
116
+ palette green: C_faded_green
117
+ palette yellow: C_faded_yellow
118
+ palette blue: C_faded_blue
119
+ palette purple: C_faded_purple
120
+ palette aqua: C_faded_aqua
121
+ palette orange: C_faded_orange
122
+ end
123
+
124
+ dark!
125
+ mode :light
126
+
127
+ style Text, :fg => :fg0, :bg => :bg0
128
+ style Error, :fg => :red, :bg => :bg0, :bold => true
129
+ style Comment, :fg => :gray, :italic => true
130
+
131
+ style Comment::Preproc, :fg => :aqua
132
+
133
+ style Name::Tag, :fg => :red
134
+
135
+ style Operator,
136
+ Punctuation, :fg => :fg0
137
+
138
+ style Generic::Inserted, :fg => :green, :bg => :bg0
139
+ style Generic::Deleted, :fg => :red, :bg => :bg0
140
+ style Generic::Heading, :fg => :green, :bold => true
141
+
142
+ style Keyword, :fg => :red
143
+ style Keyword::Constant, :fg => :purple
144
+ style Keyword::Type, :fg => :yellow
145
+
146
+ style Keyword::Declaration, :fg => :orange
147
+
148
+ style Literal::String,
149
+ Literal::String::Interpol,
150
+ Literal::String::Regex, :fg => :green, :italic => true
151
+
152
+ style Literal::String::Escape, :fg => :orange
153
+
154
+ style Name::Namespace,
155
+ Name::Class, :fg => :aqua
156
+
157
+ style Name::Constant, :fg => :purple
158
+
159
+ style Name::Attribute, :fg => :green
160
+
161
+ style Literal::Number, :fg => :purple
162
+
163
+ style Literal::String::Symbol, :fg => :blue
164
+
165
+ end
166
+ end
167
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rouge
4
4
  def self.version
5
- "1.11.0"
5
+ "1.11.1"
6
6
  end
7
7
  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: 1.11.0
4
+ version: 1.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeanine Adkisson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-06 00:00:00.000000000 Z
11
+ date: 2016-06-14 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:
@@ -30,6 +30,7 @@ files:
30
30
  - lib/rouge/demos/biml
31
31
  - lib/rouge/demos/c
32
32
  - lib/rouge/demos/ceylon
33
+ - lib/rouge/demos/cfscript
33
34
  - lib/rouge/demos/clojure
34
35
  - lib/rouge/demos/cmake
35
36
  - lib/rouge/demos/coffeescript
@@ -67,6 +68,7 @@ files:
67
68
  - lib/rouge/demos/json-doc
68
69
  - lib/rouge/demos/jsonnet
69
70
  - lib/rouge/demos/julia
71
+ - lib/rouge/demos/kotlin
70
72
  - lib/rouge/demos/liquid
71
73
  - lib/rouge/demos/literate_coffeescript
72
74
  - lib/rouge/demos/literate_haskell
@@ -81,6 +83,7 @@ files:
81
83
  - lib/rouge/demos/nim
82
84
  - lib/rouge/demos/objective_c
83
85
  - lib/rouge/demos/ocaml
86
+ - lib/rouge/demos/pascal
84
87
  - lib/rouge/demos/perl
85
88
  - lib/rouge/demos/php
86
89
  - lib/rouge/demos/plaintext
@@ -123,9 +126,14 @@ files:
123
126
  - lib/rouge/demos/yaml
124
127
  - lib/rouge/formatter.rb
125
128
  - lib/rouge/formatters/html.rb
126
- - lib/rouge/formatters/html_wrapper.rb
127
129
  - lib/rouge/formatters/null.rb
128
130
  - lib/rouge/formatters/terminal256.rb
131
+ - lib/rouge/guesser.rb
132
+ - lib/rouge/guessers/filename.rb
133
+ - lib/rouge/guessers/glob_mapping.rb
134
+ - lib/rouge/guessers/mimetype.rb
135
+ - lib/rouge/guessers/modeline.rb
136
+ - lib/rouge/guessers/source.rb
129
137
  - lib/rouge/lexer.rb
130
138
  - lib/rouge/lexers/actionscript.rb
131
139
  - lib/rouge/lexers/apache.rb
@@ -135,6 +143,7 @@ files:
135
143
  - lib/rouge/lexers/biml.rb
136
144
  - lib/rouge/lexers/c.rb
137
145
  - lib/rouge/lexers/ceylon.rb
146
+ - lib/rouge/lexers/cfscript.rb
138
147
  - lib/rouge/lexers/clojure.rb
139
148
  - lib/rouge/lexers/cmake.rb
140
149
  - lib/rouge/lexers/coffeescript.rb
@@ -171,6 +180,7 @@ files:
171
180
  - lib/rouge/lexers/jinja.rb
172
181
  - lib/rouge/lexers/jsonnet.rb
173
182
  - lib/rouge/lexers/julia.rb
183
+ - lib/rouge/lexers/kotlin.rb
174
184
  - lib/rouge/lexers/liquid.rb
175
185
  - lib/rouge/lexers/literate_coffeescript.rb
176
186
  - lib/rouge/lexers/literate_haskell.rb
@@ -187,6 +197,7 @@ files:
187
197
  - lib/rouge/lexers/nim.rb
188
198
  - lib/rouge/lexers/objective_c.rb
189
199
  - lib/rouge/lexers/ocaml.rb
200
+ - lib/rouge/lexers/pascal.rb
190
201
  - lib/rouge/lexers/perl.rb
191
202
  - lib/rouge/lexers/php.rb
192
203
  - lib/rouge/lexers/php/builtins.rb
@@ -238,6 +249,7 @@ files:
238
249
  - lib/rouge/themes/base16.rb
239
250
  - lib/rouge/themes/colorful.rb
240
251
  - lib/rouge/themes/github.rb
252
+ - lib/rouge/themes/gruvbox.rb
241
253
  - lib/rouge/themes/molokai.rb
242
254
  - lib/rouge/themes/monokai.rb
243
255
  - lib/rouge/themes/monokai_sublime.rb
@@ -1,11 +0,0 @@
1
- module Rouge
2
- module Formatters
3
- class HTMLWrapper
4
- def initialize(open, formatter, close)
5
- @open = open
6
- @formatter = formatter
7
- @close = close
8
- end
9
- end
10
- end
11
- end