Skip to content

Linkify Ruby code references in terminal output #3951

@amomchilov

Description

@amomchilov

I have checked that this feature is not already implemented

  • This feature does not exist

Use case

There are several common forms of references to Ruby code that might show up in the terminal, like:

# Default `Kernel#inspect` format
#<A::B::C:0x0000000123009050 @a=1>

/Users/alex/project/example.rb:12:in 'Baz#c': unhandled exception: NotImplementedError (NotImplementedError)
	from /Users/alex/project/example.rb:8:in 'Bar#b'
	from /Users/alex/project/example.rb:4:in 'Foo#a'
	from /Users/alex/project/example.rb:15:in '<main>'

The file paths and line numbers are clickable, but not any of the Ruby code references.

Description

It would be great if RubyLSP would identify that A::B::C as a constant reference, Baz#c is a method in Baz, NotImplementedError is a class, etc., and let you go-to-def by command-clicking on these.

Implementation

It looks like TerminalLinkProvider API does exactly this.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions