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
+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"},
},
})
}