diff options
Diffstat (limited to 'docs/dev')
-rw-r--r-- | docs/dev/lsp-extensions.md | 36 |
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 | <!--- |
2 | lsp_ext.rs hash: 6e57fc1b345b00e9 | 2 | lsp_ext.rs hash: 10a8988e6893e6b2 |
3 | 3 | ||
4 | If you need to change the above hash to make the test pass, please check if you | 4 | If you need to change the above hash to make the test pass, please check if you |
5 | need to adjust this doc as well and ping this issue: | 5 | need 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 | |||
660 | Extends the existing `workspace/symbol` request with ability to filter symbols by broad scope and kind of symbol. | ||
661 | If this capability is set, `workspace/symbol` parameter gains two new optional fields: | ||
662 | |||
663 | |||
664 | ```typescript | ||
665 | interface 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 | |||
677 | const enum WorkspaceSymbolSearchScope { | ||
678 | Workspace = "workspace", | ||
679 | WorkspaceAndDependencies = "workspaceAndDependencies" | ||
680 | } | ||
681 | |||
682 | const enum WorkspaceSymbolSearchKind { | ||
683 | OnlyTypes = "onlyTypes", | ||
684 | AllSymbols = "allSymbols" | ||
685 | } | ||
686 | ``` | ||