module Erubis::BiPatternEnhancer

def self.desc # :nodoc:

:nodoc:
def self.desc   # :nodoc:
  "another embedded expression pattern (default '\[= =\]')."
end

def add_text(src, text)

def add_text(src, text)
  return unless text
  m = nil
  text.scan(@bipattern_regexp) do |txt, indicator, code|
    m = Regexp.last_match
    super(src, txt)
    add_expr(src, code, '=' + indicator)
  end
  #rest = $' || text                    # ruby1.8
  rest = m ? text[m.end(0)..-1] : text  # ruby1.9
  super(src, rest)
end

def bipattern=(pat) # :nodoc:

:nodoc:
# when pat is nil then '\[= =\]' is used
def bipattern=(pat)   # :nodoc:
  @bipattern = pat || '\[= =\]'
  pre, post = @bipattern.split()
  @bipattern_regexp = /(.*?)#{pre}(=*)(.*?)#{post}/m
end

def initialize(input, properties={})

def initialize(input, properties={})
  self.bipattern = properties[:bipattern]    # or '\$\{ \}'
  super
end