aboutsummaryrefslogtreecommitdiff
path: root/docs/dev/lsp-extensions.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev/lsp-extensions.md')
-rw-r--r--docs/dev/lsp-extensions.md36
1 files changed, 35 insertions, 1 deletions
diff --git a/docs/dev/lsp-extensions.md b/docs/dev/lsp-extensions.md
index 8fcd72d5d..3c4eacfeb 100644
--- a/docs/dev/lsp-extensions.md
+++ b/docs/dev/lsp-extensions.md
@@ -1,5 +1,5 @@
1<!--- 1<!---
2lsp_ext.rs hash: 6e57fc1b345b00e9 2lsp_ext.rs hash: 10a8988e6893e6b2
3 3
4If you need to change the above hash to make the test pass, please check if you 4If you need to change the above hash to make the test pass, please check if you
5need to adjust this doc as well and ping this issue: 5need to adjust this doc as well and ping this issue:
@@ -650,3 +650,37 @@ export const enum Direction {
650 Down = "Down" 650 Down = "Down"
651} 651}
652``` 652```
653
654## Workspace Symbols Filtering
655
656**Issue:** https://github.com/rust-analyzer/rust-analyzer/pull/7698
657
658**Experimental Server Capability:** `{ "workspaceSymbolScopeKindFiltering": boolean }`
659
660Extends the existing `workspace/symbol` request with ability to filter symbols by broad scope and kind of symbol.
661If this capability is set, `workspace/symbol` parameter gains two new optional fields:
662
663
664```typescript
665interface WorkspaceSymbolParams {
666 /**
667 * Return only the symbols defined in the specified scope.
668 */
669 searchScope?: WorkspaceSymbolSearchScope;
670 /**
671 * Return only the symbols of specified kinds.
672 */
673 searchKind?: WorkspaceSymbolSearchKind;
674 ...
675}
676
677const enum WorkspaceSymbolSearchScope {
678 Workspace = "workspace",
679 WorkspaceAndDependencies = "workspaceAndDependencies"
680}
681
682const enum WorkspaceSymbolSearchKind {
683 OnlyTypes = "onlyTypes",
684 AllSymbols = "allSymbols"
685}
686```