mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-19 20:29:45 +01: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)
|
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
|
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
|
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">
|
<img src="https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png" alt="Oh My Zsh">
|
||||||
</p>
|
</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.
|
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. 😬
|
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
|
## 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._
|
__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
|
||||||
|
|
||||||
* Unix-like operating system (macOS or 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
|
* `curl` or `wget` should be installed
|
||||||
* `git` 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:
|
##### 1. Clone the repository:
|
||||||
|
|
||||||
```shell
|
```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:
|
##### 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
|
## 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.
|
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
|
## 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
|
## 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)
|
![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:
|
# insecure ownership or permissions) by:
|
||||||
#
|
#
|
||||||
# * Human-readably notifying the user of these insecurities.
|
# * 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() {
|
function handle_completion_insecurities() {
|
||||||
# List of the absolute paths of all unique insecure directories, split on
|
# List of the absolute paths of all unique insecure directories, split on
|
||||||
# newline from compaudit()'s output resembling:
|
# newline from compaudit()'s output resembling:
|
||||||
|
@ -22,39 +18,27 @@ function handle_completion_insecurities() {
|
||||||
insecure_dirs=( ${(f@):-"$(compaudit 2>/dev/null)"} )
|
insecure_dirs=( ${(f@):-"$(compaudit 2>/dev/null)"} )
|
||||||
|
|
||||||
# If no such directories exist, get us out of here.
|
# If no such directories exist, get us out of here.
|
||||||
if (( ! ${#insecure_dirs} )); then
|
(( ! ${#insecure_dirs} )) && return
|
||||||
print "[oh-my-zsh] No insecure completion-dependent directories detected."
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# List ownership and permissions of all insecure directories.
|
# List ownership and permissions of all insecure directories.
|
||||||
print "[oh-my-zsh] Insecure completion-dependent directories detected:"
|
print "[oh-my-zsh] Insecure completion-dependent directories detected:"
|
||||||
ls -ld "${(@)insecure_dirs}"
|
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
|
cat <<EOD
|
||||||
# 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
|
|
||||||
|
|
||||||
# List of the absolute paths of all unique existing completion caches.
|
[oh-my-zsh] For safety, we will not load completions from these directories until
|
||||||
local -aU zcompdump_files
|
[oh-my-zsh] you fix their permissions and ownership and restart zsh.
|
||||||
zcompdump_files=( "${ZSH_COMPDUMP}"(.) "${ZDOTDIR:-${HOME}}"/.zcompdump* )
|
[oh-my-zsh] See the above list for directories with group or other writability.
|
||||||
|
|
||||||
# Move such caches to a temporary directory.
|
[oh-my-zsh] To fix your permissions you can do so by disabling
|
||||||
if (( ${#zcompdump_files} )); then
|
[oh-my-zsh] the write permission of "group" and "others" and making sure that the
|
||||||
# Absolute path of the directory to which such files will be moved.
|
[oh-my-zsh] owner of these directories is either root or your current user.
|
||||||
local ZSH_ZCOMPDUMP_BAD_DIR="${ZSH_CACHE_DIR}/zcompdump-bad"
|
[oh-my-zsh] The following command may help:
|
||||||
|
[oh-my-zsh] compaudit | xargs chmod g-w,o-w
|
||||||
|
|
||||||
# List such files first.
|
[oh-my-zsh] If the above didn't help or you want to skip the verification of
|
||||||
print "[oh-my-zsh] Insecure completion caches also detected:"
|
[oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to
|
||||||
ls -l "${(@)zcompdump_files}"
|
[oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.
|
||||||
|
|
||||||
# For safety, move rather than permanently remove such files.
|
EOD
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,9 @@ else
|
||||||
fi
|
fi
|
||||||
unset CASE_SENSITIVE HYPHEN_INSENSITIVE
|
unset CASE_SENSITIVE HYPHEN_INSENSITIVE
|
||||||
|
|
||||||
|
# Complete . and .. special directories
|
||||||
|
zstyle ':completion:*' special-dirs true
|
||||||
|
|
||||||
zstyle ':completion:*' list-colors ''
|
zstyle ':completion:*' list-colors ''
|
||||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
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
|
if [[ "$ENABLE_CORRECTION" == "true" ]]; then
|
||||||
|
alias cp='nocorrect cp'
|
||||||
alias ebuild='nocorrect ebuild'
|
alias ebuild='nocorrect ebuild'
|
||||||
alias gist='nocorrect gist'
|
alias gist='nocorrect gist'
|
||||||
alias heroku='nocorrect heroku'
|
alias heroku='nocorrect heroku'
|
||||||
|
|
|
@ -28,7 +28,3 @@ alias lsa='ls -lah'
|
||||||
alias l='ls -lah'
|
alias l='ls -lah'
|
||||||
alias ll='ls -lh'
|
alias ll='ls -lh'
|
||||||
alias la='ls -lAh'
|
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() {
|
function take() {
|
||||||
mkdir -p $1
|
mkdir -p $@ && cd ${@:$#}
|
||||||
cd $1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function open_command() {
|
function open_command() {
|
||||||
emulate -L zsh
|
|
||||||
setopt shwordsplit
|
|
||||||
|
|
||||||
local open_cmd
|
local open_cmd
|
||||||
|
|
||||||
# define the open command
|
# define the open command
|
||||||
case "$OSTYPE" in
|
case "$OSTYPE" in
|
||||||
darwin*) open_cmd='open' ;;
|
darwin*) open_cmd='open' ;;
|
||||||
cygwin*) open_cmd='cygstart' ;;
|
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 ""' ;;
|
msys*) open_cmd='start ""' ;;
|
||||||
*) echo "Platform $OSTYPE not supported"
|
*) echo "Platform $OSTYPE not supported"
|
||||||
return 1
|
return 1
|
||||||
|
@ -34,9 +33,9 @@ function open_command() {
|
||||||
|
|
||||||
# don't use nohup on OSX
|
# don't use nohup on OSX
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
$open_cmd "$@" &>/dev/null
|
${=open_cmd} "$@" &>/dev/null
|
||||||
else
|
else
|
||||||
nohup $open_cmd "$@" &>/dev/null
|
nohup ${=open_cmd} "$@" &>/dev/null
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,8 +51,7 @@ function open_command() {
|
||||||
# 1 if it does not exist
|
# 1 if it does not exist
|
||||||
#
|
#
|
||||||
function alias_value() {
|
function alias_value() {
|
||||||
alias "$1" | sed "s/^$1='\(.*\)'$/\1/"
|
(( $+aliases[$1] )) && echo $aliases[$1]
|
||||||
test $(alias "$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
|
# Gets the number of commits ahead from remote
|
||||||
function git_commits_ahead() {
|
function git_commits_ahead() {
|
||||||
if command git rev-parse --git-dir &>/dev/null; then
|
if command git rev-parse --git-dir &>/dev/null; then
|
||||||
local commits="$(git rev-list --count @{upstream}..HEAD)"
|
local commits="$(git rev-list --count @{upstream}..HEAD 2>/dev/null)"
|
||||||
if [[ "$commits" != 0 ]]; then
|
if [[ -n "$commits" && "$commits" != 0 ]]; then
|
||||||
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$commits$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
|
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$commits$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -87,8 +87,8 @@ function git_commits_ahead() {
|
||||||
# Gets the number of commits behind remote
|
# Gets the number of commits behind remote
|
||||||
function git_commits_behind() {
|
function git_commits_behind() {
|
||||||
if command git rev-parse --git-dir &>/dev/null; then
|
if command git rev-parse --git-dir &>/dev/null; then
|
||||||
local commits="$(git rev-list --count HEAD..@{upstream})"
|
local commits="$(git rev-list --count HEAD..@{upstream} 2>/dev/null)"
|
||||||
if [[ "$commits" != 0 ]]; then
|
if [[ -n "$commits" && "$commits" != 0 ]]; then
|
||||||
echo "$ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX$commits$ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX"
|
echo "$ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX$commits$ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -141,11 +141,15 @@ function git_prompt_status() {
|
||||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
||||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^MM ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
fi
|
fi
|
||||||
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
||||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||||
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
|
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
|
||||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
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
|
elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then
|
||||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||||
fi
|
fi
|
||||||
|
@ -181,7 +185,7 @@ function git_prompt_status() {
|
||||||
# Outputs -1, 0, or 1 if the installed version is less than, equal to, or
|
# Outputs -1, 0, or 1 if the installed version is less than, equal to, or
|
||||||
# greater than the input version, respectively.
|
# greater than the input version, respectively.
|
||||||
function git_compare_version() {
|
function git_compare_version() {
|
||||||
local INPUT_GIT_VERSION INSTALLED_GIT_VERSION
|
local INPUT_GIT_VERSION INSTALLED_GIT_VERSION i
|
||||||
INPUT_GIT_VERSION=(${(s/./)1})
|
INPUT_GIT_VERSION=(${(s/./)1})
|
||||||
INSTALLED_GIT_VERSION=($(command git --version 2>/dev/null))
|
INSTALLED_GIT_VERSION=($(command git --version 2>/dev/null))
|
||||||
INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]})
|
INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]})
|
||||||
|
|
|
@ -1,24 +1,40 @@
|
||||||
## Command history configuration
|
## History wrapper
|
||||||
if [ -z "$HISTFILE" ]; then
|
function omz_history {
|
||||||
HISTFILE=$HOME/.zsh_history
|
local clear list
|
||||||
|
zparseopts -E c=clear l=list
|
||||||
|
|
||||||
|
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
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
HISTSIZE=10000
|
# Timestamp format
|
||||||
SAVEHIST=10000
|
|
||||||
|
|
||||||
# Show history
|
|
||||||
case $HIST_STAMPS in
|
case $HIST_STAMPS in
|
||||||
"mm/dd/yyyy") alias history='fc -fl 1' ;;
|
"mm/dd/yyyy") alias history='omz_history -f' ;;
|
||||||
"dd.mm.yyyy") alias history='fc -El 1' ;;
|
"dd.mm.yyyy") alias history='omz_history -E' ;;
|
||||||
"yyyy-mm-dd") alias history='fc -il 1' ;;
|
"yyyy-mm-dd") alias history='omz_history -i' ;;
|
||||||
*) alias history='fc -l 1' ;;
|
"") alias history='omz_history' ;;
|
||||||
|
*) alias history="omz_history -t '$HIST_STAMPS'" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
setopt append_history
|
## History file configuration
|
||||||
setopt extended_history
|
[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history"
|
||||||
setopt hist_expire_dups_first
|
HISTSIZE=50000
|
||||||
setopt hist_ignore_dups # ignore duplication command history list
|
SAVEHIST=10000
|
||||||
setopt hist_ignore_space
|
|
||||||
setopt hist_verify
|
## History command configuration
|
||||||
setopt inc_append_history
|
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
|
setopt share_history # share command history data
|
||||||
|
|
|
@ -18,9 +18,8 @@ fi
|
||||||
## jobs
|
## jobs
|
||||||
setopt long_list_jobs
|
setopt long_list_jobs
|
||||||
|
|
||||||
## pager
|
env_default 'PAGER' 'less'
|
||||||
env_default PAGER 'less'
|
env_default 'LESS' '-R'
|
||||||
env_default LESS '-R'
|
|
||||||
|
|
||||||
## super user alias
|
## super user alias
|
||||||
alias _='sudo'
|
alias _='sudo'
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
# Real implementations will be used when the respective plugins are loaded
|
# Real implementations will be used when the respective plugins are loaded
|
||||||
function chruby_prompt_info hg_prompt_info pyenv_prompt_info \
|
function chruby_prompt_info hg_prompt_info pyenv_prompt_info \
|
||||||
rbenv_prompt_info svn_prompt_info vi_mode_prompt_info \
|
rbenv_prompt_info svn_prompt_info vi_mode_prompt_info \
|
||||||
virtualenv_prompt_info {
|
virtualenv_prompt_info jenv_prompt_info {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/zsh
|
#! /bin/zsh
|
||||||
# A script to make using 256 colors in zsh less painful.
|
# A script to make using 256 colors in zsh less painful.
|
||||||
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
# 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
|
typeset -AHg FX FG BG
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ preexec_functions+=(omz_termsupport_preexec)
|
||||||
|
|
||||||
|
|
||||||
# Keep Apple Terminal.app's current working directory updated
|
# 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
|
# With extra fixes to handle multibyte chars and non-UTF-8 locales
|
||||||
|
|
||||||
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then
|
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...
|
# Check for updates on initial load...
|
||||||
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
|
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
|
fi
|
||||||
|
|
||||||
# Initializes Oh My Zsh
|
# Initializes Oh My Zsh
|
||||||
|
@ -11,20 +22,12 @@ fpath=($ZSH/functions $ZSH/completions $fpath)
|
||||||
# Load all stock functions (from $fpath files) called below.
|
# Load all stock functions (from $fpath files) called below.
|
||||||
autoload -U compaudit compinit
|
autoload -U compaudit compinit
|
||||||
|
|
||||||
: ${ZSH_DISABLE_COMPFIX:=true}
|
|
||||||
|
|
||||||
# Set ZSH_CUSTOM to the path where your custom config files
|
# Set ZSH_CUSTOM to the path where your custom config files
|
||||||
# and plugins exists, or else we will use the default custom/
|
# and plugins exists, or else we will use the default custom/
|
||||||
if [[ -z "$ZSH_CUSTOM" ]]; then
|
if [[ -z "$ZSH_CUSTOM" ]]; then
|
||||||
ZSH_CUSTOM="$ZSH/custom"
|
ZSH_CUSTOM="$ZSH/custom"
|
||||||
fi
|
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
|
# 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
|
# TIP: Add files you don't want in git to .gitignore
|
||||||
|
@ -65,16 +68,15 @@ if [ -z "$ZSH_COMPDUMP" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $ZSH_DISABLE_COMPFIX != true ]]; then
|
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
|
if ! compaudit &>/dev/null; then
|
||||||
# This function resides in the "lib/compfix.zsh" script sourced above.
|
|
||||||
handle_completion_insecurities
|
handle_completion_insecurities
|
||||||
# Else, enable and cache completions to the desired file.
|
|
||||||
else
|
|
||||||
compinit -d "${ZSH_COMPDUMP}"
|
|
||||||
fi
|
fi
|
||||||
else
|
# Load only from secure directories
|
||||||
compinit -i -d "${ZSH_COMPDUMP}"
|
compinit -i -d "${ZSH_COMPDUMP}"
|
||||||
|
else
|
||||||
|
# If the user wants it, load from all found directories
|
||||||
|
compinit -u -d "${ZSH_COMPDUMP}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Load all of the plugins that were defined in ~/.zshrc
|
# Load all of the plugins that were defined in ~/.zshrc
|
||||||
|
|
|
@ -48,8 +48,8 @@ _arguments \
|
||||||
|
|
||||||
case "$state" in
|
case "$state" in
|
||||||
specify_device)
|
specify_device)
|
||||||
_values 'devices' $(adb devices -l|awk 'NR>1&& $1 ~ /^[a-zA-Z0-9].*$/ \
|
_values -C 'devices' ${$(adb devices -l|awk 'NR>1&& $1 \
|
||||||
{printf "%s[%s] ",$1,$6 }')
|
{sub(/ +/," ",$0);gsub(":","\\:",$1); printf "%s[%s] ",$1, $NF}'):-""}
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
## 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
|
#### YAOURT
|
||||||
|
|
||||||
| Alias | Command | Description |
|
| Alias | Command | Description |
|
||||||
|
@ -27,7 +72,7 @@
|
||||||
| yasu | yaourt -Syua --no-confirm | Same as `yaupg`, but without confirmation |
|
| yasu | yaourt -Syua --no-confirm | Same as `yaupg`, but without confirmation |
|
||||||
| upgrade | yaourt -Syu | Sync with repositories before upgrading packages |
|
| upgrade | yaourt -Syu | Sync with repositories before upgrading packages |
|
||||||
|
|
||||||
### PACAUR
|
#### PACAUR
|
||||||
|
|
||||||
| Alias | Command | Description |
|
| Alias | Command | Description |
|
||||||
|---------|------------------------------------|---------------------------------------------------------------------|
|
|---------|------------------------------------|---------------------------------------------------------------------|
|
||||||
|
@ -74,7 +119,9 @@
|
||||||
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages |
|
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages |
|
||||||
| upgrade | 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 |
|
| 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 |
|
| Function | Description |
|
||||||
|----------------|------------------------------------------------------|
|
|----------------|------------------------------------------------------|
|
||||||
|
@ -82,6 +129,7 @@
|
||||||
| paclist | List all installed packages with a short description |
|
| paclist | List all installed packages with a short description |
|
||||||
| pacmanallkeys | Get all keys for developers and trusted users |
|
| pacmanallkeys | Get all keys for developers and trusted users |
|
||||||
| pacmansignkeys | Locally trust all keys passed as parameters |
|
| 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
|
- ornicar - thibault.duplessis@gmail.com
|
||||||
- Juraj Fiala - doctorjellyface@riseup.net
|
- Juraj Fiala - doctorjellyface@riseup.net
|
||||||
- Majora320 (Moses Miller) - Majora320@gmail.com
|
- 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
|
if (( $+commands[yaourt] )); then
|
||||||
alias yaconf='yaourt -C'
|
alias yaconf='yaourt -C'
|
||||||
alias yaupg='yaourt -Syua'
|
alias yaupg='yaourt -Syua'
|
||||||
|
@ -27,6 +56,35 @@ if (( $+commands[yaourt] )); then
|
||||||
fi
|
fi
|
||||||
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
|
if (( $+commands[pacaur] )); then
|
||||||
alias paupg='pacaur -Syu'
|
alias paupg='pacaur -Syu'
|
||||||
alias pasu='pacaur -Syu --noconfirm'
|
alias pasu='pacaur -Syu --noconfirm'
|
||||||
|
@ -54,16 +112,24 @@ if (( $+commands[pacaur] )); then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $+commands[pacaur] )); then
|
if (( $+commands[trizen] )); then
|
||||||
upgrade() {
|
function upgrade() {
|
||||||
|
trizen -Syu
|
||||||
|
}
|
||||||
|
elif (( $+commands[pacaur] )); then
|
||||||
|
function upgrade() {
|
||||||
pacaur -Syu
|
pacaur -Syu
|
||||||
}
|
}
|
||||||
elif (( $+commands[yaourt] )); then
|
elif (( $+commands[yaourt] )); then
|
||||||
upgrade() {
|
function upgrade() {
|
||||||
yaourt -Syu
|
yaourt -Syu
|
||||||
}
|
}
|
||||||
|
elif (( $+commands[yay] )); then
|
||||||
|
function upgrade() {
|
||||||
|
yay -Syu
|
||||||
|
}
|
||||||
else
|
else
|
||||||
upgrade() {
|
function upgrade() {
|
||||||
sudo pacman -Syu
|
sudo pacman -Syu
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
@ -83,7 +149,9 @@ alias pacmir='sudo pacman -Syy'
|
||||||
alias paclsorphans='sudo pacman -Qdt'
|
alias paclsorphans='sudo pacman -Qdt'
|
||||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||||
alias pacfileupg='sudo pacman -Fy'
|
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
|
if (( $+commands[abs] && $+commands[aur] )); then
|
||||||
|
@ -96,13 +164,13 @@ else
|
||||||
alias pacupd='sudo pacman -Sy'
|
alias pacupd='sudo pacman -Sy'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
paclist() {
|
function paclist() {
|
||||||
# Source: https://bbs.archlinux.org/viewtopic.php?id=93683
|
# Source: https://bbs.archlinux.org/viewtopic.php?id=93683
|
||||||
LC_ALL=C pacman -Qei $(pacman -Qu | cut -d " " -f 1) | \
|
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}'
|
awk 'BEGIN {FS=":"} /^Name/{printf("\033[1;36m%s\033[1;37m", $2)} /^Description/{print $2}'
|
||||||
}
|
}
|
||||||
|
|
||||||
pacdisowned() {
|
function pacdisowned() {
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
|
|
||||||
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
|
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
|
||||||
|
@ -120,14 +188,14 @@ pacdisowned() {
|
||||||
comm -23 "$fs" "$db"
|
comm -23 "$fs" "$db"
|
||||||
}
|
}
|
||||||
|
|
||||||
pacmanallkeys() {
|
function pacmanallkeys() {
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
curl -s https://www.archlinux.org/people/{developers,trustedusers}/ | \
|
curl -s https://www.archlinux.org/people/{developers,trustedusers}/ | \
|
||||||
awk -F\" '(/pgp.mit.edu/) { sub(/.*search=0x/,""); print $1}' | \
|
awk -F\" '(/pgp.mit.edu/) { sub(/.*search=0x/,""); print $1}' | \
|
||||||
xargs sudo pacman-key --recv-keys
|
xargs sudo pacman-key --recv-keys
|
||||||
}
|
}
|
||||||
|
|
||||||
pacmansignkeys() {
|
function pacmansignkeys() {
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
for key in $*; do
|
for key in $*; do
|
||||||
sudo pacman-key --recv-keys $key
|
sudo pacman-key --recv-keys $key
|
||||||
|
@ -136,3 +204,16 @@ pacmansignkeys() {
|
||||||
--no-permission-warning --command-fd 0 --edit-key $key
|
--no-permission-warning --command-fd 0 --edit-key $key
|
||||||
done
|
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}"
|
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
|
||||||
|
|
||||||
# Load asdf, if found.
|
# If not found, check for Homebrew package
|
||||||
if [ -f $ASDF_DIR/asdf.sh ]; then
|
if [[ ! -d $ASDF_DIR ]] && (( $+commands[brew] )); then
|
||||||
. $ASDF_DIR/asdf.sh
|
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
|
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
|
. /etc/profile.d/autojump.sh
|
||||||
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation
|
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation
|
||||||
. /usr/local/share/autojump/autojump.zsh
|
. /usr/local/share/autojump/autojump.zsh
|
||||||
elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports
|
elif [ -f /opt/local/etc/profile.d/autojump.sh ]; then # mac os x with ports
|
||||||
. /opt/local/etc/profile.d/autojump.zsh
|
. /opt/local/etc/profile.d/autojump.sh
|
||||||
elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.sh ]; then # mac os x with brew
|
elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.sh ]; then # mac os x with brew
|
||||||
. `brew --prefix`/etc/autojump.sh
|
. `brew --prefix`/etc/autojump.sh
|
||||||
fi
|
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
|
[ -r $_brew_prefix/libexec/bin/aws_zsh_completer.sh ] &> /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
export AWS_HOME=~/.aws
|
|
||||||
|
|
||||||
function agp {
|
function agp {
|
||||||
echo $AWS_DEFAULT_PROFILE
|
echo $AWS_PROFILE
|
||||||
}
|
}
|
||||||
|
|
||||||
function asp {
|
function asp {
|
||||||
|
@ -33,20 +31,19 @@ function asp {
|
||||||
export AWS_DEFAULT_PROFILE=$1
|
export AWS_DEFAULT_PROFILE=$1
|
||||||
export AWS_PROFILE=$1
|
export AWS_PROFILE=$1
|
||||||
|
|
||||||
export RPROMPT="<aws:$AWS_DEFAULT_PROFILE>$rprompt"
|
export RPROMPT="<aws:$AWS_PROFILE>$rprompt"
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_profiles {
|
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
|
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
|
_aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh
|
||||||
else
|
|
||||||
_aws_zsh_completer_path=$(which aws_zsh_completer.sh)
|
|
||||||
fi
|
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
|
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
|
### Requirements
|
||||||
|
|
||||||
* [BBEdit](http://www.barebones.com/products/bbedit/)
|
* [BBEdit](https://www.barebones.com/products/bbedit/)
|
||||||
* [BBEdit Command-Line Tools](http://www.barebones.com/support/bbedit/cmd-line-tools.html)
|
* [BBEdit Command-Line Tools](https://www.barebones.com/support/bbedit/cmd-line-tools.html)
|
||||||
|
|
||||||
### Usage
|
### 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`
|
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`)
|
* `brew install terminal-notifier` (or `gem install terminal-notifier`)
|
||||||
- On ubuntu you're already all set!
|
- 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
|
## 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!
|
elif hash notify-send 2>/dev/null; then #ubuntu gnome!
|
||||||
notify-send "$1" "$2"
|
notify-send "$1" "$2"
|
||||||
elif hash kdialog 2>/dev/null; then #ubuntu kde!
|
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!
|
elif hash notifu 2>/dev/null; then #cygwyn support!
|
||||||
notifu /m "$2" /p "$1"
|
notifu /m "$2" /p "$1"
|
||||||
fi
|
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 brews='brew list -1'
|
||||||
|
alias brewsp='brew list --pinned'
|
||||||
alias bubo='brew update && brew outdated'
|
alias bubo='brew update && brew outdated'
|
||||||
alias bubc='brew upgrade && brew cleanup'
|
alias bubc='brew upgrade && brew cleanup'
|
||||||
alias bubu='bubo && bubc'
|
alias bubu='bubo && bubc'
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
- adds completion for basic bundler commands
|
- adds completion for basic bundler commands
|
||||||
- adds short aliases for common 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`
|
- `bl` aliased to `bundle list`
|
||||||
- `bp` aliased to `bundle package`
|
- `bp` aliased to `bundle package`
|
||||||
- `bo` aliased to `bundle open`
|
- `bo` aliased to `bundle open`
|
||||||
|
@ -13,7 +14,8 @@
|
||||||
- looks for a binstub under `./bin/` and executes it (if present)
|
- looks for a binstub under `./bin/` and executes it (if present)
|
||||||
- calls `bundle exec <gem executable>` otherwise
|
- 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
|
## Configuration
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ bundled_commands=(
|
||||||
cucumber
|
cucumber
|
||||||
foodcritic
|
foodcritic
|
||||||
guard
|
guard
|
||||||
|
hanami
|
||||||
irb
|
irb
|
||||||
jekyll
|
jekyll
|
||||||
kitchen
|
kitchen
|
||||||
|
@ -53,10 +54,14 @@ done
|
||||||
## Functions
|
## Functions
|
||||||
|
|
||||||
bundle_install() {
|
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`
|
local bundler_version=`bundle version | cut -d' ' -f3`
|
||||||
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
|
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
|
||||||
if [[ "$OSTYPE" = darwin* ]]
|
if [[ "$OSTYPE" = (darwin|freebsd)* ]]
|
||||||
then
|
then
|
||||||
local cores_num="$(sysctl -n hw.ncpu)"
|
local cores_num="$(sysctl -n hw.ncpu)"
|
||||||
else
|
else
|
||||||
|
@ -66,8 +71,6 @@ bundle_install() {
|
||||||
else
|
else
|
||||||
bundle install $@
|
bundle install $@
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo "Can't 'bundle install' outside a bundled project"
|
|
||||||
fi
|
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 ]] ||
|
if [[ -e /Applications/Bwana.app ]] ||
|
||||||
( system_profiler -detailLevel mini SPApplicationsDataType | grep -q Bwana )
|
( system_profiler -detailLevel mini SPApplicationsDataType | grep -q Bwana )
|
||||||
|
@ -9,5 +9,5 @@ then
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
echo "Bwana lets you read man files in Safari through a man: URI scheme"
|
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
|
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
|
# http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module
|
||||||
|
|
||||||
func capit() {
|
function capit() {
|
||||||
if [ -f Gemfile ]
|
if [ -f Gemfile ]
|
||||||
then
|
then
|
||||||
bundle exec cap $*
|
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 #
|
# 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 #
|
# Ouput the content of an image to the stdout using the 256 colors of the #
|
||||||
# terminal. #
|
# 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 #
|
# 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 #
|
# Ouput the content of an image to the stdout using the 256 colors of the #
|
||||||
# terminal. #
|
# 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
|
# 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
|
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
|
#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.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
# Description
|
# Description
|
||||||
# -----------
|
# -----------
|
||||||
#
|
#
|
||||||
# Completion script for Coffee.js v0.6.11 (http://coffeejs.org)
|
# Completion script for Coffee.js v0.6.11 (https://coffeescript.org)
|
||||||
#
|
#
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Authors
|
# 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
|
# easier alias to use the plugin
|
||||||
# Plugin highlights file content based on the filename extension.
|
alias ccat='colorize_via_pygmentize'
|
||||||
# If no highlighting method supported for given extension then it tries
|
|
||||||
# guess it by looking for file content.
|
|
||||||
|
|
||||||
alias colorize='colorize_via_pygmentize'
|
|
||||||
|
|
||||||
colorize_via_pygmentize() {
|
colorize_via_pygmentize() {
|
||||||
if [ ! -x "$(which pygmentize)" ]; then
|
if ! (( $+commands[pygmentize] )); then
|
||||||
echo "package \'pygmentize\' is not installed!"
|
echo "package 'Pygments' is not installed!"
|
||||||
return -1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# pygmentize stdin if no arguments passed
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
pygmentize -g $@
|
pygmentize -g
|
||||||
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# guess lexer from file extension, or
|
||||||
|
# guess it from file contents if unsuccessful
|
||||||
|
local FNAME lexer
|
||||||
for FNAME in $@
|
for FNAME in $@
|
||||||
do
|
do
|
||||||
filename=$(basename "$FNAME")
|
lexer=$(pygmentize -N "$FNAME")
|
||||||
lexer=`pygmentize -N \"$filename\"`
|
if [[ $lexer != text ]]; then
|
||||||
if [ "Z$lexer" != "Ztext" ]; then
|
pygmentize -l "$lexer" "$FNAME"
|
||||||
pygmentize -l $lexer "$FNAME"
|
|
||||||
else
|
else
|
||||||
pygmentize -g "$FNAME"
|
pygmentize -g "$FNAME"
|
||||||
fi
|
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
|
# 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
|
# this is installed in Ubuntu
|
||||||
|
|
||||||
[[ -e /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found
|
[[ -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 lart='ls -1Fcart'
|
||||||
alias lrt='ls -1Fcrt'
|
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 grep='grep --color'
|
||||||
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} '
|
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 sortnr='sort -n -r'
|
||||||
alias unexport='unset'
|
alias unexport='unset'
|
||||||
|
|
||||||
alias whereami=display_info
|
|
||||||
|
|
||||||
alias rm='rm -i'
|
alias rm='rm -i'
|
||||||
alias cp='cp -i'
|
alias cp='cp -i'
|
||||||
alias mv='mv -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
|
# install composer in the current directory
|
||||||
alias cget='curl -s https://getcomposer.org/installer | php'
|
alias cget='curl -s https://getcomposer.org/installer | php'
|
||||||
|
|
||||||
# Add Composer's global binaries to PATH
|
# 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)
|
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)
|
# 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"
|
local arguments curcontext="$curcontext"
|
||||||
typeset -A opt_args
|
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
|
# 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.
|
# 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_pref='aptitude'
|
||||||
apt_upgr='safe-upgrade'
|
apt_upgr='safe-upgrade'
|
||||||
else
|
else
|
||||||
|
@ -176,7 +179,7 @@ apt-copy() {
|
||||||
# apt-history remove
|
# apt-history remove
|
||||||
# apt-history rollback
|
# apt-history rollback
|
||||||
# apt-history list
|
# 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 () {
|
apt-history () {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install)
|
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
|
# pushd -N: start counting from right of `dirs' output
|
||||||
|
|
||||||
switch-to-dir () {
|
switch-to-dir () {
|
||||||
[[ ${#dirstack} -eq 0 ]] && return
|
setopt localoptions nopushdminus
|
||||||
|
[[ ${#dirstack} -eq 0 ]] && return 1
|
||||||
|
|
||||||
while ! builtin pushd -q $1 &>/dev/null; do
|
while ! builtin pushd -q $1 &>/dev/null; do
|
||||||
# We found a missing directory: pop it out of the dir stack
|
# We found a missing directory: pop it out of the dir stack
|
||||||
builtin popd -q $1
|
builtin popd -q $1
|
||||||
|
|
||||||
# Stop trying if there are no more directories in the dir stack
|
# Stop trying if there are no more directories in the dir stack
|
||||||
[[ ${#dirstack} -eq 0 ]] && break
|
[[ ${#dirstack} -eq 0 ]] && return 1
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
insert-cycledleft () {
|
insert-cycledleft () {
|
||||||
emulate -L zsh
|
switch-to-dir +1 || return
|
||||||
setopt nopushdminus
|
|
||||||
|
|
||||||
switch-to-dir +1
|
local fn
|
||||||
|
for fn (chpwd $chpwd_functions precmd $precmd_functions); do
|
||||||
|
(( $+functions[$fn] )) && $fn
|
||||||
|
done
|
||||||
zle reset-prompt
|
zle reset-prompt
|
||||||
}
|
}
|
||||||
zle -N insert-cycledleft
|
zle -N insert-cycledleft
|
||||||
|
|
||||||
insert-cycledright () {
|
insert-cycledright () {
|
||||||
emulate -L zsh
|
switch-to-dir -0 || return
|
||||||
setopt nopushdminus
|
|
||||||
|
|
||||||
switch-to-dir -0
|
local fn
|
||||||
|
for fn (chpwd $chpwd_functions precmd $precmd_functions); do
|
||||||
|
(( $+functions[$fn] )) && $fn
|
||||||
|
done
|
||||||
zle reset-prompt
|
zle reset-prompt
|
||||||
}
|
}
|
||||||
zle -N insert-cycledright
|
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
|
# 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.
|
# 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_past=($PWD)
|
||||||
dirhistory_future=()
|
dirhistory_future=()
|
||||||
|
@ -119,6 +123,10 @@ zle -N dirhistory_zle_dirhistory_back
|
||||||
# xterm in normal mode
|
# xterm in normal mode
|
||||||
bindkey "\e[3D" dirhistory_zle_dirhistory_back
|
bindkey "\e[3D" dirhistory_zle_dirhistory_back
|
||||||
bindkey "\e[1;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:
|
# Putty:
|
||||||
bindkey "\e\e[D" dirhistory_zle_dirhistory_back
|
bindkey "\e\e[D" dirhistory_zle_dirhistory_back
|
||||||
# GNU screen:
|
# GNU screen:
|
||||||
|
@ -127,7 +135,56 @@ bindkey "\eO3D" dirhistory_zle_dirhistory_back
|
||||||
zle -N dirhistory_zle_dirhistory_future
|
zle -N dirhistory_zle_dirhistory_future
|
||||||
bindkey "\e[3C" dirhistory_zle_dirhistory_future
|
bindkey "\e[3C" dirhistory_zle_dirhistory_future
|
||||||
bindkey "\e[1;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 "\e\e[C" dirhistory_zle_dirhistory_future
|
||||||
bindkey "\eO3C" 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,'
|
'runfcgi:Run this project as a fastcgi (or some other protocol supported by flup) application,'
|
||||||
'runserver:Starts a lightweight Web server for development.'
|
'runserver:Starts a lightweight Web server for development.'
|
||||||
'shell:Runs a Python interactive interpreter.'
|
'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).'
|
'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).'
|
'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).'
|
'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
|
# Description
|
||||||
# -----------
|
# -----------
|
||||||
# zsh completion for docker-compose
|
# zsh completion for docker-compose
|
||||||
# https://github.com/sdurrheimer/docker-compose-zsh-completion
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
# Version
|
|
||||||
# -------
|
|
||||||
# 1.5.0
|
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
# Authors
|
# Authors
|
||||||
# -------
|
# -------
|
||||||
|
@ -199,7 +194,9 @@ __docker-compose_subcommand() {
|
||||||
(build)
|
(build)
|
||||||
_arguments \
|
_arguments \
|
||||||
$opts_help \
|
$opts_help \
|
||||||
|
"*--build-arg=[Set build-time variables for one service.]:<varname>=<value>: " \
|
||||||
'--force-rm[Always remove intermediate containers.]' \
|
'--force-rm[Always remove intermediate containers.]' \
|
||||||
|
'--memory[Memory limit for the build container.]' \
|
||||||
'--no-cache[Do not use cache when building the image.]' \
|
'--no-cache[Do not use cache when building the image.]' \
|
||||||
'--pull[Always attempt to pull a newer version of the image.]' \
|
'--pull[Always attempt to pull a newer version of the image.]' \
|
||||||
'*:services:__docker-compose_services_from_build' && ret=0
|
'*:services:__docker-compose_services_from_build' && ret=0
|
||||||
|
@ -207,13 +204,16 @@ __docker-compose_subcommand() {
|
||||||
(bundle)
|
(bundle)
|
||||||
_arguments \
|
_arguments \
|
||||||
$opts_help \
|
$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
|
'(--output -o)'{--output,-o}'[Path to write the bundle file to. Defaults to "<project name>.dab".]:file:_files' && ret=0
|
||||||
;;
|
;;
|
||||||
(config)
|
(config)
|
||||||
_arguments \
|
_arguments \
|
||||||
$opts_help \
|
$opts_help \
|
||||||
'(--quiet -q)'{--quiet,-q}"[Only validate the configuration, don't print anything.]" \
|
'(--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)
|
(create)
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -242,7 +242,7 @@ __docker-compose_subcommand() {
|
||||||
$opts_help \
|
$opts_help \
|
||||||
'-d[Detached mode: Run command in the background.]' \
|
'-d[Detached mode: Run command in the background.]' \
|
||||||
'--privileged[Give extended privileges to the process.]' \
|
'--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.]' \
|
'-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: ' \
|
'--index=[Index of the container if there are multiple instances of a service \[default: 1\]]:index: ' \
|
||||||
'(-):running services:__docker-compose_runningservices' \
|
'(-):running services:__docker-compose_runningservices' \
|
||||||
|
@ -252,6 +252,12 @@ __docker-compose_subcommand() {
|
||||||
(help)
|
(help)
|
||||||
_arguments ':subcommand:__docker-compose_commands' && ret=0
|
_arguments ':subcommand:__docker-compose_commands' && ret=0
|
||||||
;;
|
;;
|
||||||
|
(images)
|
||||||
|
_arguments \
|
||||||
|
$opts_help \
|
||||||
|
'-q[Only display IDs]' \
|
||||||
|
'*:services:__docker-compose_services_all' && ret=0
|
||||||
|
;;
|
||||||
(kill)
|
(kill)
|
||||||
_arguments \
|
_arguments \
|
||||||
$opts_help \
|
$opts_help \
|
||||||
|
@ -308,16 +314,17 @@ __docker-compose_subcommand() {
|
||||||
(run)
|
(run)
|
||||||
_arguments \
|
_arguments \
|
||||||
$opts_help \
|
$opts_help \
|
||||||
|
$opts_no_deps \
|
||||||
'-d[Detached mode: Run container in the background, print new container name.]' \
|
'-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: ' \
|
'*-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: ' \
|
'--entrypoint[Overwrite the entrypoint of the image.]:entry point: ' \
|
||||||
'--name=[Assign a name to the container]:name: ' \
|
'--name=[Assign a name to the container]:name: ' \
|
||||||
$opts_no_deps \
|
|
||||||
'(-p --publish)'{-p,--publish=}"[Publish a container's port(s) to the host]" \
|
'(-p --publish)'{-p,--publish=}"[Publish a container's port(s) to the host]" \
|
||||||
'--rm[Remove container after run. Ignored in detached mode.]' \
|
'--rm[Remove container after run. Ignored in detached mode.]' \
|
||||||
"--service-ports[Run command with the service's ports enabled and mapped to the host.]" \
|
"--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.]' \
|
'-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' \
|
'(-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: ' \
|
'(-w --workdir)'{-w,--workdir=}'[Working directory inside the container]:workdir: ' \
|
||||||
'(-):services:__docker-compose_services' \
|
'(-):services:__docker-compose_services' \
|
||||||
'(-):command: _command_names -e' \
|
'(-):command: _command_names -e' \
|
||||||
|
@ -340,6 +347,11 @@ __docker-compose_subcommand() {
|
||||||
$opts_timeout \
|
$opts_timeout \
|
||||||
'*:running services:__docker-compose_runningservices' && ret=0
|
'*:running services:__docker-compose_runningservices' && ret=0
|
||||||
;;
|
;;
|
||||||
|
(top)
|
||||||
|
_arguments \
|
||||||
|
$opts_help \
|
||||||
|
'*:running services:__docker-compose_runningservices' && ret=0
|
||||||
|
;;
|
||||||
(unpause)
|
(unpause)
|
||||||
_arguments \
|
_arguments \
|
||||||
$opts_help \
|
$opts_help \
|
||||||
|
@ -385,9 +397,17 @@ _docker-compose() {
|
||||||
integer ret=1
|
integer ret=1
|
||||||
typeset -A opt_args
|
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 \
|
_arguments -C \
|
||||||
'(- :)'{-h,--help}'[Get help]' \
|
'(- :)'{-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:' \
|
'(-p --project-name)'{-p,--project-name}'[Specify an alternate project name (default: directory name)]:project name:' \
|
||||||
'--verbose[Show more output]' \
|
'--verbose[Show more output]' \
|
||||||
'(- :)'{-v,--version}'[Print version and exit]' \
|
'(- :)'{-v,--version}'[Print version and exit]' \
|
||||||
|
|
|
@ -18,6 +18,9 @@ alias dcrm='docker-compose rm'
|
||||||
alias dcr='docker-compose run'
|
alias dcr='docker-compose run'
|
||||||
alias dcstop='docker-compose stop'
|
alias dcstop='docker-compose stop'
|
||||||
alias dcup='docker-compose up'
|
alias dcup='docker-compose up'
|
||||||
|
alias dcupd='docker-compose up -d'
|
||||||
alias dcdn='docker-compose down'
|
alias dcdn='docker-compose down'
|
||||||
alias dcl='docker-compose logs'
|
alias dcl='docker-compose logs'
|
||||||
alias dclf='docker-compose logs -f'
|
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
|
#compdef docker dockerd
|
||||||
#
|
#
|
||||||
# zsh completion for docker (http://docker.com)
|
# zsh completion for docker (https://docker.com)
|
||||||
#
|
#
|
||||||
# version: 0.3.0
|
# version: 0.3.0
|
||||||
# github: https://github.com/felixr/docker-zsh-completion
|
# github: https://github.com/felixr/docker-zsh-completion
|
||||||
|
@ -226,7 +226,7 @@ __docker_get_log_options() {
|
||||||
common_options=("max-buffer-size" "mode")
|
common_options=("max-buffer-size" "mode")
|
||||||
common_options2=("env" "env-regex" "labels")
|
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")
|
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")
|
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")
|
gelf_options=($common_options $common_options2 "gelf-address" "gelf-compression-level" "gelf-compression-type" "tag")
|
||||||
journald_options=($common_options $common_options2 "tag")
|
journald_options=($common_options $common_options2 "tag")
|
||||||
|
@ -431,7 +431,7 @@ __docker_complete_events_filter() {
|
||||||
integer ret=1
|
integer ret=1
|
||||||
declare -a opts
|
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
|
if compset -P '*='; then
|
||||||
case "${${words[-1]%=*}#*=}" in
|
case "${${words[-1]%=*}#*=}" in
|
||||||
|
@ -450,9 +450,9 @@ __docker_complete_events_filter() {
|
||||||
;;
|
;;
|
||||||
(event)
|
(event)
|
||||||
local -a event_opts
|
local -a event_opts
|
||||||
event_opts=('attach' 'commit' 'connect' 'copy' 'create' 'delete' 'destroy' 'detach' 'die' 'disconnect' 'exec_create' 'exec_detach'
|
event_opts=('attach' 'commit' 'connect' 'copy' 'create' 'delete' 'destroy' 'detach' 'die' 'disable' 'disconnect' 'enable' 'exec_create' 'exec_detach'
|
||||||
'exec_start' 'export' 'health_status' 'import' 'kill' 'load' 'mount' 'oom' 'pause' 'pull' 'push' 'reload' 'rename' 'resize' 'restart' 'save' 'start'
|
'exec_start' 'export' 'health_status' 'import' 'install' 'kill' 'load' 'mount' 'oom' 'pause' 'pull' 'push' 'reload' 'remove' 'rename' 'resize'
|
||||||
'stop' 'tag' 'top' 'unmount' 'unpause' 'untag' 'update')
|
'restart' 'save' 'start' 'stop' 'tag' 'top' 'unmount' 'unpause' 'untag' 'update')
|
||||||
_describe -t event-filter-opts "event filter options" event_opts && ret=0
|
_describe -t event-filter-opts "event filter options" event_opts && ret=0
|
||||||
;;
|
;;
|
||||||
(image)
|
(image)
|
||||||
|
@ -461,6 +461,11 @@ __docker_complete_events_filter() {
|
||||||
(network)
|
(network)
|
||||||
__docker_complete_networks && ret=0
|
__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)
|
(type)
|
||||||
local -a type_opts
|
local -a type_opts
|
||||||
type_opts=('container' 'daemon' 'image' 'network' 'volume')
|
type_opts=('container' 'daemon' 'image' 'network' 'volume')
|
||||||
|
@ -745,6 +750,7 @@ __docker_container_subcommand() {
|
||||||
"($help)--privileged[Give extended Linux capabilities to the command]" \
|
"($help)--privileged[Give extended Linux capabilities to the command]" \
|
||||||
"($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \
|
"($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \
|
||||||
"($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" \
|
"($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 -):containers:__docker_complete_running_containers" \
|
||||||
"($help -)*::command:->anycommand" && ret=0
|
"($help -)*::command:->anycommand" && ret=0
|
||||||
case $state in
|
case $state in
|
||||||
|
@ -888,7 +894,7 @@ __docker_container_subcommand() {
|
||||||
$opts_help \
|
$opts_help \
|
||||||
$opts_attach_exec_run_start \
|
$opts_attach_exec_run_start \
|
||||||
"($help -a --attach)"{-a,--attach}"[Attach container's stdout/stderr and forward all signals]" \
|
"($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
|
"($help -)*:containers:__docker_complete_stopped_containers" && ret=0
|
||||||
;;
|
;;
|
||||||
(stats)
|
(stats)
|
||||||
|
@ -922,7 +928,7 @@ __docker_container_subcommand() {
|
||||||
local state
|
local state
|
||||||
_arguments $(__docker_arguments) \
|
_arguments $(__docker_arguments) \
|
||||||
$opts_help \
|
$opts_help \
|
||||||
opts_create_run_update \
|
$opts_create_run_update \
|
||||||
"($help -)*: :->values" && ret=0
|
"($help -)*: :->values" && ret=0
|
||||||
case $state in
|
case $state in
|
||||||
(values)
|
(values)
|
||||||
|
@ -1393,7 +1399,7 @@ __docker_nodes() {
|
||||||
# Names
|
# Names
|
||||||
if [[ $type = (names|all) ]]; then
|
if [[ $type = (names|all) ]]; then
|
||||||
for line in $lines; do
|
for line in $lines; do
|
||||||
s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
|
s="${line[${begin[HOSTNAME]},${end[HOSTNAME]}]%% ##}"
|
||||||
nodes=($nodes $s)
|
nodes=($nodes $s)
|
||||||
done
|
done
|
||||||
fi
|
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-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)--health-timeout=[Maximum time to allow one check to run]:time: "
|
||||||
"($help)--hostname=[Service container hostname]:hostname: " \
|
"($help)--hostname=[Service container hostname]:hostname: " \
|
||||||
|
"($help)--isolation=[Service container isolation mode]:isolation:(default process hyperv)" \
|
||||||
"($help)*--label=[Service labels]:label: "
|
"($help)*--label=[Service labels]:label: "
|
||||||
"($help)--limit-cpu=[Limit CPUs]:value: "
|
"($help)--limit-cpu=[Limit CPUs]:value: "
|
||||||
"($help)--limit-memory=[Limit Memory]:value: "
|
"($help)--limit-memory=[Limit Memory]:value: "
|
||||||
|
@ -2168,9 +2175,9 @@ __docker_stacks() {
|
||||||
end[${header[$i,$((j-1))]}]=-1
|
end[${header[$i,$((j-1))]}]=-1
|
||||||
lines=(${lines[2,-1]})
|
lines=(${lines[2,-1]})
|
||||||
|
|
||||||
# Service ID
|
# Service NAME
|
||||||
for line in $lines; do
|
for line in $lines; do
|
||||||
s="${line[${begin[ID]},${end[ID]}]%% ##}"
|
s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
|
||||||
stacks=($stacks $s)
|
stacks=($stacks $s)
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -2631,7 +2638,6 @@ __docker_subcommand() {
|
||||||
"($help)--default-gateway-v6[Container default gateway IPv6 address]:IPv6 address: " \
|
"($help)--default-gateway-v6[Container default gateway IPv6 address]:IPv6 address: " \
|
||||||
"($help)--default-shm-size=[Default shm size for containers]:size:" \
|
"($help)--default-shm-size=[Default shm size for containers]:size:" \
|
||||||
"($help)*--default-ulimit=[Default ulimits for containers]:ulimit: " \
|
"($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=[DNS server to use]:DNS: " \
|
||||||
"($help)*--dns-opt=[DNS options to use]:DNS option: " \
|
"($help)*--dns-opt=[DNS options to use]:DNS option: " \
|
||||||
"($help)*--dns-search=[DNS search domains to use]:DNS search: " \
|
"($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.
|
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
|
## Installation
|
||||||
|
|
||||||
Just add the plugin to your `.zshrc`:
|
Just add the plugin to your `.zshrc`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
plugins=(git man dotenv)
|
plugins=(... dotenv)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## 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:
|
For example:
|
||||||
```sh
|
```sh
|
||||||
|
@ -30,5 +30,16 @@ SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f
|
||||||
MONGO_URI=mongodb://127.0.0.1:27017
|
MONGO_URI=mongodb://127.0.0.1:27017
|
||||||
PORT=3001
|
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() {
|
source_env() {
|
||||||
if [[ -f .env ]]; then
|
if [[ -f .env ]]; then
|
||||||
|
# test .env syntax
|
||||||
|
zsh -fn .env || echo 'dotenv: error when sourcing `.env` file' >&2
|
||||||
|
|
||||||
|
if [[ -o a ]]; then
|
||||||
source .env
|
source .env
|
||||||
|
else
|
||||||
|
set -a
|
||||||
|
source .env
|
||||||
|
set +a
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
autoload -U add-zsh-hook
|
autoload -U add-zsh-hook
|
||||||
add-zsh-hook chpwd source_env
|
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/`
|
- 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.
|
# - 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"
|
export EMACS_PLUGIN_LAUNCHER="$ZSH/plugins/emacs/emacsclient.sh"
|
||||||
|
|
||||||
# set EDITOR if not already defined.
|
# set EDITOR if not already defined.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Ember CLI
|
# 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
|
### List of Aliases
|
||||||
|
|
||||||
|
@ -17,5 +17,6 @@ Alias | Ember-CLI command
|
||||||
**ein** | *ember init*
|
**ein** | *ember init*
|
||||||
**ei** | *ember install*
|
**ei** | *ember install*
|
||||||
**et** | *ember test*
|
**et** | *ember test*
|
||||||
|
**ets** | *ember test --serve*
|
||||||
**eu** | *ember update*
|
**eu** | *ember update*
|
||||||
**ev** | *ember version*
|
**ev** | *ember version*
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Ember CLI
|
# 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 es='ember serve'
|
||||||
alias ea='ember addon'
|
alias ea='ember addon'
|
||||||
|
@ -10,6 +10,7 @@ alias eh='ember help'
|
||||||
alias ein='ember init'
|
alias ein='ember init'
|
||||||
alias ei='ember install'
|
alias ei='ember install'
|
||||||
alias et='ember test'
|
alias et='ember test'
|
||||||
|
alias ets='ember test --serve'
|
||||||
alias eu='ember update'
|
alias eu='ember update'
|
||||||
|
|
||||||
# version
|
# 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
|
## 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)
|
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]"
|
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
|
## 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
|
#### 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.
|
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
|
# none: not applicable
|
||||||
# Field 4 — Emoji_Sources:
|
# Field 4 — Emoji_Sources:
|
||||||
# one or more values from {z, a, j, w, x}
|
# 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
|
# NA: not applicable
|
||||||
# Comment — currently contains the version where the character was first encoded,
|
# Comment — currently contains the version where the character was first encoded,
|
||||||
# followed by:
|
# followed by:
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
# This script generates the emoji.plugin.zsh emoji definitions from the Unicode
|
# This script generates the emoji.plugin.zsh emoji definitions from the Unicode
|
||||||
# character data for the emoji characters.
|
# character data for the emoji characters.
|
||||||
#
|
#
|
||||||
# The data file can be found at http://unicode.org/Public/emoji/latest/emoji-data.txt
|
# The data file can be found at https://unicode.org/Public/emoji/latest/emoji-data.txt
|
||||||
# as referenced in Unicode TR51 (http://www.unicode.org/reports/tr51/index.html).
|
# 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
|
# 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
|
# 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
|
# Use emotty set defined by user, fallback to default
|
||||||
local emotty=${_emotty_sets[${emotty_set:-$emotty_default_set}]}
|
local emotty=${_emotty_sets[${emotty_set:-$emotty_default_set}]}
|
||||||
# Parse $TTY number, normalizing it to an emotty set index
|
# 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]}
|
local character_name=${${=emotty}[tty]}
|
||||||
echo "${emoji[${character_name}]}${emoji2[emoji_style]}"
|
echo "${emoji[${character_name}]}${emoji2[emoji_style]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function display_emotty() {
|
function display_emotty() {
|
||||||
local name=$1
|
local name=${1:-$emotty_set}
|
||||||
|
echo $name
|
||||||
for i in ${=_emotty_sets[$name]}; do
|
for i in ${=_emotty_sets[$name]}; do
|
||||||
printf "${emoji[$i]}${emoji2[emoji_style]} "
|
printf "${emoji[$i]}${emoji2[emoji_style]} "
|
||||||
done
|
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 \
|
_arguments \
|
||||||
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
|
'(-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
|
&& return 0
|
||||||
|
|
|
@ -10,7 +10,7 @@ extract() {
|
||||||
Usage: extract [-option] [file ...]
|
Usage: extract [-option] [file ...]
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-r, --remove Remove archive.
|
-r, --remove Remove archive after unpacking.
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ extract() {
|
||||||
|
|
||||||
success=0
|
success=0
|
||||||
extract_dir="${1:t:r}"
|
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.gz|*.tgz) (( $+commands[pigz] )) && { pigz -dc "$1" | tar xv } || tar zxvf "$1" ;;
|
||||||
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
||||||
(*.tar.xz|*.txz)
|
(*.tar.xz|*.txz)
|
||||||
|
@ -45,8 +45,8 @@ extract() {
|
||||||
(*.bz2) bunzip2 "$1" ;;
|
(*.bz2) bunzip2 "$1" ;;
|
||||||
(*.xz) unxz "$1" ;;
|
(*.xz) unxz "$1" ;;
|
||||||
(*.lzma) unlzma "$1" ;;
|
(*.lzma) unlzma "$1" ;;
|
||||||
(*.Z) uncompress "$1" ;;
|
(*.z) uncompress "$1" ;;
|
||||||
(*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk) unzip "$1" -d $extract_dir ;;
|
(*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk|*.whl) unzip "$1" -d $extract_dir ;;
|
||||||
(*.rar) unrar x -ad "$1" ;;
|
(*.rar) unrar x -ad "$1" ;;
|
||||||
(*.7z) 7za x "$1" ;;
|
(*.7z) 7za x "$1" ;;
|
||||||
(*.deb)
|
(*.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"
|
source "$fasd_cache"
|
||||||
unset fasd_cache
|
unset fasd_cache
|
||||||
|
|
||||||
alias v="f -e $EDITOR"
|
alias v="f -e \"$EDITOR\""
|
||||||
alias o='a -e open_command'
|
alias o='a -e xdg-open'
|
||||||
|
alias j='zz'
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,3 +1 @@
|
||||||
This is a plugin based on yum plugin, but using dnf as main frontend
|
The fedora plugin is deprecated. Use the [dnf plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/dnf) instead.
|
||||||
(from Fedora 22 onwards, yum is deprecated in favor of dnf).
|
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue