mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-23 02:35:38 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
de2d850d39
93 changed files with 871 additions and 1393 deletions
2
.github/dependencies.yml
vendored
2
.github/dependencies.yml
vendored
|
|
@ -28,7 +28,7 @@ dependencies:
|
|||
plugins/wd:
|
||||
repo: mfaerevaag/wd
|
||||
branch: master
|
||||
version: tag:v0.7.1
|
||||
version: tag:v0.9.0
|
||||
precopy: |
|
||||
set -e
|
||||
rm -r test
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
certifi==2024.7.4
|
||||
certifi==2024.8.30
|
||||
charset-normalizer==3.3.2
|
||||
idna==3.7
|
||||
PyYAML==6.0.1
|
||||
idna==3.9
|
||||
PyYAML==6.0.2
|
||||
requests==2.32.3
|
||||
semver==3.0.2
|
||||
urllib3==2.2.2
|
||||
urllib3==2.2.3
|
||||
|
|
|
|||
10
README.md
10
README.md
|
|
@ -194,7 +194,15 @@ ZSH_THEME="agnoster" # (this is one of the fancy ones)
|
|||
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
|
||||
```
|
||||
|
||||
_Note: many themes require installing a [Powerline Font](https://github.com/powerline/fonts) or a [Nerd Font](https://github.com/ryanoasis/nerd-fonts) in order to render properly. Without them, these themes will render [weird prompt symbols](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ#i-have-a-weird-character-in-my-prompt)_
|
||||
> [!NOTE]
|
||||
> You will many times see screenshots for a zsh theme, and try it out, and find that it doesn't look the same for you.
|
||||
>
|
||||
> This is because many themes require installing a [Powerline Font](https://github.com/powerline/fonts) or a [Nerd Font](https://github.com/ryanoasis/nerd-fonts) in order to render properly.
|
||||
> Without them, these themes will render weird prompt symbols. Check out [the FAQ](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ#i-have-a-weird-character-in-my-prompt) for more information.
|
||||
>
|
||||
> Also, beware that themes only control what your prompt looks like. This is, the text you see before or after your cursor, where you'll type your commands.
|
||||
> Themes don't control things such as the colors of your terminal window (known as _color scheme_) or the font of your terminal. These are settings that you can change in your terminal emulator.
|
||||
> For more information, see [what is a zsh theme](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ#what-is-a-zsh-theme).
|
||||
|
||||
Open up a new terminal window and your prompt should look something like this:
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,16 @@ function takeurl() {
|
|||
cd "$thedir"
|
||||
}
|
||||
|
||||
function takezip() {
|
||||
local data thedir
|
||||
data="$(mktemp)"
|
||||
curl -L "$1" > "$data"
|
||||
unzip "$data" -d "./"
|
||||
thedir="$(unzip -l "$data" | awk 'NR==4 {print $4}' | sed 's/\/.*//')"
|
||||
rm "$data"
|
||||
cd "$thedir"
|
||||
}
|
||||
|
||||
function takegit() {
|
||||
git clone "$1"
|
||||
cd "$(basename ${1%%.git})"
|
||||
|
|
@ -65,6 +75,8 @@ function takegit() {
|
|||
function take() {
|
||||
if [[ $1 =~ ^(https?|ftp).*\.(tar\.(gz|bz2|xz)|tgz)$ ]]; then
|
||||
takeurl "$1"
|
||||
elif [[ $1 =~ ^(https?|ftp).*\.(zip)$ ]]; then
|
||||
takezip "$1"
|
||||
elif [[ $1 =~ ^([A-Za-z0-9]\+@|https?|git|ssh|ftps?|rsync).*\.git/?$ ]]; then
|
||||
takegit "$1"
|
||||
else
|
||||
|
|
|
|||
14
lib/git.zsh
14
lib/git.zsh
|
|
@ -162,6 +162,18 @@ function git_current_branch() {
|
|||
echo ${ref#refs/heads/}
|
||||
}
|
||||
|
||||
# Outputs the name of the previously checked out branch
|
||||
# Usage example: git pull origin $(git_current_branch)
|
||||
# rev-parse --symbolic-full-name @{-1} only prints if it is a branch
|
||||
function git_previous_branch() {
|
||||
local ref
|
||||
ref=$(__git_prompt_git rev-parse --quiet --symbolic-full-name @{-1} 2> /dev/null)
|
||||
local ret=$?
|
||||
if [[ $ret != 0 ]] || [[ -z $ref ]]; then
|
||||
return # no git repo or non-branch previous ref
|
||||
fi
|
||||
echo ${ref#refs/heads/}
|
||||
}
|
||||
|
||||
# Gets the number of commits ahead from remote
|
||||
function git_commits_ahead() {
|
||||
|
|
@ -227,7 +239,7 @@ function _omz_git_prompt_status() {
|
|||
prefix_constant_map=(
|
||||
'\?\? ' 'UNTRACKED'
|
||||
'A ' 'ADDED'
|
||||
'M ' 'ADDED'
|
||||
'M ' 'MODIFIED'
|
||||
'MM ' 'MODIFIED'
|
||||
' M ' 'MODIFIED'
|
||||
'AM ' 'MODIFIED'
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ else
|
|||
if [[ -n "$GREP_OPTIONS" ]]; then
|
||||
# export grep, egrep and fgrep settings
|
||||
alias grep="grep $GREP_OPTIONS"
|
||||
alias egrep="grep -E $GREP_OPTIONS"
|
||||
alias fgrep="grep -F $GREP_OPTIONS"
|
||||
alias egrep="grep -E"
|
||||
alias fgrep="grep -F"
|
||||
|
||||
# write to cache file if cache directory is writable
|
||||
if [[ -w "$ZSH_CACHE_DIR" ]]; then
|
||||
|
|
|
|||
|
|
@ -1,9 +1,15 @@
|
|||
# Do nothing if op is not installed
|
||||
(( ${+commands[op]} )) || return
|
||||
|
||||
# Load op completion
|
||||
eval "$(op completion zsh)"
|
||||
compdef _op op
|
||||
# If the completion file doesn't exist yet, we need to autoload it and
|
||||
# bind it to `op`. Otherwise, compinit will have already done that.
|
||||
if [[ ! -f "$ZSH_CACHE_DIR/completions/_op" ]]; then
|
||||
typeset -g -A _comps
|
||||
autoload -Uz _op
|
||||
_comps[op]=_op
|
||||
fi
|
||||
|
||||
op completion zsh >| "$ZSH_CACHE_DIR/completions/_op" &|
|
||||
|
||||
# Load opswd function
|
||||
autoload -Uz opswd
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ function opswd() {
|
|||
|
||||
local password
|
||||
# Copy the password to the clipboard
|
||||
if ! password=$(op item get "$service" --fields password 2>/dev/null); then
|
||||
if ! password=$(op item get "$service" --reveal --fields password 2>/dev/null); then
|
||||
echo "error: could not obtain password for $service"
|
||||
return 1
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
# Aliases cheatsheet
|
||||
|
||||
**Maintainer:** [@hqingyi](https://github.com/hqingyi)
|
||||
|
||||
With lots of 3rd-party amazing aliases installed, this plugin helps list the shortcuts
|
||||
that are currently available based on the plugins you have enabled.
|
||||
|
||||
|
|
@ -13,6 +11,8 @@ plugins=(aliases)
|
|||
|
||||
Requirements: Python needs to be installed.
|
||||
|
||||
**Maintainer:** [@hqingyi](https://github.com/hqingyi)
|
||||
|
||||
## Usage
|
||||
|
||||
- `als`: show all aliases by group
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
# ansible plugin
|
||||
|
||||
## Introduction
|
||||
|
||||
The `ansible plugin` adds several aliases for useful [ansible](https://docs.ansible.com/ansible/latest/index.html) commands and [aliases](#aliases).
|
||||
|
||||
To use it, add `ansible` to the plugins array of your zshrc file:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
# Arduino CLI plugin
|
||||
|
||||
This plugin adds completion for the [arduino-cli](https://github.com/arduino/arduino-cli) tool.
|
||||
|
||||
To use it, add `arduino-cli` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
## asdf
|
||||
|
||||
**Maintainer:** [@RobLoach](https://github.com/RobLoach)
|
||||
|
||||
Adds integration with [asdf](https://github.com/asdf-vm/asdf), the extendable version manager, with support for Ruby, Node.js, Elixir, Erlang and more.
|
||||
|
||||
### Installation
|
||||
|
|
@ -28,3 +26,7 @@ asdf install nodejs latest
|
|||
asdf global nodejs latest
|
||||
asdf local nodejs latest
|
||||
```
|
||||
|
||||
### Maintainer
|
||||
|
||||
- [@RobLoach](https://github.com/RobLoach)
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ case $state in
|
|||
"random[Generate random intervals in a genome.]" \
|
||||
"reldist[Calculate the distribution of relative distances b/w two files.]" \
|
||||
"sample[Sample random records from file using reservoir sampling.]" \
|
||||
"shuffle[Randomly redistrubute intervals in a genome.]" \
|
||||
"shuffle[Randomly redistribute intervals in a genome.]" \
|
||||
"slop[Adjust the size of intervals.]" \
|
||||
"sort[Order the intervals in a file.]" \
|
||||
"subtract[Remove intervals based on overlaps b/w two files.]" \
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ One can configure a few things:
|
|||
- `bgnotify_bell` enabled or disables the terminal bell (default true)
|
||||
- `bgnotify_threshold` sets the notification threshold time (default 6 seconds)
|
||||
- `function bgnotify_formatted` lets you change the notification. You can for instance customize the message and pass in an icon.
|
||||
- `bgnotify_extraargs` appends extra args to notifier (e.g. `-e` for notify-send to create a transient notification)
|
||||
|
||||
Use these by adding a function definition before the your call to source. Example:
|
||||
|
||||
|
|
|
|||
|
|
@ -117,15 +117,15 @@ function bgnotify {
|
|||
local icon="$3"
|
||||
if (( ${+commands[terminal-notifier]} )); then # macOS
|
||||
local term_id=$(bgnotify_programid)
|
||||
terminal-notifier -message "$message" -title "$title" ${=icon:+-appIcon "$icon"} ${=term_id:+-activate "$term_id"} &>/dev/null
|
||||
terminal-notifier -message "$message" -title "$title" ${=icon:+-appIcon "$icon"} ${=term_id:+-activate "$term_id"} ${=bgnotify_extraargs:-} &>/dev/null
|
||||
elif (( ${+commands[growlnotify]} )); then # macOS growl
|
||||
growlnotify -m "$title" "$message"
|
||||
growlnotify -m "$title" "$message" ${=bgnotify_extraargs:-}
|
||||
elif (( ${+commands[notify-send]} )); then
|
||||
notify-send "$title" "$message" ${=icon:+--icon "$icon"}
|
||||
notify-send "$title" "$message" ${=icon:+--icon "$icon"} ${=bgnotify_extraargs:-}
|
||||
elif (( ${+commands[kdialog]} )); then # KDE
|
||||
kdialog --title "$title" --passivepopup "$message" 5
|
||||
kdialog --title "$title" --passivepopup "$message" 5 ${=bgnotify_extraargs:-}
|
||||
elif (( ${+commands[notifu]} )); then # cygwin
|
||||
notifu /m "$message" /p "$title" ${=icon:+/i "$icon"}
|
||||
notifu /m "$message" /p "$title" ${=icon:+/i "$icon"} ${=bgnotify_extraargs:-}
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ if (( ! $+commands[brew] )); then
|
|||
fi
|
||||
|
||||
if [[ -z "$HOMEBREW_PREFIX" ]]; then
|
||||
# Maintain compatability with potential custom user profiles, where we had
|
||||
# Maintain compatibility with potential custom user profiles, where we had
|
||||
# previously relied on always sourcing shellenv. OMZ plugins should not rely
|
||||
# on this to be defined due to out of order processing.
|
||||
export HOMEBREW_PREFIX="$(brew --prefix)"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
# catimg
|
||||
|
||||
Plugin for displaying images on the terminal using the `catimg.sh` script provided by [posva](https://github.com/posva/catimg)
|
||||
Plugin for displaying images on the terminal using the `catimg.sh` script provided by
|
||||
[posva](https://github.com/posva/catimg)
|
||||
|
||||
To use it, add `catimg` to the plugins array in your zshrc file:
|
||||
|
||||
|
|
@ -10,7 +11,7 @@ plugins=(... catimg)
|
|||
|
||||
## Requirements
|
||||
|
||||
- `convert` (ImageMagick)
|
||||
- `magick convert` (ImageMagick)
|
||||
|
||||
## Functions
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,11 @@
|
|||
|
||||
|
||||
function catimg() {
|
||||
if [[ -x `which convert` ]]; then
|
||||
zsh $ZSH/plugins/catimg/catimg.sh $@
|
||||
if (( $+commands[magick] )); then
|
||||
CONVERT_CMD="magick" zsh $ZSH/plugins/catimg/catimg.sh $@
|
||||
elif (( $+commands[convert] )); then
|
||||
CONVERT_CMD="convert" zsh $ZSH/plugins/catimg/catimg.sh $@
|
||||
else
|
||||
echo "catimg need convert (ImageMagick) to work)"
|
||||
echo "catimg need magick/convert (ImageMagick) to work)"
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,10 @@
|
|||
# GitHub: https://github.com/posva/catimg #
|
||||
################################################################################
|
||||
|
||||
# this should come from outside, either `magick` or `convert`
|
||||
# from imagemagick v7 and ahead `convert` is deprecated
|
||||
: ${CONVERT_CMD:=convert}
|
||||
|
||||
function help() {
|
||||
echo "Usage catimg [-h] [-w width] [-c char] img"
|
||||
echo "By default char is \" \" and w is the terminal width"
|
||||
|
|
@ -43,23 +47,23 @@ if [ ! "$WIDTH" ]; then
|
|||
else
|
||||
COLS=$(expr $WIDTH "/" $(echo -n "$CHAR" | wc -c))
|
||||
fi
|
||||
WIDTH=$(convert "$IMG" -print "%w\n" /dev/null)
|
||||
WIDTH=$($CONVERT_CMD "$IMG" -print "%w\n" /dev/null)
|
||||
if [ "$WIDTH" -gt "$COLS" ]; then
|
||||
WIDTH=$COLS
|
||||
fi
|
||||
|
||||
REMAP=""
|
||||
if convert "$IMG" -resize $COLS\> +dither -remap $COLOR_FILE /dev/null ; then
|
||||
if $CONVERT_CMD "$IMG" -resize $COLS\> +dither -remap $COLOR_FILE /dev/null ; then
|
||||
REMAP="-remap $COLOR_FILE"
|
||||
else
|
||||
echo "The version of convert is too old, don't expect good results :(" >&2
|
||||
#convert "$IMG" -colors 256 PNG8:tmp.png
|
||||
#IMG="tmp.png"
|
||||
# $CONVERT_CMD "$IMG" -colors 256 PNG8:tmp.png
|
||||
# IMG="tmp.png"
|
||||
fi
|
||||
|
||||
# Display the image
|
||||
I=0
|
||||
convert "$IMG" -resize $COLS\> +dither `echo $REMAP` txt:- 2>/dev/null |
|
||||
$CONVERT_CMD "$IMG" -resize $COLS\> +dither `echo $REMAP` txt:- 2>/dev/null |
|
||||
sed -e 's/.*none.*/NO NO NO/g' -e '1d;s/^.*(\(.*\)[,)].*$/\1/g;y/,/ /' |
|
||||
while read R G B f; do
|
||||
if [ ! "$R" = "NO" ]; then
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# chucknorris
|
||||
|
||||
Chuck Norris fortunes plugin for Oh My Zsh. Perfectly suitable as MOTD.
|
||||
Fortunes plugin for Chuck Norris for Oh My Zsh. Perfectly suitable as MOTD.
|
||||
|
||||
To use it add `chucknorris` to the plugins array in you zshrc file.
|
||||
|
||||
|
|
|
|||
|
|
@ -42,12 +42,12 @@ colorize_cat() {
|
|||
ZSH_COLORIZE_STYLE="emacs"
|
||||
fi
|
||||
|
||||
# Use stdin if no arguments have been passed.
|
||||
if [ $# -eq 0 ]; then
|
||||
# Use stdin if stdin is not attached to a terminal.
|
||||
if [ ! -t 0 ]; then
|
||||
if [[ "$ZSH_COLORIZE_TOOL" == "pygmentize" ]]; then
|
||||
pygmentize -O style="$ZSH_COLORIZE_STYLE" -g
|
||||
else
|
||||
chroma --style="$ZSH_COLORIZE_STYLE" --formatter="${ZSH_COLORIZE_CHROMA_FORMATTER:-terminal}"
|
||||
chroma --style="$ZSH_COLORIZE_STYLE" --formatter="${ZSH_COLORIZE_CHROMA_FORMATTER:-terminal}" "$@"
|
||||
fi
|
||||
return $?
|
||||
fi
|
||||
|
|
|
|||
37
plugins/conda/README.md
Normal file
37
plugins/conda/README.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# conda plugin
|
||||
|
||||
The conda plugin provides [aliases](#aliases) for `conda`, usually installed via [anaconda](https://www.anaconda.com/) or [miniconda](https://docs.conda.io/en/latest/miniconda.html).
|
||||
|
||||
To use it, add `conda` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... conda)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
| :------- | :-------------------------------------- | :------------------------------------------------------------------------------ |
|
||||
| `cna` | `conda activate` | Activate the specified conda environment |
|
||||
| `cnab` | `conda activate base` | Activate the base conda environment |
|
||||
| `cncf` | `conda env create -f` | Create a new conda environment from a YAML file |
|
||||
| `cncn` | `conda create -y -n` | Create a new conda environment with the given name |
|
||||
| `cnconf` | `conda config` | View or modify conda configuration |
|
||||
| `cncp` | `conda create -y -p` | Create a new conda environment with the given prefix |
|
||||
| `cncr` | `conda create -n` | Create new virtual environment with given name |
|
||||
| `cncss` | `conda config --show-source` | Show the locations of conda configuration sources |
|
||||
| `cnde` | `conda deactivate` | Deactivate the current conda environment |
|
||||
| `cnel` | `conda env list` | List all available conda environments |
|
||||
| `cni` | `conda install` | Install given package |
|
||||
| `cniy` | `conda install -y` | Install given package without confirmation |
|
||||
| `cnl` | `conda list` | List installed packages in the current environment |
|
||||
| `cnle` | `conda list --export` | Export the list of installed packages in the current environment |
|
||||
| `cnles` | `conda list --explicit > spec-file.txt` | Export the list of installed packages in the current environment to a spec file |
|
||||
| `cnr` | `conda remove` | Remove given package |
|
||||
| `cnrn` | `conda remove -y -all -n` | Remove all packages in the specified environment |
|
||||
| `cnrp` | `conda remove -y -all -p` | Remove all packages in the specified prefix |
|
||||
| `cnry` | `conda remove -y` | Remove given package without confirmation |
|
||||
| `cnsr` | `conda search` | Search conda repositories for package |
|
||||
| `cnu` | `conda update` | Update conda package manager |
|
||||
| `cnua` | `conda update --all` | Update all installed packages |
|
||||
| `cnuc` | `conda update conda` | Update conda package manager |
|
||||
23
plugins/conda/conda.plugin.zsh
Normal file
23
plugins/conda/conda.plugin.zsh
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
alias cna='conda activate'
|
||||
alias cnab='conda activate base'
|
||||
alias cncf='conda env create -f'
|
||||
alias cncn='conda create -y -n'
|
||||
alias cnconf='conda config'
|
||||
alias cncp='conda create -y -p'
|
||||
alias cncr='conda create -n'
|
||||
alias cncss='conda config --show-source'
|
||||
alias cnde='conda deactivate'
|
||||
alias cnel='conda env list'
|
||||
alias cni='conda install'
|
||||
alias cniy='conda install -y'
|
||||
alias cnl='conda list'
|
||||
alias cnle='conda list --export'
|
||||
alias cnles='conda list --explicit > spec-file.txt'
|
||||
alias cnr='conda remove'
|
||||
alias cnrn='conda remove -y -all -n'
|
||||
alias cnrp='conda remove -y -all -p'
|
||||
alias cnry='conda remove -y'
|
||||
alias cnsr='conda search'
|
||||
alias cnu='conda update'
|
||||
alias cnua='conda update --all'
|
||||
alias cnuc='conda update conda'
|
||||
|
|
@ -1,13 +1,11 @@
|
|||
# dbt plugin
|
||||
|
||||
## Introduction
|
||||
|
||||
The `dbt plugin` adds several aliases for useful [dbt](https://docs.getdbt.com/) commands and
|
||||
[aliases](#aliases).
|
||||
|
||||
To use it, add `dbt` to the plugins array of your zshrc file:
|
||||
|
||||
```
|
||||
```zsh
|
||||
plugins=(... dbt)
|
||||
```
|
||||
|
||||
|
|
@ -26,4 +24,4 @@ plugins=(... dbt)
|
|||
|
||||
## Maintainer
|
||||
|
||||
### [msempere](https://github.com/msempere)
|
||||
- [msempere](https://github.com/msempere)
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
# docker-machine plugin for oh my zsh
|
||||
|
||||
### Usage
|
||||
|
||||
#### docker-vm
|
||||
Will create a docker-machine with the name "dev" (required only once)
|
||||
To create a second machine call "docker-vm foobar" or pass any other name
|
||||
|
||||
#### docker-up
|
||||
This will start your "dev" docker-machine (if necessary) and set it as the active one
|
||||
To start a named machine use "docker-up foobar"
|
||||
|
||||
#### docker-switch dev
|
||||
Use this to activate a running docker-machine (or to switch between multiple machines)
|
||||
You need to call either this or docker-up when opening a new terminal
|
||||
|
||||
#### docker-stop
|
||||
This will stop your "dev" docker-machine
|
||||
To stop a named machine use "docker-stop foobar"
|
||||
|
|
@ -1,359 +0,0 @@
|
|||
#compdef docker-machine
|
||||
# Description
|
||||
# -----------
|
||||
# zsh completion for docker-machine
|
||||
# https://github.com/leonhartX/docker-machine-zsh-completion
|
||||
# -------------------------------------------------------------------------
|
||||
# Version
|
||||
# -------
|
||||
# 0.1.1
|
||||
# -------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
# * Ke Xu <leonhartx.k@gmail.com>
|
||||
# -------------------------------------------------------------------------
|
||||
# Inspiration
|
||||
# -----------
|
||||
# * @sdurrheimer docker-compose-zsh-completion https://github.com/sdurrheimer/docker-compose-zsh-completion
|
||||
# * @ilkka _docker-machine
|
||||
|
||||
|
||||
__docker-machine_get_hosts() {
|
||||
[[ $PREFIX = -* ]] && return 1
|
||||
local state
|
||||
declare -a hosts
|
||||
state=$1; shift
|
||||
if [[ $state != all ]]; then
|
||||
hosts=(${(f)"$(_call_program commands docker-machine ls -q --filter state=$state)"})
|
||||
else
|
||||
hosts=(${(f)"$(_call_program commands docker-machine ls -q)"})
|
||||
fi
|
||||
_describe 'host' hosts "$@" && ret=0
|
||||
return ret
|
||||
}
|
||||
|
||||
__docker-machine_hosts_with_state() {
|
||||
declare -a hosts
|
||||
hosts=(${(f)"$(_call_program commands docker-machine ls -f '{{.Name}}\:{{.DriverName}}\({{.State}}\)\ {{.URL}}')"})
|
||||
_describe 'host' hosts
|
||||
}
|
||||
|
||||
__docker-machine_hosts_all() {
|
||||
__docker-machine_get_hosts all "$@"
|
||||
}
|
||||
|
||||
__docker-machine_hosts_running() {
|
||||
__docker-machine_get_hosts Running "$@"
|
||||
}
|
||||
|
||||
__docker-machine_get_swarm() {
|
||||
declare -a swarms
|
||||
swarms=(${(f)"$(_call_program commands docker-machine ls -f {{.Swarm}} | awk '{print $1}')"})
|
||||
_describe 'swarm' swarms
|
||||
}
|
||||
|
||||
__docker-machine_hosts_and_files() {
|
||||
_alternative "hosts:host:__docker-machine_hosts_all -qS ':'" 'files:files:_path_files'
|
||||
}
|
||||
|
||||
__docker-machine_filters() {
|
||||
[[ $PREFIX = -* ]] && return 1
|
||||
integer ret=1
|
||||
|
||||
if compset -P '*='; then
|
||||
case "${${words[-1]%=*}#*=}" in
|
||||
(driver)
|
||||
_describe -t driver-filter-opts "driver filter" opts_driver && ret=0
|
||||
;;
|
||||
(swarm)
|
||||
__docker-machine_get_swarm && ret=0
|
||||
;;
|
||||
(state)
|
||||
opts_state=('Running' 'Paused' 'Saved' 'Stopped' 'Stopping' 'Starting' 'Error')
|
||||
_describe -t state-filter-opts "state filter" opts_state && ret=0
|
||||
;;
|
||||
(name)
|
||||
__docker-machine_hosts_all && ret=0
|
||||
;;
|
||||
(label)
|
||||
_message 'label' && ret=0
|
||||
;;
|
||||
*)
|
||||
_message 'value' && ret=0
|
||||
;;
|
||||
esac
|
||||
else
|
||||
opts=('driver' 'swarm' 'state' 'name' 'label')
|
||||
_describe -t filter-opts "filter" opts -qS "=" && ret=0
|
||||
fi
|
||||
return ret
|
||||
}
|
||||
|
||||
__get_swarm_discovery() {
|
||||
declare -a masters services
|
||||
local service
|
||||
services=()
|
||||
masters=($(docker-machine ls -f {{.Swarm}} |grep '(master)' |awk '{print $1}'))
|
||||
for master in $masters; do
|
||||
service=${${${(f)"$(_call_program commands docker-machine inspect -f '{{.HostOptions.SwarmOptions.Discovery}}:{{.Name}}' $master)"}/:/\\:}}
|
||||
services=($services $service)
|
||||
done
|
||||
_describe -t services "swarm service" services && ret=0
|
||||
return ret
|
||||
}
|
||||
|
||||
__get_create_argument() {
|
||||
typeset -g docker_machine_driver
|
||||
if [[ CURRENT -le 2 ]]; then
|
||||
docker_machine_driver="none"
|
||||
elif [[ CURRENT > 2 && $words[CURRENT-2] = '-d' || $words[CURRENT-2] = '--driver' ]]; then
|
||||
docker_machine_driver=$words[CURRENT-1]
|
||||
elif [[ $words[CURRENT-1] =~ '^(-d|--driver)=' ]]; then
|
||||
docker_machine_driver=${${words[CURRENT-1]}/*=/}
|
||||
fi
|
||||
local driver_opt_cmd
|
||||
local -a opts_provider opts_common opts_read_argument
|
||||
opts_read_argument=(
|
||||
": :->argument"
|
||||
)
|
||||
opts_common=(
|
||||
$opts_help \
|
||||
'(--driver -d)'{--driver=,-d=}'[Driver to create machine with]:dirver:->driver-option' \
|
||||
'--engine-install-url=[Custom URL to use for engine installation]:url' \
|
||||
'*--engine-opt=[Specify arbitrary flags to include with the created engine in the form flag=value]:flag' \
|
||||
'*--engine-insecure-registry=[Specify insecure registries to allow with the created engine]:registry' \
|
||||
'*--engine-registry-mirror=[Specify registry mirrors to use]:mirror' \
|
||||
'*--engine-label=[Specify labels for the created engine]:label' \
|
||||
'--engine-storage-driver=[Specify a storage driver to use with the engine]:storage-driver:->storage-driver-option' \
|
||||
'*--engine-env=[Specify environment variables to set in the engine]:environment' \
|
||||
'--swarm[Configure Machine with Swarm]' \
|
||||
'--swarm-image=[Specify Docker image to use for Swarm]:image' \
|
||||
'--swarm-master[Configure Machine to be a Swarm master]' \
|
||||
'--swarm-discovery=[Discovery service to use with Swarm]:service:->swarm-service' \
|
||||
'--swarm-strategy=[Define a default scheduling strategy for Swarm]:strategy:(spread binpack random)' \
|
||||
'*--swarm-opt=[Define arbitrary flags for swarm]:flag' \
|
||||
'*--swarm-join-opt=[Define arbitrary flags for Swarm join]:flag' \
|
||||
'--swarm-host=[ip/socket to listen on for Swarm master]:host' \
|
||||
'--swarm-addr=[addr to advertise for Swarm (default: detect and use the machine IP)]:address' \
|
||||
'--swarm-experimental[Enable Swarm experimental features]' \
|
||||
'*--tls-san=[Support extra SANs for TLS certs]:option'
|
||||
)
|
||||
driver_opt_cmd="docker-machine create -d $docker_machine_driver | grep $docker_machine_driver | sed -e 's/\(--.*\)\ *\[\1[^]]*\]/*\1/g' -e 's/\(\[[^]]*\)/\\\\\\1\\\\/g' -e 's/\".*\"\(.*\)/\1/g' | awk '{printf \"%s[\", \$1; for(i=2;i<=NF;i++) {printf \"%s \", \$i}; print \"]\"}'"
|
||||
if [[ $docker_machine_driver != "none" ]]; then
|
||||
opts_provider=(${(f)"$(_call_program commands $driver_opt_cmd)"})
|
||||
_arguments \
|
||||
$opts_provider \
|
||||
$opts_read_argument \
|
||||
$opts_common && ret=0
|
||||
else
|
||||
_arguments $opts_common && ret=0
|
||||
fi
|
||||
case $state in
|
||||
(driver-option)
|
||||
_describe -t driver-option "driver" opts_driver && ret=0
|
||||
;;
|
||||
(storage-driver-option)
|
||||
_describe -t storage-driver-option "storage driver" opts_storage_driver && ret=0
|
||||
;;
|
||||
(swarm-service)
|
||||
__get_swarm_discovery && ret=0
|
||||
;;
|
||||
(argument)
|
||||
ret=0
|
||||
;;
|
||||
esac
|
||||
return ret
|
||||
}
|
||||
|
||||
|
||||
__docker-machine_subcommand() {
|
||||
local -a opts_help
|
||||
opts_help=("(- :)--help[Print usage]")
|
||||
local -a opts_only_host opts_driver opts_storage_driver opts_state
|
||||
opts_only_host=(
|
||||
"$opts_help"
|
||||
"*:host:__docker-machine_hosts_all"
|
||||
)
|
||||
opts_driver=('amazonec2' 'azure' 'digitalocean' 'exoscale' 'generic' 'google' 'hyperv' 'none' 'openstack' 'rackspace' 'softlayer' 'virtualbox' 'vmwarefusion' 'vmwarevcloudair' 'vmwarevsphere')
|
||||
opts_storage_driver=('overlay' 'aufs' 'btrfs' 'devicemapper' 'vfs' 'zfs')
|
||||
integer ret=1
|
||||
|
||||
case "$words[1]" in
|
||||
(active)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--timeout -t)'{--timeout=,-t=}'[Timeout in seconds, default to 10s]:seconds' && ret=0
|
||||
;;
|
||||
(config)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'--swarm[Display the Swarm config instead of the Docker daemon]' \
|
||||
"*:host:__docker-machine_hosts_all" && ret=0
|
||||
;;
|
||||
(create)
|
||||
__get_create_argument
|
||||
;;
|
||||
(env)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'--swarm[Display the Swarm config instead of the Docker daemon]' \
|
||||
'--shell=[Force environment to be configured for a specified shell: \[fish, cmd, powershell\], default is auto-detect]:shell' \
|
||||
'(--unset -u)'{--unset,-u}'[Unset variables instead of setting them]' \
|
||||
'--no-proxy[Add machine IP to NO_PROXY environment variable]' \
|
||||
'*:host:__docker-machine_hosts_running' && ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments ':subcommand:__docker-machine_commands' && ret=0
|
||||
;;
|
||||
(inspect)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--format -f)'{--format=,-f=}'[Format the output using the given go template]:template' \
|
||||
'*:host:__docker-machine_hosts_all' && ret=0
|
||||
;;
|
||||
(ip)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_running' && ret=0
|
||||
;;
|
||||
(kill)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_with_state' && ret=0
|
||||
;;
|
||||
(ls)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--quiet -q)'{--quiet,-q}'[Enable quiet mode]' \
|
||||
'*--filter=[Filter output based on conditions provided]:filter:->filter-options' \
|
||||
'(--timeout -t)'{--timeout=,-t=}'[Timeout in seconds, default to 10s]:seconds' \
|
||||
'(--format -f)'{--format=,-f=}'[Pretty-print machines using a Go template]:template' && ret=0
|
||||
case $state in
|
||||
(filter-options)
|
||||
__docker-machine_filters && ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(provision)
|
||||
_arguments $opts_only_host && ret=0
|
||||
;;
|
||||
(regenerate-certs)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--force -f)'{--force,-f}'[Force rebuild and do not prompt]' \
|
||||
'*:host:__docker-machine_hosts_all' && ret=0
|
||||
;;
|
||||
(restart)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_with_state' && ret=0
|
||||
;;
|
||||
(rm)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--force -f)'{--force,-f}'[Remove local configuration even if machine cannot be removed, also implies an automatic yes (`-y`)]' \
|
||||
'-y[Assumes automatic yes to proceed with remove, without prompting further user confirmation]' \
|
||||
'*:host:__docker-machine_hosts_with_state' && ret=0
|
||||
;;
|
||||
(scp)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--recursive -r)'{--recursive,-r}'[Copy files recursively (required to copy directories))]' \
|
||||
'*:files:__docker-machine_hosts_and_files' && ret=0
|
||||
;;
|
||||
(ssh)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_running' && ret=0
|
||||
;;
|
||||
(start)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_with_state' && ret=0
|
||||
;;
|
||||
(status)
|
||||
_arguments $opts_only_host && ret=0
|
||||
;;
|
||||
(stop)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_with_state' && ret=0
|
||||
;;
|
||||
(upgrade)
|
||||
_arguments $opts_only_host && ret=0
|
||||
;;
|
||||
(url)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:host:__docker-machine_hosts_running' && ret=0
|
||||
;;
|
||||
esac
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
|
||||
__docker-machine_commands() {
|
||||
local cache_policy
|
||||
|
||||
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
|
||||
if [[ -z "$cache_policy" ]]; then
|
||||
zstyle ":completion:${curcontext}:" cache-policy __docker-machine_caching_policy
|
||||
fi
|
||||
|
||||
if ( [[ ${+_docker_machine_subcommands} -eq 0 ]] || _cache_invalid docker_machine_subcommands) \
|
||||
&& ! _retrieve_cache docker_machine_subcommands;
|
||||
then
|
||||
local -a lines
|
||||
lines=(${(f)"$(_call_program commands docker-machine 2>&1)"})
|
||||
_docker_machine_subcommands=(${${${lines[$((${lines[(i)Commands:]} + 1)),${lines[(I) *]}]}## #}/$'\t'##/:})
|
||||
(( $#_docker_machine_subcommands > 0 )) && _store_cache docker_machine_subcommands _docker_machine_subcommands
|
||||
fi
|
||||
_describe -t docker-machine-commands "docker-machine command" _docker_machine_subcommands
|
||||
}
|
||||
|
||||
__docker-machine_caching_policy() {
|
||||
oldp=( "$1"(Nmh+1) )
|
||||
(( $#oldp ))
|
||||
}
|
||||
|
||||
_docker-machine() {
|
||||
if [[ $service != docker-machine ]]; then
|
||||
_call_function - _$service
|
||||
return
|
||||
fi
|
||||
|
||||
local curcontext="$curcontext" state line
|
||||
integer ret=1
|
||||
typeset -A opt_args
|
||||
|
||||
_arguments -C \
|
||||
"(- :)"{-h,--help}"[Show help]" \
|
||||
"(-D --debug)"{-D,--debug}"[Enable debug mode]" \
|
||||
'(-s --storage-path)'{-s,--storage-path}'[Configures storage path]:file:_files' \
|
||||
'--tls-ca-cert[CA to verify remotes against]:file:_files' \
|
||||
'--tls-ca-key[Private key to generate certificates]:file:_files' \
|
||||
'--tls-client-cert[Client cert to use for TLS]:file:_files' \
|
||||
'--tls-client-key[Private key used in client TLS auth]:file:_files' \
|
||||
'--github-api-token[Token to use for requests to the GitHub API]' \
|
||||
'--native-ssh[Use the native (Go-based) SSH implementation.]' \
|
||||
'--bugsnag-api-token[Bugsnag API token for crash reporting]' \
|
||||
'(- :)'{-v,--version}'[Print the version]' \
|
||||
"(-): :->command" \
|
||||
"(-)*:: :->option-or-argument" && ret=0
|
||||
|
||||
case $state in
|
||||
(command)
|
||||
__docker-machine_commands && ret=0
|
||||
;;
|
||||
(option-or-argument)
|
||||
curcontext=${curcontext%:*:*}:docker-machine-$words[1]:
|
||||
__docker-machine_subcommand && ret=0
|
||||
ret=0
|
||||
;;
|
||||
esac
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
_docker-machine "$@"
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
DEFAULT_MACHINE="default"
|
||||
|
||||
docker-up() {
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
docker-machine start "${DEFAULT_MACHINE}"
|
||||
eval $(docker-machine env "${DEFAULT_MACHINE}")
|
||||
else
|
||||
docker-machine start $1
|
||||
eval $(docker-machine env $1)
|
||||
fi
|
||||
echo $DOCKER_HOST
|
||||
}
|
||||
docker-stop() {
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
docker-machine stop "${DEFAULT_MACHINE}"
|
||||
else
|
||||
docker-machine stop $1
|
||||
fi
|
||||
}
|
||||
docker-switch() {
|
||||
eval $(docker-machine env $1)
|
||||
echo $DOCKER_HOST
|
||||
}
|
||||
docker-vm() {
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
docker-machine create -d virtualbox --virtualbox-disk-size 20000 --virtualbox-memory 4096 --virtualbox-cpu-count 2 "${DEFAULT_MACHINE}"
|
||||
else
|
||||
docker-machine create -d virtualbox --virtualbox-disk-size 20000 --virtualbox-memory 4096 --virtualbox-cpu-count 2 $1
|
||||
fi
|
||||
}
|
||||
|
|
@ -39,7 +39,7 @@ if (( ! $+commands[docker] )); then
|
|||
return
|
||||
fi
|
||||
|
||||
# Standarized $0 handling
|
||||
# Standardized $0 handling
|
||||
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
Update Emoji.py
|
||||
Refeshes OMZ emoji database based on the latest Unicode spec
|
||||
Refreshes OMZ emoji database based on the latest Unicode spec
|
||||
"""
|
||||
import re
|
||||
import json
|
||||
|
|
@ -95,7 +95,7 @@ def name_to_omz(_name, _group, _subgroup, _status):
|
|||
shortname = snake_case(_name)
|
||||
# Special treatment by status
|
||||
# Enables us to have every emoji combination,
|
||||
# even the one that are not officially sanctionned
|
||||
# even the one that are not officially sanctioned
|
||||
# and are implemented by, say, only one vendor
|
||||
if _status == "unqualified":
|
||||
shortname += "_unqualified"
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ plugins=(... extract)
|
|||
| `tlz` | Tarball with lzma compression |
|
||||
| `txz` | Tarball with lzma2 compression |
|
||||
| `tzst` | Tarball with zstd compression |
|
||||
| `vsix` | VS Code extension zip file |
|
||||
| `war` | Web Application archive (Java-based) |
|
||||
| `whl` | Python wheel file |
|
||||
| `xpi` | Mozilla XPI module file |
|
||||
|
|
|
|||
|
|
@ -1,7 +1,54 @@
|
|||
#compdef extract
|
||||
#autoload
|
||||
|
||||
local -a exts=(
|
||||
7z
|
||||
aar
|
||||
apk
|
||||
bz2
|
||||
cab
|
||||
cpio
|
||||
crx
|
||||
deb
|
||||
ear
|
||||
gz
|
||||
ipa
|
||||
ipsw
|
||||
jar
|
||||
lrz
|
||||
lz4
|
||||
lzma
|
||||
obscpio
|
||||
rar
|
||||
rpm
|
||||
sublime-package
|
||||
tar
|
||||
tar.bz2
|
||||
tar.gz
|
||||
tar.lrz
|
||||
tar.lz
|
||||
tar.lz4
|
||||
tar.xz
|
||||
tar.zma
|
||||
tar.zst
|
||||
tbz
|
||||
tbz2
|
||||
tgz
|
||||
tlz
|
||||
txz
|
||||
tzst
|
||||
vsix
|
||||
war
|
||||
whl
|
||||
xpi
|
||||
xz
|
||||
Z
|
||||
zip
|
||||
zpaq
|
||||
zst
|
||||
)
|
||||
|
||||
_arguments \
|
||||
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
|
||||
"*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|cab|cpio|deb|ear|gz|ipa|ipsw|jar|lrz|lz4|lzma|obscpio|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lrz|tar.lz|tar.lz4|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst|zpaq)(-.)'" \
|
||||
"*::archive file:_files -g '(#i)*.(${(j:|:)exts})(-.)'" \
|
||||
&& return 0
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ EOF
|
|||
(*.lz4) lz4 -d "$full_path" ;;
|
||||
(*.lzma) unlzma "$full_path" ;;
|
||||
(*.z) uncompress "$full_path" ;;
|
||||
(*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl) unzip "$full_path" ;;
|
||||
(*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx) unzip "$full_path" ;;
|
||||
(*.rar) unrar x -ad "$full_path" ;;
|
||||
(*.rpm)
|
||||
rpm2cpio "$full_path" | cpio --quiet -id ;;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
# Use Ctrl-Z to switch back to Vim
|
||||
# fancy-ctrl-z
|
||||
|
||||
Allows pressing Ctrl-Z again to switch back to a background job.
|
||||
|
||||
To use it, add `fancy-ctrl-z` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... fancy-ctrl-z)
|
||||
```
|
||||
|
||||
## Motivation
|
||||
|
||||
I frequently need to execute random commands in my shell. To achieve it I pause
|
||||
Vim by pressing Ctrl-z, type command and press fg<Enter> to switch back to Vim.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# gatsby autocomplete plugin
|
||||
|
||||
* Adds autocomplete options for all gatsby commands.
|
||||
Adds autocomplete options for all gatsby commands.
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ if is-at-least 5.5; then
|
|||
fi
|
||||
|
||||
{
|
||||
# Standarized $0 handling
|
||||
# Standardized $0 handling
|
||||
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ plugins=(... git)
|
|||
| `gcans!` | `git commit --verbose --all --signoff --no-edit --amend` |
|
||||
| `gcann!` | `git commit --verbose --all --date=now --no-edit --amend` |
|
||||
| `gc!` | `git commit --verbose --amend` |
|
||||
| `gcn` | `git commit --verbose --no-edit` |
|
||||
| `gcn!` | `git commit --verbose --no-edit --amend` |
|
||||
| `gcs` | `git commit -S` |
|
||||
| `gcss` | `git commit -S -s` |
|
||||
|
|
@ -114,6 +115,7 @@ plugins=(... git)
|
|||
| `gma` | `git merge --abort` |
|
||||
| `gmc` | `git merge --continue` |
|
||||
| `gms` | `git merge --squash` |
|
||||
| `gmff` | `git merge --ff-only` |
|
||||
| `gmom` | `git merge origin/$(git_main_branch)` |
|
||||
| `gmum` | `git merge upstream/$(git_main_branch)` |
|
||||
| `gmtl` | `git mergetool --no-prompt` |
|
||||
|
|
@ -125,6 +127,8 @@ plugins=(... git)
|
|||
| `gprav` | `git pull --rebase --autostash -v` |
|
||||
| `gprom` | `git pull --rebase origin $(git_main_branch)` |
|
||||
| `gpromi` | `git pull --rebase=interactive origin $(git_main_branch)` |
|
||||
| `gprum` | `git pull --rebase upstream $(git_main_branch)` |
|
||||
| `gprumi` | `git pull --rebase=interactive upstream $(git_main_branch)` |
|
||||
| `ggpull` | `git pull origin "$(git_current_branch)"` |
|
||||
| `ggl` | `git pull origin $(current_branch)` |
|
||||
| `gluc` | `git pull upstream $(git_current_branch)` |
|
||||
|
|
@ -154,6 +158,7 @@ plugins=(... git)
|
|||
| `grbd` | `git rebase $(git_develop_branch)` |
|
||||
| `grbm` | `git rebase $(git_main_branch)` |
|
||||
| `grbom` | `git rebase origin/$(git_main_branch)` |
|
||||
| `grbum` | `git rebase upstream/$(git_main_branch)` |
|
||||
| `grf` | `git reflog` |
|
||||
| `gr` | `git remote` |
|
||||
| `grv` | `git remote --verbose` |
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@ alias gcan!='git commit --verbose --all --no-edit --amend'
|
|||
alias gcans!='git commit --verbose --all --signoff --no-edit --amend'
|
||||
alias gcann!='git commit --verbose --all --date=now --no-edit --amend'
|
||||
alias gc!='git commit --verbose --amend'
|
||||
alias gcn='git commit --verbose --no-edit'
|
||||
alias gcn!='git commit --verbose --no-edit --amend'
|
||||
alias gcf='git config --list'
|
||||
alias gdct='git describe --tags $(git rev-list --tags --max-count=1)'
|
||||
|
|
@ -255,6 +256,7 @@ alias gm='git merge'
|
|||
alias gma='git merge --abort'
|
||||
alias gmc='git merge --continue'
|
||||
alias gms="git merge --squash"
|
||||
alias gmff="git merge --ff-only"
|
||||
alias gmom='git merge origin/$(git_main_branch)'
|
||||
alias gmum='git merge upstream/$(git_main_branch)'
|
||||
alias gmtl='git mergetool --no-prompt'
|
||||
|
|
@ -274,6 +276,8 @@ compdef _git ggu=git-checkout
|
|||
|
||||
alias gprom='git pull --rebase origin $(git_main_branch)'
|
||||
alias gpromi='git pull --rebase=interactive origin $(git_main_branch)'
|
||||
alias gprum='git pull --rebase upstream $(git_main_branch)'
|
||||
alias gprumi='git pull --rebase=interactive upstream $(git_main_branch)'
|
||||
alias ggpull='git pull origin "$(git_current_branch)"'
|
||||
|
||||
function ggl() {
|
||||
|
|
@ -337,6 +341,7 @@ alias grbs='git rebase --skip'
|
|||
alias grbd='git rebase $(git_develop_branch)'
|
||||
alias grbm='git rebase $(git_main_branch)'
|
||||
alias grbom='git rebase origin/$(git_main_branch)'
|
||||
alias grbum='git rebase upstream/$(git_main_branch)'
|
||||
alias grf='git reflog'
|
||||
alias gr='git remote'
|
||||
alias grv='git remote --verbose'
|
||||
|
|
|
|||
|
|
@ -1,127 +1,140 @@
|
|||
# heroku-alias
|
||||
🧬 Full alias for heroku cli
|
||||
|
||||
|🚀 last maj|📡 source|
|
||||
|---|---|
|
||||
|02/06/2020|[heroku cli doc](https://devcenter.heroku.com/articles/heroku-cli-commands)|
|
||||
Full alias list for Heroku CLI.
|
||||
|
||||
# Alias list
|
||||
To use it, add `heroku-alias` to the plugins array in your zshrc file:
|
||||
|
||||
## general
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| h | heroku |
|
||||
| hauto | heroku autocomplete $(echo $SHELL) |
|
||||
| hl | heroku local |
|
||||
|
||||
## config
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hc | heroku config |
|
||||
| hca | heroku config -a |
|
||||
| hcr | heroku config -r |
|
||||
| hcs | heroku config:set |
|
||||
| hcu | heroku config:unset |
|
||||
| hcfile | function hcfile bellow |
|
||||
|
||||
```sh
|
||||
hcfile() {
|
||||
echo " Which platform [-r/a name] ? "
|
||||
read platform
|
||||
echo " Which file ? "
|
||||
read file
|
||||
while read line;
|
||||
do heroku config:set "$platform" "$line";
|
||||
done < "$file"
|
||||
}
|
||||
```zsh
|
||||
plugins=(... heroku-alias)
|
||||
```
|
||||
|
||||
## apps and favorites
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| ha | heroku apps |
|
||||
| hpop | heroku create |
|
||||
| hkill | heroku apps:destroy |
|
||||
| hlog | heroku apps:errors |
|
||||
| hfav | heroku apps:favorites |
|
||||
| hfava | heroku apps:favorites:add |
|
||||
| hfavr | heroku apps:favorites:remove |
|
||||
| hai | heroku apps:info |
|
||||
| hair | heroku apps:info -r |
|
||||
| haia | heroku apps:info -a |
|
||||
## Requirements
|
||||
|
||||
# auth
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| h2fa | heroku auth:2fa |
|
||||
- [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli)
|
||||
|
||||
| 🚀 last maj | 📡 source |
|
||||
| ---------- | --------------------------------------------------------------------------- |
|
||||
| 02/06/2020 | [heroku cli doc](https://devcenter.heroku.com/articles/heroku-cli-commands) |
|
||||
|
||||
## Aliases
|
||||
|
||||
### general
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | ---------------------------------- |
|
||||
| h | heroku |
|
||||
| hauto | heroku autocomplete $(echo $SHELL) |
|
||||
| hl | heroku local |
|
||||
|
||||
### config
|
||||
|
||||
| Alias | Command |
|
||||
| ------ | ---------------------- |
|
||||
| hc | heroku config |
|
||||
| hca | heroku config -a |
|
||||
| hcr | heroku config -r |
|
||||
| hcs | heroku config:set |
|
||||
| hcu | heroku config:unset |
|
||||
|
||||
Also, you can use the `hcfile` function to set multiple config variables from a file,
|
||||
which asks you for a platform and a config file to read the configuration from.
|
||||
|
||||
### apps and favorites
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | ---------------------------- |
|
||||
| ha | heroku apps |
|
||||
| hpop | heroku create |
|
||||
| hkill | heroku apps:destroy |
|
||||
| hlog | heroku apps:errors |
|
||||
| hfav | heroku apps:favorites |
|
||||
| hfava | heroku apps:favorites:add |
|
||||
| hfavr | heroku apps:favorites:remove |
|
||||
| hai | heroku apps:info |
|
||||
| hair | heroku apps:info -r |
|
||||
| haia | heroku apps:info -a |
|
||||
|
||||
## auth
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | ----------------------- |
|
||||
| h2fa | heroku auth:2fa |
|
||||
| h2far | heroku auth:2fa:disable |
|
||||
|
||||
# access
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hac | heroku access |
|
||||
| hacr | heroku access -r |
|
||||
| haca | heroku access -a |
|
||||
| hadd | heroku access:add |
|
||||
| hdel | heroku access:remove |
|
||||
| hup | heroku access:update |
|
||||
## access
|
||||
|
||||
## addons
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hads | heroku addons -A |
|
||||
| hada | heroku addons -a |
|
||||
| hadr | heroku addons -r |
|
||||
| hadat | heroku addons:attach |
|
||||
| hadc | heroku addons:create |
|
||||
| Alias | Command |
|
||||
| ----- | -------------------- |
|
||||
| hac | heroku access |
|
||||
| hacr | heroku access -r |
|
||||
| haca | heroku access -a |
|
||||
| hadd | heroku access:add |
|
||||
| hdel | heroku access:remove |
|
||||
| hup | heroku access:update |
|
||||
|
||||
### addons
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | --------------------- |
|
||||
| hads | heroku addons -A |
|
||||
| hada | heroku addons -a |
|
||||
| hadr | heroku addons -r |
|
||||
| hadat | heroku addons:attach |
|
||||
| hadc | heroku addons:create |
|
||||
| hadel | heroku addons:destroy |
|
||||
| hadde | heroku addons:detach |
|
||||
| hadoc | heroku addons:docs |
|
||||
| hadde | heroku addons:detach |
|
||||
| hadoc | heroku addons:docs |
|
||||
|
||||
## login
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hin | heroku login |
|
||||
| hout | heroku logout |
|
||||
| hi | heroku login -i |
|
||||
| hwho | heroku auth:whoami |
|
||||
### login
|
||||
|
||||
## authorizations
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hth | heroku authorizations |
|
||||
| Alias | Command |
|
||||
| ----- | ------------------ |
|
||||
| hin | heroku login |
|
||||
| hout | heroku logout |
|
||||
| hi | heroku login -i |
|
||||
| hwho | heroku auth:whoami |
|
||||
|
||||
### authorizations
|
||||
|
||||
| Alias | Command |
|
||||
| ------ | ---------------------------- |
|
||||
| hth | heroku authorizations |
|
||||
| hthadd | heroku authorizations:create |
|
||||
| hthif | heroku authorizations:info |
|
||||
| hthif | heroku authorizations:info |
|
||||
| hthdel | heroku authorizations:revoke |
|
||||
| hthrot | heroku authorizations:rotate |
|
||||
| hthup | heroku authorizations:update |
|
||||
| hthup | heroku authorizations:update |
|
||||
|
||||
## plugins
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hp | heroku plugins |
|
||||
### plugins
|
||||
|
||||
# log
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
|hg | heroku logs|
|
||||
| hgt | heroku log tail |
|
||||
| Alias | Command |
|
||||
| ----- | -------------- |
|
||||
| hp | heroku plugins |
|
||||
|
||||
# database
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hpg | heroku pg |
|
||||
| hpsql | heroku pg:psql |
|
||||
| hpb | heroku pg:backups |
|
||||
| hpbc | heroku pg:backups:capture |
|
||||
| hpbd | heroku pg:backups:download |
|
||||
| hpbr | heroku pg:backups:restore |
|
||||
### log
|
||||
|
||||
# certs
|
||||
| Alias | Command |
|
||||
| ------------- | ------------- |
|
||||
| hssl | heroku certs |
|
||||
| hssli | heroku certs:info |
|
||||
| hssla | heroku certs:add |
|
||||
| Alias | Command |
|
||||
| ----- | --------------- |
|
||||
| hg | heroku logs |
|
||||
| hgt | heroku log tail |
|
||||
|
||||
### database
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | -------------------------- |
|
||||
| hpg | heroku pg |
|
||||
| hpsql | heroku pg:psql |
|
||||
| hpb | heroku pg:backups |
|
||||
| hpbc | heroku pg:backups:capture |
|
||||
| hpbd | heroku pg:backups:download |
|
||||
| hpbr | heroku pg:backups:restore |
|
||||
|
||||
### certs
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | ------------------- |
|
||||
| hssl | heroku certs |
|
||||
| hssli | heroku certs:info |
|
||||
| hssla | heroku certs:add |
|
||||
| hsslu | heroku certs:update |
|
||||
| hsslr | heroku certs:remove |
|
||||
|
|
|
|||
|
|
@ -295,8 +295,8 @@ _history-substring-search-begin() {
|
|||
fi
|
||||
|
||||
#
|
||||
# Escape and join query parts with wildcard character '*' as seperator
|
||||
# `(j:CHAR:)` join array to string with CHAR as seperator
|
||||
# Escape and join query parts with wildcard character '*' as separator
|
||||
# `(j:CHAR:)` join array to string with CHAR as separator
|
||||
#
|
||||
local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*"
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
|
||||
- Zaphod.
|
||||
%
|
||||
"`In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri.'"
|
||||
"`In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.'"
|
||||
|
||||
- The Book getting all nostalgic.
|
||||
%
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
# Isodate plugin
|
||||
|
||||
**Maintainer:** [@Frani](https://github.com/frani)
|
||||
|
||||
This plugin adds completion for the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601),
|
||||
as well as some aliases for common Date commands.
|
||||
|
||||
|
|
@ -11,6 +9,8 @@ To use it, add `isodate` to the plugins array in your zshrc file:
|
|||
plugins=(... isodate)
|
||||
```
|
||||
|
||||
**Maintainer:** [@Frani](https://github.com/frani)
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
|
|
|
|||
|
|
@ -1,16 +1,18 @@
|
|||
# Jira plugin #
|
||||
|
||||
CLI support for JIRA interaction
|
||||
|
||||
## Description ##
|
||||
# Jira plugin
|
||||
|
||||
This plugin provides command line tools for interacting with Atlassian's [JIRA](https://www.atlassian.com/software/jira) bug tracking software.
|
||||
|
||||
To use it, add `jira` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... jira)
|
||||
```
|
||||
|
||||
The interaction is all done through the web. No local installation of JIRA is necessary.
|
||||
|
||||
In this document, "JIRA" refers to the JIRA issue tracking server, and `jira` refers to the command this plugin supplies.
|
||||
|
||||
## Usage ##
|
||||
## Usage
|
||||
|
||||
This plugin supplies one command, `jira`, through which all its features are exposed. Most forms of this command open a JIRA page in your web browser.
|
||||
|
||||
|
|
@ -18,19 +20,19 @@ This plugin supplies one command, `jira`, through which all its features are exp
|
|||
|
||||
`jira help` or `jira usage` will print the below usage instructions
|
||||
|
||||
| Command | Description |
|
||||
| :------------ | :-------------------------------------------------------- |
|
||||
| `jira` | Performs the default action |
|
||||
| `jira new` | Opens a new Jira issue dialogue |
|
||||
| `jira ABC-123` | Opens an existing issue |
|
||||
| `jira ABC-123 m` | Opens an existing issue for adding a comment |
|
||||
| `jira dashboard [rapid_view]` | Opens your JIRA dashboard |
|
||||
| `jira mine` | Queries for your own issues |
|
||||
| `jira tempo` | Opens your JIRA Tempo |
|
||||
| `jira reported [username]` | Queries for issues reported by a user |
|
||||
| `jira assigned [username]` | Queries for issues assigned to a user |
|
||||
| `jira branch` | Opens an existing issue matching the current branch name |
|
||||
| `jira help` | Prints usage instructions |
|
||||
| Command | Description |
|
||||
| :---------------------------- | :------------------------------------------------------- |
|
||||
| `jira` | Performs the default action |
|
||||
| `jira new` | Opens a new Jira issue dialogue |
|
||||
| `jira ABC-123` | Opens an existing issue |
|
||||
| `jira ABC-123 m` | Opens an existing issue for adding a comment |
|
||||
| `jira dashboard [rapid_view]` | Opens your JIRA dashboard |
|
||||
| `jira mine` | Queries for your own issues |
|
||||
| `jira tempo` | Opens your JIRA Tempo |
|
||||
| `jira reported [username]` | Queries for issues reported by a user |
|
||||
| `jira assigned [username]` | Queries for issues assigned to a user |
|
||||
| `jira branch` | Opens an existing issue matching the current branch name |
|
||||
| `jira help` | Prints usage instructions |
|
||||
|
||||
|
||||
### Jira Branch usage notes
|
||||
|
|
@ -43,7 +45,7 @@ This is also checks if the prefix is in the name, and adds it if not, so: "MP-12
|
|||
|
||||
|
||||
|
||||
#### Debugging usage ####
|
||||
#### Debugging usage
|
||||
|
||||
These calling forms are for developers' use, and may change at any time.
|
||||
|
||||
|
|
@ -51,7 +53,7 @@ These calling forms are for developers' use, and may change at any time.
|
|||
jira dumpconfig # displays the effective configuration
|
||||
```
|
||||
|
||||
## Setup ##
|
||||
## Setup
|
||||
|
||||
The URL for your JIRA instance is set by `$JIRA_URL` or a `.jira_url` file.
|
||||
|
||||
|
|
@ -68,7 +70,7 @@ echo "https://jira.atlassian.com" >> .jira-url
|
|||
|
||||
(Note: The current implementation only looks in the current directory for `.jira-url` and `.jira-prefix`, not up the path, so if you are in a subdirectory of your project, it will fall back to your default JIRA URL. This will probably change in the future though.)
|
||||
|
||||
### Variables ###
|
||||
### Variables
|
||||
|
||||
* `$JIRA_URL` - Your JIRA instance's URL
|
||||
* `$JIRA_NAME` - Your JIRA username; used as the default user for `assigned`/`reported` searches
|
||||
|
|
@ -79,6 +81,6 @@ echo "https://jira.atlassian.com" >> .jira-url
|
|||
* `$JIRA_TEMPO_PATH` - Your JIRA tempo url path; defaults to "/secure/Tempo.jspa"
|
||||
|
||||
|
||||
### Browser ###
|
||||
### Browser
|
||||
|
||||
Your default web browser, as determined by how `open_command` handles `http://` URLs, is used for interacting with the JIRA instance. If you change your system's URL handler associations, it will change the browser that `jira` uses.
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Usage is simple... just take your json data and pipe it into the appropriate jso
|
|||
|
||||
### Supports NDJSON (Newline Delimited JSON)
|
||||
|
||||
The plugin also supports [NDJSON](http://ndjson.org/) input, which means all functions
|
||||
The plugin also supports [NDJSON](https://github.com/ndjson/ndjson-spec) input, which means all functions
|
||||
have an alternative function that reads and processes the input line by line. These
|
||||
functions have the same name except using `ndjson` instead of `json`:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
kube-ps1: Kubernetes prompt for bash and zsh
|
||||
============================================
|
||||
# kube-ps1: Kubernetes prompt for bash and zsh
|
||||
|
||||
A script that lets you add the current Kubernetes context and namespace
|
||||
configured on `kubectl` to your Bash/Zsh prompt strings (i.e. the `$PS1`).
|
||||
|
|
|
|||
|
|
@ -11,122 +11,124 @@ plugins=(... kubectl)
|
|||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
|:--------|:------------------------------------|:-------------------------------------------------------------------------------------------------|
|
||||
| k | `kubectl` | The kubectl command |
|
||||
| kca | `kubectl --all-namespaces` | The kubectl command targeting all namespaces |
|
||||
| kaf | `kubectl apply -f` | Apply a YML file |
|
||||
| keti | `kubectl exec -ti` | Drop into an interactive terminal on a container |
|
||||
| | | **Manage configuration quickly to switch contexts between local, dev and staging** |
|
||||
| kcuc | `kubectl config use-context` | Set the current-context in a kubeconfig file |
|
||||
| kcsc | `kubectl config set-context` | Set a context entry in kubeconfig |
|
||||
| kcdc | `kubectl config delete-context` | Delete the specified context from the kubeconfig |
|
||||
| kccc | `kubectl config current-context` | Display the current-context |
|
||||
| kcgc | `kubectl config get-contexts` | List of contexts available |
|
||||
| | | **General aliases** |
|
||||
| kdel | `kubectl delete` | Delete resources by filenames, stdin, resources and names, or by resources and label selector |
|
||||
| kdelf | `kubectl delete -f` | Delete a pod using the type and name specified in -f argument |
|
||||
| | | **Pod management** |
|
||||
| kgp | `kubectl get pods` | List all pods in ps output format |
|
||||
| kgpw | `kgp --watch` | After listing/getting the requested object, watch for changes |
|
||||
| kgpwide | `kgp -o wide` | Output in plain-text format with any additional information. For pods, the node name is included |
|
||||
| kep | `kubectl edit pods` | Edit pods from the default editor |
|
||||
| kdp | `kubectl describe pods` | Describe all pods |
|
||||
| kdelp | `kubectl delete pods` | Delete all pods matching passed arguments |
|
||||
| kgpl | `kgp -l` | Get pods by label. Example: `kgpl "app=myapp" -n myns` |
|
||||
| kgpn | `kgp -n` | Get pods by namespace. Example: `kgpn kube-system` |
|
||||
| | | **Service management** |
|
||||
| kgs | `kubectl get svc` | List all services in ps output format |
|
||||
| kgsw | `kgs --watch` | After listing all services, watch for changes |
|
||||
| kgswide | `kgs -o wide` | After listing all services, output in plain-text format with any additional information |
|
||||
| kes | `kubectl edit svc` | Edit services(svc) from the default editor |
|
||||
| kds | `kubectl describe svc` | Describe all services in detail |
|
||||
| kdels | `kubectl delete svc` | Delete all services matching passed argument |
|
||||
| | | **Ingress management** |
|
||||
| kgi | `kubectl get ingress` | List ingress resources in ps output format |
|
||||
| kei | `kubectl edit ingress` | Edit ingress resource from the default editor |
|
||||
| kdi | `kubectl describe ingress` | Describe ingress resource in detail |
|
||||
| kdeli | `kubectl delete ingress` | Delete ingress resources matching passed argument |
|
||||
| | | **Namespace management** |
|
||||
| kgns | `kubectl get namespaces` | List the current namespaces in a cluster |
|
||||
| kcn | `kubectl config set-context --current --namespace` | Change current namespace |
|
||||
| kens | `kubectl edit namespace` | Edit namespace resource from the default editor |
|
||||
| kdns | `kubectl describe namespace` | Describe namespace resource in detail |
|
||||
| kdelns | `kubectl delete namespace` | Delete the namespace. WARNING! This deletes everything in the namespace |
|
||||
| | | **ConfigMap management** |
|
||||
| kgcm | `kubectl get configmaps` | List the configmaps in ps output format |
|
||||
| kecm | `kubectl edit configmap` | Edit configmap resource from the default editor |
|
||||
| kdcm | `kubectl describe configmap` | Describe configmap resource in detail |
|
||||
| kdelcm | `kubectl delete configmap` | Delete the configmap |
|
||||
| | | **Secret management** |
|
||||
| kgsec | `kubectl get secret` | Get secret for decoding |
|
||||
| kdsec | `kubectl describe secret` | Describe secret resource in detail |
|
||||
| kdelsec | `kubectl delete secret` | Delete the secret |
|
||||
| | | **Deployment management** |
|
||||
| kgd | `kubectl get deployment` | Get the deployment |
|
||||
| kgdw | `kgd --watch` | After getting the deployment, watch for changes |
|
||||
| kgdwide | `kgd -o wide` | After getting the deployment, output in plain-text format with any additional information |
|
||||
| ked | `kubectl edit deployment` | Edit deployment resource from the default editor |
|
||||
| kdd | `kubectl describe deployment` | Describe deployment resource in detail |
|
||||
| kdeld | `kubectl delete deployment` | Delete the deployment |
|
||||
| ksd | `kubectl scale deployment` | Scale a deployment |
|
||||
| krsd | `kubectl rollout status deployment` | Check the rollout status of a deployment |
|
||||
| kres | `kubectl set env $@ REFRESHED_AT=...` | Recreate all pods in deployment with zero-downtime |
|
||||
| | | **Rollout management** |
|
||||
| kgrs | `kubectl get replicaset` | List all ReplicaSets `rs` created by the deployment |
|
||||
| kdrs | `kubectl describe replicaset` | Describe ReplicaSet in detail |
|
||||
| kers | `kubectl edit replicaset` | Edit ReplicaSet from the default editor |
|
||||
| krh | `kubectl rollout history` | Check the revisions of this deployment |
|
||||
| kru | `kubectl rollout undo` | Rollback to the previous revision |
|
||||
| | | **Port forwarding** |
|
||||
| kpf | `kubectl port-forward` | Forward one or more local ports to a pod |
|
||||
| | | **Tools for accessing all information** |
|
||||
| kga | `kubectl get all` | List all resources in ps format |
|
||||
| kgaa | `kubectl get all --all-namespaces` | List the requested object(s) across all namespaces |
|
||||
| | | **Logs** |
|
||||
| kl | `kubectl logs` | Print the logs for a container or resource |
|
||||
| klf | `kubectl logs -f` | Stream the logs for a container or resource (follow) |
|
||||
| | | **File copy** |
|
||||
| kcp | `kubectl cp` | Copy files and directories to and from containers |
|
||||
| | | **Node management** |
|
||||
| kgno | `kubectl get nodes` | List the nodes in ps output format |
|
||||
| keno | `kubectl edit node` | Edit nodes resource from the default editor |
|
||||
| kdno | `kubectl describe node` | Describe node resource in detail |
|
||||
| kdelno | `kubectl delete node` | Delete the node |
|
||||
| | | **Persistent Volume Claim management** |
|
||||
| kgpvc | `kubectl get pvc` | List all PVCs |
|
||||
| kgpvcw | `kgpvc --watch` | After listing/getting the requested object, watch for changes |
|
||||
| kepvc | `kubectl edit pvc` | Edit pvcs from the default editor |
|
||||
| kdpvc | `kubectl describe pvc` | Describe all pvcs |
|
||||
| kdelpvc | `kubectl delete pvc` | Delete all pvcs matching passed arguments |
|
||||
| | | **StatefulSets management** |
|
||||
| kgss | `kubectl get statefulset` | List the statefulsets in ps format |
|
||||
| kgssw | `kgss --watch` | After getting the list of statefulsets, watch for changes |
|
||||
| kgsswide| `kgss -o wide` | After getting the statefulsets, output in plain-text format with any additional information |
|
||||
| kess | `kubectl edit statefulset` | Edit statefulset resource from the default editor |
|
||||
| kdss | `kubectl describe statefulset` | Describe statefulset resource in detail |
|
||||
| kdelss | `kubectl delete statefulset` | Delete the statefulset |
|
||||
| ksss | `kubectl scale statefulset` | Scale a statefulset |
|
||||
| krsss | `kubectl rollout status statefulset`| Check the rollout status of a deployment |
|
||||
| | | **Service Accounts management** |
|
||||
| kdsa | `kubectl describe sa` | Describe a service account in details |
|
||||
| kdelsa | `kubectl delete sa` | Delete the service account |
|
||||
| | | **DaemonSet management** |
|
||||
| kgds | `kubectl get daemonset` | List all DaemonSets in ps output format |
|
||||
| kgdsw | `kgds --watch` | After listing all DaemonSets, watch for changes |
|
||||
| keds | `kubectl edit daemonset` | Edit DaemonSets from the default editor |
|
||||
| kdds | `kubectl describe daemonset` | Describe all DaemonSets in detail |
|
||||
| kdelds | `kubectl delete daemonset` | Delete all DaemonSets matching passed argument |
|
||||
| | | **CronJob management** |
|
||||
| kgcj | `kubectl get cronjob` | List all CronJobs in ps output format |
|
||||
| kecj | `kubectl edit cronjob` | Edit CronJob from the default editor |
|
||||
| kdcj | `kubectl describe cronjob` | Describe a CronJob in details |
|
||||
| kdelcj | `kubectl delete cronjob` | Delete the CronJob |
|
||||
| | | **Job management** |
|
||||
| kgj | `kubectl get job` | List all Job in ps output format |
|
||||
| kej | `kubectl edit job` | Edit a Job in details |
|
||||
| kdj | `kubectl describe job` | Describe the Job |
|
||||
| kdelj | `kubectl delete job` | Delete the Job |
|
||||
| Alias | Command | Description |
|
||||
| :------- | :------------------------------------------------- | :----------------------------------------------------------------------------------------------- |
|
||||
| k | `kubectl` | The kubectl command |
|
||||
| kca | `kubectl --all-namespaces` | The kubectl command targeting all namespaces |
|
||||
| kaf | `kubectl apply -f` | Apply a YML file |
|
||||
| keti | `kubectl exec -ti` | Drop into an interactive terminal on a container |
|
||||
| | | **Manage configuration quickly to switch contexts between local, dev and staging** |
|
||||
| kcuc | `kubectl config use-context` | Set the current-context in a kubeconfig file |
|
||||
| kcsc | `kubectl config set-context` | Set a context entry in kubeconfig |
|
||||
| kcdc | `kubectl config delete-context` | Delete the specified context from the kubeconfig |
|
||||
| kccc | `kubectl config current-context` | Display the current-context |
|
||||
| kcgc | `kubectl config get-contexts` | List of contexts available |
|
||||
| | | **General aliases** |
|
||||
| kdel | `kubectl delete` | Delete resources by filenames, stdin, resources and names, or by resources and label selector |
|
||||
| kdelf | `kubectl delete -f` | Delete a pod using the type and name specified in -f argument |
|
||||
| | | **Pod management** |
|
||||
| kgp | `kubectl get pods` | List all pods in ps output format |
|
||||
| kgpl | `kgp -l` | Get pods by label. Example: `kgpl "app=myapp" -n myns` |
|
||||
| kgpn | `kgp -n` | Get pods by namespace. Example: `kgpn kube-system` |
|
||||
| kgpsl | `kubectl get pods --show-labels` | List all pods in ps output format with labels |
|
||||
| kgpw | `kgp --watch` | After listing/getting the requested object, watch for changes |
|
||||
| kgpwide | `kgp -o wide` | Output in plain-text format with any additional information. For pods, the node name is included |
|
||||
| kep | `kubectl edit pods` | Edit pods from the default editor |
|
||||
| kdp | `kubectl describe pods` | Describe all pods |
|
||||
| kdelp | `kubectl delete pods` | Delete all pods matching passed arguments |
|
||||
| | | **Service management** |
|
||||
| kgs | `kubectl get svc` | List all services in ps output format |
|
||||
| kgsw | `kgs --watch` | After listing all services, watch for changes |
|
||||
| kgswide | `kgs -o wide` | After listing all services, output in plain-text format with any additional information |
|
||||
| kes | `kubectl edit svc` | Edit services(svc) from the default editor |
|
||||
| kds | `kubectl describe svc` | Describe all services in detail |
|
||||
| kdels | `kubectl delete svc` | Delete all services matching passed argument |
|
||||
| | | **Ingress management** |
|
||||
| kgi | `kubectl get ingress` | List ingress resources in ps output format |
|
||||
| kei | `kubectl edit ingress` | Edit ingress resource from the default editor |
|
||||
| kdi | `kubectl describe ingress` | Describe ingress resource in detail |
|
||||
| kdeli | `kubectl delete ingress` | Delete ingress resources matching passed argument |
|
||||
| | | **Namespace management** |
|
||||
| kgns | `kubectl get namespaces` | List the current namespaces in a cluster |
|
||||
| kcn | `kubectl config set-context --current --namespace` | Change current namespace |
|
||||
| kens | `kubectl edit namespace` | Edit namespace resource from the default editor |
|
||||
| kdns | `kubectl describe namespace` | Describe namespace resource in detail |
|
||||
| kdelns | `kubectl delete namespace` | Delete the namespace. WARNING! This deletes everything in the namespace |
|
||||
| | | **ConfigMap management** |
|
||||
| kgcm | `kubectl get configmaps` | List the configmaps in ps output format |
|
||||
| kecm | `kubectl edit configmap` | Edit configmap resource from the default editor |
|
||||
| kdcm | `kubectl describe configmap` | Describe configmap resource in detail |
|
||||
| kdelcm | `kubectl delete configmap` | Delete the configmap |
|
||||
| | | **Secret management** |
|
||||
| kgsec | `kubectl get secret` | Get secret for decoding |
|
||||
| kdsec | `kubectl describe secret` | Describe secret resource in detail |
|
||||
| kdelsec | `kubectl delete secret` | Delete the secret |
|
||||
| | | **Deployment management** |
|
||||
| kgd | `kubectl get deployment` | Get the deployment |
|
||||
| kgdw | `kgd --watch` | After getting the deployment, watch for changes |
|
||||
| kgdwide | `kgd -o wide` | After getting the deployment, output in plain-text format with any additional information |
|
||||
| ked | `kubectl edit deployment` | Edit deployment resource from the default editor |
|
||||
| kdd | `kubectl describe deployment` | Describe deployment resource in detail |
|
||||
| kdeld | `kubectl delete deployment` | Delete the deployment |
|
||||
| ksd | `kubectl scale deployment` | Scale a deployment |
|
||||
| krsd | `kubectl rollout status deployment` | Check the rollout status of a deployment |
|
||||
| kres | `kubectl set env $@ REFRESHED_AT=...` | Recreate all pods in deployment with zero-downtime |
|
||||
| | | **Rollout management** |
|
||||
| kgrs | `kubectl get replicaset` | List all ReplicaSets `rs` created by the deployment |
|
||||
| kdrs | `kubectl describe replicaset` | Describe ReplicaSet in detail |
|
||||
| kers | `kubectl edit replicaset` | Edit ReplicaSet from the default editor |
|
||||
| krh | `kubectl rollout history` | Check the revisions of this deployment |
|
||||
| kru | `kubectl rollout undo` | Rollback to the previous revision |
|
||||
| | | **Port forwarding** |
|
||||
| kpf | `kubectl port-forward` | Forward one or more local ports to a pod |
|
||||
| | | **Tools for accessing all information** |
|
||||
| kga | `kubectl get all` | List all resources in ps format |
|
||||
| kgaa | `kubectl get all --all-namespaces` | List the requested object(s) across all namespaces |
|
||||
| | | **Logs** |
|
||||
| kl | `kubectl logs` | Print the logs for a container or resource |
|
||||
| klf | `kubectl logs -f` | Stream the logs for a container or resource (follow) |
|
||||
| | | **File copy** |
|
||||
| kcp | `kubectl cp` | Copy files and directories to and from containers |
|
||||
| | | **Node management** |
|
||||
| kgno | `kubectl get nodes` | List the nodes in ps output format |
|
||||
| kgnosl | `kubectl get nodes --show-labels` | List the nodes in ps output format with labels |
|
||||
| keno | `kubectl edit node` | Edit nodes resource from the default editor |
|
||||
| kdno | `kubectl describe node` | Describe node resource in detail |
|
||||
| kdelno | `kubectl delete node` | Delete the node |
|
||||
| | | **Persistent Volume Claim management** |
|
||||
| kgpvc | `kubectl get pvc` | List all PVCs |
|
||||
| kgpvcw | `kgpvc --watch` | After listing/getting the requested object, watch for changes |
|
||||
| kepvc | `kubectl edit pvc` | Edit pvcs from the default editor |
|
||||
| kdpvc | `kubectl describe pvc` | Describe all pvcs |
|
||||
| kdelpvc | `kubectl delete pvc` | Delete all pvcs matching passed arguments |
|
||||
| | | **StatefulSets management** |
|
||||
| kgss | `kubectl get statefulset` | List the statefulsets in ps format |
|
||||
| kgssw | `kgss --watch` | After getting the list of statefulsets, watch for changes |
|
||||
| kgsswide | `kgss -o wide` | After getting the statefulsets, output in plain-text format with any additional information |
|
||||
| kess | `kubectl edit statefulset` | Edit statefulset resource from the default editor |
|
||||
| kdss | `kubectl describe statefulset` | Describe statefulset resource in detail |
|
||||
| kdelss | `kubectl delete statefulset` | Delete the statefulset |
|
||||
| ksss | `kubectl scale statefulset` | Scale a statefulset |
|
||||
| krsss | `kubectl rollout status statefulset` | Check the rollout status of a deployment |
|
||||
| | | **Service Accounts management** |
|
||||
| kdsa | `kubectl describe sa` | Describe a service account in details |
|
||||
| kdelsa | `kubectl delete sa` | Delete the service account |
|
||||
| | | **DaemonSet management** |
|
||||
| kgds | `kubectl get daemonset` | List all DaemonSets in ps output format |
|
||||
| kgdsw | `kgds --watch` | After listing all DaemonSets, watch for changes |
|
||||
| keds | `kubectl edit daemonset` | Edit DaemonSets from the default editor |
|
||||
| kdds | `kubectl describe daemonset` | Describe all DaemonSets in detail |
|
||||
| kdelds | `kubectl delete daemonset` | Delete all DaemonSets matching passed argument |
|
||||
| | | **CronJob management** |
|
||||
| kgcj | `kubectl get cronjob` | List all CronJobs in ps output format |
|
||||
| kecj | `kubectl edit cronjob` | Edit CronJob from the default editor |
|
||||
| kdcj | `kubectl describe cronjob` | Describe a CronJob in details |
|
||||
| kdelcj | `kubectl delete cronjob` | Delete the CronJob |
|
||||
| | | **Job management** |
|
||||
| kgj | `kubectl get job` | List all Job in ps output format |
|
||||
| kej | `kubectl edit job` | Edit a Job in details |
|
||||
| kdj | `kubectl describe job` | Describe the Job |
|
||||
| kdelj | `kubectl delete job` | Delete the Job |
|
||||
|
||||
## Wrappers
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,9 @@ alias kdelf='kubectl delete -f'
|
|||
|
||||
# Pod management.
|
||||
alias kgp='kubectl get pods'
|
||||
alias kgpl='kgp -l'
|
||||
alias kgpn='kgp -n'
|
||||
alias kgpsl='kubectl get pods --show-labels'
|
||||
alias kgpa='kubectl get pods --all-namespaces'
|
||||
alias kgpw='kgp --watch'
|
||||
alias kgpwide='kgp -o wide'
|
||||
|
|
@ -47,12 +50,6 @@ alias kdp='kubectl describe pods'
|
|||
alias kdelp='kubectl delete pods'
|
||||
alias kgpall='kubectl get pods --all-namespaces -o wide'
|
||||
|
||||
# get pod by label: kgpl "app=myapp" -n myns
|
||||
alias kgpl='kgp -l'
|
||||
|
||||
# get pod by namespace: kgpn kube-system"
|
||||
alias kgpn='kgp -n'
|
||||
|
||||
# Service management.
|
||||
alias kgs='kubectl get svc'
|
||||
alias kgsa='kubectl get svc --all-namespaces'
|
||||
|
|
@ -144,6 +141,7 @@ alias kcp='kubectl cp'
|
|||
|
||||
# Node Management
|
||||
alias kgno='kubectl get nodes'
|
||||
alias kgnosl='kubectl get nodes --show-labels'
|
||||
alias keno='kubectl edit node'
|
||||
alias kdno='kubectl describe node'
|
||||
alias kdelno='kubectl delete node'
|
||||
|
|
|
|||
24
plugins/localstack/README.md
Normal file
24
plugins/localstack/README.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Localstack plugin #
|
||||
|
||||
CLI support for LOCALSTACK interaction
|
||||
|
||||
## Description ##
|
||||
To use it, add `localstack` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... localstack)
|
||||
```
|
||||
|
||||
## Usage ##
|
||||
|
||||
This plugin supplies one command, `lsk`, through which all its features are exposed.
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
| :------------ | :-------------------------------------------------------------------- |
|
||||
| `lsk sqs-send <queue> <message.json>` | sends a given message in sqs to a given queue |
|
||||
|
||||
## Examples
|
||||
|
||||

|
||||
37
plugins/localstack/localstack.plugin.zsh
Normal file
37
plugins/localstack/localstack.plugin.zsh
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# CLI support for LOCALSTACK interaction
|
||||
#
|
||||
# See README.md for details
|
||||
lsk() {
|
||||
case $1 in
|
||||
sqs-send)
|
||||
shift
|
||||
sqs-send "$@"
|
||||
;;
|
||||
*)
|
||||
echo "Command not found: $1"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Send SQS function
|
||||
#
|
||||
# This function sends a given message in sqs to a given queue, when used Localstack
|
||||
#
|
||||
# Use:
|
||||
# sqs-send <queue> <message>
|
||||
#
|
||||
# Parameters
|
||||
# <queue> A given queue
|
||||
# <message> A content of message em json archive
|
||||
#
|
||||
# Example
|
||||
# sqs-send user user.json
|
||||
sqs-send(){
|
||||
if [ -z "$1" ]; then
|
||||
echo "Use: sqs-send <queue> <payload>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
curl -X POST "http://localhost:4566/000000000000/$1" -d "Action=SendMessage" -d "MessageBody=$(cat $2)"
|
||||
}
|
||||
BIN
plugins/localstack/sqs-send-result.png
Normal file
BIN
plugins/localstack/sqs-send-result.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
|
|
@ -78,7 +78,7 @@ _lpass() {
|
|||
has_sync=1
|
||||
;;
|
||||
status)
|
||||
_arguments : '(-q --quiet)'{-q,--quiet}'[Supress output to stdout]'
|
||||
_arguments : '(-q --quiet)'{-q,--quiet}'[Suppress output to stdout]'
|
||||
has_color=1
|
||||
;;
|
||||
sync)
|
||||
|
|
|
|||
|
|
@ -17,3 +17,4 @@ plugins=(... mix)
|
|||
| Ecto | [Ecto](https://hexdocs.pm/ecto/Ecto.html) |
|
||||
| Hex | [Hex](https://hex.pm/) |
|
||||
| Nerves | [Nerves](https://nerves-project.org/) |
|
||||
| mix_test_watch | [mix_test_watch](https://hex.pm/packages/mix_test_watch) |
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ _1st_arguments=(
|
|||
'release.init:Generates sample files for releases'
|
||||
'run:Run the given file or expression'
|
||||
"test:Run a project's tests"
|
||||
"test.watch:Run a project's tests continuously using hex package mix_test_watch"
|
||||
'test.coverage:Build report from exported test coverage'
|
||||
'xref:Prints cross reference information'
|
||||
'--help:Describe available tasks'
|
||||
|
|
@ -120,7 +121,7 @@ __task_list ()
|
|||
local expl
|
||||
declare -a tasks
|
||||
|
||||
tasks=(app.config app.start app.tree archive archive.build archive.install archive.uninstall clean cmd compile compile.protocols deps deps.clean deps.compile deps.get deps.tree deps.unlock deps.update do ecto.create ecto.drop ecto.dump ecto.gen.migration ecto.gen.repo ecto.load ecto.migrate ecto.migrations ecto.rollback escript escript.build escript.install escript.uninstall firmware firmware.burn firmware.image format help hex hex.audit hex.build hex.config hex.docs hex.info hex.organization hex.key hex.outdated hex.owner hex.package hex.publish hex.registry hex.repo hex.retire hex.search hex.sponsor hex.user loadconfig local local.hex local.phoenix local.phx local.public_keys local.rebar nerves.artifact nerves.artifact.get nerves.info nerves.new nerves.release.init new phoenix.digest phoenix.gen.channel phoenix.gen.html phoenix.gen.json phoenix.gen.model phoenix.gen.secret phoenix.new phoenix.routes phoenix.server phx.digest phx.digest.clean phx.gen.auth phx.gen.cert phx.gen.channel phx.gen.context phx.gen.embedded phx.gen.html phx.gen.json phx.gen.live phx.gen.notifier phx.gen.presence phx.gen.schema phx.gen.secret phx.gen.socket phx.new phx.new.ecto phx.new.web phx.routes phx.server profile.cprof profile.eprof profile.fprof release release.init run test test.coverage xref)
|
||||
tasks=(app.config app.start app.tree archive archive.build archive.install archive.uninstall clean cmd compile compile.protocols deps deps.clean deps.compile deps.get deps.tree deps.unlock deps.update do ecto.create ecto.drop ecto.dump ecto.gen.migration ecto.gen.repo ecto.load ecto.migrate ecto.migrations ecto.rollback escript escript.build escript.install escript.uninstall firmware firmware.burn firmware.image format help hex hex.audit hex.build hex.config hex.docs hex.info hex.organization hex.key hex.outdated hex.owner hex.package hex.publish hex.registry hex.repo hex.retire hex.search hex.sponsor hex.user loadconfig local local.hex local.phoenix local.phx local.public_keys local.rebar nerves.artifact nerves.artifact.get nerves.info nerves.new nerves.release.init new phoenix.digest phoenix.gen.channel phoenix.gen.html phoenix.gen.json phoenix.gen.model phoenix.gen.secret phoenix.new phoenix.routes phoenix.server phx.digest phx.digest.clean phx.gen.auth phx.gen.cert phx.gen.channel phx.gen.context phx.gen.embedded phx.gen.html phx.gen.json phx.gen.live phx.gen.notifier phx.gen.presence phx.gen.schema phx.gen.secret phx.gen.socket phx.new phx.new.ecto phx.new.web phx.routes phx.server profile.cprof profile.eprof profile.fprof release release.init run test test.watch test.coverage xref)
|
||||
|
||||
_wanted tasks expl 'help' compadd $tasks
|
||||
}
|
||||
|
|
@ -148,6 +149,9 @@ case $state in
|
|||
(test)
|
||||
_files
|
||||
;;
|
||||
(test.watch)
|
||||
_files
|
||||
;;
|
||||
(run)
|
||||
_files
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -26,9 +26,10 @@ These settings should go in your zshrc file, before Oh My Zsh is sourced:
|
|||
#### Lazy startup
|
||||
|
||||
This option will help you to defer nvm's load until you use it to speed-up your zsh startup. This will source
|
||||
nvm script only when using it, and will create a function for `node`, `npm`, `npx`, `pnpm`, `yarn`, `corepack`
|
||||
and the command(s) specified by `lazy-cmd` option, so when you call either of them, nvm will be loaded and run
|
||||
with default version. To enable it, you can add this snippet to your zshrc, before Oh My Zsh is sourced:
|
||||
nvm script only when using it, and will create a function for `node`, `npm`, `npx`, `pnpm`, `pnpx`, `yarn`,
|
||||
`corepack` and the command(s) specified by `lazy-cmd` option, so when you call either of them, nvm will be
|
||||
loaded and run with default version. To enable it, you can add this snippet to your zshrc, before Oh My Zsh is
|
||||
sourced:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' lazy yes
|
||||
|
|
@ -41,6 +42,8 @@ as you want:
|
|||
zstyle ':omz:plugins:nvm' lazy-cmd eslint prettier typescript ...
|
||||
```
|
||||
|
||||
There will be a function `_omz_nvm_load` available to load `nvm` without executing any other trigger command.
|
||||
|
||||
#### `.nvmrc` autoload
|
||||
|
||||
Note: _if used at the same time as `lazy`, `autoload` will start working only after nvm has been lazy-loaded_
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ if [[ -z "$NVM_DIR" ]] || [[ ! -f "$NVM_DIR/nvm.sh" ]]; then
|
|||
return
|
||||
fi
|
||||
|
||||
function _omz_load_nvm_completion {
|
||||
function _omz_nvm_setup_completion {
|
||||
local _nvm_completion
|
||||
# Load nvm bash completion
|
||||
for _nvm_completion in "$NVM_DIR/bash_completion" "$NVM_HOMEBREW/etc/bash_completion.d/nvm"; do
|
||||
|
|
@ -33,12 +33,12 @@ function _omz_load_nvm_completion {
|
|||
break
|
||||
fi
|
||||
done
|
||||
unfunction _omz_load_nvm_completion
|
||||
unfunction _omz_nvm_setup_completion
|
||||
}
|
||||
|
||||
function _omz_setup_autoload {
|
||||
function _omz_nvm_setup_autoload {
|
||||
if ! zstyle -t ':omz:plugins:nvm' autoload; then
|
||||
unfunction _omz_setup_autoload
|
||||
unfunction _omz_nvm_setup_autoload
|
||||
return
|
||||
fi
|
||||
|
||||
|
|
@ -68,13 +68,13 @@ function _omz_setup_autoload {
|
|||
add-zsh-hook chpwd load-nvmrc
|
||||
|
||||
load-nvmrc
|
||||
unfunction _omz_setup_autoload
|
||||
unfunction _omz_nvm_setup_autoload
|
||||
}
|
||||
|
||||
if zstyle -t ':omz:plugins:nvm' lazy; then
|
||||
# Call nvm when first using nvm, node, npm, pnpm, yarn, corepack or other commands in lazy-cmd
|
||||
zstyle -a ':omz:plugins:nvm' lazy-cmd nvm_lazy_cmd
|
||||
nvm_lazy_cmd=(nvm node npm npx pnpm yarn corepack $nvm_lazy_cmd) # default values
|
||||
nvm_lazy_cmd=(_omz_nvm_load nvm node npm npx pnpm pnpx yarn corepack $nvm_lazy_cmd) # default values
|
||||
eval "
|
||||
function $nvm_lazy_cmd {
|
||||
for func in $nvm_lazy_cmd; do
|
||||
|
|
@ -84,14 +84,16 @@ if zstyle -t ':omz:plugins:nvm' lazy; then
|
|||
done
|
||||
# Load nvm if it exists in \$NVM_DIR
|
||||
[[ -f \"\$NVM_DIR/nvm.sh\" ]] && source \"\$NVM_DIR/nvm.sh\"
|
||||
_omz_load_nvm_completion
|
||||
_omz_setup_autoload
|
||||
\"\$0\" \"\$@\"
|
||||
_omz_nvm_setup_completion
|
||||
_omz_nvm_setup_autoload
|
||||
if [[ \"\$0\" != _omz_nvm_load ]]; then
|
||||
\"\$0\" \"\$@\"
|
||||
fi
|
||||
}
|
||||
"
|
||||
unset nvm_lazy_cmd
|
||||
else
|
||||
source "$NVM_DIR/nvm.sh"
|
||||
_omz_load_nvm_completion
|
||||
_omz_setup_autoload
|
||||
_omz_nvm_setup_completion
|
||||
_omz_nvm_setup_autoload
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -15,22 +15,23 @@ plugins=(... opentofu)
|
|||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command |
|
||||
| ----- | --------------- |
|
||||
| `tt` | `tofu` |
|
||||
| `tta` | `tofu apply` |
|
||||
| `ttc` | `tofu console` |
|
||||
| `ttd` | `tofu destroy` |
|
||||
| `ttf` | `tofu fmt` |
|
||||
| `tti` | `tofu init` |
|
||||
| `tto` | `tofu output` |
|
||||
| `ttp` | `tofu plan` |
|
||||
| `ttv` | `tofu validate` |
|
||||
| `tts` | `tofu state` |
|
||||
| `ttsh`| `tofu show` |
|
||||
| `ttr` | `tofu refresh` |
|
||||
| `ttt` | `tofu test` |
|
||||
| `ttws`| `tofu workspace`|
|
||||
| Alias | Command |
|
||||
|--------|-----------------------|
|
||||
| `tt` | `tofu` |
|
||||
| `tta` | `tofu apply` |
|
||||
| `ttc` | `tofu console` |
|
||||
| `ttd` | `tofu destroy` |
|
||||
| `ttf` | `tofu fmt` |
|
||||
| `ttfr` | `tofu fmt -recursive` |
|
||||
| `tti` | `tofu init` |
|
||||
| `tto` | `tofu output` |
|
||||
| `ttp` | `tofu plan` |
|
||||
| `ttv` | `tofu validate` |
|
||||
| `tts` | `tofu state` |
|
||||
| `ttsh` | `tofu show` |
|
||||
| `ttr` | `tofu refresh` |
|
||||
| `ttt` | `tofu test` |
|
||||
| `ttws` | `tofu workspace` |
|
||||
|
||||
|
||||
## Prompt functions
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ alias tta='tofu apply'
|
|||
alias ttc='tofu console'
|
||||
alias ttd='tofu destroy'
|
||||
alias ttf='tofu fmt'
|
||||
alias ttfr='tofu fmt -recursive'
|
||||
alias tti='tofu init'
|
||||
alias tto='tofu output'
|
||||
alias ttp='tofu plan'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
per-directory-history plugin
|
||||
----------------------------
|
||||
# per-directory-history plugin
|
||||
|
||||
This plugin adds per-directory history for zsh, as well as a global history,
|
||||
and the ability to toggle between them with a keyboard shortcut. This is a
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Pipenv
|
||||
|
||||
## Installation
|
||||
This plugin provides some features to simplify the use of [Pipenv](https://pipenv.pypa.io/) while working on ZSH.
|
||||
|
||||
In your `.zshrc` file, add `pipenv` to the plugins section
|
||||
|
||||
|
|
@ -10,8 +10,6 @@ plugins=(... pipenv ...)
|
|||
|
||||
## Features
|
||||
|
||||
This plugin provides some features to simplify the use of Pipenv while working on ZSH.
|
||||
|
||||
- Adds completion for pipenv
|
||||
- Auto activates and deactivates pipenv shell
|
||||
- Adds short aliases for common pipenv commands
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ plugins=(... python)
|
|||
| Command | Description |
|
||||
| ---------------- | -------------------------------------------------------------------------------------- |
|
||||
| `py` | Runs `python3`. Only set if `py` is not installed. |
|
||||
| `ipython` | Runs the appropriate `ipython` version according to the activated virtualenv |
|
||||
| `pyfind` | Finds .py files recursively in the current directory |
|
||||
| `pyclean [dirs]` | Deletes byte-code and cache files from a list of directories or the current one |
|
||||
| `pygrep <text>` | Looks for `text` in `*.py` files in the current directory, recursively |
|
||||
|
|
|
|||
|
|
@ -43,9 +43,6 @@ function pyuserpaths() {
|
|||
# Grep among .py files
|
||||
alias pygrep='grep -nr --include="*.py"'
|
||||
|
||||
# Run proper IPython regarding current virtualenv (if any)
|
||||
alias ipython='python3 -c "import sys; del sys.path[0]; import IPython; sys.exit(IPython.start_ipython())"'
|
||||
|
||||
# Share local directory as a HTTP server
|
||||
alias pyserver="python3 -m http.server"
|
||||
|
||||
|
|
@ -74,7 +71,7 @@ function vrun() {
|
|||
}
|
||||
|
||||
# Create a new virtual environment using the specified name.
|
||||
# If none specfied, use $PYTHON_VENV_NAME
|
||||
# If none specified, use $PYTHON_VENV_NAME
|
||||
function mkv() {
|
||||
local name="${1:-$PYTHON_VENV_NAME}"
|
||||
local venvpath="${name:P}"
|
||||
|
|
|
|||
|
|
@ -366,10 +366,10 @@ _rails_generate() {
|
|||
;|
|
||||
(controller|job|model|resource|scaffold)
|
||||
opts+=(
|
||||
'--parent=[The parent class for the generated controler]:parent class'
|
||||
'--parent=[The parent class for the generated controller]:parent class'
|
||||
)
|
||||
;|
|
||||
(controler|mailer|resource|scaffold|scaffold_controller)
|
||||
(controller|mailer|resource|scaffold|scaffold_controller)
|
||||
opts+=(
|
||||
'(-e --template-engine)'{-e,--template-engine=}'[Template engine to be invoked]:engine:(erb)'
|
||||
)
|
||||
|
|
|
|||
|
|
@ -445,7 +445,7 @@ _scd_Y19oug_match() {
|
|||
# build a list of matching directories reverse-sorted by their probabilities
|
||||
dmatching=( ${(f)"$(
|
||||
builtin printf "%s %s\n" ${(Oakv)drank} |
|
||||
/usr/bin/sort -grk1 )"}
|
||||
command sort -grk1 )"}
|
||||
)
|
||||
dmatching=( ${dmatching#*[[:blank:]]} )
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,12 @@
|
|||
# Spring Boot oh-my-zsh plugin
|
||||
oh-my-zsh Spring Boot plugin
|
||||
|
||||
## Spring Boot autocomplete plugin
|
||||
Adds autocomplete options for all [Spring Boot](https://spring.io/projects/spring-boot) commands.
|
||||
|
||||
- Adds autocomplete options for all spring boot commands.
|
||||
To use it, add `spring` to the plugins array in your zshrc file:
|
||||
|
||||
## Manual Install
|
||||
|
||||
$ cd ~/.oh-my-zsh/plugins
|
||||
$ git clone git@github.com:linux-china/oh-my-zsh-spring-boot-plugin.git spring
|
||||
|
||||
Adjust your .zshrc file and add spring to plugins=(...)
|
||||
```zsh
|
||||
plugins=(... spring)
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ function _add_identities() {
|
|||
# this is to mimic the call to ssh-add with no identities
|
||||
if [[ ${#identities} -eq 0 ]]; then
|
||||
# key list found on `ssh-add` man page's DESCRIPTION section
|
||||
for id in id_rsa id_dsa id_ecdsa id_ed25519 identity; do
|
||||
for id in id_rsa id_dsa id_ecdsa id_ed25519 id_ed25519_sk identity; do
|
||||
# check if file exists
|
||||
[[ -f "$HOME/.ssh/$id" ]] && identities+=($id)
|
||||
done
|
||||
|
|
|
|||
16
plugins/ssh/README.md
Normal file
16
plugins/ssh/README.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# ssh plugin
|
||||
|
||||
This plugin provides host completion based off of your `~/.ssh/config` file, and adds
|
||||
some utility functions to work with SSH keys.
|
||||
|
||||
To use it, add `ssh` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... ssh)
|
||||
```
|
||||
|
||||
## Functions
|
||||
|
||||
- `ssh_rmhkey`: remove host key from known hosts based on a host section name from `.ssh/config`.
|
||||
- `ssh_load_key`: load SSH key into agent.
|
||||
- `ssh_unload_key`: remove SSH key from agent.
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
# suse
|
||||
|
||||
**Maintainer**: [r-darwish](https://github.com/r-darwish)
|
||||
|
||||
Alias for Zypper according to the official Zypper's alias
|
||||
Aliases for [Zypper](https://en.opensuse.org/Portal:Zypper) according to the official Zypper's alias
|
||||
|
||||
To use it add `suse` to the plugins array in you zshrc file.
|
||||
|
||||
|
|
@ -10,6 +8,8 @@ To use it add `suse` to the plugins array in you zshrc file.
|
|||
plugins=(... suse)
|
||||
```
|
||||
|
||||
**Maintainer**: [r-darwish](https://github.com/r-darwish)
|
||||
|
||||
## Main commands
|
||||
|
||||
| Alias | Commands | Description |
|
||||
|
|
@ -79,6 +79,7 @@ Related: [#9798](https://github.com/ohmyzsh/ohmyzsh/pull/9798).
|
|||
| zrr | `sudo zypper rr` | remove repositories |
|
||||
|
||||
## Services commands
|
||||
|
||||
| Alias | Commands | Description |
|
||||
| ----- | ------------------ | -------------------------------------------------------------- |
|
||||
| zas | `sudo zypper as` | adds a service specified by URI to the system |
|
||||
|
|
@ -88,6 +89,7 @@ Related: [#9798](https://github.com/ohmyzsh/ohmyzsh/pull/9798).
|
|||
| zls | `zypper ls` | list services defined on the system |
|
||||
|
||||
## Package Locks Management commands
|
||||
|
||||
| Alias | Commands | Description |
|
||||
| ----- | ---------------- | ----------------------------------- |
|
||||
| zal | `sudo zypper al` | add a package lock |
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
# Swift Package Manager
|
||||
|
||||
## Description
|
||||
|
||||
This plugin provides a few utilities that make you faster on your daily work with the [Swift Package Manager](https://github.com/apple/swift-package-manager), as well as autocompletion for Swift 5.9.
|
||||
|
||||
To start using it, add the `swiftpm` plugin to your `plugins` array in `~/.zshrc`:
|
||||
|
|
|
|||
|
|
@ -634,7 +634,7 @@ _swift_package_unedit() {
|
|||
integer ret=1
|
||||
local -a args
|
||||
args+=(
|
||||
'--force[Unedit the package even if it has uncommited and unpushed changes]'
|
||||
'--force[Unedit the package even if it has uncommitted and unpushed changes]'
|
||||
':package-name:'
|
||||
'--version[Show the version.]'
|
||||
'(-help -h --help)'{-help,-h,--help}'[Show help information.]'
|
||||
|
|
|
|||
11
plugins/tailscale/README.md
Normal file
11
plugins/tailscale/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# tailscale
|
||||
|
||||
This plugin provides completion for [tailscale](https://tailscale.com/) (Easy software-defined networks using an implementation of wireguard).
|
||||
|
||||
To use it, add `tailscale` to the plugins array in your zshrc file.
|
||||
|
||||
```
|
||||
plugins=(... tailscale)
|
||||
```
|
||||
|
||||
**Author:** [@lukeab](https://github.com/lukeab)
|
||||
13
plugins/tailscale/tailscale.plugin.zsh
Normal file
13
plugins/tailscale/tailscale.plugin.zsh
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
if (( ! $+commands[tailscale] )); then
|
||||
return
|
||||
fi
|
||||
|
||||
# If the completion file doesn't exist yet, we need to autoload it and
|
||||
# bind it to `tailscale`. Otherwise, compinit will have already done that.
|
||||
if [[ ! -f "$ZSH_CACHE_DIR/completions/_tailscale" ]]; then
|
||||
typeset -g -A _comps
|
||||
autoload -Uz _tailscale
|
||||
_comps[tailscale]=_tailscale
|
||||
fi
|
||||
|
||||
tailscale completion zsh >| "$ZSH_CACHE_DIR/completions/_tailscale" &|
|
||||
|
|
@ -15,21 +15,23 @@ plugins=(... terraform)
|
|||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command |
|
||||
| ------ | ------------------------- |
|
||||
| `tf` | `terraform` |
|
||||
| `tfa` | `terraform apply` |
|
||||
| `tfc` | `terraform console` |
|
||||
| `tfd` | `terraform destroy` |
|
||||
| `tff` | `terraform fmt` |
|
||||
| `tfi` | `terraform init` |
|
||||
| `tfiu` | `terraform init -upgrade` |
|
||||
| `tfo` | `terraform output` |
|
||||
| `tfp` | `terraform plan` |
|
||||
| `tfv` | `terraform validate` |
|
||||
| `tfs` | `terraform state` |
|
||||
| `tft` | `terraform test` |
|
||||
| `tfsh` | `terraform show` |
|
||||
| Alias | Command |
|
||||
|---------|----------------------------------|
|
||||
| `tf` | `terraform` |
|
||||
| `tfa` | `terraform apply` |
|
||||
| `tfaa` | `terraform apply -auto-approve` |
|
||||
| `tfc` | `terraform console` |
|
||||
| `tfd` | `terraform destroy` |
|
||||
| `tff` | `terraform fmt` |
|
||||
| `tffr` | `terraform fmt -recursive` |
|
||||
| `tfi` | `terraform init` |
|
||||
| `tfiu` | `terraform init -upgrade` |
|
||||
| `tfo` | `terraform output` |
|
||||
| `tfp` | `terraform plan` |
|
||||
| `tfv` | `terraform validate` |
|
||||
| `tfs` | `terraform state` |
|
||||
| `tft` | `terraform test` |
|
||||
| `tfsh` | `terraform show` |
|
||||
|
||||
|
||||
## Prompt function
|
||||
|
|
|
|||
|
|
@ -17,9 +17,11 @@ function tf_version_prompt_info() {
|
|||
|
||||
alias tf='terraform'
|
||||
alias tfa='terraform apply'
|
||||
alias tfaa='terraform apply -auto-approve'
|
||||
alias tfc='terraform console'
|
||||
alias tfd='terraform destroy'
|
||||
alias tff='terraform fmt'
|
||||
alias tffr='terraform fmt -recursive'
|
||||
alias tfi='terraform init'
|
||||
alias tfiu='terraform init -upgrade'
|
||||
alias tfo='terraform output'
|
||||
|
|
|
|||
|
|
@ -29,18 +29,18 @@ The plugin also supports the following:
|
|||
|
||||
## Configuration Variables
|
||||
|
||||
| Variable | Description |
|
||||
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `ZSH_TMUX_AUTOSTART` | Automatically starts tmux (default: `false`) |
|
||||
| `ZSH_TMUX_AUTOSTART_ONCE` | Autostart only if tmux hasn't been started previously (default: `true`) |
|
||||
| `ZSH_TMUX_AUTOCONNECT` | Automatically connect to a previous session if it exits (default: `true`) |
|
||||
| `ZSH_TMUX_AUTOQUIT` | Automatically closes terminal once tmux exits (default: `ZSH_TMUX_AUTOSTART`) |
|
||||
| `ZSH_TMUX_CONFIG` | Set the configuration path (default: `$HOME/.tmux.conf`, `$XDG_CONFIG_HOME/tmux/tmux.conf`) |
|
||||
| `ZSH_TMUX_DEFAULT_SESSION_NAME` | Set tmux default session name when autostart is enabled |
|
||||
| `ZSH_TMUX_AUTONAME_SESSION` | Automatically name new sessions based on the basename of `$PWD` (default: `false`) |
|
||||
| `ZSH_TMUX_DETACHED` | Set the detached mode (default: `false`) |
|
||||
| `ZSH_TMUX_FIXTERM` | Sets `$TERM` to 256-color term or not based on current terminal support |
|
||||
| `ZSH_TMUX_FIXTERM_WITHOUT_256COLOR` | `$TERM` to use for non 256-color terminals (default: `tmux` if available, `screen` otherwise) |
|
||||
| `ZSH_TMUX_FIXTERM_WITH_256COLOR` | `$TERM` to use for 256-color terminals (default: `tmux-256color` if available, `screen-256color` otherwise) |
|
||||
| `ZSH_TMUX_ITERM2` | Sets the `-CC` option for iTerm2 tmux integration (default: `false`) |
|
||||
| `ZSH_TMUX_UNICODE` | Set `tmux -u` option to support unicode |
|
||||
| Variable | Description |
|
||||
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `ZSH_TMUX_AUTOSTART` | Automatically starts tmux (default: `false`) |
|
||||
| `ZSH_TMUX_AUTOSTART_ONCE` | Autostart only if tmux hasn't been started previously (default: `true`) |
|
||||
| `ZSH_TMUX_AUTOCONNECT` | Automatically connect to a previous session if it exits (default: `true`) |
|
||||
| `ZSH_TMUX_AUTOQUIT` | Automatically closes terminal once tmux exits (default: `ZSH_TMUX_AUTOSTART`) |
|
||||
| `ZSH_TMUX_CONFIG` | Set the configuration path (default: `$HOME/.tmux.conf`, `$XDG_CONFIG_HOME/tmux/tmux.conf`) |
|
||||
| `ZSH_TMUX_DEFAULT_SESSION_NAME` | Set tmux default session name when autostart is enabled |
|
||||
| `ZSH_TMUX_AUTONAME_SESSION` | Automatically name new sessions based on the basename of `$PWD` (default: `false`) |
|
||||
| `ZSH_TMUX_DETACHED` | Set the detached mode (default: `false`) |
|
||||
| `ZSH_TMUX_FIXTERM` | Sets `$TERM` to 256-color term or not based on current terminal support |
|
||||
| `ZSH_TMUX_FIXTERM_WITHOUT_256COLOR` | `$TERM` to use for non 256-color terminals (default: `tmux` if available, `screen` otherwise) |
|
||||
| `ZSH_TMUX_FIXTERM_WITH_256COLOR` | `$TERM` to use for 256-color terminals (default: `tmux-256color` if available, `screen-256color` otherwise) |
|
||||
| `ZSH_TMUX_ITERM2` | Sets the `-CC` option for [iTerm2 tmux integration](https://iterm2.com/documentation-tmux-integration.html) (default: `false`) |
|
||||
| `ZSH_TMUX_UNICODE` | Set `tmux -u` option to support unicode |
|
||||
|
|
|
|||
|
|
@ -1,6 +1,33 @@
|
|||
# vagrant-prompt
|
||||
|
||||
This plugin prompts the status of the Vagrant VMs. It supports single-host and
|
||||
multi-host configurations as well.
|
||||
|
||||
Look inside the source for documentation about custom variables.
|
||||
To use it, add `vagrant-prompt` to the plugins array in your zshrc file:
|
||||
|
||||
Alberto Re <alberto.re@gmail.com>
|
||||
```zsh
|
||||
plugins=(... vagrant-prompt)
|
||||
```
|
||||
|
||||
**Alberto Re <alberto.re@gmail.com>**
|
||||
|
||||
## Usage
|
||||
|
||||
To display Vagrant info on your prompt add the `vagrant_prompt_info` to the
|
||||
`$PROMPT` or `$RPROMPT` variable in your theme. Example:
|
||||
|
||||
```zsh
|
||||
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(vagrant_prompt_info)$(svn_prompt_info)$(git_prompt_info)%(!.#.$) '
|
||||
```
|
||||
|
||||
`vagrant_prompt_info` makes use of some custom variables. This is an example
|
||||
definition:
|
||||
|
||||
```zsh
|
||||
ZSH_THEME_VAGRANT_PROMPT_PREFIX="%{$fg_bold[blue]%}["
|
||||
ZSH_THEME_VAGRANT_PROMPT_SUFFIX="%{$fg_bold[blue]%}]%{$reset_color%} "
|
||||
ZSH_THEME_VAGRANT_PROMPT_RUNNING="%{$fg_no_bold[green]%}●"
|
||||
ZSH_THEME_VAGRANT_PROMPT_POWEROFF="%{$fg_no_bold[red]%}●"
|
||||
ZSH_THEME_VAGRANT_PROMPT_SUSPENDED="%{$fg_no_bold[yellow]%}●"
|
||||
ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED="%{$fg_no_bold[white]%}○"
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,20 +1,3 @@
|
|||
# vim:ft=zsh ts=2 sw=2 sts=2
|
||||
#
|
||||
# To display Vagrant infos on your prompt add the vagrant_prompt_info to the
|
||||
# $PROMPT variable in your theme. Example:
|
||||
#
|
||||
# PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(vagrant_prompt_info)$(svn_prompt_info)$(git_prompt_info)%(!.#.$) '
|
||||
#
|
||||
# `vagrant_prompt_info` makes use of some custom variables. This is an example
|
||||
# definition:
|
||||
#
|
||||
# ZSH_THEME_VAGRANT_PROMPT_PREFIX="%{$fg_bold[blue]%}["
|
||||
# ZSH_THEME_VAGRANT_PROMPT_SUFFIX="%{$fg_bold[blue]%}]%{$reset_color%} "
|
||||
# ZSH_THEME_VAGRANT_PROMPT_RUNNING="%{$fg_no_bold[green]%}●"
|
||||
# ZSH_THEME_VAGRANT_PROMPT_POWEROFF="%{$fg_no_bold[red]%}●"
|
||||
# ZSH_THEME_VAGRANT_PROMPT_SUSPENDED="%{$fg_no_bold[yellow]%}●"
|
||||
# ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED="%{$fg_no_bold[white]%}○"
|
||||
|
||||
function vagrant_prompt_info() {
|
||||
local vm_states vm_state
|
||||
if [[ -d .vagrant && -f Vagrantfile ]]; then
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
# Vault plugin
|
||||
|
||||
Note: this plugin is deprecated. Use the [official autocompletion](https://www.vaultproject.io/docs/commands/index.html#autocompletion) instead.
|
||||
|
||||
-------
|
||||
|
||||
Adds autocomplete options for all [vault](https://www.vaultproject.io) commands.
|
||||
|
||||
To use it, add `vault` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... vault)
|
||||
```
|
||||
|
||||
Crafted with <3 by Valentin Bud ([@valentinbud](https://twitter.com/valentinbud))
|
||||
|
|
@ -1,400 +0,0 @@
|
|||
#compdef vault
|
||||
|
||||
typeset -a main_args
|
||||
main_args=(
|
||||
'(-version)-version[Prints the Vault version]'
|
||||
'(-help)-help[Prints Vault Help]'
|
||||
)
|
||||
|
||||
typeset -a general_args
|
||||
general_args=(
|
||||
'(-help)-help[Prints Help]'
|
||||
'(-address)-address=-[The address of the Vault server. Overrides the VAULT_ADDR environment variable if set.]:address:'
|
||||
'(-ca-cert)-ca-cert=-[Path to a PEM encoded CA cert file to use to verify the Vault server SSL certificate. Overrides the VAULT_CACERT environment variable if set.]:file:_files -g "*.pem"'
|
||||
'(-ca-path)-ca-path=-[Path to a directory of PEM encoded CA cert files to verify the Vault server SSL certificate. If both -ca-cert and -ca-path are specified, -ca-path is used.Overrides the VAULT_CAPATH environment variable if set.]:directory:_directories'
|
||||
'(-client-cert)-client-cert=-[Path to a PEM encoded client certificate for TLS authentication to the Vault server. Must also specify -client-key. Overrides the VAULT_CLIENT_CERT environment variable if set.]:file:_files -g "*.pem"'
|
||||
'(-client-key)-client-key=-[Path to an unencrypted PEM encoded private key matching the client certificate from -client-cert. Overrides the VAULT_CLIENT_KEY environment variable if set.]:file:_files -g "*.pem"'
|
||||
'(-tls-skip-verify)-tls-skip-verify[Do not verify TLS certificate. This is highly not recommended. Verification will also be skipped if VAULT_SKIP_VERIFY is set.]'
|
||||
)
|
||||
|
||||
typeset -a audit_enable_args
|
||||
audit_enable_args=(
|
||||
'(-description)-description=-[A human-friendly description for the backend. This shows up only when querying the enabled backends.]:description:'
|
||||
'(-id)-id=-[Specify a unique ID for this audit backend. This is purely for referencing this audit backend. By default this will be the backend type.]:id:'
|
||||
)
|
||||
|
||||
typeset -a auth_args
|
||||
auth_args=(
|
||||
'(-method)-method=-[Outputs help for the authentication method with the given name for the remote server. If this authentication method is not available, exit with code 1.]:method:(cert ldap github userpass app-id)'
|
||||
'(-method-help)-method-help[If set, the help for the selected method will be shown.]'
|
||||
'(-methods)-methods[List the available auth methods.]'
|
||||
'(-no-verify)-no-verify[Do not verify the token after creation; avoids a use count]'
|
||||
)
|
||||
|
||||
typeset -a auth_enable_args
|
||||
auth_enable_args=(
|
||||
'(-description)-description=-[Human-friendly description of the purpose for the auth provider. This shows up in the auth-list command.]:description:'
|
||||
'(-path)-path=-[Mount point for the auth provider. This defaults to the type of the mount. This will make the auth provider available at "/auth/<path>"]:path:'
|
||||
)
|
||||
|
||||
typeset -a init_args
|
||||
init_args=(
|
||||
'(-key-shares)-key-shares=-[(default: 5) The number of key shares to split the master key into.]:keyshares:'
|
||||
'(-key-threshold)-key-threshold=-[(default: 3) The number of key shares required to reconstruct the master key.]:keythreshold:'
|
||||
'(-pgp-keys)-pgp-keys[If provided, must be a comma-separated list of files on disk containing binary- or base64-format public PGP keys. The number of files must match "key-shares". The output unseal keys will encrypted and hex-encoded, in order, with the given public keys. If you want to use them with the "vault unseal" command, you will need to hex decode and decrypt; this will be the plaintext unseal key.]:pgpkeys:_files'
|
||||
)
|
||||
|
||||
typeset -a mount_tune_args
|
||||
mount_tune_args=(
|
||||
'(-default-lease-ttl)-default-lease-ttl=-[Default lease time-to-live for this backend. If not specified, uses the system default, or the previously set value. Set to "system" to explicitly set it to use the system default.]:defaultleasettl:'
|
||||
'(-max-lease-ttl)-max-lease-ttl=-[Max lease time-to-live for this backend. If not specified, uses the system default, or the previously set value. Set to "system" to explicitly set it to use the system default.]:maxleasettl:'
|
||||
)
|
||||
|
||||
typeset -a mount_args
|
||||
mount_args=(
|
||||
$mount_tune_args
|
||||
'(-path)-path=-[Mount point for the logical backend. This defaults to the type of the mount.]:path:'
|
||||
'(-description)-description=-[Human-friendly description of the purpose for the mount. This shows up in the mounts command.]:description:'
|
||||
)
|
||||
|
||||
typeset -a rekey_args
|
||||
rekey_args=(
|
||||
$init_args
|
||||
'(-init)-init[Initialize the rekey operation by setting the desired number of shares and the key threshold. This can only be done if no rekey is already initiated.]:init:'
|
||||
'(-cancel)-cancel[Reset the rekey process by throwing away prior keys and the rekey configuration.]:cancel:'
|
||||
'(-status)-status[Prints the status of the current rekey operation. This can be used to see the status without attempting to provide an unseal key.]:status:'
|
||||
)
|
||||
|
||||
typeset -a ssh_args
|
||||
ssh_args=(
|
||||
'(-role)-role[Role to be used to create the key. ]:role:'
|
||||
'(-no-exec)-no-exec[Shows the credentials but does not establish connection.]:noexec:'
|
||||
'(-mount-point)-mount-point[Mount point of SSH backend. If the backend is mounted at "ssh", which is the default as well, this parameter can be skipped.]:mountpoint:'
|
||||
'(-format)-format[If no-exec option is enabled, then the credentials will be printed out and SSH connection will not be established. The format of the output can be "json" or "table". JSON output is useful when writing scripts. Default is "table".]:format:(json table)'
|
||||
)
|
||||
|
||||
typeset -a token_create_args
|
||||
token_create_args=(
|
||||
'(-id)-id=-[The token value that clients will use to authenticate with vault. If not provided this defaults to a 36 character UUID. A root token is required to specify the ID of a token.]:id:'
|
||||
'(-display-name)-display-name=-[A display name to associate with this token. This is a non-security sensitive value used to help identify created secrets, i.e. prefixes.]:displayname:'
|
||||
'(-ttl)-ttl=-[TTL to associate with the token. This option enables the tokens to be renewable.]:ttl:'
|
||||
'*-metadata=-[Metadata to associate with the token. This shows up in the audit log. This can be specified multiple times.]:metadata:'
|
||||
'(-orphan)-orphan[If specified, the token will have no parent. Only root tokens can create orphan tokens. This prevents the new token from being revoked with your token.]:orphan:'
|
||||
'(-no-default-policy)-no-default-policy[If specified, the token will not have the "default" policy included in its policy set.]:nodefaultpolicy:'
|
||||
'*-policy=-[Policy to associate with this token. This can be specified multiple times.]:policy:__vault_policies'
|
||||
'(-use-limit)-use-limit=-[The number of times this token can be used until it is automatically revoked.]:uselimit:'
|
||||
'(-format)-format=-[The format for output. By default it is a whitespace-delimited table. This can also be json.]:format:(json table)'
|
||||
)
|
||||
|
||||
typeset -a server_args
|
||||
server_args=(
|
||||
'*-config=-[Path to the configuration file or directory. This can be specified multiple times. If it is a directory, all files with a ".hcl" or ".json" suffix will be loaded.]:config:_files'
|
||||
'-dev[Enables Dev mode. In this mode, Vault is completely in-memory and unsealed. Do not run the Dev server in production!]:dev:'
|
||||
'-log-level=-[Log verbosity. Defaults to "info", will be outputtedto stderr. Supported values: "trace", "debug", "info", "warn", "err"]:loglevel:(trace debug info warn err)'
|
||||
)
|
||||
|
||||
_vault_audit-list() {
|
||||
_arguments : \
|
||||
${general_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_audit-disable() {
|
||||
# vault audit-list doesn't print the backend id so for now
|
||||
# no *smart* autocompletion for this subcommand.
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
':::(file syslog)' && ret=0
|
||||
}
|
||||
|
||||
_vault_audit-enable() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${audit_enable_args[@]} \
|
||||
': :->backends' \
|
||||
'*:: :->backendconfig' && ret=0
|
||||
|
||||
case $state in
|
||||
backends)
|
||||
local -a backends
|
||||
backends=(
|
||||
'file:The "file" audit backend writes audit logs to a file.'
|
||||
'syslog:The "syslog" audit backend writes audit logs to syslog.'
|
||||
)
|
||||
_describe -t backends 'vault audit backends' backends && ret=0
|
||||
;;
|
||||
backendconfig)
|
||||
case ${line[1]} in
|
||||
file)
|
||||
_values -w "Audit Backend File" \
|
||||
'path[(required) - The path to where the file will be written. If this path exists, the audit backend will append to it.]:file:_files' \
|
||||
'log_raw[(optional) Should security sensitive information be logged raw. Defaults to "false".]:log_raw:(true false)' && ret=0
|
||||
;;
|
||||
syslog)
|
||||
_values -w "Audit Backend Syslog" \
|
||||
'facility[(optional) - The syslog facility to use. Defaults to "AUTH".]:facility:(kern user mail daemon auth syslog lpr news uucp authpriv ftp cron local0 local1 local2 local3 local4 local5 local6 local7)' \
|
||||
'tag[(optional) - The syslog tag to use. Defaults to "vault".]:tag:' \
|
||||
'log_raw[(optional) Should security sensitive information be logged raw.]:log_raw:(true false)' && ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_vault_auth() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${auth_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_auth-enable() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${auth_enable_args[@]} \
|
||||
':::(cert ldap github userpass app-id)' && ret=0
|
||||
}
|
||||
|
||||
__vault_auth_methods() {
|
||||
local -a authmethods
|
||||
authmethods=($(vault auth -methods | awk 'NR>1{split ($1,a,"/"); print a[1]":["$2"]"}'))
|
||||
_describe -t authmethods 'authmethods' authmethods && ret=0
|
||||
}
|
||||
|
||||
_vault_auth-disable() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
':::__vault_auth_methods' && ret=0
|
||||
|
||||
}
|
||||
|
||||
_vault_init() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${init_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_key-status() {
|
||||
_arguments : \
|
||||
${general_args[@]} && ret=0
|
||||
}
|
||||
|
||||
__vault_mounts() {
|
||||
local -a mounts
|
||||
mounts=($(vault mounts | awk 'NR>1{split ($1,a,"/"); print a[1]":["$2"]"}'))
|
||||
_describe -t mounts 'mounts' mounts && ret=0
|
||||
}
|
||||
|
||||
_vault_mounts() {
|
||||
_arguments : \
|
||||
${general_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_mount() {
|
||||
# to find out how many types of backends are there
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${mount_args[@]} \
|
||||
':::(generic ssh)' && ret=0
|
||||
}
|
||||
|
||||
_vault_mount-tune() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${mount_tune_args[@]} \
|
||||
':::__vault_mounts' && ret=0
|
||||
}
|
||||
|
||||
_vault_unmount() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
':::__vault_mounts' && ret=0
|
||||
}
|
||||
|
||||
_vault_remount() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
':::__vault_mounts' \
|
||||
':::' && ret=0
|
||||
}
|
||||
|
||||
__vault_policies() {
|
||||
local -a policies
|
||||
policies=($(vault policies | awk '{print $1":["$1"]"}'))
|
||||
_describe -t policies 'policies' policies && ret=0
|
||||
}
|
||||
|
||||
_vault_policies() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
':::__vault_policies' && ret=0
|
||||
}
|
||||
|
||||
_vault_policy-delete() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
':::__vault_policies' && ret=0
|
||||
}
|
||||
|
||||
_vault_policy-write() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
': ::' \
|
||||
'::policy:_files' && ret=0
|
||||
}
|
||||
|
||||
_vault_status() {
|
||||
_arguments : \
|
||||
${general_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_rekey() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${rekey_args[@]} \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_rotate() {
|
||||
_arguments : \
|
||||
${general_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_seal() {
|
||||
_arguments : \
|
||||
${general_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_ssh() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${ssh_args[@]} \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_token-create() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
${token_create_args[@]} && ret=0
|
||||
}
|
||||
|
||||
_vault_token-renew() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
'(-format)-format=-[The format for output. By default it is a whitespace-delimited table. This can also be json.]:format:(json table)' \
|
||||
': ::' \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_token-revoke() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
'(-mode)-mode=-[The type of revocation to do. See the documentation above for more information.]:mode:( orphan path)' \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_unseal() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
'(-reset)-reset[Reset the unsealing process by throwing away prior keys in process to unseal the vault.]:reset:' \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_version() {
|
||||
# no args
|
||||
}
|
||||
|
||||
_vault_delete() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_path-help() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_revoke() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
'(-format)-format=-[The format for output. By default it is a whitespace-delimited table. This can also be json.]:format:(json table)' \
|
||||
': ::' \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_server() {
|
||||
_arguments : \
|
||||
${server_args[@]} && ret=0
|
||||
|
||||
}
|
||||
|
||||
_vault_write() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
'(-f -force)'{-f,-force}'[Force the write to continue without any data values specified. This allows writing to keys that do not need or expect any fields to be specified.]:force:' \
|
||||
': ::' \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_read() {
|
||||
_arguments : \
|
||||
${general_args[@]} \
|
||||
'(-format)-format=-[The format for output. By default it is a whitespace-delimited table. This can also be json.]:format:(json table)' \
|
||||
'(-field)-field=-[If included, the raw value of the specified field will be output raw to stdout.]:field:' \
|
||||
': ::' && ret=0
|
||||
}
|
||||
|
||||
_vault_commands() {
|
||||
local -a commands
|
||||
|
||||
commands=(
|
||||
"delete":"Delete operation on secrets in Vault"
|
||||
"path-help":"Look up the help for a path"
|
||||
"read":"Read data or secrets from Vault"
|
||||
"renew":"Renew the lease of a secret"
|
||||
"revoke":"Revoke a secret"
|
||||
"server":"Start a Vault server"
|
||||
"status":"Outputs status of whether Vault is sealed and if HA mode is enabled"
|
||||
"write":"Write secrets or configuration into Vault"
|
||||
"audit-disable":"Disable an audit backend"
|
||||
"audit-enable":"Enable an audit backend"
|
||||
"audit-list":"Lists enabled audit backends in Vault"
|
||||
"auth":"Prints information about how to authenticate with Vault"
|
||||
"auth-disable":"Disable an auth provider"
|
||||
"auth-enable":"Enable a new auth provider"
|
||||
"init":"Initialize a new Vault server"
|
||||
"key-status":"Provides information about the active encryption key"
|
||||
"mount":"Mount a logical backend"
|
||||
"mount-tune":"Tune mount configuration parameters"
|
||||
"mounts":"Lists mounted backends in Vault"
|
||||
"policies":"List the policies on the server"
|
||||
"policy-delete":"Delete a policy from the server"
|
||||
"policy-write":"Write a policy to the server"
|
||||
"rekey":"Rekeys Vault to generate new unseal keys"
|
||||
"remount":"Remount a secret backend to a new path"
|
||||
"rotate":"Rotates the backend encryption key used to persist data"
|
||||
"seal":"Seals the vault server"
|
||||
"ssh":"Initiate a SSH session"
|
||||
"token-create":"Create a new auth token"
|
||||
"token-renew":"Renew an auth token if there is an associated lease"
|
||||
"token-revoke":"Revoke one or more auth tokens"
|
||||
"unmount":"Unmount a secret backend"
|
||||
"unseal":"Unseals the vault server"
|
||||
"version":"Prints the Vault version"
|
||||
)
|
||||
|
||||
_describe -t commands 'vault command' commands && ret=0
|
||||
}
|
||||
|
||||
local curcontext=$curcontext ret=1
|
||||
_arguments : \
|
||||
${main_args[@]} \
|
||||
'*:: :->subcommands' && ret=0
|
||||
if ((CURRENT == 1 )); then
|
||||
_vault_commands && ret=0
|
||||
fi
|
||||
if [[ $state == subcommands ]]; then
|
||||
# (( CURRENT -- ))
|
||||
curcontext="${curcontext%:*:*}:vault-$words[1]:"
|
||||
_call_function ret _vault_$words[1]
|
||||
fi
|
||||
|
|
@ -1,5 +1,13 @@
|
|||
# Vim Interaction #
|
||||
|
||||
The idea for this script is to give you some decent interaction with a running
|
||||
GVim session. Normally you'll be running around your filesystem doing any
|
||||
number of amazing things and you'll need to load some files into GVim for
|
||||
editing, inspecting, destruction, or other bits of mayhem. This script lets you
|
||||
do that.
|
||||
|
||||
## Usage
|
||||
|
||||
The plugin presents a function called `callvim` whose usage is:
|
||||
|
||||
usage: callvim [-b cmd] [-a cmd] [file ... fileN]
|
||||
|
|
@ -9,14 +17,6 @@ The plugin presents a function called `callvim` whose usage is:
|
|||
file The file to edit
|
||||
... fileN The other files to add to the argslist
|
||||
|
||||
## Rationale ##
|
||||
|
||||
The idea for this script is to give you some decent interaction with a running
|
||||
GVim session. Normally you'll be running around your filesystem doing any
|
||||
number of amazing things and you'll need to load some files into GVim for
|
||||
editing, inspecting, destruction, or other bits of mayhem. This script lets you
|
||||
do that.
|
||||
|
||||
## Aliases ##
|
||||
|
||||
There are a few aliases presented as well:
|
||||
|
|
|
|||
|
|
@ -115,9 +115,11 @@ wd() {
|
|||
|
||||
3. Install manpage (optional):
|
||||
|
||||
Move manpage into an appropriate directory, then trigger `mandb` to discover it
|
||||
|
||||
```zsh
|
||||
sudo cp ~/.local/wd/wd.1 /usr/share/man/man1/wd.1
|
||||
sudo chmod 644 /usr/share/man/man1/wd.1
|
||||
sudo install -m 644 ~/.local/wd/wd.1 /usr/share/man/man1/wd.1
|
||||
sudo mandb /usr/share/man/man1
|
||||
```
|
||||
|
||||
**Note:** when pulling and updating `wd`, you'll need to repeat step 3 should the manpage change
|
||||
|
|
@ -139,10 +141,11 @@ rm -f ~/.zcompdump; compinit
|
|||
|
||||
## Browse
|
||||
|
||||
If you want to make use of the `fzf`-powered browse feature to fuzzy search through all your warp points, set up a keybind in your `.zshrc`:
|
||||
`wd` comes with an `fzf`-powered browse feature to fuzzy search through all your warp points. It's available through the `wd browse` command. For quick access you can set up an alias or keybind in your `.zshrc`:
|
||||
|
||||
```zsh
|
||||
bindkey ${FZF_WD_BINDKEY:-'^B'} fuzzy_wd_widget
|
||||
# ctrl-b to open the fzf browser
|
||||
bindkey ${FZF_WD_BINDKEY:-'^B'} wd_browse_widget
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
|
@ -255,12 +258,6 @@ wd --version
|
|||
wd --config ./file <command>
|
||||
```
|
||||
|
||||
* Force `exit` with return code after running. This is not default, as it will *exit your terminal*, though required for testing/debugging.
|
||||
|
||||
```zsh
|
||||
wd --debug <command>
|
||||
```
|
||||
|
||||
* Silence all output:
|
||||
|
||||
```zsh
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/zsh
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# WARP DIRECTORY
|
||||
# ==============
|
||||
|
|
@ -18,4 +18,3 @@ zle -N wd_browse_widget
|
|||
zle -N wd_restore_buffer
|
||||
autoload -Uz add-zle-hook-widget
|
||||
add-zle-hook-widget line-init wd_restore_buffer
|
||||
bindkey ${FZF_WD_BINDKEY:-'^B'} wd_browse_widget
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/zsh
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# WARP DIRECTORY
|
||||
# ==============
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
# @github.com/mfaerevaag/wd
|
||||
|
||||
# version
|
||||
readonly WD_VERSION=0.7.0
|
||||
readonly WD_VERSION=0.9.0
|
||||
|
||||
# colors
|
||||
readonly WD_BLUE="\033[96m"
|
||||
|
|
@ -90,7 +90,6 @@ Commands:
|
|||
clean Remove points warping to nonexistent directories (will prompt unless --force is used)
|
||||
|
||||
-v | --version Print version
|
||||
-d | --debug Exit after execution with exit codes (for testing)
|
||||
-c | --config Specify config file (default ~/.warprc)
|
||||
-q | --quiet Suppress all output
|
||||
-f | --force Allows overwriting without warning (for add & clean)
|
||||
|
|
@ -426,7 +425,6 @@ wd_export_static_named_directories() {
|
|||
WD_CONFIG=${WD_CONFIG:-$HOME/.warprc}
|
||||
local WD_QUIET=0
|
||||
local WD_EXIT_CODE=0
|
||||
local WD_DEBUG=0
|
||||
|
||||
# Parse 'meta' options first to avoid the need to have them before
|
||||
# other commands. The `-D` flag consumes recognized options so that
|
||||
|
|
@ -436,7 +434,6 @@ zparseopts -D -E \
|
|||
c:=wd_alt_config -config:=wd_alt_config \
|
||||
q=wd_quiet_mode -quiet=wd_quiet_mode \
|
||||
v=wd_print_version -version=wd_print_version \
|
||||
d=wd_debug_mode -debug=wd_debug_mode \
|
||||
f=wd_force_mode -force=wd_force_mode
|
||||
|
||||
if [[ ! -z $wd_print_version ]]
|
||||
|
|
@ -583,9 +580,4 @@ unset args
|
|||
unset points
|
||||
unset val &> /dev/null # fixes issue #1
|
||||
|
||||
if [[ -n $wd_debug_mode ]]
|
||||
then
|
||||
exit $WD_EXIT_CODE
|
||||
else
|
||||
unset wd_debug_mode
|
||||
fi
|
||||
return $WD_EXIT_CODE
|
||||
|
|
|
|||
|
|
@ -50,16 +50,18 @@ Available search contexts are:
|
|||
| `npmpkg` | `https://www.npmjs.com/search?q=` |
|
||||
| `packagist` | `https://packagist.org/?query=` |
|
||||
| `gopkg` | `https://pkg.go.dev/search?m=package&q=` |
|
||||
| `chatgpt` | `https://chatgpt.com/?q=` |
|
||||
| `reddit` | `https://www.reddit.com/search/?q=` |
|
||||
|
||||
Also there are aliases for bang-searching DuckDuckGo:
|
||||
|
||||
| Context | Bang |
|
||||
| --------- | ----- |
|
||||
| `wiki` | `!w` |
|
||||
| `news` | `!n` |
|
||||
| `map` | `!m` |
|
||||
| `image` | `!i` |
|
||||
| `ducky` | `!` |
|
||||
| Context | Bang |
|
||||
| ------- | ---- |
|
||||
| `wiki` | `!w` |
|
||||
| `news` | `!n` |
|
||||
| `map` | `!m` |
|
||||
| `image` | `!i` |
|
||||
| `ducky` | `!` |
|
||||
|
||||
### Custom search engines
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ function web_search() {
|
|||
npmpkg "https://www.npmjs.com/search?q="
|
||||
packagist "https://packagist.org/?query="
|
||||
gopkg "https://pkg.go.dev/search?m=package&q="
|
||||
chatgpt "https://chatgpt.com/?q="
|
||||
reddit "https://www.reddit.com/search/?q="
|
||||
)
|
||||
|
||||
# check whether the search engine is supported
|
||||
|
|
@ -83,6 +85,8 @@ alias dockerhub='web_search dockerhub'
|
|||
alias npmpkg='web_search npmpkg'
|
||||
alias packagist='web_search packagist'
|
||||
alias gopkg='web_search gopkg'
|
||||
alias chatgpt='web_search chatgpt'
|
||||
alias reddit='web_search reddit'
|
||||
|
||||
#add your own !bang searches here
|
||||
alias wiki='web_search duckduckgo \!w'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
# Xcode
|
||||
|
||||
## Description
|
||||
|
||||
This plugin provides a few utilities that can help you on your daily use of Xcode and iOS development.
|
||||
|
||||
To start using it, add the `xcode` plugin to your `plugins` array in `~/.zshrc`:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Yii2 autocomplete plugin
|
||||
|
||||
* Adds autocomplete commands and subcommands for yii.
|
||||
Adds autocomplete commands and subcommands for [yii](https://www.yiiframework.com/).
|
||||
|
||||
## Requirements
|
||||
|
||||
Autocomplete works from directory where your `yii` file contains.
|
||||
Autocomplete works from directory where your `yii` file is contained.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# zsh-interactive-cd
|
||||
|
||||
This plugin provides an interactive way to change directories in zsh using fzf.
|
||||
|
||||
## Demo
|
||||
|
||||

|
||||
|
|
@ -8,7 +10,11 @@
|
|||
|
||||
1. Install [fzf](https://github.com/junegunn/fzf) by following its [installation instruction](https://github.com/junegunn/fzf#installation).
|
||||
|
||||
2. Source `zsh-interactive-cd.plugin.zsh` in `.zshrc`.
|
||||
2. Add `zsh-interactive-cd` to your plugin list in `~/.zshrc`:
|
||||
|
||||
```zsh
|
||||
plugins=(... zsh-interactive-cd)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ Result is stored as `$reply[REPLY]` (`$` isn't needed before `REPLY` because
|
|||
of arithmetic context inside `[]`). The returned array might be different from
|
||||
input arguments as `n-list` can process them via incremental search or uniq
|
||||
mode. `$REPLY` is the index in that possibly processed array. If `$REPLY`
|
||||
equals `-1` it means that no selection have been made (user quitted via `q`
|
||||
equals `-1` it means that no selection have been made (user quit via `q`
|
||||
key).
|
||||
|
||||
To set up entries that can be jumped to with `[`,`]` keys add their indices to
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ while (( 1 )); do
|
|||
elif [ -n "$keypad" ]; then
|
||||
final_key="$keypad"
|
||||
else
|
||||
_vpreview_status_msg "Inproper input detected"
|
||||
_vpreview_status_msg "Improper input detected"
|
||||
zcurses refresh status
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -90,9 +90,9 @@ source $ZSH/oh-my-zsh.sh
|
|||
|
||||
# Preferred editor for local and remote sessions
|
||||
#if [[ -n $SSH_CONNECTION ]]; then
|
||||
# export EDITOR='vim'
|
||||
# export EDITOR='vim'
|
||||
#else
|
||||
# export EDITOR='mvim'
|
||||
# export EDITOR='nvim'
|
||||
#fi
|
||||
export EDITOR='vim'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# the svn plugin has to be activated for this to work.
|
||||
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
|
||||
PROMPT='%{${ret_status}%}%{$fg_bold[green]%} %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}'
|
||||
PROMPT='${ret_status}%{$fg_bold[green]%} %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
|
|
|
|||
|
|
@ -30,8 +30,9 @@ local return_code="%(?..%F{red}%? ↵%f)"
|
|||
local user_host="${PR_USER}%F{cyan}@${PR_HOST}"
|
||||
local current_dir="%B%F{blue}%~%f%b"
|
||||
local git_branch='$(git_prompt_info)'
|
||||
local venv_prompt='$(virtualenv_prompt_info)'
|
||||
|
||||
PROMPT="╭─${user_host} ${current_dir} \$(ruby_prompt_info) ${git_branch}
|
||||
PROMPT="╭─${venv_prompt}${user_host} ${current_dir} \$(ruby_prompt_info) ${git_branch}
|
||||
╰─$PR_PROMPT "
|
||||
RPROMPT="${return_code}"
|
||||
|
||||
|
|
@ -39,5 +40,7 @@ ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}‹"
|
|||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %f"
|
||||
ZSH_THEME_RUBY_PROMPT_PREFIX="%F{red}‹"
|
||||
ZSH_THEME_RUBY_PROMPT_SUFFIX="›%f"
|
||||
ZSH_THEME_VIRTUALENV_PREFIX="%F{red}("
|
||||
ZSH_THEME_VIRTUALENV_SUFFIX=")%f "
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue