From f64ba0fadd97adbd7cb8171fc8aa010b829a7185 Mon Sep 17 00:00:00 2001 From: schneems Date: Fri, 25 Nov 2022 16:26:43 -0600 Subject: [PATCH] [ruby/syntax_suggest] Do not output "Syntax OK" when there's an error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Due to a problem with ripper we do not recognize `break` as invalid code. It's confusing that "Syntax OK" is output in that case. When there's no syntax error, the algorithm should not say anything. The exception is in the CLI and that's for compatibility with `ruby -wc` ``` $ cat /tmp/break.rb break ⛄️ 3.1.2 🚀 /Users/rschneeman/Documents/projects/syntax_suggest (schneems/no-syntax-not-okay-break) $ ruby -wc /tmp/break.rb Syntax OK ``` > Note that this is invalid, running this code will raise a Syntax error. ``` $ exe/syntax_suggest /tmp/break.rb Syntax OK ``` Close https://github.com/ruby/syntax_suggest/pull/157 https://github.com/ruby/syntax_suggest/commit/d7bd8f03a2 --- lib/syntax_suggest/cli.rb | 1 + lib/syntax_suggest/display_invalid_blocks.rb | 1 - spec/syntax_suggest/unit/api_spec.rb | 2 +- spec/syntax_suggest/unit/display_invalid_blocks_spec.rb | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/syntax_suggest/cli.rb b/lib/syntax_suggest/cli.rb index b89fa5d013..9bc4fe6cd4 100644 --- a/lib/syntax_suggest/cli.rb +++ b/lib/syntax_suggest/cli.rb @@ -65,6 +65,7 @@ module SyntaxSuggest ) if display.document_ok? + @io.puts "Syntax OK" @exit_obj.exit(0) else @exit_obj.exit(1) diff --git a/lib/syntax_suggest/display_invalid_blocks.rb b/lib/syntax_suggest/display_invalid_blocks.rb index bc1143f4b0..32ec0021a3 100644 --- a/lib/syntax_suggest/display_invalid_blocks.rb +++ b/lib/syntax_suggest/display_invalid_blocks.rb @@ -23,7 +23,6 @@ module SyntaxSuggest def call if document_ok? - @io.puts "Syntax OK" return self end diff --git a/spec/syntax_suggest/unit/api_spec.rb b/spec/syntax_suggest/unit/api_spec.rb index 21df86bb3e..006e26fd22 100644 --- a/spec/syntax_suggest/unit/api_spec.rb +++ b/spec/syntax_suggest/unit/api_spec.rb @@ -25,7 +25,7 @@ module SyntaxSuggest io: io ) - expect(io.string.strip).to eq("Syntax OK") + expect(io.string.strip).to eq("") end it "raises original error with warning if a non-syntax error is passed" do diff --git a/spec/syntax_suggest/unit/display_invalid_blocks_spec.rb b/spec/syntax_suggest/unit/display_invalid_blocks_spec.rb index c696132782..45b3e7f2e7 100644 --- a/spec/syntax_suggest/unit/display_invalid_blocks_spec.rb +++ b/spec/syntax_suggest/unit/display_invalid_blocks_spec.rb @@ -25,7 +25,7 @@ module SyntaxSuggest code_lines: search.code_lines ) display.call - expect(io.string).to include("Syntax OK") + expect(io.string).to include("") end it "selectively prints to terminal if input is a tty by default" do