Skip to content

Add textDocument/implementation support#670

Open
TheLazyLemur wants to merge 1 commit into
fwcd:mainfrom
TheLazyLemur:feat/text-document-implementation
Open

Add textDocument/implementation support#670
TheLazyLemur wants to merge 1 commit into
fwcd:mainfrom
TheLazyLemur:feat/text-document-implementation

Conversation

@TheLazyLemur

@TheLazyLemur TheLazyLemur commented Feb 10, 2026

Copy link
Copy Markdown

Motivation

Recently started working with Kotlin and realised the server doesn't support go-to-implementation, which is a deal breaker for navigating interfaces and abstract classes.

Summary

  • Advertise implementationProvider server capability
  • Add textDocument/implementation handler in KotlinTextDocumentService
  • Add FindImplementations — finds concrete implementations of interfaces, abstract classes, and their members
  • Fall back to DECLARATION_TO_DESCRIPTOR when cursor is on a declaration (not a reference), so gi works after gd to an interface

Test plan

  • ./gradlew :server:build passes
  • ImplementationTest covers interface/abstract class resolution
  • Open Kotlin file, gd to interface declaration, gi returns implementing classes

Wire up implementationProvider capability and handler.
Resolve declarations at cursor via DECLARATION_TO_DESCRIPTOR
fallback when no reference expression exists.
@github-actions github-actions Bot added the code quality Refactoring, tests etc. label Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

code quality Refactoring, tests etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant