Module: Oppen
- Defined in:
- lib/oppen.rb,
lib/oppen/token.rb,
lib/wadler/print.rb,
lib/oppen/printer.rb,
lib/oppen/version.rb,
lib/oppen/scan_stack.rb,
lib/oppen/print_stack.rb
Overview
Oppen.
Defined Under Namespace
Classes: Config, PrintStack, Printer, ScanStack, Token, Wadler
Constant Summary collapse
- VERSION =
Oppen version
'0.1.0'
Class Method Summary collapse
-
.begin_consistent(offset: 2) ⇒ Oppen::Token::Begin
A new consistent Begin token.
-
.begin_inconsistent(offset: 2) ⇒ Oppen::Token::Begin
A new inconsistent Begin token.
-
.break(str = ' ', offset: 0) ⇒ Oppen::Token::Break
A new Break token.
-
.end ⇒ Oppen::Token::End
A new End token.
-
.eof ⇒ Oppen::Token::EOF
A new EOF token.
-
.line_break(offset: 0) ⇒ Oppen::Token::LineBreak
A new LineBreak token.
-
.print(config: Config.oppen, space: ' ', margin: 80, new_line: "\n", out: StringIO.new, tokens: []) ⇒ String
Entry point of the pretty printer.
-
.string(value) ⇒ Oppen::Token::String
A new String token.
Class Method Details
.begin_consistent(offset: 2) ⇒ Oppen::Token::Begin
Returns a new consistent Begin token.
124 125 126 |
# File 'lib/oppen.rb', line 124 def self.begin_consistent(offset: 2) Token::Begin.new(break_type: Token::BreakType::CONSISTENT, offset:) end |
.begin_inconsistent(offset: 2) ⇒ Oppen::Token::Begin
Returns a new inconsistent Begin token.
131 132 133 |
# File 'lib/oppen.rb', line 131 def self.begin_inconsistent(offset: 2) Token::Begin.new(break_type: Token::BreakType::INCONSISTENT, offset:) end |
.break(str = ' ', offset: 0) ⇒ Oppen::Token::Break
Returns a new Break token.
110 111 112 |
# File 'lib/oppen.rb', line 110 def self.break(str = ' ', offset: 0) Token::Break.new(str, offset:) end |
.end ⇒ Oppen::Token::End
Returns a new End token.
136 137 138 |
# File 'lib/oppen.rb', line 136 def self.end Token::End.new end |
.eof ⇒ Oppen::Token::EOF
Returns a new EOF token.
141 142 143 |
# File 'lib/oppen.rb', line 141 def self.eof Token::EOF.new end |
.line_break(offset: 0) ⇒ Oppen::Token::LineBreak
Returns a new LineBreak token.
117 118 119 |
# File 'lib/oppen.rb', line 117 def self.line_break(offset: 0) Token::LineBreak.new(offset:) end |
.print(config: Config.oppen, space: ' ', margin: 80, new_line: "\n", out: StringIO.new, tokens: []) ⇒ String
Entry point of the pretty printer.
27 28 29 30 31 32 33 34 |
# File 'lib/oppen.rb', line 27 def self.print(config: Config.oppen, space: ' ', margin: 80, new_line: "\n", out: StringIO.new, tokens: []) printer = Printer.new margin, new_line, config, space, out tokens.each do |token| printer.print token end printer.output end |
.string(value) ⇒ Oppen::Token::String
Returns a new String token.
102 103 104 |
# File 'lib/oppen.rb', line 102 def self.string(value) Token::String.new(value) end |