Skip to content

Instantly share code, notes, and snippets.

@Stmol
Last active August 29, 2015 14:01
Show Gist options
  • Save Stmol/cb3e1220256d30e9698c to your computer and use it in GitHub Desktop.
Save Stmol/cb3e1220256d30e9698c to your computer and use it in GitHub Desktop.
My zsh options
#compdef brew
#autoload
# imported from the latest homebrew contributions
_brew_all_formulae() {
formulae=(`brew search`)
}
_brew_installed_formulae() {
installed_formulae=(`brew list`)
}
_brew_installed_taps() {
installed_taps=(`brew tap`)
}
_brew_outdated_formulae() {
outdated_formulae=(`brew outdated`)
}
_brew_running_services() {
running_services=(`brew services list | awk '{print $1}'`)
}
local -a _1st_arguments
_1st_arguments=(
'audit:check formulae for Homebrew coding style'
'bundle:look for a Brewfile and run each line as a brew command'
'cat:display formula file for a formula'
'cleanup:uninstall unused and old versions of packages'
'commands:show a list of commands'
'create:create a new formula'
'deps:list dependencies and dependants of a formula'
'doctor:audits your installation for common issues'
'edit:edit a formula'
'home:visit the homepage of a formula or the brew project'
'info:information about a formula'
'install:install a formula'
'reinstall:install a formula anew; re-using its current options'
'link:link a formula'
'list:list files in a formula or not-installed formulae'
'log:git commit log for a formula'
'missing:check all installed formuale for missing dependencies.'
'outdated:list formulae for which a newer version is available'
'pin:pin specified formulae'
'prune:remove dead links'
'remove:remove a formula'
'search:search for a formula (/regex/ or string)'
'server:start a local web app that lets you browse formulae (requires Sinatra)'
'services:small wrapper around `launchctl` for supported formulae'
'tap:tap a new formula repository from GitHub, or list existing taps'
'unlink:unlink a formula'
'unpin:unpin specified formulae'
'untap:remove a tapped repository'
'update:freshen up links'
'upgrade:upgrade outdated formulae'
'uses:show formulae which depend on a formula'
)
local -a _service_arguments
_service_arguments=(
'cleanup:get rid of stale services and unused plists'
'list:list all services managed by `brew services`'
'restart:gracefully restart selected service'
'start:start selected service'
'stop:stop selected service'
)
local expl
local -a formulae installed_formulae installed_taps outdated_formulae running_services
_arguments \
'(-v)-v[verbose]' \
'(--cellar)--cellar[brew cellar]' \
'(--config)--config[brew configuration]' \
'(--env)--env[brew environment]' \
'(--repository)--repository[brew repository]' \
'(--version)--version[version information]' \
'(--prefix)--prefix[where brew lives on this system]' \
'(--cache)--cache[brew cache]' \
'*:: :->subcmds' && return 0
if (( CURRENT == 1 )); then
_describe -t commands "brew subcommand" _1st_arguments
return
fi
case "$words[1]" in
install|reinstall|audit|home|homepage|log|info|abv|uses|cat|deps|edit|options)
_brew_all_formulae
_wanted formulae expl 'all formulae' compadd -a formulae ;;
list|ls)
_arguments \
'(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \
'(--pinned)--pinned[list all versions of pinned formulae]' \
'(--versions)--versions[list all installed versions of a formula]' \
'1: :->forms' && return 0
if [[ "$state" == forms ]]; then
_brew_installed_formulae
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae
fi ;;
remove|rm|uninstall|unlink|cleanup|link|ln|pin|unpin)
_brew_installed_formulae
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
search|-S)
_arguments \
'(--macports)--macports[search the macports repository]' \
'(--fink)--fink[search the fink repository]' ;;
services)
if [[ -n "$words[2]" ]]; then
case "$words[2]" in
restart|start|stop)
_brew_running_services
_wanted running_services expl 'running services' compadd -a running_services ;;
esac
else
_describe -t commands "brew services subcommand" _service_arguments
fi ;;
untap)
_brew_installed_taps
_wanted installed_taps expl 'installed taps' compadd -a installed_taps ;;
upgrade)
_brew_outdated_formulae
_wanted outdated_formulae expl 'outdated formulae' compadd -a outdated_formulae ;;
esac
# Symfony2 basic command completion
_symfony2_get_command_list () {
php app/console --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }'
}
_symfony2 () {
if [ -f app/console ]; then
compadd `_symfony2_get_command_list`
fi
}
compdef _symfony2 app/console
compdef _symfony2 sf
#Alias
alias sf='php app/console'
alias sfcl='php app/console cache:clear'
alias sfroute='php app/console router:debug'
alias sfgb='php app/console generate:bundle'
# export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
export EDITOR='subl -w'
export HOMEBREW_GITHUB_API_TOKEN=""
setopt autocd # Автопереход
# setopt correctall # Автокоррекция ошибок
setopt appendhistory # Дополнение файла истории
setopt prompt_subst # ?
setopt hist_ignore_all_dups # Убираем дубликаты из истории
setopt hist_reduce_blanks # Убираем пустые строки
setopt hist_ignore_space # Убираем лишние пробелы
setopt inc_append_history # Инкрементальное наполнение истории (!)
# setopt menucomplete
autoload -U colors && colors
autoload -U compinit && compinit # Автодополнение
autoload -U select-word-style
select-word-style bash
# Выбор варианта
zmodload zsh/complist
zstyle ':completion:*' menu yes select
# Цвета цифрами от 133 до 163
typeset -Ag FG BG
for color in {000..255}; do
FG[$color]="%{[38;5;${color}m%}"
BG[$color]="%{[48;5;${color}m%}"
done
PROMPT='$FG[147]%n%{$reset_color%}$FG[145]@%m%{$reset_color%} $FG[142]%~%{$reset_color%}
$FG[155]➞%{$reset_color%} ' # Левая строка приветствия
RPROMPT='$FG[144]%T%{$reset_color%}' # Правая строка приветствия
# RPROMPT='%{$fg[white]%} $(~/.rvm/bin/rvm-prompt)$(~/bin/git-cwd-info)%{$reset_color%}'
precmd() { print "" }
# if [[ $EUID == 0 ]]
# then
# # PROMPT=$'%{\e[1;31m%}%n %{\e[1;34m%}%~ #%{\e[0m%} ' # user dir %
# PROMPT=$'%{\e[1;31m%}%n %{\e[1;34m%}%~ #%{\e[0m%} ' # user dir %
# else
# PROMPT=$'%{\e[1;32m%}%n %{\e[1;34m%}%~ %#%{\e[0m%} ' # root dir #
# fi
# RPROMPT=$'%{\e[1;34m%}%T%{\e[0m%}' # right prompt with time
# alias ls='ls --color=auto'
# alias la='ls -lAFh' #long list,show almost all,show type,human readable
# История команд
HISTFILE=~/.zhistfile
HISTSIZE=1000
SAVEHIST=1000
# Автодополнение команд из истории
bindkey "^[[A" up-line-or-search
bindkey "^[[B" down-line-or-search
bindkey "^[[3~" delete-char
# Алиасы
alias grep='grep --colour=auto'
alias tree='tree -C'
alias l='ls -lFhGA'
alias ls='ls -1'
alias cls='clear'
alias pstat='sudo lsof -i -P | grep -i "listen"'
alias chrome='open -a "/Applications/Google Chrome.app"'
alias edit='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
source /Users/Stmol/.zsh/symfony2.plugin.zsh
# source /Users/Stmol/.zsh/brew.plugin.zsh
# Глобальные алиасы
# alias -g g='| grep'
# bindkey '\e[3~' delete-char # del
# bindkey ';5D' backward-word # ctrl+left
# bindkey ';5C' forward-word #ctrl+right
# autoload -U compinit promptinit
# compinit
# promptinit;
# zstyle ':completion:*' menu select=1 _complete _ignored _approximate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment