From c87bf2afc4f7cb3ed97bcba80fcf024fbf7ed5e0 Mon Sep 17 00:00:00 2001 From: William Charlton Date: Thu, 4 Jul 2024 12:31:39 +0100 Subject: [PATCH] Add compile time completion generation --- packages/perseus-cli/Cargo.toml | 7 + packages/perseus-cli/build.rs | 33 + packages/perseus-cli/completions/_perseus | 878 +++++++++ packages/perseus-cli/completions/_perseus.ps1 | 589 ++++++ packages/perseus-cli/completions/perseus.bash | 1731 +++++++++++++++++ packages/perseus-cli/completions/perseus.elv | 546 ++++++ packages/perseus-cli/completions/perseus.fish | 416 ++++ packages/perseus-cli/completions/perseus.nu | 538 +++++ packages/perseus-cli/src/lib.rs | 2 - packages/perseus-cli/src/parse.rs | 4 +- 10 files changed, 4741 insertions(+), 3 deletions(-) create mode 100644 packages/perseus-cli/build.rs create mode 100644 packages/perseus-cli/completions/_perseus create mode 100644 packages/perseus-cli/completions/_perseus.ps1 create mode 100644 packages/perseus-cli/completions/perseus.bash create mode 100644 packages/perseus-cli/completions/perseus.elv create mode 100644 packages/perseus-cli/completions/perseus.fish create mode 100644 packages/perseus-cli/completions/perseus.nu diff --git a/packages/perseus-cli/Cargo.toml b/packages/perseus-cli/Cargo.toml index a3c1046eef..f96f64b9fc 100644 --- a/packages/perseus-cli/Cargo.toml +++ b/packages/perseus-cli/Cargo.toml @@ -56,6 +56,11 @@ walkdir = "2" openssl = { version = "0.10.52", optional = true} brotlic = "0.8" +[build-dependencies] +clap = { version = "4.2", features = ["color", "derive"], optional = true } +clap_complete = { version = "4.5.7", optional = true } +clap_complete_nushell = { version = "4.5.2", optional = true } + [dev-dependencies] assert_cmd = "2" assert_fs = "1" @@ -70,5 +75,7 @@ name = "perseus" path = "src/bin/main.rs" [features] +default = ["completions"] +completions = ["clap", "clap_complete", "clap_complete_nushell"] # `reqwest` uses the system-native transport layer by default, this is necessary in some environments vendored-openssl = [ "openssl/vendored" ] diff --git a/packages/perseus-cli/build.rs b/packages/perseus-cli/build.rs new file mode 100644 index 0000000000..29dd77122c --- /dev/null +++ b/packages/perseus-cli/build.rs @@ -0,0 +1,33 @@ +#[cfg(feature = "completions")] +mod completions { + #[path = "../src/parse.rs"] + mod parse; + + use clap::{CommandFactory, ValueEnum}; + use clap_complete::{generate_to, shells::Shell}; + use clap_complete_nushell::Nushell; + use std::io::Error; + + pub fn generate_completions() -> Result<(), Error> { + let out_dir = "completions"; + let bin_name = "perseus"; + // on windows, bin_name is "perseus.exe" + #[cfg(windows)] + let bin_name = "perseus.exe"; + + let mut cmd = parse::Opts::command(); + + for shell in Shell::value_variants() { + generate_to(*shell, &mut cmd, bin_name, out_dir)?; + } + generate_to(Nushell, &mut cmd, bin_name, out_dir)?; + + Ok(()) + } +} + +fn main() -> Result<(), Box> { + #[cfg(feature = "completions")] + completions::generate_completions()?; + Ok(()) +} diff --git a/packages/perseus-cli/completions/_perseus b/packages/perseus-cli/completions/_perseus new file mode 100644 index 0000000000..f76da01a05 --- /dev/null +++ b/packages/perseus-cli/completions/_perseus @@ -0,0 +1,878 @@ +#compdef perseus + +autoload -U is-at-least + +_perseus() { + typeset -A opt_args + typeset -a _arguments_options + local ret=1 + + if is-at-least 5.2; then + _arguments_options=(-s -S -C) + else + _arguments_options=(-s -C) + fi + + local context curcontext="$curcontext" state line + _arguments "${_arguments_options[@]}" : \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +'-V[Print version]' \ +'--version[Print version]' \ +":: :_perseus_commands" \ +"*::: :->perseus-cli" \ +&& ret=0 + case $state in + (perseus-cli) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:perseus-command-$line[1]:" + case $line[1] in + (build) +_arguments "${_arguments_options[@]}" : \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--release[Build for production]' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(export-error-page) +_arguments "${_arguments_options[@]}" : \ +'-c+[]:CODE: ' \ +'--code=[]:CODE: ' \ +'-o+[]:OUTPUT: ' \ +'--output=[]:OUTPUT: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(export) +_arguments "${_arguments_options[@]}" : \ +'--host=[Where to host your exported app]:HOST: ' \ +'--port=[The port to host your exported app on]:PORT: ' \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--release[Export for production]' \ +'-s[Serve the generated static files locally]' \ +'--serve[Serve the generated static files locally]' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(serve) +_arguments "${_arguments_options[@]}" : \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--host=[Where to host your exported app]:HOST: ' \ +'--port=[The port to host your exported app on]:PORT: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--no-run[Don'\''t run the final binary, but print its location instead as the last line of output]' \ +'--no-build[Only build the server, and use the results of a previous \`perseus build\`]' \ +'--release[Build and serve for production]' \ +'--standalone[Make the final binary standalone (this is used in \`perseus deploy\` only, don'\''t manually invoke it unless you have a good reason!)]' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(test) +_arguments "${_arguments_options[@]}" : \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--host=[Where to host your exported app]:HOST: ' \ +'--port=[The port to host your exported app on]:PORT: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--no-build[Only build the testing server, and use the results of a previous \`perseus build\`]' \ +'--show-browser[Show the browser window when testing (by default, the browser is used in '\''headless'\'' mode); this can be useful for debugging failing tests in some cases]' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(clean) +_arguments "${_arguments_options[@]}" : \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(deploy) +_arguments "${_arguments_options[@]}" : \ +'-o+[Change the output from \`pkg/\` to somewhere else]:OUTPUT: ' \ +'--output=[Change the output from \`pkg/\` to somewhere else]:OUTPUT: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'-e[Export your app to purely static files (see \`export\`)]' \ +'--export-static[Export your app to purely static files (see \`export\`)]' \ +'--no-minify-js[Don'\''t minify JavaScript (this will decrease performance)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(tinker) +_arguments "${_arguments_options[@]}" : \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--no-clean[Don'\''t remove and recreate the \`dist/\` directory]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(snoop) +_arguments "${_arguments_options[@]}" : \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +":: :_perseus__snoop_commands" \ +"*::: :->snoop" \ +&& ret=0 + + case $state in + (snoop) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:perseus-snoop-command-$line[1]:" + case $line[1] in + (build) +_arguments "${_arguments_options[@]}" : \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(wasm-build) +_arguments "${_arguments_options[@]}" : \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(serve) +_arguments "${_arguments_options[@]}" : \ +'--host=[Where to host your exported app]:HOST: ' \ +'--port=[The port to host your exported app on]:PORT: ' \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" : \ +":: :_perseus__snoop__help_commands" \ +"*::: :->help" \ +&& ret=0 + + case $state in + (help) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:perseus-snoop-help-command-$line[1]:" + case $line[1] in + (build) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(wasm-build) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(serve) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; + esac + ;; +esac +;; + esac + ;; +esac +;; +(new) +_arguments "${_arguments_options[@]}" : \ +'-t+[An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project'\''s name). This can be followed with \`@branch\` to fetch from \`branch\` rather than the default]:TEMPLATE: ' \ +'--template=[An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project'\''s name). This can be followed with \`@branch\` to fetch from \`branch\` rather than the default]:TEMPLATE: ' \ +'--dir=[The path to a custom directory to create (if this is not provided, the project name will be used by default)]:DIR: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +':name -- The name of the new project, which will also be used for the directory:' \ +&& ret=0 +;; +(init) +_arguments "${_arguments_options[@]}" : \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +':name -- The name of the new project:' \ +&& ret=0 +;; +(check) +_arguments "${_arguments_options[@]}" : \ +'*--custom-watch=[Marks a specific file/directory to be watched (directories will be recursively watched)]:CUSTOM_WATCH: ' \ +'--cargo-engine-path=[The path to \`cargo\` when used for engine builds]:CARGO_ENGINE_PATH: ' \ +'--cargo-browser-path=[The path to \`cargo\` when used for browser builds]:CARGO_BROWSER_PATH: ' \ +'--wasm-bindgen-path=[A path to \`wasm-bindgen\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_BINDGEN_PATH: ' \ +'--wasm-opt-path=[A path to \`wasm-opt\`, if you want to use a local installation (note that the CLI will install it locally for you by default)]:WASM_OPT_PATH: ' \ +'--rustup-path=[The path to \`rustup\`]:RUSTUP_PATH: ' \ +'--wasm-release-rustflags=[The value of \`RUSTFLAGS\` when building for Wasm in release mode (this will not impact internal target-gating)]:WASM_RELEASE_RUSTFLAGS: ' \ +'--cargo-engine-args=[Any arguments to \`cargo\` when building for the engine-side]:CARGO_ENGINE_ARGS: ' \ +'--cargo-browser-args=[Any arguments to \`cargo\` when building for the browser-side]:CARGO_BROWSER_ARGS: ' \ +'--wasm-bindgen-args=[Any arguments to \`wasm-bindgen\`]:WASM_BINDGEN_ARGS: ' \ +'--wasm-opt-args=[Any arguments to \`wasm-opt\` (only run in release builds)]:WASM_OPT_ARGS: ' \ +'--git-path=[The path to \`git\` (for downloading custom templates for \`perseus new\`)]:GIT_PATH: ' \ +'--reload-server-host=[The host for the reload server (you should almost never change this)]:RELOAD_SERVER_HOST: ' \ +'--reload-server-port=[The port for the reload server (you should almost never change this)]:RELOAD_SERVER_PORT: ' \ +'--wasm-bindgen-version=[A custom version of \`wasm-bindgen\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_BINDGEN_VERSION: ' \ +'--wasm-opt-version=[A custom version of \`wasm-opt\` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with \`latest\`)]:WASM_OPT_VERSION: ' \ +'-w[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'--watch[Watch the files in your working directory for changes (excluding \`target/\` and \`dist/\`)]' \ +'-g[Make sure the app'\''s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like]' \ +'--generate[Make sure the app'\''s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like]' \ +'--sequential[If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)]' \ +'--no-browser-reload[Disable automatic browser reloading]' \ +'--no-system-tools-cache[Disables the system-wide tools cache in \`~/.cargo/perseus_tools/\` (you should set this for CI)]' \ +'--verbose[Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the \`snoop\` commands are more useful for targeted debugging]' \ +'--disable-bundle-compression[Disable Brotli compression of JS and Wasm bundles (may degrade performance)]' \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" : \ +":: :_perseus__help_commands" \ +"*::: :->help" \ +&& ret=0 + + case $state in + (help) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:perseus-help-command-$line[1]:" + case $line[1] in + (build) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(export-error-page) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(export) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(serve) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(test) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(clean) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(deploy) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(tinker) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(snoop) +_arguments "${_arguments_options[@]}" : \ +":: :_perseus__help__snoop_commands" \ +"*::: :->snoop" \ +&& ret=0 + + case $state in + (snoop) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:perseus-help-snoop-command-$line[1]:" + case $line[1] in + (build) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(wasm-build) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(serve) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; + esac + ;; +esac +;; +(new) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(init) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(check) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; + esac + ;; +esac +;; + esac + ;; +esac +} + +(( $+functions[_perseus_commands] )) || +_perseus_commands() { + local commands; commands=( +'build:Builds your app' \ +'export-error-page:Exports an error page for the given HTTP status code' \ +'export:Exports your app to purely static files' \ +'serve:Serves your app' \ +'test:Serves your app as \`perseus serve\` does, but puts it in testing mode' \ +'clean:Removes build artifacts in the \`dist/\` directory' \ +'deploy:Packages your app for deployment' \ +'tinker:Runs the \`tinker\` action of plugins, which lets them modify the Perseus engine' \ +'snoop:Runs one of the underlying commands that builds your app, allowing you to see more detailed logs' \ +'new:Creates a new Perseus project in a directory of the given name, which will be created in the current path' \ +'init:Initializes a new Perseus project in the current directory' \ +'check:Checks if your app builds properly for both the engine-side and the browser-side' \ +'help:Print this message or the help of the given subcommand(s)' \ + ) + _describe -t commands 'perseus commands' commands "$@" +} +(( $+functions[_perseus__build_commands] )) || +_perseus__build_commands() { + local commands; commands=() + _describe -t commands 'perseus build commands' commands "$@" +} +(( $+functions[_perseus__check_commands] )) || +_perseus__check_commands() { + local commands; commands=() + _describe -t commands 'perseus check commands' commands "$@" +} +(( $+functions[_perseus__clean_commands] )) || +_perseus__clean_commands() { + local commands; commands=() + _describe -t commands 'perseus clean commands' commands "$@" +} +(( $+functions[_perseus__deploy_commands] )) || +_perseus__deploy_commands() { + local commands; commands=() + _describe -t commands 'perseus deploy commands' commands "$@" +} +(( $+functions[_perseus__export_commands] )) || +_perseus__export_commands() { + local commands; commands=() + _describe -t commands 'perseus export commands' commands "$@" +} +(( $+functions[_perseus__export-error-page_commands] )) || +_perseus__export-error-page_commands() { + local commands; commands=() + _describe -t commands 'perseus export-error-page commands' commands "$@" +} +(( $+functions[_perseus__help_commands] )) || +_perseus__help_commands() { + local commands; commands=( +'build:Builds your app' \ +'export-error-page:Exports an error page for the given HTTP status code' \ +'export:Exports your app to purely static files' \ +'serve:Serves your app' \ +'test:Serves your app as \`perseus serve\` does, but puts it in testing mode' \ +'clean:Removes build artifacts in the \`dist/\` directory' \ +'deploy:Packages your app for deployment' \ +'tinker:Runs the \`tinker\` action of plugins, which lets them modify the Perseus engine' \ +'snoop:Runs one of the underlying commands that builds your app, allowing you to see more detailed logs' \ +'new:Creates a new Perseus project in a directory of the given name, which will be created in the current path' \ +'init:Initializes a new Perseus project in the current directory' \ +'check:Checks if your app builds properly for both the engine-side and the browser-side' \ +'help:Print this message or the help of the given subcommand(s)' \ + ) + _describe -t commands 'perseus help commands' commands "$@" +} +(( $+functions[_perseus__help__build_commands] )) || +_perseus__help__build_commands() { + local commands; commands=() + _describe -t commands 'perseus help build commands' commands "$@" +} +(( $+functions[_perseus__help__check_commands] )) || +_perseus__help__check_commands() { + local commands; commands=() + _describe -t commands 'perseus help check commands' commands "$@" +} +(( $+functions[_perseus__help__clean_commands] )) || +_perseus__help__clean_commands() { + local commands; commands=() + _describe -t commands 'perseus help clean commands' commands "$@" +} +(( $+functions[_perseus__help__deploy_commands] )) || +_perseus__help__deploy_commands() { + local commands; commands=() + _describe -t commands 'perseus help deploy commands' commands "$@" +} +(( $+functions[_perseus__help__export_commands] )) || +_perseus__help__export_commands() { + local commands; commands=() + _describe -t commands 'perseus help export commands' commands "$@" +} +(( $+functions[_perseus__help__export-error-page_commands] )) || +_perseus__help__export-error-page_commands() { + local commands; commands=() + _describe -t commands 'perseus help export-error-page commands' commands "$@" +} +(( $+functions[_perseus__help__help_commands] )) || +_perseus__help__help_commands() { + local commands; commands=() + _describe -t commands 'perseus help help commands' commands "$@" +} +(( $+functions[_perseus__help__init_commands] )) || +_perseus__help__init_commands() { + local commands; commands=() + _describe -t commands 'perseus help init commands' commands "$@" +} +(( $+functions[_perseus__help__new_commands] )) || +_perseus__help__new_commands() { + local commands; commands=() + _describe -t commands 'perseus help new commands' commands "$@" +} +(( $+functions[_perseus__help__serve_commands] )) || +_perseus__help__serve_commands() { + local commands; commands=() + _describe -t commands 'perseus help serve commands' commands "$@" +} +(( $+functions[_perseus__help__snoop_commands] )) || +_perseus__help__snoop_commands() { + local commands; commands=( +'build:Snoops on the static generation process (this will let you see \`dbg!\` calls and the like)' \ +'wasm-build:Snoops on the Wasm building process (mostly for debugging errors)' \ +'serve:Snoops on the server process (run \`perseus build\` before this)' \ + ) + _describe -t commands 'perseus help snoop commands' commands "$@" +} +(( $+functions[_perseus__help__snoop__build_commands] )) || +_perseus__help__snoop__build_commands() { + local commands; commands=() + _describe -t commands 'perseus help snoop build commands' commands "$@" +} +(( $+functions[_perseus__help__snoop__serve_commands] )) || +_perseus__help__snoop__serve_commands() { + local commands; commands=() + _describe -t commands 'perseus help snoop serve commands' commands "$@" +} +(( $+functions[_perseus__help__snoop__wasm-build_commands] )) || +_perseus__help__snoop__wasm-build_commands() { + local commands; commands=() + _describe -t commands 'perseus help snoop wasm-build commands' commands "$@" +} +(( $+functions[_perseus__help__test_commands] )) || +_perseus__help__test_commands() { + local commands; commands=() + _describe -t commands 'perseus help test commands' commands "$@" +} +(( $+functions[_perseus__help__tinker_commands] )) || +_perseus__help__tinker_commands() { + local commands; commands=() + _describe -t commands 'perseus help tinker commands' commands "$@" +} +(( $+functions[_perseus__init_commands] )) || +_perseus__init_commands() { + local commands; commands=() + _describe -t commands 'perseus init commands' commands "$@" +} +(( $+functions[_perseus__new_commands] )) || +_perseus__new_commands() { + local commands; commands=() + _describe -t commands 'perseus new commands' commands "$@" +} +(( $+functions[_perseus__serve_commands] )) || +_perseus__serve_commands() { + local commands; commands=() + _describe -t commands 'perseus serve commands' commands "$@" +} +(( $+functions[_perseus__snoop_commands] )) || +_perseus__snoop_commands() { + local commands; commands=( +'build:Snoops on the static generation process (this will let you see \`dbg!\` calls and the like)' \ +'wasm-build:Snoops on the Wasm building process (mostly for debugging errors)' \ +'serve:Snoops on the server process (run \`perseus build\` before this)' \ +'help:Print this message or the help of the given subcommand(s)' \ + ) + _describe -t commands 'perseus snoop commands' commands "$@" +} +(( $+functions[_perseus__snoop__build_commands] )) || +_perseus__snoop__build_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop build commands' commands "$@" +} +(( $+functions[_perseus__snoop__help_commands] )) || +_perseus__snoop__help_commands() { + local commands; commands=( +'build:Snoops on the static generation process (this will let you see \`dbg!\` calls and the like)' \ +'wasm-build:Snoops on the Wasm building process (mostly for debugging errors)' \ +'serve:Snoops on the server process (run \`perseus build\` before this)' \ +'help:Print this message or the help of the given subcommand(s)' \ + ) + _describe -t commands 'perseus snoop help commands' commands "$@" +} +(( $+functions[_perseus__snoop__help__build_commands] )) || +_perseus__snoop__help__build_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop help build commands' commands "$@" +} +(( $+functions[_perseus__snoop__help__help_commands] )) || +_perseus__snoop__help__help_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop help help commands' commands "$@" +} +(( $+functions[_perseus__snoop__help__serve_commands] )) || +_perseus__snoop__help__serve_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop help serve commands' commands "$@" +} +(( $+functions[_perseus__snoop__help__wasm-build_commands] )) || +_perseus__snoop__help__wasm-build_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop help wasm-build commands' commands "$@" +} +(( $+functions[_perseus__snoop__serve_commands] )) || +_perseus__snoop__serve_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop serve commands' commands "$@" +} +(( $+functions[_perseus__snoop__wasm-build_commands] )) || +_perseus__snoop__wasm-build_commands() { + local commands; commands=() + _describe -t commands 'perseus snoop wasm-build commands' commands "$@" +} +(( $+functions[_perseus__test_commands] )) || +_perseus__test_commands() { + local commands; commands=() + _describe -t commands 'perseus test commands' commands "$@" +} +(( $+functions[_perseus__tinker_commands] )) || +_perseus__tinker_commands() { + local commands; commands=() + _describe -t commands 'perseus tinker commands' commands "$@" +} + +if [ "$funcstack[1]" = "_perseus" ]; then + _perseus "$@" +else + compdef _perseus perseus +fi diff --git a/packages/perseus-cli/completions/_perseus.ps1 b/packages/perseus-cli/completions/_perseus.ps1 new file mode 100644 index 0000000000..59e6d38921 --- /dev/null +++ b/packages/perseus-cli/completions/_perseus.ps1 @@ -0,0 +1,589 @@ + +using namespace System.Management.Automation +using namespace System.Management.Automation.Language + +Register-ArgumentCompleter -Native -CommandName 'perseus' -ScriptBlock { + param($wordToComplete, $commandAst, $cursorPosition) + + $commandElements = $commandAst.CommandElements + $command = @( + 'perseus' + for ($i = 1; $i -lt $commandElements.Count; $i++) { + $element = $commandElements[$i] + if ($element -isnot [StringConstantExpressionAst] -or + $element.StringConstantType -ne [StringConstantType]::BareWord -or + $element.Value.StartsWith('-') -or + $element.Value -eq $wordToComplete) { + break + } + $element.Value + }) -join ';' + + $completions = @(switch ($command) { + 'perseus' { + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('-V', 'V ', [CompletionResultType]::ParameterName, 'Print version') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Print version') + [CompletionResult]::new('build', 'build', [CompletionResultType]::ParameterValue, 'Builds your app') + [CompletionResult]::new('export-error-page', 'export-error-page', [CompletionResultType]::ParameterValue, 'Exports an error page for the given HTTP status code') + [CompletionResult]::new('export', 'export', [CompletionResultType]::ParameterValue, 'Exports your app to purely static files') + [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Serves your app') + [CompletionResult]::new('test', 'test', [CompletionResultType]::ParameterValue, 'Serves your app as `perseus serve` does, but puts it in testing mode') + [CompletionResult]::new('clean', 'clean', [CompletionResultType]::ParameterValue, 'Removes build artifacts in the `dist/` directory') + [CompletionResult]::new('deploy', 'deploy', [CompletionResultType]::ParameterValue, 'Packages your app for deployment') + [CompletionResult]::new('tinker', 'tinker', [CompletionResultType]::ParameterValue, 'Runs the `tinker` action of plugins, which lets them modify the Perseus engine') + [CompletionResult]::new('snoop', 'snoop', [CompletionResultType]::ParameterValue, 'Runs one of the underlying commands that builds your app, allowing you to see more detailed logs') + [CompletionResult]::new('new', 'new', [CompletionResultType]::ParameterValue, 'Creates a new Perseus project in a directory of the given name, which will be created in the current path') + [CompletionResult]::new('init', 'init', [CompletionResultType]::ParameterValue, 'Initializes a new Perseus project in the current directory') + [CompletionResult]::new('check', 'check', [CompletionResultType]::ParameterValue, 'Checks if your app builds properly for both the engine-side and the browser-side') + [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') + break + } + 'perseus;build' { + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--release', 'release', [CompletionResultType]::ParameterName, 'Build for production') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;export-error-page' { + [CompletionResult]::new('-c', 'c', [CompletionResultType]::ParameterName, 'c') + [CompletionResult]::new('--code', 'code', [CompletionResultType]::ParameterName, 'code') + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'o') + [CompletionResult]::new('--output', 'output', [CompletionResultType]::ParameterName, 'output') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;export' { + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'Where to host your exported app') + [CompletionResult]::new('--port', 'port', [CompletionResultType]::ParameterName, 'The port to host your exported app on') + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--release', 'release', [CompletionResultType]::ParameterName, 'Export for production') + [CompletionResult]::new('-s', 's', [CompletionResultType]::ParameterName, 'Serve the generated static files locally') + [CompletionResult]::new('--serve', 'serve', [CompletionResultType]::ParameterName, 'Serve the generated static files locally') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;serve' { + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'Where to host your exported app') + [CompletionResult]::new('--port', 'port', [CompletionResultType]::ParameterName, 'The port to host your exported app on') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--no-run', 'no-run', [CompletionResultType]::ParameterName, 'Don''t run the final binary, but print its location instead as the last line of output') + [CompletionResult]::new('--no-build', 'no-build', [CompletionResultType]::ParameterName, 'Only build the server, and use the results of a previous `perseus build`') + [CompletionResult]::new('--release', 'release', [CompletionResultType]::ParameterName, 'Build and serve for production') + [CompletionResult]::new('--standalone', 'standalone', [CompletionResultType]::ParameterName, 'Make the final binary standalone (this is used in `perseus deploy` only, don''t manually invoke it unless you have a good reason!)') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;test' { + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'Where to host your exported app') + [CompletionResult]::new('--port', 'port', [CompletionResultType]::ParameterName, 'The port to host your exported app on') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--no-build', 'no-build', [CompletionResultType]::ParameterName, 'Only build the testing server, and use the results of a previous `perseus build`') + [CompletionResult]::new('--show-browser', 'show-browser', [CompletionResultType]::ParameterName, 'Show the browser window when testing (by default, the browser is used in ''headless'' mode); this can be useful for debugging failing tests in some cases') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;clean' { + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;deploy' { + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Change the output from `pkg/` to somewhere else') + [CompletionResult]::new('--output', 'output', [CompletionResultType]::ParameterName, 'Change the output from `pkg/` to somewhere else') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('-e', 'e', [CompletionResultType]::ParameterName, 'Export your app to purely static files (see `export`)') + [CompletionResult]::new('--export-static', 'export-static', [CompletionResultType]::ParameterName, 'Export your app to purely static files (see `export`)') + [CompletionResult]::new('--no-minify-js', 'no-minify-js', [CompletionResultType]::ParameterName, 'Don''t minify JavaScript (this will decrease performance)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;tinker' { + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--no-clean', 'no-clean', [CompletionResultType]::ParameterName, 'Don''t remove and recreate the `dist/` directory') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;snoop' { + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('build', 'build', [CompletionResultType]::ParameterValue, 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)') + [CompletionResult]::new('wasm-build', 'wasm-build', [CompletionResultType]::ParameterValue, 'Snoops on the Wasm building process (mostly for debugging errors)') + [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Snoops on the server process (run `perseus build` before this)') + [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') + break + } + 'perseus;snoop;build' { + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;snoop;wasm-build' { + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;snoop;serve' { + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'Where to host your exported app') + [CompletionResult]::new('--port', 'port', [CompletionResultType]::ParameterName, 'The port to host your exported app on') + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;snoop;help' { + [CompletionResult]::new('build', 'build', [CompletionResultType]::ParameterValue, 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)') + [CompletionResult]::new('wasm-build', 'wasm-build', [CompletionResultType]::ParameterValue, 'Snoops on the Wasm building process (mostly for debugging errors)') + [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Snoops on the server process (run `perseus build` before this)') + [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') + break + } + 'perseus;snoop;help;build' { + break + } + 'perseus;snoop;help;wasm-build' { + break + } + 'perseus;snoop;help;serve' { + break + } + 'perseus;snoop;help;help' { + break + } + 'perseus;new' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project''s name). This can be followed with `@branch` to fetch from `branch` rather than the default') + [CompletionResult]::new('--template', 'template', [CompletionResultType]::ParameterName, 'An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project''s name). This can be followed with `@branch` to fetch from `branch` rather than the default') + [CompletionResult]::new('--dir', 'dir', [CompletionResultType]::ParameterName, 'The path to a custom directory to create (if this is not provided, the project name will be used by default)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;init' { + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;check' { + [CompletionResult]::new('--custom-watch', 'custom-watch', [CompletionResultType]::ParameterName, 'Marks a specific file/directory to be watched (directories will be recursively watched)') + [CompletionResult]::new('--cargo-engine-path', 'cargo-engine-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for engine builds') + [CompletionResult]::new('--cargo-browser-path', 'cargo-browser-path', [CompletionResultType]::ParameterName, 'The path to `cargo` when used for browser builds') + [CompletionResult]::new('--wasm-bindgen-path', 'wasm-bindgen-path', [CompletionResultType]::ParameterName, 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--wasm-opt-path', 'wasm-opt-path', [CompletionResultType]::ParameterName, 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)') + [CompletionResult]::new('--rustup-path', 'rustup-path', [CompletionResultType]::ParameterName, 'The path to `rustup`') + [CompletionResult]::new('--wasm-release-rustflags', 'wasm-release-rustflags', [CompletionResultType]::ParameterName, 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)') + [CompletionResult]::new('--cargo-engine-args', 'cargo-engine-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the engine-side') + [CompletionResult]::new('--cargo-browser-args', 'cargo-browser-args', [CompletionResultType]::ParameterName, 'Any arguments to `cargo` when building for the browser-side') + [CompletionResult]::new('--wasm-bindgen-args', 'wasm-bindgen-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-bindgen`') + [CompletionResult]::new('--wasm-opt-args', 'wasm-opt-args', [CompletionResultType]::ParameterName, 'Any arguments to `wasm-opt` (only run in release builds)') + [CompletionResult]::new('--git-path', 'git-path', [CompletionResultType]::ParameterName, 'The path to `git` (for downloading custom templates for `perseus new`)') + [CompletionResult]::new('--reload-server-host', 'reload-server-host', [CompletionResultType]::ParameterName, 'The host for the reload server (you should almost never change this)') + [CompletionResult]::new('--reload-server-port', 'reload-server-port', [CompletionResultType]::ParameterName, 'The port for the reload server (you should almost never change this)') + [CompletionResult]::new('--wasm-bindgen-version', 'wasm-bindgen-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('--wasm-opt-version', 'wasm-opt-version', [CompletionResultType]::ParameterName, 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)') + [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)') + [CompletionResult]::new('-g', 'g', [CompletionResultType]::ParameterName, 'Make sure the app''s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like') + [CompletionResult]::new('--generate', 'generate', [CompletionResultType]::ParameterName, 'Make sure the app''s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like') + [CompletionResult]::new('--sequential', 'sequential', [CompletionResultType]::ParameterName, 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)') + [CompletionResult]::new('--no-browser-reload', 'no-browser-reload', [CompletionResultType]::ParameterName, 'Disable automatic browser reloading') + [CompletionResult]::new('--no-system-tools-cache', 'no-system-tools-cache', [CompletionResultType]::ParameterName, 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging') + [CompletionResult]::new('--disable-bundle-compression', 'disable-bundle-compression', [CompletionResultType]::ParameterName, 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help') + break + } + 'perseus;help' { + [CompletionResult]::new('build', 'build', [CompletionResultType]::ParameterValue, 'Builds your app') + [CompletionResult]::new('export-error-page', 'export-error-page', [CompletionResultType]::ParameterValue, 'Exports an error page for the given HTTP status code') + [CompletionResult]::new('export', 'export', [CompletionResultType]::ParameterValue, 'Exports your app to purely static files') + [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Serves your app') + [CompletionResult]::new('test', 'test', [CompletionResultType]::ParameterValue, 'Serves your app as `perseus serve` does, but puts it in testing mode') + [CompletionResult]::new('clean', 'clean', [CompletionResultType]::ParameterValue, 'Removes build artifacts in the `dist/` directory') + [CompletionResult]::new('deploy', 'deploy', [CompletionResultType]::ParameterValue, 'Packages your app for deployment') + [CompletionResult]::new('tinker', 'tinker', [CompletionResultType]::ParameterValue, 'Runs the `tinker` action of plugins, which lets them modify the Perseus engine') + [CompletionResult]::new('snoop', 'snoop', [CompletionResultType]::ParameterValue, 'Runs one of the underlying commands that builds your app, allowing you to see more detailed logs') + [CompletionResult]::new('new', 'new', [CompletionResultType]::ParameterValue, 'Creates a new Perseus project in a directory of the given name, which will be created in the current path') + [CompletionResult]::new('init', 'init', [CompletionResultType]::ParameterValue, 'Initializes a new Perseus project in the current directory') + [CompletionResult]::new('check', 'check', [CompletionResultType]::ParameterValue, 'Checks if your app builds properly for both the engine-side and the browser-side') + [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') + break + } + 'perseus;help;build' { + break + } + 'perseus;help;export-error-page' { + break + } + 'perseus;help;export' { + break + } + 'perseus;help;serve' { + break + } + 'perseus;help;test' { + break + } + 'perseus;help;clean' { + break + } + 'perseus;help;deploy' { + break + } + 'perseus;help;tinker' { + break + } + 'perseus;help;snoop' { + [CompletionResult]::new('build', 'build', [CompletionResultType]::ParameterValue, 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)') + [CompletionResult]::new('wasm-build', 'wasm-build', [CompletionResultType]::ParameterValue, 'Snoops on the Wasm building process (mostly for debugging errors)') + [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Snoops on the server process (run `perseus build` before this)') + break + } + 'perseus;help;snoop;build' { + break + } + 'perseus;help;snoop;wasm-build' { + break + } + 'perseus;help;snoop;serve' { + break + } + 'perseus;help;new' { + break + } + 'perseus;help;init' { + break + } + 'perseus;help;check' { + break + } + 'perseus;help;help' { + break + } + }) + + $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | + Sort-Object -Property ListItemText +} diff --git a/packages/perseus-cli/completions/perseus.bash b/packages/perseus-cli/completions/perseus.bash new file mode 100644 index 0000000000..c57e61ba99 --- /dev/null +++ b/packages/perseus-cli/completions/perseus.bash @@ -0,0 +1,1731 @@ +_perseus() { + local i cur prev opts cmd + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + cmd="" + opts="" + + for i in ${COMP_WORDS[@]} + do + case "${cmd},${i}" in + ",$1") + cmd="perseus" + ;; + perseus,build) + cmd="perseus__build" + ;; + perseus,check) + cmd="perseus__check" + ;; + perseus,clean) + cmd="perseus__clean" + ;; + perseus,deploy) + cmd="perseus__deploy" + ;; + perseus,export) + cmd="perseus__export" + ;; + perseus,export-error-page) + cmd="perseus__export__error__page" + ;; + perseus,help) + cmd="perseus__help" + ;; + perseus,init) + cmd="perseus__init" + ;; + perseus,new) + cmd="perseus__new" + ;; + perseus,serve) + cmd="perseus__serve" + ;; + perseus,snoop) + cmd="perseus__snoop" + ;; + perseus,test) + cmd="perseus__test" + ;; + perseus,tinker) + cmd="perseus__tinker" + ;; + perseus__help,build) + cmd="perseus__help__build" + ;; + perseus__help,check) + cmd="perseus__help__check" + ;; + perseus__help,clean) + cmd="perseus__help__clean" + ;; + perseus__help,deploy) + cmd="perseus__help__deploy" + ;; + perseus__help,export) + cmd="perseus__help__export" + ;; + perseus__help,export-error-page) + cmd="perseus__help__export__error__page" + ;; + perseus__help,help) + cmd="perseus__help__help" + ;; + perseus__help,init) + cmd="perseus__help__init" + ;; + perseus__help,new) + cmd="perseus__help__new" + ;; + perseus__help,serve) + cmd="perseus__help__serve" + ;; + perseus__help,snoop) + cmd="perseus__help__snoop" + ;; + perseus__help,test) + cmd="perseus__help__test" + ;; + perseus__help,tinker) + cmd="perseus__help__tinker" + ;; + perseus__help__snoop,build) + cmd="perseus__help__snoop__build" + ;; + perseus__help__snoop,serve) + cmd="perseus__help__snoop__serve" + ;; + perseus__help__snoop,wasm-build) + cmd="perseus__help__snoop__wasm__build" + ;; + perseus__snoop,build) + cmd="perseus__snoop__build" + ;; + perseus__snoop,help) + cmd="perseus__snoop__help" + ;; + perseus__snoop,serve) + cmd="perseus__snoop__serve" + ;; + perseus__snoop,wasm-build) + cmd="perseus__snoop__wasm__build" + ;; + perseus__snoop__help,build) + cmd="perseus__snoop__help__build" + ;; + perseus__snoop__help,help) + cmd="perseus__snoop__help__help" + ;; + perseus__snoop__help,serve) + cmd="perseus__snoop__help__serve" + ;; + perseus__snoop__help,wasm-build) + cmd="perseus__snoop__help__wasm__build" + ;; + *) + ;; + esac + done + + case "${cmd}" in + perseus) + opts="-h -V --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help --version build export-error-page export serve test clean deploy tinker snoop new init check help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__build) + opts="-w -h --release --watch --custom-watch --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__check) + opts="-w -g -h --watch --custom-watch --generate --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__clean) + opts="-h --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__deploy) + opts="-o -e -h --output --export-static --no-minify-js --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --output) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__export) + opts="-s -w -h --release --serve --host --port --watch --custom-watch --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__export__error__page) + opts="-c -o -h --code --output --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --code) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + -c) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --output) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help) + opts="build export-error-page export serve test clean deploy tinker snoop new init check help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__build) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__check) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__clean) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__deploy) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__export) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__export__error__page) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__help) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__init) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__new) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__serve) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__snoop) + opts="build wasm-build serve" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__snoop__build) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__snoop__serve) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__snoop__wasm__build) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__test) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__help__tinker) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__init) + opts="-h --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__new) + opts="-t -h --template --dir --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --template) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --dir) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__serve) + opts="-w -h --no-run --no-build --release --standalone --watch --custom-watch --host --port --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop) + opts="-h --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help build wasm-build serve help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__build) + opts="-w -h --watch --custom-watch --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__help) + opts="build wasm-build serve help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__help__build) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__help__help) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__help__serve) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__help__wasm__build) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__serve) + opts="-w -h --host --port --watch --custom-watch --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__snoop__wasm__build) + opts="-w -h --watch --custom-watch --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__test) + opts="-w -h --no-build --show-browser --watch --custom-watch --host --port --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --custom-watch) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + perseus__tinker) + opts="-h --no-clean --cargo-engine-path --cargo-browser-path --wasm-bindgen-path --wasm-opt-path --rustup-path --wasm-release-rustflags --cargo-engine-args --cargo-browser-args --wasm-bindgen-args --wasm-opt-args --git-path --reload-server-host --reload-server-port --sequential --no-browser-reload --wasm-bindgen-version --wasm-opt-version --no-system-tools-cache --verbose --disable-bundle-compression --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + --cargo-engine-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --rustup-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-release-rustflags) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-engine-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --cargo-browser-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-args) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --git-path) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-host) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --reload-server-port) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-bindgen-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + --wasm-opt-version) + COMPREPLY=($(compgen -f "${cur}")) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; + esac +} + +if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then + complete -F _perseus -o nosort -o bashdefault -o default perseus +else + complete -F _perseus -o bashdefault -o default perseus +fi diff --git a/packages/perseus-cli/completions/perseus.elv b/packages/perseus-cli/completions/perseus.elv new file mode 100644 index 0000000000..d129281bc9 --- /dev/null +++ b/packages/perseus-cli/completions/perseus.elv @@ -0,0 +1,546 @@ + +use builtin; +use str; + +set edit:completion:arg-completer[perseus] = {|@words| + fn spaces {|n| + builtin:repeat $n ' ' | str:join '' + } + fn cand {|text desc| + edit:complex-candidate $text &display=$text' '(spaces (- 14 (wcswidth $text)))$desc + } + var command = 'perseus' + for word $words[1..-1] { + if (str:has-prefix $word '-') { + break + } + set command = $command';'$word + } + var completions = [ + &'perseus'= { + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + cand -V 'Print version' + cand --version 'Print version' + cand build 'Builds your app' + cand export-error-page 'Exports an error page for the given HTTP status code' + cand export 'Exports your app to purely static files' + cand serve 'Serves your app' + cand test 'Serves your app as `perseus serve` does, but puts it in testing mode' + cand clean 'Removes build artifacts in the `dist/` directory' + cand deploy 'Packages your app for deployment' + cand tinker 'Runs the `tinker` action of plugins, which lets them modify the Perseus engine' + cand snoop 'Runs one of the underlying commands that builds your app, allowing you to see more detailed logs' + cand new 'Creates a new Perseus project in a directory of the given name, which will be created in the current path' + cand init 'Initializes a new Perseus project in the current directory' + cand check 'Checks if your app builds properly for both the engine-side and the browser-side' + cand help 'Print this message or the help of the given subcommand(s)' + } + &'perseus;build'= { + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --release 'Build for production' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;export-error-page'= { + cand -c 'c' + cand --code 'code' + cand -o 'o' + cand --output 'output' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;export'= { + cand --host 'Where to host your exported app' + cand --port 'The port to host your exported app on' + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --release 'Export for production' + cand -s 'Serve the generated static files locally' + cand --serve 'Serve the generated static files locally' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;serve'= { + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --host 'Where to host your exported app' + cand --port 'The port to host your exported app on' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --no-run 'Don''t run the final binary, but print its location instead as the last line of output' + cand --no-build 'Only build the server, and use the results of a previous `perseus build`' + cand --release 'Build and serve for production' + cand --standalone 'Make the final binary standalone (this is used in `perseus deploy` only, don''t manually invoke it unless you have a good reason!)' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;test'= { + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --host 'Where to host your exported app' + cand --port 'The port to host your exported app on' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --no-build 'Only build the testing server, and use the results of a previous `perseus build`' + cand --show-browser 'Show the browser window when testing (by default, the browser is used in ''headless'' mode); this can be useful for debugging failing tests in some cases' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;clean'= { + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;deploy'= { + cand -o 'Change the output from `pkg/` to somewhere else' + cand --output 'Change the output from `pkg/` to somewhere else' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand -e 'Export your app to purely static files (see `export`)' + cand --export-static 'Export your app to purely static files (see `export`)' + cand --no-minify-js 'Don''t minify JavaScript (this will decrease performance)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;tinker'= { + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --no-clean 'Don''t remove and recreate the `dist/` directory' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;snoop'= { + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + cand build 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)' + cand wasm-build 'Snoops on the Wasm building process (mostly for debugging errors)' + cand serve 'Snoops on the server process (run `perseus build` before this)' + cand help 'Print this message or the help of the given subcommand(s)' + } + &'perseus;snoop;build'= { + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;snoop;wasm-build'= { + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;snoop;serve'= { + cand --host 'Where to host your exported app' + cand --port 'The port to host your exported app on' + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;snoop;help'= { + cand build 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)' + cand wasm-build 'Snoops on the Wasm building process (mostly for debugging errors)' + cand serve 'Snoops on the server process (run `perseus build` before this)' + cand help 'Print this message or the help of the given subcommand(s)' + } + &'perseus;snoop;help;build'= { + } + &'perseus;snoop;help;wasm-build'= { + } + &'perseus;snoop;help;serve'= { + } + &'perseus;snoop;help;help'= { + } + &'perseus;new'= { + cand -t 'An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project''s name). This can be followed with `@branch` to fetch from `branch` rather than the default' + cand --template 'An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project''s name). This can be followed with `@branch` to fetch from `branch` rather than the default' + cand --dir 'The path to a custom directory to create (if this is not provided, the project name will be used by default)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;init'= { + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;check'= { + cand --custom-watch 'Marks a specific file/directory to be watched (directories will be recursively watched)' + cand --cargo-engine-path 'The path to `cargo` when used for engine builds' + cand --cargo-browser-path 'The path to `cargo` when used for browser builds' + cand --wasm-bindgen-path 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --wasm-opt-path 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' + cand --rustup-path 'The path to `rustup`' + cand --wasm-release-rustflags 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' + cand --cargo-engine-args 'Any arguments to `cargo` when building for the engine-side' + cand --cargo-browser-args 'Any arguments to `cargo` when building for the browser-side' + cand --wasm-bindgen-args 'Any arguments to `wasm-bindgen`' + cand --wasm-opt-args 'Any arguments to `wasm-opt` (only run in release builds)' + cand --git-path 'The path to `git` (for downloading custom templates for `perseus new`)' + cand --reload-server-host 'The host for the reload server (you should almost never change this)' + cand --reload-server-port 'The port for the reload server (you should almost never change this)' + cand --wasm-bindgen-version 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand --wasm-opt-version 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' + cand -w 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand --watch 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' + cand -g 'Make sure the app''s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like' + cand --generate 'Make sure the app''s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like' + cand --sequential 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' + cand --no-browser-reload 'Disable automatic browser reloading' + cand --no-system-tools-cache 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' + cand --verbose 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' + cand --disable-bundle-compression 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' + cand -h 'Print help' + cand --help 'Print help' + } + &'perseus;help'= { + cand build 'Builds your app' + cand export-error-page 'Exports an error page for the given HTTP status code' + cand export 'Exports your app to purely static files' + cand serve 'Serves your app' + cand test 'Serves your app as `perseus serve` does, but puts it in testing mode' + cand clean 'Removes build artifacts in the `dist/` directory' + cand deploy 'Packages your app for deployment' + cand tinker 'Runs the `tinker` action of plugins, which lets them modify the Perseus engine' + cand snoop 'Runs one of the underlying commands that builds your app, allowing you to see more detailed logs' + cand new 'Creates a new Perseus project in a directory of the given name, which will be created in the current path' + cand init 'Initializes a new Perseus project in the current directory' + cand check 'Checks if your app builds properly for both the engine-side and the browser-side' + cand help 'Print this message or the help of the given subcommand(s)' + } + &'perseus;help;build'= { + } + &'perseus;help;export-error-page'= { + } + &'perseus;help;export'= { + } + &'perseus;help;serve'= { + } + &'perseus;help;test'= { + } + &'perseus;help;clean'= { + } + &'perseus;help;deploy'= { + } + &'perseus;help;tinker'= { + } + &'perseus;help;snoop'= { + cand build 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)' + cand wasm-build 'Snoops on the Wasm building process (mostly for debugging errors)' + cand serve 'Snoops on the server process (run `perseus build` before this)' + } + &'perseus;help;snoop;build'= { + } + &'perseus;help;snoop;wasm-build'= { + } + &'perseus;help;snoop;serve'= { + } + &'perseus;help;new'= { + } + &'perseus;help;init'= { + } + &'perseus;help;check'= { + } + &'perseus;help;help'= { + } + ] + $completions[$command] +} diff --git a/packages/perseus-cli/completions/perseus.fish b/packages/perseus-cli/completions/perseus.fish new file mode 100644 index 0000000000..9063c52f77 --- /dev/null +++ b/packages/perseus-cli/completions/perseus.fish @@ -0,0 +1,416 @@ +complete -c perseus -n "__fish_use_subcommand" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_use_subcommand" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_use_subcommand" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_use_subcommand" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_use_subcommand" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_use_subcommand" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_use_subcommand" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_use_subcommand" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_use_subcommand" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_use_subcommand" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_use_subcommand" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_use_subcommand" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_use_subcommand" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_use_subcommand" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_use_subcommand" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_use_subcommand" -s V -l version -d 'Print version' +complete -c perseus -n "__fish_use_subcommand" -f -a "build" -d 'Builds your app' +complete -c perseus -n "__fish_use_subcommand" -f -a "export-error-page" -d 'Exports an error page for the given HTTP status code' +complete -c perseus -n "__fish_use_subcommand" -f -a "export" -d 'Exports your app to purely static files' +complete -c perseus -n "__fish_use_subcommand" -f -a "serve" -d 'Serves your app' +complete -c perseus -n "__fish_use_subcommand" -f -a "test" -d 'Serves your app as `perseus serve` does, but puts it in testing mode' +complete -c perseus -n "__fish_use_subcommand" -f -a "clean" -d 'Removes build artifacts in the `dist/` directory' +complete -c perseus -n "__fish_use_subcommand" -f -a "deploy" -d 'Packages your app for deployment' +complete -c perseus -n "__fish_use_subcommand" -f -a "tinker" -d 'Runs the `tinker` action of plugins, which lets them modify the Perseus engine' +complete -c perseus -n "__fish_use_subcommand" -f -a "snoop" -d 'Runs one of the underlying commands that builds your app, allowing you to see more detailed logs' +complete -c perseus -n "__fish_use_subcommand" -f -a "new" -d 'Creates a new Perseus project in a directory of the given name, which will be created in the current path' +complete -c perseus -n "__fish_use_subcommand" -f -a "init" -d 'Initializes a new Perseus project in the current directory' +complete -c perseus -n "__fish_use_subcommand" -f -a "check" -d 'Checks if your app builds properly for both the engine-side and the browser-side' +complete -c perseus -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' +complete -c perseus -n "__fish_seen_subcommand_from build" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from build" -l release -d 'Build for production' +complete -c perseus -n "__fish_seen_subcommand_from build" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from build" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from build" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from build" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from build" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from build" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from build" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -s c -l code -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -s o -l output -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from export-error-page" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from export" -l host -d 'Where to host your exported app' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l port -d 'The port to host your exported app on' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from export" -l release -d 'Export for production' +complete -c perseus -n "__fish_seen_subcommand_from export" -s s -l serve -d 'Serve the generated static files locally' +complete -c perseus -n "__fish_seen_subcommand_from export" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from export" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from export" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from export" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from export" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from export" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from export" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l host -d 'Where to host your exported app' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l port -d 'The port to host your exported app on' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from serve" -l no-run -d 'Don\'t run the final binary, but print its location instead as the last line of output' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l no-build -d 'Only build the server, and use the results of a previous `perseus build`' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l release -d 'Build and serve for production' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l standalone -d 'Make the final binary standalone (this is used in `perseus deploy` only, don\'t manually invoke it unless you have a good reason!)' +complete -c perseus -n "__fish_seen_subcommand_from serve" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from serve" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from serve" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from test" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l host -d 'Where to host your exported app' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l port -d 'The port to host your exported app on' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from test" -l no-build -d 'Only build the testing server, and use the results of a previous `perseus build`' +complete -c perseus -n "__fish_seen_subcommand_from test" -l show-browser -d 'Show the browser window when testing (by default, the browser is used in \'headless\' mode); this can be useful for debugging failing tests in some cases' +complete -c perseus -n "__fish_seen_subcommand_from test" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from test" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from test" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from test" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from test" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from test" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from test" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from clean" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from clean" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from clean" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from clean" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from clean" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from clean" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from clean" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -s o -l output -d 'Change the output from `pkg/` to somewhere else' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from deploy" -s e -l export-static -d 'Export your app to purely static files (see `export`)' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l no-minify-js -d 'Don\'t minify JavaScript (this will decrease performance)' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from deploy" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l no-clean -d 'Don\'t remove and recreate the `dist/` directory' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from tinker" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "build" -d 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "wasm-build" -d 'Snoops on the Wasm building process (mostly for debugging errors)' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "serve" -d 'Snoops on the server process (run `perseus build` before this)' +complete -c perseus -n "__fish_seen_subcommand_from snoop; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from snoop build" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from snoop wasm-build" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l host -d 'Where to host your exported app' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l port -d 'The port to host your exported app on' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from snoop serve" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from snoop help; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "build" -d 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)' +complete -c perseus -n "__fish_seen_subcommand_from snoop help; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "wasm-build" -d 'Snoops on the Wasm building process (mostly for debugging errors)' +complete -c perseus -n "__fish_seen_subcommand_from snoop help; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "serve" -d 'Snoops on the server process (run `perseus build` before this)' +complete -c perseus -n "__fish_seen_subcommand_from snoop help; and not __fish_seen_subcommand_from build wasm-build serve help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' +complete -c perseus -n "__fish_seen_subcommand_from new" -s t -l template -d 'An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project\'s name). This can be followed with `@branch` to fetch from `branch` rather than the default' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l dir -d 'The path to a custom directory to create (if this is not provided, the project name will be used by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from new" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from new" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from new" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from new" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from new" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from new" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from init" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from init" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from init" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from init" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from init" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from init" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from init" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from check" -l custom-watch -d 'Marks a specific file/directory to be watched (directories will be recursively watched)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l cargo-engine-path -d 'The path to `cargo` when used for engine builds' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l cargo-browser-path -d 'The path to `cargo` when used for browser builds' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-bindgen-path -d 'A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-opt-path -d 'A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l rustup-path -d 'The path to `rustup`' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-release-rustflags -d 'The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l cargo-engine-args -d 'Any arguments to `cargo` when building for the engine-side' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l cargo-browser-args -d 'Any arguments to `cargo` when building for the browser-side' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-bindgen-args -d 'Any arguments to `wasm-bindgen`' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-opt-args -d 'Any arguments to `wasm-opt` (only run in release builds)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l git-path -d 'The path to `git` (for downloading custom templates for `perseus new`)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l reload-server-host -d 'The host for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l reload-server-port -d 'The port for the reload server (you should almost never change this)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-bindgen-version -d 'A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -l wasm-opt-version -d 'A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`)' -r +complete -c perseus -n "__fish_seen_subcommand_from check" -s w -l watch -d 'Watch the files in your working directory for changes (excluding `target/` and `dist/`)' +complete -c perseus -n "__fish_seen_subcommand_from check" -s g -l generate -d 'Make sure the app\'s page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like' +complete -c perseus -n "__fish_seen_subcommand_from check" -l sequential -d 'If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage)' +complete -c perseus -n "__fish_seen_subcommand_from check" -l no-browser-reload -d 'Disable automatic browser reloading' +complete -c perseus -n "__fish_seen_subcommand_from check" -l no-system-tools-cache -d 'Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI)' +complete -c perseus -n "__fish_seen_subcommand_from check" -l verbose -d 'Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging' +complete -c perseus -n "__fish_seen_subcommand_from check" -l disable-bundle-compression -d 'Disable Brotli compression of JS and Wasm bundles (may degrade performance)' +complete -c perseus -n "__fish_seen_subcommand_from check" -s h -l help -d 'Print help' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "build" -d 'Builds your app' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "export-error-page" -d 'Exports an error page for the given HTTP status code' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "export" -d 'Exports your app to purely static files' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "serve" -d 'Serves your app' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "test" -d 'Serves your app as `perseus serve` does, but puts it in testing mode' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "clean" -d 'Removes build artifacts in the `dist/` directory' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "deploy" -d 'Packages your app for deployment' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "tinker" -d 'Runs the `tinker` action of plugins, which lets them modify the Perseus engine' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "snoop" -d 'Runs one of the underlying commands that builds your app, allowing you to see more detailed logs' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "new" -d 'Creates a new Perseus project in a directory of the given name, which will be created in the current path' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "init" -d 'Initializes a new Perseus project in the current directory' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "check" -d 'Checks if your app builds properly for both the engine-side and the browser-side' +complete -c perseus -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from build export-error-page export serve test clean deploy tinker snoop new init check help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' +complete -c perseus -n "__fish_seen_subcommand_from help snoop; and not __fish_seen_subcommand_from build wasm-build serve" -f -a "build" -d 'Snoops on the static generation process (this will let you see `dbg!` calls and the like)' +complete -c perseus -n "__fish_seen_subcommand_from help snoop; and not __fish_seen_subcommand_from build wasm-build serve" -f -a "wasm-build" -d 'Snoops on the Wasm building process (mostly for debugging errors)' +complete -c perseus -n "__fish_seen_subcommand_from help snoop; and not __fish_seen_subcommand_from build wasm-build serve" -f -a "serve" -d 'Snoops on the server process (run `perseus build` before this)' diff --git a/packages/perseus-cli/completions/perseus.nu b/packages/perseus-cli/completions/perseus.nu new file mode 100644 index 0000000000..b2eb65bfc8 --- /dev/null +++ b/packages/perseus-cli/completions/perseus.nu @@ -0,0 +1,538 @@ +module completions { + + # The command-line interface for Perseus, a super-fast WebAssembly frontend development framework! + export extern perseus [ + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + --version(-V) # Print version + ] + + # Builds your app + export extern "perseus build" [ + --release # Build for production + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Exports an error page for the given HTTP status code + export extern "perseus export-error-page" [ + --code(-c): string + --output(-o): string + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Exports your app to purely static files + export extern "perseus export" [ + --release # Export for production + --serve(-s) # Serve the generated static files locally + --host: string # Where to host your exported app + --port: string # The port to host your exported app on + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Serves your app + export extern "perseus serve" [ + --no-run # Don't run the final binary, but print its location instead as the last line of output + --no-build # Only build the server, and use the results of a previous `perseus build` + --release # Build and serve for production + --standalone # Make the final binary standalone (this is used in `perseus deploy` only, don't manually invoke it unless you have a good reason!) + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --host: string # Where to host your exported app + --port: string # The port to host your exported app on + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Serves your app as `perseus serve` does, but puts it in testing mode + export extern "perseus test" [ + --no-build # Only build the testing server, and use the results of a previous `perseus build` + --show-browser # Show the browser window when testing (by default, the browser is used in 'headless' mode); this can be useful for debugging failing tests in some cases + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --host: string # Where to host your exported app + --port: string # The port to host your exported app on + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Removes build artifacts in the `dist/` directory + export extern "perseus clean" [ + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Packages your app for deployment + export extern "perseus deploy" [ + --output(-o): string # Change the output from `pkg/` to somewhere else + --export-static(-e) # Export your app to purely static files (see `export`) + --no-minify-js # Don't minify JavaScript (this will decrease performance) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Runs the `tinker` action of plugins, which lets them modify the Perseus engine + export extern "perseus tinker" [ + --no-clean # Don't remove and recreate the `dist/` directory + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Runs one of the underlying commands that builds your app, allowing you to see more detailed logs + export extern "perseus snoop" [ + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Snoops on the static generation process (this will let you see `dbg!` calls and the like) + export extern "perseus snoop build" [ + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Snoops on the Wasm building process (mostly for debugging errors) + export extern "perseus snoop wasm-build" [ + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Snoops on the server process (run `perseus build` before this) + export extern "perseus snoop serve" [ + --host: string # Where to host your exported app + --port: string # The port to host your exported app on + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Print this message or the help of the given subcommand(s) + export extern "perseus snoop help" [ + ] + + # Snoops on the static generation process (this will let you see `dbg!` calls and the like) + export extern "perseus snoop help build" [ + ] + + # Snoops on the Wasm building process (mostly for debugging errors) + export extern "perseus snoop help wasm-build" [ + ] + + # Snoops on the server process (run `perseus build` before this) + export extern "perseus snoop help serve" [ + ] + + # Print this message or the help of the given subcommand(s) + export extern "perseus snoop help help" [ + ] + + # Creates a new Perseus project in a directory of the given name, which will be created in the current path + export extern "perseus new" [ + name: string # The name of the new project, which will also be used for the directory + --template(-t): string # An optional custom URL to a Git repository to be used as a custom template (note that custom templates will not respect your project's name). This can be followed with `@branch` to fetch from `branch` rather than the default + --dir: string # The path to a custom directory to create (if this is not provided, the project name will be used by default) + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Initializes a new Perseus project in the current directory + export extern "perseus init" [ + name: string # The name of the new project + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Checks if your app builds properly for both the engine-side and the browser-side + export extern "perseus check" [ + --watch(-w) # Watch the files in your working directory for changes (excluding `target/` and `dist/`) + --custom-watch: string # Marks a specific file/directory to be watched (directories will be recursively watched) + --generate(-g) # Make sure the app's page generation works properly (this will take much longer, but almost guarantees that your app will actually build); use this to catch errors in build state and the like + --cargo-engine-path: string # The path to `cargo` when used for engine builds + --cargo-browser-path: string # The path to `cargo` when used for browser builds + --wasm-bindgen-path: string # A path to `wasm-bindgen`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --wasm-opt-path: string # A path to `wasm-opt`, if you want to use a local installation (note that the CLI will install it locally for you by default) + --rustup-path: string # The path to `rustup` + --wasm-release-rustflags: string # The value of `RUSTFLAGS` when building for Wasm in release mode (this will not impact internal target-gating) + --cargo-engine-args: string # Any arguments to `cargo` when building for the engine-side + --cargo-browser-args: string # Any arguments to `cargo` when building for the browser-side + --wasm-bindgen-args: string # Any arguments to `wasm-bindgen` + --wasm-opt-args: string # Any arguments to `wasm-opt` (only run in release builds) + --git-path: string # The path to `git` (for downloading custom templates for `perseus new`) + --reload-server-host: string # The host for the reload server (you should almost never change this) + --reload-server-port: string # The port for the reload server (you should almost never change this) + --sequential # If this is set, commands will be run sequentially rather than in parallel (slows down operations, but reduces memory usage) + --no-browser-reload # Disable automatic browser reloading + --wasm-bindgen-version: string # A custom version of `wasm-bindgen` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --wasm-opt-version: string # A custom version of `wasm-opt` to use (defaults to the latest installed version, and after that the latest available from GitHub; update to latest can be forced with `latest`) + --no-system-tools-cache # Disables the system-wide tools cache in `~/.cargo/perseus_tools/` (you should set this for CI) + --verbose # Shows the logs from building and serving your app no matter what (the default is to only show them on a compilation/build failure); this is intended mainly for end-to-end debugging, although the `snoop` commands are more useful for targeted debugging + --disable-bundle-compression # Disable Brotli compression of JS and Wasm bundles (may degrade performance) + --help(-h) # Print help + ] + + # Print this message or the help of the given subcommand(s) + export extern "perseus help" [ + ] + + # Builds your app + export extern "perseus help build" [ + ] + + # Exports an error page for the given HTTP status code + export extern "perseus help export-error-page" [ + ] + + # Exports your app to purely static files + export extern "perseus help export" [ + ] + + # Serves your app + export extern "perseus help serve" [ + ] + + # Serves your app as `perseus serve` does, but puts it in testing mode + export extern "perseus help test" [ + ] + + # Removes build artifacts in the `dist/` directory + export extern "perseus help clean" [ + ] + + # Packages your app for deployment + export extern "perseus help deploy" [ + ] + + # Runs the `tinker` action of plugins, which lets them modify the Perseus engine + export extern "perseus help tinker" [ + ] + + # Runs one of the underlying commands that builds your app, allowing you to see more detailed logs + export extern "perseus help snoop" [ + ] + + # Snoops on the static generation process (this will let you see `dbg!` calls and the like) + export extern "perseus help snoop build" [ + ] + + # Snoops on the Wasm building process (mostly for debugging errors) + export extern "perseus help snoop wasm-build" [ + ] + + # Snoops on the server process (run `perseus build` before this) + export extern "perseus help snoop serve" [ + ] + + # Creates a new Perseus project in a directory of the given name, which will be created in the current path + export extern "perseus help new" [ + ] + + # Initializes a new Perseus project in the current directory + export extern "perseus help init" [ + ] + + # Checks if your app builds properly for both the engine-side and the browser-side + export extern "perseus help check" [ + ] + + # Print this message or the help of the given subcommand(s) + export extern "perseus help help" [ + ] + +} + +export use completions * diff --git a/packages/perseus-cli/src/lib.rs b/packages/perseus-cli/src/lib.rs index 2298c16559..e798ce0e23 100644 --- a/packages/perseus-cli/src/lib.rs +++ b/packages/perseus-cli/src/lib.rs @@ -39,8 +39,6 @@ use errors::*; use std::path::PathBuf; use std::{fs, path::Path}; -/// The current version of the CLI, extracted from the crate version. -pub const PERSEUS_VERSION: &str = env!("CARGO_PKG_VERSION"); pub use build::build; pub use check::check; pub use deploy::deploy; diff --git a/packages/perseus-cli/src/parse.rs b/packages/perseus-cli/src/parse.rs index d20679965b..60140aa6cf 100644 --- a/packages/perseus-cli/src/parse.rs +++ b/packages/perseus-cli/src/parse.rs @@ -1,8 +1,10 @@ #![allow(missing_docs)] // Prevents double-documenting some things -use crate::PERSEUS_VERSION; use clap::Parser; +/// The current version of the CLI, extracted from the crate version. +pub const PERSEUS_VERSION: &str = env!("CARGO_PKG_VERSION"); + // The documentation for the `Opts` struct will appear in the help page, hence // the lack of punctuation and the lowercasing in places