Files
iris-context/commands/sys/chezmoi.go
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

100 lines
6.0 KiB
Go

package sys
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "chezmoi",
Description: "Attribute modifier",
Subcommands: []spec.Subcommand{
{Name: "manage", Description: "Add an existing file, directory, or symlink to the source state"},
{Name: "apply", Description: "Update the destination directory to match the target state"},
{Name: "archive", Description: "Generate a tar archive of the target state"},
{Name: "cat", Description: "Print the target contents of a file, script, or symlink"},
{Name: "cd", Description: "Launch a shell in the source directory"},
{Name: "chattr", Description: "Change the attributes of a target in the source state"},
{Name: "completion", Description: "Generate shell completion code"},
{Name: "data", Description: "Print the template data"},
{Name: "decrypt", Description: "Decrypt file or standard input"},
{Name: "diff", Description: "Print the diff between the target state and the destination state"},
{Name: "doctor", Description: "Check your system for potential problems"},
{Name: "dump", Description: "Generate a dump of the target state"},
{Name: "edit", Description: "Edit the source state of a target"},
{Name: "edit-config", Description: "Edit the configuration file"},
{Name: "encrypt", Description: "Encrypt file or standard input"},
{Name: "execute-template", Description: "Execute the given template(s)"},
{Name: "unmanage", Description: "Remove a target from the source state"},
{Name: "git", Description: "Run git in the source directory"},
{Name: "ignored", Description: "Print ignored targets"},
{Name: "import", Description: "Import an archive into the source state"},
{Name: "license", Description: "Print license"},
{Name: "list", Description: "List the managed entries in the destination directory"},
{Name: "merge-all", Description: "Perform a three-way merge for each modified file"},
{Name: "purge", Description: "Purge chezmoi's configuration and data"},
{Name: "re-add", Description: "Re-add modified files"},
{Name: "rm", Description: "Remove a target from the source state and the destination directory"},
{Name: "secret", Description: "Interact with a secret manager"},
{Name: "keyring", Description: "Interact with keyring"},
{Name: "delete", Description: "Delete a value from keyring"},
{Name: "get", Description: "Get a value from keyring"},
{Name: "set", Description: "Set a value in keyring"},
{Name: "source-path", Description: "Print the source path of a target"},
{Name: "state", Description: "Manipulate the persistent state"},
{Name: "delete-bucket", Description: "Delete a bucket from the persistent state"},
{Name: "get-bucket", Description: "Get a bucket from the persistent state"},
{Name: "reset", Description: "Reset the persistent state"},
{Name: "status", Description: "Show the status of targets"},
{Name: "target-path", Description: "Print the target path of a source path"},
{Name: "unmanaged", Description: "List the unmanaged files in the destination directory"},
{Name: "update", Description: "Pull and apply any changes"},
{Name: "upgrade", Description: "Upgrade chezmoi to the latest released version"},
{Name: "help", Description: "Help about any command"},
{Name: "generate", Description: "Generate a file for use with chezmoi"},
},
Options: []spec.Option{
{Name: "--autotemplate", Description: "Generate the template when adding files as templates"},
{Name: "--create", Description: "Add files that should exist, irrespective of their contents"},
{Name: "--encrypt", Description: "Encrypt files"},
{Name: "--exact", Description: "Add directories exactly"},
{Name: "--exclude", Description: "Exclude entry types"},
{Name: "--follow", Description: "Add symlink targets instead of symlinks"},
{Name: "--include", Description: "Include entry types"},
{Name: "--prompt", Description: "Prompt before adding each entry"},
{Name: "--recursive", Description: "Recurse into subdirectories"},
{Name: "--template", Description: "Add files as templates"},
{Name: "--template-symlinks", Description: "Add symlinks with target in source or home dirs as templates"},
{Name: "--init", Description: "Recreate config file from template"},
{Name: "--format", Description: "Set archive format"},
{Name: "--gzip", Description: "Compress output with gzip"},
{Name: "--pager", Description: "Set pager"},
{Name: "--reverse", Description: "Reverse the direction of the diff"},
{Name: "--use-builtin-diff", Description: "Use the builtin diff"},
{Name: "--apply", Description: "Apply after editing"},
{Name: "--hardlink", Description: "Invoke editor with a hardlink to the source file"},
{Name: "--promptBool", Description: "Simulate promptBool"},
{Name: "--promptInt", Description: "Simulate promptInt"},
{Name: "--promptString", Description: "Simulate promptString"},
{Name: "--stdinisatty", Description: "Simulate stdinIsATTY"},
{Name: "--remove-destination", Description: "Remove destination before import"},
{Name: "--strip-components", Description: "Strip leading path components"},
{Name: "--branch", Description: "Set initial branch to checkout"},
{Name: "--config-path", Description: "Path to write generated config file"},
{Name: "--data", Description: "Include existing template data"},
{Name: "--depth", Description: "Create a shallow clone"},
{Name: "--guess-repo-url", Description: "Guess the repo URL"},
{Name: "--one-shot", Description: "Run in one-shot mode"},
{Name: "--purge", Description: "Purge config and source directories after running"},
{Name: "--purge-binary", Description: "Purge chezmoi binary after running"},
{Name: "--ssh", Description: "Use ssh instead of https when guessing dotfile repo URL"},
{Name: "--binary", Description: "Purge chezmoi binary"},
{Name: "--service", Description: "Service"},
{Name: "--user", Description: "User"},
{Name: "--value", Description: "Value"},
{Name: "--bucket", Description: "Bucket"},
{Name: "--key", Description: "Key"},
},
})
}