diff options
Diffstat (limited to 'examples/example-completion/src/main.rs')
| -rw-r--r-- | examples/example-completion/src/main.rs | 39 |
1 files changed, 12 insertions, 27 deletions
diff --git a/examples/example-completion/src/main.rs b/examples/example-completion/src/main.rs index e14326f..385387b 100644 --- a/examples/example-completion/src/main.rs +++ b/examples/example-completion/src/main.rs @@ -7,30 +7,15 @@ //! To make your completions work, you need to generate a completion script using Mingling's tools //! //! 1. Enable features -//! You need to enable the `build` and `comp` features for `mingling` in `[build-dependencies]` +//! Enable the `comp` feature for `mingling` in `[dependencies]` //! -//! 2. Write `build.rs` -//! Write the following in `build.rs` -//! -//! ```rust,ignore -//! fn main() { -//! build_scripts(); -//! } -//! -//! /// Generate completion scripts -//! fn build_scripts() { -//! // `env!("CARGO_PKG_NAME")` equals the crate name, which matches the binary name. -//! // If your binary name differs from the crate name, specify it explicitly. -//! mingling::build::build_comp_scripts( -//! // Your binary name: -//! env!("CARGO_PKG_NAME"), -//! ) -//! .unwrap(); -//! } -//! ``` +//! 2. Generate completion scripts +//! When the `comp` feature is enabled, `gen_program!()` automatically invokes +//! `build_comp!()` at compile time, which generates the completion scripts +//! (named after `CARGO_PKG_NAME`) into `target/mingling/`. //! //! 3. Verify -//! Build your project with `cargo build --release`. The completion scripts will be generated in `target/release/` +//! Build your project with `cargo build`. The completion scripts will be generated in `target/mingling/` //! //! Execute the script or have it be automatically sourced by your Shell //! @@ -56,12 +41,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 |
