4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/minisyntax/highlighter/haml.rb', line 4
def self.highlight(code)
code.gsub! /^( *)(%[a-z1-9\-]+)?(([\.\#][a-z\-_]+)*)((<)?(>)?&?)(=.+?$)?/i do
result = $1 || ''
tag = $2
classes_and_id = $3
options = $5
ruby = $8
result << %Q(<em>#{tag}</em>) if tag
result << %Q(<b>#{classes_and_id}</b>) unless classes_and_id.empty?
result << options if options
result << MiniSyntax.highlight(ruby, :ruby) if ruby
result
end
code.gsub! /^(( )*)(-(.+?))$/ do
%Q(#{$1}-#{MiniSyntax.highlight($4, :ruby)})
end
code
end
|