Sha256: 85f069abe2a3c4250a6a3e846b5407cf6bdc539fd1397b5641870b78720485af

Contents?: true

Size: 762 Bytes

Versions: 1

Compression:

Stored size: 762 Bytes

Contents

module MiniSyntax
  module Highlighter
    module Haml
      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.blank?
          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
    end
  end
end

MiniSyntax.register(:haml, MiniSyntax::Highlighter::Haml)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
minisyntax-0.2.2 lib/minisyntax/highlighter/haml.rb