diff --git a/lib/error_highlight/base.rb b/lib/error_highlight/base.rb index 1a29ee4..0e1baf8 100644 --- a/lib/error_highlight/base.rb +++ b/lib/error_highlight/base.rb @@ -700,6 +700,9 @@ def prism_spot_call_for_name # foo 42 # ^^ def prism_spot_call_for_args + # Disallow highlighting arguments if there are no arguments. + return if @node.arguments.nil? + # Explicitly turn off foo.() syntax because error_highlight expects this # to not work. return nil if @node.name == :call && @node.message_loc.nil? diff --git a/test/test_error_highlight.rb b/test/test_error_highlight.rb index 5f4c386..63e7032 100644 --- a/test/test_error_highlight.rb +++ b/test/test_error_highlight.rb @@ -197,6 +197,15 @@ def test_CALL_arg_6 end end + def test_CALL_arg_7 + assert_error_message(ArgumentError, <<~END) do +tried to create Proc object without a block (ArgumentError) + END + + Proc.new + end + end + def test_QCALL_1 assert_error_message(NoMethodError, <<~END) do undefined method `foo' for #{ ONE_RECV_MESSAGE }