File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 20
20
# end
21
21
# end
22
22
end
23
+
24
+ require "rouge"
25
+
26
+ module Rouge
27
+ module Lexers
28
+ # These lexers don't implement the `prepend` class method so they'll raise an error if we don't skip them.
29
+ problem_lexers = [
30
+ ::Rouge ::Lexers ::ConsoleLexer ,
31
+ ::Rouge ::Lexers ::Escape ,
32
+ ::Rouge ::Lexers ::IRBLexer ,
33
+ ::Rouge ::Lexers ::PlainText
34
+ ]
35
+
36
+ ::Rouge ::Lexer . all . each do |lexer |
37
+ next if problem_lexers . include? ( lexer )
38
+
39
+ # Ruleset courtesy of this issue:
40
+ # https://github.com/rouge-ruby/rouge/issues/642
41
+ lexer . prepend :root do
42
+ rule ( /^\+ .*$\n ?/ , lexer ::Generic ::Inserted )
43
+ rule ( /^-+.*$\n ?/ , lexer ::Generic ::Deleted )
44
+ rule ( /^!.*$\n ?/ , lexer ::Generic ::Strong )
45
+ rule ( /^@.*$\n ?/ , lexer ::Generic ::Subheading )
46
+ rule ( /^([Ii]ndex|diff).*$\n ?/ , lexer ::Generic ::Heading )
47
+ rule ( /^=.*$\n ?/ , lexer ::Generic ::Heading )
48
+ end
49
+ end
50
+ end
51
+ end
You can’t perform that action at this time.
0 commit comments