Sha256: 352ab2d3dfa1ee4d5ba3e953d29d761325c35f6c7c48d8902a5b5bdc70c27791
Contents?: true
Size: 1000 Bytes
Versions: 4
Compression:
Stored size: 1000 Bytes
Contents
# -*- coding: utf-8 -*- # # frozen_string_literal: true module Rouge module Lexers class ERB < TemplateLexer title "ERB" desc "Embedded ruby template files" tag 'erb' aliases 'eruby', 'rhtml' filenames '*.erb', '*.erubis', '*.rhtml', '*.eruby' def initialize(opts={}) @ruby_lexer = Ruby.new(opts) super(opts) end start do parent.reset! @ruby_lexer.reset! end open = /<%%|<%=|<%#|<%-|<%/ close = /%%>|-%>|%>/ state :root do rule /<%#/, Comment, :comment rule open, Comment::Preproc, :ruby rule /.+?(?=#{open})|.+/m do delegate parent end end state :comment do rule close, Comment, :pop! rule /.+?(?=#{close})|.+/m, Comment end state :ruby do rule close, Comment::Preproc, :pop! rule /.+?(?=#{close})|.+/m do delegate @ruby_lexer end end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
rouge-3.4.1 | lib/rouge/lexers/erb.rb |
rouge-3.4.0 | lib/rouge/lexers/erb.rb |
rouge-alda-3.3.0 | lib/rouge/lexers/erb.rb |
rouge-3.3.0 | lib/rouge/lexers/erb.rb |