aboutsummaryrefslogtreecommitdiff
path: root/docs/dev
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev')
-rw-r--r--docs/dev/architecture.md6
-rw-r--r--docs/dev/lsp-extensions.md18
-rw-r--r--docs/dev/style.md4
3 files changed, 22 insertions, 6 deletions
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md
index e2237ca95..fb991133a 100644
--- a/docs/dev/architecture.md
+++ b/docs/dev/architecture.md
@@ -97,13 +97,13 @@ See [RFC](https://github.com/rust-lang/rfcs/pull/2256) and [./syntax.md](./synta
97 97
98- [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees. 98- [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees.
99- `ast` provides a type safe API on top of the raw `rowan` tree. 99- `ast` provides a type safe API on top of the raw `rowan` tree.
100- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo xtask codegen` command. 100- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo test -p xtask` command.
101 101
102Tests for ra_syntax are mostly data-driven. 102Tests for ra_syntax are mostly data-driven.
103`test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees. 103`test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees.
104During testing, we check `.rs` against `.txt`. 104During testing, we check `.rs` against `.txt`.
105If the `.txt` file is missing, it is created (this is how you update tests). 105If the `.txt` file is missing, it is created (this is how you update tests).
106Additionally, running `cargo xtask codegen` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory. 106Additionally, running the xtask test suite with `cargo test -p xtask` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory.
107 107
108To update test data, run with `UPDATE_EXPECT` variable: 108To update test data, run with `UPDATE_EXPECT` variable:
109 109
@@ -111,7 +111,7 @@ To update test data, run with `UPDATE_EXPECT` variable:
111env UPDATE_EXPECT=1 cargo qt 111env UPDATE_EXPECT=1 cargo qt
112``` 112```
113 113
114After adding a new inline test you need to run `cargo xtest codegen` and also update the test data as described above. 114After adding a new inline test you need to run `cargo test -p xtask` and also update the test data as described above.
115 115
116Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348) 116Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348)
117in particular: it shows off various methods of working with syntax tree. 117in particular: it shows off various methods of working with syntax tree.
diff --git a/docs/dev/lsp-extensions.md b/docs/dev/lsp-extensions.md
index dd3ecc18d..694fafcd5 100644
--- a/docs/dev/lsp-extensions.md
+++ b/docs/dev/lsp-extensions.md
@@ -1,5 +1,5 @@
1<!--- 1<!---
2lsp_ext.rs hash: d279d971d4f62cd7 2lsp_ext.rs hash: 4dfa8d7035f4aee7
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:
@@ -579,3 +579,19 @@ This request is sent from client to server to open the current project's Cargo.t
579``` 579```
580 580
581`experimental/openCargoToml` returns a single `Link` to the start of the `[package]` keyword. 581`experimental/openCargoToml` returns a single `Link` to the start of the `[package]` keyword.
582
583## Related tests
584
585This request is sent from client to server to get the list of tests for the specified position.
586
587**Method:** `rust-analyzer/relatedTests`
588
589**Request:** `TextDocumentPositionParams`
590
591**Response:** `TestInfo[]`
592
593```typescript
594interface TestInfo {
595 runnable: Runnable;
596}
597```
diff --git a/docs/dev/style.md b/docs/dev/style.md
index 46bd8b9b2..c4eb7bc7a 100644
--- a/docs/dev/style.md
+++ b/docs/dev/style.md
@@ -91,8 +91,8 @@ But many users read changelogs.
91We don't enforce Clippy. 91We don't enforce Clippy.
92A number of default lints have high false positive rate. 92A number of default lints have high false positive rate.
93Selectively patching false-positives with `allow(clippy)` is considered worse than not using Clippy at all. 93Selectively patching false-positives with `allow(clippy)` is considered worse than not using Clippy at all.
94There's `cargo xtask lint` command which runs a subset of low-FPR lints. 94There's a `cargo lint` command which runs a subset of low-FPR lints.
95Careful tweaking of `xtask lint` is welcome. 95Careful tweaking of `lint` is welcome.
96Of course, applying Clippy suggestions is welcome as long as they indeed improve the code. 96Of course, applying Clippy suggestions is welcome as long as they indeed improve the code.
97 97
98**Rationale:** see [rust-lang/clippy#5537](https://github.com/rust-lang/rust-clippy/issues/5537). 98**Rationale:** see [rust-lang/clippy#5537](https://github.com/rust-lang/rust-clippy/issues/5537).