diff options
Diffstat (limited to 'xtask/src/codegen')
-rw-r--r-- | xtask/src/codegen/gen_assists_docs.rs | 2 | ||||
-rw-r--r-- | xtask/src/codegen/gen_features.rs | 12 | ||||
-rw-r--r-- | xtask/src/codegen/gen_syntax.rs | 15 |
3 files changed, 15 insertions, 14 deletions
diff --git a/xtask/src/codegen/gen_assists_docs.rs b/xtask/src/codegen/gen_assists_docs.rs index f0ded8b87..ff307e2aa 100644 --- a/xtask/src/codegen/gen_assists_docs.rs +++ b/xtask/src/codegen/gen_assists_docs.rs | |||
@@ -134,7 +134,7 @@ r#####" | |||
134 | 134 | ||
135 | buf.push_str(&test) | 135 | buf.push_str(&test) |
136 | } | 136 | } |
137 | let buf = reformat(buf)?; | 137 | let buf = reformat(&buf.to_string())?; |
138 | codegen::update(&project_root().join("crates/assists/src/tests/generated.rs"), &buf, mode) | 138 | codegen::update(&project_root().join("crates/assists/src/tests/generated.rs"), &buf, mode) |
139 | } | 139 | } |
140 | 140 | ||
diff --git a/xtask/src/codegen/gen_features.rs b/xtask/src/codegen/gen_features.rs index 78268308b..3cf15ce02 100644 --- a/xtask/src/codegen/gen_features.rs +++ b/xtask/src/codegen/gen_features.rs | |||
@@ -3,15 +3,13 @@ use std::path::{Path, PathBuf}; | |||
3 | 3 | ||
4 | use quote::quote; | 4 | use quote::quote; |
5 | use walkdir::WalkDir; | 5 | use walkdir::WalkDir; |
6 | use xshell::{cmd, read_file}; | ||
6 | 7 | ||
7 | use crate::{ | 8 | use crate::codegen::{project_root, reformat, update, Mode, Result}; |
8 | codegen::{project_root, reformat, update, Mode, Result}, | ||
9 | not_bash::{fs2, run}, | ||
10 | }; | ||
11 | 9 | ||
12 | pub fn generate_features(mode: Mode) -> Result<()> { | 10 | pub fn generate_features(mode: Mode) -> Result<()> { |
13 | if !Path::new("./target/rust").exists() { | 11 | if !Path::new("./target/rust").exists() { |
14 | run!("git clone https://github.com/rust-lang/rust ./target/rust")?; | 12 | cmd!("git clone https://github.com/rust-lang/rust ./target/rust").run()?; |
15 | } | 13 | } |
16 | 14 | ||
17 | let contents = generate_descriptor("./target/rust/src/doc/unstable-book/src".into())?; | 15 | let contents = generate_descriptor("./target/rust/src/doc/unstable-book/src".into())?; |
@@ -34,7 +32,7 @@ fn generate_descriptor(src_dir: PathBuf) -> Result<String> { | |||
34 | .map(|entry| { | 32 | .map(|entry| { |
35 | let path = entry.path(); | 33 | let path = entry.path(); |
36 | let feature_ident = path.file_stem().unwrap().to_str().unwrap().replace("-", "_"); | 34 | let feature_ident = path.file_stem().unwrap().to_str().unwrap().replace("-", "_"); |
37 | let doc = fs2::read_to_string(path).unwrap(); | 35 | let doc = read_file(path).unwrap(); |
38 | 36 | ||
39 | quote! { LintCompletion { label: #feature_ident, description: #doc } } | 37 | quote! { LintCompletion { label: #feature_ident, description: #doc } } |
40 | }); | 38 | }); |
@@ -46,5 +44,5 @@ fn generate_descriptor(src_dir: PathBuf) -> Result<String> { | |||
46 | #(#definitions),* | 44 | #(#definitions),* |
47 | ]; | 45 | ]; |
48 | }; | 46 | }; |
49 | reformat(ts) | 47 | reformat(&ts.to_string()) |
50 | } | 48 | } |
diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs index 733493fef..02f4095ce 100644 --- a/xtask/src/codegen/gen_syntax.rs +++ b/xtask/src/codegen/gen_syntax.rs | |||
@@ -61,10 +61,13 @@ fn generate_tokens(grammar: &AstSrc) -> Result<String> { | |||
61 | } | 61 | } |
62 | }); | 62 | }); |
63 | 63 | ||
64 | let pretty = reformat(quote! { | 64 | let pretty = reformat( |
65 | use crate::{SyntaxKind::{self, *}, SyntaxToken, ast::AstToken}; | 65 | "e! { |
66 | #(#tokens)* | 66 | use crate::{SyntaxKind::{self, *}, SyntaxToken, ast::AstToken}; |
67 | })? | 67 | #(#tokens)* |
68 | } | ||
69 | .to_string(), | ||
70 | )? | ||
68 | .replace("#[derive", "\n#[derive"); | 71 | .replace("#[derive", "\n#[derive"); |
69 | Ok(pretty) | 72 | Ok(pretty) |
70 | } | 73 | } |
@@ -261,7 +264,7 @@ fn generate_nodes(kinds: KindsSrc<'_>, grammar: &AstSrc) -> Result<String> { | |||
261 | } | 264 | } |
262 | } | 265 | } |
263 | 266 | ||
264 | let pretty = reformat(res)?; | 267 | let pretty = reformat(&res)?; |
265 | Ok(pretty) | 268 | Ok(pretty) |
266 | } | 269 | } |
267 | 270 | ||
@@ -383,7 +386,7 @@ fn generate_syntax_kinds(grammar: KindsSrc<'_>) -> Result<String> { | |||
383 | } | 386 | } |
384 | }; | 387 | }; |
385 | 388 | ||
386 | reformat(ast) | 389 | reformat(&ast.to_string()) |
387 | } | 390 | } |
388 | 391 | ||
389 | fn to_upper_snake_case(s: &str) -> String { | 392 | fn to_upper_snake_case(s: &str) -> String { |