diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-05-22 00:18:19 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-05-22 00:18:19 +0100 |
commit | ae24651e445444d4ed4275a717ac10980f2957a4 (patch) | |
tree | 9ae9115957ab35a3bc7d2d446bce72031328af1a /docs | |
parent | 5b6c0c1af290996a407fb4be51e852317dfab7c2 (diff) | |
parent | 463ecefc64a48d80b2c4591fd4a1b82ae62b2897 (diff) |
Merge #8916
8916: ItemTree pretty-printing r=jonas-schievink a=jonas-schievink
This adds a printer for `ItemTree` contents, and a few tests to ensure that `ItemTree` lowering works like we expect it to. It also adds a new "Debug ItemTree" command that can be used to see the `ItemTree` of the currently open file. The pretty-printed output is usually close enough to Rust syntax that we can even use Rust syntax highlighting.
This is similar to the old `ItemTree` tests we had, but produces significantly more readable output, so these should actually carry their weight.
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dev/lsp-extensions.md | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/docs/dev/lsp-extensions.md b/docs/dev/lsp-extensions.md index 3c4eacfeb..fbe2ce1c9 100644 --- a/docs/dev/lsp-extensions.md +++ b/docs/dev/lsp-extensions.md | |||
@@ -1,5 +1,5 @@ | |||
1 | <!--- | 1 | <!--- |
2 | lsp_ext.rs hash: 10a8988e6893e6b2 | 2 | lsp_ext.rs hash: 49f253e4a9307d4f |
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: |
@@ -464,7 +464,7 @@ Clients are discouraged from but are allowed to use the `health` status to decid | |||
464 | **Request:** | 464 | **Request:** |
465 | 465 | ||
466 | ```typescript | 466 | ```typescript |
467 | interface SyntaxTeeParams { | 467 | interface SyntaxTreeParams { |
468 | textDocument: TextDocumentIdentifier, | 468 | textDocument: TextDocumentIdentifier, |
469 | range?: Range, | 469 | range?: Range, |
470 | } | 470 | } |
@@ -486,6 +486,22 @@ Primarily for debugging, but very useful for all people working on rust-analyzer | |||
486 | Returns a textual representation of the HIR of the function containing the cursor. | 486 | Returns a textual representation of the HIR of the function containing the cursor. |
487 | For debugging or when working on rust-analyzer itself. | 487 | For debugging or when working on rust-analyzer itself. |
488 | 488 | ||
489 | ## View ItemTree | ||
490 | |||
491 | **Method:** `rust-analyzer/viewItemTree` | ||
492 | |||
493 | **Request:** | ||
494 | |||
495 | ```typescript | ||
496 | interface ViewItemTreeParams { | ||
497 | textDocument: TextDocumentIdentifier, | ||
498 | } | ||
499 | ``` | ||
500 | |||
501 | **Response:** `string` | ||
502 | |||
503 | Returns a textual representation of the `ItemTree` of the currently open file, for debugging. | ||
504 | |||
489 | ## View Crate Graph | 505 | ## View Crate Graph |
490 | 506 | ||
491 | **Method:** `rust-analyzer/viewCrateGraph` | 507 | **Method:** `rust-analyzer/viewCrateGraph` |