From 40bb7ffd6954184fac718c8f99c9cdc3e054e4eb Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 17 Aug 2026 07:35:42 +0800 Subject: 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. --- examples/example-completion/src/main.rs | 12 ++++++------ examples/example-enum-tag/src/main.rs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/example-completion/src/main.rs b/examples/example-completion/src/main.rs index e14326f..389cf74 100644 --- a/examples/example-completion/src/main.rs +++ b/examples/example-completion/src/main.rs @@ -56,12 +56,12 @@ fn main() { } // --------- IMPORTANT --------- -// __________________________________________ Entry point bound to completion behavior -// / _________________________ Shell context for obtaining user input state -// | / ________ Suggest, used to return completion results -// vvvvvvvvvv | / -#[completion(EntryGreet)] // vvvvvvvvvvvv vvvvvvv -fn complete_greet_entry(ctx: &ShellContext) -> Suggest { +// _________________________________________ Entry point bound to completion behavior +// / _________________________ Shell context for obtaining user input state +// | / ________ Suggest, used to return completion results +// vvvvvvvvvv | / +#[completion(EntryGreet)] // vvvvvvvvvvvv vvvvvvv +fn complete_greet_entry(ctx: ShellContext) -> Suggest { // When the previous word is `greet` (the current command being typed) if ctx.previous_word == "greet" { // Return suggestions diff --git a/examples/example-enum-tag/src/main.rs b/examples/example-enum-tag/src/main.rs index c7fb502..63ac3ba 100644 --- a/examples/example-enum-tag/src/main.rs +++ b/examples/example-enum-tag/src/main.rs @@ -114,7 +114,7 @@ pub fn render_programming_language(lang: ProgrammingLanguages) -> RenderResult { } #[completion(EntryLanguageSelection)] -fn complete_language_selection(_: &ShellContext) -> Suggest { +fn complete_language_selection(_: ShellContext) -> Suggest { // Use `suggest_enum!` directly to generate enum suggestions suggest_enum!(ProgrammingLanguages) } -- cgit