Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T04:44:27.384Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

completions.rs

48 lines · 1.5 KB · rust
1mod shells {
2    pub use clap_complete::aot::{Bash, Elvish, Fish, PowerShell, Zsh};
3    pub use clap_complete_nushell::Nushell;
4}
5
6use clap_complete::Generator;
7
8#[derive(Clone, Debug, clap::ValueEnum)]
9#[non_exhaustive]
10#[value(rename_all = "lower")]
11pub(crate) enum Shell {
12    Bash,
13    Elvish,
14    Fish,
15    Nushell,
16    PowerShell,
17    Zsh,
18}
19
20impl Generator for Shell {
21    fn file_name(&self, name: &str) -> String {
22        match self {
23            Shell::Bash => self::shells::Bash.file_name(name),
24            Shell::Elvish => self::shells::Elvish.file_name(name),
25            Shell::Fish => self::shells::Fish.file_name(name),
26            Shell::Nushell => self::shells::Nushell.file_name(name),
27            Shell::PowerShell => self::shells::PowerShell.file_name(name),
28            Shell::Zsh => self::shells::Zsh.file_name(name),
29        }
30    }
31
32    fn generate(&self, cmd: &clap::Command, buf: &mut dyn std::io::Write) {
33        match self {
34            Shell::Bash => self::shells::Bash.generate(cmd, buf),
35            Shell::Elvish => self::shells::Elvish.generate(cmd, buf),
36            Shell::Fish => self::shells::Fish.generate(cmd, buf),
37            Shell::Nushell => self::shells::Nushell.generate(cmd, buf),
38            Shell::PowerShell => self::shells::PowerShell.generate(cmd, buf),
39            Shell::Zsh => self::shells::Zsh.generate(cmd, buf),
40        }
41    }
42}
43
44pub(crate) fn main(cmd: &clap::Command, shell: &Shell) {
45    let buf = &mut std::io::stdout();
46    shell.generate(cmd, buf);
47}
48
Served at tenant.openagents/omega Member data and write actions are omitted.