mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/error_highlight] Experimentally support a custom formatter
f40a1de20e
This commit is contained in:
parent
db7e9b1aac
commit
f428ced69c
4 changed files with 74 additions and 28 deletions
24
lib/error_highlight/formatter.rb
Normal file
24
lib/error_highlight/formatter.rb
Normal file
|
@ -0,0 +1,24 @@
|
|||
module ErrorHighlight
|
||||
class DefaultFormatter
|
||||
def message_for(spot)
|
||||
# currently only a one-line code snippet is supported
|
||||
if spot[:first_lineno] == spot[:last_lineno]
|
||||
marker = " " * spot[:first_column] + "^" * (spot[:last_column] - spot[:first_column])
|
||||
|
||||
"\n\n#{ spot[:snippet] }#{ marker }"
|
||||
else
|
||||
""
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.formatter
|
||||
@@formatter
|
||||
end
|
||||
|
||||
def self.formatter=(formatter)
|
||||
@@formatter = formatter
|
||||
end
|
||||
|
||||
self.formatter = DefaultFormatter.new
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue