class RDoc::Markup::Parser::MyStringScanner

A simple wrapper of StringScanner that is aware of the current column and lineno

Public Class Methods

new(input) click to toggle source
# File rdoc/markup/parser.rb, line 420
def initialize(input)
  @line = @column = 0
  @s = StringScanner.new input
end

Public Instance Methods

[](i) click to toggle source
# File rdoc/markup/parser.rb, line 453
def [](i)
  @s[i]
end
eos?() click to toggle source
# File rdoc/markup/parser.rb, line 445
def eos?
  @s.eos?
end
matched() click to toggle source
# File rdoc/markup/parser.rb, line 449
def matched
  @s.matched
end
newline!() click to toggle source
# File rdoc/markup/parser.rb, line 440
def newline!
  @column = 0
  @line += 1
end
pos() click to toggle source
# File rdoc/markup/parser.rb, line 436
def pos
  [@column, @line]
end
scan(re) click to toggle source
# File rdoc/markup/parser.rb, line 425
def scan(re)
  ret = @s.scan(re)
  @column += ret.length if ret
  ret
end
unscan(s) click to toggle source
# File rdoc/markup/parser.rb, line 431
def unscan(s)
  @s.pos -= s.bytesize
  @column -= s.length
end