Sha256: b0baa5fa0abcd803d75921c48aad2ec3c699f9b546a9b948d3329ef3ac7995dc
Contents?: true
Size: 1010 Bytes
Versions: 40
Compression:
Stored size: 1010 Bytes
Contents
# -*- coding: utf-8 -*- # module Rouge module Lexers class EPP < TemplateLexer title "EPP" desc "Embedded Puppet template files" tag 'epp' filenames '*.epp' def initialize(opts={}) super(opts) @parent = lexer_option(:parent) { PlainText.new(opts) } @puppet_lexer = Puppet.new(opts) end start do parent.reset! @puppet_lexer.reset! end open = /<%%|<%=|<%#|(<%-|<%)(\s*\|)?/ close = /%%>|(\|\s*)?(-%>|%>)/ state :root do rule %r/<%#/, Comment, :comment rule open, Comment::Preproc, :puppet rule %r/.+?(?=#{open})|.+/m do delegate parent end end state :comment do rule close, Comment, :pop! rule %r/.+?(?=#{close})|.+/m, Comment end state :puppet do rule close, Comment::Preproc, :pop! rule %r/.+?(?=#{close})|.+/m do delegate @puppet_lexer end end end end end
Version data entries
40 entries across 40 versions & 2 rubygems