summaryrefslogtreecommitdiff
path: root/lib/syntax_suggest/core_ext.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/syntax_suggest/core_ext.rb')
-rw-r--r--lib/syntax_suggest/core_ext.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/syntax_suggest/core_ext.rb b/lib/syntax_suggest/core_ext.rb
index 616a6ed983..59e13a149a 100644
--- a/lib/syntax_suggest/core_ext.rb
+++ b/lib/syntax_suggest/core_ext.rb
@@ -25,7 +25,16 @@ if SyntaxError.method_defined?(:detailed_message)
require "syntax_suggest/api" unless defined?(SyntaxSuggest::DEFAULT_VALUE)
message = super
- file = path
+
+ file = if respond_to?(:path)
+ path
+ elsif highlight
+ # This branch will be removed when the next Ruby 3.2 preview is released with
+ # support for SyntaxError#path
+ SyntaxSuggest::PathnameFromMessage.new(super(highlight: false, **kwargs)).call.name
+ else
+ SyntaxSuggest::PathnameFromMessage.new(message).call.name
+ end
if file
file = Pathname.new(file)