diff options
| -rw-r--r-- | examples/example-completion/src/main.rs | 6 | ||||
| -rw-r--r-- | mingling/src/example_docs.rs | 6 |
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!(); /// } /// |
