effekt-lang / effekt-lang/effekt
LSP references only returns declaration side
- Dominant language
- Scala
- Stars
- 469
- Forks
- 41
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 23
Description
Consider the following unit test:
```scala
test("references with setIncludeDeclaration returns declaration site") {
withClientAndServer { (client, server) =>
val (textDoc, positions) =
raw"""
|def foo() = <>
| ↑ ↑
|def bar() = foo()
""".textDocumentAndPositions
val expectedReferences: List[Range] = List(
new Range(positions(0), positions(1)),
)
val didOpenParams = new DidOpenTextDocumentParams()
didOpenParams.setTextDocument(textDoc)
server.getTextDocumentService().didOpen(didOpenParams)
val params = new ReferenceParams()
params.setPosition(positions(0))
val context = new ReferenceContext()
context.setIncludeDeclaration(true)
params.setContext(context)
params.setTextDocument(textDoc.versionedTextDocumentIdentifier)
val references = server.getTextDocumentService().references(params).get()
assertEquals(references.asScala.map(_.getRange).toList, expectedReferences)
}
}
```
As you can see, the server doesn't actually return the reference to `foo` in `bar` in this example. It only returns the declaration site.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.