summaryrefslogtreecommitdiff
path: root/crates/typst-cli/src/completions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-cli/src/completions.rs')
-rw-r--r--crates/typst-cli/src/completions.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/crates/typst-cli/src/completions.rs b/crates/typst-cli/src/completions.rs
new file mode 100644
index 00000000..51e7db10
--- /dev/null
+++ b/crates/typst-cli/src/completions.rs
@@ -0,0 +1,13 @@
+use std::io::stdout;
+
+use clap::CommandFactory;
+use clap_complete::generate;
+
+use crate::args::{CliArguments, CompletionsCommand};
+
+/// Execute the completions command.
+pub fn completions(command: &CompletionsCommand) {
+ let mut cmd = CliArguments::command();
+ let bin_name = cmd.get_name().to_string();
+ generate(command.shell, &mut cmd, bin_name, &mut stdout());
+}