aboutsummaryrefslogtreecommitdiff
path: root/docs/dev
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev')
-rw-r--r--docs/dev/README.md12
-rw-r--r--docs/dev/architecture.md16
2 files changed, 11 insertions, 17 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md
index 0db3e731e..e5a7ea5f6 100644
--- a/docs/dev/README.md
+++ b/docs/dev/README.md
@@ -14,7 +14,7 @@ To learn more about how rust-analyzer works, see
14 14
15We also publish rustdoc docs to pages: 15We also publish rustdoc docs to pages:
16 16
17https://rust-analyzer.github.io/rust-analyzer/ra_ide_api/index.html 17https://rust-analyzer.github.io/rust-analyzer/api-docs/ra_ide_api/
18 18
19Various organizational and process issues are discussed in this document. 19Various organizational and process issues are discussed in this document.
20 20
@@ -65,8 +65,8 @@ integrating with editors. Currently, it contains plugins for VS Code (in
65typescript) and Emacs (in elisp). The `docs` top-level directory contains both 65typescript) and Emacs (in elisp). The `docs` top-level directory contains both
66developer and user documentation. 66developer and user documentation.
67 67
68We have some automation infra in Rust in the `crates/tool` package. It contains 68We have some automation infra in Rust in the `xtask` package. It contains
69stuff like formatting checking, code generation and powers `cargo install-ra`. 69stuff like formatting checking, code generation and powers `cargo xtask install`.
70The latter syntax is achieved with the help of cargo aliases (see `.cargo` 70The latter syntax is achieved with the help of cargo aliases (see `.cargo`
71directory). 71directory).
72 72
@@ -84,7 +84,7 @@ However, launching a VS Code instance with locally build language server is
84possible. There's even a VS Code task for this, so just <kbd>F5</kbd> should 84possible. There's even a VS Code task for this, so just <kbd>F5</kbd> should
85work (thanks, [@andrew-w-ross](https://github.com/andrew-w-ross)!). 85work (thanks, [@andrew-w-ross](https://github.com/andrew-w-ross)!).
86 86
87I often just install development version with `cargo install-ra --server --jemalloc` and 87I often just install development version with `cargo xtask install --server --jemalloc` and
88restart the host VS Code. 88restart the host VS Code.
89 89
90See [./debugging.md](./debugging.md) for how to attach to rust-analyzer with 90See [./debugging.md](./debugging.md) for how to attach to rust-analyzer with
@@ -116,7 +116,7 @@ Due to the requirements of running the tests inside VS Code they are **not run
116on CI**. When making changes to the extension please ensure the tests are not 116on CI**. When making changes to the extension please ensure the tests are not
117broken locally before opening a Pull Request. 117broken locally before opening a Pull Request.
118 118
119To install **only** the VS Code extension, use `cargo install-ra --client-code`. 119To install **only** the VS Code extension, use `cargo xtask install --client-code`.
120 120
121# Logging 121# Logging
122 122
@@ -153,7 +153,7 @@ There's also two VS Code commands which might be of interest:
153 $ cargo install --path crates/ra_lsp_server --force --features jemalloc 153 $ cargo install --path crates/ra_lsp_server --force --features jemalloc
154 ``` 154 ```
155 155
156 There's an alias for this: `cargo install-ra --server --jemalloc`. 156 There's an alias for this: `cargo xtask install --server --jemalloc`.
157 157
158* `Rust Analyzer: Syntax Tree` shows syntax tree of the current file/selection. 158* `Rust Analyzer: Syntax Tree` shows syntax tree of the current file/selection.
159 159
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md
index 1ffabc6ef..5ec5352e7 100644
--- a/docs/dev/architecture.md
+++ b/docs/dev/architecture.md
@@ -45,21 +45,15 @@ can be quickly updated for small modifications.
45Some of the components of this repository are generated through automatic 45Some of the components of this repository are generated through automatic
46processes. These are outlined below: 46processes. These are outlined below:
47 47
48- `gen-syntax`: The kinds of tokens that are reused in several places, so a generator 48- `cargo xtask codegen`: The kinds of tokens that are reused in several places, so a generator
49 is used. We use tera templates to generate the files listed below, based on 49 is used. We use `quote!` macro to generate the files listed below, based on
50 the grammar described in [grammar.ron]: 50 the grammar described in [grammar.ron]:
51 - [ast/generated.rs][ast generated] in `ra_syntax` based on 51 - [ast/generated.rs][ast generated]
52 [ast/generated.tera.rs][ast source] 52 - [syntax_kind/generated.rs][syntax_kind generated]
53 - [syntax_kind/generated.rs][syntax_kind generated] in `ra_syntax` based on
54 [syntax_kind/generated.tera.rs][syntax_kind source]
55 53
56[tera]: https://tera.netlify.com/
57[grammar.ron]: ../../crates/ra_syntax/src/grammar.ron 54[grammar.ron]: ../../crates/ra_syntax/src/grammar.ron
58[ast generated]: ../../crates/ra_syntax/src/ast/generated.rs 55[ast generated]: ../../crates/ra_syntax/src/ast/generated.rs
59[ast source]: ../../crates/ra_syntax/src/ast/generated.rs.tera
60[syntax_kind generated]: ../../crates/ra_parser/src/syntax_kind/generated.rs 56[syntax_kind generated]: ../../crates/ra_parser/src/syntax_kind/generated.rs
61[syntax_kind source]: ../../crates/ra_parser/src/syntax_kind/generated.rs.tera
62
63 57
64## Code Walk-Through 58## Code Walk-Through
65 59
@@ -77,7 +71,7 @@ Rust syntax tree structure and parser. See
77 This is the thing that turns a flat list of events into a tree (see `EventProcessor`) 71 This is the thing that turns a flat list of events into a tree (see `EventProcessor`)
78- `ast` provides a type safe API on top of the raw `rowan` tree. 72- `ast` provides a type safe API on top of the raw `rowan` tree.
79- `grammar.ron` RON description of the grammar, which is used to 73- `grammar.ron` RON description of the grammar, which is used to
80 generate `syntax_kinds` and `ast` modules, using `cargo gen-syntax` command. 74 generate `syntax_kinds` and `ast` modules, using `cargo xtask codegen` command.
81- `algo`: generic tree algorithms, including `walk` for O(1) stack 75- `algo`: generic tree algorithms, including `walk` for O(1) stack
82 space tree traversal (this is cool). 76 space tree traversal (this is cool).
83 77