summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/syntax_suggest/clean_document.rb7
-rw-r--r--lib/syntax_suggest/code_line.rb6
2 files changed, 7 insertions, 6 deletions
diff --git a/lib/syntax_suggest/clean_document.rb b/lib/syntax_suggest/clean_document.rb
index 08a465dfb0..2c26061bfc 100644
--- a/lib/syntax_suggest/clean_document.rb
+++ b/lib/syntax_suggest/clean_document.rb
@@ -155,10 +155,11 @@ module SyntaxSuggest
# ).to eq(2)
#
def clean_sweep(source:)
+ # Match comments, but not HEREDOC strings with #{variable} interpolation
+ # https://rubular.com/r/HPwtW9OYxKUHXQ
source.lines.map do |line|
- if line.match?(/^\s*#([^{].*)?$/) # https://rubular.com/r/LLE10D8HKMkJvs
- whitespace = /^(?<whitespace>\s*)#([^{].*)?$/.match(line).named_captures["whitespace"] || ""
- whitespace + $/
+ if line.match?(/^\s*#([^{].*|)$/)
+ $/
else
line
end
diff --git a/lib/syntax_suggest/code_line.rb b/lib/syntax_suggest/code_line.rb
index d771a2c0dd..a20f34afa4 100644
--- a/lib/syntax_suggest/code_line.rb
+++ b/lib/syntax_suggest/code_line.rb
@@ -48,10 +48,10 @@ module SyntaxSuggest
strip_line = line.dup
strip_line.lstrip!
- if (@empty = strip_line.empty?)
- @indent = line.length - 1 # Newline removed from strip_line is not "whitespace"
+ @indent = if (@empty = strip_line.empty?)
+ line.length - 1 # Newline removed from strip_line is not "whitespace"
else
- @indent = line.length - strip_line.length
+ line.length - strip_line.length
end
set_kw_end