diff --git a/docs/user/generated_features.adoc b/docs/user/generated_features.adoc index a806e3ff11..803073d550 100644 --- a/docs/user/generated_features.adoc +++ b/docs/user/generated_features.adoc @@ -1,7 +1,6 @@ === Expand Macro Recursively **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/expand_macro.rs[expand_macro.rs] - Shows the full macro expansion of the macro at current cursor. |=== @@ -14,7 +13,6 @@ Shows the full macro expansion of the macro at current cursor. === Extend Selection **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/extend_selection.rs[extend_selection.rs] - Extends the current selection to the encompassing syntactic construct (expression, statement, item, module, etc). It works with multiple cursors. @@ -28,7 +26,6 @@ Extends the current selection to the encompassing syntactic construct === File Structure **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/display/structure.rs[structure.rs] - Provides a tree of the symbols defined in the file. Can be used to * fuzzy search symbol in a file (super useful) @@ -45,7 +42,6 @@ Provides a tree of the symbols defined in the file. Can be used to === Go to Definition **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/goto_definition.rs[goto_definition.rs] - Navigates to the definition of an identifier. |=== @@ -58,7 +54,6 @@ Navigates to the definition of an identifier. === Go to Implementation **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/goto_implementation.rs[goto_implementation.rs] - Navigates to the impl block of structs, enums or traits. Also implemented as a code lens. |=== @@ -71,7 +66,6 @@ Navigates to the impl block of structs, enums or traits. Also implemented as a c === Go to Type Definition **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/goto_type_definition.rs[goto_type_definition.rs] - Navigates to the type of an identifier. |=== @@ -84,7 +78,6 @@ Navigates to the type of an identifier. === Hover **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/hover.rs[hover.rs] - Shows additional information, like type of an expression or documentation for definition when "focusing" code. Focusing is usually hovering with a mouse, but can also be triggered with a shortcut. @@ -92,7 +85,6 @@ Focusing is usually hovering with a mouse, but can also be triggered with a shor === Inlay Hints **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/inlay_hints.rs[inlay_hints.rs] - rust-analyzer shows additional information inline with the source code. Editors usually render this using read-only virtual text snippets interspersed with code. @@ -116,7 +108,6 @@ https://github.com/rust-analyzer/rust-analyzer/issues/1623[1], https://github.co === Join Lines **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/join_lines.rs[join_lines.rs] - Join selected lines into one, smartly fixing up whitespace, trailing commas, and braces. |=== @@ -129,7 +120,6 @@ Join selected lines into one, smartly fixing up whitespace, trailing commas, and === Magic Completions **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/completion.rs[completion.rs] - In addition to usual reference completion, rust-analyzer provides some ✨magic✨ completions as well: @@ -175,7 +165,6 @@ mod tests { === Matching Brace **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/matching_brace.rs[matching_brace.rs] - If the cursor is on any brace (`<>(){}[]`) which is a part of a brace-pair, moves cursor to the matching brace. It uses the actual parser to determine braces, so it won't confuse generics with comparisons. @@ -190,7 +179,6 @@ braces, so it won't confuse generics with comparisons. === On Typing Assists **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/typing.rs[typing.rs] - Some features trigger on typing certain characters: - typing `let =` tries to smartly add `;` if `=` is followed by an existing expression @@ -201,7 +189,6 @@ Some features trigger on typing certain characters: === Parent Module **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/parent_module.rs[parent_module.rs] - Navigates to the parent module of the current module. |=== @@ -214,7 +201,6 @@ Navigates to the parent module of the current module. === Run **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/runnables.rs[runnables.rs] - Shows a popup suggesting to run a test/benchmark/binary **at the current cursor location**. Super useful for repeatedly running just a single test. Do bind this to a shortcut! @@ -229,7 +215,6 @@ to a shortcut! === Semantic Syntax Highlighting **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/syntax_highlighting.rs[syntax_highlighting.rs] - rust-analyzer highlights the code semantically. For example, `bar` in `foo::Bar` might be colored differently depending on whether `Bar` is an enum or a trait. rust-analyzer does not specify colors directly, instead it assigns tag (like `struct`) and a set of modifiers (like `declaration`) to each token. @@ -242,7 +227,6 @@ We also give special modifier for `mut` and `&mut` local variables. === Show Syntax Tree **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/syntax_tree.rs[syntax_tree.rs] - Shows the parse tree of the current file. It exists mostly for debugging rust-analyzer itself. @@ -256,7 +240,6 @@ rust-analyzer itself. === Status **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/status.rs[status.rs] - Shows internal statistic about memory usage of rust-analyzer. |=== @@ -269,7 +252,6 @@ Shows internal statistic about memory usage of rust-analyzer. === Structural Seach and Replace **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide/src/ssr.rs[ssr.rs] - Search and replace with named wildcards that will match any expression. The syntax for a structural search replace command is ` ==>> `. A `$:expr` placeholder in the search pattern will match any expression and `$` will reference it in the replacement. @@ -295,7 +277,6 @@ String::from((y + 5).foo(z)) === Workspace Symbol **Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_ide_db/src/symbol_index.rs[symbol_index.rs] - Uses fuzzy-search to find types, modules and functions by name across your project and dependencies. This is **the** most useful feature, which improves code navigation tremendously. It mostly works on top of the built-in LSP diff --git a/xtask/src/codegen/gen_feature_docs.rs b/xtask/src/codegen/gen_feature_docs.rs index a0c2ffef91..a6f339e7ba 100644 --- a/xtask/src/codegen/gen_feature_docs.rs +++ b/xtask/src/codegen/gen_feature_docs.rs @@ -10,7 +10,7 @@ use crate::{ pub fn generate_feature_docs(mode: Mode) -> Result<()> { let features = Feature::collect()?; let contents = features.into_iter().map(|it| it.to_string()).collect::>().join("\n\n"); - + let contents = contents.trim().to_string() + "\n"; let dst = project_root().join("docs/user/generated_features.adoc"); codegen::update(&dst, &contents, mode)?; Ok(()) @@ -81,7 +81,7 @@ impl fmt::Display for Feature { name.to_str().unwrap(), )?; - writeln!(f, "\n{}", self.doc)?; + writeln!(f, "{}", self.doc)?; Ok(()) } }