module MiniSyntax::Highlighter::Haml
Public Class Methods
highlight(code)
click to toggle source
# 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