Skip to main content

install_prebuilt/
install_prebuilt.rs

1use std::env;
2
3use shellcomp::{InstallRequest, Shell, install};
4
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6    let script = br#"_demo_complete() {
7    COMPREPLY=("hello" "world")
8}
9complete -F _demo_complete demo
10"#;
11    let demo_path = env::temp_dir().join(format!("demo-prebuilt-{}.bash", std::process::id()));
12    let report = install(InstallRequest {
13        shell: Shell::Bash,
14        program_name: "demo",
15        script,
16        path_override: Some(demo_path.clone()),
17    })?;
18
19    println!("Installed a prebuilt Bash completion script without touching your shell profile.");
20    println!("Path: {}", demo_path.display());
21    println!("{report:#?}");
22    Ok(())
23}