build: add autogenerated specs

Signed-off-by: cpendery <cpendery@vt.edu>
This commit is contained in:
cpendery
2023-09-14 19:44:50 -04:00
parent 1f8f5f7561
commit ae1044cd16
659 changed files with 436398 additions and 1 deletions
+6 -1
View File
@@ -1,2 +1,7 @@
node_modules/
.fig/
.fig/
*.log
__debug_*.exe
debug.test*.exe
clac
.env*
+69
View File
@@ -0,0 +1,69 @@
package azure
import (
"context"
"encoding/json"
"log/slog"
"os/exec"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault"
"github.com/cpendery/clac/autocomplete/model"
"github.com/google/uuid"
)
type azShowAccountResponse struct {
SubscriptionName *string `json:"name,omitempty"`
}
func getActiveSubscription() *string {
output, err := exec.Command("az", "show", "account", "-o", "json").Output()
if err != nil {
slog.Error("az account information command failed", slog.String("error", err.Error()))
return nil
}
var accountInfo azShowAccountResponse
if err := json.Unmarshal(output, &accountInfo); err != nil {
slog.Error("az account information command provided invalid output", slog.String("error", err.Error()))
return nil
}
return accountInfo.SubscriptionName
}
var ListKeyVaultsGenerator = &model.Generator{
Id: uuid.New(),
Function: func() []model.TermSuggestion {
suggestions := []model.TermSuggestion{}
subscription := getActiveSubscription()
if subscription == nil {
return suggestions
}
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
slog.Error("unable to load azure default credentials", slog.String("error", err.Error()))
return suggestions
}
client, err := armkeyvault.NewVaultsClient(*subscription, cred, nil)
if err != nil {
slog.Error("unable to create new azure vaults client", slog.String("error", err.Error()))
return suggestions
}
pager := client.NewListPager(nil)
for pager.More() {
page, err := pager.NextPage(context.Background())
if err != nil {
slog.Error("unable to request new page of vaults", slog.String("error", err.Error()))
return suggestions
}
for _, vault := range page.Value {
if vault.Name != nil {
suggestions = append(suggestions, model.TermSuggestion{
Name: *vault.Name,
Description: "Azure Key Vault",
})
}
}
}
return suggestions
},
}
+268
View File
@@ -0,0 +1,268 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["act"] = model.Subcommand{
Name: []string{"act"},
Description: `Run GitHub actions locally by specifying the event name (e.g. "push") or an action name directly`,
Options: []model.Option{{
Name: []string{"--bind", "-b"},
Description: `Bind working directory to container, rather than copy`,
}, {
Name: []string{"--bug-report"},
Description: `Display system information for bug report`,
}, {
Name: []string{"--container-cap-add"},
Description: `Kernel capabilities to add to the workflow containers (e.g. --container-cap-add SYS_PTRACE)`,
Args: []model.Arg{{
Name: "container-cap-add",
}},
}, {
Name: []string{"--container-cap-drop"},
Description: `Kernel capabilities to remove from the workflow containers (e.g. --container-cap-drop SYS_PTRACE)`,
Args: []model.Arg{{
Name: "container-cap-drop",
}},
}, {
Name: []string{"--defaultbranch"},
Description: `The name of the main branch`,
Args: []model.Arg{{
Name: "defaultbranch",
}},
}, {
Name: []string{"--detect-event"},
Description: `Use first event type from workflow as event that triggered the workflow`,
}, {
Name: []string{"--env"},
Description: `Env to make available to actions with optional value (e.g. --env myenv=foo or --env myenv)`,
Args: []model.Arg{{
Name: "env",
}},
}, {
Name: []string{"--eventpath", "-e"},
Description: `Path to event JSON file`,
Args: []model.Arg{{
Name: "eventpath",
}},
}, {
Name: []string{"--graph", "-g"},
Description: `Draw workflows`,
}, {
Name: []string{"--job", "-j"},
Description: `Run job`,
Args: []model.Arg{{
Name: "job",
}},
}, {
Name: []string{"--list", "-l"},
Description: `List workflows`,
}, {
Name: []string{"--platform", "-P"},
Description: `Custom image to use per platform (e.g. -P ubuntu-18.04=nektos/act-environments-ubuntu:18.04)`,
Args: []model.Arg{{
Name: "platform",
}},
}, {
Name: []string{"--privileged"},
Description: `Use privileged mode`,
}, {
Name: []string{"--pull", "-p"},
Description: `Pull docker image(s) even if already present`,
}, {
Name: []string{"--rebuild"},
Description: `Rebuild local action docker image(s) even if already present`,
}, {
Name: []string{"--remote-name"},
Description: `Git remote name that will be used to retrieve url of git repo`,
Args: []model.Arg{{
Name: "remote-name",
}},
}, {
Name: []string{"--reuse", "-r"},
Description: `Don't remove container(s) on successfully completed workflow(s) to maintain state between runs`,
}, {
Name: []string{"--rm"},
Description: `Automatically remove container(s)/volume(s) after a workflow(s) failure`,
}, {
Name: []string{"--secret", "-s"},
Description: `Secret to make available to actions with optional value (e.g. -s mysecret=foo or -s mysecret)`,
Args: []model.Arg{{
Name: "secret",
}},
}, {
Name: []string{"--use-gitignore"},
Description: `Controls whether paths specified in .gitignore should be copied into container`,
}, {
Name: []string{"--userns"},
Description: `User namespace to use`,
Args: []model.Arg{{
Name: "userns",
}},
}, {
Name: []string{"--watch", "-w"},
Description: `Watch the contents of the local repo and run when files change`,
}, {
Name: []string{"--actor", "-a"},
Description: `User that triggered the event`,
Args: []model.Arg{{
Name: "actor",
}},
IsPersistent: true,
}, {
Name: []string{"--artifact-server-path"},
Description: `Defines the path where the artifact server stores uploads and retrieves downloads from. If not specified the artifact server will not start`,
Args: []model.Arg{{
Name: "artifact-server-path",
}},
IsPersistent: true,
}, {
Name: []string{"--artifact-server-port"},
Description: `Defines the port where the artifact server listens (will only bind to localhost)`,
Args: []model.Arg{{
Name: "artifact-server-port",
}},
IsPersistent: true,
}, {
Name: []string{"--container-architecture"},
Description: `Architecture which should be used to run containers, e.g.: linux/amd64. If not specified, will use host default architecture. Requires Docker server API Version 1.41+. Ignored on earlier Docker server platforms`,
Args: []model.Arg{{
Name: "container-architecture",
}},
IsPersistent: true,
}, {
Name: []string{"--container-daemon-socket"},
Description: `Path to Docker daemon socket which will be mounted to containers`,
Args: []model.Arg{{
Name: "container-daemon-socket",
}},
IsPersistent: true,
}, {
Name: []string{"--directory", "-C"},
Description: `Working directory`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "directory",
}},
IsPersistent: true,
}, {
Name: []string{"--dryrun", "-n"},
Description: `Dryrun mode`,
IsPersistent: true,
}, {
Name: []string{"--env-file"},
Description: `Environment file to read and use as env in the containers`,
Args: []model.Arg{{
Name: "env-file",
}},
IsPersistent: true,
}, {
Name: []string{"--github-instance"},
Description: `GitHub instance to use. Don't use this if you are not using GitHub Enterprise Server`,
Args: []model.Arg{{
Name: "github-instance",
}},
IsPersistent: true,
}, {
Name: []string{"--insecure-secrets"},
Description: `NOT RECOMMENDED! Doesn't hide secrets while printing logs`,
IsPersistent: true,
}, {
Name: []string{"--json"},
Description: `Output logs in json format`,
IsPersistent: true,
}, {
Name: []string{"--no-recurse"},
Description: `Flag to disable running workflows from subdirectories of specified path in '--workflows'/'-W' flag`,
IsPersistent: true,
}, {
Name: []string{"--no-skip-checkout"},
Description: `Do not skip actions/checkout`,
IsPersistent: true,
}, {
Name: []string{"--quiet", "-q"},
Description: `Disable logging of output from steps`,
IsPersistent: true,
}, {
Name: []string{"--secret-file"},
Description: `File with list of secrets to read from (e.g. --secret-file .secrets)`,
Args: []model.Arg{{
Name: "secret-file",
}},
IsPersistent: true,
}, {
Name: []string{"--verbose", "-v"},
Description: `Verbose output`,
IsPersistent: true,
}, {
Name: []string{"--workflows", "-W"},
Description: `Path to workflow file(s)`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders, model.TemplateFilepaths},
Name: "workflows",
}},
IsPersistent: true,
}, {
Name: []string{"--help", "-h"},
Description: `Display help`,
IsPersistent: true,
}},
Subcommands: []model.Subcommand{{
Name: []string{"completion"},
Description: `Generate the autocompletion script for the specified shell`,
Subcommands: []model.Subcommand{{
Name: []string{"bash"},
Description: `Generate the autocompletion script for bash`,
Options: []model.Option{{
Name: []string{"--no-descriptions"},
Description: `Disable completion descriptions`,
}},
}, {
Name: []string{"fish"},
Description: `Generate the autocompletion script for fish`,
Options: []model.Option{{
Name: []string{"--no-descriptions"},
Description: `Disable completion descriptions`,
}},
}, {
Name: []string{"powershell"},
Description: `Generate the autocompletion script for powershell`,
Options: []model.Option{{
Name: []string{"--no-descriptions"},
Description: `Disable completion descriptions`,
}},
}, {
Name: []string{"zsh"},
Description: `Generate the autocompletion script for zsh`,
Options: []model.Option{{
Name: []string{"--no-descriptions"},
Description: `Disable completion descriptions`,
}},
}},
}, {
Name: []string{"help"},
Description: `Help about any command`,
Subcommands: []model.Subcommand{{
Name: []string{"completion"},
Description: `Generate the autocompletion script for the specified shell`,
Subcommands: []model.Subcommand{{
Name: []string{"bash"},
Description: `Generate the autocompletion script for bash`,
}, {
Name: []string{"fish"},
Description: `Generate the autocompletion script for fish`,
}, {
Name: []string{"powershell"},
Description: `Generate the autocompletion script for powershell`,
}, {
Name: []string{"zsh"},
Description: `Generate the autocompletion script for zsh`,
}},
}},
}},
}
}
File diff suppressed because it is too large Load Diff
+39
View File
@@ -0,0 +1,39 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["adr"] = model.Subcommand{
Name: []string{"adr"},
Description: `Manage Architectural Design Records`,
Subcommands: []model.Subcommand{{
Name: []string{"init"},
Description: `Create an ADR directory in the root of your project, example usage: ' adr init doc/architecture/decisions'`,
Args: []model.Arg{{
Name: "Location where to create the ADR, example 'adr init doc/architecture/decisions'",
}},
}, {
Name: []string{"new"},
Description: `Create a new, numbered ADR file`,
Args: []model.Arg{{
Name: "ADR name",
Description: `Name for the ADR separated with '-'`,
}},
Options: []model.Option{{
Name: []string{"-s"},
Description: `Create a new ADR that supercedes a previous one (ADR 9, for example), use the -s option`,
Args: []model.Arg{{
Name: "number",
Description: `Which ADR to supercede`,
}},
}},
}, {
Name: []string{"help"},
Description: `Built in help`,
}},
}
}
+60
View File
@@ -0,0 +1,60 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["afplay"] = model.Subcommand{
Name: []string{"afplay"},
Description: `Audio File Play`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "play the song in the path",
}},
Options: []model.Option{{
Name: []string{"-v", "--volume"},
Description: `Set the volume for playback of the file
Apple does not define a value range for this, but it appears to accept
0=silent, 1=normal (default) and then up to 255=Very loud.
The scale is logarithmic and in addition to (not a replacement for) other volume control(s)`,
Args: []model.Arg{{
Name: "0 (silent) - 1 (normal) - 255 (very loud)",
}},
}, {
Name: []string{"-h", "--help"},
Description: `Print help`,
}, {
Name: []string{"--leaks"},
Description: `Run leaks analysis`,
}, {
Name: []string{"-t", "--time"},
Description: `Play for "TIME" seconds
>0 and < duration of "audio_file"`,
Args: []model.Arg{{
Name: "TIME",
Description: `A value greater than 0 but lower than the audio file length`,
}},
}, {
Name: []string{"-r", "--rate"},
Description: `Play at playback "RATE".
practical limits are about 0.4 (slower) to 3.0 (faster)`,
Args: []model.Arg{{
Name: "RATE",
Description: `0.4 (slower) - 3.0 (faster)`,
}},
}, {
Name: []string{"-q", "--rQuality"},
Description: `Set the quality used for rate-scaled playback (default is 0 - low quality, 1 - high quality)`,
Args: []model.Arg{{
Name: "QUALITY",
Description: `0 (low) -1 (high)`,
}},
}, {
Name: []string{"-d", "--debug"},
Description: `Debug print output`,
}},
}
}
+61
View File
@@ -0,0 +1,61 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["aftman"] = model.Subcommand{
Name: []string{"aftman"},
Description: `A toolchain manager, enabling project-specific command line tools`,
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Show help for aftman`,
}, {
Name: []string{"--version", "-V"},
Description: `Show aftman's version`,
}},
Subcommands: []model.Subcommand{{
Name: []string{"init"},
Description: `Creates a new aftman.toml file in the given directory`,
Args: []model.Arg{{
Name: "path",
Description: `The folder to initialize the manifest file in. Defaults to the current directory`,
IsOptional: true,
}},
}, {
Name: []string{"add"},
Description: `Adds a new tool to Aftman and installs it`,
Args: []model.Arg{{
Name: "tool",
Description: `What tool and version to install`,
}, {
Name: "alias",
Description: `The name that will be used to run the tool`,
IsOptional: true,
}},
Options: []model.Option{{
Name: []string{"--global"},
Description: `Install this tool globally`,
}},
}, {
Name: []string{"install"},
Description: `Install all tools listed in aftman.toml files based on your current directory`,
Options: []model.Option{{
Name: []string{"--no-trust-check"},
Description: `All tools will be installed, regardless of whether they are known`,
}},
}, {
Name: []string{"self-install"},
Description: `Installs Aftman, upgrades any references to Aftman, and adds aftman to your system PATH if supported`,
}, {
Name: []string{"trust"},
Args: []model.Arg{{
Name: "tool",
Description: `The tool to mark as trusted`,
}},
}},
}
}
+309
View File
@@ -0,0 +1,309 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ag"] = model.Subcommand{
Name: []string{"ag"},
Description: `Recursively search for PATTERN in PATH. Like grep or ack, but faster`,
Args: []model.Arg{{
Name: "pattern",
IsOptional: true,
}, {
Templates: []model.Template{model.TemplateFilepaths},
Name: "path",
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--ackmate"},
Description: `Output results in a format parseable by AckMate https://github.com/protocool/AckMate`,
}, {
Name: []string{"--affinity"},
Description: `Set thread affinity (if platform supports it)`,
ExclusiveOn: []string{"--noaffinity"},
}, {
Name: []string{"--noaffinity"},
Description: `Don't set thread affinity (if platform supports it)`,
ExclusiveOn: []string{"--affinity"},
}, {
Name: []string{"-a", "--all-types"},
Description: `Search all files. This doesn't include hidden files, and doesn't respect any ignore files`,
}, {
Name: []string{"-A", "--after"},
Description: `Print lines after match`,
Args: []model.Arg{{
Name: "LINES",
Description: `The amount of lines`,
IsOptional: true,
}},
}, {
Name: []string{"-B", "--before"},
Description: `Print lines before match`,
Args: []model.Arg{{
Name: "LINES",
Description: `The amount of lines`,
IsOptional: true,
}},
}, {
Name: []string{"--nobreak"},
Description: `Print a newline between matches in different files. Enabled by default`,
}, {
Name: []string{"-c", "--count"},
Description: `Only print the number of matches in each file. Note: This is the number of matches, not the number of matching lines. Pipe output to wc -l if you want the number of matching lines`,
}, {
Name: []string{"--color"},
Description: `Print color codes in results`,
ExclusiveOn: []string{"--nocolor"},
}, {
Name: []string{"--nocolor"},
Description: `Don't print color codes in results`,
ExclusiveOn: []string{"--color"},
}, {
Name: []string{"--color-line-number"},
Description: `Color codes for line numbers. Default is 1;33`,
}, {
Name: []string{"--color-match"},
Description: `Color codes for result match numbers. Default is 30;43`,
}, {
Name: []string{"--color-path"},
Description: `Color codes for path names. Default is 1;32`,
}, {
Name: []string{"--column"},
Description: `Print column numbers in results`,
}, {
Name: []string{"-C", "--context"},
Description: `Print lines before and after matches`,
Args: []model.Arg{{
Name: "LINES",
Description: `The amount of lines`,
IsOptional: true,
}},
}, {
Name: []string{"-D", "--debug"},
Description: `Output ridiculous amounts of debugging info. Not useful unless you're actually debugging`,
}, {
Name: []string{"--depth"},
Description: `Search up to NUM directories deep, -1 for unlimited`,
Args: []model.Arg{{
Name: "NUM",
Description: `The depth in directories to search`,
IsOptional: true,
}},
}, {
Name: []string{"--filename"},
Description: `Print file names`,
ExclusiveOn: []string{"--nofilename"},
}, {
Name: []string{"--nofilename"},
Description: `Don't print file names`,
ExclusiveOn: []string{"--filename"},
}, {
Name: []string{"-f", "--follow"},
Description: `Follow symlinks`,
ExclusiveOn: []string{"--nofollow"},
}, {
Name: []string{"--nofollow"},
Description: `Don't follow symlinks`,
ExclusiveOn: []string{"-f", "--follow"},
}, {
Name: []string{"-F", "--fixed-strings"},
Description: `Alias for --literal for compatibility with grep`,
}, {
Name: []string{"--group"},
Description: `Lumps multiple matches in the same file together, and presents them under a single occurrence of the filename`,
ExclusiveOn: []string{"--nogroup"},
}, {
Name: []string{"--nogroup"},
Description: `Refrains from lumping matches in the same file together, and instead places the filename at the start of each match line`,
ExclusiveOn: []string{"--group"},
}, {
Name: []string{"-g"},
Description: `Print filenames matching PATTERN`,
Args: []model.Arg{{
Name: "PATTERN",
Description: `The pattern to look for`,
}},
}, {
Name: []string{"-G", "--file-search-regex"},
Description: `Only search files whose names match PATTERN`,
Args: []model.Arg{{
Name: "PATTERN",
Description: `The pattern to look for`,
}},
}, {
Name: []string{"-H", "--heading"},
Description: `Print filenames above matching contents`,
ExclusiveOn: []string{"--noheading"},
}, {
Name: []string{"--noheading"},
Description: `Don't print filenames above matching contents`,
ExclusiveOn: []string{"-H", "--heading"},
}, {
Name: []string{"--hidden"},
Description: `Search hidden files. This option obeys ignored files`,
}, {
Name: []string{"--ignore"},
Description: `Ignore files/directories whose names match this pattern. Literal file and directory names are also allowed`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths, model.TemplateFolders},
Name: "PATTERN",
Description: `The pattern to look for`,
}},
}, {
Name: []string{"--ignore-dir"},
Description: `Alias for --ignore for compatibility with ack`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths, model.TemplateFolders},
Name: "NAME",
Description: `The directory to ignore`,
}},
}, {
Name: []string{"-i", "--ignore-case"},
Description: `Match case-insensitively`,
}, {
Name: []string{"-l", "--files-with-matches"},
Description: `Only print the names of files containing matches, not the matching lines. An empty query will print all files that would be searched`,
}, {
Name: []string{"-L", "--files-without-matches"},
Description: `Only print the names of files that don't contain matches`,
}, {
Name: []string{"--list-file-types"},
Description: `See FILE TYPES below`,
}, {
Name: []string{"-m", "--max-count"},
Description: `Skip the rest of a file after NUM matches. Default is 0, which never skips`,
Args: []model.Arg{{
Name: "NUM",
Description: `The number of matches to skip after`,
IsOptional: true,
}},
}, {
Name: []string{"--mmap"},
Description: `Use of memory-mapped I/O. Defaults to true on platforms where mmap() is faster than read(). (All but macOS.)`,
ExclusiveOn: []string{"--nommap"},
}, {
Name: []string{"--nommap"},
Description: `Don't use of memory-mapped I/O. Defaults to true on platforms where mmap() is faster than read(). (All but macOS.)`,
ExclusiveOn: []string{"--mmap"},
}, {
Name: []string{"--multiline"},
Description: `Match regexes across newlines`,
ExclusiveOn: []string{"--nomultiline"},
}, {
Name: []string{"--nomultiline"},
Description: `Don't match regexes across newlines`,
ExclusiveOn: []string{"--multiline"},
}, {
Name: []string{"-n", "--norecurse"},
Description: `Don't recurse into directories`,
ExclusiveOn: []string{"-r", "--recurse"},
}, {
Name: []string{"--numbers"},
Description: `Print line numbers`,
ExclusiveOn: []string{"--nonumbers"},
}, {
Name: []string{"--nonumbers"},
Description: `Don't print line numbers`,
ExclusiveOn: []string{"--numbers"},
}, {
Name: []string{"-o", "--only-matching"},
Description: `Print only the matching part of the lines`,
}, {
Name: []string{"--one-device"},
Description: `When recursing directories, don't scan dirs that reside on other storage devices. This lets you avoid scanning slow network mounts. This feature is not supported on all platforms`,
}, {
Name: []string{"-p", "--path-to-ignore"},
Description: `Provide a path to a specific .ignore file`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "STRING",
Description: `The path to the ignore file`,
}},
}, {
Name: []string{"--pager"},
Description: `Use a pager such as less. Use --nopager to override. This option is also ignored if output is piped to another program`,
Args: []model.Arg{{
Name: "COMMAND",
Description: `The pager`,
Suggestions: []model.Suggestion{{Name: []string{`more`}}, {Name: []string{`less`}}, {Name: []string{`most`}}},
}},
}, {
Name: []string{"--parallel"},
Description: `Parse the input stream as a search term, not data to search. This is meant to be used with tools such as GNU parallel. For example: echo "foo
bar
baz" | parallel "ag {} ." will run 3 instances of ag, searching the current directory for "foo", "bar", and "baz"`,
}, {
Name: []string{"--print-long-lines"},
Description: `Print matches on very long lines (> 2k characters by default)`,
}, {
Name: []string{"--passthrough", "--passthru"},
Description: `When searching a stream, print all lines even if they don't match`,
}, {
Name: []string{"-Q", "--literal"},
Description: `Do not parse PATTERN as a regular expression. Try to match it literally`,
}, {
Name: []string{"-r", "--recurse"},
Description: `Recurse into directories when searching. Default is true`,
ExclusiveOn: []string{"-n", "--norecurse"},
}, {
Name: []string{"-s", "--case-sensitive"},
Description: `Match case-sensitively`,
}, {
Name: []string{"-S", "--smart-case"},
Description: `Match case-sensitively if there are any uppercase letters in PATTERN, case-insensitively otherwise. Enabled by default`,
}, {
Name: []string{"--search-binary"},
Description: `Search binary files for matches`,
}, {
Name: []string{"--silent"},
Description: `Suppress all log messages, including errors`,
}, {
Name: []string{"--stats"},
Description: `Print stats (files scanned, time taken, etc)`,
}, {
Name: []string{"--stats-only"},
Description: `Print stats (files scanned, time taken, etc) and nothing else`,
}, {
Name: []string{"-t", "--all-text"},
Description: `Search all text files. This doesn't include hidden files`,
}, {
Name: []string{"-u", "--unrestricted"},
Description: `Search all files. This ignores .ignore, .gitignore, etc. It searches binary and hidden files as well`,
}, {
Name: []string{"-U", "--skip-vcs-ignores"},
Description: `Ignore VCS ignore files (.gitignore, .hgignore), but still use .ignore`,
}, {
Name: []string{"-v", "--invert-match"},
Description: `Match every line not containing the specified pattern`,
}, {
Name: []string{"-V", "--version"},
Description: `Print version info`,
}, {
Name: []string{"--vimgrep"},
Description: `Output results in the same form as Vim's :vimgrep /pattern/g Here is a ~/.vimrc configuration example: set grepprg=ag --vimgrep $* set grepformat=%f:%l:%c:%m Then use :grep to grep for something. Then use :copen, :cn, :cp, etc. to navigate through the matches`,
}, {
Name: []string{"-w", "--word-regexp"},
Description: `Only match whole words`,
}, {
Name: []string{"--workers"},
Description: `Use NUM worker threads. Default is the number of CPU cores, with a max of 8`,
Args: []model.Arg{{
Name: "NUM",
Description: `The NUM of worker threads`,
IsOptional: true,
}},
}, {
Name: []string{"-z", "--search-zip"},
Description: `Search contents of compressed files. Currently, gz and xz are supported. This option requires that ag is built with lzma and zlib`,
}, {
Name: []string{"-0", "--null", "--print0"},
Description: `Separate the filenames with \\0, rather than
: this allows xargs -0 <command> to correctly process filenames containing spaces or newlines`,
}},
}
}
+163
View File
@@ -0,0 +1,163 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["agrippa"] = model.Subcommand{
Name: []string{"agrippa"},
Description: ``,
Args: []model.Arg{{
Name: "component's name",
}},
Subcommands: []model.Subcommand{{
Name: []string{"init"},
Description: `Generates a basic .agripparc.json file, with some default values for options that agrippa accepts`,
}, {
Name: []string{"generate", "gen"},
Description: `This is the core of the CLI - this command generates a new React component, based on the name and options passed to it`,
Args: []model.Arg{{
Name: "component",
}},
Options: []model.Option{{
Name: []string{"--props"},
Description: `Determines which prop declaration/validation solution to generate. Defaults to "ts" if "typescript" flag is "true", "none" otherwise`,
Args: []model.Arg{{
Suggestions: []model.Suggestion{{
Name: []string{`ts`},
Description: `Generate a TypeScript interface for props (this requires the typescript option to be true)`,
}, {
Name: []string{`jsdoc`},
Description: `Generates JSDoc type hints for props (a @typedef and a @type)`,
}, {
Name: []string{`prop-types`},
Description: `Generates prop-types for props`,
}, {
Name: []string{`none`},
Description: `Generates no props`,
}},
}},
}, {
Name: []string{"--children"},
Description: `Whether the component is meant to have children or not. Defaults to "false"`,
Args: []model.Arg{{}},
}, {
Name: []string{"--typescript", "--ts"},
Description: `Option to generate Typescript components, defaults to "true" if the CLI manages to find a "tsconfig.json" file, false otherwise`,
Args: []model.Arg{{}},
}, {
Name: []string{"--import-react"},
Description: `Option to import React at the top of the component. Defaults to "true" if the CLI manages to find a "tsconfig.json" file and it has a "jsx" field under "compilerOptions" with "react-jsx" or "react-jsxdev" as the value, "false" otherwise`,
Args: []model.Arg{{}},
}, {
Name: []string{"--export-type"},
Description: `Whether to export the component as a named export or a default export. Defaults to "named"`,
Args: []model.Arg{{
Suggestions: []model.Suggestion{{
Name: []string{`named`},
}, {
Name: []string{`default`},
}},
}},
}, {
Name: []string{"--declaration"},
Description: `Whether to declare the component as a "const" with an arrow function, or as a "function" declaration. Defaults to "const"`,
Args: []model.Arg{{
Suggestions: []model.Suggestion{{
Name: []string{`const`},
}, {
Name: []string{`function`},
}},
}},
}, {
Name: []string{"--memo"},
Description: `Generates a component as a memo component. Defaults to "false"`,
Args: []model.Arg{{}},
}, {
Name: []string{"--react-native"},
Description: `Generates a React Native component. Defaults to "true" if "react-native" is a dependency in the project's "package.json", "false" otherwise`,
Args: []model.Arg{{}},
}, {
Name: []string{"--styling"},
Description: `Which styling solution to generate. Defaults to "none"`,
Args: []model.Arg{{
Suggestions: []model.Suggestion{{
Name: []string{`none`},
Description: `Generates no style`,
}, {
Name: []string{`css`},
Description: `Generates a "css" file`,
}, {
Name: []string{`scss`},
Description: `Generates a "scss" file`,
}, {
Name: []string{`jss`},
Description: `Generates a "useStyles" hook above the component with "react-jss"'s "createUseStyles"`,
}, {
Name: []string{`mui`},
Description: `Generates a "useStyles" hook above the component with "material-ui"'s "makeStyles". Note that this generates styles for "material-ui" v4`,
}, {
Name: []string{`react-native`},
Description: `Generates a React Native "StyleSheet"`,
}},
}},
}, {
Name: []string{"--styling-module"},
Description: `Whether to generate a scoped "module" stylesheet. This option is only relevant for "css" or "scss" styling, and will be ignored for other values. Defaults to "true"`,
Args: []model.Arg{{}},
}, {
Name: []string{"--base-dir"},
Description: `Path to a base directory which components should be generated inside of (directly or nested). Defaults to the current working directory`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "path",
IsOptional: true,
IsVariadic: true,
}},
}, {
Name: []string{"--dest", "--destination"},
Description: `Allows the user to generate the component at a path relative to "baseDir". It's mostly used to augment or modify the generation path in the command-line when creating the component itself. "dest" is resolved relative to "baseDir"`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "path",
IsOptional: true,
IsVariadic: true,
}},
}, {
Name: []string{"--allow-outside-base"},
Description: `Overrides default Agrippa behaviour to allow components to be specified outside "baseDir". Defaults to current working directory`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "path",
IsOptional: true,
IsVariadic: true,
}},
}, {
Name: []string{"--flat"},
Description: `By default, Agrippa generates a dedicated directory for the generated component; this directory has the same name as the component, and will contain the component file (as "index.tsx" or "index.jsx"), and the style file (if one is generated). Defaults to "false"`,
Args: []model.Arg{{}},
}, {
Name: []string{"--separate-index"},
Description: `In the "separateIndex" generation scheme, Agrippa creates one file for the component's code, and one "index" file, whose purpose is to allow importing exports from the component's directory elegantly (the import path can then be "<path>/<to>/<directory>/Component" instead of "<path>/<to>/<directory>/Component/Component"). Defaults to "true"`,
Args: []model.Arg{{}},
}, {
Name: []string{"--post-command", "--postCommand"},
Description: `Allows a custom command to be run after having generated a component. This allows for some cool functionality, such as opening an IDE at the newly generated files automatically or linting them. Defaults to "none"`,
Args: []model.Arg{{
IsCommand: true,
}},
}, {
Name: []string{"--overwrite"},
Description: `By default, Agrippa prevents the generation of a component over an existing components, to prevent a loss of code. "--overwrite" tells Agrippa to replace existing files, if any are found. Defaults to "false"`,
Args: []model.Arg{{}},
}, {
Name: []string{"--debug"},
Description: `The "debug" flag makes Agrippa print out additional debug information. It's quite useful when debugging. Defaults to "false"`,
Args: []model.Arg{{}},
}},
}},
}
}
File diff suppressed because it is too large Load Diff
+152
View File
@@ -0,0 +1,152 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["aliases"] = model.Subcommand{
Name: []string{"aliases"},
Description: `Bash aliases on steroids, dynamic alias functions for bash`,
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Prints help information`,
IsPersistent: true,
}, {
Name: []string{"--version", "-V"},
Description: `Prints version information`,
IsPersistent: true,
}},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Add an alias via the cli`,
Args: []model.Arg{{
Name: "name",
Description: `The name of the alias`,
}, {
Name: "command",
Description: `The command you want to run`,
}},
}, {
Name: []string{"clone"},
Description: `Clone external aliases`,
Args: []model.Arg{{
Name: "username",
Description: `The username of the aliases you want to clone`,
}, {
Name: "repo_url",
Description: `The git repo url of the aliases (defaults to github/<username>/dot-aliases)`,
}},
Options: []model.Option{{
Name: []string{"-E", "--enable"},
Description: `Whether to enable the user if they are not currently enabled`,
}},
}, {
Name: []string{"directories"},
Description: `List all directories initialized with aliases`,
}, {
Name: []string{"exec"},
Description: `Execute an alias for a given directory`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "directory",
Description: `Directory where the alias is defined`,
}, {
Name: "name",
Description: `Name of alias`,
IsVariadic: true,
}},
}, {
Name: []string{"help"},
Description: `Prints help information`,
}, {
Name: []string{"init"},
Description: `Initialize a directory for aliases`,
Options: []model.Option{{
Name: []string{"-g", "--global"},
Description: `Returns the global initialization for the app`,
}, {
Name: []string{"-u", "--user"},
Description: `Initialize aliases for a specific user`,
Args: []model.Arg{{
Name: "user",
}},
}},
}, {
Name: []string{"list"},
Description: `List the aliases available`,
Options: []model.Option{{
Name: []string{"-g", "--global"},
Description: `List only global aliases`,
}, {
Name: []string{"-l", "--local"},
Description: `List only local aliases`,
}, {
Name: []string{"-d", "--directory"},
Description: `List aliases for a specific directory`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "directory",
}},
}, {
Name: []string{"name"},
Description: `List aliases for with a specific name`,
Args: []model.Arg{{
Name: "name",
}},
}},
}, {
Name: []string{"pull"},
Description: `Pull a cloned user's aliases`,
Args: []model.Arg{{
Name: "username",
Description: `The username of the aliases you want to pull, leave blank to pull all user aliases`,
}},
}, {
Name: []string{"rehash"},
Description: `Update the aliases`,
}, {
Name: []string{"remove"},
Description: `Remove an alias via the cli`,
Args: []model.Arg{{
Name: "name",
Description: `The name of the alias`,
}},
}, {
Name: []string{"users"},
Description: `List the users`,
Subcommands: []model.Subcommand{{
Name: []string{"disable"},
Description: `Disable a user's aliases`,
Args: []model.Arg{{
Name: "username",
}},
}, {
Name: []string{"enable"},
Description: `Enable a user's aliases`,
Args: []model.Arg{{
Name: "username",
}},
}, {
Name: []string{"help"},
Description: `Prints this message or the help of the given subcommand(s)`,
}, {
Name: []string{"move"},
Description: `Move a user up or down the prioritization list`,
Args: []model.Arg{{
Name: "username",
}, {
Name: "prioritization",
}},
}, {
Name: []string{"use"},
Description: `Assign a user to the top of the priority list`,
Args: []model.Arg{{
Name: "username",
}},
}},
}},
}
}
+489
View File
@@ -0,0 +1,489 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["amplify"] = model.Subcommand{
Name: []string{"amplify"},
Description: `A set of tools and services to help front-end web and mobile developers build scalable full stack applications`,
Subcommands: []model.Subcommand{{
Name: []string{"init"},
Description: `Initializes a new project, sets up deployment resources in the cloud, and makes your project ready for Amplify`,
}, {
Name: []string{"configure"},
Description: `Configures the attributes of your project for amplify-cli, such as switching front-end framework and adding/removing cloud-provider plugins`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
Subcommands: []model.Subcommand{{
Name: []string{"notifications"},
}, {
Name: []string{"analytics"},
}, {
Name: []string{"api"},
}, {
Name: []string{"auth"},
}, {
Name: []string{"function"},
}, {
Name: []string{"hosting"},
}, {
Name: []string{"interactions"},
}, {
Name: []string{"predictions"},
}, {
Name: []string{"storage"},
}, {
Name: []string{"xr"},
}},
}, {
Name: []string{"pull"},
Description: `Fetch upstream backend environment definition changes from the cloud and updates the local environment to match that definition`,
}, {
Name: []string{"publish"},
Description: `Executes amplify push, and then builds and publishes client-side application for hosting`,
}, {
Name: []string{"serve"},
Description: `Executes amplify push, and then executes the project's start command to test run the client-side application locally`,
}, {
Name: []string{"status"},
Description: `Shows the state of local resources not yet pushed to the cloud (Create/Update/Delete)`,
Subcommands: []model.Subcommand{{
Name: []string{"notifications"},
}, {
Name: []string{"analytics"},
}, {
Name: []string{"api"},
}, {
Name: []string{"auth"},
}, {
Name: []string{"function"},
}, {
Name: []string{"hosting"},
}, {
Name: []string{"interactions"},
}, {
Name: []string{"predictions"},
}, {
Name: []string{"storage"},
}, {
Name: []string{"xr"},
}, {
Name: []string{"-v"},
Description: `Shows the detailed verbose diff between local and deployed resources, including cloudformation-diff`,
}},
}, {
Name: []string{"delete"},
Description: `Deletes all of the resources tied to the project from the cloud`,
}, {
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
Subcommands: []model.Subcommand{{
Name: []string{"notifications"},
}, {
Name: []string{"analytics"},
}, {
Name: []string{"api"},
}, {
Name: []string{"auth"},
}, {
Name: []string{"function"},
}, {
Name: []string{"hosting"},
}, {
Name: []string{"interactions"},
}, {
Name: []string{"predictions"},
}, {
Name: []string{"storage"},
}, {
Name: []string{"xr"},
}},
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
Subcommands: []model.Subcommand{{
Name: []string{"notifications"},
}, {
Name: []string{"analytics"},
}, {
Name: []string{"api"},
}, {
Name: []string{"auth"},
}, {
Name: []string{"function"},
}, {
Name: []string{"hosting"},
}, {
Name: []string{"interactions"},
}, {
Name: []string{"predictions"},
}, {
Name: []string{"storage"},
}, {
Name: []string{"xr"},
}},
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
Subcommands: []model.Subcommand{{
Name: []string{"notifications"},
}, {
Name: []string{"analytics"},
}, {
Name: []string{"api"},
}, {
Name: []string{"auth"},
}, {
Name: []string{"function"},
}, {
Name: []string{"hosting"},
}, {
Name: []string{"interactions"},
}, {
Name: []string{"predictions"},
}, {
Name: []string{"storage"},
}, {
Name: []string{"xr"},
}},
}, {
Name: []string{"upgrade"},
Description: `Download and install the latest version of the Amplify CLI`,
}, {
Name: []string{"uninstall"},
Description: `Remove all global Amplify configuration files and uninstall the Amplify CLI. This will not delete any Amplify projects`,
}, {
Name: []string{"notifications"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"analytics"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"api"},
Subcommands: []model.Subcommand{{
Name: []string{"gql-compile"},
Description: `Compiles your GraphQL schema and generates a corresponding cloudformation template`,
}, {
Name: []string{"migrate"},
Description: `Migrates GraphQL schemas to the latest GraphQL transformer version`,
}, {
Name: []string{"override"},
Description: `Generates overrides file to apply custom modifications to CloudFormation`,
}, {
Name: []string{"rebuild"},
Description: `Removes and recreates all DynamoDB tables backing a GraphQL API. Useful for resetting test data during the development phase of an app`,
}, {
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"auth"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"function"},
Subcommands: []model.Subcommand{{
Name: []string{"build"},
Description: `Builds all the functions in the project (does an npm install on the functions src directory)`,
}, {
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"hosting"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"interactions"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"predictions"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"storage"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"xr"},
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a resource for an Amplify category in your local backend`,
}, {
Name: []string{"update"},
Description: `Update resource for an Amplify category in your local backend`,
}, {
Name: []string{"remove"},
Description: `Removes a resource for an Amplify category in your local backend`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the category`,
}, {
Name: []string{"push"},
Description: `Provisions cloud resources with the latest local developments`,
Options: []model.Option{{
Name: []string{"-y"},
Description: `Answer all question as 'Yes'`,
}},
}},
}, {
Name: []string{"mock"},
Description: `Run mock server for testing categories locally`,
}, {
Name: []string{"codegen"},
Description: `Generates GraphQL statements(queries, mutations and eventHandlers) and type annotations`,
}, {
Name: []string{"console"},
Description: `Opens the web console for the selected cloud resource`,
}, {
Name: []string{"logout"},
Description: `If using temporary cloud provider credentials, this logs out of the account`,
}, {
Name: []string{"env"},
Description: `Display all commands available for new Amplify project`,
Subcommands: []model.Subcommand{{
Name: []string{"add"},
Description: `Adds a new environment`,
}, {
Name: []string{"pull"},
Description: `Pulls the current env from the cloud`,
Options: []model.Option{{
Name: []string{"--restore"},
Description: `Overwrite your local changes`,
}},
}, {
Name: []string{"checkout"},
Description: `Switches to selected environment`,
Args: []model.Arg{{
Name: "env-name",
Description: `Env name`,
Generator: nil, // TODO: port over generator
}},
Options: []model.Option{{
Name: []string{"--restore"},
Description: `Overwrite your local changes`,
}},
}, {
Name: []string{"list"},
Description: `Displays a list of all the environments`,
Options: []model.Option{{
Name: []string{"--details"},
Description: `See more details`,
}, {
Name: []string{"--json"},
Description: `Format the output`,
}},
}, {
Name: []string{"get"},
Description: `Displays the environment details`,
Options: []model.Option{{
Name: []string{"--name"},
Description: `Mandatory flag`,
Args: []model.Arg{{
Name: "env-name",
Description: `Env name`,
Generator: nil, // TODO: port over generator
}},
}},
}, {
Name: []string{"import"},
Description: `Imports an environment`,
Options: []model.Option{{
Name: []string{"--name"},
Description: `Mandatory flag`,
Args: []model.Arg{{
Name: "env-name",
Description: `Env name`,
Generator: nil, // TODO: port over generator
}},
}, {
Name: []string{"--config"},
Description: `Specify provider configs`,
Args: []model.Arg{{}},
}, {
Name: []string{"--awsInfo"},
Description: `Specify AWS configs`,
Args: []model.Arg{{}},
}},
}, {
Name: []string{"remove"},
Description: `Removes an environment`,
Args: []model.Arg{{
Name: "env-name",
Description: `Env name`,
Generator: nil, // TODO: port over generator
}},
}},
}},
}
}
+185
View File
@@ -0,0 +1,185 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ansible-config"] = model.Subcommand{
Name: []string{"ansible-config"},
Description: `View ansible configuration`,
Options: []model.Option{{
Name: []string{"--version"},
Description: `Shows version number, config file location, module search path, module location, executable location and exit`,
}, {
Name: []string{"--help", "-h"},
Description: `Show help and exit`,
}},
Subcommands: []model.Subcommand{{
Name: []string{"list"},
Description: `List and output available configs`,
Args: []model.Arg{{
Name: "args",
Description: `Specific plugin to target, requires type of plugin to be set`,
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Show help and exit`,
}, {
Name: []string{"--verbose"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"-v"},
}, {
Name: []string{"-v"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"--verbose"},
}, {
Name: []string{"--config", "-c"},
Description: `Path to configuration file, defaults to first file found in precedence`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "CONFIG_FILE",
Description: `Path to configuration file`,
}},
}, {
Name: []string{"--type", "-t"},
Description: `Filter down to a specific plugin type`,
Args: []model.Arg{{
Name: "TYPE",
Description: `Plugin type`,
Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}},
}},
}},
}, {
Name: []string{"dump"},
Description: `Shows the current settings, merges ansible.cfg if specified`,
Args: []model.Arg{{
Name: "args",
Description: `Specific plugin to target, requires type of plugin to be set`,
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Show help and exit`,
}, {
Name: []string{"--verbose"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"-v"},
}, {
Name: []string{"-v"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"--verbose"},
}, {
Name: []string{"--only-changed", "--changed-only"},
Description: `Only show configurations that have changed from the default`,
}, {
Name: []string{"--config", "-c"},
Description: `Path to configuration file, defaults to first file found in precedence`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "CONFIG_FILE",
Description: `Path to configuration file`,
}},
}, {
Name: []string{"--type", "-t"},
Description: `Filter down to a specific plugin type`,
Args: []model.Arg{{
Name: "TYPE",
Description: `Plugin type`,
Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}},
}},
}},
}, {
Name: []string{"view"},
Description: `Displays the current config file`,
Args: []model.Arg{{
Name: "args",
Description: `Specific plugin to target, requires type of plugin to be set`,
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Show help and exit`,
}, {
Name: []string{"--verbose"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"-v"},
}, {
Name: []string{"-v"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"--verbose"},
}, {
Name: []string{"--config", "-c"},
Description: `Path to configuration file, defaults to first file found in precedence`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "CONFIG_FILE",
Description: `Path to configuration file`,
}},
}, {
Name: []string{"--type", "-t"},
Description: `Filter down to a specific plugin type`,
Args: []model.Arg{{
Name: "TYPE",
Description: `Plugin type`,
Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}},
}},
}},
}, {
Name: []string{"init"},
Description: `Initializes a new config file (to stdout)`,
Args: []model.Arg{{
Name: "args",
Description: `Specific plugin to target, requires type of plugin to be set`,
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Show help and exit`,
}, {
Name: []string{"--verbose"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"-v"},
}, {
Name: []string{"-v"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
ExclusiveOn: []string{"--verbose"},
}, {
Name: []string{"--disabled"},
Description: `Prefixes all entries with a comment character to disable them`,
}, {
Name: []string{"--format", "-f"},
Description: `Output format for init`,
Args: []model.Arg{{
Name: "FORMAT",
Description: `Output format`,
Suggestions: []model.Suggestion{{Name: []string{`ini`}}, {Name: []string{`env`}}, {Name: []string{`vars`}}},
IsOptional: true,
}},
}, {
Name: []string{"--config", "-c"},
Description: `Path to configuration file, defaults to first file found in precedence`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "CONFIG_FILE",
Description: `Path to configuration file`,
}},
}, {
Name: []string{"--type", "-t"},
Description: `Filter down to a specific plugin type`,
Args: []model.Arg{{
Name: "TYPE",
Description: `Plugin type`,
Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}},
}},
}},
}},
}
}
+112
View File
@@ -0,0 +1,112 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ansible-doc"] = model.Subcommand{
Name: []string{"ansible-doc"},
Description: `Displays information on modules installed in Ansible libraries`,
Args: []model.Arg{{
Name: "plugin",
Generator: nil, // TODO: port over generator
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--metadata-dump"},
Description: `For internal testing only Dump json metadata for all plugins`,
Args: []model.Arg{{
IsOptional: true,
}},
}, {
Name: []string{"--playbook-dir"},
Description: `Sets the relative path for many features including roles/ group_vars/ etc`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "BASEDIR",
Description: `Base directory`,
}},
}, {
Name: []string{"--version"},
Description: `Shows version number, config file location, module search path, module location, executable location and exit`,
Args: []model.Arg{{
IsOptional: true,
}},
}, {
Name: []string{"--list_files", "-F"},
Description: `Show plugin names and their source files without summaries (implies --list)`,
Args: []model.Arg{{
IsOptional: true,
}},
}, {
Name: []string{"--module-path", "-M"},
Description: `Prepend colon-separated path(s) to module library`,
Args: []model.Arg{{
IsOptional: true,
}},
}, {
Name: []string{"--entry-point", "-E"},
Description: `Select the entry point for role(s)`,
Args: []model.Arg{{
Name: "ENTRY_POINT",
}},
}, {
Name: []string{"--help", "-h"},
Description: `Show help and exit`,
Args: []model.Arg{{
IsOptional: true,
}},
}, {
Name: []string{"--json", "-j"},
Description: `Change output into json format`,
Args: []model.Arg{{
IsOptional: true,
}},
}, {
Name: []string{"--list", "-l"},
Description: `List available plugins; a supplied argument will be used for filtering (can be a namespace or full collection name)`,
Args: []model.Arg{{
Name: "NAMESPACE|COLLECTION",
IsOptional: true,
}},
}, {
Name: []string{"--roles-path", "-r"},
Description: `The path to the directory containing your roles`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "PATH",
}},
}, {
Name: []string{"--snippet", "-s"},
Description: `Show playbook snippet for these plugin types: inventory, lookup, module`,
Args: []model.Arg{{
Name: "PLUGIN_TYPE",
Suggestions: []model.Suggestion{{Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`module`}}},
}},
}, {
Name: []string{"--type", "-t"},
Description: `Choose which plugin type (defaults to "module")`,
Args: []model.Arg{{
Name: "PLUGIN_TYPE",
Suggestions: []model.Suggestion{{Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}, {Name: []string{`module`}}, {Name: []string{`strategy`}}, {Name: []string{`role`}}, {Name: []string{`keyword`}}},
}},
}, {
Name: []string{"--verbose"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
Args: []model.Arg{{
IsOptional: true,
}},
ExclusiveOn: []string{"-v"},
}, {
Name: []string{"-v"},
Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`,
Args: []model.Arg{{
IsOptional: true,
}},
ExclusiveOn: []string{"--verbose"},
}},
}
}
File diff suppressed because one or more lines are too long
+128
View File
@@ -0,0 +1,128 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ansible-lint"] = model.Subcommand{
Name: []string{"ansible-lint"},
Description: `Ansible static code analysis`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "lintables",
Description: `Files to lint`,
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--help", "-h"},
Description: `Show help for ansible-lint`,
}, {
Name: []string{"--list-rules", "-L"},
Description: `List all the rules`,
ExclusiveOn: []string{"-T"},
}, {
Name: []string{"--list-tags", "-T"},
Description: `List all the tags and the rules they cover`,
ExclusiveOn: []string{"-L"},
}, {
Name: []string{"--format", "-f"},
Description: `Stdout formatting`,
Args: []model.Arg{{
Name: "-f",
Suggestions: []model.Suggestion{{Name: []string{`rich`}}, {Name: []string{`plain`}}, {Name: []string{`md`}}, {Name: []string{`json`}}, {Name: []string{`codeclimate`}}, {Name: []string{`quiet`}}, {Name: []string{`pep8`}}, {Name: []string{`sarif`}}},
}},
}, {
Name: []string{"-q"},
Description: `Quieter, reduce verbosity, can be specified twice`,
}, {
Name: []string{"-p"},
Description: `Parseable output, same as '-f pep8'`,
}, {
Name: []string{"--progressive"},
Description: `Return success if it detects a reduction in number of violations compared with previous git commit. This feature works only in git repositories`,
}, {
Name: []string{"--project-dir"},
Description: `Location of project/repository, autodetected based on location of configuration file`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "PROJECT_DIR",
}},
}, {
Name: []string{"--rules-dir", "-r"},
Description: `Specify custom rule directories`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "RULESDIR",
}},
}, {
Name: []string{"-R"},
Description: `Keep using embedded rules when using '-r'`,
}, {
Name: []string{"--write"},
Description: `Allow ansible-lint to reformat YAML files and run rule transforms`,
Args: []model.Arg{{
Name: "WRITE_LIST",
Description: `Limit the effective rule transforms by passing a keywords 'all' or 'none' or a comma separated list of rule ids or rule tags`,
Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`none`}}, {Name: []string{`rule1,rule2,...`}}},
}},
}, {
Name: []string{"--show-relpath"},
Description: `Display path relative to CWD`,
}, {
Name: []string{"--tags", "-t"},
Description: `Only check rules whose id/tags match these values`,
}, {
Name: []string{"-v"},
Description: `Increase verbosity level (-vv for more)`,
}, {
Name: []string{"--skip-list", "-x"},
Description: `Only check rules whose id/tags do not match these values`,
Args: []model.Arg{{
Name: "SKIP_LIST",
}},
}, {
Name: []string{"--warn-list", "-w"},
Description: `Only warn about these rules, unless overridden in config file defaults to 'experimental'`,
Args: []model.Arg{{
Name: "WARN_LIST",
}},
}, {
Name: []string{"--enable-list"},
Description: `Activate optional rules by their tag name`,
Args: []model.Arg{{
Name: "ENABLE_LIST",
}},
}, {
Name: []string{"--nocolor"},
Description: `Disable colored output, same as NO_COLOR=1`,
}, {
Name: []string{"--force-color"},
Description: `Force colored output, same as FORCE_COLOR=1`,
}, {
Name: []string{"--exclude-paths"},
Description: `Path to directories or files to skip. This option is repeatable`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "EXCLUDE_PATHS",
IsVariadic: true,
}},
}, {
Name: []string{"--config-file"},
Description: `Specify configuration file to use. By default it will look for '.ansible-lint' or '.config/ansible-lint.yml'`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "CONFIG_FILE",
}},
}, {
Name: []string{"--offline"},
Description: `Disable installation of requirements.yml`,
}, {
Name: []string{"--version"},
Description: `Show version of ansible-lint`,
}},
}
}
+199
View File
@@ -0,0 +1,199 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ansible-playbook"] = model.Subcommand{
Name: []string{"ansible-playbook"},
Description: `Runs Ansible playbooks, executing the defined tasks on the targeted hosts`,
Args: []model.Arg{{
Name: "playbook",
Description: `Playbook(s)`,
Generator: nil, // TODO: port over generator
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--ask-vault-pass"},
Description: `Ask for vault password`,
}, {
Name: []string{"--flush-cache"},
Description: `Clears the fact cache for every host in inventory`,
}, {
Name: []string{"--force-handlers"},
Description: `Run handlers even if a task fails`,
}, {
Name: []string{"--list-hosts"},
Description: `Outputs a list of matching hosts; does not execute`,
}, {
Name: []string{"--list-tags"},
Description: `List all available tags`,
}, {
Name: []string{"--list-tasks"},
Description: `List all tasks that would be executed`,
}, {
Name: []string{"--skip-tags"},
Description: `Only run plays and tasks whose tags do not match these values`,
Args: []model.Arg{{
Name: "tags",
}},
}, {
Name: []string{"--start-at-task"},
Description: `Start the playbook at the task matching this name one-step-at-a-time`,
Args: []model.Arg{{
Name: "task name",
}},
}, {
Name: []string{"--step"},
Description: `Execute one-step-at-a-time`,
}, {
Name: []string{"--syntax-check"},
Description: `Perform a syntax check on the playbook, but do not execute it`,
}, {
Name: []string{"--vault-id"},
Description: `Specify the vault identity to use`,
Args: []model.Arg{{
Name: "vault ID",
}},
}, {
Name: []string{"--vault-password-file"},
Description: `Specify a vault password file`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "vault password file",
}},
}, {
Name: []string{"--version"},
Description: `Show program's version number, config file location, configured module search path, module location and executable location`,
}, {
Name: []string{"--check", "-C"},
Description: `Don't make any changes; instead, try to predict some of the changes that may occur`,
}, {
Name: []string{"--diff", "-D"},
Description: `When changing (small) files and templates, show the differences in those files`,
}, {
Name: []string{"--module-path", "-M"},
Description: `Prepend colon-separated path(s) to module library`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "module path",
}},
}, {
Name: []string{"--extra-vars", "-e"},
Description: `Set additional variables as key=value or YAML/JSON, if filename prepend with @`,
Args: []model.Arg{{
Name: "extra vars",
}},
}, {
Name: []string{"--forks", "-f"},
Description: `Specify number of parallel processes to use`,
Args: []model.Arg{{
Name: "forks",
}},
}, {
Name: []string{"--help", "-h"},
Description: `Show help for ansible`,
}, {
Name: []string{"--inventory", "-i"},
Description: `Specify inventory host path or comma separated host list`,
Args: []model.Arg{{
Name: "inventory",
}},
}, {
Name: []string{"--limit", "-l"},
Description: `Limit selected hosts to an additional pattern`,
Args: []model.Arg{{
Name: "subset",
}},
}, {
Name: []string{"--tags", "-t"},
Description: `Only run plays and tasks tagged with these values`,
Args: []model.Arg{{
Name: "tags",
}},
}, {
Name: []string{"--verbose", "-v"},
Description: `Enable verbose mode`,
}, {
Name: []string{"-vvv"},
Description: `Enable very verbose mode`,
}, {
Name: []string{"-vvvv"},
Description: `Enable connection debug mode`,
}, {
Name: []string{"--become-method"},
Description: `Privilege escalation method to use`,
Args: []model.Arg{{
Name: "become method",
Suggestions: []model.Suggestion{{Name: []string{`sudo`}}, {Name: []string{`su`}}, {Name: []string{`pbrun`}}, {Name: []string{`pfexec`}}, {Name: []string{`doas`}}, {Name: []string{`dzdo`}}, {Name: []string{`ksu`}}, {Name: []string{`runas`}}, {Name: []string{`machinectl`}}},
}},
}, {
Name: []string{"--become-user"},
Description: `Privilege escalation user to use`,
Args: []model.Arg{{
Name: "become user",
}},
}, {
Name: []string{"--ask-become-pass", "-K"},
Description: `Prompt for privilege escalation password`,
}, {
Name: []string{"--become", "-b"},
Description: `Run operations with become`,
}, {
Name: []string{"--private-key", "--key-file"},
Description: `Use this fole to authenticate the connection`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "private key",
}},
}, {
Name: []string{"--scp-extra-args"},
Description: `Extra arguments to pass to (only) scp`,
Args: []model.Arg{{
Name: "SCP extra args",
}},
}, {
Name: []string{"--sftp-extra-args"},
Description: `Extra arguments to pass to (only) sftp`,
Args: []model.Arg{{
Name: "SFTP extra args",
}},
}, {
Name: []string{"-ssh-extra-args"},
Description: `Extra arguments to pass to (only) ssh`,
Args: []model.Arg{{
Name: "SSH extra args",
}},
}, {
Name: []string{"--ssh-common-args"},
Description: `Extra arguments to pass to sftp/scp/ssh`,
Args: []model.Arg{{
Name: "SSH common args",
}},
}, {
Name: []string{"--timeout", "-T"},
Description: `Override the connection timeout in seconds`,
Args: []model.Arg{{
Name: "timeout",
}},
}, {
Name: []string{"--connection", "-c"},
Description: `Connection type to use`,
Args: []model.Arg{{
Name: "connection type",
}},
}, {
Name: []string{"--ask-pass", "-k"},
Description: `Ask for connection password`,
}, {
Name: []string{"--user", "-u"},
Description: `Connect as this user`,
Args: []model.Arg{{
Name: "user",
}},
}},
}
}
+204
View File
@@ -0,0 +1,204 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ansible"] = model.Subcommand{
Name: []string{"ansible"},
Description: `Define and run a single Ansible task 'playbook' against a set of hosts`,
Args: []model.Arg{{
Name: "pattern",
Description: `Host pattern`,
}},
Options: []model.Option{{
Name: []string{"--ask-vault-pass"},
Description: `Ask for vault password`,
}, {
Name: []string{"--list-hosts"},
Description: `Outputs a list of matching hosts; does not execute`,
}, {
Name: []string{"--playbook-dir"},
Description: `Since this tool does not use playbooks, use this as a substitute playbook directory.This sets the relative path for many features including roles/ group_vars/etc`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "playbook dir",
}},
}, {
Name: []string{"--syntax-check"},
Description: `Perform a syntax check on the playbook, but do not execute it`,
}, {
Name: []string{"--vault-id"},
Description: `Specify the vault identity to use`,
Args: []model.Arg{{
Name: "vault ID",
}},
}, {
Name: []string{"--vault-password-file"},
Description: `Specify a vault password file`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "vault password file",
}},
}, {
Name: []string{"--version"},
Description: `Show program's version number, config file location, configured module search path, module location and executable location`,
}, {
Name: []string{"--background", "-B"},
Description: `Run asynchronously, failing after specified seconds`,
Args: []model.Arg{{
Name: "seconds",
}},
}, {
Name: []string{"--check", "-C"},
Description: `Don't make any changes; instead, try to predict some of the changes that may occur`,
}, {
Name: []string{"--diff", "-D"},
Description: `When changing (small) files and templates, show the differences in those files`,
}, {
Name: []string{"--module-path", "-M"},
Description: `Prepend colon-separated path(s) to module library`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "module path",
}},
}, {
Name: []string{"--poll", "-P"},
Description: `Set the poll interval if using -B`,
Args: []model.Arg{{
Name: "poll interval",
}},
}, {
Name: []string{"--args", "-a"},
Description: `Specify module arguments`,
Args: []model.Arg{{
Name: "module arguments",
}},
}, {
Name: []string{"--extra-vars", "-e"},
Description: `Set additional variables as key=value or YAML/JSON, if filename prepend with @`,
Args: []model.Arg{{
Name: "extra vars",
}},
}, {
Name: []string{"--forks", "-f"},
Description: `Specify number of parallel processes to use`,
Args: []model.Arg{{
Name: "forks",
}},
}, {
Name: []string{"--help", "-h"},
Description: `Show help for ansible`,
}, {
Name: []string{"--inventory", "-i"},
Description: `Specify inventory host path or comma separated host list`,
Args: []model.Arg{{
Name: "inventory",
}},
}, {
Name: []string{"--limit", "-l"},
Description: `Limit selected hosts to an additional pattern`,
Args: []model.Arg{{
Name: "subset",
}},
}, {
Name: []string{"--module-name", "-m"},
Description: `Specify the module name to execute`,
Args: []model.Arg{{
Name: "module name",
}},
}, {
Name: []string{"--one-line", "-o"},
Description: `Condense output`,
}, {
Name: []string{"--tree", "-t"},
Description: `Log output to specific directory`,
Args: []model.Arg{{
Name: "tree",
}},
}, {
Name: []string{"--verbose", "-v"},
Description: `Enable verbose mode`,
}, {
Name: []string{"-vvv"},
Description: `Enable very verbose mode`,
}, {
Name: []string{"-vvvv"},
Description: `Enable connection debug mode`,
}, {
Name: []string{"--become-method"},
Description: `Privilege escalation method to use`,
Args: []model.Arg{{
Name: "become method",
Suggestions: []model.Suggestion{{Name: []string{`sudo`}}, {Name: []string{`su`}}, {Name: []string{`pbrun`}}, {Name: []string{`pfexec`}}, {Name: []string{`doas`}}, {Name: []string{`dzdo`}}, {Name: []string{`ksu`}}, {Name: []string{`runas`}}, {Name: []string{`machinectl`}}},
}},
}, {
Name: []string{"--become-user"},
Description: `Privilege escalation user to use`,
Args: []model.Arg{{
Name: "become user",
}},
}, {
Name: []string{"--ask-become-pass", "-K"},
Description: `Prompt for privilege escalation password`,
}, {
Name: []string{"--become", "-b"},
Description: `Run operations with become`,
}, {
Name: []string{"--private-key", "--key-file"},
Description: `Use this fole to authenticate the connection`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "private key",
}},
}, {
Name: []string{"--scp-extra-args"},
Description: `Extra arguments to pass to (only) scp`,
Args: []model.Arg{{
Name: "SCP extra args",
}},
}, {
Name: []string{"--sftp-extra-args"},
Description: `Extra arguments to pass to (only) sftp`,
Args: []model.Arg{{
Name: "SFTP extra args",
}},
}, {
Name: []string{"-ssh-extra-args"},
Description: `Extra arguments to pass to (only) ssh`,
Args: []model.Arg{{
Name: "SSH extra args",
}},
}, {
Name: []string{"--ssh-common-args"},
Description: `Extra arguments to pass to sftp/scp/ssh`,
Args: []model.Arg{{
Name: "SSH common args",
}},
}, {
Name: []string{"--timeout", "-T"},
Description: `Override the connection timeout in seconds`,
Args: []model.Arg{{
Name: "timeout",
}},
}, {
Name: []string{"--connection", "-c"},
Description: `Connection type to use`,
Args: []model.Arg{{
Name: "connection type",
}},
}, {
Name: []string{"--ask-pass", "-k"},
Description: `Ask for connection password`,
}, {
Name: []string{"--user", "-u"},
Description: `Connect as this user`,
Args: []model.Arg{{
Name: "user",
}},
}},
}
}
+136
View File
@@ -0,0 +1,136 @@
// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT.
package specs
import (
"github.com/cpendery/clac/autocomplete/model"
)
func init() {
Specs["ant"] = model.Subcommand{
Name: []string{"ant"},
Description: `A software tool for automating software build processes`,
Args: []model.Arg{{
Name: "target",
Generator: nil, // TODO: port over generator
IsOptional: true,
IsVariadic: true,
}},
Options: []model.Option{{
Name: []string{"--help", "-help", "-h"},
Description: `Show help for ant`,
}, {
Name: []string{"--noconfig"},
Description: `Suppress sourcing of /etc/ant.conf, $HOME/.ant/ant.conf, and $HOME/.antrc configuration files`,
}, {
Name: []string{"--usejikes"},
Description: `Enable use of jikes by default, unless set explicitly in configuration files`,
}, {
Name: []string{"--execdebug"},
Description: `Print ant exec line generated by this launch script`,
}, {
Name: []string{"-projecthelp", "-p"},
Description: `Print project help information and exit`,
}, {
Name: []string{"-version"},
Description: `Print the version information and exit`,
}, {
Name: []string{"-diagnostics"},
Description: `Print information that might be helpful to diagnose or report problems and exit`,
}, {
Name: []string{"-quiet", "-q"},
Description: `Be extra quiet`,
}, {
Name: []string{"-silent", "-S"},
Description: `Print nothing but task outputs and build failures`,
}, {
Name: []string{"-verbose", "-v"},
Description: `Be extra verbose`,
}, {
Name: []string{"-debug", "-d"},
Description: `Print debugging information`,
}, {
Name: []string{"-emacs", "-e"},
Description: `Produce logging information without adornments`,
}, {
Name: []string{"-lib"},
Description: `Specifies a path to search for jars and classes`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFolders},
Name: "path",
}},
}, {
Name: []string{"-logfile", "-l"},
Description: `Use given file for log`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "file",
}},
}, {
Name: []string{"-logger"},
Description: `The class which is to perform logging`,
Args: []model.Arg{{
Name: "classname",
}},
}, {
Name: []string{"-listener"},
Description: `Add an instance of class as a project listener`,
Args: []model.Arg{{
Name: "classname",
}},
}, {
Name: []string{"-noinput"},
Description: `Do not allow interactive input`,
}, {
Name: []string{"-buildfile", "-file", "-f"},
Description: `Use given buildfile`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "file",
}},
}, {
Name: []string{"-keep-going", "-k"},
Description: `Execute all targets that do not depend on failed target(s)`,
}, {
Name: []string{"-propertyfile"},
Description: `Load all properties from file with -D properties taking precedence`,
Args: []model.Arg{{
Templates: []model.Template{model.TemplateFilepaths},
Name: "name",
}},
}, {
Name: []string{"-inputhandler"},
Description: `The class which will handle input requests`,
Args: []model.Arg{{
Name: "class",
}},
}, {
Name: []string{"-find", "-s"},
Description: `Search for buildfile towards the root of the filesystem and use it`,
Args: []model.Arg{{
Name: "file",
}},
}, {
Name: []string{"-nice"},
Description: `A niceness value for the main thread`,
Args: []model.Arg{{
Name: "number",
}},
}, {
Name: []string{"-nouserlib"},
Description: `Run ant without using the jar files from ${user.home}/.ant/lib`,
}, {
Name: []string{"-noclasspath"},
Description: `Run ant without using CLASSPATH`,
}, {
Name: []string{"-autoproxy"},
Description: `Java1.5+: use the OS proxy settings`,
}, {
Name: []string{"-main"},
Description: `Override Ant's normal entry point`,
Args: []model.Arg{{
Name: "class",
}},
}},
}
}
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More