mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
Fix remaining references to cargo xtask codegen
This commit is contained in:
parent
c0e9530fd0
commit
ebf4448f78
5 changed files with 7 additions and 7 deletions
|
@ -18,7 +18,7 @@
|
||||||
//! // fn foo() {}
|
//! // fn foo() {}
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
//! After adding a new inline-test, run `cargo xtask codegen` to
|
//! After adding a new inline-test, run `cargo test -p xtask` to
|
||||||
//! extract it as a standalone text-fixture into
|
//! extract it as a standalone text-fixture into
|
||||||
//! `crates/syntax/test_data/parser/`, and run `cargo test` once to
|
//! `crates/syntax/test_data/parser/`, and run `cargo test` once to
|
||||||
//! create the "gold" value.
|
//! create the "gold" value.
|
||||||
|
|
|
@ -97,13 +97,13 @@ See [RFC](https://github.com/rust-lang/rfcs/pull/2256) and [./syntax.md](./synta
|
||||||
|
|
||||||
- [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees.
|
- [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees.
|
||||||
- `ast` provides a type safe API on top of the raw `rowan` tree.
|
- `ast` provides a type safe API on top of the raw `rowan` tree.
|
||||||
- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo xtask codegen` command.
|
- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo test -p xtask` command.
|
||||||
|
|
||||||
Tests for ra_syntax are mostly data-driven.
|
Tests for ra_syntax are mostly data-driven.
|
||||||
`test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees.
|
`test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees.
|
||||||
During testing, we check `.rs` against `.txt`.
|
During testing, we check `.rs` against `.txt`.
|
||||||
If the `.txt` file is missing, it is created (this is how you update tests).
|
If the `.txt` file is missing, it is created (this is how you update tests).
|
||||||
Additionally, running `cargo xtask codegen` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory.
|
Additionally, 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.
|
||||||
|
|
||||||
To update test data, run with `UPDATE_EXPECT` variable:
|
To update test data, run with `UPDATE_EXPECT` variable:
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ To update test data, run with `UPDATE_EXPECT` variable:
|
||||||
env UPDATE_EXPECT=1 cargo qt
|
env UPDATE_EXPECT=1 cargo qt
|
||||||
```
|
```
|
||||||
|
|
||||||
After adding a new inline test you need to run `cargo xtest codegen` and also update the test data as described above.
|
After adding a new inline test you need to run `cargo test -p xtask` and also update the test data as described above.
|
||||||
|
|
||||||
Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348)
|
Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348)
|
||||||
in particular: it shows off various methods of working with syntax tree.
|
in particular: it shows off various methods of working with syntax tree.
|
||||||
|
|
|
@ -19,7 +19,7 @@ The LSP allows various code editors, like VS Code, Emacs or Vim, to implement se
|
||||||
To improve this document, send a pull request: +
|
To improve this document, send a pull request: +
|
||||||
https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc]
|
https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc]
|
||||||
|
|
||||||
The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo xtask codegen` to create these and then `asciidoctor manual.adoc` to create an HTML copy.
|
The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo test -p xtask` to create these and then `asciidoctor manual.adoc` to create an HTML copy.
|
||||||
|
|
||||||
====
|
====
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ pub(crate) fn ensure_file_contents(file: &Path, contents: &str) -> Result<()> {
|
||||||
let _ = std::fs::create_dir_all(parent);
|
let _ = std::fs::create_dir_all(parent);
|
||||||
}
|
}
|
||||||
std::fs::write(file, contents).unwrap();
|
std::fs::write(file, contents).unwrap();
|
||||||
anyhow::bail!("some file were not up to date")
|
anyhow::bail!("some file was not up to date and has been updated, simply re-run the tests")
|
||||||
}
|
}
|
||||||
|
|
||||||
fn normalize_newlines(s: &str) -> String {
|
fn normalize_newlines(s: &str) -> String {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
//! See https://github.com/matklad/cargo-xtask/.
|
//! See https://github.com/matklad/cargo-xtask/.
|
||||||
//!
|
//!
|
||||||
//! This binary defines various auxiliary build commands, which are not
|
//! This binary defines various auxiliary build commands, which are not
|
||||||
//! expressible with just `cargo`. Notably, it provides `cargo xtask codegen`
|
//! expressible with just `cargo`. Notably, it provides tests via `cargo test -p xtask`
|
||||||
//! for code generation and `cargo xtask install` for installation of
|
//! for code generation and `cargo xtask install` for installation of
|
||||||
//! rust-analyzer server and client.
|
//! rust-analyzer server and client.
|
||||||
//!
|
//!
|
||||||
|
|
Loading…
Reference in a new issue