Exception: Language::Parser::Interuption

Inherits:
StandardError
  • Object
show all
Defined in:
lib/language/parser/interuption.rb

Instance Method Summary collapse

Constructor Details

#initialize(parser, atom = Atom.new) ⇒ Interuption

Returns a new instance of Interuption.



4
5
6
7
# File 'lib/language/parser/interuption.rb', line 4

def initialize(parser, atom = Atom.new)
  @parser = parser
  @atom = atom
end

Instance Method Details

#column_indexObject



23
24
25
# File 'lib/language/parser/interuption.rb', line 23

def column_index
  cursor - input.lines[...line_index].map(&:size).sum
end

#lineObject



13
14
15
16
17
# File 'lib/language/parser/interuption.rb', line 13

def line
  l = input.lines[line_index]
  l += "\n" if l[-1] != "\n"
  l
end

#line_indexObject



19
20
21
# File 'lib/language/parser/interuption.rb', line 19

def line_index
  input[...cursor].count("\n")
end

#messageObject



9
10
11
# File 'lib/language/parser/interuption.rb', line 9

def message
  "\n#{line}#{" " * column_index}^\n"
end