diff options
Diffstat (limited to 'plugins')
32 files changed, 193 insertions, 220 deletions
diff --git a/plugins/atom/README.md b/plugins/atom/README.md deleted file mode 100644 index 6350c647b..000000000 --- a/plugins/atom/README.md +++ /dev/null @@ -1,23 +0,0 @@ -## atom - -This plugin makes "at" a useful function for invoking the Atom Editor. - -Originally by Github user [aforty](https://github.com/aforty) for OSX, modified to alias 'at' to 'atom' for Linux, since atom already works on the terminal for Linux, and calling 'at' in a non-OSX environment should still work. - -### Requirements - - * [Atom](https://atom.io/) - -### Usage - - * If `at` command is called without an argument, launch Atom - - * If `at` is passed a directory, open it in Atom - - * If `at` is passed a file, open it in Atom - -### Examples - - * Open the current dir in atom: `at .` - * Open another dir in atom: `at path/to/folder` - * Open a file: `at filename.extension` diff --git a/plugins/atom/atom.plugin.zsh b/plugins/atom/atom.plugin.zsh deleted file mode 100644 index 2711cf0e8..000000000 --- a/plugins/atom/atom.plugin.zsh +++ /dev/null @@ -1,37 +0,0 @@ -case $OSTYPE in -darwin*) - local _atom_paths > /dev/null 2>&1 - _atom_paths=( - "$HOME/Applications/Atom.app" - "/Applications/Atom.app" - ) - - for _atom_path in $_atom_paths; do - if [[ -a $_atom_path ]]; then - alias at="open -a '$_atom_path'" - break - fi - done - ;; -cygwin) - local _atom_path > /dev/null 2>&1 - - _atom_path=${LOCALAPPDATA}/atom/bin/atom - - if [[ -a $_atom_path ]]; then - cyg_open_atom() - { - if [[ -n $1 ]]; then - ${_atom_path} `cygpath -w -a $1` - else - ${_atom_path} - fi - } - - alias at=cyg_open_atom - fi - ;; -linux*) - # Alerts the user if 'atom' is not a found command. - type atom >/dev/null 2>&1 && alias at="atom" || { echo >&2 "You have enabled the atom oh-my-zsh plugin on Linux, but atom is not a recognized command. Please make sure you have it installed before using this plugin."; } -esac diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh index a8271849e..ea2e56dd6 100644 --- a/plugins/autoenv/autoenv.plugin.zsh +++ b/plugins/autoenv/autoenv.plugin.zsh @@ -1,12 +1,26 @@ # Activates autoenv or reports its failure -if ! source $HOME/.autoenv/activate.sh 2>/dev/null; then - echo '-------- AUTOENV ---------' - echo 'Could not find ~/.autoenv/activate.sh.' - echo 'Please check if autoenv is correctly installed.' - echo 'In the meantime the autoenv plugin is DISABLED.' - echo '--------------------------' - return 1 +() { +if ! type autoenv_init >/dev/null; then + for d (~/.autoenv /usr/local/opt/autoenv); do + if [[ -e $d/activate.sh ]]; then + autoenv_dir=$d + break + fi + done + if [[ -z $autoenv_dir ]]; then + cat <<END >&2 +-------- AUTOENV --------- +Could not locate autoenv installation. +Please check if autoenv is correctly installed. +In the meantime the autoenv plugin is DISABLED. +-------------------------- +END + return 1 + fi + source $autoenv_dir/activate.sh fi +} +[[ $? != 0 ]] && return $? # The use_env call below is a reusable command to activate/create a new Python # virtualenv, requiring only a single declarative line of code in your .env files. diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index dfff6956e..382a1a471 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -2,6 +2,7 @@ alias be="bundle exec" alias bl="bundle list" alias bp="bundle package" alias bo="bundle open" +alias bout="bundle outdated" alias bu="bundle update" alias bi="bundle_install" alias bcn="bundle clean" diff --git a/plugins/capistrano/_capistrano b/plugins/capistrano/_capistrano index c19c20b7a..a79e47b2f 100644 --- a/plugins/capistrano/_capistrano +++ b/plugins/capistrano/_capistrano @@ -1,7 +1,7 @@ -#compdef shipit +#compdef capit #autoload -# 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 local curcontext="$curcontext" state line ret=1 @@ -14,7 +14,7 @@ _arguments -C \ _cap_tasks() { if [[ -f config/deploy.rb || -f Capfile ]]; then if [[ ! -f .cap_tasks~ ]]; then - shipit --tasks | sed 's/\(\[\)\(.*\)\(\]\)/\2:/' | awk '{command=$2; $1=$2=$3=""; gsub(/^[ \t\r\n]+/, "", $0); gsub(":", "\\:", command); print command"["$0"]"}' > .cap_tasks~ + capit --tasks | sed 's/\(\[\)\(.*\)\(\]\)/\2:/' | awk '{command=$2; $1=$2=$3=""; gsub(/^[ \t\r\n]+/, "", $0); gsub(":", "\\:", command); print command"["$0"]"}' > .cap_tasks~ fi OLD_IFS=$IFS diff --git a/plugins/capistrano/capistrano.plugin.zsh b/plugins/capistrano/capistrano.plugin.zsh index c85eb474c..0b5559791 100644 --- a/plugins/capistrano/capistrano.plugin.zsh +++ b/plugins/capistrano/capistrano.plugin.zsh @@ -1,7 +1,7 @@ # Added `shipit` because `cap` is a reserved word. `cap` completion doesn't work. # http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module -func shipit() { +func capit() { if [ -f Gemfile ] then bundle exec cap $* diff --git a/plugins/chucknorris/fortunes/chucknorris b/plugins/chucknorris/fortunes/chucknorris index b8edf9ac3..e705d1c13 100644 --- a/plugins/chucknorris/fortunes/chucknorris +++ b/plugins/chucknorris/fortunes/chucknorris @@ -17,9 +17,11 @@ Chuck Norris' blood type is AK+. Ass-Kicking Positive. It is compatible only wit Chuck Norris is 1/8th Cherokee. This has nothing to do with ancestry, the man ate a fucking Indian. % In fine print on the last page of the Guinness Book of World Records it notes that all world records are held by Chuck Norris, and those listed in the book are simply the closest anyone else has ever gotten. +% There is no chin behind Chuck Norris' beard. There is only another fist. % Chuck Norris does not teabag the ladies. He potato-sacks them. +% Pluto is actually an orbiting group of British soldiers from the American Revolution who entered space after the Chuck gave them a roundhouse kick to the face. % When Chuck Norris goes to donate blood, he declines the syringe, and instead requests a hand gun and a bucket. @@ -127,6 +129,7 @@ Chuck Norris can drink an entire gallon of milk in thirty-seven seconds. Little known medical fact: Chuck Norris invented the Caesarean section when he roundhouse-kicked his way out of his monther's womb. % Chuck Norris doesn't bowl strikes, he just knocks down one pin and the other nine faint. +% The show Survivor had the original premise of putting people on an island with Chuck Norris. There were no survivors, and nobody is brave enough to go to the island to retrieve the footage. % It takes Chuck Norris 20 minutes to watch 60 Minutes. @@ -281,6 +284,7 @@ In a recent survey it was discovered the 94% of American women lost their virgin Chuck Norris invented a language that incorporates karate and roundhouse kicks. So next time Chuck Norris is kicking your ass, don't be offended or hurt, he may be just trying to tell you he likes your hat. % If at first you don't succeed, you're not Chuck Norris. +% If Chuck Norris were a calendar, every month would be named Chucktober, and every day he'd kick your ass. % Fear is not the only emotion Chuck Norris can smell. He can also detect hope, as in "I hope I don't get a roundhouse kick from Chuck Norris." @@ -349,7 +353,7 @@ As President Roosevelt said: "We have nothing to fear but fear itself. And Chuck % Chuck Norris just says "no" to drugs. If he said "yes", it would collapse Colombia's infrastructure. % -Since 1940, the year Chuck Norris was born, roundhouse-kick related deaths have increased 13,000 percent. +Since 1940, the year Chuck Norris was born, roundhouse-kick related deaths have increased 13,000 percent.? % Crime does not pay - unless you are an undertaker following Walker, Texas Ranger, on a routine patrol. % @@ -497,7 +501,8 @@ When Chuck Norris works out on the Total Gym, the Total Gym feels like it's been % Chuck Norris can skeletize a cow in two minutes. % -The only sure things are Death and Taxes?and when Chuck Norris goes to work for the IRS, they'll be the same thing. +The only sure things are Death and Taxes, and when Chuck Norris goes to work for the IRS, they'll be the same thing. +% Chuck Norris' first job was as a paperboy. There were no survivors. % With the rising cost of gasoline, Chuck Norris is beginning to worry about his drinking habit. @@ -528,8 +533,6 @@ Noah was the only man notified before Chuck Norris relieved himself in the Atlan % Chuck Norris once invited all of the other badasses from TV to duke it out in order to see who was the supreme badass. Only two showed up-- Jack Bauer and MacGyver. % - -% MacGyver immediately tried to make a bomb out of some Q-Tips and Gatorade, but Chuck Norris roundhouse-kicked him in the solar plexus. MacGyver promptly threw up his own heart. % Jack Bauer tried to use his detailed knowledge of torture techniques, but to no avail: Chuck Norris thrives on pain. Chuck Norris then ripped off Jack Bauer's arm and beat him to death with it. Game, set, match. diff --git a/plugins/coffee/README.md b/plugins/coffee/README.md index d0e7bbe74..432ce3414 100644 --- a/plugins/coffee/README.md +++ b/plugins/coffee/README.md @@ -11,7 +11,7 @@ Preview the compiled result of your coffeescript with `cf "code"` as per the following: ```zsh -$ cf 'if a then be else c' +$ cf 'if a then b else c' if (a) { b; } else { diff --git a/plugins/coffee/coffee.plugin.zsh b/plugins/coffee/coffee.plugin.zsh index 4e98e0228..6d1ce5ce4 100644 --- a/plugins/coffee/coffee.plugin.zsh +++ b/plugins/coffee/coffee.plugin.zsh @@ -6,11 +6,11 @@ cf () { } # compile & copy to clipboard cfc () { - cf "$1" | pbcopy + cf "$1" | clipcopy } -# compile from pasteboard & print -alias cfp='coffeeMe "$(pbpaste)"' +# compile from clipboard & print +alias cfp='cf "$(clippaste)"' -# compile from pasteboard and copy to clipboard -alias cfpc='cfp | pbcopy' +# compile from clipboard and copy to clipboard +alias cfpc='cfp | clipcopy' diff --git a/plugins/colored-man/colored-man.plugin.zsh b/plugins/colored-man-pages/colored-man-pages.plugin.zsh index 5c613f49d..5c613f49d 100644 --- a/plugins/colored-man/colored-man.plugin.zsh +++ b/plugins/colored-man-pages/colored-man-pages.plugin.zsh diff --git a/plugins/copydir/copydir.plugin.zsh b/plugins/copydir/copydir.plugin.zsh index 37bb5e086..c45106240 100644 --- a/plugins/copydir/copydir.plugin.zsh +++ b/plugins/copydir/copydir.plugin.zsh @@ -1,3 +1,5 @@ +# Copies the pathname of the current directory to the system or X Windows clipboard function copydir { - pwd | tr -d "\r\n" | pbcopy -}
\ No newline at end of file + emulate -L zsh + print -n $PWD | clipcopy +} diff --git a/plugins/copyfile/copyfile.plugin.zsh b/plugins/copyfile/copyfile.plugin.zsh index 944a903c6..f4eca5acf 100644 --- a/plugins/copyfile/copyfile.plugin.zsh +++ b/plugins/copyfile/copyfile.plugin.zsh @@ -1,5 +1,7 @@ +# Copies the contents of a given file to the system or X Windows clipboard +# +# copyfile <file> function copyfile { - [[ "$#" != 1 ]] && return 1 - local file_to_copy=$1 - cat $file_to_copy | pbcopy + emulate -L zsh + clipcopy $1 } diff --git a/plugins/dircycle/dircycle.plugin.zsh b/plugins/dircycle/dircycle.plugin.zsh index 1e31105b1..8a406b54d 100644 --- a/plugins/dircycle/dircycle.plugin.zsh +++ b/plugins/dircycle/dircycle.plugin.zsh @@ -27,11 +27,11 @@ insert-cycledright () { zle -N insert-cycledright -# add key bindings for iTerm2 -if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then - bindkey "^[[1;6D" insert-cycledleft - bindkey "^[[1;6C" insert-cycledright -else - bindkey "\e[1;6D" insert-cycledleft - bindkey "\e[1;6C" insert-cycledright -fi
\ No newline at end of file +# These sequences work for xterm, Apple Terminal.app, and probably others. +# Not for rxvt-unicode, but it doesn't seem differentiate Ctrl-Shift-Arrow +# from plain Shift-Arrow, at least by default. +# iTerm2 does not have these key combinations defined by default; you will need +# to add them under "Keys" in your profile if you want to use this. You can do +# this conveniently by loading the "xterm with Numeric Keypad" preset. +bindkey "\e[1;6D" insert-cycledleft +bindkey "\e[1;6C" insert-cycledright diff --git a/plugins/encode64/encode64.plugin.zsh b/plugins/encode64/encode64.plugin.zsh index 4dbd1b453..53de6478a 100644 --- a/plugins/encode64/encode64.plugin.zsh +++ b/plugins/encode64/encode64.plugin.zsh @@ -1,4 +1,4 @@ -encode64(){ echo -n $1 | base64 } -decode64(){ echo -n $1 | base64 --decode } +encode64(){ printf '%s' $1 | base64 } +decode64(){ printf '%s' $1 | base64 --decode } alias e64=encode64 alias d64=decode64 diff --git a/plugins/git-extras/README.md b/plugins/git-extras/README.md new file mode 100644 index 000000000..8f12e297e --- /dev/null +++ b/plugins/git-extras/README.md @@ -0,0 +1,11 @@ +# git-extras + +This plugin provides completion definitions for some of the commands defined by [git-extras](http://github.com/tj/git-extras). + +## Setup notes + +The completions work by augmenting the `_git` completion provided by `zsh`. This only works with the `zsh`-provided `_git`, not the `_git` provided by `git` itself. If you have both `zsh` and `git` installed, you need to make sure that the `zsh`-provided `_git` takes precedence. + +### OS X Homebrew Setup + +On OS X with Homebrew, you need to install `git` with `brew install git --without-completions`. Otherwise, `git`'s `_git` will take precedence, and you won't see the completions for `git-extras` commands. diff --git a/plugins/git-extras/git-extras.plugin.zsh b/plugins/git-extras/git-extras.plugin.zsh index d91c1af81..507bf1b25 100644 --- a/plugins/git-extras/git-extras.plugin.zsh +++ b/plugins/git-extras/git-extras.plugin.zsh @@ -1,10 +1,13 @@ -#compdef git # ------------------------------------------------------------------------------ # Description # ----------- # # Completion script for git-extras (http://github.com/tj/git-extras). # +# This depends on and reueses some of the internals of the _git completion +# function that ships with zsh itself. It will not work with the _git that ships +# with git. +# # ------------------------------------------------------------------------------ # Authors # ------- @@ -22,16 +25,18 @@ # ------------------------------------------------------------------------------ -__git_command_successful () { - if (( ${#pipestatus:#0} > 0 )); then - _message 'not a git repository' - return 1 - fi - return 0 -} +# Internal functions +# These are a lot like their __git_* equivalents inside _git +__gitex_command_successful () { + if (( ${#*:#0} > 0 )); then + _message 'not a git repository' + return 1 + fi + return 0 +} -__git_commits() { +__gitex_commits() { declare -A commits git log --oneline -15 | sed 's/\([[:alnum:]]\{7\}\) /\1:/' | while read commit do @@ -42,7 +47,7 @@ __git_commits() { _describe -t commits commit commits && ret=0 } -__git_tag_names() { +__gitex_tag_names() { local expl declare -a tag_names tag_names=(${${(f)"$(_call_program tags git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) @@ -51,7 +56,7 @@ __git_tag_names() { } -__git_branch_names() { +__gitex_branch_names() { local expl declare -a branch_names branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) @@ -59,7 +64,7 @@ __git_branch_names() { _wanted branch-names expl branch-name compadd $* - $branch_names } -__git_specific_branch_names() { +__gitex_specific_branch_names() { local expl declare -a branch_names branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads/"$1" 2>/dev/null)"}#refs/heads/$1/}) @@ -67,32 +72,28 @@ __git_specific_branch_names() { _wanted branch-names expl branch-name compadd $* - $branch_names } - -__git_feature_branch_names() { - __git_specific_branch_names 'feature' +__gitex_feature_branch_names() { + __gitex_specific_branch_names 'feature' } - -__git_refactor_branch_names() { - __git_specific_branch_names 'refactor' +__gitex_refactor_branch_names() { + __gitex_specific_branch_names 'refactor' } - -__git_bug_branch_names() { - __git_specific_branch_names 'bug' +__gitex_bug_branch_names() { + __gitex_specific_branch_names 'bug' } - -__git_submodule_names() { +__gitex_submodule_names() { local expl declare -a submodule_names - submodule_names=(${(f)"$(_call_program branchrefs git submodule status | awk '{print $2}')"}) + submodule_names=(${(f)"$(_call_program branchrefs git submodule status | awk '{print $2}')"}) # ' __git_command_successful || return _wanted submodule-names expl submodule-name compadd $* - $submodule_names } -__git_author_names() { +__gitex_author_names() { local expl declare -a author_names author_names=(${(f)"$(_call_program branchrefs git log --format='%aN' | sort -u)"}) @@ -123,7 +124,7 @@ _git-bug() { case $line[1] in (finish) _arguments -C \ - ':branch-name:__git_bug_branch_names' + ':branch-name:__gitex_bug_branch_names' ;; esac esac @@ -139,7 +140,7 @@ _git-changelog() { _git-contrib() { _arguments \ - ':author:__git_author_names' + ':author:__gitex_author_names' } @@ -151,19 +152,19 @@ _git-count() { _git-delete-branch() { _arguments \ - ':branch-name:__git_branch_names' + ':branch-name:__gitex_branch_names' } _git-delete-submodule() { _arguments \ - ':submodule-name:__git_submodule_names' + ':submodule-name:__gitex_submodule_names' } _git-delete-tag() { _arguments \ - ':tag-name:__git_tag_names' + ':tag-name:__gitex_tag_names' } @@ -172,6 +173,7 @@ _git-effort() { '--above[ignore file with less than x commits]' } + _git-extras() { local curcontext=$curcontext state line ret=1 declare -A opt_args @@ -216,7 +218,7 @@ _git-feature() { case $line[1] in (finish) _arguments -C \ - ':branch-name:__git_feature_branch_names' + ':branch-name:__gitex_feature_branch_names' ;; esac esac @@ -225,8 +227,8 @@ _git-feature() { _git-graft() { _arguments \ - ':src-branch-name:__git_branch_names' \ - ':dest-branch-name:__git_branch_names' + ':src-branch-name:__gitex_branch_names' \ + ':dest-branch-name:__gitex_branch_names' } @@ -236,12 +238,14 @@ _git-ignore() { '(--global -g)'{--global,-g}'[show global gitignore]' } + _git-missing() { _arguments \ - ':first-branch-name:__git_branch_names' \ - ':second-branch-name:__git_branch_names' + ':first-branch-name:__gitex_branch_names' \ + ':second-branch-name:__gitex_branch_names' } + _git-refactor() { local curcontext=$curcontext state line ret=1 declare -A opt_args @@ -263,7 +267,7 @@ _git-refactor() { case $line[1] in (finish) _arguments -C \ - ':branch-name:__git_refactor_branch_names' + ':branch-name:__gitex_refactor_branch_names' ;; esac esac @@ -272,12 +276,12 @@ _git-refactor() { _git-squash() { _arguments \ - ':branch-name:__git_branch_names' + ':branch-name:__gitex_branch_names' } _git-summary() { - _arguments '--line[summarize with lines other than commits]' - __git_commits + _arguments '--line[summarize with lines rather than commits]' + __gitex_commits } @@ -298,7 +302,7 @@ zstyle ':completion:*:*:git:*' user-commands \ count:'count commits' \ create-branch:'create local and remote branch' \ delete-branch:'delete local and remote branch' \ - delete-merged-brancees:'delete merged branches'\ + delete-merged-branches:'delete merged branches'\ delete-submodule:'delete submodule' \ delete-tag:'delete local and remote tag' \ effort:'display effort statistics' \ diff --git a/plugins/git-hubflow/git-hubflow.plugin.zsh b/plugins/git-hubflow/git-hubflow.plugin.zsh index 4cf5b9177..b0157c7a1 100644 --- a/plugins/git-hubflow/git-hubflow.plugin.zsh +++ b/plugins/git-hubflow/git-hubflow.plugin.zsh @@ -20,6 +20,13 @@ # c. Or, use this file as an oh-my-zsh plugin. # +alias ghf='git hf' +alias ghff='git hf feature' +alias ghfr='git hf release' +alias ghfh='git hf hotfix' +alias ghfs='git hf support' +alias ghfu='git hf update' + _git-hf () { local curcontext="$curcontext" state line diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 4f2745038..d78b82df3 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -212,11 +212,13 @@ alias gsts='git stash show --text' alias gsu='git submodule update' alias gts='git tag -s' +alias gtv='git tag | sort -V' alias gunignore='git update-index --no-assume-unchanged' alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1' alias gup='git pull --rebase' alias gupv='git pull --rebase -v' +alias glum='git pull upstream master' alias gvt='git verify-tag' diff --git a/plugins/gradle/gradle.plugin.zsh b/plugins/gradle/gradle.plugin.zsh index 97941756d..a908eaeaa 100644 --- a/plugins/gradle/gradle.plugin.zsh +++ b/plugins/gradle/gradle.plugin.zsh @@ -1,6 +1,5 @@ -#!zsh ############################################################################## -# A descriptive listing of core Gradle commands +# A descriptive listing of core Gradle commands ############################################################################ function _gradle_core_commands() { local ret=1 state @@ -32,36 +31,33 @@ function _gradle_arguments() { '--stop[Stop the Gradle daemon]' \ '--daemon[Use the Gradle daemon]' \ '--no-daemon[Do not use the Gradle daemon]' \ - '--no-opt[Do not perform any task optimization]' \ + '--rerun-task [Specifies that any task optimization is ignored.]' \ '-i[Log at the info level]' \ '-m[Dry run]' \ '-P[Set a project property]' \ + '-p[Specifies the start directory]' \ '--profile[Profile the build time]' \ '-q[Log at the quiet level (only show errors)]' \ '-v[Print the Gradle version info]' \ '-x[Specify a task to be excluded]' \ + '-b[Specifies the build file.]' \ + '-c[Specifies the settings file.]' \ + '--continue[Continues task execution after a task failure.]' \ + '-g[Specifies the Gradle user home directory.]' \ + '-I[Specifies an initialization script.]' \ + '--refresh-dependencies[Refresh the state of dependencies.]' \ + '-u[Don''t search in parent directories for a settings.gradle file.]' \ '*::command:->command' \ && return 0 } ############################################################################## -# Are we in a directory containing a build.gradle file? -############################################################################ -function in_gradle() { - if [[ -f build.gradle ]]; then - echo 1 - fi -} - -############################################################################## Examine the build.gradle file to see if its -# timestamp has changed, and if so, regen -# the .gradle_tasks cache file +# Examine the build.gradle file to see if its timestamp has changed; +# and if so, regenerate the .gradle_tasks cache file ############################################################################ _gradle_does_task_list_need_generating () { - [ ! -f .gradletasknamecache ] && return 0; - [ build.gradle -nt .gradletasknamecache ] && return 0; - return 1; + [[ ! -f .gradletasknamecache ]] || [[ build.gradle -nt .gradletasknamecache ]] } @@ -69,22 +65,22 @@ _gradle_does_task_list_need_generating () { # Discover the gradle tasks by running "gradle tasks --all" ############################################################################ _gradle_tasks () { - if [ in_gradle ]; then + if [[ -f build.gradle ]]; then _gradle_arguments if _gradle_does_task_list_need_generating; then - gradle tasks --all | grep "^[ ]*[a-zA-Z0-9:]*\ -\ " | sed "s/ - .*$//" | sed "s/[\ ]*//" > .gradletasknamecache + gradle tasks --all | awk '/[a-zA-Z0-9:-]* - / {print $1}' > .gradletasknamecache fi - compadd -X "==== Gradle Tasks ====" `cat .gradletasknamecache` + compadd -X "==== Gradle Tasks ====" $(cat .gradletasknamecache) fi } _gradlew_tasks () { - if [ in_gradle ]; then + if [[ -f build.gradle ]]; then _gradle_arguments if _gradle_does_task_list_need_generating; then - ./gradlew tasks --all | grep "^[ ]*[a-zA-Z0-9:]*\ -\ " | sed "s/ - .*$//" | sed "s/[\ ]*//" > .gradletasknamecache + ./gradlew tasks --all | awk '/[a-zA-Z0-9:-]* - / {print $1}' > .gradletasknamecache fi - compadd -X "==== Gradlew Tasks ====" `cat .gradletasknamecache` + compadd -X "==== Gradlew Tasks ====" $(cat .gradletasknamecache) fi } @@ -94,13 +90,3 @@ _gradlew_tasks () { ############################################################################ compdef _gradle_tasks gradle compdef _gradlew_tasks gradlew - - -############################################################################## -# Open questions for future improvements: -# 1) Should 'gradle tasks' use --all or just the regular set? -# 2) Should gradlew use the same approach as gradle? -# 3) Should only the " - " be replaced with a colon so it can work -# with the richer descriptive method of _arguments? -# gradle tasks | grep "^[a-zA-Z0-9]*\ -\ " | sed "s/ - /\:/" -############################################################################# diff --git a/plugins/gulp/gulp.plugin.zsh b/plugins/gulp/gulp.plugin.zsh index 8e11a444f..f7eaefa85 100644 --- a/plugins/gulp/gulp.plugin.zsh +++ b/plugins/gulp/gulp.plugin.zsh @@ -19,8 +19,8 @@ # Grabs all available tasks from the `gulpfile.js` # in the current directory. # -function $$gulp_completion() { - compls=$(grep -Eo "gulp.task\((['\"](([a-zA-Z0-9]|-)*)['\"],)" gulpfile.js 2>/dev/null | grep -Eo "['\"](([a-zA-Z0-9]|-)*)['\"]" | sed s/"['\"]"//g | sort)" +function $$gulp_completion { + compls="$(grep -Eo "gulp.task\((['\"](([a-zA-Z0-9]|-)*)['\"],)" gulpfile.js 2>/dev/null | grep -Eo "['\"](([a-zA-Z0-9]|-)*)['\"]" | sed s/"['\"]"//g | sort)" completions=(${=compls}) compadd -- $completions diff --git a/plugins/mercurial/README.md b/plugins/mercurial/README.md index 89e1c1743..f42212d68 100644 --- a/plugins/mercurial/README.md +++ b/plugins/mercurial/README.md @@ -2,23 +2,20 @@ ### Usage Update .zshrc: -1. Add name to the list of plugins, e.g. `plugins = (..., mercurial, ...)` +1. Add name to the list of plugins, e.g. `plugins=(... mercurial ...)` (that is pretty obvious). -2. Change PROMPT variable of current theme to contain current folder mercurial repo info: +2. Switch to a theme which uses `hg_prompt_info`. - robbyrussel theme is used by default, so you need to modify PROMPT var - from [this file](https://github.com/robbyrussell/oh-my-zsh/blob/master/themes/robbyrussell.zsh-theme) - by adding `$(hg_prompt_info)` after `$(git_prompt_info)`, so currently it - looks next: + Or, customize the `$PROMPT` variable of your current theme to contain current folder mercurial repo info. This can be done by putting a custom version of the theme in `$ZSH_CUSTOM` or by changing `$PROMPT` in `.zshrc` after loading the theme. - ```diff - - PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' - + PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)$(hg_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + The `robbyrussell` theme is used by default, so you need to modify `$PROMPT` var by adding `$(hg_prompt_info)` after `$(git_prompt_info)`, so it looks like this: + + ```zsh + PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)$(hg_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' ``` - - and put modified var at the end of **.zshrc**. + 3. Initialize additional vars used in plugin. So in short put next in **.zshrc**: - + ``` ZSH_THEME_HG_PROMPT_PREFIX="%{$fg_bold[magenta]%}hg:(%{$fg[red]%}" ZSH_THEME_HG_PROMPT_SUFFIX="%{$reset_color%}" @@ -55,8 +52,7 @@ Update .zshrc: #### Displays repo branch and directory status in prompt This is the same as git plugin does. -**Note**: additional changes to **.zshrc** are required in order for this to -work. +**Note**: Additional changes to **.zshrc**, or using a theme designed to use `hg_prompt_info`, are required in order for this to work. ### Mantainers [ptrv](https://github.com/ptrv) - original creator diff --git a/plugins/nmap/README.md b/plugins/nmap/README.md index 8bb8e0648..5cd646277 100644 --- a/plugins/nmap/README.md +++ b/plugins/nmap/README.md @@ -19,14 +19,19 @@ Nmap options are: ## Aliases explained - * nmap_open_ports - scan for open ports on target - * nmap_list_interfaces - list all network interfaces on host where the command runs - * nmap_slow - slow scan that avoids to spam the targets logs - * nmap_fin - scan to see if hosts are up with TCP FIN scan - * nmap_full - aggressive full scan that scans all ports, tries to determine OS and service versions + * nmap_open_ports - Scan for open ports on target + * nmap_list_interfaces - List all network interfaces on host where the command runs + * nmap_slow - Slow scan that avoids to spam the targets logs + * nmap_fin - Scan to see if hosts are up with TCP FIN scan + * nmap_full - Aggressive full scan that scans all ports, tries to determine OS and service versions * nmap_check_for_firewall - TCP ACK scan to check for firewall existence * nmap_ping_through_firewall - Host discovery with SYN and ACK probes instead of just pings to avoid firewall restrictions * nmap_fast - Fast scan of the top 300 popular ports - * nmap_detect_versions - detects versions of services and OS, runs on all ports - * nmap_check_for_vulns - uses vulscan script to check target services for vulnerabilities + * nmap_detect_versions - Detects versions of services and OS, runs on all ports + * nmap_check_for_vulns - Uses vulscan script to check target services for vulnerabilities + * nmap_full_udp - Same as full but via UDP + * nmap_traceroute - Try to traceroute using the most common ports + * nmap_full_with_scripts - Same as nmap_full but also runs all the scripts + * nmap_web_safe_osscan - Little "safer" scan for OS version as connecting to only HTTP and HTTPS ports doesn't look so attacking. + diff --git a/plugins/nmap/nmap.plugin.zsh b/plugins/nmap/nmap.plugin.zsh index f3603f622..d09f2c615 100644 --- a/plugins/nmap/nmap.plugin.zsh +++ b/plugins/nmap/nmap.plugin.zsh @@ -22,7 +22,11 @@ alias nmap_fin="nmap -sF -v" alias nmap_full="nmap -sS -T4 -PE -PP -PS80,443 -PY -g 53 -A -p1-65535 -v" alias nmap_check_for_firewall="nmap -sA -p1-65535 -v -T4" alias nmap_ping_through_firewall="nmap -PS -PA" -alias nmap_fast="nmap -F -T5 --top-ports 300" +alias nmap_fast="nmap -F -T5 --version-light --top-ports 300" alias nmap_detect_versions="nmap -sV -p1-65535 -O --osscan-guess -T4 -Pn" alias nmap_check_for_vulns="nmap --script=vulscan" +alias nmap_full_udp="nmap -sS -sU -T4 -A -v -PE -PS22,25,80 -PA21,23,80,443,3389 " +alias nmap_traceroute="nmap -sP -PE -PS22,25,80 -PA21,23,80,3389 -PU -PO --traceroute " +alias nmap_full_with_scripts="sudo nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all " +alias nmap_web_safe_osscan="sudo nmap -p 80,443 -O -v --osscan-guess --fuzzy " diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh index 595105d3c..3f6fe0fb3 100644 --- a/plugins/npm/npm.plugin.zsh +++ b/plugins/npm/npm.plugin.zsh @@ -1,8 +1,9 @@ eval "$(npm completion 2>/dev/null)" +# Install dependencies globally +alias npmg="npm i -g " # npm package names are lowercase -# - https://twitter.com/substack/status/23122603153150361 # Thus, we've used camelCase for the following aliases: # Install and save to dependencies in your package.json @@ -12,6 +13,7 @@ alias npmS="npm i -S " # Install and save to dev-dependencies in your package.json # npmd is used by https://github.com/dominictarr/npmd alias npmD="npm i -D " + # Execute command from node_modules folder based on current directory # i.e npmE gulp alias npmE='PATH="$(npm bin)":"$PATH"' diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh index b3dc7aa17..aa1f9488a 100644 --- a/plugins/pyenv/pyenv.plugin.zsh +++ b/plugins/pyenv/pyenv.plugin.zsh @@ -17,7 +17,11 @@ for pyenvdir in "${pyenvdirs[@]}" ; do FOUND_PYENV=1 export PYENV_ROOT=$pyenvdir export PATH=${pyenvdir}/bin:$PATH - eval "$(pyenv init --no-rehash - zsh)" + eval "$(pyenv init - zsh)" + + if pyenv commands | command grep -q virtualenv-init; then + eval "$(pyenv virtualenv-init - zsh)" + fi function pyenv_prompt_info() { echo "$(pyenv version-name)" diff --git a/plugins/rails/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh index 39e388494..a390c919c 100644 --- a/plugins/rails/rails.plugin.zsh +++ b/plugins/rails/rails.plugin.zsh @@ -42,6 +42,7 @@ alias rp='rails plugin' alias ru='rails runner' alias rs='rails server' alias rsd='rails server --debugger' +alias rsp='rails server --port' # Rake aliases alias rdm='rake db:migrate' @@ -59,7 +60,7 @@ alias rn='rake notes' alias rr='rake routes' alias rrg='rake routes | grep' alias rt='rake test' - +alias rmd='rake middleware' # legacy stuff alias sstat='thin --stats "/thin/stats" start' diff --git a/plugins/rake-fast/rake-fast.plugin.zsh b/plugins/rake-fast/rake-fast.plugin.zsh index cfc9a079f..d305eb1f0 100644 --- a/plugins/rake-fast/rake-fast.plugin.zsh +++ b/plugins/rake-fast/rake-fast.plugin.zsh @@ -8,17 +8,7 @@ _rake_refresh () { } _rake_does_task_list_need_generating () { - if [ ! -f .rake_tasks ]; then return 0; - else - if [[ "$OSTYPE" = darwin* ]]; then - accurate=$(stat -f%m .rake_tasks) - changed=$(stat -f%m Rakefile) - else - accurate=$(stat -c%Y .rake_tasks) - changed=$(stat -c%Y Rakefile) - fi - return $(expr $accurate '>=' $changed) - fi + [[ ! -f .rake_tasks ]] || [[ Rakefile -nt .rake_tasks ]] } _rake_generate () { diff --git a/plugins/systemd/systemd.plugin.zsh b/plugins/systemd/systemd.plugin.zsh index 07eb595a6..b19793557 100644 --- a/plugins/systemd/systemd.plugin.zsh +++ b/plugins/systemd/systemd.plugin.zsh @@ -10,3 +10,7 @@ sudo_commands=( for c in $user_commands; do; alias sc-$c="systemctl $c"; done for c in $sudo_commands; do; alias sc-$c="sudo systemctl $c"; done + +alias sc-enable-now="sc-enable --now" +alias sc-disable-now="sc-disable --now" +alias sc-mask-now="sc-mask --now" diff --git a/plugins/textmate/textmate.plugin.zsh b/plugins/textmate/textmate.plugin.zsh index 773c4f8d2..02813de9e 100644 --- a/plugins/textmate/textmate.plugin.zsh +++ b/plugins/textmate/textmate.plugin.zsh @@ -1,11 +1,3 @@ -alias et='mate .' -alias ett='mate Gemfile app config features lib db public spec test Rakefile Capfile Todo' -alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo' -alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo' - -# Edit Ruby app in TextMate -alias mr='mate CHANGELOG app config db lib public script spec test' - # If the tm command is called without an argument, open TextMate in the current directory # If tm is passed a directory, cd to it and open it in TextMate # If tm is passed a file, open it in TextMate diff --git a/plugins/wp-cli/README.md b/plugins/wp-cli/README.md index 6dda07d17..1a79d60fc 100644 --- a/plugins/wp-cli/README.md +++ b/plugins/wp-cli/README.md @@ -43,7 +43,7 @@ WP-CLI is a set of command-line tools for managing WordPress installations. You - wpps='search' - wppst='status' - wppt='toggle' -- wppu='uninstall' +- wppun='uninstall' - wppu='update' ### Post @@ -55,7 +55,7 @@ WP-CLI is a set of command-line tools for managing WordPress installations. You - wppol='wp post list' - wppom='wp post meta' - wppou='wp post update' -- wppou='wp post url' +- wppourl='wp post url' ### Sidebar - wpsbl='wp sidebar list' diff --git a/plugins/wp-cli/wp-cli.plugin.zsh b/plugins/wp-cli/wp-cli.plugin.zsh index 6c70a7a09..7b41c3257 100644 --- a/plugins/wp-cli/wp-cli.plugin.zsh +++ b/plugins/wp-cli/wp-cli.plugin.zsh @@ -63,7 +63,7 @@ alias wppp='wp plugin path' alias wpps='wp plugin search' alias wppst='wp plugin status' alias wppt='wp plugin toggle' -alias wppu='wp plugin uninstall' +alias wppun='wp plugin uninstall' alias wppu='wp plugin update' # Post @@ -75,7 +75,7 @@ alias wppog='wp post get' alias wppol='wp post list' alias wppom='wp post meta' alias wppou='wp post update' -alias wppou='wp post url' +alias wppourl='wp post url' # Rewrite diff --git a/plugins/xcode/xcode.plugin.zsh b/plugins/xcode/xcode.plugin.zsh index b63a857a7..0a2fa0839 100644 --- a/plugins/xcode/xcode.plugin.zsh +++ b/plugins/xcode/xcode.plugin.zsh @@ -179,7 +179,10 @@ function simulator { if [[ -d "${devfolder}/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app" ]]; then open "${devfolder}/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app" # Xcode ≥ 6.x - else + elif [[ -d "${devfolder}/Applications/iOS Simulator.app" ]]; then open "${devfolder}/Applications/iOS Simulator.app" + # Xcode ≥ 7.x + else + open "${devfolder}/Applications/Simulator.app" fi } |