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
+106
View File
@@ -0,0 +1,106 @@
package runner
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "gem",
Description: "Use HTTP proxy for remote operations",
Subcommands: []core.Subcommand{
{Name: "help", Description: "Help about any command"},
{Name: "install", Description: "Install a gem into the local repository"},
{Name: "PLATFORM", Description: "The platform of gem"},
{Name: "cert", Description: "Manage RubyGems certificates and signing settings"},
{Name: "CERT", Description: "The trusted certificate"},
{Name: "FILTER", Description: "The filter"},
{Name: "EMAIL_ADDR", Description: "The email address"},
{Name: "KEY", Description: "The key"},
{Name: "ALGORITHM", Description: "The algorithm"},
{Name: "NUMBER_OF_DAYS", Description: "The number of days"},
{Name: "check", Description: "Check a gem repository for added or missing files"},
{Name: "VERSION", Description: "The version of the gem"},
{Name: "cleanup", Description: "Clean up old versions of installed gems"},
{Name: "GEMNAME", Description: "Name of gem to cleanup"},
{Name: "contents", Description: "Display the contents of the installed gems"},
{Name: "dependency", Description: "Show the dependencies of an installed gem"},
{Name: "REGEXP", Description: "Show dependencies for gems whose names start with REGEXP"},
{Name: "environment", Description: "Display information about the RubyGems environment"},
{Name: "home", Description: "Display the path where gems are installed. Aliases: gemhome, gemdir, GEM_HOME"},
{Name: "path", Description: "Display path used to search for gems. Aliases: gempath, GEM_PATH"},
{Name: "version", Description: "Display the gem format version"},
{Name: "remotesources", Description: "Display the remote gem servers"},
{Name: "platform", Description: "Display the supported gem platforms"},
{Name: "fetch", Description: "Download a gem and place it in the current directory"},
{Name: "COUNT", Description: "The threshold"},
{Name: "URL", Description: "The URL"},
{Name: "generate_index", Description: "Generates the index files for a gem server directory"},
{Name: "info", Description: "Show information for the given gem"},
{Name: "lock", Description: "Generate a lockdown list of gems"},
{Name: "GEMNAME-VERSION", Description: "Name and the version of gem to lock, ex: rails-1.0.0"},
{Name: "mirror", Description: "Mirror all gem files (requires rubygems-mirror)"},
{Name: "open", Description: "Open gem sources in editor"},
{Name: "COMMAND", Description: "The prepends command to gem path"},
{Name: "query", Description: "Query gem information in local or remote repositories"},
{Name: "rdoc", Description: "Generates RDoc for pre-installed gems"},
{Name: "search", Description: "Display remote gems whose name matches REGEXP"},
{Name: "signin", Description: "Sign in to any gemcutter-compatible host. It defaults to https://rubygems.org"},
{Name: "HOST", Description: "The host"},
{Name: "CODE", Description: "The GEM host otp code"},
{Name: "signout", Description: "Sign out from all the current sessions"},
{Name: "sources", Description: "Manage the sources and cache file RubyGems uses to search for gems"},
{Name: "SOURCE_URI", Description: "The source URI"},
{Name: "specification", Description: "Display gem specification (in yaml)"},
{Name: "GEMFILE", Description: "Name of gem to show the gemspec for"},
{Name: "FIELD", Description: "Name of gemspec field to show"},
{Name: "stale", Description: "List gems along with access times"},
{Name: "unpack", Description: "Unpack an installed gem to the current directory"},
{Name: "yank", Description: "Remove a pushed gem from the index"},
{Name: "GEM", Description: "Name of gem"},
{Name: "uninstall", Description: "Uninstall gems from the local repository"},
},
Options: []core.Option{
{Name: "-p", Description: "Use HTTP proxy for remote operations"},
{Name: "--no-http-proxy", Description: "Do not use HTTP proxy for remote operations"},
{Name: "-l", Description: "Restrict operations to the LOCAL domain"},
{Name: "-r", Description: "Restrict operations to the REMOTE domain"},
{Name: "-b", Description: "Allow LOCAL and REMOTE operations"},
{Name: "-B", Description: "Threshold for switching to bulk synchronization (default 1000)"},
{Name: "--clear-sources", Description: "Clear the gem sources"},
{Name: "-s", Description: "Append URL to list of remote gem sources"},
{Name: "-i", Description: "Check for installed gem"},
{Name: "-I", Description: "Check for not installed gem"},
{Name: "-v", Description: "Specify version of gem to list for use with --installed"},
{Name: "-a", Description: "Display all gem versions"},
{Name: "-e", Description: "Name of gem(s) to query on matches the provided STRING"},
{Name: "--prerelease", Description: "Allow prerelease versions of a gem"},
{Name: "--no-prerelease", Description: "Do not allow prerelease versions of a gem"},
{Name: "--versions", Description: "Display only gem names"},
{Name: "--no-versions", Description: "Display not only gem names"},
{Name: "--host", Description: "Use another gemcutter-compatible host (e.g. https://rubygems.org)"},
{Name: "-k", Description: "Use the given API key"},
{Name: "--otp", Description: "The GEM host otp code"},
{Name: "--platform", Description: "Specify the platform of gem to install"},
{Name: "-C", Description: "Signing certificate for --sign"},
{Name: "-K", Description: "Key for --sign or --build"},
{Name: "-A", Description: "Select which key algorithm to use for --build"},
{Name: "-d", Description: "Days before the certificate expires"},
{Name: "-R", Description: "Re-signs the certificate from -C with the key from -K"},
{Name: "--no-alien", Description: "Report 'managed' or rogue files in the gem repository"},
{Name: "--doctor", Description: "Clean up uninstalled gems and broken specifications"},
{Name: "--no-doctor", Description: "Do not clean up uninstalled gems and broken specifications"},
{Name: "--dry-run", Description: "Do not remove files, only report what would be removed"},
{Name: "--no-dry-run", Description: "Remove files"},
{Name: "--gems", Description: "Check installed gems for problems"},
{Name: "--no-gems", Description: "Check not installed gems for problems"},
{Name: "-n", Description: "Do not uninstall gems"},
{Name: "-D", Description: "Check development dependencies while uninstalling (default: true)"},
{Name: "--no-check-development", Description: "Do not check development dependencies while uninstalling"},
{Name: "--user-install", Description: "Cleanup in user’s home directory instead of GEM_HOME"},
{Name: "--no-user-install", Description: "Cleanup in GEM_HOME instead of user’s home directory"},
{Name: "--all", Description: "Contents for all gems"},
{Name: "--no-lib-only", Description: "Not only return files in the Gem’s lib_dirs"},
},
})
}