about summary refs log tree commit diff
path: root/docs/dev
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-05-11 18:02:31 +0000
committerGitHub <noreply@github.com>2021-05-11 18:02:31 +0000
commite290891dd75f2ae2d156e8610fd037a84c1b853f (patch)
treea7a8eb48ae6d5e4ccb759d1b2c180d522170097d /docs/dev
parent6afd9b2b8dcfaa9338303f29d8fc6c90dbcdd6e7 (diff)
parentd1aa6bbe753e50517d568a4b7560f765fbc75bd2 (diff)
downloadrust-e290891dd75f2ae2d156e8610fd037a84c1b853f.tar.gz
rust-e290891dd75f2ae2d156e8610fd037a84c1b853f.zip
Merge #8801
8801: feat: Allow viewing the crate graph in a webview r=jonas-schievink a=jonas-schievink

This uses `dot` to render the crate graph as an SVD file, and displays it in a VS Code panel. For simple crate graphs, it works quite well:

![screenshot-2021-05-11-16:19:32](https://user-images.githubusercontent.com/1786438/117831361-c4a48980-b274-11eb-9276-240cdf6919aa.png)

Unfortunately, on rust-analyzer itself (and most medium-sized dependency graphs), `dot` runs for around a minute and then produces this mess:

![screenshot-2021-05-11-16:41:37](https://user-images.githubusercontent.com/1786438/117834831-c754ae00-b277-11eb-850b-138495dbeba8.png)


Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Diffstat (limited to 'docs/dev')
-rw-r--r--docs/dev/lsp-extensions.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/docs/dev/lsp-extensions.md b/docs/dev/lsp-extensions.md
index f0f981802ef..8fcd72d5d5d 100644
--- a/docs/dev/lsp-extensions.md
+++ b/docs/dev/lsp-extensions.md
@@ -1,5 +1,5 @@
 <!---
-lsp_ext.rs hash: 28a9d5a24b7ca396
+lsp_ext.rs hash: 6e57fc1b345b00e9
 
 If you need to change the above hash to make the test pass, please check if you
 need to adjust this doc as well and ping this issue:
@@ -486,6 +486,16 @@ Primarily for debugging, but very useful for all people working on rust-analyzer
 Returns a textual representation of the HIR of the function containing the cursor.
 For debugging or when working on rust-analyzer itself.
 
+## View Crate Graph
+
+**Method:** `rust-analyzer/viewCrateGraph`
+
+**Request:** `null`
+
+**Response:** `string`
+
+Renders rust-analyzer's crate graph as an SVG image.
+
 ## Expand Macro
 
 **Method:** `rust-analyzer/expandMacro`