]> git.lizzy.rs Git - rust.git/commitdiff
check style for assist docs
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 26 Oct 2019 16:08:13 +0000 (19:08 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 26 Oct 2019 16:08:13 +0000 (19:08 +0300)
crates/ra_assists/src/assists/add_explicit_type.rs
crates/ra_assists/src/assists/add_impl.rs
crates/ra_assists/src/assists/add_missing_impl_members.rs
crates/ra_assists/src/assists/early_return.rs
crates/ra_assists/src/assists/flip_binexpr.rs
crates/ra_assists/src/assists/flip_comma.rs
crates/ra_assists/src/assists/inline_local_variable.rs
crates/ra_assists/src/doc_tests/generated.rs
docs/user/assists.md
xtask/src/codegen/gen_assists_docs.rs

index 302b9557908360e4e7e616bb9ae0a80db025b791..2903c178193aa1d13c1663258e2eaf6999bf673b 100644 (file)
@@ -8,7 +8,7 @@
 
 // Assist: add_explicit_type
 //
-// Specify type for a let binding
+// Specify type for a let binding.
 //
 // ```
 // fn main() {
index 43aeac7bd6e7239367d89d1bf2b667aa0f470f15..142777b0674f6497bf1bd366b3c836cb55929c9d 100644 (file)
@@ -10,7 +10,7 @@
 
 // Assist: add_impl
 //
-// Adds a new inherent impl for a type
+// Adds a new inherent impl for a type.
 //
 // ```
 // struct Ctx<T: Clone> {
index fe1f2e72e7f563e6c630e8c48cfe8b523d8a43cf..4ee4d47faca7b2598e5e61c0b92c04bd741ac3bd 100644 (file)
@@ -14,7 +14,7 @@ enum AddMissingImplMembersMode {
 
 // Assist: add_impl_missing_members
 //
-// Adds scaffold for required impl members
+// Adds scaffold for required impl members.
 //
 // ```
 // trait T {
@@ -50,7 +50,9 @@ pub(crate) fn add_missing_impl_members(ctx: AssistCtx<impl HirDatabase>) -> Opti
 }
 
 // Assist: add_impl_default_members
-// Adds scaffold for overriding default impl members
+//
+// Adds scaffold for overriding default impl members.
+//
 // ```
 // trait T {
 //     Type X;
index b3d0253406c79074cb33d889196d0f74d6181626..48782db4221ca6ef4553e68a0735ad37fc8d0d14 100644 (file)
@@ -14,7 +14,9 @@
 };
 
 // Assist: convert_to_guarded_return
+//
 // Replace a large conditional with a guarded return.
+//
 // ```
 // fn main() {
 //     <|>if cond {
index c510352823099bca38ed46e314f3f90db01ddb08..3a1e5cbe1b109d9beb589acc37afdb0ed653bd17 100644 (file)
@@ -1,11 +1,23 @@
-//! FIXME: write short doc here
-
 use hir::db::HirDatabase;
 use ra_syntax::ast::{AstNode, BinExpr, BinOp};
 
 use crate::{Assist, AssistCtx, AssistId};
 
-/// Flip binary expression assist.
+// Assist: flip_binexpr
+//
+// Flips operands of a binary expression.
+//
+// ```
+// fn main() {
+//     let _ = 90 +<|> 2;
+// }
+// ```
+// ->
+// ```
+// fn main() {
+//     let _ = 2 + 90;
+// }
+// ```
 pub(crate) fn flip_binexpr(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
     let expr = ctx.node_at_offset::<BinExpr>()?;
     let lhs = expr.lhs()?.syntax().clone();
index e31cc5e7d70f3b78787f477b4b84c6118f4e980e..d06c5a0e18b3096a3cf2c43b24834d2835b03b57 100644 (file)
@@ -1,10 +1,23 @@
-//! FIXME: write short doc here
-
 use hir::db::HirDatabase;
 use ra_syntax::{algo::non_trivia_sibling, Direction, T};
 
 use crate::{Assist, AssistCtx, AssistId};
 
+// Assist: flip_comma
+//
+// Flips two comma-separated items.
+//
+// ```
+// fn main() {
+//     ((1, 2),<|> (3, 4));
+// }
+// ```
+// ->
+// ```
+// fn main() {
+//     ((3, 4), (1, 2));
+// }
+// ```
 pub(crate) fn flip_comma(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
     let comma = ctx.token_at_offset().find(|leaf| leaf.kind() == T![,])?;
     let prev = non_trivia_sibling(comma.clone().into(), Direction::Prev)?;
index 9bd64decc9dbd94874e73d11137bcf0edd7e4ece..1997781dbbccb7bdec5b6213f7cb98022d060d56 100644 (file)
@@ -1,5 +1,3 @@
-//! FIXME: write short doc here
-
 use hir::db::HirDatabase;
 use ra_syntax::{
     ast::{self, AstNode, AstToken},
@@ -9,6 +7,22 @@
 use crate::assist_ctx::AssistBuilder;
 use crate::{Assist, AssistCtx, AssistId};
 
+// Assist: inline_local_variable
+//
+// Inlines local variable.
+//
+// ```
+// fn main() {
+//     let x<|> = 1 + 2;
+//     x * 4;
+// }
+// ```
+// ->
+// ```
+// fn main() {
+//     (1 + 2) * 4;
+// }
+// ```
 pub(crate) fn inline_local_varialbe(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
     let let_stmt = ctx.node_at_offset::<ast::LetStmt>()?;
     let bind_pat = match let_stmt.pat()? {
index 43fa159d7df7a88255b948d6f5a3e9ddd755f0fb..d390db33cfe9d23d2864152d76f91b7793ea533c 100644 (file)
@@ -203,3 +203,55 @@ fn handle(action: Action) {
 "#####,
     )
 }
+
+#[test]
+fn doctest_flip_binexpr() {
+    check(
+        "flip_binexpr",
+        r#####"
+fn main() {
+    let _ = 90 +<|> 2;
+}
+"#####,
+        r#####"
+fn main() {
+    let _ = 2 + 90;
+}
+"#####,
+    )
+}
+
+#[test]
+fn doctest_flip_comma() {
+    check(
+        "flip_comma",
+        r#####"
+fn main() {
+    ((1, 2),<|> (3, 4));
+}
+"#####,
+        r#####"
+fn main() {
+    ((3, 4), (1, 2));
+}
+"#####,
+    )
+}
+
+#[test]
+fn doctest_inline_local_variable() {
+    check(
+        "inline_local_variable",
+        r#####"
+fn main() {
+    let x<|> = 1 + 2;
+    x * 4;
+}
+"#####,
+        r#####"
+fn main() {
+    (1 + 2) * 4;
+}
+"#####,
+    )
+}
index 603b29c66142d2666057f41cdab908c887fdc91d..8e2e8cc9457809b87d959304fde162c573522131 100644 (file)
@@ -21,7 +21,7 @@ struct Point {
 
 ## `add_explicit_type`
 
-Specify type for a let binding
+Specify type for a let binding.
 
 ```rust
 // BEFORE
@@ -37,7 +37,7 @@ fn main() {
 
 ## `add_impl`
 
-Adds a new inherent impl for a type
+Adds a new inherent impl for a type.
 
 ```rust
 // BEFORE
@@ -57,7 +57,7 @@ impl<T: Clone> Ctx<T> {
 
 ## `add_impl_default_members`
 
-Adds scaffold for overriding default impl members
+Adds scaffold for overriding default impl members.
 
 ```rust
 // BEFORE
@@ -90,7 +90,7 @@ impl T for () {
 
 ## `add_impl_missing_members`
 
-Adds scaffold for required impl members
+Adds scaffold for required impl members.
 
 ```rust
 // BEFORE
@@ -196,3 +196,52 @@ fn handle(action: Action) {
     }
 }
 ```
+
+## `flip_binexpr`
+
+Flips operands of a binary expression.
+
+```rust
+// BEFORE
+fn main() {
+    let _ = 90 +<|> 2;
+}
+
+// AFTER
+fn main() {
+    let _ = 2 + 90;
+}
+```
+
+## `flip_comma`
+
+Flips two comma-separated items.
+
+```rust
+// BEFORE
+fn main() {
+    ((1, 2),<|> (3, 4));
+}
+
+// AFTER
+fn main() {
+    ((3, 4), (1, 2));
+}
+```
+
+## `inline_local_variable`
+
+Inlines local variable.
+
+```rust
+// BEFORE
+fn main() {
+    let x<|> = 1 + 2;
+    x * 4;
+}
+
+// AFTER
+fn main() {
+    (1 + 2) * 4;
+}
+```
index 2ca7cda63dbe421337c15b70aa703afbff9b5068..8dca2ed06e34d7d43bbca2fd6a758755d7439944 100644 (file)
@@ -52,6 +52,12 @@ fn collect_file(acc: &mut Vec<Assist>, path: &Path) -> Result<()> {
             );
 
             let doc = take_until(lines.by_ref(), "```").trim().to_string();
+            assert!(
+                doc.chars().next().unwrap().is_ascii_uppercase() && doc.ends_with("."),
+                "\n\n{}: assist docs should be proper sentences, with capitalization and a full stop at the end.\n\n{}\n\n",
+                id, doc,
+            );
+
             let before = take_until(lines.by_ref(), "```");
 
             assert_eq!(lines.next().unwrap().as_str(), "->");