Skip to content

Commit 99eb20b

Browse files
authored
Support bold and italics at the same time (rouge-ruby#2053)
1 parent 9266cbd commit 99eb20b

16 files changed

+38
-8
lines changed

lib/rouge/lexers/markdown.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ def html
107107
push :link
108108
end
109109

110-
rule %r/[*][*]#{edot}*?[*][*]/, Generic::Strong
110+
rule %r/[*]{2}[^* \n][^*\n]*[*]{2}/, Generic::Strong
111+
rule %r/[*]{3}[^* \n][^*\n]*[*]{3}/, Generic::EmphStrong
111112
rule %r/__#{edot}*?__/, Generic::Strong
112113

113114
rule %r/[*]#{edot}*?[*]/, Generic::Emph

lib/rouge/themes/base16.rb

+4
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ def self.make_light!
6161
style Generic::Deleted, :fg => :base08
6262
style Generic::Heading, :fg => :base0D, :bg => :base00, :bold => true
6363

64+
style Generic::Emph, :italic => true
65+
style Generic::EmphStrong, :italic => true, :bold => true
66+
style Generic::Strong, :bold => true
67+
6468
style Keyword, :fg => :base0E
6569
style Keyword::Constant,
6670
Keyword::Type, :fg => :base09

lib/rouge/themes/bw.rb

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class BlackWhiteTheme < CSSTheme
3333
style Generic::Heading, :bold => true
3434
style Generic::Subheading, :bold => true
3535
style Generic::Emph, :italic => true
36+
style Generic::EmphStrong, :italic => true, :bold => true
3637
style Generic::Strong, :bold => true
3738
style Generic::Prompt, :bold => true
3839

lib/rouge/themes/colorful.rb

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ class Colorful < CSSTheme
5858
style Generic::Inserted, :fg => "#00A000"
5959
style Generic::Error, :fg => "#FF0000"
6060
style Generic::Emph, :italic => true
61+
style Generic::EmphStrong, :italic => true, :bold => true
6162
style Generic::Strong, :bold => true
6263
style Generic::Prompt, :fg => "#c65d09", :bold => true
6364
style Generic::Output, :fg => "#888"

lib/rouge/themes/github.rb

+1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ def self.make_light!
111111
Name::Tag, :fg => :tag
112112

113113
style Generic::Inserted, :fg => :fgInserted, :bg => :bgInserted
114+
style Generic::EmphStrong, :italic => true, :bold => true
114115

115116
style Keyword::Constant,
116117
Literal,

lib/rouge/themes/gruvbox.rb

+4-1
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,10 @@ def self.make_light!
140140
style Generic::Deleted, :fg => :red, :bg => :bg0
141141
style Generic::Heading, :fg => :green, :bold => true
142142

143+
style Generic::Emph, :italic => true
144+
style Generic::EmphStrong, :italic => true, :bold => true
145+
style Generic::Strong, :bold => true
146+
143147
style Keyword, :fg => :red
144148
style Keyword::Constant, :fg => :purple
145149
style Keyword::Type, :fg => :yellow
@@ -164,7 +168,6 @@ def self.make_light!
164168
style Literal::Number, :fg => :purple
165169

166170
style Literal::String::Symbol, :fg => :blue
167-
168171
end
169172
end
170173
end

lib/rouge/themes/igor_pro.rb

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ class IgorPro < CSSTheme
1010
style Comment::Preproc, :fg => '#CC00A3'
1111
style Comment::Special, :fg => '#CC00A3'
1212
style Comment, :fg => '#FF0000'
13+
style Generic::Emph, :italic => true
14+
style Generic::EmphStrong, :italic => true, :bold => true
15+
style Generic::Strong, :bold => true
1316
style Keyword::Constant, :fg => '#C34E00'
1417
style Keyword::Declaration, :fg => '#0000FF'
1518
style Keyword::Reserved, :fg => '#007575'

lib/rouge/themes/magritte.rb

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class Magritte < CSSTheme
4141
style Generic::Deleted, :fg => :cherry
4242
style Generic::Inserted, :fg => :forest
4343
style Generic::Emph, :italic => true
44+
style Generic::EmphStrong, :italic => true, :bold => true
4445
style Generic::Strong, :bold => true
4546
style Generic::Traceback, :fg => :black, :bg => :lavender
4647
style Keyword::Constant, :fg => :forest, :bold => true

lib/rouge/themes/molokai.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ class Molokai < CSSTheme
2525
style Error, :fg => :white, :bg => :grey
2626
style Generic::Inserted, :fg => :green
2727
style Generic::Deleted, :fg => :red
28-
style Generic::Emph, :fg => :black, :italic => true
28+
style Generic::Emph, :italic => true
29+
style Generic::EmphStrong, :italic => true, :bold => true
2930
style Generic::Error,
3031
Generic::Traceback, :fg => :red
3132
style Generic::Heading, :fg => :grey

lib/rouge/themes/monokai.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ class Monokai < CSSTheme
3535
style Error, :fg => :carmine, :bg => :very_dark
3636
style Generic::Inserted, :fg => :white, :bg => :dimgreen
3737
style Generic::Deleted, :fg => :white, :bg => :dimred
38-
style Generic::Emph, :fg => :black, :italic => true
38+
style Generic::Emph, :italic => true
39+
style Generic::EmphStrong, :italic => true, :bold => true
3940
style Generic::Error,
4041
Generic::Traceback, :fg => :dark_red
4142
style Generic::Heading, :fg => :grey

lib/rouge/themes/monokai_sublime.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ class MonokaiSublime < CSSTheme
3030
style Literal::String::Regex, :fg => :orange
3131
style Generic::Output, :fg => :dark_grey
3232
style Generic::Prompt, :fg => :emperor
33-
style Generic::Strong, :bold => false
33+
style Generic::Emph, :italic => true
34+
style Generic::EmphStrong, :italic => true, :bold => true
35+
style Generic::Strong, :bold => true
3436
style Generic::Subheading, :fg => :light_grey
3537
style Name::Builtin, :fg => :orange
3638
style Comment::Multiline,
@@ -42,8 +44,7 @@ class MonokaiSublime < CSSTheme
4244
Generic::Error,
4345
Generic::Traceback, :fg => :carmine
4446
style Generic::Deleted,
45-
Generic::Inserted,
46-
Generic::Emph, :fg => :dark
47+
Generic::Inserted, :fg => :dark
4748
style Keyword::Constant,
4849
Keyword::Declaration,
4950
Keyword::Reserved,

lib/rouge/themes/pastie.rb

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class Pastie < CSSTheme
2222
style Generic::Inserted, :fg => '#000000', :bg => '#ddffdd'
2323

2424
style Generic::Emph, :italic => true
25+
style Generic::EmphStrong, :italic => true, :bold => true
2526
style Generic::Strong, :bold => true
2627

2728
style Generic::Lineno, :fg => '#888888'

lib/rouge/themes/thankful_eyes.rb

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class ThankfulEyes < CSSTheme
3838
style Generic::Deleted, :fg => :scarletred2
3939
style Generic::Inserted, :fg => :go_get_it
4040
style Generic::Emph, :italic => true
41+
style Generic::EmphStrong, :italic => true, :bold => true
4142
style Generic::Strong, :bold => true
4243
style Generic::Traceback, :fg => :eggshell_cloud, :bg => :slate_blue
4344
style Keyword::Constant, :fg => :pink_merengue, :bold => true

lib/rouge/themes/tulip.rb

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class Tulip < CSSTheme
3333
style Generic::Deleted, :fg => :red
3434
style Generic::Inserted, :fg => :green
3535
style Generic::Emph, :italic => true
36+
style Generic::EmphStrong, :italic => true, :bold => true
3637
style Generic::Strong, :bold => true
3738
style Generic::Traceback,
3839
Generic::Lineno, :fg => :white, :bg => :purple

lib/rouge/token.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -172,15 +172,16 @@ def self.token(name, shortname, &b)
172172
token :Generic, 'g' do
173173
token :Deleted, 'gd'
174174
token :Emph, 'ge'
175+
token :EmphStrong, 'ges'
175176
token :Error, 'gr'
176177
token :Heading, 'gh'
177178
token :Inserted, 'gi'
179+
token :Lineno, 'gl'
178180
token :Output, 'go'
179181
token :Prompt, 'gp'
180182
token :Strong, 'gs'
181183
token :Subheading, 'gu'
182184
token :Traceback, 'gt'
183-
token :Lineno, 'gl'
184185
end
185186

186187
# convenience

spec/visual/samples/markdown

+8
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,8 @@ HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML
828828

829829
**double asterisks**
830830

831+
***triple asterisks***
832+
831833
__double underscores__
832834

833835
will produce:
@@ -1097,3 +1099,9 @@ has (parens too)](example.com), and text after it.
10971099

10981100
[this is not a
10991101
link]
1102+
1103+
*single asterisks*
1104+
_single underscores_
1105+
**double asterisks**
1106+
***triple asterisks***
1107+
__double underscores__

0 commit comments

Comments
 (0)