fwcd / fwcd/kotlin-language-server

Use official LSP method to fetch content from custom KLS URIs

Open
#161 1 comment 0 reactions 0 assignees View on GitHub
enhancement on hold
Dominant language
Kotlin
Stars
2k
Forks
252
PR merge metrics
No merged PRs in 30d

Description

Since support for the kls URI scheme (#150) was introduced, the language server has been using the the non-standard protocol method `kotlin/jarClassContents` to provide source file contents for classes inside JAR archives. This is clearly not ideal, since the one of the main goals of LSP is to provide editor-agnostic support for features such as Go-To-Definition. To work around this issue, the language server has been using temporary files if the editor does not support the `kls` URI scheme.

There is, however, a new in-progress API (https://github.com/microsoft/language-server-protocol/issues/336) that standardizes this method and we should adopt it once it gets implemented.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the current kotlin/jarClassContents method and the temporary-file workaround described in the issue, then read the linked LSP API discussion. Done means the language server uses the standardized method for custom KLS URIs instead of the non-standard method and workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
api, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.