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
+44
View File
@@ -0,0 +1,44 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "broot",
Description: "Show the last modified date of files and directories",
Options: []core.Option{
{Name: "--dates", Description: "Show the last modified date of files and directories"},
{Name: "--no-dates", Description: "Don't show the last modified date"},
{Name: "--only-folders", Description: "Only show folders"},
{Name: "--no-only-folders", Description: "Show folders and files alike"},
{Name: "--show-root-fs", Description: "Show filesystem info on top"},
{Name: "--show-git-info", Description: "Show git statuses on files and stats of repository"},
{Name: "--no-show-git-info", Description: "Don't show git statuses on files nor stats"},
{Name: "--git-status", Description: "Only show files having an interesting git status, including hidden ones"},
{Name: "--hidden", Description: "Show hidden files"},
{Name: "--no-hidden", Description: "Don't show hidden files"},
{Name: "--show-gitignored", Description: "Show files which should be ignored according to git"},
{Name: "--no-show-gitignored", Description: "Don't show gitignored files"},
{Name: "--permissions", Description: "Show permissions with owner and group"},
{Name: "--no-permissions", Description: "Don't show permissions"},
{Name: "--sizes", Description: "Don't show sizes"},
{Name: "--sort-by-count", Description: "Sort by count (only show one level of the tree)"},
{Name: "--sort-by-date", Description: "Sort by date (only show one level of the tree)"},
{Name: "--sort-by-size", Description: "Sort by size (only show one level of the tree)"},
{Name: "--whale-spotting", Description: "Sort by size, show ignored and hidden files"},
{Name: "--no-sort", Description: "Don't sort"},
{Name: "--trim-root", Description: "Install or reinstall the br shell function"},
{Name: "--get-root", Description: "Ask for the current root of the remote broot"},
{Name: "--color", Description: "Prints a help page, with more or less the same content as this man page"},
{Name: "--version", Description: "Prints the version of broot"},
{Name: "--outcmd", Description: "Where to write a command if broot produces one"},
{Name: "--cmd", Description: "Semicolon separated commands to execute on start of broot"},
{Name: "--conf", Description: "Semicolon separated paths to specific config files"},
{Name: "--height", Description: "Where to write the produced path, if any"},
{Name: "--set-install-state", Description: "Listen for commands"},
{Name: "--send", Description: "Send commands to a remote broot then quits"},
},
})
}
+22
View File
@@ -0,0 +1,22 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "df",
Description: "Display free disk space",
Options: []core.Option{
{Name: "-a", Description: "Show all mount points"},
{Name: "-b", Description: "Use 512-byte blocks (default)"},
{Name: "-g", Description: "Use 1073741824-byte (1-Gbyte) blocks"},
{Name: "-m", Description: "Use 1048576-byte (1-Mbyte) blocks"},
{Name: "-k", Description: "Use 1024-byte (1-Kbyte) blocks"},
{Name: "-H", Description: "Include the number of free inodes"},
{Name: "-l", Description: "Only display information about locally-mounted filesystems"},
{Name: "-n", Description: "Print out the previously obtained statistics"},
},
})
}
+31
View File
@@ -0,0 +1,31 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "dust",
Description: "Like du but more intuitive",
Options: []core.Option{
{Name: "--help", Description: "Show help for dust"},
{Name: "--version", Description: "Print version information"},
{Name: "--no-percent-bars", Description: "No percent bars or percentages will be displayed"},
{Name: "--no-colors", Description: "No colors will be printed (Useful for commands like: watch)"},
{Name: "--depth", Description: "Depth to show"},
{Name: "--filter", Description: "Directory 'size' is number of child files/dirs not disk size"},
{Name: "--si", Description: "Print sizes in powers of 1000 (e.g., 1.1G)"},
{Name: "--ignore_hidden", Description: "Do not display hidden files"},
{Name: "--number-of-lines", Description: "Number of lines of output to show. (Default is terminal_height - 10)"},
{Name: "--full-paths", Description: "Subdirectories will not have their path shortened"},
{Name: "--reverse", Description: "Print tree upside down (biggest highest)"},
{Name: "--apparent-size", Description: "Use file length instead of blocks"},
{Name: "--skip-total", Description: "No total row will be displayed"},
{Name: "--file_types", Description: "Show only these file types"},
{Name: "--invert-filter", Description: "Specify width of output overriding the auto detection of terminal width"},
{Name: "--limit-filesystem", Description: "Exclude any file or directory with this name"},
{Name: "--min-size", Description: "Minimum size file to include in output"},
},
})
}
+12
View File
@@ -0,0 +1,12 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "exa",
Description: "A modern replacement for ls",
})
}
+54
View File
@@ -0,0 +1,54 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "eza",
Description: "A modern replacement for ls",
Options: []core.Option{
{Name: "-?", Description: "Show list of command-line options"},
{Name: "-v", Description: "Show version of eza"},
{Name: "-1", Description: "Display one entry per line"},
{Name: "-l", Description: "Display extended file metadata as a table"},
{Name: "-G", Description: "Display entries as a grid (default)"},
{Name: "-x", Description: "Sort the grid across, rather than downward"},
{Name: "-R", Description: "Recurse into directories"},
{Name: "-T", Description: "Recurse into directories as a tree"},
{Name: "-X", Description: "Dereference symbolic links when displaying information"},
{Name: "-F", Description: "Display type indicator by file names"},
{Name: "--color", Description: "When to use terminal colours"},
{Name: "--color-scale", Description: "Highlight levels of 'field' distinctly"},
{Name: "--color-scale-mode", Description: "Use gradient or fixed colors in --color-scale"},
{Name: "--icons", Description: "When to display icons"},
{Name: "--no-quotes", Description: "Don't quote file names with spaces"},
{Name: "--hyperlink", Description: "Display entries as hyperlinks"},
{Name: "--absolute", Description: "Display entries with their absolute path"},
{Name: "--follow-symlinks", Description: "Drill down into symbolic links that point to directories"},
{Name: "-w", Description: "Set screen width in columns"},
{Name: "-a", Description: "Show hidden and 'dot' files"},
{Name: "-A", Description: "Equivalent to '--all'"},
{Name: "-d", Description: "List directories like regular files"},
{Name: "-D", Description: "List only directories"},
{Name: "-f", Description: "List only files"},
{Name: "--show-symlinks", Description: "Explicitly show symbolic links"},
{Name: "--no-symlinks", Description: "Do not show symbolic links"},
{Name: "-L", Description: "Limit the depth of recursion"},
{Name: "-r", Description: "Reverse the sort order"},
{Name: "-s", Description: "Which field to sort by"},
{Name: "--group-directories-first", Description: "List directories before other files"},
{Name: "--group-directories-last", Description: "List directories after other files"},
{Name: "-I", Description: "Glob patterns (pipe-separated) of files to ignore"},
{Name: "--git-ignore", Description: "Ignore files mentioned in '.gitignore'"},
{Name: "-b", Description: "List file sizes with binary prefixes"},
{Name: "-B", Description: "List file sizes in bytes, without any prefixes"},
{Name: "-g", Description: "List each file's group"},
{Name: "--smart-group", Description: "Only show group if it has a different name from owner"},
{Name: "-h", Description: "Add a header row to each column"},
{Name: "-H", Description: "List each file's number of hard links"},
{Name: "-i", Description: "List each file's inode number"},
},
})
}
+18
View File
@@ -0,0 +1,18 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "find",
Description: "Walk a file hierarchy",
Options: []core.Option{
{Name: "-E", Description: "Permit find to be safely used in conjunction with xargs"},
{Name: "-d", Description: "Cause find to perform a depth-first traversal"},
{Name: "-f", Description: "Specify a file hierarch for find to traverse"},
{Name: "-s", Description: "Cause find to traverse the file hierarchies in lexicographical order"},
},
})
}
+15
View File
@@ -0,0 +1,15 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "fold",
Description: "Fold long lines for finite width output device",
Options: []core.Option{
{Name: "-b", Description: "File(s) to fold"},
},
})
}
+43
View File
@@ -0,0 +1,43 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "lsd",
Description: "An ls command with a lot of pretty colors and some other stuff",
Options: []core.Option{
{Name: "-1", Description: "Display one entry per line"},
{Name: "-A", Description: "Do not list implied . and"},
{Name: "-a", Description: "Do not ignore entries starting with"},
{Name: "-d", Description: "Append indicator (one of */=>@|) at the end of the file names"},
{Name: "-h", Description: "For ls compatibility purposes ONLY, currently set by default"},
{Name: "-i", Description: "Display the index number of each file"},
{Name: "-L", Description: "Display the extended file metadata as a table"},
{Name: "-R", Description: "Recurse into directories"},
{Name: "-r", Description: "Reverse the order of the sort"},
{Name: "-S", Description: "Sort by size"},
{Name: "-t", Description: "Sort by time modified"},
{Name: "-v", Description: "Natural sort of (version) numbers within text"},
{Name: "--classic", Description: "Enable classic mode (no colors or icons)"},
{Name: "-X", Description: "Sort by file extension"},
{Name: "--help", Description: "Prints help information"},
{Name: "--ignore-config", Description: "Ignore the configuration file"},
{Name: "--no-symlink", Description: "Do not display symlink target"},
{Name: "--total-size", Description: "Display the total size of directories"},
{Name: "--tree", Description: "Recurse into directories and present the result as a tree"},
{Name: "-V", Description: "Prints version information"},
{Name: "--blocks", Description: "Specify the blocks that will be displayed and in what order"},
{Name: "--color", Description: "When to use terminal colours"},
{Name: "--date", Description: "How to display date"},
{Name: "--depth", Description: "Stop recursing into directories after reaching depth"},
{Name: "--group-dirs", Description: "Sort the directories then the files"},
{Name: "--icon", Description: "When to print the icons"},
{Name: "--icon-theme", Description: "Whether to use fancy or unicode icons"},
{Name: "--ignore-glob", Description: "How to display size"},
{Name: "--sort", Description: "Sort by WORD instead of name"},
},
})
}
+75
View File
@@ -0,0 +1,75 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "paper",
Description: "The Paper CLI",
Subcommands: []core.Subcommand{
{Name: "bench", Description: "Benchmark a Paper query"},
{Name: "build", Description: "Build an Paper bundle"},
{Name: "check", Description: "Check Paper source files"},
{Name: "completion", Description: "Generate the autocompletion script for the specified shell"},
{Name: "bash", Description: "Generate the autocompletion script for bash"},
{Name: "fish", Description: "Generate the autocompletion script for fish"},
{Name: "powershell", Description: "Generate the autocompletion script for powershell"},
{Name: "zsh", Description: "Generate the autocompletion script for zsh"},
{Name: "deps", Description: "Analyze Paper query dependencies"},
{Name: "eval", Description: "Evaluate a Paper query"},
{Name: "exec", Description: "Execute against input files"},
{Name: "fmt", Description: "Format Paper source files"},
{Name: "inspect", Description: "Inspect Paper bundle(s)"},
{Name: "parse", Description: "Parse Paper source file"},
{Name: "run", Description: "Start Paper in interactive or server mode"},
{Name: "sign", Description: "Generate an Paper bundle signature"},
{Name: "test", Description: "Execute Paper test cases"},
{Name: "version", Description: "Print the version of Paper"},
{Name: "help", Description: "Help about any command"},
},
Options: []core.Option{
{Name: "--benchmem", Description: "Report memory allocations with benchmark results"},
{Name: "--bundle", Description: "Set bundle file(s) or directory path(s). This flag can be repeated"},
{Name: "--count", Description: "Number of times to repeat each benchmark"},
{Name: "--data", Description: "Set policy or data file(s). This flag can be repeated"},
{Name: "--fail", Description: "Exits with non-zero exit code on undefined/empty result and errors"},
{Name: "--format", Description: "Set output format"},
{Name: "--ignore", Description: "Set query import(s). This flag can be repeated"},
{Name: "--input", Description: "Set input file path"},
{Name: "--metrics", Description: "Report query performance metrics"},
{Name: "--package", Description: "Set query package"},
{Name: "--partial", Description: "Perform partial evaluation"},
{Name: "--schema", Description: "Set schema file path or directory path"},
{Name: "--stdin", Description: "Read query from stdin"},
{Name: "--stdin-input", Description: "Read input document from stdin"},
{Name: "--target", Description: "Set the runtime to exercise"},
{Name: "--unknowns", Description: "Set paths to treat as unknown during partial evaluation"},
{Name: "--help", Description: "Help for bench"},
{Name: "--capabilities", Description: "Set capabilities.json file path"},
{Name: "--debug", Description: "Enable debug output"},
{Name: "--entrypoint", Description: "Set slash separated entrypoint path"},
{Name: "--exclude-files-verify", Description: "Set file names to exclude during bundle verification"},
{Name: "--output", Description: "Set the output filename"},
{Name: "--revision", Description: "Set output bundle revision"},
{Name: "--scope", Description: "Scope to use for bundle signature verification"},
{Name: "--signing-alg", Description: "Name of the signing algorithm"},
{Name: "--signing-key", Description: "Set the output bundle target type"},
{Name: "--verification-key", Description: "Name assigned to the verification key used for bundle verification"},
{Name: "--strict", Description: "Enable compiler strict mode"},
{Name: "--no-descriptions", Description: "Disable completion descriptions"},
{Name: "--coverage", Description: "Report coverage"},
{Name: "--disable-early-exit", Description: "Disable 'early exit' optimizations"},
{Name: "--disable-indexing", Description: "Disable indexing optimizations"},
{Name: "--disable-inlining", Description: "Set paths of documents to exclude from inlining"},
{Name: "--explain", Description: "Enable query explanations"},
{Name: "--fail-defined", Description: "Exits with non-zero exit code on defined/non-empty result and errors"},
{Name: "--instrument", Description: "Enable query instrumentation metrics (implies --metrics)"},
{Name: "--pretty-limit", Description: "Set limit after which pretty output gets truncated"},
{Name: "--profile", Description: "Perform expression profiling"},
{Name: "--profile-limit", Description: "Set number of profiling results to show"},
{Name: "--profile-sort", Description: "Set sort order of expression profiler results"},
},
})
}
+106
View File
@@ -0,0 +1,106 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "rclone",
Description: "Only list directories",
Subcommands: []core.Subcommand{
{Name: "about", Description: "Get quota information from the remote"},
{Name: "authorize", Description: "Remote authorization"},
{Name: "backend", Description: "Run a backend specific command"},
{Name: "cat", Description: "Concatenates any files and sends them to stdout"},
{Name: "check", Description: "Checks the files in the source and destination match"},
{Name: "cleanup", Description: "Clean up the remote if possible"},
{Name: "config", Description: "Enter an interactive configuration session"},
{Name: "create", Description: "Create a new remote with name, type and options"},
{Name: "copy", Description: "Copy files from source to dest, skipping already copied"},
{Name: "copyto", Description: "Copy files from source to dest, skipping already copied"},
{Name: "copyurl", Description: "Copy url content to dest"},
{Name: "cryptcheck", Description: "Cryptcheck checks the integrity of a crypted remote"},
{Name: "cryptdecode", Description: "Cryptdecode returns unencrypted file names"},
{Name: "dedupe", Description: "Interactively find duplicate filenames and delete/rename them"},
{Name: "interactive", Description: "Interactive"},
{Name: "skip", Description: "Removes identical files then skips anything left"},
{Name: "rename", Description: "Removes identical files then renames the rest to be different"},
{Name: "list", Description: "Lists duplicate dirs and files only and changes nothing"},
{Name: "delete", Description: "Remove the files in path"},
{Name: "genautocomplete", Description: "Output completion script for a given shell"},
{Name: "gendocs", Description: "Output markdown docs for rclone to the directory supplied"},
{Name: "hashsum", Description: "Produces a hashsum file for all the objects in the path"},
{Name: "help", Description: "Show help for rclone commands, flags and backends"},
{Name: "flags", Description: "List of global flags"},
{Name: "link", Description: "Generate public link to file/folder"},
{Name: "listremotes", Description: "List all the remotes in the config file"},
{Name: "ls", Description: "List the objects in the path with size and path"},
{Name: "lsd", Description: "List all directories/containers/buckets in the path"},
{Name: "lsf", Description: "List directories and objects in remote:path formatted for parsing"},
{Name: "lsjson", Description: "List directories and objects in the path in JSON format"},
{Name: "lsl", Description: "List the objects in path with modification time, size and path"},
{Name: "md5sum", Description: "Produces an md5sum file for all the objects in the path"},
{Name: "mkdir", Description: "Make the path if it doesn't already exist"},
{Name: "mount", Description: "Mount the remote as file system on a mountpoint"},
{Name: "move", Description: "Move files from source to dest"},
{Name: "moveto", Description: "Move file or directory from source to dest"},
{Name: "ncdu", Description: "Explore a remote with a text based user interface"},
{Name: "obscure", Description: "Obscure password for use in the rclone config file"},
{Name: "purge", Description: "Remove the path and all of its contents"},
{Name: "rc", Description: "Run a command against a running rclone"},
{Name: "rcat", Description: "Copies standard input to file on remote"},
{Name: "rcd", Description: "Run rclone listening to remote control commands only"},
{Name: "rmdir", Description: "Remove the empty directory at path"},
{Name: "rmdirs", Description: "Remove empty directories under the path"},
{Name: "selfupdate", Description: "Update the rclone binary"},
{Name: "serve", Description: "Serve a remote over a protocol"},
{Name: "settier", Description: "Changes storage class/tier of objects in remote"},
{Name: "sha1sum", Description: "Produces an sha1sum file for all the objects in the path"},
{Name: "size", Description: "Prints the total size and number of objects in remote:path"},
{Name: "sync", Description: "Make source and dest identical, modifying destination only"},
},
Options: []core.Option{
{Name: "--dirs-only", Description: "Only list directories"},
{Name: "--files-only", Description: "Only list files"},
{Name: "--recursive", Description: "Recurse into the listing"},
{Name: "--combined", Description: "Make a combined report of changes to this file"},
{Name: "--differ", Description: "Report all non-matching files to this file"},
{Name: "--error", Description: "Report all files with errors (hashing or reading) to this file"},
{Name: "--match", Description: "Report all matching files to this file"},
{Name: "--missing-on-dst", Description: "Report all files missing from the destination to this file"},
{Name: "--missing-on-src", Description: "Report all files missing from the source to this file"},
{Name: "--one-way", Description: "Check one way only, source files must exist on remote"},
{Name: "--full", Description: "Full numbers instead of SI units"},
{Name: "--json", Description: "Format output as JSON"},
{Name: "--auth-no-open-browser", Description: "Do not automatically open auth link in default browser"},
{Name: "--discard", Description: "Discard the output instead of printing"},
{Name: "--count", Description: "Only print N characters. (default -1)"},
{Name: "--head", Description: "Only print the first N characters"},
{Name: "--offset", Description: "Start printing at offset N (or from end if -ve)"},
{Name: "--tail", Description: "Only print the last N characters"},
{Name: "--download", Description: "Check by downloading rather than with hash"},
{Name: "--reverse", Description: "Reverse cryptdecode, encrypts filenames"},
{Name: "--by-hash", Description: "Find identical hashes rather than names"},
{Name: "--dedupe-mode", Description: "Dedupe mode"},
{Name: "--rmdirs", Description: "Rmdirs removes empty directories but leaves root intact"},
{Name: "--base64", Description: "Output base64 encoded hashsum"},
{Name: "--expire", Description: "The amount of time that the link will be valid (default 100y)"},
{Name: "--unlink", Description: "Remove existing public link to file/folder"},
{Name: "--long", Description: "Show the type as well as names"},
{Name: "-R", Description: "List directories and objects in remote:path formatted for parsing"},
{Name: "--absolute", Description: "Put a leading / in front of path names"},
{Name: "--csv", Description: "Output in CSV format"},
{Name: "-d", Description: "Append a slash to directory names. (default true)"},
{Name: "--format", Description: "List directories and objects in the path in JSON format"},
{Name: "--encrypted", Description: "Show the encrypted names"},
{Name: "--hash", Description: "Include hashes in the output (may take longer)"},
{Name: "--hash-type", Description: "Show only this hash type (may be repeated)"},
{Name: "--no-mimetype", Description: "Don't read the mime type (can speed things up)"},
{Name: "--no-modtime", Description: "Don't read the modification time (can speed things up)"},
{Name: "--original", Description: "Show the ID of the underlying Object"},
{Name: "--version", Description: "View your current rclone version"},
{Name: "--help", Description: "Show help for rclone commands, flags and backends"},
},
})
}
+15
View File
@@ -0,0 +1,15 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "readlink",
Description: "Display file status",
Options: []core.Option{
{Name: "-f", Description: "Do not force a newline to appear at the end of each piece of output"},
},
})
}
+15
View File
@@ -0,0 +1,15 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "rmdir",
Description: "Remove directories",
Options: []core.Option{
{Name: "-p", Description: "Remove each directory of path"},
},
})
}
+18
View File
@@ -0,0 +1,18 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "stow",
Description: "Manage farms of symbolic links",
Options: []core.Option{
{Name: "-n", Description: "Set the target directory to 'DIR' instead of the parent of the stow directory"},
{Name: "-v", Description: "Ignore files ending in this Perl regex"},
{Name: "--defer", Description: "Show Stow version, and exit"},
{Name: "-h", Description: "Show Stow command syntax, and exit"},
},
})
}
+87
View File
@@ -0,0 +1,87 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "tar",
Description: "Use archive file or device ARCHIVE",
Subcommands: []core.Subcommand{
{Name: "A", Description: "Append archive to the end of another archive"},
{Name: "c", Description: "Create a new archive"},
{Name: "b", Description: "Set record size to BLOCKSx512 bytes"},
{Name: "NUMBER", Description: "The number of bytes per record"},
{Name: "H", Description: "Create archive of the given format"},
{Name: "gnu", Description: "GNU tar 1.13.x format"},
{Name: "oldgnu", Description: "GNU format as per tar <= 1.12"},
{Name: "pax", Description: "POSIX 1003.1-2001 (pax) format"},
{Name: "ustar", Description: "POSIX 1003.1-1988 (ustar) format"},
{Name: "v7", Description: "Old V7 tar format"},
{Name: "V", Description: "Create archive with volume name TEXT"},
{Name: "failed-read", Description: "Enables warnings about unreadable files or directories"},
{Name: "no-failed-read", Description: "Suppresses warnings about unreadable files or directories"},
{Name: "o", Description: "Same as --old-archive"},
{Name: "d", Description: "Find differences between archive and file system"},
{Name: "t", Description: "List the contents of an archive"},
{Name: "r", Description: "Append files to the end of an archive"},
{Name: "u", Description: "Append files which are newer than the corresponding copy in the archive"},
{Name: "x", Description: "Extract files from an archive"},
{Name: "k", Description: "Don't replace existing files when extracting"},
{Name: "U", Description: "Remove each file prior to extracting over it"},
{Name: "O", Description: "Extract files to standard output"},
{Name: "m", Description: "Don't extract file modified time"},
{Name: "p", Description: "Extract information about file permissions"},
{Name: "s", Description: "Sort names to extract to match archive"},
{Name: "unknown-cast", Description: "\\"},
{Name: "no-unknown-cast", Description: "No \\"},
{Name: "unknown-keyword", Description: "\\"},
{Name: "no-unknown-keyword", Description: "No \\"},
{Name: "bad-dumpdir", Description: "\\"},
{Name: "?", Description: "Display a short option summary and exit"},
},
Options: []core.Option{
{Name: "--force-local", Description: "Archive file is local even if it has a colon"},
{Name: "--rmt-command", Description: "Use COMMAND instead of rmt when accessing remote archives"},
{Name: "--rsh-command", Description: "Use COMMAND instead of rsh when accessing remote archives"},
{Name: "--volno-file", Description: "Use archive suffix to determine the compression program"},
{Name: "--lzip", Description: "Filter the archive through lzip"},
{Name: "--lzma", Description: "Filter the archive through lzma"},
{Name: "--lzop", Description: "Filter the archive through lzop"},
{Name: "--no-auto-compress", Description: "Do not use archive suffix to determine the compression program"},
{Name: "--zstd", Description: "Filter the archive through zstd"},
{Name: "--transform", Description: "Use sed replace EXPRESSION to transform file names"},
{Name: "--checkpoint", Description: "Display progress messages every Nth record"},
{Name: "--checkpoint-action", Description: "Run ACTION on each checkpoint"},
{Name: "--full-time", Description: "Print file time to its full resolution"},
{Name: "--utc", Description: "Print file modification times in UTC"},
{Name: "--ignore-failed-read", Description: "Do not exit with nonzero on unreadable files"},
{Name: "--restrict", Description: "Disable the use of some potentially harmful options"},
{Name: "--remove-files", Description: "Remove files from disk after adding them to the archive"},
{Name: "--atime-preserve", Description: "Preserve access times on dumped files"},
{Name: "--group", Description: "Force NAME as group for added files"},
{Name: "--group-map", Description: "Read group translation map from FILE"},
{Name: "--mode", Description: "Force symbolic mode CHANGES for added files"},
{Name: "--mtime", Description: "Set mtime for added files"},
{Name: "--owner", Description: "Force NAME as owner for added files"},
{Name: "--owner-map", Description: "Read owner translation map from FILE"},
{Name: "--sort", Description: "When creating an archive, sort directory entries according to ORDER"},
{Name: "--add-file", Description: "Add FILE to the archive"},
{Name: "--exclude", Description: "Exclude files matching PATTERN"},
{Name: "--exclude-backups", Description: "Exclude backup and lock files"},
{Name: "--exclude-caches", Description: "Exclude directories containing file CACHEDIR.TAG and the file itself"},
{Name: "--exclude-caches-under", Description: "Exclude everything under directories containing CACHEDIR.TAG"},
{Name: "--exclude-ignore", Description: "Read exclusion patterns from FILE in directory before dumping"},
{Name: "--exclude-ignore-recursive", Description: "Exclude contents of directories containing FILE, except for FILE itself"},
{Name: "--exclude-tag-all", Description: "Exclude directories containing FILE"},
{Name: "--exclude-tag-under", Description: "Exclude everything under directories containing FILE"},
{Name: "--exclude-vcs", Description: "Exclude version control system directories"},
{Name: "--exclude-vcs-ignores", Description: "Exclude files that match patterns read from VCS-specific ignore files"},
{Name: "--hard-dereference", Description: "Follow hard links; archive and dump the files they refer to"},
{Name: "--one-file-system", Description: "Stay in local file system when creating archive"},
{Name: "--anchored", Description: "Patterns match file name start"},
{Name: "--ignore-case", Description: "Ignore case"},
},
})
}
+19
View File
@@ -0,0 +1,19 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "trash",
Description: "Trash, move files/folders to the trash",
Options: []core.Option{
{Name: "-v", Description: "Print verbose output while moving items"},
{Name: "-F", Description: "Use the Finder API to move items to the trash"},
{Name: "-l", Description: "List items in the trash"},
{Name: "-e", Description: "Empty the trash"},
{Name: "-s", Description: "Skips the confirmation prompt for -e and -s. CAUTION: permanently instantly"},
},
})
}
+54
View File
@@ -0,0 +1,54 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "tree",
Description: "Display directories as trees (with optional color/HTML output)",
Options: []core.Option{
{Name: "-a", Description: "All files are listed"},
{Name: "-d", Description: "List directories only"},
{Name: "-l", Description: "Follow symbolic links like directories"},
{Name: "-f", Description: "Print the full path prefix for each file"},
{Name: "-x", Description: "Stay on current filesystem only"},
{Name: "-L", Description: "Descend only level directories deep"},
{Name: "-R", Description: "Rerun tree when max dir level reached"},
{Name: "-P", Description: "List only those files that match the pattern given"},
{Name: "-I", Description: "Do not list files that match the given pattern"},
{Name: "--ignore-case", Description: "Ignore case when pattern matching"},
{Name: "--matchdirs", Description: "Include directory names in -P pattern matching"},
{Name: "--noreport", Description: "Turn off file/directory count at end of tree listing"},
{Name: "--charset", Description: "Use charset X for terminal/HTML and indentation line output"},
{Name: "--filelimit", Description: "Do not descend dirs with more than # files in them"},
{Name: "--timefmt", Description: "Print and format time according to the format <f>"},
{Name: "-o", Description: "Output to file instead of stdout"},
{Name: "-q", Description: "Print non-printable characters as '?'"},
{Name: "-N", Description: "Print non-printable characters as is"},
{Name: "-Q", Description: "Quote filenames with double quotes"},
{Name: "-p", Description: "Print the protections for each file"},
{Name: "-u", Description: "Displays file owner or UID number"},
{Name: "-g", Description: "Displays file group owner or GID number"},
{Name: "-s", Description: "Print the size in bytes of each file"},
{Name: "-h", Description: "Print the size in a more human readable way"},
{Name: "--si", Description: "Like -h but use SI units (powers of 1000) instead"},
{Name: "--du", Description: "Appends '/', '=', '*', '@', '|' or '>' as per ls -F"},
{Name: "--inodes", Description: "Print inode number of each file"},
{Name: "--device", Description: "Print device ID number to which each file belongs"},
{Name: "-v", Description: "Sort files alphanumerically by version"},
{Name: "-t", Description: "Sort files by last modification time"},
{Name: "-c", Description: "Sort files by last status change time"},
{Name: "-U", Description: "Leave files unsorted"},
{Name: "-r", Description: "Reverse the order of the sort"},
{Name: "--dirsfirst", Description: "List directories before files (-U disables)"},
{Name: "--sort", Description: "Select sort"},
{Name: "-i", Description: "Don't print indentation lines"},
{Name: "-A", Description: "Print ANSI lines graphic indentation lines"},
{Name: "-S", Description: "Print with CP437 (console) graphics indentation lines"},
{Name: "-n", Description: "Turn colorization off always (-C overrides)"},
{Name: "-C", Description: "Turn colorization on always"},
},
})
}
+15
View File
@@ -0,0 +1,15 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "unzip",
Description: "Extract compressed files in a ZIP archive",
Options: []core.Option{
{Name: "-l", Description: "List the contents of a zip file without extracting"},
},
})
}
+16
View File
@@ -0,0 +1,16 @@
package fs
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "zip",
Description: "Package and compress (archive) files into zip file",
Options: []core.Option{
{Name: "-r", Description: "Package and compress a directory and its contents, recursively"},
{Name: "-e", Description: "Archive a directory and its contents with the highest level [9] of compression"},
},
})
}