mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/error_highlight] Support hard tabs
Now, the highlight line is created by replacing non-tab characters with
spaces, and keeping all hard tabs as-is. This means the highlight line
has the completely same indentation as the code snippet line.
Fixes #7
38f20fa542
This commit is contained in:
parent
b18f6fff69
commit
23c8bc367c
2 changed files with 19 additions and 1 deletions
|
@ -3,7 +3,8 @@ module ErrorHighlight
|
|||
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])
|
||||
indent = spot[:snippet][0...spot[:first_column]].gsub(/[^\t]/, " ")
|
||||
marker = indent + "^" * (spot[:last_column] - spot[:first_column])
|
||||
|
||||
"\n\n#{ spot[:snippet] }#{ marker }"
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue