X7ROOT File Manager
Current Path:
/opt/alt/ruby33/share/ruby/syntax_suggest
opt
/
alt
/
ruby33
/
share
/
ruby
/
syntax_suggest
/
ðŸ“
..
📄
api.rb
(6.07 KB)
📄
around_block_scan.rb
(6.9 KB)
📄
block_expand.rb
(4.88 KB)
ðŸ“
capture
📄
capture_code_context.rb
(6.67 KB)
📄
clean_document.rb
(8.73 KB)
📄
cli.rb
(3.12 KB)
📄
code_block.rb
(2.13 KB)
📄
code_frontier.rb
(5.61 KB)
📄
code_line.rb
(6.62 KB)
📄
code_search.rb
(3.81 KB)
📄
core_ext.rb
(3.02 KB)
📄
display_code_with_line_numbers.rb
(1.77 KB)
📄
display_invalid_blocks.rb
(1.75 KB)
📄
explain_syntax.rb
(2.69 KB)
📄
left_right_lex_count.rb
(4.06 KB)
📄
lex_all.rb
(1.66 KB)
📄
lex_value.rb
(1.5 KB)
📄
parse_blocks_from_indent_line.rb
(1.5 KB)
📄
pathname_from_message.rb
(1.42 KB)
📄
priority_engulf_queue.rb
(1.26 KB)
📄
priority_queue.rb
(2 KB)
📄
ripper_errors.rb
(960 B)
📄
scan_history.rb
(2.92 KB)
📄
unvisited_lines.rb
(705 B)
📄
version.rb
(76 B)
Editing: display_code_with_line_numbers.rb
# frozen_string_literal: true module SyntaxSuggest # 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 class DisplayCodeWithLineNumbers TERMINAL_HIGHLIGHT = "\e[1;3m" # Bold, italics TERMINAL_END = "\e[0m" 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 def call @lines.map do |line| format_line(line) end.join end private def format_line(code_line) # Handle trailing slash lines code_line.original.lines.map.with_index do |contents, i| format( empty: code_line.empty?, number: (code_line.number + i).to_s, contents: contents, highlight: @highlight_line_hash[code_line] ) end.join end private def format(contents:, number:, empty:, highlight: false) string = +"" string << if highlight "> " else " " end string << number.rjust(@digit_count).to_s if empty string << contents else string << " " string << TERMINAL_HIGHLIGHT if @terminal && highlight string << contents string << TERMINAL_END if @terminal end string end end end
Upload File
Create Folder