lux_cli/util/mod.rs
1use clap::Subcommand;
2use lux_lib::config::Config;
3
4use crate::util::{completion::Completion, man::Man};
5use miette::Result;
6
7mod completion;
8mod man;
9
10#[derive(Subcommand)]
11pub enum Util {
12 /// Generate autocompletion scripts for the shell.{n}
13 /// Example: `lx completion zsh > ~/.zsh/completions/_lx`
14 Completion(Completion),
15 /// Generate manpages.
16 Man(Man),
17}
18
19pub async fn util(util: Util, _config: Config) -> Result<()> {
20 match util {
21 Util::Completion(completion) => completion::completion(completion).await,
22 Util::Man(man) => man::man(man).await,
23 }
24}