This commit is contained in:
Gaetan Semet 2013-02-15 09:32:26 +01:00
commit 562ca90f29
10 changed files with 77 additions and 186 deletions

View file

@ -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'

View file

@ -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:

4
plugins/git/README.md Normal file
View file

@ -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

42
plugins/pj/pj.plugin.zsh Normal file
View file

@ -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

View file

@ -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() {

7
plugins/repo/README.md Normal file
View file

@ -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`

View file

@ -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 '<projects>...'
}
_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

View file

@ -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

View file

@ -25,6 +25,8 @@
* `zcu` aliases `zeus cucumber`
* `zucumber` aliases `zeus cucumber`
* `zspec` aliases `zeus rspec`
* `zt` aliases `zeus test`
* `zest` aliases `zeus test`

View file

@ -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'