feat(commands): more commands (#30)

- I wrote a scripts to copy and generate all commands missing in iris
from fig repo: https://github.com/withfig/autocomplete
- Add a new script to generate commands docs about which commands
currently are inside commands folder
377d4aac663590e504fe39a92eb4dac4cbd333b2
- Add more icons e64d4e70a1db61e62053460a882e093bd6373ab1
This commit is contained in:
VERSE
2026-07-04 22:08:36 +07:00
committed by GitHub
parent ffa336196a
commit 2ef3c90819
482 changed files with 22971 additions and 5 deletions
+31
View File
@@ -0,0 +1,31 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "dprint",
Description: "Prints the help of the given subcommand(s)",
Subcommands: []core.Subcommand{
{Name: "init", Description: "Initializes a configuration file in the current directory"},
{Name: "fmt", Description: "Formats the source files and writes the result to the file system"},
{Name: "check", Description: "Checks for any files that haven't been formatted"},
{Name: "config", Description: "Functionality related to the configuration file"},
{Name: "add", Description: "Adds a plugin to the configuration file"},
{Name: "update", Description: "Updates the plugins in the configuration file"},
{Name: "output-format-times", Description: "Prints the amount of time it takes to format each file. Use this for debugging"},
{Name: "clear-cache", Description: "Deletes the plugin cache directory"},
{Name: "license", Description: "Outputs the software license"},
},
Options: []core.Option{
{Name: "--excludes", Description: "A pluggable and configurable code formatting platform written in Rust"},
{Name: "--diff", Description: "Outputs a check-like diff of every formatted file"},
{Name: "--stdin", Description: "Checks for any files that haven't been formatted"},
{Name: "-y", Description: "Upgrade process plugins without prompting to confirm checksums"},
{Name: "-c", Description: "Prints help information"},
{Name: "--plugins", Description: "Prints additional diagnostic information"},
},
})
}
+77
View File
@@ -0,0 +1,77 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "pijul",
Description: "Adds a path to the tree",
Subcommands: []core.Subcommand{
{Name: "add", Description: "Adds a path to the tree"},
{Name: "PATHS", Description: "Paths to add to the internal tree"},
{Name: "apply", Description: "Applies changes to a channel"},
{Name: "archive", Description: "Creates an archive of the repository"},
{Name: "change", Description: "Shows information about a particular change"},
{Name: "HASH", Description: "The hash of the change to show, or an unambiguous prefix thereof"},
{Name: "channel", Description: "Manages different channels"},
{Name: "delete", Description: "Delete a channel. The channel must not be the current channel"},
{Name: "help", Description: "Print this message or the help of the given subcommand(s)"},
{Name: "new", Description: "Create a new, empty channel"},
{Name: "rename", Description: "Rename a channel"},
{Name: "switch", Description: "Switch to a channel. There must not be unrecorded changes in the working copy"},
{Name: "clone", Description: "Clones an existing pijul repository"},
{Name: "REMOTE", Description: "Clone this remote"},
{Name: "credit", Description: "Shows which change last affected each line of the given file(s)"},
{Name: "FILE", Description: "The file to annotate"},
{Name: "diff", Description: "Shows difference between two channels/changes"},
{Name: "fork", Description: "Create a new channel"},
{Name: "TO", Description: "The name of the new channel"},
{Name: "init", Description: "Initializes an empty pijul repository"},
{Name: "PATH", Description: "Path where the repository should be initialized"},
{Name: "log", Description: "Show the entire log of changes"},
{Name: "pull", Description: "Pulls changes from a remote upstream"},
{Name: "FROM", Description: "Pulls from this remote"},
{Name: "CHANGES", Description: "Pull changes from the local repository, not necessarily from a channel"},
{Name: "push", Description: "Pushes changes to a remote upstream"},
{Name: "record", Description: "Creates a new change"},
{Name: "PREFIXES", Description: "Paths in which to record the changes"},
{Name: "remote", Description: "Manages remote repositories"},
{Name: "FILES", Description: "Only reset these files"},
{Name: "unrecord", Description: "Unrecords a list of changes"},
{Name: "CHANGE_ID", Description: "The hash of a change (unambiguous prefixes are accepted)"},
},
Options: []core.Option{
{Name: "-f", Description: "Print help information"},
{Name: "-r", Description: "Applies changes to a channel"},
{Name: "--channel", Description: "Apply change to this channel"},
{Name: "--deps-only", Description: "Print help information"},
{Name: "--repository", Description: "Creates an archive of the repository"},
{Name: "--change", Description: "Apply these changes after switching to the channel"},
{Name: "-h", Description: "Print help information"},
{Name: "-k", Description: "Do not check certificates (HTTPS remotes only, this option might be dangerous)"},
{Name: "-o", Description: "Name of the output file"},
{Name: "--prefix", Description: "Append this path in front of each path inside the archive"},
{Name: "--remote", Description: "Ask the remote to send an archive"},
{Name: "--umask", Description: "Append this path in front of each path inside the archive"},
{Name: "--path", Description: "Clone this path only"},
{Name: "--state", Description: "Clone this state"},
{Name: "--json", Description: "Output the diff in JSON format instead of the default change text format"},
{Name: "--tag", Description: "Include the untracked files"},
{Name: "--description", Description: "Include full change description in the output"},
{Name: "--hash-only", Description: "Only show the change hashes"},
{Name: "--limit", Description: "Output at most this many changes"},
{Name: "--offset", Description: "Start after this many changes"},
{Name: "--output-format", Description: "Include state identifiers in the output"},
{Name: "-a", Description: "Pull all changes"},
{Name: "--full", Description: "Download full changes, even when not necessary"},
{Name: "--to-channel", Description: "Push to this remote channel instead of the remote’s default channel"},
{Name: "--amend", Description: "Amend this change instead of creating a new change"},
{Name: "--author", Description: "Set the author field"},
{Name: "--ignore-missing", Description: "Ignore missing (deleted) files"},
{Name: "-m", Description: "Set the change message"},
{Name: "--working-copy", Description: "Manages remote repositories"},
},
})
}
+70
View File
@@ -0,0 +1,70 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "rustup",
Description: "The Rust toolchain installer",
Subcommands: []core.Subcommand{
{Name: "show", Description: "Show the active and installed toolchains or profiles"},
{Name: "active-toolchain", Description: "Show the active toolchain"},
{Name: "home", Description: "Display the computed value of RUSTUP_HOME"},
{Name: "profile", Description: "Show the current profile"},
{Name: "keys", Description: "Display the known PGP keys"},
{Name: "help", Description: "Prints this message or the help of the given subcommand(s)"},
{Name: "update", Description: "Update Rust toolchains and rustup"},
{Name: "toolchain", Description: "Toolchain name. For more information see `rustup help toolchain`"},
{Name: "check", Description: "Check for updates to Rust toolchains and rustup"},
{Name: "target", Description: "Modify a toolchain's supported targets"},
{Name: "list", Description: "List installed and available targets"},
{Name: "add", Description: "Add a target to a Rust toolchain"},
{Name: "remove", Description: "Remove a target from a Rust toolchain"},
{Name: "install", Description: "Install or update a given toolchain"},
{Name: "path", Description: "Path to the directory"},
{Name: "component", Description: "Modify a toolchain's installed components"},
{Name: "override", Description: "Modify directory toolchain overrides"},
{Name: "set", Description: "Set the override toolchain for a directory"},
{Name: "run", Description: "Run a command with an environment configured for a given toolchain"},
{Name: "which", Description: "Display which binary will be run for a given command"},
{Name: "doc", Description: "Open the documentation for the current toolchain"},
{Name: "man", Description: "View the man page for a given command"},
{Name: "self", Description: "Modify the rustup installation"},
{Name: "uninstall", Description: "Uninstall rustup"},
{Name: "upgrade-data", Description: "Upgrade the internal data format"},
{Name: "auto-self-update", Description: "The rustup auto self update mode"},
{Name: "completions", Description: "Generate tab-completion scripts for your shell"},
},
Options: []core.Option{
{Name: "-h", Description: "Prints help information"},
{Name: "--force", Description: "Force an update, even if some components are missing"},
{Name: "--force-non-host", Description: "Prints help information"},
{Name: "--no-self-update", Description: "Don't perform self update when running the `rustup update` command"},
{Name: "-V", Description: "Prints version information"},
{Name: "--toolchain", Description: "Toolchain name"},
{Name: "-t", Description: "Add specific targets on installation"},
{Name: "-c", Description: "Add specific components on installation"},
{Name: "--profile", Description: "Allow rustup to downgrade the toolchain to satisfy your component choice"},
{Name: "--install", Description: "Install the requested toolchain if needed"},
{Name: "--alloc", Description: "The Rust core allocation and collections library"},
{Name: "--book", Description: "The Rust Programming Language book"},
{Name: "--cargo", Description: "The Cargo Book"},
{Name: "--core", Description: "The Rust Core Library"},
{Name: "--edition-guide", Description: "The Rust Edition Guide"},
{Name: "--embedded-book", Description: "The Embedded Rust Book"},
{Name: "--nomicon", Description: "The Dark Arts of Advanced and Unsafe Rust Programming"},
{Name: "--path", Description: "Only print the path to the documentation"},
{Name: "--proc_macro", Description: "A support library for macro authors when defining new macros"},
{Name: "--reference", Description: "The Rust Reference"},
{Name: "--rust-by-example", Description: "The compiler for the Rust programming language"},
{Name: "--rustdoc", Description: "Generate documentation for Rust projects"},
{Name: "--std", Description: "Standard library API documentation"},
{Name: "--test", Description: "Support code for rustc's built in unit-test and micro-benchmarking framework"},
{Name: "--unstable-book", Description: "--unstable-book"},
{Name: "-q", Description: "Disable progress output"},
{Name: "-v", Description: "Enable verbose output"},
},
})
}
+47
View File
@@ -0,0 +1,47 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "taplo",
Description: "Set color values for the output",
Subcommands: []core.Subcommand{
{Name: "config", Description: "Operations with the Taplo config file"},
{Name: "default", Description: "Print the default `.taplo.toml` configuration file"},
{Name: "help", Description: "Print this message or the help of the given subcommand(s)"},
{Name: "schema", Description: "Print the JSON schema of the `.taplo.toml` configuration file"},
{Name: "format", Description: "Format TOML documents"},
{Name: "FILES ...", Description: "Paths or glob patterns to TOML documents"},
{Name: "f", Description: "Force formatting of files"},
{Name: "get", Description: "Extract a value from the given TOML document"},
{Name: "lint", Description: "Lint a TOML documents"},
{Name: "lsp", Description: "Language server operations"},
{Name: "stdio", Description: "Run the language server over the standard input and output"},
{Name: "tcp", Description: "Run the language server and listen on a TCP address"},
},
Options: []core.Option{
{Name: "--colors", Description: "Set color values for the output"},
{Name: "--verbose", Description: "Enable verbose logging format"},
{Name: "--log-spans", Description: "Enable logging spans"},
{Name: "--help", Description: "Print help information for config"},
{Name: "--config", Description: "Path to the Taplo configuration file"},
{Name: "--cache-path", Description: "Set a cache path"},
{Name: "--check", Description: "Report any files that are not correctly formatted"},
{Name: "--diff", Description: "Print the differences in patch formatting to `stdout`"},
{Name: "--no-auto-config", Description: "Do not search for a configuration file"},
{Name: "--option", Description: "A formatter option given as a 'key=value', can be set multiple times"},
{Name: "--stdin-filepath", Description: "A path to the file that the taplo will treat like stdin"},
{Name: "--file-path", Description: "Path to the TOML document"},
{Name: "-o", Description: "The format specifying how the output is printed"},
{Name: "--strip-newline", Description: "Strip the trailing newline from the output"},
{Name: "--default-schema-catalogs", Description: "Use the default online catalogs for schemas"},
{Name: "--no-schema", Description: "Disable all schema validation"},
{Name: "--schema", Description: "URL to the schema to be used for validation"},
{Name: "--schema-catalog", Description: "URL to the schema catalog to be used for validation"},
{Name: "--version", Description: "Print version information for taplo"},
},
})
}
+27
View File
@@ -0,0 +1,27 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "tokei",
Description: "Count your code, quickly",
Options: []core.Option{
{Name: "-f", Description: "Will print out statistics on individual files"},
{Name: "-h", Description: "Prints help information"},
{Name: "--hidden", Description: "Count hidden files"},
{Name: "-l", Description: "Prints out supported languages and their extensions"},
{Name: "--no-ignore", Description: "Don't respect ignore files (.gitignore, .ignore, etc.)"},
{Name: "--no-ignore-dot", Description: "Don't respect ignore files (.gitignore, .ignore, etc.) in parent directories"},
{Name: "--no-ignore-vcs", Description: "Prints version information"},
{Name: "-v", Description: "Set log output level:"},
{Name: "-c", Description: "Sets a strict column width of the output, only available for terminal output"},
{Name: "-e", Description: "Ignore all files & directories matching the pattern"},
{Name: "-i", Description: "Outputs Tokei in a specific format"},
{Name: "-s", Description: "Sort languages based on column"},
{Name: "-t", Description: "Filters output by language type, separated by a comma. i.e. -t=Rust,Markdown"},
},
})
}
+55
View File
@@ -0,0 +1,55 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "trunk",
Description: "Run on all files instead of only changed files",
Subcommands: []core.Subcommand{
{Name: "init", Description: "Setup trunk in this repo"},
{Name: "check", Description: "Universal code checker"},
{Name: "upgrade", Description: "Upgrade all linters to latest versions"},
{Name: "linters", Description: "Linter(s) to upgrade (upgrades all if none specified)"},
{Name: "download", Description: "Download all files needed for trunk to work offline"},
{Name: "tools", Description: "Tool(s) to download (if omitted, downloads all configured tools)"},
{Name: "enable", Description: "Enable linters"},
{Name: "disable", Description: "Disable linters"},
{Name: "fmt", Description: "Universal code formatter"},
{Name: "git-hooks", Description: "Git hooks"},
{Name: "install", Description: "Install trunk git hooks"},
{Name: "cache", Description: "Cache management"},
{Name: "clean", Description: "Clean the cache"},
{Name: "print-config", Description: "Print the resolved trunk config"},
{Name: "daemon", Description: "Daemon management"},
{Name: "launch", Description: "Start the trunk daemon if its not already running"},
{Name: "shutdown", Description: "Shutdown the trunk daemon if it is running"},
{Name: "status", Description: "Report daemon status"},
},
Options: []core.Option{
{Name: "-a", Description: "Run on all files instead of only changed files"},
{Name: "-n", Description: "Don't automatically apply fixes"},
{Name: "--include-existing-autofixes", Description: "Show autofixes for existing issues"},
{Name: "--force", Description: "Run on all files, even if ignored"},
{Name: "--diff", Description: "Diff printing mode"},
{Name: "--filter", Description: "Shorthand for an inverse --filter"},
{Name: "-j", Description: "Number of concurrent jobs (does not affect background linting)"},
{Name: "--sample", Description: "Run each linter on N files (implies --no-fix and --all if no paths are given)"},
{Name: "--upstream", Description: "Upstream branch used to compute changed files (autodetected by default)"},
{Name: "--lock", Description: "Add sha256s to trunk.yaml for additional verification"},
{Name: "--check-sample", Description: "Run `trunk check sample` without prompting"},
{Name: "--nocheck-sample", Description: "Do not run `trunk check sample` post-init"},
{Name: "-y", Description: "Automatically apply all fixes without prompting"},
{Name: "--all", Description: "Delete all files (including results cache)"},
{Name: "-h", Description: "Usage information"},
{Name: "--version", Description: "The version"},
{Name: "-m", Description: "Enable the trunk daemon to monitor file changes in your repo"},
{Name: "--ci", Description: "Run in continuous integration mode"},
{Name: "-o", Description: "Output format"},
{Name: "--no-progress", Description: "Don't show progress updates"},
{Name: "--ci-progress", Description: "Output details about what's happening under the hood"},
},
})
}
+36
View File
@@ -0,0 +1,36 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "wasm-bindgen",
Description: "Generate bindings between WebAssembly and JavaScript",
Options: []core.Option{
{Name: "--help", Description: "Show help for wasm-bindgen"},
{Name: "--version", Description: "Show version for wasm-bindgen"},
{Name: "--out-dir", Description: "Output directory"},
{Name: "--out-name", Description: "Set a custom output filename (Without extension. Defaults to crate name)"},
{Name: "--target", Description: "What type of output to generate"},
{Name: "--no-modules-global", Description: "Name of global to assign generated bindings to"},
{Name: "--browser", Description: "Hint that JS should only be compatible with a browser"},
{Name: "--typescript", Description: "Output a TypeScript definition file (on by default)"},
{Name: "--no-typescript", Description: "Don't emit a *.d.ts file"},
{Name: "--omit-imports", Description: "Don't emit imports in generated JavaScript"},
{Name: "--debug", Description: "Include otherwise-extraneous debug checks in output"},
{Name: "--no-demangle", Description: "Don't demangle Rust symbol names"},
{Name: "--keep-debug", Description: "Keep debug sections in wasm files"},
{Name: "--remove-name-section", Description: "Remove the debugging `name` section of the file"},
{Name: "--remove-producers-section", Description: "Remove the telemetry `producers` section"},
{Name: "--omit-default-module-path", Description: "Don't add WebAssembly fallback imports in generated JavaScript"},
{Name: "--encode-into", Description: "Whether or not to use TextEncoder#encodeInto()"},
{Name: "--nodejs", Description: "Deprecated, use `--target nodejs`"},
{Name: "--web", Description: "Deprecated, use `--target web`"},
{Name: "--no-modules", Description: "Deprecated, use `--target no-modules`"},
{Name: "--weak-refs", Description: "Enable usage of the JS weak references proposal"},
{Name: "--reference-types", Description: "Enable usage of WebAssembly reference types"},
},
})
}
+23
View File
@@ -0,0 +1,23 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "wasm-pack",
Description: "Build an npm package",
Subcommands: []core.Subcommand{
{Name: "help", Description: "Prints this message or the help of the given subcommand(s)"},
{Name: "test", Description: "Run tests for WebAssembly module"},
},
Options: []core.Option{
{Name: "--help", Description: "Show help for wasm-pack or for the given subcommand(s)"},
{Name: "--quiet", Description: "Suppress output from stdout"},
{Name: "--version", Description: "Show version for wasm-pack"},
{Name: "--verbose", Description: "Log verbosity is based off the number of v used"},
{Name: "--log-level", Description: "The maximum level of messages that should be logged by wasm-pack"},
},
})
}
+54
View File
@@ -0,0 +1,54 @@
package rust
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "zellij",
Description: "Change where zellij looks for the configuration file",
Options: []core.Option{
{Name: "-c", Description: "Change where zellij looks for the configuration file"},
{Name: "--config-dir", Description: "Change where zellij looks for the configuration directory"},
{Name: "-d", Description: "Specify emitting additional debug information"},
{Name: "--data-dir", Description: "Change where zellij looks for plugins"},
{Name: "-h", Description: "Print help information"},
{Name: "-l", Description: "Maximum panes on screen, caution: opening more panes will close old ones"},
{Name: "-n", Description: "Specify name of a new session"},
{Name: "-V", Description: "Print version information"},
{Name: "-b", Description: "Create a detached session in the background if one does not exist"},
{Name: "-f", Description: "If resurrecting a dead session, immediately run all its commands on startup"},
{Name: "--index", Description: "Number of the session index in the active sessions ordered creation date"},
{Name: "-y", Description: "Automatic yes to prompts"},
{Name: "--cwd", Description: "Change the working directory of the editor"},
{Name: "--height", Description: "Open the new pane in place of the current pane, temporarily suspending it"},
{Name: "--width", Description: "The width if the pane is floating as a bare integer (eg. 1) or percent (eg. 10%)"},
{Name: "-x", Description: "Print this message or the help of the given subcommand(s)"},
{Name: "-r", Description: "List the sessions in reverse order"},
{Name: "-s", Description: "Print just the session name"},
{Name: "--attach-to-session", Description: "Whether to attach to a session specified in 'session-name' if it exists"},
{Name: "--auto-layout", Description: "Whether to lay out panes in a predefined set of layouts whenever possible"},
{Name: "--copy-clipboard", Description: "OSC52 destination clipboard"},
{Name: "--copy-command", Description: "Switch to using a user supplied command for clipboard instead of OSC52"},
{Name: "--copy-on-select", Description: "Automatically copy when selecting text (true or false)"},
{Name: "--default-cwd", Description: "Set the default cwd"},
{Name: "--default-layout", Description: "Set the default layout"},
{Name: "--default-mode", Description: "Set the default mode"},
{Name: "--default-shell", Description: "Set the default shell"},
{Name: "--disable-mouse-mode", Description: "Disable handling of mouse events"},
{Name: "--disable-session-metadata", Description: "If true, will disable writing session metadata to disk"},
{Name: "--layout-dir", Description: "Set the layout_dir, defaults to subdirectory of config dir"},
{Name: "--mirror-session", Description: "Mirror session when multiple users are connected"},
{Name: "--mouse-mode", Description: "Disable display of pane frames"},
{Name: "--on-force-close", Description: "Set behaviour on force close (quit or detach)"},
{Name: "--pane-frames", Description: "Set display of the pane frames (true or false)"},
{Name: "--scroll-buffer-size", Description: "Explicit full path to open the scrollback editor (default is $EDITOR or $VISUAL)"},
{Name: "--serialize-pane-viewport", Description: "Whether pane viewports are serialized along with the session, default is false"},
{Name: "--session-name", Description: "The name of the session to create when starting Zellij"},
{Name: "--session-serialization", Description: "Whether sessions should be serialized to the HD"},
{Name: "--simplified-ui", Description: "Allow plugins to use a more simplified layout that is compatible with more fonts"},
{Name: "--styled-underlines", Description: "Whether to use ANSI styled underlines"},
},
})
}