blob: 0c546ca614129b51ca259afcecd156d96b5c69ef [file] [log] [blame]
# -*- coding: utf-8 -*- #
module Rouge
module Lexers
class LiterateCoffeescript < RegexLexer
tag 'literate_coffeescript'
title "Literate CoffeeScript"
desc 'Literate coffeescript'
aliases 'litcoffee'
filenames '*.litcoffee'
def markdown
@markdown ||= Markdown.new(options)
end
def coffee
@coffee ||= Coffeescript.new(options)
end
start { markdown.reset!; coffee.reset! }
state :root do
rule /^( .*?\n)+/m do
delegate coffee
end
rule /^([ ]{0,3}(\S.*?|)\n)*/m do
delegate markdown
end
end
end
end
end