mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-11 00:10:08 +00:00
Merge branch 'master' into master
This commit is contained in:
commit
8c95c52353
371 changed files with 9606 additions and 2366 deletions
|
@ -1,6 +1,6 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2009-2017 Robby Russell and contributors
|
||||
Copyright (c) 2009-2018 Robby Russell and contributors
|
||||
See the full list at https://github.com/robbyrussell/oh-my-zsh/contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
|
|
14
README.md
14
README.md
|
@ -2,7 +2,7 @@
|
|||
<img src="https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png" alt="Oh My Zsh">
|
||||
</p>
|
||||
|
||||
Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration.
|
||||
Oh My Zsh is an open source, community-driven framework for managing your [zsh](https://www.zsh.org/) configuration.
|
||||
|
||||
Sounds boring. Let's try again.
|
||||
|
||||
|
@ -12,7 +12,7 @@ Once installed, your terminal shell will become the talk of the town _or your mo
|
|||
|
||||
Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often. 😬
|
||||
|
||||
To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.
|
||||
To learn more, visit [ohmyz.sh](https://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.
|
||||
|
||||
## Getting Started
|
||||
|
||||
|
@ -21,7 +21,7 @@ To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://t
|
|||
__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
|
||||
|
||||
* Unix-like operating system (macOS or Linux)
|
||||
* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
|
||||
* [Zsh](https://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
|
||||
* `curl` or `wget` should be installed
|
||||
* `git` should be installed
|
||||
|
||||
|
@ -141,7 +141,7 @@ export ZSH="$HOME/.dotfiles/oh-my-zsh"; sh -c "$(curl -fsSL https://raw.githubus
|
|||
##### 1. Clone the repository:
|
||||
|
||||
```shell
|
||||
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
|
||||
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
|
||||
```
|
||||
|
||||
##### 2. *Optionally*, backup your existing `~/.zshrc` file:
|
||||
|
@ -215,7 +215,7 @@ If you want to uninstall `oh-my-zsh`, just run `uninstall_oh_my_zsh` from the co
|
|||
|
||||
## Contributing
|
||||
|
||||
I'm far from being a [Zsh](http://www.zsh.org/) expert and suspect there are many ways to improve – if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
||||
I'm far from being a [Zsh](https://www.zsh.org/) expert and suspect there are many ways to improve – if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
||||
|
||||
We also need people to test out pull-requests. So take a look through [the open issues](https://github.com/robbyrussell/oh-my-zsh/issues) and help where you can.
|
||||
|
||||
|
@ -238,7 +238,7 @@ We're on the social media.
|
|||
|
||||
## Merchandise
|
||||
|
||||
We have [stickers](https://shop.planetargon.com/products/ohmyzsh-stickers-set-of-3-stickers) and [shirts](http://shop.planetargon.com/products/ohmyzsh-t-shirts) for you to show off your love of Oh My Zsh. Again, this will help you become the talk of the town!
|
||||
We have [stickers](https://shop.planetargon.com/products/ohmyzsh-stickers-set-of-3-stickers) and [shirts](https://shop.planetargon.com/products/ohmyzsh-t-shirts) for you to show off your love of Oh My Zsh. Again, this will help you become the talk of the town!
|
||||
|
||||
## License
|
||||
|
||||
|
@ -248,4 +248,4 @@ Oh My Zsh is released under the [MIT license](LICENSE.txt).
|
|||
|
||||
![Planet Argon](https://pa-github-assets.s3.amazonaws.com/PARGON_logo_digital_COL-small.jpg)
|
||||
|
||||
Oh My Zsh was started by the team at [Planet Argon](https://www.planetargon.com/?utm_source=github), a [Ruby on Rails development agency](https://www.planetargon.com/skills/ruby-on-rails-development?utm_source=github).
|
||||
Oh My Zsh was started by the team at [Planet Argon](https://www.planetargon.com/?utm_source=github), a [Ruby on Rails development agency](https://www.planetargon.com/skills/ruby-on-rails-development?utm_source=github). Check out our [other open source projects](https://www.planetargon.com/open-source?utm_source=github).
|
||||
|
|
4
custom/themes/example.zsh-theme
Normal file
4
custom/themes/example.zsh-theme
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Put your custom themes in this folder.
|
||||
# Example:
|
||||
|
||||
PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
|
|
@ -2,10 +2,6 @@
|
|||
# insecure ownership or permissions) by:
|
||||
#
|
||||
# * Human-readably notifying the user of these insecurities.
|
||||
# * Moving away all existing completion caches to a temporary directory. Since
|
||||
# any of these caches may have been generated from insecure directories, they
|
||||
# are all suspect now. Failing to do so typically causes subsequent compinit()
|
||||
# calls to fail with "command not found: compdef" errors. (That's bad.)
|
||||
function handle_completion_insecurities() {
|
||||
# List of the absolute paths of all unique insecure directories, split on
|
||||
# newline from compaudit()'s output resembling:
|
||||
|
@ -22,39 +18,27 @@ function handle_completion_insecurities() {
|
|||
insecure_dirs=( ${(f@):-"$(compaudit 2>/dev/null)"} )
|
||||
|
||||
# If no such directories exist, get us out of here.
|
||||
if (( ! ${#insecure_dirs} )); then
|
||||
print "[oh-my-zsh] No insecure completion-dependent directories detected."
|
||||
return
|
||||
fi
|
||||
(( ! ${#insecure_dirs} )) && return
|
||||
|
||||
# List ownership and permissions of all insecure directories.
|
||||
print "[oh-my-zsh] Insecure completion-dependent directories detected:"
|
||||
ls -ld "${(@)insecure_dirs}"
|
||||
print "[oh-my-zsh] For safety, completions will be disabled until you manually fix all"
|
||||
print "[oh-my-zsh] insecure directory permissions and ownership and restart oh-my-zsh."
|
||||
print "[oh-my-zsh] See the above list for directories with group or other writability.\n"
|
||||
|
||||
# Locally enable the "NULL_GLOB" option, thus removing unmatched filename
|
||||
# globs from argument lists *AND* printing no warning when doing so. Failing
|
||||
# to do so prints an unreadable warning if no completion caches exist below.
|
||||
setopt local_options null_glob
|
||||
cat <<EOD
|
||||
|
||||
# List of the absolute paths of all unique existing completion caches.
|
||||
local -aU zcompdump_files
|
||||
zcompdump_files=( "${ZSH_COMPDUMP}"(.) "${ZDOTDIR:-${HOME}}"/.zcompdump* )
|
||||
[oh-my-zsh] For safety, we will not load completions from these directories until
|
||||
[oh-my-zsh] you fix their permissions and ownership and restart zsh.
|
||||
[oh-my-zsh] See the above list for directories with group or other writability.
|
||||
|
||||
# Move such caches to a temporary directory.
|
||||
if (( ${#zcompdump_files} )); then
|
||||
# Absolute path of the directory to which such files will be moved.
|
||||
local ZSH_ZCOMPDUMP_BAD_DIR="${ZSH_CACHE_DIR}/zcompdump-bad"
|
||||
[oh-my-zsh] To fix your permissions you can do so by disabling
|
||||
[oh-my-zsh] the write permission of "group" and "others" and making sure that the
|
||||
[oh-my-zsh] owner of these directories is either root or your current user.
|
||||
[oh-my-zsh] The following command may help:
|
||||
[oh-my-zsh] compaudit | xargs chmod g-w,o-w
|
||||
|
||||
# List such files first.
|
||||
print "[oh-my-zsh] Insecure completion caches also detected:"
|
||||
ls -l "${(@)zcompdump_files}"
|
||||
[oh-my-zsh] If the above didn't help or you want to skip the verification of
|
||||
[oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to
|
||||
[oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.
|
||||
|
||||
# For safety, move rather than permanently remove such files.
|
||||
print "[oh-my-zsh] Moving to \"${ZSH_ZCOMPDUMP_BAD_DIR}/\"...\n"
|
||||
mkdir -p "${ZSH_ZCOMPDUMP_BAD_DIR}"
|
||||
mv "${(@)zcompdump_files}" "${ZSH_ZCOMPDUMP_BAD_DIR}/"
|
||||
fi
|
||||
EOD
|
||||
}
|
||||
|
|
|
@ -25,6 +25,9 @@ else
|
|||
fi
|
||||
unset CASE_SENSITIVE HYPHEN_INSENSITIVE
|
||||
|
||||
# Complete . and .. special directories
|
||||
zstyle ':completion:*' special-dirs true
|
||||
|
||||
zstyle ':completion:*' list-colors ''
|
||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
if [[ "$ENABLE_CORRECTION" == "true" ]]; then
|
||||
alias cp='nocorrect cp'
|
||||
alias ebuild='nocorrect ebuild'
|
||||
alias gist='nocorrect gist'
|
||||
alias heroku='nocorrect heroku'
|
||||
|
|
|
@ -28,7 +28,3 @@ alias lsa='ls -lah'
|
|||
alias l='ls -lah'
|
||||
alias ll='ls -lh'
|
||||
alias la='ls -lAh'
|
||||
|
||||
# Push and pop directories on directory stack
|
||||
alias pu='pushd'
|
||||
alias po='popd'
|
||||
|
|
|
@ -11,21 +11,20 @@ function upgrade_oh_my_zsh() {
|
|||
}
|
||||
|
||||
function take() {
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
mkdir -p $@ && cd ${@:$#}
|
||||
}
|
||||
|
||||
function open_command() {
|
||||
emulate -L zsh
|
||||
setopt shwordsplit
|
||||
|
||||
local open_cmd
|
||||
|
||||
# define the open command
|
||||
case "$OSTYPE" in
|
||||
darwin*) open_cmd='open' ;;
|
||||
cygwin*) open_cmd='cygstart' ;;
|
||||
linux*) open_cmd='xdg-open' ;;
|
||||
linux*) ! [[ $(uname -a) =~ "Microsoft" ]] && open_cmd='xdg-open' || {
|
||||
open_cmd='cmd.exe /c start ""'
|
||||
[[ -e "$1" ]] && { 1="$(wslpath -w "${1:a}")" || return 1 }
|
||||
} ;;
|
||||
msys*) open_cmd='start ""' ;;
|
||||
*) echo "Platform $OSTYPE not supported"
|
||||
return 1
|
||||
|
@ -34,9 +33,9 @@ function open_command() {
|
|||
|
||||
# don't use nohup on OSX
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
$open_cmd "$@" &>/dev/null
|
||||
${=open_cmd} "$@" &>/dev/null
|
||||
else
|
||||
nohup $open_cmd "$@" &>/dev/null
|
||||
nohup ${=open_cmd} "$@" &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -52,8 +51,7 @@ function open_command() {
|
|||
# 1 if it does not exist
|
||||
#
|
||||
function alias_value() {
|
||||
alias "$1" | sed "s/^$1='\(.*\)'$/\1/"
|
||||
test $(alias "$1")
|
||||
(( $+aliases[$1] )) && echo $aliases[$1]
|
||||
}
|
||||
|
||||
#
|
||||
|
|
14
lib/git.zsh
14
lib/git.zsh
|
@ -77,8 +77,8 @@ function git_current_branch() {
|
|||
# Gets the number of commits ahead from remote
|
||||
function git_commits_ahead() {
|
||||
if command git rev-parse --git-dir &>/dev/null; then
|
||||
local commits="$(git rev-list --count @{upstream}..HEAD)"
|
||||
if [[ "$commits" != 0 ]]; then
|
||||
local commits="$(git rev-list --count @{upstream}..HEAD 2>/dev/null)"
|
||||
if [[ -n "$commits" && "$commits" != 0 ]]; then
|
||||
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$commits$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
|
||||
fi
|
||||
fi
|
||||
|
@ -87,8 +87,8 @@ function git_commits_ahead() {
|
|||
# Gets the number of commits behind remote
|
||||
function git_commits_behind() {
|
||||
if command git rev-parse --git-dir &>/dev/null; then
|
||||
local commits="$(git rev-list --count HEAD..@{upstream})"
|
||||
if [[ "$commits" != 0 ]]; then
|
||||
local commits="$(git rev-list --count HEAD..@{upstream} 2>/dev/null)"
|
||||
if [[ -n "$commits" && "$commits" != 0 ]]; then
|
||||
echo "$ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX$commits$ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX"
|
||||
fi
|
||||
fi
|
||||
|
@ -141,11 +141,15 @@ function git_prompt_status() {
|
|||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^MM ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^MM ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
fi
|
||||
|
@ -181,7 +185,7 @@ function git_prompt_status() {
|
|||
# Outputs -1, 0, or 1 if the installed version is less than, equal to, or
|
||||
# greater than the input version, respectively.
|
||||
function git_compare_version() {
|
||||
local INPUT_GIT_VERSION INSTALLED_GIT_VERSION
|
||||
local INPUT_GIT_VERSION INSTALLED_GIT_VERSION i
|
||||
INPUT_GIT_VERSION=(${(s/./)1})
|
||||
INSTALLED_GIT_VERSION=($(command git --version 2>/dev/null))
|
||||
INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]})
|
||||
|
|
|
@ -1,24 +1,40 @@
|
|||
## Command history configuration
|
||||
if [ -z "$HISTFILE" ]; then
|
||||
HISTFILE=$HOME/.zsh_history
|
||||
fi
|
||||
## History wrapper
|
||||
function omz_history {
|
||||
local clear list
|
||||
zparseopts -E c=clear l=list
|
||||
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
if [[ -n "$clear" ]]; then
|
||||
# if -c provided, clobber the history file
|
||||
echo -n >| "$HISTFILE"
|
||||
echo >&2 History file deleted. Reload the session to see its effects.
|
||||
elif [[ -n "$list" ]]; then
|
||||
# if -l provided, run as if calling `fc' directly
|
||||
builtin fc "$@"
|
||||
else
|
||||
# unless a number is provided, show all history events (starting from 1)
|
||||
[[ ${@[-1]} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Show history
|
||||
# Timestamp format
|
||||
case $HIST_STAMPS in
|
||||
"mm/dd/yyyy") alias history='fc -fl 1' ;;
|
||||
"dd.mm.yyyy") alias history='fc -El 1' ;;
|
||||
"yyyy-mm-dd") alias history='fc -il 1' ;;
|
||||
*) alias history='fc -l 1' ;;
|
||||
"mm/dd/yyyy") alias history='omz_history -f' ;;
|
||||
"dd.mm.yyyy") alias history='omz_history -E' ;;
|
||||
"yyyy-mm-dd") alias history='omz_history -i' ;;
|
||||
"") alias history='omz_history' ;;
|
||||
*) alias history="omz_history -t '$HIST_STAMPS'" ;;
|
||||
esac
|
||||
|
||||
setopt append_history
|
||||
setopt extended_history
|
||||
setopt hist_expire_dups_first
|
||||
setopt hist_ignore_dups # ignore duplication command history list
|
||||
setopt hist_ignore_space
|
||||
setopt hist_verify
|
||||
setopt inc_append_history
|
||||
setopt share_history # share command history data
|
||||
## History file configuration
|
||||
[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history"
|
||||
HISTSIZE=50000
|
||||
SAVEHIST=10000
|
||||
|
||||
## History command configuration
|
||||
setopt extended_history # record timestamp of command in HISTFILE
|
||||
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
|
||||
setopt hist_ignore_dups # ignore duplicated commands history list
|
||||
setopt hist_ignore_space # ignore commands that start with space
|
||||
setopt hist_verify # show command with history expansion to user before running it
|
||||
setopt inc_append_history # add commands to HISTFILE in order of execution
|
||||
setopt share_history # share command history data
|
||||
|
|
|
@ -18,9 +18,8 @@ fi
|
|||
## jobs
|
||||
setopt long_list_jobs
|
||||
|
||||
## pager
|
||||
env_default PAGER 'less'
|
||||
env_default LESS '-R'
|
||||
env_default 'PAGER' 'less'
|
||||
env_default 'LESS' '-R'
|
||||
|
||||
## super user alias
|
||||
alias _='sudo'
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# Real implementations will be used when the respective plugins are loaded
|
||||
function chruby_prompt_info hg_prompt_info pyenv_prompt_info \
|
||||
rbenv_prompt_info svn_prompt_info vi_mode_prompt_info \
|
||||
virtualenv_prompt_info {
|
||||
virtualenv_prompt_info jenv_prompt_info {
|
||||
return 1
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /bin/zsh
|
||||
# A script to make using 256 colors in zsh less painful.
|
||||
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
||||
# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
||||
# Copied from https://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
||||
|
||||
typeset -AHg FX FG BG
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ preexec_functions+=(omz_termsupport_preexec)
|
|||
|
||||
|
||||
# Keep Apple Terminal.app's current working directory updated
|
||||
# Based on this answer: http://superuser.com/a/315029
|
||||
# Based on this answer: https://superuser.com/a/315029
|
||||
# With extra fixes to handle multibyte chars and non-UTF-8 locales
|
||||
|
||||
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then
|
||||
|
|
32
oh-my-zsh.sh
32
oh-my-zsh.sh
|
@ -1,6 +1,17 @@
|
|||
# Set ZSH_CACHE_DIR to the path where cache files should be created
|
||||
# or else we will use the default cache/
|
||||
if [[ -z "$ZSH_CACHE_DIR" ]]; then
|
||||
ZSH_CACHE_DIR="$ZSH/cache"
|
||||
fi
|
||||
|
||||
# Migrate .zsh-update file to $ZSH_CACHE_DIR
|
||||
if [ -f ~/.zsh-update ] && [ ! -f ${ZSH_CACHE_DIR}/.zsh-update ]; then
|
||||
mv ~/.zsh-update ${ZSH_CACHE_DIR}/.zsh-update
|
||||
fi
|
||||
|
||||
# Check for updates on initial load...
|
||||
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
|
||||
env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
|
||||
env ZSH=$ZSH ZSH_CACHE_DIR=$ZSH_CACHE_DIR DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
|
||||
fi
|
||||
|
||||
# Initializes Oh My Zsh
|
||||
|
@ -11,20 +22,12 @@ fpath=($ZSH/functions $ZSH/completions $fpath)
|
|||
# Load all stock functions (from $fpath files) called below.
|
||||
autoload -U compaudit compinit
|
||||
|
||||
: ${ZSH_DISABLE_COMPFIX:=true}
|
||||
|
||||
# Set ZSH_CUSTOM to the path where your custom config files
|
||||
# and plugins exists, or else we will use the default custom/
|
||||
if [[ -z "$ZSH_CUSTOM" ]]; then
|
||||
ZSH_CUSTOM="$ZSH/custom"
|
||||
fi
|
||||
|
||||
# Set ZSH_CACHE_DIR to the path where cache files should be created
|
||||
# or else we will use the default cache/
|
||||
if [[ -z "$ZSH_CACHE_DIR" ]]; then
|
||||
ZSH_CACHE_DIR="$ZSH/cache"
|
||||
fi
|
||||
|
||||
|
||||
# Load all of the config files in ~/oh-my-zsh that end in .zsh
|
||||
# TIP: Add files you don't want in git to .gitignore
|
||||
|
@ -65,16 +68,15 @@ if [ -z "$ZSH_COMPDUMP" ]; then
|
|||
fi
|
||||
|
||||
if [[ $ZSH_DISABLE_COMPFIX != true ]]; then
|
||||
# If completion insecurities exist, warn the user without enabling completions.
|
||||
# If completion insecurities exist, warn the user
|
||||
if ! compaudit &>/dev/null; then
|
||||
# This function resides in the "lib/compfix.zsh" script sourced above.
|
||||
handle_completion_insecurities
|
||||
# Else, enable and cache completions to the desired file.
|
||||
else
|
||||
compinit -d "${ZSH_COMPDUMP}"
|
||||
fi
|
||||
else
|
||||
# Load only from secure directories
|
||||
compinit -i -d "${ZSH_COMPDUMP}"
|
||||
else
|
||||
# If the user wants it, load from all found directories
|
||||
compinit -u -d "${ZSH_COMPDUMP}"
|
||||
fi
|
||||
|
||||
# Load all of the plugins that were defined in ~/.zshrc
|
||||
|
|
|
@ -48,8 +48,8 @@ _arguments \
|
|||
|
||||
case "$state" in
|
||||
specify_device)
|
||||
_values 'devices' $(adb devices -l|awk 'NR>1&& $1 ~ /^[a-zA-Z0-9].*$/ \
|
||||
{printf "%s[%s] ",$1,$6 }')
|
||||
_values -C 'devices' ${$(adb devices -l|awk 'NR>1&& $1 \
|
||||
{sub(/ +/," ",$0);gsub(":","\\:",$1); printf "%s[%s] ",$1, $NF}'):-""}
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
|
12
plugins/ant/README.md
Normal file
12
plugins/ant/README.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Ant
|
||||
|
||||
This plugin provides completion for [Ant](https://ant.apache.org/).
|
||||
|
||||
To use it add ant to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... ant)
|
||||
```
|
||||
|
||||
It caches ant targets in a file named `.ant_targets`, you might want to add that to
|
||||
your `.gitignore` file.
|
|
@ -2,6 +2,51 @@
|
|||
|
||||
## Features
|
||||
|
||||
#### YAY
|
||||
|
||||
| Alias | Command | Description |
|
||||
|---------|------------------------------------|---------------------------------------------------------------------|
|
||||
| yaconf | yay -Pg | Print current configuration |
|
||||
| yain | yay -S | Install packages from the repositories |
|
||||
| yains | yay -U | Install a package from a local file |
|
||||
| yainsd | yay -S --asdeps | Install packages as dependencies of another package |
|
||||
| yaloc | yay -Qi | Display information about a package in the local database |
|
||||
| yalocs | yay -Qs | Search for packages in the local database |
|
||||
| yalst | yay -Qe | List installed packages including from AUR (tagged as "local") |
|
||||
| yamir | yay -Syy | Force refresh of all package lists after updating mirrorlist |
|
||||
| yaorph | yay -Qtd | Remove orphans using yaourt |
|
||||
| yare | yay -R | Remove packages, keeping its settings and dependencies |
|
||||
| yarem | yay -Rns | Remove packages, including its settings and unneeded dependencies |
|
||||
| yarep | yay -Si | Display information about a package in the repositories |
|
||||
| yareps | yay -Ss | Search for packages in the repositories |
|
||||
| yaupg | yay -Syu | Sync with repositories before upgrading packages |
|
||||
| yasu | yay -Syu --no-confirm | Same as `yaupg`, but without confirmation |
|
||||
|
||||
#### TRIZEN
|
||||
|
||||
| Alias | Command | Description |
|
||||
|---------|------------------------------------|---------------------------------------------------------------------|
|
||||
| trconf | trizen -C | Fix all configuration files with vimdiff |
|
||||
| trin | trizen -S | Install packages from the repositories |
|
||||
| trins | trizen -U | Install a package from a local file |
|
||||
| trinsd | trizen -S --asdeps | Install packages as dependencies of another package |
|
||||
| trloc | trizen -Qi | Display information about a package in the local database |
|
||||
| trlocs | trizen -Qs | Search for packages in the local database |
|
||||
| trlst | trizen -Qe | List installed packages including from AUR (tagged as "local") |
|
||||
| trmir | trizen -Syy | Force refresh of all package lists after updating mirrorlist |
|
||||
| trorph | trizen -Qtd | Remove orphans using yaourt |
|
||||
| trre | trizen -R | Remove packages, keeping its settings and dependencies |
|
||||
| trrem | trizen -Rns | Remove packages, including its settings and unneeded dependencies |
|
||||
| trrep | trizen -Si | Display information about a package in the repositories |
|
||||
| trreps | trizen -Ss | Search for packages in the repositories |
|
||||
| trupd | trizen -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases |
|
||||
| trupd | trizen -Sy && sudo abs | Update and refresh the local package and ABS databases |
|
||||
| trupd | trizen -Sy && sudo aur | Update and refresh the local package and AUR databases |
|
||||
| trupd | trizen -Sy | Update and refresh the local package database |
|
||||
| trupg | trizen -Syua | Sync with repositories before upgrading all packages (from AUR too) |
|
||||
| trsu | trizen -Syua --no-confirm | Same as `trupg`, but without confirmation |
|
||||
| upgrade | trizen -Syu | Sync with repositories before upgrading packages |
|
||||
|
||||
#### YAOURT
|
||||
|
||||
| Alias | Command | Description |
|
||||
|
@ -27,7 +72,7 @@
|
|||
| yasu | yaourt -Syua --no-confirm | Same as `yaupg`, but without confirmation |
|
||||
| upgrade | yaourt -Syu | Sync with repositories before upgrading packages |
|
||||
|
||||
### PACAUR
|
||||
#### PACAUR
|
||||
|
||||
| Alias | Command | Description |
|
||||
|---------|------------------------------------|---------------------------------------------------------------------|
|
||||
|
@ -74,7 +119,9 @@
|
|||
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages |
|
||||
| upgrade | sudo pacman -Syu | Sync with repositories before upgrading packages |
|
||||
| pacfileupg | sudo pacman -Fy | Download fresh package databases from the server |
|
||||
| pacfiles | pacman -Fs | Search package file names for matching strings. |
|
||||
| pacfiles | pacman -Fs | Search package file names for matching strings |
|
||||
| pacls | pacman -Ql | List files in a package |
|
||||
| pacown | pacman -Qo | Show which package owns a file |
|
||||
|
||||
| Function | Description |
|
||||
|----------------|------------------------------------------------------|
|
||||
|
@ -82,6 +129,7 @@
|
|||
| paclist | List all installed packages with a short description |
|
||||
| pacmanallkeys | Get all keys for developers and trusted users |
|
||||
| pacmansignkeys | Locally trust all keys passed as parameters |
|
||||
| pacweb | Open the website of an ArchLinux package |
|
||||
|
||||
---
|
||||
|
||||
|
@ -95,3 +143,4 @@
|
|||
- ornicar - thibault.duplessis@gmail.com
|
||||
- Juraj Fiala - doctorjellyface@riseup.net
|
||||
- Majora320 (Moses Miller) - Majora320@gmail.com
|
||||
- Ybalrid (Arthur Brainville) - ybalrid@ybalrid.info
|
||||
|
|
|
@ -1,3 +1,32 @@
|
|||
if (( $+commands[trizen] )); then
|
||||
alias trconf='trizen -C'
|
||||
alias trupg='trizen -Syua'
|
||||
alias trsu='trizen -Syua --noconfirm'
|
||||
alias trin='trizen -S'
|
||||
alias trins='trizen -U'
|
||||
alias trre='trizen -R'
|
||||
alias trrem='trizen -Rns'
|
||||
alias trrep='trizen -Si'
|
||||
alias trreps='trizen -Ss'
|
||||
alias trloc='trizen -Qi'
|
||||
alias trlocs='trizen -Qs'
|
||||
alias trlst='trizen -Qe'
|
||||
alias trorph='trizen -Qtd'
|
||||
alias trinsd='trizen -S --asdeps'
|
||||
alias trmir='trizen -Syy'
|
||||
|
||||
|
||||
if (( $+commands[abs] && $+commands[aur] )); then
|
||||
alias trupd='trizen -Sy && sudo abs && sudo aur'
|
||||
elif (( $+commands[abs] )); then
|
||||
alias trupd='trizen -Sy && sudo abs'
|
||||
elif (( $+commands[aur] )); then
|
||||
alias trupd='trizen -Sy && sudo aur'
|
||||
else
|
||||
alias trupd='trizen -Sy'
|
||||
fi
|
||||
fi
|
||||
|
||||
if (( $+commands[yaourt] )); then
|
||||
alias yaconf='yaourt -C'
|
||||
alias yaupg='yaourt -Syua'
|
||||
|
@ -27,6 +56,35 @@ if (( $+commands[yaourt] )); then
|
|||
fi
|
||||
fi
|
||||
|
||||
if (( $+commands[yay] )); then
|
||||
alias yaconf='yay -Pg'
|
||||
alias yaupg='yay -Syu'
|
||||
alias yasu='yay -Syu --noconfirm'
|
||||
alias yain='yay -S'
|
||||
alias yains='yay -U'
|
||||
alias yare='yay -R'
|
||||
alias yarem='yay -Rns'
|
||||
alias yarep='yay -Si'
|
||||
alias yareps='yay -Ss'
|
||||
alias yaloc='yay -Qi'
|
||||
alias yalocs='yay -Qs'
|
||||
alias yalst='yay -Qe'
|
||||
alias yaorph='yay -Qtd'
|
||||
alias yainsd='yay -S --asdeps'
|
||||
alias yamir='yay -Syy'
|
||||
|
||||
|
||||
if (( $+commands[abs] && $+commands[aur] )); then
|
||||
alias yaupd='yay -Sy && sudo abs && sudo aur'
|
||||
elif (( $+commands[abs] )); then
|
||||
alias yaupd='yay -Sy && sudo abs'
|
||||
elif (( $+commands[aur] )); then
|
||||
alias yaupd='yay -Sy && sudo aur'
|
||||
else
|
||||
alias yaupd='yay -Sy'
|
||||
fi
|
||||
fi
|
||||
|
||||
if (( $+commands[pacaur] )); then
|
||||
alias paupg='pacaur -Syu'
|
||||
alias pasu='pacaur -Syu --noconfirm'
|
||||
|
@ -54,16 +112,24 @@ if (( $+commands[pacaur] )); then
|
|||
fi
|
||||
fi
|
||||
|
||||
if (( $+commands[pacaur] )); then
|
||||
upgrade() {
|
||||
if (( $+commands[trizen] )); then
|
||||
function upgrade() {
|
||||
trizen -Syu
|
||||
}
|
||||
elif (( $+commands[pacaur] )); then
|
||||
function upgrade() {
|
||||
pacaur -Syu
|
||||
}
|
||||
elif (( $+commands[yaourt] )); then
|
||||
upgrade() {
|
||||
function upgrade() {
|
||||
yaourt -Syu
|
||||
}
|
||||
elif (( $+commands[yay] )); then
|
||||
function upgrade() {
|
||||
yay -Syu
|
||||
}
|
||||
else
|
||||
upgrade() {
|
||||
function upgrade() {
|
||||
sudo pacman -Syu
|
||||
}
|
||||
fi
|
||||
|
@ -83,7 +149,9 @@ alias pacmir='sudo pacman -Syy'
|
|||
alias paclsorphans='sudo pacman -Qdt'
|
||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||
alias pacfileupg='sudo pacman -Fy'
|
||||
alias pacfiles='pacman tFs'
|
||||
alias pacfiles='pacman -Fs'
|
||||
alias pacls='pacman -Ql'
|
||||
alias pacown='pacman -Qo'
|
||||
|
||||
|
||||
if (( $+commands[abs] && $+commands[aur] )); then
|
||||
|
@ -96,13 +164,13 @@ else
|
|||
alias pacupd='sudo pacman -Sy'
|
||||
fi
|
||||
|
||||
paclist() {
|
||||
function paclist() {
|
||||
# Source: https://bbs.archlinux.org/viewtopic.php?id=93683
|
||||
LC_ALL=C pacman -Qei $(pacman -Qu | cut -d " " -f 1) | \
|
||||
awk 'BEGIN {FS=":"} /^Name/{printf("\033[1;36m%s\033[1;37m", $2)} /^Description/{print $2}'
|
||||
}
|
||||
|
||||
pacdisowned() {
|
||||
function pacdisowned() {
|
||||
emulate -L zsh
|
||||
|
||||
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
|
||||
|
@ -120,14 +188,14 @@ pacdisowned() {
|
|||
comm -23 "$fs" "$db"
|
||||
}
|
||||
|
||||
pacmanallkeys() {
|
||||
function pacmanallkeys() {
|
||||
emulate -L zsh
|
||||
curl -s https://www.archlinux.org/people/{developers,trustedusers}/ | \
|
||||
awk -F\" '(/pgp.mit.edu/) { sub(/.*search=0x/,""); print $1}' | \
|
||||
xargs sudo pacman-key --recv-keys
|
||||
}
|
||||
|
||||
pacmansignkeys() {
|
||||
function pacmansignkeys() {
|
||||
emulate -L zsh
|
||||
for key in $*; do
|
||||
sudo pacman-key --recv-keys $key
|
||||
|
@ -136,3 +204,16 @@ pacmansignkeys() {
|
|||
--no-permission-warning --command-fd 0 --edit-key $key
|
||||
done
|
||||
}
|
||||
|
||||
if (( $+commands[xdg-open] )); then
|
||||
function pacweb() {
|
||||
pkg="$1"
|
||||
infos="$(pacman -Si "$pkg")"
|
||||
if [[ -z "$infos" ]]; then
|
||||
return
|
||||
fi
|
||||
repo="$(grep '^Repo' <<< "$infos" | grep -oP '[^ ]+$')"
|
||||
arch="$(grep '^Arch' <<< "$infos" | grep -oP '[^ ]+$')"
|
||||
xdg-open "https://www.archlinux.org/packages/$repo/$arch/$pkg/" &>/dev/null
|
||||
}
|
||||
fi
|
||||
|
|
|
@ -1,7 +1,17 @@
|
|||
# Find where asdf should be installed.
|
||||
# Find where asdf should be installed
|
||||
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
|
||||
|
||||
# Load asdf, if found.
|
||||
if [ -f $ASDF_DIR/asdf.sh ]; then
|
||||
. $ASDF_DIR/asdf.sh
|
||||
# If not found, check for Homebrew package
|
||||
if [[ ! -d $ASDF_DIR ]] && (( $+commands[brew] )); then
|
||||
ASDF_DIR="$(brew --prefix asdf)"
|
||||
fi
|
||||
|
||||
# Load command
|
||||
if [[ -f "$ASDF_DIR/asdf.sh" ]]; then
|
||||
. "$ASDF_DIR/asdf.sh"
|
||||
|
||||
# Load completions
|
||||
if [[ -f "$ASDF_DIR/completions/asdf.bash" ]]; then
|
||||
. "$ASDF_DIR/completions/asdf.bash"
|
||||
fi
|
||||
fi
|
||||
|
|
11
plugins/autojump/README.md
Normal file
11
plugins/autojump/README.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Autojump plugin
|
||||
|
||||
This plugin loads the [autojump navigation tool](https://github.com/wting/autojump).
|
||||
|
||||
To use it, add `autojump` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... autojump)
|
||||
```
|
||||
|
||||
More info on the usage: https://github.com/wting/autojump
|
|
@ -15,8 +15,8 @@ if [ $commands[autojump] ]; then # check if autojump is installed
|
|||
. /etc/profile.d/autojump.sh
|
||||
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation
|
||||
. /usr/local/share/autojump/autojump.zsh
|
||||
elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports
|
||||
. /opt/local/etc/profile.d/autojump.zsh
|
||||
elif [ -f /opt/local/etc/profile.d/autojump.sh ]; then # mac os x with ports
|
||||
. /opt/local/etc/profile.d/autojump.sh
|
||||
elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.sh ]; then # mac os x with brew
|
||||
. `brew --prefix`/etc/autojump.sh
|
||||
fi
|
||||
|
|
8
plugins/autopep8/README.md
Normal file
8
plugins/autopep8/README.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
# autopep8 plugin
|
||||
|
||||
This plugin adds completion for [autopep8](https://pypi.org/project/autopep8/), a tool that automatically formats Python code to conform to the [PEP 8](http://www.python.org/dev/peps/pep-0008/) style guide.
|
||||
|
||||
To use it, add autopep8 to the plugins array of your zshrc file:
|
||||
```
|
||||
plugins=(... autopep8)
|
||||
```
|
20
plugins/aws/README.md
Normal file
20
plugins/aws/README.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
# aws
|
||||
|
||||
This plugin provides completion support for [awscli](https://docs.aws.amazon.com/cli/latest/reference/index.html)
|
||||
and a few utilities to manage AWS profiles: a function to change profiles with autocompletion support
|
||||
and a function to get the current AWS profile. The current AWS profile is also displayed in `RPROMPT`.
|
||||
|
||||
To use it, add `aws` to the plugins array in your zshrc file.
|
||||
|
||||
```zsh
|
||||
plugins=(... aws)
|
||||
```
|
||||
|
||||
## Plugin commands
|
||||
|
||||
* `asp <profile>`: Sets `AWS_PROFILE` and `AWS_DEFAULT_PROFILE` (legacy) to `<profile>`.
|
||||
It also adds it to your RPROMPT.
|
||||
|
||||
* `agp`: Gets the current value of `AWS_PROFILE`.
|
||||
|
||||
* `aws_profiles`: Lists the available profiles in the file referenced in `AWS_CONFIG_FILE` (default: ~/.aws/config). Used to provide completion for the `asp` function.
|
|
@ -21,10 +21,8 @@ _awscli-homebrew-installed() {
|
|||
[ -r $_brew_prefix/libexec/bin/aws_zsh_completer.sh ] &> /dev/null
|
||||
}
|
||||
|
||||
export AWS_HOME=~/.aws
|
||||
|
||||
function agp {
|
||||
echo $AWS_DEFAULT_PROFILE
|
||||
echo $AWS_PROFILE
|
||||
}
|
||||
|
||||
function asp {
|
||||
|
@ -33,20 +31,19 @@ function asp {
|
|||
export AWS_DEFAULT_PROFILE=$1
|
||||
export AWS_PROFILE=$1
|
||||
|
||||
export RPROMPT="<aws:$AWS_DEFAULT_PROFILE>$rprompt"
|
||||
export RPROMPT="<aws:$AWS_PROFILE>$rprompt"
|
||||
}
|
||||
|
||||
function aws_profiles {
|
||||
reply=($(grep profile $AWS_HOME/config|sed -e 's/.*profile \([a-zA-Z0-9_-]*\).*/\1/'))
|
||||
reply=($(grep profile "${AWS_CONFIG_FILE:-$HOME/.aws/config}"|sed -e 's/.*profile \([a-zA-Z0-9_\.-]*\).*/\1/'))
|
||||
}
|
||||
|
||||
compctl -K aws_profiles asp
|
||||
|
||||
if _homebrew-installed && _awscli-homebrew-installed ; then
|
||||
if which aws_zsh_completer.sh &>/dev/null; then
|
||||
_aws_zsh_completer_path=$(which aws_zsh_completer.sh 2>/dev/null)
|
||||
elif _homebrew-installed && _awscli-homebrew-installed; then
|
||||
_aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh
|
||||
else
|
||||
_aws_zsh_completer_path=$(which aws_zsh_completer.sh)
|
||||
fi
|
||||
|
||||
[ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path
|
||||
[ -n "$_aws_zsh_completer_path" ] && [ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path
|
||||
unset _aws_zsh_completer_path
|
||||
|
|
13
plugins/battery/README.md
Normal file
13
plugins/battery/README.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Battery Plugin
|
||||
|
||||
This plugin adds some functions you can use to display battery information in your custom theme.
|
||||
|
||||
To use, add `battery` to the list of plugins in your `.zshrc` file:
|
||||
|
||||
`plugins=(... battery)`
|
||||
|
||||
Then, add the `battery_pct_prompt` function to your custom theme. For example:
|
||||
|
||||
```
|
||||
RPROMPT='$(battery_pct_prompt)'
|
||||
```
|
|
@ -4,8 +4,8 @@ Plugin for BBEdit, an HTML and text editor for Mac OS X
|
|||
|
||||
### Requirements
|
||||
|
||||
* [BBEdit](http://www.barebones.com/products/bbedit/)
|
||||
* [BBEdit Command-Line Tools](http://www.barebones.com/support/bbedit/cmd-line-tools.html)
|
||||
* [BBEdit](https://www.barebones.com/products/bbedit/)
|
||||
* [BBEdit Command-Line Tools](https://www.barebones.com/support/bbedit/cmd-line-tools.html)
|
||||
|
||||
### Usage
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ Standalone homepage: [t413/zsh-background-notify](https://github.com/t413/zsh-ba
|
|||
|
||||
Just add bgnotify to your plugins list in your `.zshrc`
|
||||
|
||||
- On OS X you'll need [terminal-notifer](https://github.com/alloy/terminal-notifier)
|
||||
- On OS X you'll need [terminal-notifier](https://github.com/alloy/terminal-notifier)
|
||||
* `brew install terminal-notifier` (or `gem install terminal-notifier`)
|
||||
- On ubuntu you're already all set!
|
||||
- On windows you can use [notifu](http://www.paralint.com/projects/notifu/) or the Cygwin Ports libnotify package
|
||||
- On windows you can use [notifu](https://www.paralint.com/projects/notifu/) or the Cygwin Ports libnotify package
|
||||
|
||||
|
||||
## Screenshots
|
||||
|
|
2
plugins/bgnotify/bgnotify.plugin.zsh
Executable file → Normal file
2
plugins/bgnotify/bgnotify.plugin.zsh
Executable file → Normal file
|
@ -42,7 +42,7 @@ bgnotify () { ## args: (title, subtitle)
|
|||
elif hash notify-send 2>/dev/null; then #ubuntu gnome!
|
||||
notify-send "$1" "$2"
|
||||
elif hash kdialog 2>/dev/null; then #ubuntu kde!
|
||||
kdialog -title "$1" --passivepopup "$2" 5
|
||||
kdialog --title "$1" --passivepopup "$2" 5
|
||||
elif hash notifu 2>/dev/null; then #cygwyn support!
|
||||
notifu /m "$2" /p "$1"
|
||||
fi
|
||||
|
|
18
plugins/bower/README.md
Normal file
18
plugins/bower/README.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Bower plugin
|
||||
|
||||
This plugin adds completion for [Bower](https://bower.io/) and a few useful aliases for common Bower commands.
|
||||
|
||||
To use it, add `bower` to the plugins array in your zshrc file:
|
||||
|
||||
```
|
||||
plugins=(... bower)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
|-------|-----------------|--------------------------------------------------------|
|
||||
| bi | `bower install` | Installs the project dependencies listed in bower.json |
|
||||
| bl | `bower list` | List local packages and possible updates |
|
||||
| bs | `bower search` | Finds all packages or a specific package. |
|
||||
|
19
plugins/brew/README.md
Normal file
19
plugins/brew/README.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
# brew plugin
|
||||
|
||||
The plugin adds several aliases for common [brew](https://brew.sh) commands.
|
||||
|
||||
To use it, add `brew` to the plugins array of your zshrc file:
|
||||
```
|
||||
plugins=(... brew)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
|--------|----------------------|---------------|
|
||||
| brewp | `brew pin` | Pin a specified formulae, preventing them from being upgraded when issuing the brew upgrade <formulae> command. |
|
||||
| brews | `brew list -1` | List installed formulae, one entry per line, or the installed files for a given formulae. |
|
||||
| brewsp | `brew list --pinned` | Show the versions of pinned formulae, or only the specified (pinned) formulae if formulae are given. |
|
||||
| bubo | `brew update && brew outdated` | Fetch the newest version of Homebrew and all formulae, then list outdated formulae. |
|
||||
| bubc | `brew upgrade && brew cleanup` | Upgrade outdated, unpinned brews (with existing install options), then removes stale lock files and outdated downloads for formulae and casks, and removes old versions of installed formulae. |
|
||||
| bubu | `bubo && bubc` | Updates Homebrew, lists outdated formulae, upgrades oudated and unpinned formulae, and removes stale and outdated downloads and versions. |
|
|
@ -1,4 +1,6 @@
|
|||
alias brewp='brew pin'
|
||||
alias brews='brew list -1'
|
||||
alias brewsp='brew list --pinned'
|
||||
alias bubo='brew update && brew outdated'
|
||||
alias bubc='brew upgrade && brew cleanup'
|
||||
alias bubu='bubo && bubc'
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
- adds completion for basic bundler commands
|
||||
- adds short aliases for common bundler commands
|
||||
- `be` aliased to `bundle exec`
|
||||
- `be` aliased to `bundle exec`.
|
||||
It also supports aliases (if `rs` is `rails server`, `be rs` will bundle-exec `rails server`).
|
||||
- `bl` aliased to `bundle list`
|
||||
- `bp` aliased to `bundle package`
|
||||
- `bo` aliased to `bundle open`
|
||||
|
@ -13,7 +14,8 @@
|
|||
- looks for a binstub under `./bin/` and executes it (if present)
|
||||
- calls `bundle exec <gem executable>` otherwise
|
||||
|
||||
For a full list of *common gems* being wrapped by default please look at the `bundler.plugin.zsh` file.
|
||||
Common gems wrapped by default (by name of the executable):
|
||||
`annotate`, `cap`, `capify`, `cucumber`, `foodcritic`, `guard`, `hanami`, `irb`, `jekyll`, `kitchen`, `knife`, `middleman`, `nanoc`, `pry`, `puma`, `rackup`, `rainbows`, `rake`, `rspec`, `shotgun`, `sidekiq`, `spec`, `spork`, `spring`, `strainer`, `tailor`, `taps`, `thin`, `thor`, `unicorn` and `unicorn_rails`.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ bundled_commands=(
|
|||
cucumber
|
||||
foodcritic
|
||||
guard
|
||||
hanami
|
||||
irb
|
||||
jekyll
|
||||
kitchen
|
||||
|
@ -53,10 +54,14 @@ done
|
|||
## Functions
|
||||
|
||||
bundle_install() {
|
||||
if _bundler-installed && _within-bundled-project; then
|
||||
if ! _bundler-installed; then
|
||||
echo "Bundler is not installed"
|
||||
elif ! _within-bundled-project; then
|
||||
echo "Can't 'bundle install' outside a bundled project"
|
||||
else
|
||||
local bundler_version=`bundle version | cut -d' ' -f3`
|
||||
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
|
||||
if [[ "$OSTYPE" = darwin* ]]
|
||||
if [[ "$OSTYPE" = (darwin|freebsd)* ]]
|
||||
then
|
||||
local cores_num="$(sysctl -n hw.ncpu)"
|
||||
else
|
||||
|
@ -66,8 +71,6 @@ bundle_install() {
|
|||
else
|
||||
bundle install $@
|
||||
fi
|
||||
else
|
||||
echo "Can't 'bundle install' outside a bundled project"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
9
plugins/bwana/README.md
Normal file
9
plugins/bwana/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Bwana
|
||||
|
||||
This plugin provides a function to open `man` pages directly with [Bwana](https://www.bruji.com/bwana/).
|
||||
|
||||
To use it add bwana to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... bwana)
|
||||
```
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Requires http://www.bruji.com/bwana/
|
||||
# Requires https://www.bruji.com/bwana/
|
||||
#
|
||||
if [[ -e /Applications/Bwana.app ]] ||
|
||||
( system_profiler -detailLevel mini SPApplicationsDataType | grep -q Bwana )
|
||||
|
@ -9,5 +9,5 @@ then
|
|||
}
|
||||
else
|
||||
echo "Bwana lets you read man files in Safari through a man: URI scheme"
|
||||
echo "To use it within Zsh, install it from http://www.bruji.com/bwana/"
|
||||
echo "To use it within Zsh, install it from https://www.bruji.com/bwana/"
|
||||
fi
|
||||
|
|
9
plugins/cabal/README.md
Normal file
9
plugins/cabal/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Cabal
|
||||
|
||||
This plugin provides completion for [Cabal](https://www.haskell.org/cabal/), a build tool for Haskell. It
|
||||
also provides a function `cabal_sandbox_info` that prints whether the current working directory is in a sandbox.
|
||||
|
||||
To use it, add cabal to the plugins array of your zshrc file:
|
||||
```
|
||||
plugins=(... cabal)
|
||||
```
|
14
plugins/capistrano/README.md
Normal file
14
plugins/capistrano/README.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Capistrano
|
||||
|
||||
This plugin provides completion for [Capistrano](https://capistranorb.com/).
|
||||
|
||||
To use it add capistrano to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... capistrano)
|
||||
```
|
||||
|
||||
For a working completion use the `capit` command instead of `cap`, because cap is a
|
||||
[reserved word in zsh](http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module).
|
||||
|
||||
`capit` automatically runs cap with bundler if a Gemfile is found.
|
|
@ -1,7 +1,7 @@
|
|||
# Added `shipit` because `cap` is a reserved word. `cap` completion doesn't work.
|
||||
# Added `capit` because `cap` is a reserved word. `cap` completion doesn't work.
|
||||
# http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module
|
||||
|
||||
func capit() {
|
||||
function capit() {
|
||||
if [ -f Gemfile ]
|
||||
then
|
||||
bundle exec cap $*
|
||||
|
|
35
plugins/catimg/README.md
Normal file
35
plugins/catimg/README.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
# catimg
|
||||
|
||||
Plugin for displaying images on the terminal using the the `catimg.sh` script provided by [posva](https://github.com/posva/catimg)
|
||||
|
||||
## Requirements
|
||||
|
||||
- `convert` (ImageMagick)
|
||||
|
||||
## Enabling the plugin
|
||||
|
||||
1. Open your `.zshrc` file and add `catimg` in the plugins section:
|
||||
|
||||
```zsh
|
||||
plugins=(
|
||||
# all your enabled plugins
|
||||
catimg
|
||||
)
|
||||
```
|
||||
|
||||
2. Reload the source file or restart your Terminal session:
|
||||
|
||||
```console
|
||||
$ source ~/.zshrc
|
||||
$
|
||||
```
|
||||
|
||||
## Functions
|
||||
|
||||
| Function | Description |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `catimg` | Displays the given image on the terminal |
|
||||
|
||||
## Usage examples
|
||||
|
||||
[![asciicast](https://asciinema.org/a/204702.png)](https://asciinema.org/a/204702)
|
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
# catimg script by Eduardo San Martin Morote aka Posva #
|
||||
# http://posva.net #
|
||||
# https://posva.net #
|
||||
# #
|
||||
# Ouput the content of an image to the stdout using the 256 colors of the #
|
||||
# terminal. #
|
||||
|
|
2
plugins/catimg/catimg.sh
Executable file → Normal file
2
plugins/catimg/catimg.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
# catimg script by Eduardo San Martin Morote aka Posva #
|
||||
# http://posva.net #
|
||||
# https://posva.net #
|
||||
# #
|
||||
# Ouput the content of an image to the stdout using the 256 colors of the #
|
||||
# terminal. #
|
||||
|
|
9
plugins/celery/README.md
Normal file
9
plugins/celery/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Celery
|
||||
|
||||
This plugin provides completion for [Celery](http://www.celeryproject.org/).
|
||||
|
||||
To use it add celery to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... celery)
|
||||
```
|
|
@ -111,5 +111,11 @@ function chruby_prompt_info() {
|
|||
}
|
||||
|
||||
# complete on installed rubies
|
||||
_chruby() { compadd $(chruby | tr -d '* ') }
|
||||
_chruby() {
|
||||
compadd $(chruby | tr -d '* ')
|
||||
local default_path='/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'
|
||||
if PATH=${default_path} type ruby &> /dev/null; then
|
||||
compadd system
|
||||
fi
|
||||
}
|
||||
compdef _chruby chruby
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
License: GPL v2
|
||||
Thanks to http://www.k-lug.org/~kessler/projects.html for the fortune file.
|
20
plugins/chucknorris/README.md
Normal file
20
plugins/chucknorris/README.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
# chucknorris
|
||||
|
||||
Chuck Norris fortunes plugin for oh-my-zsh
|
||||
|
||||
**Maintainers**: [apjanke](https://github.com/apjanke) [maff](https://github.com/maff)
|
||||
|
||||
To use it add `chucknorris` to the plugins array in you zshrc file.
|
||||
|
||||
```zsh
|
||||
plugins=(... chucknorris)
|
||||
```
|
||||
|
||||
|
||||
Depends on fortune (and cowsay if using chuck_cow) being installed (available via homebrew, apt, ...). Perfectly suitable as MOTD.
|
||||
|
||||
|
||||
| Command | Description |
|
||||
| ----------- | ------------------------------- |
|
||||
| `chuck` | Print random Chuck Norris quote |
|
||||
| `chuck_cow` | Print quote in cowthink |
|
File diff suppressed because it is too large
Load diff
58
plugins/cloudfoundry/README.md
Normal file
58
plugins/cloudfoundry/README.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
# Cloudfoundry Plugin
|
||||
|
||||
This plugin is intended to offer a few simple aliases for regular users of the [Cloud Foundry Cli][1]. Most are just simple aliases that will save a bit of typing. Others include mini functions and or accept parameters. Take a look at the table below for details.
|
||||
|
||||
| Alias | Command | Description |
|
||||
|----------|-----------------------------|--------------------------------------------------------------------------|
|
||||
| cfl | `cf login` | Login to Cloud Foundry |
|
||||
| cft | `cf target` | Target the cli at a specific Org/Space in Cloud Foundry |
|
||||
| cfa | `cf apps` | List all applications in the current Org/Space |
|
||||
| cfs | `cf services` | List all services in the current Org/Space |
|
||||
| cfm | `cf marketplace` | List the services available in the Marketplace |
|
||||
| cfp | `cf push` | Push your application code to Cloud Foundry |
|
||||
| cfcs | `cf create-service` | Create a service based on a Marketplace offering |
|
||||
| cfbs | `cf bind-service` | Bind an application to a service you created |
|
||||
| cfus | `cf unbind-service` | Unbind a service from an application |
|
||||
| cfds | `cf delete-service` | Delete a service you no longer have bound |
|
||||
| cfup | `cf cups` | Create a "user-provided-service" |
|
||||
| cflg | `cf logs` | Tail the logs of an application (requires <APP_NAME>) |
|
||||
| cfr | `cf routes` | List all the routes in the current Space |
|
||||
| cfe | `cf env` | Show the environment variables for an application (requires <APP_NAME>) |
|
||||
| cfsh | `cf ssh` | Attach to a running container (requires an <APP_NAME> etc.) |
|
||||
| cfsc | `cf scale` | Scale an application (requires an <APP_NAME> etc.) |
|
||||
| cfev | `cf events` | Show the application events (requires <APP_NAME>) |
|
||||
| cfdor | `cf delete-orphaned-routes` | Delete routes that are no longer bound to applications |
|
||||
| cfbpk | `cf buildpacks` | List the available buildpacks |
|
||||
| cfdm | `cf domains` | List the domains associates with this Cloud Foundry foundation |
|
||||
| cfsp | `cf spaces` | List all the Spaces in the current Org |
|
||||
| cfap | `cf app` | Show the details of a deployed application (requires <APP_NAME>) |
|
||||
| cfh. | `export CF_HOME=$PWD/.cf` | Set the current directory as CF_HOME |
|
||||
| cfh~ | `export CF_HOME=~/.cf` | Set the user's root directory as CF_HOME |
|
||||
| cfhu | `unset CF_HOME` | Unsets CF_HOME |
|
||||
| cfpm | `cf push -f` | Push an application using a manifest (requires <MANIFEST_FILE> location) |
|
||||
| cflr | `cf logs --recent` | Show the recent logs (requires <APP_NAME>) |
|
||||
| cfsrt | `cf start` | Start an application (requires <APP_NAME>) |
|
||||
| cfstp | `cf stop` | Stop an application (requires <APP_NAME>) |
|
||||
| cfstg | `cf restage` | Restage an application (requires <APP_NAME>) |
|
||||
| cfdel | `cf delete` | Delete an application (requires <APP_NAME>) |
|
||||
| cfsrtall | - | Start all apps that are currently in the "Stopped" state |
|
||||
| cfstpall | - | Stop all apps that are currently in the "Started" state |
|
||||
|
||||
For help and advice on what any of the commands does, consult the built in `cf` help functions as follows:-
|
||||
|
||||
```bash
|
||||
cf help # List the most popular and commonly used commands
|
||||
cf help -a # Complete list of all possible commands
|
||||
cf <COMMAND_NAME> --help # Help on a specific command including arguments and examples
|
||||
```
|
||||
|
||||
Alternatively, seek out the [online documentation][3]. And don't forget, there are loads of great [community plugins for the cf-cli][4] command line tool that can greatly extend its power and usefulness.
|
||||
|
||||
## Contributors
|
||||
|
||||
Contributed to `oh_my_zsh` by [benwilcock][2].
|
||||
|
||||
[1]: https://docs.cloudfoundry.org/cf-cli/install-go-cli.html
|
||||
[2]: https://github.com/benwilcock
|
||||
[3]: https://docs.cloudfoundry.org/cf-cli/getting-started.html
|
||||
[4]: https://plugins.cloudfoundry.org/
|
34
plugins/cloudfoundry/cloudfoundry.plugin.zsh
Normal file
34
plugins/cloudfoundry/cloudfoundry.plugin.zsh
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Some Useful CloudFoundry Aliases & Functions
|
||||
alias cfl="cf login"
|
||||
alias cft="cf target"
|
||||
alias cfa="cf apps"
|
||||
alias cfs="cf services"
|
||||
alias cfm="cf marketplace"
|
||||
alias cfp="cf push"
|
||||
alias cfcs="cf create-service"
|
||||
alias cfbs="cf bind-service"
|
||||
alias cfus="cf unbind-service"
|
||||
alias cfds="cf delete-service"
|
||||
alias cfup="cf cups"
|
||||
alias cflg="cf logs"
|
||||
alias cfr="cf routes"
|
||||
alias cfe="cf env"
|
||||
alias cfsh="cf ssh"
|
||||
alias cfsc="cf scale"
|
||||
alias cfev="cf events"
|
||||
alias cfdor="cf delete-orphaned-routes"
|
||||
alias cfbpk="cf buildpacks"
|
||||
alias cfdm="cf domains"
|
||||
alias cfsp="cf spaces"
|
||||
function cfap() { cf app $1 }
|
||||
function cfh.() { export CF_HOME=$PWD/.cf }
|
||||
function cfh~() { export CF_HOME=~/.cf }
|
||||
function cfhu() { unset CF_HOME }
|
||||
function cfpm() { cf push -f $1 }
|
||||
function cflr() { cf logs $1 --recent }
|
||||
function cfsrt() { cf start $1 }
|
||||
function cfstp() { cf stop $1 }
|
||||
function cfstg() { cf restage $1 }
|
||||
function cfdel() { cf delete $1 }
|
||||
function cfsrtall() {cf apps | awk '/stopped/ { system("cf start " $1)}'}
|
||||
function cfstpall() {cf apps | awk '/started/ { system("cf stop " $1)}'}
|
|
@ -1,6 +1,6 @@
|
|||
#compdef coffee
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
|
||||
# Copyright (c) 2011 Github zsh-users - https://github.com/zsh-users
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
@ -28,7 +28,7 @@
|
|||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Coffee.js v0.6.11 (http://coffeejs.org)
|
||||
# Completion script for Coffee.js v0.6.11 (https://coffeescript.org)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
|
|
18
plugins/colorize/README.md
Normal file
18
plugins/colorize/README.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
# colorize
|
||||
|
||||
With this plugin you can syntax-highlight file contents of over 300 supported languages and other text formats.
|
||||
|
||||
To use it, add colorize to the plugins array of your zshrc file:
|
||||
```
|
||||
plugins=(... colorize)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
* `ccat <file> [files]`: colorize the contents of the file (or files, if more than one are provided). If no arguments are passed it will colorize the standard input or stdin.
|
||||
|
||||
Colorize will highlight the content based on the filename extension. If it can't find a syntax-highlighting method for a given extension, it will try to find one by looking at the file contents. If no highlight method is found it will just cat the file normally, without syntax highlighting.
|
||||
|
||||
## Requirements
|
||||
|
||||
You have to install Pygments first: [pygments.org](http://pygments.org/download/)
|
|
@ -1,26 +1,26 @@
|
|||
# Plugin for highlighting file content
|
||||
# Plugin highlights file content based on the filename extension.
|
||||
# If no highlighting method supported for given extension then it tries
|
||||
# guess it by looking for file content.
|
||||
|
||||
alias colorize='colorize_via_pygmentize'
|
||||
# easier alias to use the plugin
|
||||
alias ccat='colorize_via_pygmentize'
|
||||
|
||||
colorize_via_pygmentize() {
|
||||
if [ ! -x "$(which pygmentize)" ]; then
|
||||
echo "package \'pygmentize\' is not installed!"
|
||||
return -1
|
||||
if ! (( $+commands[pygmentize] )); then
|
||||
echo "package 'Pygments' is not installed!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# pygmentize stdin if no arguments passed
|
||||
if [ $# -eq 0 ]; then
|
||||
pygmentize -g $@
|
||||
pygmentize -g
|
||||
return $?
|
||||
fi
|
||||
|
||||
# guess lexer from file extension, or
|
||||
# guess it from file contents if unsuccessful
|
||||
local FNAME lexer
|
||||
for FNAME in $@
|
||||
do
|
||||
filename=$(basename "$FNAME")
|
||||
lexer=`pygmentize -N \"$filename\"`
|
||||
if [ "Z$lexer" != "Ztext" ]; then
|
||||
pygmentize -l $lexer "$FNAME"
|
||||
lexer=$(pygmentize -N "$FNAME")
|
||||
if [[ $lexer != text ]]; then
|
||||
pygmentize -l "$lexer" "$FNAME"
|
||||
else
|
||||
pygmentize -g "$FNAME"
|
||||
fi
|
||||
|
|
31
plugins/command-not-found/README.md
Normal file
31
plugins/command-not-found/README.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# command-not-found plugin
|
||||
|
||||
This plugin uses the command-not-found package for zsh to provide suggested packages to be installed if a command cannot be found.
|
||||
|
||||
To use it, add `command-not-found` to the plugins array of your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... command-not-found)
|
||||
```
|
||||
|
||||
An example of how this plugin works in Ubuntu:
|
||||
```
|
||||
$ mutt
|
||||
The program 'mutt' can be found in the following packages:
|
||||
* mutt
|
||||
* mutt-kz
|
||||
* mutt-patched
|
||||
Try: sudo apt install <selected package>
|
||||
```
|
||||
|
||||
### Supported platforms
|
||||
|
||||
It works out of the box with the command-not-found packages for:
|
||||
|
||||
- [Ubuntu](https://www.porcheron.info/command-not-found-for-zsh/)
|
||||
- [Debian](https://packages.debian.org/search?keywords=command-not-found)
|
||||
- [Arch Linux](https://wiki.archlinux.org/index.php/Pkgfile#Command_not_found)
|
||||
- [macOS (Homebrew)](https://github.com/Homebrew/homebrew-command-not-found)
|
||||
- [Fedora](https://fedoraproject.org/wiki/Features/PackageKitCommandNotFound)
|
||||
|
||||
You can add support for other platforms by submitting a Pull Request.
|
|
@ -1,5 +1,5 @@
|
|||
# Uses the command-not-found package zsh support
|
||||
# as seen in http://www.porcheron.info/command-not-found-for-zsh/
|
||||
# as seen in https://www.porcheron.info/command-not-found-for-zsh/
|
||||
# this is installed in Ubuntu
|
||||
|
||||
[[ -e /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found
|
||||
|
|
|
@ -13,7 +13,7 @@ alias lS='ls -1FSsh'
|
|||
alias lart='ls -1Fcart'
|
||||
alias lrt='ls -1Fcrt'
|
||||
|
||||
alias zshrc='$EDITOR ~/.zshrc' # Quick access to the ~/.zshrc file
|
||||
alias zshrc='${=EDITOR} ~/.zshrc' # Quick access to the ~/.zshrc file
|
||||
|
||||
alias grep='grep --color'
|
||||
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} '
|
||||
|
@ -44,8 +44,6 @@ alias p='ps -f'
|
|||
alias sortnr='sort -n -r'
|
||||
alias unexport='unset'
|
||||
|
||||
alias whereami=display_info
|
||||
|
||||
alias rm='rm -i'
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
|
|
29
plugins/composer/README.md
Normal file
29
plugins/composer/README.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# composer
|
||||
|
||||
This plugin provides completion for [composer](https://getcomposer.org/), as well as aliases
|
||||
for frequent composer commands. It also adds Composer's global binaries to the PATH, using
|
||||
Composer if available.
|
||||
|
||||
To use it add `composer` to the plugins array in your zshrc file.
|
||||
|
||||
```zsh
|
||||
plugins=(... composer)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
| ------ | -------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| `c` | composer | Starts composer |
|
||||
| `csu` | composer self-update | Updates composer to the latest version |
|
||||
| `cu` | composer update | Updates composer dependencies and `composer.lock` file |
|
||||
| `cr` | composer require | Adds new packages to `composer.json` |
|
||||
| `crm` | composer remove | Removes packages from `composer.json` |
|
||||
| `ci` | composer install | Resolves and installs dependencies from `composer.json` |
|
||||
| `ccp` | composer create-project | Create new project from an existing package |
|
||||
| `cdu` | composer dump-autoload | Updates the autoloader |
|
||||
| `cdo` | composer dump-autoload --optimize-autoloader | Converts PSR-0/4 autoloading to classmap for a faster autoloader (good for production) |
|
||||
| `cgu` | composer global update | Allows update command to run on COMPOSER_HOME directory |
|
||||
| `cgr` | composer global require | Allows require command to run on COMPOSER_HOME directory |
|
||||
| `cgrm` | composer global remove | Allows remove command to run on COMPOSER_HOME directory |
|
||||
| `cget` | `curl -s https://getcomposer.org/installer` | Installs composer in the current directory |
|
|
@ -51,5 +51,10 @@ alias cgrm='composer global remove'
|
|||
# install composer in the current directory
|
||||
alias cget='curl -s https://getcomposer.org/installer | php'
|
||||
|
||||
# Add Composer's global binaries to PATH
|
||||
export PATH=$PATH:$(composer global config bin-dir --absolute 2>/dev/null)
|
||||
# Add Composer's global binaries to PATH, using Composer if available.
|
||||
if (( $+commands[composer] )); then
|
||||
export PATH=$PATH:$(composer global config bin-dir --absolute 2>/dev/null)
|
||||
else
|
||||
[ -d $HOME/.composer/vendor/bin ] && export PATH=$PATH:$HOME/.composer/vendor/bin
|
||||
[ -d $HOME/.config/composer/vendor/bin ] && export PATH=$PATH:$HOME/.config/composer/vendor/bin
|
||||
fi
|
||||
|
|
10
plugins/copydir/README.md
Normal file
10
plugins/copydir/README.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
# copydir plugin
|
||||
|
||||
Copies the path of your current folder to the system clipboard.
|
||||
|
||||
To use, add `copydir` to your plugins array:
|
||||
```
|
||||
plugins=(... copydir)
|
||||
```
|
||||
|
||||
Then use the command `copydir` to copy the $PWD.
|
10
plugins/copyfile/README.md
Normal file
10
plugins/copyfile/README.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
# copyfile plugin
|
||||
|
||||
Puts the contents of a file in your system clipboard so you can paste it anywhere.
|
||||
|
||||
To use, add `copyfile` to your plugins array:
|
||||
```
|
||||
plugins=(... copyfile)
|
||||
```
|
||||
|
||||
Then you can run the command `copyfile <filename>` to copy the file named `filename`.
|
9
plugins/cpanm/README.md
Normal file
9
plugins/cpanm/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Cpanm
|
||||
|
||||
This plugin provides completion for [Cpanm](https://github.com/miyagawa/cpanminus) ([docs](https://metacpan.org/pod/App::cpanminus)).
|
||||
|
||||
To use it add cpanm to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... cpanm)
|
||||
```
|
|
@ -6,9 +6,6 @@
|
|||
#
|
||||
# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011)
|
||||
#
|
||||
# The latest code is always located at:
|
||||
# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm
|
||||
#
|
||||
|
||||
local arguments curcontext="$curcontext"
|
||||
typeset -A opt_args
|
||||
|
|
86
plugins/dash/dash.plugin.zsh
Normal file
86
plugins/dash/dash.plugin.zsh
Normal file
|
@ -0,0 +1,86 @@
|
|||
# Usage: dash [keyword:]query
|
||||
dash() { open dash://"$*" }
|
||||
compdef _dash dash
|
||||
|
||||
_dash() {
|
||||
# No sense doing this for anything except the 2nd position and if we haven't
|
||||
# specified which docset to query against
|
||||
if [[ $CURRENT -eq 2 && ! "$words[2]" =~ ":" ]]; then
|
||||
local -a _all_docsets
|
||||
_all_docsets=()
|
||||
# Use defaults to get the array of docsets from preferences
|
||||
# Have to smash it into one big line so that each docset is an element of
|
||||
# our DOCSETS array
|
||||
DOCSETS=("${(@f)$(defaults read com.kapeli.dashdoc docsets | tr -d '\n' | grep -oE '\{.*?\}')}")
|
||||
|
||||
# remove all newlines since defaults prints so pretty like
|
||||
# Now get each docset and output each on their own line
|
||||
for doc in "$DOCSETS[@]"; do
|
||||
# Only output docsets that are actually enabled
|
||||
if [[ "`echo $doc | grep -Eo \"isEnabled = .*?;\" | sed 's/[^01]//g'`" == "0" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
keyword=''
|
||||
|
||||
# Order of preference as explained to me by @kapeli via email
|
||||
KEYWORD_LOCATORS=(keyword suggestedKeyword platform)
|
||||
for locator in "$KEYWORD_LOCATORS[@]"; do
|
||||
# Echo the docset, try to find the appropriate keyword
|
||||
# Strip doublequotes and colon from any keyword so that everything has the
|
||||
# same format when output (we'll add the colon in the completion)
|
||||
keyword=`echo $doc | grep -Eo "$locator = .*?;" | sed -e "s/$locator = \(.*\);/\1/" -e "s/[\":]//g"`
|
||||
if [[ ! -z "$keyword" ]]; then
|
||||
# if we fall back to platform, we should do some checking per @kapeli
|
||||
if [[ "$locator" == "platform" ]]; then
|
||||
# Since these are the only special cases right now, let's not do the
|
||||
# expensive processing unless we have to
|
||||
if [[ "$keyword" == "python" || "$keyword" == "java" || \
|
||||
"$keyword" == "qt" || "$keyword" == "cocs2d" ]]; then
|
||||
docsetName=`echo $doc | grep -Eo "docsetName = .*?;" | sed -e "s/docsetName = \(.*\);/\1/" -e "s/[\":]//g"`
|
||||
if [[ "$keyword" == "python" ]]; then
|
||||
if [[ "$docsetName" == "Python 2" ]]; then
|
||||
keyword="python2"
|
||||
elif [[ "$docsetName" == "Python 3" ]]; then
|
||||
keyword="python3"
|
||||
fi
|
||||
elif [[ "$keyword" == "java" ]]; then
|
||||
if [[ "$docsetName" == "Java SE7" ]]; then
|
||||
keyword="java7"
|
||||
elif [[ "$docsetName" == "Java SE6" ]]; then
|
||||
keyword="java6"
|
||||
elif [[ "$docsetName" == "Java SE8" ]]; then
|
||||
keyword="java8"
|
||||
fi
|
||||
elif [[ "$keyword" == "qt" ]]; then
|
||||
if [[ "$docsetName" == "Qt 5" ]]; then
|
||||
keyword="qt5"
|
||||
elif [[ "$docsetName" == "Qt 4" ]]; then
|
||||
keyword="qt4"
|
||||
elif [[ "$docsetName" == "Qt" ]]; then
|
||||
keyword="qt4"
|
||||
fi
|
||||
elif [[ "$keyword" == "cocos2d" ]]; then
|
||||
if [[ "$docsetName" == "Cocos3D" ]]; then
|
||||
keyword="cocos3d"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Bail once we have a match
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# If we have a keyword, add it to the list!
|
||||
if [[ ! -z "$keyword" ]]; then
|
||||
_all_docsets+=($keyword)
|
||||
fi
|
||||
done
|
||||
|
||||
# special thanks to [arx] on #zsh for getting me sorted on this piece
|
||||
compadd -qS: -- "$_all_docsets[@]"
|
||||
return
|
||||
fi
|
||||
}
|
|
@ -5,9 +5,12 @@
|
|||
#
|
||||
# Debian-related zsh aliases and functions for zsh
|
||||
|
||||
# Use aptitude if installed, or apt-get if not.
|
||||
# Use apt or aptitude if installed, fallback is apt-get
|
||||
# You can just set apt_pref='apt-get' to override it.
|
||||
if [[ -e $( which -p aptitude 2>&1 ) ]]; then
|
||||
if [[ -e $( which -p apt 2>&1 ) ]]; then
|
||||
apt_pref='apt'
|
||||
apt_upgr='upgrade'
|
||||
elif [[ -e $( which -p aptitude 2>&1 ) ]]; then
|
||||
apt_pref='aptitude'
|
||||
apt_upgr='safe-upgrade'
|
||||
else
|
||||
|
@ -176,7 +179,7 @@ apt-copy() {
|
|||
# apt-history remove
|
||||
# apt-history rollback
|
||||
# apt-history list
|
||||
# Based On: http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html
|
||||
# Based On: https://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html
|
||||
apt-history () {
|
||||
case "$1" in
|
||||
install)
|
||||
|
|
78
plugins/dircycle/README.md
Normal file
78
plugins/dircycle/README.md
Normal file
|
@ -0,0 +1,78 @@
|
|||
# dircycle
|
||||
|
||||
Plugin for cycling through the directory stack
|
||||
|
||||
This plugin enables directory navigation similar to using back and forward on browsers or common file explorers like Finder or Nautilus. It uses a small zle trick that lets you cycle through your directory stack left or right using <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd> . This is useful when moving back and forth between directories in development environments, and can be thought of as kind of a nondestructive pushd/popd.
|
||||
|
||||
## Enabling the plugin
|
||||
|
||||
1. Open your `.zshrc` file and add `dircycle` in the plugins section:
|
||||
|
||||
```zsh
|
||||
plugins=(
|
||||
# all your enabled plugins
|
||||
dircycle
|
||||
)
|
||||
```
|
||||
|
||||
2. Reload the source file or restart your Terminal session:
|
||||
|
||||
```console
|
||||
$ source ~/.zshrc
|
||||
$
|
||||
```
|
||||
|
||||
## Usage Examples
|
||||
|
||||
Say you opened these directories on the terminal:
|
||||
|
||||
```console
|
||||
~$ cd Projects
|
||||
~/Projects$ cd Hacktoberfest
|
||||
~/Projects/Hacktoberfest$ cd oh-my-zsh
|
||||
~/Projects/Hacktoberfest/oh-my-zsh$ dirs -v
|
||||
0 ~/Projects/Hacktoberfest/oh-my-zsh
|
||||
1 ~/Projects/Hacktoberfest
|
||||
2 ~/Projects
|
||||
3 ~
|
||||
```
|
||||
|
||||
By pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd>, the current working directory or `$CWD` will be from `oh-my-zsh` to `Hacktoberfest`. Press it again and it will be at `Projects`.
|
||||
|
||||
And by pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd>, the `$CWD` will be from `Projects` to `Hacktoberfest`. Press it again and it will be at `oh-my-zsh`.
|
||||
|
||||
Here's a example history table with the same accessed directories like above:
|
||||
|
||||
| Current `$CWD` | Key press | New `$CWD` |
|
||||
| --------------- | ----------------------------------------------------- | --------------- |
|
||||
| `oh-my-zsh` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `Hacktoberfest` |
|
||||
| `Hacktoberfest` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `Projects` |
|
||||
| `Projects` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `~` |
|
||||
| `~` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `Projects` |
|
||||
| `Projects` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `Hacktoberfest` |
|
||||
| `Hacktoberfest` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `oh-my-zsh` |
|
||||
| `oh-my-zsh` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `~` |
|
||||
|
||||
Note the last traversal, when pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> on a last known `$CWD`, it will change back to the first known `$CWD`, which in the example is `~`.
|
||||
|
||||
Here's an asciinema cast demonstrating the example above:
|
||||
|
||||
[![asciicast](https://asciinema.org/a/204406.png)](https://asciinema.org/a/204406)
|
||||
|
||||
## Functions
|
||||
|
||||
| Function | Description |
|
||||
| -------------------- | --------------------------------------------------------------------------------------------------------- |
|
||||
| `insert-cycledleft` | Change `$CWD` to the previous known stack, binded on <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> |
|
||||
| `insert-cycledright` | Change `$CWD` to the next known stack, binded on <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> |
|
||||
|
||||
## Rebinding keys
|
||||
|
||||
You can bind these functions to other key sequences, as long as you know the bindkey sequence. For example, these commands bind to <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd> in `xterm-256color`:
|
||||
|
||||
```zsh
|
||||
bindkey '^[[1;4D' insert-cycledleft
|
||||
bindkey '^[[1;4C' insert-cycledright
|
||||
```
|
||||
|
||||
You can get the bindkey sequence by pressing <kbd>Ctrl</kbd> + <kbd>V</kbd>, then pressing the keyboard shortcut you want to use.
|
|
@ -9,31 +9,36 @@
|
|||
# pushd -N: start counting from right of `dirs' output
|
||||
|
||||
switch-to-dir () {
|
||||
[[ ${#dirstack} -eq 0 ]] && return
|
||||
setopt localoptions nopushdminus
|
||||
[[ ${#dirstack} -eq 0 ]] && return 1
|
||||
|
||||
while ! builtin pushd -q $1 &>/dev/null; do
|
||||
# We found a missing directory: pop it out of the dir stack
|
||||
builtin popd -q $1
|
||||
|
||||
# Stop trying if there are no more directories in the dir stack
|
||||
[[ ${#dirstack} -eq 0 ]] && break
|
||||
[[ ${#dirstack} -eq 0 ]] && return 1
|
||||
done
|
||||
}
|
||||
|
||||
insert-cycledleft () {
|
||||
emulate -L zsh
|
||||
setopt nopushdminus
|
||||
switch-to-dir +1 || return
|
||||
|
||||
switch-to-dir +1
|
||||
local fn
|
||||
for fn (chpwd $chpwd_functions precmd $precmd_functions); do
|
||||
(( $+functions[$fn] )) && $fn
|
||||
done
|
||||
zle reset-prompt
|
||||
}
|
||||
zle -N insert-cycledleft
|
||||
|
||||
insert-cycledright () {
|
||||
emulate -L zsh
|
||||
setopt nopushdminus
|
||||
switch-to-dir -0 || return
|
||||
|
||||
switch-to-dir -0
|
||||
local fn
|
||||
for fn (chpwd $chpwd_functions precmd $precmd_functions); do
|
||||
(( $+functions[$fn] )) && $fn
|
||||
done
|
||||
zle reset-prompt
|
||||
}
|
||||
zle -N insert-cycledright
|
||||
|
|
17
plugins/dirhistory/README.md
Normal file
17
plugins/dirhistory/README.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Dirhistory plugin
|
||||
|
||||
This plugin adds keyboard shortcuts for navigating directory history and hierarchy.
|
||||
|
||||
To use it, add `dirhistory` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... dirhistory)
|
||||
```
|
||||
## Keyboard Shortcuts
|
||||
|
||||
| Shortcut | Description |
|
||||
|-----------------------------------|-----------------------------------------------------------|
|
||||
| <kbd>alt</kbd> + <kbd>left</kbd> | Go to previous directory |
|
||||
| <kbd>alt</kbd> + <kbd>right</kbd> | Undo <kbd>alt</kbd> + <kbd>left</kbd> |
|
||||
| <kbd>alt</kbd> + <kbd>up</kbd> | Move into the parent directory |
|
||||
| <kbd>alt</kbd> + <kbd>down</kbd> | Move into the first child directory by alphabetical order |
|
|
@ -2,6 +2,10 @@
|
|||
# Navigate directory history using ALT-LEFT and ALT-RIGHT. ALT-LEFT moves back to directories
|
||||
# that the user has changed to in the past, and ALT-RIGHT undoes ALT-LEFT.
|
||||
#
|
||||
# Navigate directory hierarchy using ALT-UP and ALT-DOWN. (mac keybindings not yet implemented)
|
||||
# ALT-UP moves to higher hierarchy (cd ..)
|
||||
# ALT-DOWN moves into the first directory found in alphabetical order
|
||||
#
|
||||
|
||||
dirhistory_past=($PWD)
|
||||
dirhistory_future=()
|
||||
|
@ -119,6 +123,10 @@ zle -N dirhistory_zle_dirhistory_back
|
|||
# xterm in normal mode
|
||||
bindkey "\e[3D" dirhistory_zle_dirhistory_back
|
||||
bindkey "\e[1;3D" dirhistory_zle_dirhistory_back
|
||||
# Mac teminal (alt+left/right)
|
||||
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then
|
||||
bindkey "^[b" dirhistory_zle_dirhistory_back
|
||||
fi
|
||||
# Putty:
|
||||
bindkey "\e\e[D" dirhistory_zle_dirhistory_back
|
||||
# GNU screen:
|
||||
|
@ -127,7 +135,56 @@ bindkey "\eO3D" dirhistory_zle_dirhistory_back
|
|||
zle -N dirhistory_zle_dirhistory_future
|
||||
bindkey "\e[3C" dirhistory_zle_dirhistory_future
|
||||
bindkey "\e[1;3C" dirhistory_zle_dirhistory_future
|
||||
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then
|
||||
bindkey "^[f" dirhistory_zle_dirhistory_future
|
||||
fi
|
||||
bindkey "\e\e[C" dirhistory_zle_dirhistory_future
|
||||
bindkey "\eO3C" dirhistory_zle_dirhistory_future
|
||||
|
||||
|
||||
#
|
||||
# HIERARCHY Implemented in this section, in case someone wants to split it to another plugin if it clashes bindings
|
||||
#
|
||||
|
||||
# Move up in hierarchy
|
||||
function dirhistory_up() {
|
||||
cd .. || return 1
|
||||
}
|
||||
|
||||
# Move down in hierarchy
|
||||
function dirhistory_down() {
|
||||
cd "$(find . -mindepth 1 -maxdepth 1 -type d | sort -n | head -n 1)" || return 1
|
||||
}
|
||||
|
||||
|
||||
# Bind keys to hierarchy navigation
|
||||
function dirhistory_zle_dirhistory_up() {
|
||||
zle kill-buffer # Erase current line in buffer
|
||||
dirhistory_up
|
||||
zle accept-line
|
||||
}
|
||||
|
||||
function dirhistory_zle_dirhistory_down() {
|
||||
zle kill-buffer # Erase current line in buffer
|
||||
dirhistory_down
|
||||
zle accept-line
|
||||
}
|
||||
|
||||
zle -N dirhistory_zle_dirhistory_up
|
||||
# xterm in normal mode
|
||||
bindkey "\e[3A" dirhistory_zle_dirhistory_up
|
||||
bindkey "\e[1;3A" dirhistory_zle_dirhistory_up
|
||||
# Mac teminal (alt+up)
|
||||
#bindkey "^[?" dirhistory_zle_dirhistory_up #dont know it
|
||||
# Putty:
|
||||
bindkey "\e\e[A" dirhistory_zle_dirhistory_up
|
||||
# GNU screen:
|
||||
bindkey "\eO3A" dirhistory_zle_dirhistory_up
|
||||
|
||||
zle -N dirhistory_zle_dirhistory_down
|
||||
bindkey "\e[3B" dirhistory_zle_dirhistory_down
|
||||
bindkey "\e[1;3B" dirhistory_zle_dirhistory_down
|
||||
# Mac teminal (alt+down)
|
||||
#bindkey "^[?" dirhistory_zle_dirhistory_down #dont know it
|
||||
bindkey "\e\e[B" dirhistory_zle_dirhistory_down
|
||||
bindkey "\eO3B" dirhistory_zle_dirhistory_down
|
||||
|
|
9
plugins/dirpersist/README.md
Normal file
9
plugins/dirpersist/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Dirpersist plugin
|
||||
|
||||
This plugin keeps a running tally of the previous 20 unique directories in the $HOME/.zdirs file. When you cd to a new directory, it is prepended to the beginning of the file.
|
||||
|
||||
To use it, add `dirpersist` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... dirpersist)
|
||||
```
|
56
plugins/django/README.md
Normal file
56
plugins/django/README.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
# Django plugin
|
||||
|
||||
This plugin adds completion and hints for the [Django Project](https://www.djangoproject.com/) `manage.py` commands
|
||||
and options.
|
||||
|
||||
To use it, add `django` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... django)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```zsh
|
||||
$> python manage.py (press <TAB> here)
|
||||
```
|
||||
|
||||
Would result in:
|
||||
|
||||
```zsh
|
||||
cleanup -- remove old data from the database
|
||||
compilemessages -- compile .po files to .mo for use with gettext
|
||||
createcachetable -- creates table for SQL cache backend
|
||||
createsuperuser -- create a superuser
|
||||
dbshell -- run command-line client for the current database
|
||||
diffsettings -- display differences between the current settings and Django defaults
|
||||
dumpdata -- output contents of database as a fixture
|
||||
flush -- execute 'sqlflush' on the current database
|
||||
inspectdb -- output Django model module for tables in database
|
||||
loaddata -- install the named fixture(s) in the database
|
||||
makemessages -- pull out all strings marked for translation
|
||||
reset -- executes 'sqlreset' for the given app(s)
|
||||
runfcgi -- run this project as a fastcgi
|
||||
runserver -- start a lightweight web server for development
|
||||
...
|
||||
```
|
||||
|
||||
If you want to see the options available for a specific command, try:
|
||||
|
||||
```zsh
|
||||
$> python manage.py makemessages (press <TAB> here)
|
||||
```
|
||||
|
||||
And that would result in:
|
||||
|
||||
```zsh
|
||||
--all -a -- re-examine all code and templates
|
||||
--domain -d -- domain of the message files (default: "django")
|
||||
--extensions -e -- file extension(s) to examine (default: ".html")
|
||||
--help -- display help information
|
||||
--locale -l -- locale to process (default: all)
|
||||
--pythonpath -- directory to add to the Python path
|
||||
--settings -- python path to settings module
|
||||
...
|
||||
```
|
||||
|
|
@ -349,6 +349,7 @@ _managepy-commands() {
|
|||
'runfcgi:Run this project as a fastcgi (or some other protocol supported by flup) application,'
|
||||
'runserver:Starts a lightweight Web server for development.'
|
||||
'shell:Runs a Python interactive interpreter.'
|
||||
'showmigrations:Shows all available migrations for the current project.'
|
||||
'sql:Prints the CREATE TABLE SQL statements for the given app name(s).'
|
||||
'sqlall:Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL statements for the given model module name(s).'
|
||||
'sqlclear:Prints the DROP TABLE SQL statements for the given app name(s).'
|
||||
|
|
0
plugins/dnf/README.md
Executable file → Normal file
0
plugins/dnf/README.md
Executable file → Normal file
|
@ -1,4 +1,29 @@
|
|||
# Docker-compose plugin for oh my zsh
|
||||
# Docker-compose
|
||||
|
||||
A copy of the completion script from the [docker-compose](https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose) git repo.
|
||||
This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some
|
||||
aliases for frequent docker-compose commands.
|
||||
|
||||
To use it, add docker-compose to the plugins array of your zshrc file:
|
||||
```
|
||||
plugins=(... docker-compose)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
|-----------|--------------------------|------------------------------------------------------------------|
|
||||
| dco | `docker-compose` | Docker-compose main command |
|
||||
| dcb | `docker-compose build` | Build containers |
|
||||
| dce | `docker-compose exec` | Execute command inside a container |
|
||||
| dcps | `docker-compose ps` | List containers |
|
||||
| dcrestart | `docker-compose restart` | Restart container |
|
||||
| dcrm | `docker-compose rm` | Remove container |
|
||||
| dcr | `docker-compose run` | Run a command in container |
|
||||
| dcstop | `docker-compose stop` | Stop a container |
|
||||
| dcup | `docker-compose up` | Build, (re)create, start, and attach to containers for a service |
|
||||
| dcupd | `docker-compose up -d` | Same as `dcup`, but starts as daemon |
|
||||
| dcdn | `docker-compose down` | Stop and remove containers |
|
||||
| dcl | `docker-compose logs` | Show logs of container |
|
||||
| dclf | `docker-compose logs -f` | Show logs and follow output |
|
||||
| dcpull | `docker-compose pull` | Pull image of a service |
|
||||
| dcstart | `docker-compose start` | Start a container |
|
||||
|
|
|
@ -3,11 +3,6 @@
|
|||
# Description
|
||||
# -----------
|
||||
# zsh completion for docker-compose
|
||||
# https://github.com/sdurrheimer/docker-compose-zsh-completion
|
||||
# -------------------------------------------------------------------------
|
||||
# Version
|
||||
# -------
|
||||
# 1.5.0
|
||||
# -------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
|
@ -199,7 +194,9 @@ __docker-compose_subcommand() {
|
|||
(build)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
"*--build-arg=[Set build-time variables for one service.]:<varname>=<value>: " \
|
||||
'--force-rm[Always remove intermediate containers.]' \
|
||||
'--memory[Memory limit for the build container.]' \
|
||||
'--no-cache[Do not use cache when building the image.]' \
|
||||
'--pull[Always attempt to pull a newer version of the image.]' \
|
||||
'*:services:__docker-compose_services_from_build' && ret=0
|
||||
|
@ -207,13 +204,16 @@ __docker-compose_subcommand() {
|
|||
(bundle)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'--push-images[Automatically push images for any services which have a `build` option specified.]' \
|
||||
'(--output -o)'{--output,-o}'[Path to write the bundle file to. Defaults to "<project name>.dab".]:file:_files' && ret=0
|
||||
;;
|
||||
(config)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'(--quiet -q)'{--quiet,-q}"[Only validate the configuration, don't print anything.]" \
|
||||
'--services[Print the service names, one per line.]' && ret=0
|
||||
'--resolve-image-digests[Pin image tags to digests.]' \
|
||||
'--services[Print the service names, one per line.]' \
|
||||
'--volumes[Print the volume names, one per line.]' && ret=0
|
||||
;;
|
||||
(create)
|
||||
_arguments \
|
||||
|
@ -242,7 +242,7 @@ __docker-compose_subcommand() {
|
|||
$opts_help \
|
||||
'-d[Detached mode: Run command in the background.]' \
|
||||
'--privileged[Give extended privileges to the process.]' \
|
||||
'--user=[Run the command as this user.]:username:_users' \
|
||||
'(-u --user)'{-u,--user=}'[Run the command as this user.]:username:_users' \
|
||||
'-T[Disable pseudo-tty allocation. By default `docker-compose exec` allocates a TTY.]' \
|
||||
'--index=[Index of the container if there are multiple instances of a service \[default: 1\]]:index: ' \
|
||||
'(-):running services:__docker-compose_runningservices' \
|
||||
|
@ -252,6 +252,12 @@ __docker-compose_subcommand() {
|
|||
(help)
|
||||
_arguments ':subcommand:__docker-compose_commands' && ret=0
|
||||
;;
|
||||
(images)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'-q[Only display IDs]' \
|
||||
'*:services:__docker-compose_services_all' && ret=0
|
||||
;;
|
||||
(kill)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
|
@ -308,16 +314,17 @@ __docker-compose_subcommand() {
|
|||
(run)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
$opts_no_deps \
|
||||
'-d[Detached mode: Run container in the background, print new container name.]' \
|
||||
'*-e[KEY=VAL Set an environment variable (can be used multiple times)]:environment variable KEY=VAL: ' \
|
||||
'--entrypoint[Overwrite the entrypoint of the image.]:entry point: ' \
|
||||
'--name=[Assign a name to the container]:name: ' \
|
||||
$opts_no_deps \
|
||||
'(-p --publish)'{-p,--publish=}"[Publish a container's port(s) to the host]" \
|
||||
'--rm[Remove container after run. Ignored in detached mode.]' \
|
||||
"--service-ports[Run command with the service's ports enabled and mapped to the host.]" \
|
||||
'-T[Disable pseudo-tty allocation. By default `docker-compose run` allocates a TTY.]' \
|
||||
'(-u --user)'{-u,--user=}'[Run as specified username or uid]:username or uid:_users' \
|
||||
'(-v --volume)*'{-v,--volume=}'[Bind mount a volume]:volume: ' \
|
||||
'(-w --workdir)'{-w,--workdir=}'[Working directory inside the container]:workdir: ' \
|
||||
'(-):services:__docker-compose_services' \
|
||||
'(-):command: _command_names -e' \
|
||||
|
@ -340,6 +347,11 @@ __docker-compose_subcommand() {
|
|||
$opts_timeout \
|
||||
'*:running services:__docker-compose_runningservices' && ret=0
|
||||
;;
|
||||
(top)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
'*:running services:__docker-compose_runningservices' && ret=0
|
||||
;;
|
||||
(unpause)
|
||||
_arguments \
|
||||
$opts_help \
|
||||
|
@ -385,9 +397,17 @@ _docker-compose() {
|
|||
integer ret=1
|
||||
typeset -A opt_args
|
||||
|
||||
local file_description
|
||||
|
||||
if [[ -n ${words[(r)-f]} || -n ${words[(r)--file]} ]] ; then
|
||||
file_description="Specify an override docker-compose file (default: docker-compose.override.yml)"
|
||||
else
|
||||
file_description="Specify an alternate docker-compose file (default: docker-compose.yml)"
|
||||
fi
|
||||
|
||||
_arguments -C \
|
||||
'(- :)'{-h,--help}'[Get help]' \
|
||||
'(-f --file)'{-f,--file}'[Specify an alternate docker-compose file (default: docker-compose.yml)]:file:_files -g "*.yml"' \
|
||||
'*'{-f,--file}"[${file_description}]:file:_files -g '*.yml'" \
|
||||
'(-p --project-name)'{-p,--project-name}'[Specify an alternate project name (default: directory name)]:project name:' \
|
||||
'--verbose[Show more output]' \
|
||||
'(- :)'{-v,--version}'[Print version and exit]' \
|
||||
|
|
|
@ -18,6 +18,9 @@ alias dcrm='docker-compose rm'
|
|||
alias dcr='docker-compose run'
|
||||
alias dcstop='docker-compose stop'
|
||||
alias dcup='docker-compose up'
|
||||
alias dcupd='docker-compose up -d'
|
||||
alias dcdn='docker-compose down'
|
||||
alias dcl='docker-compose logs'
|
||||
alias dclf='docker-compose logs -f'
|
||||
alias dcpull='docker-compose pull'
|
||||
alias dcstart='docker-compose start'
|
||||
|
|
359
plugins/docker-machine/_docker-machine
Normal file
359
plugins/docker-machine/_docker-machine
Normal file
|
@ -0,0 +1,359 @@
|
|||
#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 serivces
|
||||
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_stragery
|
||||
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 --stroage-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,6 +1,6 @@
|
|||
#compdef docker dockerd
|
||||
#
|
||||
# zsh completion for docker (http://docker.com)
|
||||
# zsh completion for docker (https://docker.com)
|
||||
#
|
||||
# version: 0.3.0
|
||||
# github: https://github.com/felixr/docker-zsh-completion
|
||||
|
@ -226,7 +226,7 @@ __docker_get_log_options() {
|
|||
common_options=("max-buffer-size" "mode")
|
||||
common_options2=("env" "env-regex" "labels")
|
||||
awslogs_options=($common_options "awslogs-create-group" "awslogs-datetime-format" "awslogs-group" "awslogs-multiline-pattern" "awslogs-region" "awslogs-stream" "tag")
|
||||
fluentd_options=($common_options $common_options2 "fluentd-address" "fluentd-async-connect" "fluentd-buffer-limit" "fluentd-retry-wait" "fluentd-max-retries" "tag")
|
||||
fluentd_options=($common_options $common_options2 "fluentd-address" "fluentd-async-connect" "fluentd-buffer-limit" "fluentd-retry-wait" "fluentd-max-retries" "fluentd-sub-second-precision" "tag")
|
||||
gcplogs_options=($common_options $common_options2 "gcp-log-cmd" "gcp-meta-id" "gcp-meta-name" "gcp-meta-zone" "gcp-project")
|
||||
gelf_options=($common_options $common_options2 "gelf-address" "gelf-compression-level" "gelf-compression-type" "tag")
|
||||
journald_options=($common_options $common_options2 "tag")
|
||||
|
@ -431,7 +431,7 @@ __docker_complete_events_filter() {
|
|||
integer ret=1
|
||||
declare -a opts
|
||||
|
||||
opts=('container' 'daemon' 'event' 'image' 'label' 'network' 'type' 'volume')
|
||||
opts=('container' 'daemon' 'event' 'image' 'label' 'network' 'scope' 'type' 'volume')
|
||||
|
||||
if compset -P '*='; then
|
||||
case "${${words[-1]%=*}#*=}" in
|
||||
|
@ -450,9 +450,9 @@ __docker_complete_events_filter() {
|
|||
;;
|
||||
(event)
|
||||
local -a event_opts
|
||||
event_opts=('attach' 'commit' 'connect' 'copy' 'create' 'delete' 'destroy' 'detach' 'die' 'disconnect' 'exec_create' 'exec_detach'
|
||||
'exec_start' 'export' 'health_status' 'import' 'kill' 'load' 'mount' 'oom' 'pause' 'pull' 'push' 'reload' 'rename' 'resize' 'restart' 'save' 'start'
|
||||
'stop' 'tag' 'top' 'unmount' 'unpause' 'untag' 'update')
|
||||
event_opts=('attach' 'commit' 'connect' 'copy' 'create' 'delete' 'destroy' 'detach' 'die' 'disable' 'disconnect' 'enable' 'exec_create' 'exec_detach'
|
||||
'exec_start' 'export' 'health_status' 'import' 'install' 'kill' 'load' 'mount' 'oom' 'pause' 'pull' 'push' 'reload' 'remove' 'rename' 'resize'
|
||||
'restart' 'save' 'start' 'stop' 'tag' 'top' 'unmount' 'unpause' 'untag' 'update')
|
||||
_describe -t event-filter-opts "event filter options" event_opts && ret=0
|
||||
;;
|
||||
(image)
|
||||
|
@ -461,6 +461,11 @@ __docker_complete_events_filter() {
|
|||
(network)
|
||||
__docker_complete_networks && ret=0
|
||||
;;
|
||||
(scope)
|
||||
local -a scope_opts
|
||||
scope_opts=('local' 'swarm')
|
||||
_describe -t scope-filter-opts "scope filter options" scope_opts && ret=0
|
||||
;;
|
||||
(type)
|
||||
local -a type_opts
|
||||
type_opts=('container' 'daemon' 'image' 'network' 'volume')
|
||||
|
@ -745,6 +750,7 @@ __docker_container_subcommand() {
|
|||
"($help)--privileged[Give extended Linux capabilities to the command]" \
|
||||
"($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \
|
||||
"($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" \
|
||||
"($help -w --workdir)"{-w=,--workdir=}"[Working directory inside the container]:directory:_directories" \
|
||||
"($help -):containers:__docker_complete_running_containers" \
|
||||
"($help -)*::command:->anycommand" && ret=0
|
||||
case $state in
|
||||
|
@ -888,7 +894,7 @@ __docker_container_subcommand() {
|
|||
$opts_help \
|
||||
$opts_attach_exec_run_start \
|
||||
"($help -a --attach)"{-a,--attach}"[Attach container's stdout/stderr and forward all signals]" \
|
||||
"($help -i --interactive)"{-i,--interactive}"[Attach container's stding]" \
|
||||
"($help -i --interactive)"{-i,--interactive}"[Attach container's stdin]" \
|
||||
"($help -)*:containers:__docker_complete_stopped_containers" && ret=0
|
||||
;;
|
||||
(stats)
|
||||
|
@ -922,7 +928,7 @@ __docker_container_subcommand() {
|
|||
local state
|
||||
_arguments $(__docker_arguments) \
|
||||
$opts_help \
|
||||
opts_create_run_update \
|
||||
$opts_create_run_update \
|
||||
"($help -)*: :->values" && ret=0
|
||||
case $state in
|
||||
(values)
|
||||
|
@ -1393,7 +1399,7 @@ __docker_nodes() {
|
|||
# Names
|
||||
if [[ $type = (names|all) ]]; then
|
||||
for line in $lines; do
|
||||
s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
|
||||
s="${line[${begin[HOSTNAME]},${end[HOSTNAME]}]%% ##}"
|
||||
nodes=($nodes $s)
|
||||
done
|
||||
fi
|
||||
|
@ -1955,6 +1961,7 @@ __docker_service_subcommand() {
|
|||
"($help)--health-retries=[Consecutive failures needed to report unhealthy]:retries:(1 2 3 4 5)"
|
||||
"($help)--health-timeout=[Maximum time to allow one check to run]:time: "
|
||||
"($help)--hostname=[Service container hostname]:hostname: " \
|
||||
"($help)--isolation=[Service container isolation mode]:isolation:(default process hyperv)" \
|
||||
"($help)*--label=[Service labels]:label: "
|
||||
"($help)--limit-cpu=[Limit CPUs]:value: "
|
||||
"($help)--limit-memory=[Limit Memory]:value: "
|
||||
|
@ -2168,9 +2175,9 @@ __docker_stacks() {
|
|||
end[${header[$i,$((j-1))]}]=-1
|
||||
lines=(${lines[2,-1]})
|
||||
|
||||
# Service ID
|
||||
# Service NAME
|
||||
for line in $lines; do
|
||||
s="${line[${begin[ID]},${end[ID]}]%% ##}"
|
||||
s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
|
||||
stacks=($stacks $s)
|
||||
done
|
||||
|
||||
|
@ -2631,7 +2638,6 @@ __docker_subcommand() {
|
|||
"($help)--default-gateway-v6[Container default gateway IPv6 address]:IPv6 address: " \
|
||||
"($help)--default-shm-size=[Default shm size for containers]:size:" \
|
||||
"($help)*--default-ulimit=[Default ulimits for containers]:ulimit: " \
|
||||
"($help)--disable-legacy-registry[Disable contacting legacy registries (default true)]" \
|
||||
"($help)*--dns=[DNS server to use]:DNS: " \
|
||||
"($help)*--dns-opt=[DNS options to use]:DNS option: " \
|
||||
"($help)*--dns-search=[DNS search domains to use]:DNS search: " \
|
||||
|
|
9
plugins/doctl/README.md
Normal file
9
plugins/doctl/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Doctl
|
||||
|
||||
This plugin provides completion for [Doctl](https://github.com/digitalocean/doctl).
|
||||
|
||||
To use it add doctl to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... doctl)
|
||||
```
|
9
plugins/doctl/doctl.plugin.zsh
Normal file
9
plugins/doctl/doctl.plugin.zsh
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Autocompletion for doctl, the command line tool for DigitalOcean service
|
||||
#
|
||||
# doctl project: https://github.com/digitalocean/doctl
|
||||
#
|
||||
# Author: https://github.com/HalisCz
|
||||
|
||||
if [ $commands[doctl] ]; then
|
||||
source <(doctl completion zsh)
|
||||
fi
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
Automatically load your project ENV variables from `.env` file when you `cd` into project root directory.
|
||||
|
||||
Storing configuration in the environment is one of the tenets of a [twelve-factor app](http://www.12factor.net). Anything that is likely to change between deployment environments–such as resource handles for databases or credentials for external services–should be extracted from the code into environment variables.
|
||||
Storing configuration in the environment is one of the tenets of a [twelve-factor app](https://www.12factor.net). Anything that is likely to change between deployment environments, such as resource handles for databases or credentials for external services, should be extracted from the code into environment variables.
|
||||
|
||||
## Installation
|
||||
|
||||
Just add the plugin to your `.zshrc`:
|
||||
|
||||
```sh
|
||||
plugins=(git man dotenv)
|
||||
plugins=(... dotenv)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Create `.env` file inside your project directory and put your local ENV variables there.
|
||||
Create `.env` file inside your project root directory and put your ENV variables there.
|
||||
|
||||
For example:
|
||||
```sh
|
||||
|
@ -30,5 +30,16 @@ SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f
|
|||
MONGO_URI=mongodb://127.0.0.1:27017
|
||||
PORT=3001
|
||||
```
|
||||
You can even mix both formats, although it's probably a bad idea.
|
||||
|
||||
**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it supposed to be local only.
|
||||
## Version Control
|
||||
|
||||
**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it's supposed to be local only.
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This plugin only sources the `.env` file. Nothing less, nothing more. It doesn't do any checks. It's designed to be the fastest and simplest option. You're responsible for the `.env` file content. You can put some code (or weird symbols) there, but do it on your own risk. `dotenv` is the basic tool, yet it does the job.
|
||||
|
||||
If you need more advanced and feature-rich ENV management, check out these awesome projects:
|
||||
* [direnv](https://github.com/direnv/direnv)
|
||||
* [zsh-autoenv](https://github.com/Tarrasch/zsh-autoenv)
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
#!/bin/zsh
|
||||
|
||||
source_env() {
|
||||
if [[ -f .env ]]; then
|
||||
source .env
|
||||
# test .env syntax
|
||||
zsh -fn .env || echo 'dotenv: error when sourcing `.env` file' >&2
|
||||
|
||||
if [[ -o a ]]; then
|
||||
source .env
|
||||
else
|
||||
set -a
|
||||
source .env
|
||||
set +a
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
autoload -U add-zsh-hook
|
||||
add-zsh-hook chpwd source_env
|
||||
|
||||
source_env
|
||||
|
|
|
@ -16,4 +16,4 @@ Author: [Fabio Fernandes](https://github.com/fabiofl)
|
|||
|
||||
- Upload a file: `droplr ./path/to/file/`
|
||||
|
||||
- Shorten a link: `droplr http://example.com`
|
||||
- Shorten a link: `droplr https://example.com`
|
||||
|
|
20
plugins/eecms/eecms.plugin.zsh
Normal file
20
plugins/eecms/eecms.plugin.zsh
Normal file
|
@ -0,0 +1,20 @@
|
|||
# ExpressionEngine CMS basic command completion
|
||||
|
||||
_eecms_console () {
|
||||
echo "php $(find . -maxdepth 3 -mindepth 1 -name 'eecms' -type f | head -n 1)"
|
||||
}
|
||||
|
||||
_eecms_get_command_list () {
|
||||
`_eecms_console` | sed "/Available commands/,/^/d" | sed "s/[[:space:]].*//g"
|
||||
}
|
||||
|
||||
_eecms () {
|
||||
compadd `_eecms_get_command_list`
|
||||
}
|
||||
|
||||
compdef _eecms '`_eecms_console`'
|
||||
compdef _eecms 'system/ee/eecms'
|
||||
compdef _eecms eecms
|
||||
|
||||
#Alias
|
||||
alias eecms='`_eecms_console`'
|
30
plugins/emacs/README.md
Normal file
30
plugins/emacs/README.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Emacs plugin
|
||||
|
||||
This plugin utilizes the Emacs daemon capability, allowing the user to quickly open frames, whether they are opened in a terminal via a ssh connection, or X frames opened on the same host. The plugin also provides some aliases for such operations.
|
||||
|
||||
- You don't have the cost of starting Emacs all the time anymore
|
||||
- Opening a file is as fast as Emacs does not have anything else to do.
|
||||
- You can share opened buffered across opened frames.
|
||||
- Configuration changes made at runtime are applied to all frames.
|
||||
|
||||
**NOTE:** requires Emacs 24 and newer.
|
||||
|
||||
To use it, add emacs to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... emacs)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
The plugin uses a custom launcher (which we'll call here `$EMACS_LAUNCHER`) that is just a wrapper around [`emacsclient`](https://www.emacswiki.org/emacs/EmacsClient).
|
||||
|
||||
| Alias | Command | Description |
|
||||
|--------|----------------------------------------------------|----------------------------------------------------------------|
|
||||
| emacs | `$EMACS_LAUNCHER --no-wait` | Opens a temporary emacsclient frame |
|
||||
| e | `emacs` | Same as emacs alias |
|
||||
| te | `$EMACS_LAUNCHER -nw` | Open terminal emacsclient |
|
||||
| eeval | `$EMACS_LAUNCHER --eval` | Same as `M-x eval` but from outside Emacs |
|
||||
| eframe | `emacsclient --alternate-editor "" --create-frame` | Create new X frame |
|
||||
| efile | - | Print the path to the file open in the current buffer |
|
||||
| ecd | - | Print the directory of the file open in the the current buffer |
|
|
@ -10,7 +10,7 @@
|
|||
# - Configuration changes made at runtime are applied to all frames.
|
||||
|
||||
|
||||
if "$ZSH/tools/require_tool.sh" emacs 24 2>/dev/null ; then
|
||||
if "$ZSH/tools/require_tool.sh" emacsclient 24 2>/dev/null ; then
|
||||
export EMACS_PLUGIN_LAUNCHER="$ZSH/plugins/emacs/emacsclient.sh"
|
||||
|
||||
# set EDITOR if not already defined.
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Ember CLI
|
||||
|
||||
**Maintainers:** [BilalBudhani](http://www.github.com/BilalBudhani), [eubenesa](http://www.github.com/eubenesa)
|
||||
**Maintainers:** [BilalBudhani](https://github.com/BilalBudhani), [eubenesa](https://github.com/eubenesa), [scottkidder](https://github.com/scottkidder]
|
||||
|
||||
Ember CLI (http://www.ember-cli.com/)
|
||||
Ember CLI (https://www.ember-cli.com/)
|
||||
|
||||
### List of Aliases
|
||||
|
||||
|
@ -17,5 +17,6 @@ Alias | Ember-CLI command
|
|||
**ein** | *ember init*
|
||||
**ei** | *ember install*
|
||||
**et** | *ember test*
|
||||
**ets** | *ember test --serve*
|
||||
**eu** | *ember update*
|
||||
**ev** | *ember version*
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Ember CLI
|
||||
# Visit http://www.ember-cli.com/ to view user guide
|
||||
# Visit https://www.ember-cli.com/ to view user guide
|
||||
|
||||
alias es='ember serve'
|
||||
alias ea='ember addon'
|
||||
|
@ -10,6 +10,7 @@ alias eh='ember help'
|
|||
alias ein='ember init'
|
||||
alias ei='ember install'
|
||||
alias et='ember test'
|
||||
alias ets='ember test --serve'
|
||||
alias eu='ember update'
|
||||
|
||||
# version
|
||||
|
|
14
plugins/emoji-clock/README.md
Normal file
14
plugins/emoji-clock/README.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
# emoji-clock
|
||||
|
||||
The plugin displays current time as an emoji symbol with half hour accuracy.
|
||||
|
||||
To use it, add `emoji-clock` to the plugins array of your zshrc file:
|
||||
```
|
||||
plugins=(... emoji-clock)
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
| Function | Description |
|
||||
|-------------------|----------------------------------------------------------------------|
|
||||
| `emoji-clock` | Displays current time in clock emoji symbol with half hour accuracy |
|
|
@ -71,7 +71,7 @@ PROMPT="$surfer > "
|
|||
|
||||
## Technical Details
|
||||
|
||||
The emoji names and codes are sourced from Unicode Technical Report \#51, which provides information on emoji support in Unicode. It can be found at http://www.unicode.org/reports/tr51/index.html.
|
||||
The emoji names and codes are sourced from Unicode Technical Report \#51, which provides information on emoji support in Unicode. It can be found at https://www.unicode.org/reports/tr51/index.html.
|
||||
|
||||
The group definitions are added by this OMZ plugin. They are not based on external definitions. (As far as I can tell. -apjanke)
|
||||
|
||||
|
@ -108,7 +108,7 @@ The `$emoji_skintone` associative array maps skin tone IDs to the variation sele
|
|||
echo "$emoji[smiling_face_with_open_mouth]$emoji_skintone[4]"
|
||||
```
|
||||
|
||||
Note that `$emoji_skintone` is an associative array, and its keys are the *names* of "Fitzpatrick Skin Type" groups, not linear indexes into a normal array. The names are `1_2`, `3`, `4`, `5`, and `6`. (Types 1 and 2 are combined into a single color.) See the [Diversity section in Unicode TR 51](http://www.unicode.org/reports/tr51/index.html#Diversity) for details.
|
||||
Note that `$emoji_skintone` is an associative array, and its keys are the *names* of "Fitzpatrick Skin Type" groups, not linear indexes into a normal array. The names are `1_2`, `3`, `4`, `5`, and `6`. (Types 1 and 2 are combined into a single color.) See the [Diversity section in Unicode TR 51](https://www.unicode.org/reports/tr51/index.html#Diversity) for details.
|
||||
|
||||
## TODO
|
||||
|
||||
|
@ -130,6 +130,6 @@ This does *not* mean that it should use Gemoji at run time. None of the `zsh` pl
|
|||
|
||||
#### ZWJ combining function
|
||||
|
||||
One of the newer features of Unicode emoji is the ability to use the "Zero-Width Joiner" character to compose multiple emoji characters in to a single "emoji ligature" glyph. For example, this is [how Apple supports "family" emoji with various genders and skin tones](http://www.unicode.org/reports/tr51/index.html#ZWJ_Sequences).
|
||||
One of the newer features of Unicode emoji is the ability to use the "Zero-Width Joiner" character to compose multiple emoji characters in to a single "emoji ligature" glyph. For example, this is [how Apple supports "family" emoji with various genders and skin tones](https://www.unicode.org/reports/tr51/index.html#ZWJ_Sequences).
|
||||
|
||||
These are a pain to write out (and probably worse to read), and it might be convenient to have a couple functions for concisely composing them, if wider support for them appears.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
# none: not applicable
|
||||
# Field 4 — Emoji_Sources:
|
||||
# one or more values from {z, a, j, w, x}
|
||||
# see the key in http://www.unicode.org/draft/reports/tr51/tr51.html#Major_Sources
|
||||
# see the key in https://www.unicode.org/draft/reports/tr51/tr51.html#Major_Sources
|
||||
# NA: not applicable
|
||||
# Comment — currently contains the version where the character was first encoded,
|
||||
# followed by:
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
# This script generates the emoji.plugin.zsh emoji definitions from the Unicode
|
||||
# character data for the emoji characters.
|
||||
#
|
||||
# The data file can be found at http://unicode.org/Public/emoji/latest/emoji-data.txt
|
||||
# as referenced in Unicode TR51 (http://www.unicode.org/reports/tr51/index.html).
|
||||
# The data file can be found at https://unicode.org/Public/emoji/latest/emoji-data.txt
|
||||
# as referenced in Unicode TR51 (https://www.unicode.org/reports/tr51/index.html).
|
||||
#
|
||||
# This is known to work with the data file from version 1.0. It may not work with later
|
||||
# versions if the format changes. In particular, this reads line comments to get the
|
||||
|
|
|
@ -26,13 +26,14 @@ function emotty() {
|
|||
# Use emotty set defined by user, fallback to default
|
||||
local emotty=${_emotty_sets[${emotty_set:-$emotty_default_set}]}
|
||||
# Parse $TTY number, normalizing it to an emotty set index
|
||||
(( tty = (${TTY##/dev/ttys} % ${#${=emotty}}) + 1 ))
|
||||
(( tty = (${TTY##/dev/tty} % ${#${=emotty}}) + 1 ))
|
||||
local character_name=${${=emotty}[tty]}
|
||||
echo "${emoji[${character_name}]}${emoji2[emoji_style]}"
|
||||
}
|
||||
|
||||
function display_emotty() {
|
||||
local name=$1
|
||||
local name=${1:-$emotty_set}
|
||||
echo $name
|
||||
for i in ${=_emotty_sets[$name]}; do
|
||||
printf "${emoji[$i]}${emoji2[emoji_style]} "
|
||||
done
|
||||
|
|
69
plugins/encode64/README.md
Normal file
69
plugins/encode64/README.md
Normal file
|
@ -0,0 +1,69 @@
|
|||
# encode64
|
||||
|
||||
Alias plugin for encoding or decoding using `base64` command
|
||||
|
||||
## Functions and Aliases
|
||||
|
||||
| Function | Alias | Description |
|
||||
| ---------- | ----- | ------------------------------ |
|
||||
| `encode64` | `e64` | Encodes given data to base64 |
|
||||
| `decode64` | `d64` | Decodes given data from base64 |
|
||||
|
||||
## Enabling plugin
|
||||
|
||||
1. Edit your `.zshrc` file and add `encode64` to the list of plugins:
|
||||
|
||||
```sh
|
||||
plugins=(
|
||||
# ...other enabled plugins
|
||||
encode64
|
||||
)
|
||||
```
|
||||
|
||||
2. Restart your terminal session or reload configuration by running:
|
||||
|
||||
```sh
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
## Usage and examples
|
||||
|
||||
### Encoding
|
||||
|
||||
- From parameter
|
||||
|
||||
```console
|
||||
$ encode64 "oh-my-zsh"
|
||||
b2gtbXktenNo
|
||||
$ e64 "oh-my-zsh"
|
||||
b2gtbXktenNo
|
||||
```
|
||||
|
||||
- From piping
|
||||
|
||||
```console
|
||||
$ echo "oh-my-zsh" | encode64
|
||||
b2gtbXktenNo==
|
||||
$ echo "oh-my-zsh" | e64
|
||||
b2gtbXktenNo==
|
||||
```
|
||||
|
||||
### Decoding
|
||||
|
||||
- From parameter
|
||||
|
||||
```console
|
||||
$ decode64 b2gtbXktenNo
|
||||
oh-my-zsh%
|
||||
$ d64 b2gtbXktenNo
|
||||
oh-my-zsh%
|
||||
```
|
||||
|
||||
- From piping
|
||||
|
||||
```console
|
||||
$ echo "b2gtbXktenNoCg==" | decode64
|
||||
oh-my-zsh
|
||||
$ echo "b2gtbXktenNoCg==" | decode64
|
||||
oh-my-zsh
|
||||
```
|
|
@ -3,5 +3,5 @@
|
|||
|
||||
_arguments \
|
||||
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
|
||||
"*::archive file:_files -g '(#i)*.(7z|Z|apk|bz2|deb|gz|ipsw|jar|lzma|rar|sublime-package|tar|tar.bz2|tar.gz|tar.xz|tar.zma|tbz|tbz2|tgz|tlz|txz|war|xpi|xz|zip)(-.)'" \
|
||||
"*::archive file:_files -g '(#i)*.(7z|Z|apk|bz2|deb|gz|ipsw|jar|lzma|rar|sublime-package|tar|tar.bz2|tar.gz|tar.xz|tar.zma|tbz|tbz2|tgz|tlz|txz|war|whl|xpi|xz|zip)(-.)'" \
|
||||
&& return 0
|
||||
|
|
|
@ -10,7 +10,7 @@ extract() {
|
|||
Usage: extract [-option] [file ...]
|
||||
|
||||
Options:
|
||||
-r, --remove Remove archive.
|
||||
-r, --remove Remove archive after unpacking.
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
@ -29,7 +29,7 @@ extract() {
|
|||
|
||||
success=0
|
||||
extract_dir="${1:t:r}"
|
||||
case "$1" in
|
||||
case "${1:l}" in
|
||||
(*.tar.gz|*.tgz) (( $+commands[pigz] )) && { pigz -dc "$1" | tar xv } || tar zxvf "$1" ;;
|
||||
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
||||
(*.tar.xz|*.txz)
|
||||
|
@ -45,8 +45,8 @@ extract() {
|
|||
(*.bz2) bunzip2 "$1" ;;
|
||||
(*.xz) unxz "$1" ;;
|
||||
(*.lzma) unlzma "$1" ;;
|
||||
(*.Z) uncompress "$1" ;;
|
||||
(*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk) unzip "$1" -d $extract_dir ;;
|
||||
(*.z) uncompress "$1" ;;
|
||||
(*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk|*.whl) unzip "$1" -d $extract_dir ;;
|
||||
(*.rar) unrar x -ad "$1" ;;
|
||||
(*.7z) 7za x "$1" ;;
|
||||
(*.deb)
|
||||
|
|
9
plugins/fabric/README.md
Normal file
9
plugins/fabric/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Fabric
|
||||
|
||||
This plugin provides completion for [Fabric](https://www.fabfile.org/).
|
||||
|
||||
To use it add fabric to the plugins array in your zshrc file.
|
||||
|
||||
```bash
|
||||
plugins=(... fabric)
|
||||
```
|
|
@ -1 +0,0 @@
|
|||
# DECLARION: This plugin was created by vhbit. What I did is just making a portal from https://github.com/vhbit/fabric-zsh-autocomplete.
|
|
@ -6,6 +6,7 @@ if [ $commands[fasd] ]; then # check if fasd is installed
|
|||
source "$fasd_cache"
|
||||
unset fasd_cache
|
||||
|
||||
alias v="f -e $EDITOR"
|
||||
alias o='a -e open_command'
|
||||
alias v="f -e \"$EDITOR\""
|
||||
alias o='a -e xdg-open'
|
||||
alias j='zz'
|
||||
fi
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
This is a plugin based on yum plugin, but using dnf as main frontend
|
||||
(from Fedora 22 onwards, yum is deprecated in favor of dnf).
|
||||
|
||||
The fedora plugin is deprecated. Use the [dnf plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/dnf) instead.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue