lib/trac-wiki/parser.rb in trac-wiki-0.1.6 vs lib/trac-wiki/parser.rb in trac-wiki-0.1.7
- old
+ new
@@ -56,10 +56,13 @@
def no_link?; @no_link; end
attr_writer :math
def math?; @math; end
+ attr_writer :merge
+ def merge?; @merge; end
+
# Create a new Parser instance.
def initialize(text, options = {})
@allowed_schemes = %w(http https ftp ftps)
@text = text
@no_escape = nil
@@ -485,9 +488,18 @@
when math? && str =~ /\A\$\$(.*?)\$\$/m
end_paragraph
nowikiblock = make_nowikiblock($1)
@out << "$$" << escape_html(nowikiblock) << "$$\n"
@was_math = true
+ when merge? && str =~ /\A(<<<<<<<|=======|>>>>>>>)\s+(\S+).*$(\r?\n)?/
+ who = $2
+ merge_class = case $1[0]
+ when '<' ; 'merge-mine'
+ when '=' ; 'merge-orig'
+ when '>' ; 'merge-your'
+ end
+ end_paragraph
+ @out << "<div class='merge #{merge_class}'>" << escape_html(who) << "</div>\n"
when str =~ /\A\{\{\{\r?\n(.*?)\r?\n\}\}\}/m
end_paragraph
nowikiblock = make_nowikiblock($1)
@out << '<pre>' << escape_html(nowikiblock) << '</pre>'