class SyntaxSuggest::DisplayCodeWithLineNumbers
Outputs code with highlighted lines
Whatever is passed to this class will be rendered even if it is “marked invisible” any filtering of output should be done before calling this class.
DisplayCodeWithLineNumbers.new( lines: lines, highlight_lines: [lines[2], lines[3]] ).call # => 1 2 def cat > 3 Dir.chdir > 4 end 5 end 6
Constants
- TERMINAL_END
- TERMINAL_HIGHLIGHT
Public Class Methods
new
(lines:, highlight_lines: [], terminal: false)
# File lib/syntax_suggest/display_code_with_line_numbers.rb, line 25 def initialize(lines:, highlight_lines: [], terminal: false) @lines = Array(lines).sort @terminal = terminal @highlight_line_hash = Array(highlight_lines).each_with_object({}) { |line, h| h[line] = true } @digit_count = @lines.last&.line_number.to_s.length end
Public Instance Methods
call
()
# File lib/syntax_suggest/display_code_with_line_numbers.rb, line 32 def call @lines.map do |line| format_line(line) end.join end