Class: Spoom::LSP::SymbolPrinter
- Defined in:
- lib/spoom/sorbet/lsp/structures.rb
Instance Attribute Summary collapse
-
#prefix ⇒ Object
: String?.
-
#seen ⇒ Object
readonly
: Set.
Attributes inherited from Printer
Instance Method Summary collapse
-
#clean_uri(uri) ⇒ Object
: (String uri) -> String.
-
#initialize(out: $stdout, colors: true, indent_level: 0, prefix: nil) ⇒ SymbolPrinter
constructor
: (?out: (IO | StringIO), ?colors: bool, ?indent_level: Integer, ?prefix: String?) -> void.
-
#print_list(objects) ⇒ Object
: (Array objects) -> void.
-
#print_object(object) ⇒ Object
: (PrintableSymbol? object) -> void.
-
#print_objects(objects) ⇒ Object
: (Array objects) -> void.
Methods inherited from Printer
#colorize, #dedent, #indent, #print, #print_colored, #printl, #printn, #printt
Methods included from Colorize
Constructor Details
#initialize(out: $stdout, colors: true, indent_level: 0, prefix: nil) ⇒ SymbolPrinter
: (?out: (IO | StringIO), ?colors: bool, ?indent_level: Integer, ?prefix: String?) -> void
297 298 299 300 301 302 303 304 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 297 def initialize(out: $stdout, colors: true, indent_level: 0, prefix: nil) super(out: out, colors: colors, indent_level: indent_level) @seen = Set.new #: Set[Integer] @out = out @colors = colors @indent_level = indent_level @prefix = prefix end |
Instance Attribute Details
#prefix ⇒ Object
: String?
294 295 296 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 294 def prefix @prefix end |
#seen ⇒ Object (readonly)
: Set
291 292 293 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 291 def seen @seen end |
Instance Method Details
#clean_uri(uri) ⇒ Object
: (String uri) -> String
319 320 321 322 323 324 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 319 def clean_uri(uri) prefix = self.prefix return uri unless prefix uri.delete_prefix(prefix) end |
#print_list(objects) ⇒ Object
: (Array objects) -> void
327 328 329 330 331 332 333 334 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 327 def print_list(objects) objects.each do |object| printt print("* ") print_object(object) printn end end |
#print_object(object) ⇒ Object
: (PrintableSymbol? object) -> void
307 308 309 310 311 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 307 def print_object(object) return unless object object.accept_printer(self) end |
#print_objects(objects) ⇒ Object
: (Array objects) -> void
314 315 316 |
# File 'lib/spoom/sorbet/lsp/structures.rb', line 314 def print_objects(objects) objects.each { |object| print_object(object) } end |