Sha256: bb88f827bc58fe0536aea44cf81a03e5c218cd90b5a0b6ac743cf766661e1336
Contents?: true
Size: 907 Bytes
Versions: 4
Compression:
Stored size: 907 Bytes
Contents
# -*- coding: utf-8 -*- # module Rouge module Lexers class EEX < TemplateLexer title "EEX" desc "Embedded Elixir" tag 'eex' filenames '*.eex' def initialize(opts={}) @elixir_lexer = Elixir.new(opts) super(opts) end start do parent.reset! @elixir_lexer.reset! end open = /<%%|<%=|<%#|<%/ close = /%%>|%>/ state :root do rule %r/<%#/, Comment, :comment rule open, Comment::Preproc, :elixir rule %r/.+?(?=#{open})|.+/mo do delegate parent end end state :comment do rule close, Comment, :pop! rule %r/.+?(?=#{close})|.+/mo, Comment end state :elixir do rule close, Comment::Preproc, :pop! rule %r/.+?(?=#{close})|.+/mo do delegate @elixir_lexer end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rouge-3.11.1 | lib/rouge/lexers/eex.rb |
rouge-3.11.0 | lib/rouge/lexers/eex.rb |
rouge-3.10.0 | lib/rouge/lexers/eex.rb |
rouge-3.9.0 | lib/rouge/lexers/eex.rb |