Skip to content

Commit

Permalink
feat: migrate to typescript
Browse files Browse the repository at this point in the history
  • Loading branch information
cstrnt committed Apr 9, 2021
1 parent 0782d5e commit 11c51fe
Show file tree
Hide file tree
Showing 8 changed files with 577 additions and 268 deletions.
28 changes: 28 additions & 0 deletions dev/rails.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
export const completionSpec: Fig.Spec = {
name: "rails",
description: "Ruby on Rails deployment script",
options: [
{
name: ["-d,", "--no-docs"],
description: "Deploys rails without any documentation.",
},
{
name: ["-C,", "--copy"],
description:
"Deploys rails by copying instead of linking vendor libraries.",
},
{
name: ["-F,", "--force-overwrite"],
description: "Overwrites all previously deployed files, if any.",
},
{
name: ["-D,", "--database"],
description:
"Specify the database to be used. Supported values are mysql, oracle, postgresql, sqlite3, frontbase and ibm_db",
},
{
name: ["-I,", "--internal"],
description: "Options to be passed to the upstream rails script.",
},
],
};
60 changes: 60 additions & 0 deletions dev/rake.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
export const completionSpec: Fig.Spec = {
name: "rake",
description: "a ruby build program with capabilities similar to make",
args: {
name: "targets",
variadic: true,
},
options: [
{
name: ["-n", "--dry-run"],
description: "Do a dry run without executing actions.",
},
{
name: ["-H", "--help"],
description: "Display this help message.",
},
{
name: ["-I", "--libdir=LIBDIR"],
description: "Include LIBDIR in the search path for required modules.",
},
{
name: ["-P", "--prereqs"],
description: "Display the tasks and dependencies, then exit.",
},
{
name: ["-q", "--quiet"],
description: "Do not log messages to standard output",
},
{
name: ["-f", "--rakefile=FILE"],
description: "Use FILE as the rakefile.",
},
{
name: ["-r", "--require=MODULE"],
description: "Require MODULE before executing rakefile.",
},
{
name: ["-s", "--silent"],
description:
"Like --quiet, but also suppresses the 'in directory' announcement.",
},
{
name: ["-T", "--tasks"],
description: "Display the tasks and dependencies, then exit.",
},
{
name: ["-t", "--trace"],
description: "Turn on invoke/execute tracing, enable full backtrace.",
},
{ name: ["-h", "--usage"], description: "Display usage." },
{
name: ["-v", "--verbose"],
description: "Log message to standard output (default).",
},
{
name: ["-V", "--version"],
description: "Display the program version.",
},
],
};
87 changes: 87 additions & 0 deletions dev/rbenv.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
export const completionSpec: Fig.Spec = {
name: "rbenv",
description: "",
subcommands: [
{
name: "commands",
description: "List all available rbenv commands",
options: [
{
name: ["--sh"],
},
{
name: ["--no-sh"],
},
],
subcommands: [],
},
{
name: "global",
description: "Set or show the global Ruby version",
options: [],
subcommands: [],
args: {},
},
{
name: "install",
description: "Install a Ruby version using ruby-build",
options: [
{
name: ["--version"],
description: "Show version of ruby-build ",
args: {},
},
],
subcommands: [],
},
{
name: "local",
description: "Set or show the local application-specific Ruby version",
options: [],
subcommands: [],
},
{
name: "rehash",
description: "Rehash rbenv shims (run this after installing executables)",
options: [],
subcommands: [],
},
{
name: "shell",
description: "Set or show the shell-specific Ruby version",
subcommands: [],
},
{
name: "uninstall",
description: "Uninstall a specific Ruby version",
options: [
{
name: ["-f"],
description:
"If the version does not exist, do not display an error message. ",
args: {},
},
],
subcommands: [],
},
{
name: "versions",
description: "List installed Ruby versions",
options: [],
subcommands: [],
},
{
name: "whence",
description: "List all Ruby versions that contain the given executable",
options: [],
subcommands: [],
},
{
name: "which",
description: "Display the full path to an executable",
options: [],
subcommands: [],
args: [{ name: "command" }],
},
],
};
125 changes: 125 additions & 0 deletions dev/ruby.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
export const completionSpec: Fig.Spec = {
name: "ruby",
description: "Interpreted object-oriented scripting language",
options: [
{
name: ["--copyright"],
description: "Prints the copyright notice.",
},
{
name: ["--version"],
description: "Prints the version of Ruby interpreter.",
},
{
name: ["-0"],
description:
"Specifies the input record separator ($/) as an octal number.",
args: { name: "octal" },
},
{
name: ["-C"],
description: "Causes Ruby to switch to the directory.",
args: { name: "directory" },
},
{
name: ["-F"],
description: "Specifies input field separator ($;).",
args: { name: "pattern" },
},
{
name: ["-I"],
description:
"Used to tell Ruby where to load the library scripts. Directory path will be added to the load-path variable ($:).",
args: { name: "directory" },
},
{
name: ["-K"],
description: "Specifies KANJI (Japanese) encoding.",
args: { name: "kcode" },
},
{
name: ["-S"],
description:
"Makes Ruby use the PATH environment variable to search for script, unless if its name begins with a slash. This is used to emulate #! on machines that don't support it, in the following manner: #! /usr/local/bin/ruby # This line makes the next one a comment in Ruby \\ exec /usr/local/bin/ruby -S $0 $*",
},
{
name: ["-T"],
description:
"] Turns on taint checks at the specified level (default 1).",
args: { name: "level" },
},
{
name: ["-a"],
description: "Turns on auto-split mode when used with -n or -p.",
},
{
name: ["-c"],
description:
"Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print “Syntax OK” to the standard output.",
},
{
name: ["-d", "--debug"],
description: "Turns on debug mode. $DEBUG will be set to true.",
},
{
name: ["-e"],
description:
"Specifies script from command-line while telling Ruby not to search the rest of arguments for a script file name.",
args: { name: "command" },
},
{
name: ["-h", "--help"],
description: "Prints a summary of the options.",
},
{
name: ["-i"],
description:
"Specifies in-place-edit mode. The extension, if specified, is added to old file name to make a backup copy.",
args: { name: "extension" },
},
{
name: ["-l"],
description:
"Enables automatic line-ending processing, which means to firstly set $\\ to the value of $/, and secondly chops every line read using chop!.",
},
{
name: ["-n"],
description:
"Causes Ruby to assume the following loop around your script.",
},
{
name: ["-p"],
description: `Acts mostly same as -n switch, but print the value of variable $_ at the each end of the loop.`,
},
{
name: ["-r"],
description: "Causes Ruby to load the library using require.",
args: { name: "library" },
},
{
name: ["-s"],
description:
"Enables some switch parsing for switches after script name but before any file name arguments (or before a --).",
},
{
name: ["-v", "--verbose"],
description: "Enables verbose mode.",
},
{
name: ["-w"],
description:
"Enables verbose mode without printing version message at the beginning. It sets the $VERBOSE variable to true.",
},
{
name: ["-x"],
description:
"] Tells Ruby that the script is embedded in a message. Leading garbage will be discarded until the first that starts with “#!” and contains the string, “ruby”. Any meaningful switches on that line will applied. The end of script must be specified with either EOF, ^D (control-D), ^Z (control-Z), or reserved word __END__. If the directory name is specified, Ruby will switch to that directory before executing script.",
args: { name: "directory" },
},
{
name: ["-y", "--yydebug"],
description:
"Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compiling scripts. You don't have to specify this switch, unless you are going to debug the Ruby interpreter.",
},
],
};
49 changes: 25 additions & 24 deletions specs/rails.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
var completionSpec = {
name: 'rails',
description: 'Ruby on Rails deployment script',
name: "rails",
description: "Ruby on Rails deployment script",
options: [
{
name: [ '-d,', '--no-docs' ],
description: 'Deploys rails without any documentation.'
},
{
name: [ '-C,', '--copy' ],
description: 'Deploys rails by copying instead of linking vendor libraries.'
},
{
name: [ '-F,', '--force-overwrite' ],
description: 'Overwrites all previously deployed files, if any.'
},
{
name: [ '-D,', '--database' ],
description: 'Specify the database to be used. Supported values are mysql, oracle, postgresql, sqlite3, frontbase and ibm_db'
},
{
name: [ '-I,', '--internal' ],
description: 'Options to be passed to the upstream rails script.'
},
]
}
{
name: ["-d,", "--no-docs"],
description: "Deploys rails without any documentation.",
},
{
name: ["-C,", "--copy"],
description: "Deploys rails by copying instead of linking vendor libraries.",
},
{
name: ["-F,", "--force-overwrite"],
description: "Overwrites all previously deployed files, if any.",
},
{
name: ["-D,", "--database"],
description: "Specify the database to be used. Supported values are mysql, oracle, postgresql, sqlite3, frontbase and ibm_db",
},
{
name: ["-I,", "--internal"],
description: "Options to be passed to the upstream rails script.",
},
],
};

Loading

0 comments on commit 11c51fe

Please sign in to comment.