mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 16:08:05 +00:00
The official Kotlin LSP answers navigation into a dependency with a `jar:///…/lib.jar!/pkg/Name.class` URI but does not serve its contents through `workspace/textDocumentContent`, so opening the target failed with "no language server provides the contents of jar:…", locally and remotely. `jar:` URIs are now resolved by the backend, where the jars are: - An entry that is not a class (a sources jar entry, a resource) is read from its archive. - A class is shown as its source from the artifact's `-sources.jar` in the Maven repository or the Gradle cache (`Name.java`/`Name.kt`, an inner class's outer file, a `FileKt` facade's `File.kt`, a `@file:JvmName` file); Go to Declaration then lands on the declaration of the name it was invoked on. - Otherwise the server's `decompile` command is used when it offers one, and the error says that neither a source nor a decompiler is available. - Library tabs name the archive and package (`spring-boot-3.5.16.jar › org.springframework.boot`). Fixes #982
32 lines
856 B
TOML
32 lines
856 B
TOML
[package]
|
|
name = "ide-lsp"
|
|
description = "Language server manager: lifecycle, document sync, feature requests mapped to IDE types"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
ide-core.workspace = true
|
|
ide-vfs.workspace = true
|
|
dunce.workspace = true
|
|
ide-text.workspace = true
|
|
ide-language.workspace = true
|
|
ide-jsonrpc.workspace = true
|
|
lsp-types.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
specta.workspace = true
|
|
tokio = { workspace = true, features = ["net"] }
|
|
parking_lot.workspace = true
|
|
tracing.workspace = true
|
|
futures.workspace = true
|
|
globset.workspace = true
|
|
ignore.workspace = true
|
|
toml.workspace = true
|
|
percent-encoding = "2"
|
|
zip.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "test-util"] }
|