Skip to content

Commit 7fd0c1d

Browse files
committed
Hide local or synthetic symbols in documentSymbol
1 parent 54656b9 commit 7fd0c1d

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

language-server/src/dotty/tools/languageserver/DottyLanguageServer.scala

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -457,8 +457,12 @@ class DottyLanguageServer extends LanguageServer
457457
implicit val ctx = driver.currentCtx
458458

459459
val uriTrees = driver.openedTrees(uri)
460+
val predicate = (tree: NameTree) => {
461+
val sym = tree.symbol
462+
sym.exists && !sym.isLocal && !sym.isPrimaryConstructor && !sym.is(Synthetic)
463+
}
460464

461-
val defs = Interactive.namedTrees(uriTrees, Include.empty, _ => true)
465+
val defs = Interactive.namedTrees(uriTrees, Include.empty, predicate)
462466
(for {
463467
d <- defs if !isWorksheetWrapper(d)
464468
info <- symbolInfo(d.tree.symbol, d.namePos, positionMapperFor(d.source))
@@ -474,7 +478,7 @@ class DottyLanguageServer extends LanguageServer
474478
implicit val ctx = driver.currentCtx
475479

476480
val trees = driver.sourceTreesContaining(query)
477-
val defs = Interactive.namedTrees(trees, includeReferences = false, predicate)
481+
val defs = Interactive.namedTrees(trees, Include.empty, predicate)
478482
defs.flatMap(d => symbolInfo(d.tree.symbol, d.namePos, positionMapperFor(d.source)))
479483
}.asJava
480484
}

language-server/test/dotty/tools/languageserver/DocumentSymbolTest.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,10 @@ class DocumentSymbolTest {
3838
.documentSymbol(m1, (m1 to m2).symInfo("Foo", SymbolKind.Module),
3939
(m3 to m4).symInfo("Foo", SymbolKind.Class))
4040
}
41+
42+
@Test def documentSymbolSynthetic: Unit = {
43+
code"""case class ${m1}Foo${m2}(${m3}x${m4}: Int)""".withSource
44+
.documentSymbol(m1, (m1 to m2).symInfo("Foo", SymbolKind.Class),
45+
(m3 to m4).symInfo("x", SymbolKind.Field, "Foo"))
46+
}
4147
}

0 commit comments

Comments
 (0)