diff options
-rw-r--r-- | .cargo/config | 23 | ||||
-rw-r--r-- | Cargo.lock | 33 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | crates/ra_syntax/src/grammar.ron | 2 | ||||
-rw-r--r-- | docs/dev/README.md | 10 | ||||
-rw-r--r-- | docs/dev/architecture.md | 16 | ||||
-rw-r--r-- | docs/user/README.md | 6 | ||||
-rw-r--r-- | xtask/Cargo.toml (renamed from crates/ra_tools/Cargo.toml) | 2 | ||||
-rw-r--r-- | xtask/src/bin/pre-commit.rs (renamed from crates/ra_tools/src/bin/pre-commit.rs) | 2 | ||||
-rw-r--r-- | xtask/src/boilerplate_gen.rs (renamed from crates/ra_tools/src/boilerplate_gen.rs) | 0 | ||||
-rw-r--r-- | xtask/src/help.rs (renamed from crates/ra_tools/src/help.rs) | 10 | ||||
-rw-r--r-- | xtask/src/lib.rs (renamed from crates/ra_tools/src/lib.rs) | 4 | ||||
-rw-r--r-- | xtask/src/main.rs (renamed from crates/ra_tools/src/main.rs) | 10 | ||||
-rw-r--r-- | xtask/tests/tidy-tests/cli.rs (renamed from crates/ra_tools/tests/cli.rs) | 6 | ||||
-rw-r--r-- | xtask/tests/tidy-tests/docs.rs (renamed from crates/ra_tools/tests/docs.rs) | 2 | ||||
-rw-r--r-- | xtask/tests/tidy-tests/main.rs (renamed from crates/ra_tools/tests/main.rs) | 0 |
17 files changed, 50 insertions, 82 deletions
diff --git a/.cargo/config b/.cargo/config index 92a3acfd0..3812e1e2d 100644 --- a/.cargo/config +++ b/.cargo/config | |||
@@ -1,23 +1,4 @@ | |||
1 | [alias] | 1 | [alias] |
2 | # Automatically generates the ast and syntax kinds files | 2 | xtask = "run --package xtask --bin xtask --" |
3 | gen-syntax = "run --package ra_tools --bin ra_tools -- gen-syntax" | ||
4 | 3 | ||
5 | # Extracts the tests from | 4 | install-ra = "run --package xtask --bin xtask -- install" # for backwards compat |
6 | gen-tests = "run --package ra_tools --bin ra_tools -- gen-tests" | ||
7 | |||
8 | # Installs the visual studio code extension | ||
9 | install-ra = "run --package ra_tools --bin ra_tools -- install-ra" | ||
10 | install-code = "run --package ra_tools --bin ra_tools -- install-ra" # just an alias | ||
11 | |||
12 | # Formats the full repository or installs the git hook to do it automatically. | ||
13 | format = "run --package ra_tools --bin ra_tools -- format" | ||
14 | format-hook = "run --package ra_tools --bin ra_tools -- format-hook" | ||
15 | |||
16 | # Run clippy | ||
17 | lint = "run --package ra_tools --bin ra_tools -- lint" | ||
18 | |||
19 | # Runs the fuzzing test suite (currently only parser) | ||
20 | fuzz-tests = "run --package ra_tools --bin ra_tools -- fuzz-tests" | ||
21 | |||
22 | # Parse a file. This should be piped the file contents | ||
23 | parse = "run --package ra_cli -- parse" | ||
diff --git a/Cargo.lock b/Cargo.lock index 9a048e67e..ea6521333 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -1140,19 +1140,6 @@ dependencies = [ | |||
1140 | ] | 1140 | ] |
1141 | 1141 | ||
1142 | [[package]] | 1142 | [[package]] |
1143 | name = "ra_tools" | ||
1144 | version = "0.1.0" | ||
1145 | dependencies = [ | ||
1146 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1147 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1148 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1149 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1150 | "ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1151 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1152 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1153 | ] | ||
1154 | |||
1155 | [[package]] | ||
1156 | name = "ra_tt" | 1143 | name = "ra_tt" |
1157 | version = "0.1.0" | 1144 | version = "0.1.0" |
1158 | dependencies = [ | 1145 | dependencies = [ |
@@ -1732,13 +1719,6 @@ version = "0.7.0" | |||
1732 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1719 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1733 | 1720 | ||
1734 | [[package]] | 1721 | [[package]] |
1735 | name = "website-gen" | ||
1736 | version = "0.0.0" | ||
1737 | dependencies = [ | ||
1738 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1739 | ] | ||
1740 | |||
1741 | [[package]] | ||
1742 | name = "winapi" | 1722 | name = "winapi" |
1743 | version = "0.2.8" | 1723 | version = "0.2.8" |
1744 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1724 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1785,6 +1765,19 @@ dependencies = [ | |||
1785 | ] | 1765 | ] |
1786 | 1766 | ||
1787 | [[package]] | 1767 | [[package]] |
1768 | name = "xtask" | ||
1769 | version = "0.1.0" | ||
1770 | dependencies = [ | ||
1771 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1772 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1773 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1774 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1775 | "ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1776 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1777 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1778 | ] | ||
1779 | |||
1780 | [[package]] | ||
1788 | name = "yaml-rust" | 1781 | name = "yaml-rust" |
1789 | version = "0.4.3" | 1782 | version = "0.4.3" |
1790 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1783 | source = "registry+https://github.com/rust-lang/crates.io-index" |
diff --git a/Cargo.toml b/Cargo.toml index 6ec176cf7..97c02b40f 100644 --- a/Cargo.toml +++ b/Cargo.toml | |||
@@ -1,5 +1,5 @@ | |||
1 | [workspace] | 1 | [workspace] |
2 | members = [ "crates/*" ] | 2 | members = [ "crates/*", "xtask/" ] |
3 | 3 | ||
4 | [profile.dev] | 4 | [profile.dev] |
5 | debug = 1 # only line info | 5 | debug = 1 # only line info |
@@ -33,10 +33,10 @@ To quickly install rust-analyzer with VS Code extension with standard setup | |||
33 | $ git clone https://github.com/rust-analyzer/rust-analyzer && cd rust-analyzer | 33 | $ git clone https://github.com/rust-analyzer/rust-analyzer && cd rust-analyzer |
34 | 34 | ||
35 | # install both the language server and VS Code extension | 35 | # install both the language server and VS Code extension |
36 | $ cargo install-ra | 36 | $ cargo xtask install |
37 | 37 | ||
38 | # alternatively, install only the server. Binary name is `ra_lsp_server`. | 38 | # alternatively, install only the server. Binary name is `ra_lsp_server`. |
39 | $ cargo install-ra --server | 39 | $ cargo xtask install --server |
40 | ``` | 40 | ``` |
41 | 41 | ||
42 | For non-standard setup of VS Code and other editors, see [./docs/user](./docs/user). | 42 | For non-standard setup of VS Code and other editors, see [./docs/user](./docs/user). |
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron index 25e6f64ce..0a8fd0612 100644 --- a/crates/ra_syntax/src/grammar.ron +++ b/crates/ra_syntax/src/grammar.ron | |||
@@ -1,5 +1,5 @@ | |||
1 | // Stores definitions which must be used in multiple places | 1 | // Stores definitions which must be used in multiple places |
2 | // See `cargo gen-syntax` (defined in crates/ra_tools/src/main.rs) | 2 | // See `cargo xtask codegen` (defined in xtasks/src/main.rs) |
3 | Grammar( | 3 | Grammar( |
4 | punct: [ | 4 | punct: [ |
5 | (";", "SEMI"), | 5 | (";", "SEMI"), |
diff --git a/docs/dev/README.md b/docs/dev/README.md index 5e18e4ffe..e5a7ea5f6 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md | |||
@@ -65,8 +65,8 @@ integrating with editors. Currently, it contains plugins for VS Code (in | |||
65 | typescript) and Emacs (in elisp). The `docs` top-level directory contains both | 65 | typescript) and Emacs (in elisp). The `docs` top-level directory contains both |
66 | developer and user documentation. | 66 | developer and user documentation. |
67 | 67 | ||
68 | We have some automation infra in Rust in the `crates/tool` package. It contains | 68 | We have some automation infra in Rust in the `xtask` package. It contains |
69 | stuff like formatting checking, code generation and powers `cargo install-ra`. | 69 | stuff like formatting checking, code generation and powers `cargo xtask install`. |
70 | The latter syntax is achieved with the help of cargo aliases (see `.cargo` | 70 | The latter syntax is achieved with the help of cargo aliases (see `.cargo` |
71 | directory). | 71 | directory). |
72 | 72 | ||
@@ -84,7 +84,7 @@ However, launching a VS Code instance with locally build language server is | |||
84 | possible. There's even a VS Code task for this, so just <kbd>F5</kbd> should | 84 | possible. There's even a VS Code task for this, so just <kbd>F5</kbd> should |
85 | work (thanks, [@andrew-w-ross](https://github.com/andrew-w-ross)!). | 85 | work (thanks, [@andrew-w-ross](https://github.com/andrew-w-ross)!). |
86 | 86 | ||
87 | I often just install development version with `cargo install-ra --server --jemalloc` and | 87 | I often just install development version with `cargo xtask install --server --jemalloc` and |
88 | restart the host VS Code. | 88 | restart the host VS Code. |
89 | 89 | ||
90 | See [./debugging.md](./debugging.md) for how to attach to rust-analyzer with | 90 | See [./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 | |||
116 | on CI**. When making changes to the extension please ensure the tests are not | 116 | on CI**. When making changes to the extension please ensure the tests are not |
117 | broken locally before opening a Pull Request. | 117 | broken locally before opening a Pull Request. |
118 | 118 | ||
119 | To install **only** the VS Code extension, use `cargo install-ra --client-code`. | 119 | To 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. | |||
45 | Some of the components of this repository are generated through automatic | 45 | Some of the components of this repository are generated through automatic |
46 | processes. These are outlined below: | 46 | processes. 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 | ||
diff --git a/docs/user/README.md b/docs/user/README.md index 5b7502132..f45c0d7d1 100644 --- a/docs/user/README.md +++ b/docs/user/README.md | |||
@@ -1,6 +1,6 @@ | |||
1 | The main interface to rust-analyzer is the | 1 | The main interface to rust-analyzer is the |
2 | [LSP](https://microsoft.github.io/language-server-protocol/) implementation. To | 2 | [LSP](https://microsoft.github.io/language-server-protocol/) implementation. To |
3 | install lsp server, use `cargo install-ra --server`, which is a shorthand for `cargo | 3 | install lsp server, use `cargo xtask install --server`, which is a shorthand for `cargo |
4 | install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you | 4 | install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you |
5 | should be able to use it with any LSP-compatible editor. We use custom | 5 | should be able to use it with any LSP-compatible editor. We use custom |
6 | extensions to LSP, so special client-side support is required to take full | 6 | extensions to LSP, so special client-side support is required to take full |
@@ -33,7 +33,7 @@ following commands: | |||
33 | ``` | 33 | ``` |
34 | $ git clone https://github.com/rust-analyzer/rust-analyzer.git --depth 1 | 34 | $ git clone https://github.com/rust-analyzer/rust-analyzer.git --depth 1 |
35 | $ cd rust-analyzer | 35 | $ cd rust-analyzer |
36 | $ cargo install-ra | 36 | $ cargo xtask install |
37 | ``` | 37 | ``` |
38 | 38 | ||
39 | The automatic installation is expected to *just work* for common cases, if it | 39 | The automatic installation is expected to *just work* for common cases, if it |
@@ -58,7 +58,7 @@ Beyond basic LSP features, there are some extension commands which you can | |||
58 | invoke via <kbd>Ctrl+Shift+P</kbd> or bind to a shortcut. See [./features.md](./features.md) | 58 | invoke via <kbd>Ctrl+Shift+P</kbd> or bind to a shortcut. See [./features.md](./features.md) |
59 | for details. | 59 | for details. |
60 | 60 | ||
61 | For updates, pull the latest changes from the master branch, run `cargo install-ra` again, and **restart** VS Code instance. | 61 | For updates, pull the latest changes from the master branch, run `cargo xtask install` again, and **restart** VS Code instance. |
62 | See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) for why a full restart is needed. | 62 | See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) for why a full restart is needed. |
63 | 63 | ||
64 | ### Settings | 64 | ### Settings |
diff --git a/crates/ra_tools/Cargo.toml b/xtask/Cargo.toml index 9cceacee3..4fc1c744b 100644 --- a/crates/ra_tools/Cargo.toml +++ b/xtask/Cargo.toml | |||
@@ -1,6 +1,6 @@ | |||
1 | [package] | 1 | [package] |
2 | edition = "2018" | 2 | edition = "2018" |
3 | name = "ra_tools" | 3 | name = "xtask" |
4 | version = "0.1.0" | 4 | version = "0.1.0" |
5 | authors = ["rust-analyzer developers"] | 5 | authors = ["rust-analyzer developers"] |
6 | publish = false | 6 | publish = false |
diff --git a/crates/ra_tools/src/bin/pre-commit.rs b/xtask/src/bin/pre-commit.rs index 16bbf9cb2..4ee864756 100644 --- a/crates/ra_tools/src/bin/pre-commit.rs +++ b/xtask/src/bin/pre-commit.rs | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | use std::process::Command; | 3 | use std::process::Command; |
4 | 4 | ||
5 | use ra_tools::{project_root, run, run_rustfmt, Overwrite, Result}; | 5 | use xtask::{project_root, run, run_rustfmt, Overwrite, Result}; |
6 | 6 | ||
7 | fn main() -> Result<()> { | 7 | fn main() -> Result<()> { |
8 | run_rustfmt(Overwrite)?; | 8 | run_rustfmt(Overwrite)?; |
diff --git a/crates/ra_tools/src/boilerplate_gen.rs b/xtask/src/boilerplate_gen.rs index 39f1cae66..39f1cae66 100644 --- a/crates/ra_tools/src/boilerplate_gen.rs +++ b/xtask/src/boilerplate_gen.rs | |||
diff --git a/crates/ra_tools/src/help.rs b/xtask/src/help.rs index 72dfabacd..4c6bf6b53 100644 --- a/crates/ra_tools/src/help.rs +++ b/xtask/src/help.rs | |||
@@ -12,15 +12,15 @@ SUBCOMMANDS: | |||
12 | format | 12 | format |
13 | format-hook | 13 | format-hook |
14 | fuzz-tests | 14 | fuzz-tests |
15 | gen-syntax | 15 | codegen |
16 | gen-tests | 16 | gen-tests |
17 | install-ra | 17 | install |
18 | lint"; | 18 | lint"; |
19 | 19 | ||
20 | pub const INSTALL_RA_HELP: &str = "ra_tools-install-ra | 20 | pub const INSTALL_HELP: &str = "ra_tools-install |
21 | 21 | ||
22 | USAGE: | 22 | USAGE: |
23 | ra_tools.exe install-ra [FLAGS] | 23 | ra_tools.exe install [FLAGS] |
24 | 24 | ||
25 | FLAGS: | 25 | FLAGS: |
26 | --client-code | 26 | --client-code |
@@ -43,5 +43,5 @@ FLAGS: | |||
43 | 43 | ||
44 | pub const INSTALL_RA_CONFLICT: &str = | 44 | pub const INSTALL_RA_CONFLICT: &str = |
45 | "error: The argument `--server` cannot be used with `--client-code` | 45 | "error: The argument `--server` cannot be used with `--client-code` |
46 | 46 | ||
47 | For more information try --help"; | 47 | For more information try --help"; |
diff --git a/crates/ra_tools/src/lib.rs b/xtask/src/lib.rs index aa993a38a..a8685f567 100644 --- a/crates/ra_tools/src/lib.rs +++ b/xtask/src/lib.rs | |||
@@ -78,7 +78,7 @@ pub fn collect_tests(s: &str) -> Vec<(usize, Test)> { | |||
78 | } | 78 | } |
79 | 79 | ||
80 | pub fn project_root() -> PathBuf { | 80 | pub fn project_root() -> PathBuf { |
81 | Path::new(&env!("CARGO_MANIFEST_DIR")).ancestors().nth(2).unwrap().to_path_buf() | 81 | Path::new(&env!("CARGO_MANIFEST_DIR")).ancestors().nth(1).unwrap().to_path_buf() |
82 | } | 82 | } |
83 | 83 | ||
84 | pub struct Cmd<'a> { | 84 | pub struct Cmd<'a> { |
@@ -146,7 +146,7 @@ pub fn install_format_hook() -> Result<()> { | |||
146 | "./.git/hooks/pre-commit" | 146 | "./.git/hooks/pre-commit" |
147 | }); | 147 | }); |
148 | if !result_path.exists() { | 148 | if !result_path.exists() { |
149 | run("cargo build --package ra_tools --bin pre-commit", ".")?; | 149 | run("cargo build --package xtask --bin pre-commit", ".")?; |
150 | if cfg!(windows) { | 150 | if cfg!(windows) { |
151 | fs::copy("./target/debug/pre-commit.exe", result_path)?; | 151 | fs::copy("./target/debug/pre-commit.exe", result_path)?; |
152 | } else { | 152 | } else { |
diff --git a/crates/ra_tools/src/main.rs b/xtask/src/main.rs index 161871ccf..623058436 100644 --- a/crates/ra_tools/src/main.rs +++ b/xtask/src/main.rs | |||
@@ -5,11 +5,11 @@ mod help; | |||
5 | use core::fmt::Write; | 5 | use core::fmt::Write; |
6 | use core::str; | 6 | use core::str; |
7 | use pico_args::Arguments; | 7 | use pico_args::Arguments; |
8 | use ra_tools::{ | 8 | use std::{env, path::PathBuf}; |
9 | use xtask::{ | ||
9 | gen_tests, generate_boilerplate, install_format_hook, run, run_clippy, run_fuzzer, run_rustfmt, | 10 | gen_tests, generate_boilerplate, install_format_hook, run, run_clippy, run_fuzzer, run_rustfmt, |
10 | Cmd, Overwrite, Result, | 11 | Cmd, Overwrite, Result, |
11 | }; | 12 | }; |
12 | use std::{env, path::PathBuf}; | ||
13 | 13 | ||
14 | struct InstallOpt { | 14 | struct InstallOpt { |
15 | client: Option<ClientOpt>, | 15 | client: Option<ClientOpt>, |
@@ -35,9 +35,9 @@ fn main() -> Result<()> { | |||
35 | let mut matches = Arguments::from_vec(std::env::args_os().skip(2).collect()); | 35 | let mut matches = Arguments::from_vec(std::env::args_os().skip(2).collect()); |
36 | let subcommand = &*subcommand.to_string_lossy(); | 36 | let subcommand = &*subcommand.to_string_lossy(); |
37 | match subcommand { | 37 | match subcommand { |
38 | "install-ra" | "install-code" => { | 38 | "install" => { |
39 | if matches.contains(["-h", "--help"]) { | 39 | if matches.contains(["-h", "--help"]) { |
40 | eprintln!("{}", help::INSTALL_RA_HELP); | 40 | eprintln!("{}", help::INSTALL_HELP); |
41 | return Ok(()); | 41 | return Ok(()); |
42 | } | 42 | } |
43 | let server = matches.contains("--server"); | 43 | let server = matches.contains("--server"); |
@@ -61,7 +61,7 @@ fn main() -> Result<()> { | |||
61 | } | 61 | } |
62 | gen_tests(Overwrite)? | 62 | gen_tests(Overwrite)? |
63 | } | 63 | } |
64 | "gen-syntax" => { | 64 | "codegen" => { |
65 | if matches.contains(["-h", "--help"]) { | 65 | if matches.contains(["-h", "--help"]) { |
66 | help::print_no_param_subcommand_help(&subcommand); | 66 | help::print_no_param_subcommand_help(&subcommand); |
67 | return Ok(()); | 67 | return Ok(()); |
diff --git a/crates/ra_tools/tests/cli.rs b/xtask/tests/tidy-tests/cli.rs index 609fd4d8b..5d8ddea83 100644 --- a/crates/ra_tools/tests/cli.rs +++ b/xtask/tests/tidy-tests/cli.rs | |||
@@ -1,17 +1,17 @@ | |||
1 | use ra_tools::{gen_tests, generate_boilerplate, project_root, run_rustfmt, Verify}; | ||
2 | use walkdir::WalkDir; | 1 | use walkdir::WalkDir; |
2 | use xtask::{gen_tests, generate_boilerplate, project_root, run_rustfmt, Verify}; | ||
3 | 3 | ||
4 | #[test] | 4 | #[test] |
5 | fn generated_grammar_is_fresh() { | 5 | fn generated_grammar_is_fresh() { |
6 | if let Err(error) = generate_boilerplate(Verify) { | 6 | if let Err(error) = generate_boilerplate(Verify) { |
7 | panic!("{}. Please update it by running `cargo gen-syntax`", error); | 7 | panic!("{}. Please update it by running `cargo xtask codegen`", error); |
8 | } | 8 | } |
9 | } | 9 | } |
10 | 10 | ||
11 | #[test] | 11 | #[test] |
12 | fn generated_tests_are_fresh() { | 12 | fn generated_tests_are_fresh() { |
13 | if let Err(error) = gen_tests(Verify) { | 13 | if let Err(error) = gen_tests(Verify) { |
14 | panic!("{}. Please update tests by running `cargo gen-tests`", error); | 14 | panic!("{}. Please update tests by running `cargo xtask gen-tests`", error); |
15 | } | 15 | } |
16 | } | 16 | } |
17 | 17 | ||
diff --git a/crates/ra_tools/tests/docs.rs b/xtask/tests/tidy-tests/docs.rs index ea3330175..fe5852bc6 100644 --- a/crates/ra_tools/tests/docs.rs +++ b/xtask/tests/tidy-tests/docs.rs | |||
@@ -5,7 +5,7 @@ use std::path::Path; | |||
5 | 5 | ||
6 | use walkdir::{DirEntry, WalkDir}; | 6 | use walkdir::{DirEntry, WalkDir}; |
7 | 7 | ||
8 | use ra_tools::project_root; | 8 | use xtask::project_root; |
9 | 9 | ||
10 | fn is_exclude_dir(p: &Path) -> bool { | 10 | fn is_exclude_dir(p: &Path) -> bool { |
11 | let exclude_dirs = ["tests", "test_data"]; | 11 | let exclude_dirs = ["tests", "test_data"]; |
diff --git a/crates/ra_tools/tests/main.rs b/xtask/tests/tidy-tests/main.rs index 56d1318d6..56d1318d6 100644 --- a/crates/ra_tools/tests/main.rs +++ b/xtask/tests/tidy-tests/main.rs | |||