[ruby/syntax_suggest] Rollback comment indentation behavior

Originally I fixed https://github.com/ruby/syntax_suggest/pull/177 by making the process of comment removal indentation aware. The next commit is the more general fix and means we don't need to carry that additional logic/overhead.

Also: Update syntax via linter
This commit is contained in:
schneems 2023-03-09 14:13:46 -06:00 committed by Hiroshi SHIBATA
parent 2acbcec056
commit 63ea6b0cf2
4 changed files with 10 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -28,9 +28,9 @@ module SyntaxSuggest
block = expansion.expand_neighbors(block)
expect(block.to_s).to eq(<<~EOM.indent(2))
def bark # index 1
def bark # index 1
end # index 3
end # index 3
EOM
end

View File

@ -72,7 +72,6 @@ module SyntaxSuggest
EOM
end
it "joins multi-line chained methods when separated by comments" do
source = <<~EOM
User.
@ -114,7 +113,7 @@ module SyntaxSuggest
lines = CleanDocument.new(source: source).lines
expect(lines[0].to_s).to eq($/)
expect(lines[1].to_s).to eq('puts "what"' + $/)
expect(lines[2].to_s).to eq(' ' + $/)
expect(lines[2].to_s).to eq($/)
end
it "trailing slash: does not join trailing do" do