diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-17 07:35:42 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-17 07:35:42 +0800 |
| commit | 40bb7ffd6954184fac718c8f99c9cdc3e054e4eb (patch) | |
| tree | 3b152edba07fa561b6e2792fcaa4c3f7141f3b35 /GETTING-STARTED.md | |
| parent | c6ab865d5b19e3a57b76562adb9540cbf03d77c4 (diff) | |
feat(macros)!: change completion context parameter to owned type
BREAKING CHANGE: `#[completion]` functions must now take `ShellContext`
by value instead of `&ShellContext`. Reference parameters are reserved
for resource injection.
Diffstat (limited to 'GETTING-STARTED.md')
| -rw-r--r-- | GETTING-STARTED.md | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/GETTING-STARTED.md b/GETTING-STARTED.md index 0730136..020e098 100644 --- a/GETTING-STARTED.md +++ b/GETTING-STARTED.md @@ -201,7 +201,7 @@ dispatcher!("greet", EntryGreet); pub struct ResultName((u8, String)); #[completion(EntryGreet)] -fn complete_greet(ctx: &ShellContext) -> Suggest { +fn complete_greet(ctx: ShellContext) -> Suggest { // Suggest positional arguments if ctx.previous_word == "greet" { return suggest! { @@ -212,12 +212,11 @@ fn complete_greet(ctx: &ShellContext) -> Suggest { } // Suggest flag arguments - if ctx.typing_argument() { + if ctx.current_word.starts_with('-') { return suggest! { "-r": "Number of repetitions", "--repeat": "Number of repetitions", - } - .strip_typed_argument(ctx); + }; } suggest!() // no suggestions @@ -262,7 +261,7 @@ pub enum ProgrammingLanguages { } #[completion(EntryLang)] -fn complete_lang(_: &ShellContext) -> Suggest { +fn complete_lang(_: ShellContext) -> Suggest { suggest_enum!(ProgrammingLanguages) } ``` |
