diff options
author | schneems <[email protected]> | 2023-03-08 08:51:00 -0600 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2023-04-06 15:45:28 +0900 |
commit | e5236471c3ce194199a6ceb70012eb2ca243407e (patch) | |
tree | 83455ffeecb919833e32998ed83fd018092cbd1c /lib/syntax_suggest/code_line.rb | |
parent | 33cfd262fcfe65737b6d4cde416a24cd81406885 (diff) |
[ruby/syntax_suggest] Preserve whitespace in front of comments
When removing comments I previously replaced them with a newline. This loses some context and may affect the order of the indent search which in turn affects the final result. By preserving whitespace in front of the comment, we preserve the "natural" indentation order of the line while also allowing the parser/lexer to see and join naturally consecutive (method chain) lines.
close https://github.com/ruby/syntax_suggest/pull/177
Diffstat (limited to 'lib/syntax_suggest/code_line.rb')
-rw-r--r-- | lib/syntax_suggest/code_line.rb | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/syntax_suggest/code_line.rb b/lib/syntax_suggest/code_line.rb index dc738ab128..d771a2c0dd 100644 --- a/lib/syntax_suggest/code_line.rb +++ b/lib/syntax_suggest/code_line.rb @@ -48,11 +48,9 @@ module SyntaxSuggest strip_line = line.dup strip_line.lstrip! - if strip_line.empty? - @empty = true - @indent = 0 + if (@empty = strip_line.empty?) + @indent = line.length - 1 # Newline removed from strip_line is not "whitespace" else - @empty = false @indent = line.length - strip_line.length end |