
Product
Socket Now Supports pylock.toml Files
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
oclif-plugin-completion
Advanced tools
oclif plugin for generating shell completions
Consider the following dummy
CLI:
Usage: dummy <COMMAND> [OPTION...]
Commands:
open <ro|rw> open a dummy (as read-only or read-write)
save save a dummy
search search a dummy
Options (open):
-i, --id dummy id
-f, --file path to dummy file
-d, --dir path to dummy directory (default: ./dummies)
-v, --verbose boolean flag
Options (save):
-n, --name dummy name
-a, --age dummy age
-t, --tag dummy tag, can be multiple (a/b/c/d)
-f, --file path to dummy file
-d, --dir path to dummy directory (default: ./dummies)
-o, --overwrite boolean flag
-v, --verbose boolean flag
Options (search):
-n, --name dummy name
-a, --age dummy age
-t, --tag dummy tag, can be multiple (a/b/c/d)
-v, --verbose boolean flag
Running on the current directory with tree:
|- dir-one/
| |- 042.dummy-with-id-042.json
|- dir-two/
|- dummies/
| |- 109.dummy-with-id-109.json
| |- 110.dummy-with-id-110.json
| |- 111.dummy-with-id-111.json
|- file-one.txt
|- file-two.txt
File Path completion:
Completion will suggest the files on disk matching glob pattern.
Directory Path completion:
Completion will suggest the directories on disk matching glob pattern.
Dynamic Runtime completion:
Completion will generate the suggestion based on state of runtime environment and/or configuration.
Feature | Input | Output |
---|---|---|
File Path completion | dummy open --file=./dir/one/<TAB> | 042.dummy-with-id-042.json |
Directory Path completion | dummy open --dir ./di<TAB> | dir-one dir-two |
Dynamic Runtime completion | dummy open --id <TAB> | 109 110 111 |
Dynamic Runtime completion | dummy open -d ./dir-one --id <TAB> | 042 |
:+1: | :-1: | :grey_exclamation: | :bug: | :heavy_check_mark: | :heavy_minus_sign: | :x: |
---|---|---|---|---|---|---|
Supported | Unsupported | Unknown | Bug | Implemented | Partially Implemented | Not Implemented |
oclif | Feature | Example | Bash | Zsh | Fish |
---|---|---|---|---|---|
:+1: | Positional argument | ro | :grey_exclamation: :x: | :+1: :heavy_check_mark: | :grey_exclamation: :x: |
:+1: | Basic Long | --name john --age 42 --overwrite | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: | Alternate Long | --name=john --age=42 | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: | Basic Short | -n john -a 42 -o | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: | Alternative Short | -njohn -a42 | :+1: :x: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: | Stacking Short | -ov | :grey_exclamation: :x: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: | Stacking Short with argument | -ova 42 | :grey_exclamation: :x: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: | Options / Enum | --tag a | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: | :+1: :heavy_check_mark: |
:+1: :bug: | Multiple | -t c --tag d | :+1: :heavy_minus_sign: | :+1: :heavy_minus_sign: | :+1: :heavy_minus_sign: |
:-1: | File Path completion | --file ... | :+1: :heavy_minus_sign: | :+1: :x: | :+1: :heavy_minus_sign: |
:-1: | Directory Path completion | --dir ... | :+1: :heavy_minus_sign: | :+1: :x: | :+1: :heavy_minus_sign: |
:-1: | Dynamic Runtime completion | --dir ./dummies --id 111 | :+1: :x: | :+1: :x: | :+1: :x: |
Reference: Bash Completion
You need to have bash-completion
package installed on your system.
You can enable completion for Bash using various methods. A few of them are mentioned below:
vanilla (.bashrc):
Add the following line in your .bashrc
file:
eval "$(dummy completion:generate --shell bash);"
vanilla (completions directory):
Run the following command:
dummy completion:generate --shell bash | tee ~/.local/share/bash-completion/completions/dummy
Depending on you system, the completion script can also be put into one of these directories:
${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions
(linux/macos)/usr/local/share/bash-completion/completions
(macos)/usr/share/bash-completion/completions
(linux)Reference: Zsh Completion System
You can enable completion for Zsh using various methods. A few of them are mentioned below:
vanilla (.zshrc):
Add the following line in your .zshrc
file:
eval "$(dummy completion:generate --shell zsh); compdef _dummy dummy;"
vanilla (site-functions directory):
Run the following command:
dummy completion:generate --shell zsh | tee "$(echo ${FPATH} | tr ':' '\n' | grep site-functions | head -n1)/_dummy"
The completion script can also be put into one of the directories present in $FPATH
variable:
echo $FPATH
Run the following commands:
dummy completion:generate --shell zsh > ~/.local/share/zsh/completions/_dummy
zinit creinstall ~/.local/share/zsh/completions
Reference: Fish Completion
Reference: Where to put completions
You can enable completion for Fish using various methods. A few of them are mentioned below:
vanilla (completions directory):
Run the following command:
dummy completion:generate --shell fish | tee ~/.config/fish/completions/dummy.fish
dummy completion
Generate shell completion script
USAGE
$ dummy completion
OPTIONS
-s, --shell=bash|fish|zsh (required) Name of shell
DESCRIPTION
Run this command to see instructions for your shell.
EXAMPLE
$ dummy completion --shell zsh
See code: src/commands/completion/index.ts
dummy completion:generate
Generates completion script
USAGE
$ dummy completion:generate
OPTIONS
-s, --shell=bash|fish|zsh (required) Name of shell
DESCRIPTION
Run the "completion" command to see instructions about how to use the script generated by this command.
EXAMPLE
$ dummy completion:generate --shell zsh
See code: src/commands/completion/generate/index.ts
dummy completion:generate:alias ALIAS
Generates completion script for alias
USAGE
$ dummy completion:generate:alias ALIAS
ARGUMENTS
ALIAS name of the alias
OPTIONS
-s, --shell=bash|fish (required) Name of shell
DESCRIPTION
This needs the completion script for the main command to be present.
Check the "completion:generate" command.
FAQs
oclif plugin for generating shell completions
The npm package oclif-plugin-completion receives a total of 6,193 weekly downloads. As such, oclif-plugin-completion popularity was classified as popular.
We found that oclif-plugin-completion demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.
Research
Security News
Malicious Ruby gems typosquat Fastlane plugins to steal Telegram bot tokens, messages, and files, exploiting demand after Vietnam’s Telegram ban.