aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/example-completion/src/main.rs6
-rw-r--r--mingling/src/example_docs.rs6
2 files changed, 12 insertions, 0 deletions
diff --git a/examples/example-completion/src/main.rs b/examples/example-completion/src/main.rs
index a15ad84..86a00ca 100644
--- a/examples/example-completion/src/main.rs
+++ b/examples/example-completion/src/main.rs
@@ -36,21 +36,27 @@ dispatcher!("fruit", FruitCommand => FruitEntry);
#[completion(FruitEntry)]
fn comp_fruit_command(ctx: &ShellContext) -> Suggest {
+ // When the user is filling "--name" for the first time
if ctx.filling_argument_first("--name") {
return suggest!();
}
+ // When the user is filling "--type" for the first time
if ctx.filling_argument_first("--type") {
return suggest! {
"apple", "banana"
};
}
+ // When the user is typing an argument
if ctx.typing_argument() {
return suggest! {
"--name": "Fruit name",
"--type": "Fruit type"
}
+ // Strip already typed arguments
.strip_typed_argument(ctx);
}
+
+ // Return empty suggestion, indicating Shell should not perform any completion logic
return suggest!();
}
diff --git a/mingling/src/example_docs.rs b/mingling/src/example_docs.rs
index b0ef26e..95aee93 100644
--- a/mingling/src/example_docs.rs
+++ b/mingling/src/example_docs.rs
@@ -119,21 +119,27 @@ pub mod example_basic {}
///
/// #[completion(FruitEntry)]
/// fn comp_fruit_command(ctx: &ShellContext) -> Suggest {
+/// // When the user is filling "--name" for the first time
/// if ctx.filling_argument_first("--name") {
/// return suggest!();
/// }
+/// // When the user is filling "--type" for the first time
/// if ctx.filling_argument_first("--type") {
/// return suggest! {
/// "apple", "banana"
/// };
/// }
+/// // When the user is typing an argument
/// if ctx.typing_argument() {
/// return suggest! {
/// "--name": "Fruit name",
/// "--type": "Fruit type"
/// }
+/// // Strip already typed arguments
/// .strip_typed_argument(ctx);
/// }
+///
+/// // Return empty suggestion, indicating Shell should not perform any completion logic
/// return suggest!();
/// }
///