diff --git a/lib/aliases.zsh b/lib/aliases.zsh index a7f699c19..8a75ece73 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -3,10 +3,18 @@ alias pu='pushd' alias po='popd' # Basic directory operations +alias ..='cd ..' alias ...='cd ../..' +alias ....='cd ../../..' alias -- -='cd -' +alias cd..='cd ..' +alias cd...='cd ../..' +alias cd....='cd ../../..' +alias cd.....='cd ../../../..' + # Super user +alias sudo='sudo ' # This allow 'sudo ll'. See http://www.shellperson.net/using-sudo-with-an-alias/ alias _='sudo' alias please='sudo' diff --git a/plugins/git-remote-branch/README.md b/plugins/git-remote-branch/README.md new file mode 100644 index 000000000..e3f4c29b8 --- /dev/null +++ b/plugins/git-remote-branch/README.md @@ -0,0 +1,5 @@ +## git-remore-branch +**Maintainer:** [Stibbons](https://github.com/Stibbons) + +This plugin increase support for the 'git remote branch' completion function from zsh, adding the +following feature: diff --git a/plugins/git/README.md b/plugins/git/README.md new file mode 100644 index 000000000..8462dda1c --- /dev/null +++ b/plugins/git/README.md @@ -0,0 +1,4 @@ +## git +**Maintainer:** [Stibbons](https://github.com/Stibbons) + +This plugin adds several git aliases and increase the completion function provided by zsh diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh new file mode 100644 index 000000000..ba3765b83 --- /dev/null +++ b/plugins/pj/pj.plugin.zsh @@ -0,0 +1,42 @@ +#!/bin/zsh + +# +# Original idea by DefV (Jan De Poorter) +# Source: https://gist.github.com/pjaspers/368394#comment-1016 +# +# Usage: +# - Set `$PROJECT_PATHS` in your ~/.zshrc +# e.g.: PROJECT_PATHS=(~/src ~/work) +# - In ZSH you now can open a project directory with the command: `pj my-project` +# the plugin will locate the `my-project` directory in one of the $PROJECT_PATHS +# Also tab completion is supported. +# - `pjo my-project` will open the directory in $EDITOR +# + +function pj() { + cmd="cd" + file=$1 + + if [[ "open" == "$file" ]] then + file=$2 + cmd=(${(s: :)EDITOR}) + fi + + for project in $PROJECT_PATHS; do + if [[ -d $project/$file ]] then + $cmd "$project/$file" + unset project # Unset project var + return + fi + done + + echo "No such project $1" +} + +alias pjo="pj open" + +function _pj () { + compadd `/bin/ls -l $PROJECT_PATHS 2>/dev/null | awk '{ print $9 }'` +} + +compdef _pj pj diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh index d855c2445..fb9df4bdd 100644 --- a/plugins/rbenv/rbenv.plugin.zsh +++ b/plugins/rbenv/rbenv.plugin.zsh @@ -32,11 +32,11 @@ for rbenvdir in "${rbenvdirs[@]}" ; do function gems { local rbenv_path=$(rbenv prefix) - gem list $@ | sed \ - -Ee "s/\([0-9\.]+( .+)?\)/$fg[blue]&$reset_color/g" \ - -Ee "s|$(echo $rbenv_path)|$fg[magenta]\$rbenv_path$reset_color|g" \ - -Ee "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \ - -Ee "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g" + gem list $@ | sed -E \ + -e "s/\([0-9a-z, \.]+( .+)?\)/$fg[blue]&$reset_color/g" \ + -e "s|$(echo $rbenv_path)|$fg[magenta]\$rbenv_path$reset_color|g" \ + -e "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \ + -e "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g" } function rbenv_prompt_info() { diff --git a/plugins/repo/README.md b/plugins/repo/README.md new file mode 100644 index 000000000..0b77e6d48 --- /dev/null +++ b/plugins/repo/README.md @@ -0,0 +1,7 @@ +## repo +**Maintainer:** [Stibbons](https://github.com/Stibbons) + +This plugin mainly add support automatic completion for the repo command line tool: +http://code.google.com/p/git-repo/ + +* `r` aliases `repo` diff --git a/plugins/repo/_repo~ b/plugins/repo/_repo~ deleted file mode 100644 index ecb12b5a1..000000000 --- a/plugins/repo/_repo~ +++ /dev/null @@ -1,146 +0,0 @@ -#compdef repo - -_repo() -{ - typeset -A opt_args - local context state line curcontext="$curcontext" - - local ret=1 - - _arguments -C \ - '(- 1 *)--help[show usage]'\ - '1:command:->command'\ - '*::args:->args' && ret=0 - - case $state in - (command) - repo status 2> /dev/null > /dev/null - if [[ $? == 0 ]]; then - local commands; - commands=( - 'abandon:Permanently abandon a development branch' - 'branch:View current topic branches' - 'branches:View current topic branches' - 'checkout:Checkout a branch for development' - 'checkout-manifest:for every project in a manifest tag file check out the sha1 listed in the file' - 'cherry-pick:Cherry-pick a change.' - 'diff:Show changes between commit and working tree' - 'download:Download and checkout a change' - 'format-patch:build patch sets for each project common to a manifest baseline' - 'grep:Print lines matching a pattern' - 'help:Display detailed help on a command' - 'init:Initialize repo in the current directory' - 'list:List projects and their associated directories' - 'overview:Display overview of unmerged project branches' - 'prune:Prune (delete) already merged topics' - 'push:Push the local branch rebase:Rebase local branches on upstream branch' - 'smartsync:Update working tree to the latest known good revision' - 'stage:Stage file(s) for commit start:Start a new branch for development' - 'status:Show the working tree status sync:Update working tree to the latest revision' - 'sync:Update working tree to the latest revision' - 'tag-manifest:for every project in a manifest tag use the sha1 listed in the file set the tagname to it' - 'upload:Upload changes for code review' - ) - _describe -t commands 'command' commands && ret=0 - else - local commands; - commands=( - 'init:Install repo in the current working directory' - 'help:Display detailed help on a command' - ) - _describe -t commands 'command' commands && ret=0 - fi - ;; - (args) - - case $words[1] in - (branch | branches ) - # TODO : list available projects and add them in list to feed compadd with - _arguments :::_branches_projects - ;; - (init) - _arguments \ - "(-h --help)"{-h,--help}"[Show help]" \ - "(-q --quiet)"{-q,--quiet}"[be quiet]" \ - "(-u --manifest-url)"{-u,--manifest-url=}"[manifest repository location]":url:_url \ - "(-b --manifest-branch)"{-b,--manifest-branch=}"[manifest branch or revision]":branch:_branch\ - "(-m --manifest-name)"{-m,--manifest-name=}"[initial manifest file]":manifest_name:_manifest_name\ - "(--mirror)--mirror[mirror the forrest]"\ - "(--reference)--reference=[location of mirror directory]":dir:_dirs\ - "(--depth)--depth=[create a shallow clone with given depth; see git clone]":depth:_depth\ - "(-g --group=)"{-g,--group=}"[restrict manifest projects to ones with a specified group]":group:_group\ - "(-p --platform=)"{-p,--platform=}"[restrict manifest projects to ones with a specified platform group(auto|all|none|linux|darwin|...)]":platform:_platform\ - "(--repo-url)--repo-url=[repo repository location]":url:_url\ - "(--repo-branch)--repo-branch[repo branch or revision]":branch_or_rev:_branch_or_rev\ - "(--no-repo-verify)--no-repo-verify[do not verify repo source code]"\ - "(--config-name)--config-name[Always prompt for name/e-mail]"\ - && ret=0 - ;; - *) - ret=0 - esac - ;; - esac - - return $ret -} - -_url() -{ - _message -e url 'url' -} - -_platform() -{ - _message -e platform 'platform group(auto|all|none|linux|darwin|...)' -} - -_manifest_name() -{ - _message -e manifest_name 'manifest name' -} - -_group() -{ - _message -e group 'group' -} - -_branch() -{ - _message -e branch 'branch' -} - -_branch_or_rev() -{ - _message -e branch_or_rev 'repo branch or revision' -} - -_depth() -{ - _message -e depth 'depth' -} - -_branches_projects() -{ - _message -e depth '...' -} - -_repo "$@" -return $? - - -#typeset -A opt_args - -local context state line -local fontdir - -_arguments \ - "(-l -c -r)init[Install repo in the current working directory]" \ - "(-l -c -r)help[Display detailed help on a command]" \ - && return 0 - - -return 1 - - - diff --git a/plugins/repo/repo.plugin.zsh b/plugins/repo/repo.plugin.zsh index 7a97b86ce..6d19c4999 100644 --- a/plugins/repo/repo.plugin.zsh +++ b/plugins/repo/repo.plugin.zsh @@ -1,36 +1,2 @@ # Aliases #alias r='repo' - -## -#function listRepoCompletions { -# reply=( -# abandon - #branch -# branches -# checkout -# checkout-manifest -# cherry-pick -# diff - #download -# format-patch -# forall -# grep -# help -# init -# list - #overview -# prune -# push -# rebase -# smartsync -# stage -# start -# status - #sync -# tag-manifest -# upload -# ); -#} - -###compctl -K listRepoCompletions repo - diff --git a/plugins/zeus/README.md b/plugins/zeus/README.md index 4409943fe..d7c2aef80 100644 --- a/plugins/zeus/README.md +++ b/plugins/zeus/README.md @@ -25,6 +25,8 @@ * `zcu` aliases `zeus cucumber` * `zucumber` aliases `zeus cucumber` +* `zspec` aliases `zeus rspec` + * `zt` aliases `zeus test` * `zest` aliases `zeus test` diff --git a/plugins/zeus/zeus.plugin.zsh b/plugins/zeus/zeus.plugin.zsh index 2fc7e1ebf..1658b34d3 100644 --- a/plugins/zeus/zeus.plugin.zsh +++ b/plugins/zeus/zeus.plugin.zsh @@ -4,7 +4,7 @@ # Always use bundler. # Rails depends on bundler, so we can be pretty sure, that there are no -# problems with this command. For all the other aliases I provided an +# problems with this command. For all the other aliases I provided an # alternative, in case people have conflicts with other plugins (e.g. suse). alias zeus='bundle exec zeus' @@ -40,6 +40,9 @@ alias zunner='zeus runner' alias zcu='zeus cucumber' alias zucumber='zeus cucumber' +# Rspec +alias zspec='zeus rspec' + # Test alias zt='zeus test' alias zest='zeus test'