Julio Biason
4 years ago
4 changed files with 0 additions and 444 deletions
@ -1,344 +0,0 @@ |
|||||||
#!zsh |
|
||||||
# |
|
||||||
# Installation |
|
||||||
# ------------ |
|
||||||
# |
|
||||||
# To achieve git-flow completion nirvana: |
|
||||||
# |
|
||||||
# 0. Update your zsh's git-completion module to the newest verion. |
|
||||||
# From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD |
|
||||||
# |
|
||||||
# 1. Install this file. Either: |
|
||||||
# |
|
||||||
# a. Place it in your .zshrc: |
|
||||||
# |
|
||||||
# b. Or, copy it somewhere (e.g. ~/.git-flow-completion.zsh) and put the following line in |
|
||||||
# your .zshrc: |
|
||||||
# |
|
||||||
# source ~/.git-flow-completion.zsh |
|
||||||
# |
|
||||||
# c. Or, use this file as a oh-my-zsh plugin. |
|
||||||
# |
|
||||||
|
|
||||||
_git-flow () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'init:Initialize a new git repo with support for the branching model.' |
|
||||||
'feature:Manage your feature branches.' |
|
||||||
'release:Manage your release branches.' |
|
||||||
'hotfix:Manage your hotfix branches.' |
|
||||||
'support:Manage your support branches.' |
|
||||||
'version:Shows version information.' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow' subcommands |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(init) |
|
||||||
_arguments \ |
|
||||||
-f'[Force setting of gitflow branches, even if already configured]' |
|
||||||
;; |
|
||||||
|
|
||||||
(version) |
|
||||||
;; |
|
||||||
|
|
||||||
(hotfix) |
|
||||||
__git-flow-hotfix |
|
||||||
;; |
|
||||||
|
|
||||||
(release) |
|
||||||
__git-flow-release |
|
||||||
;; |
|
||||||
|
|
||||||
(feature) |
|
||||||
__git-flow-feature |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git-flow-release () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'start:Start a new release branch.' |
|
||||||
'finish:Finish a release branch.' |
|
||||||
'list:List all your release branches. (Alias to `git flow release`)' |
|
||||||
'publish:Publish release branch to remote.' |
|
||||||
'track:Checkout remote release branch.' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow release' subcommands |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(start) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]'\ |
|
||||||
':version:__git_flow_version_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(finish) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]' \ |
|
||||||
-s'[Sign the release tag cryptographically]'\ |
|
||||||
-u'[Use the given GPG-key for the digital signature (implies -s)]'\ |
|
||||||
-m'[Use the given tag message]'\ |
|
||||||
-p'[Push to $ORIGIN after performing finish]'\ |
|
||||||
':version:__git_flow_version_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(publish) |
|
||||||
_arguments \ |
|
||||||
':version:__git_flow_version_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(track) |
|
||||||
_arguments \ |
|
||||||
':version:__git_flow_version_list' |
|
||||||
;; |
|
||||||
|
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git-flow-hotfix () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'start:Start a new hotfix branch.' |
|
||||||
'finish:Finish a hotfix branch.' |
|
||||||
'list:List all your hotfix branches. (Alias to `git flow hotfix`)' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow hotfix' subcommands |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(start) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]'\ |
|
||||||
':hotfix:__git_flow_version_list'\ |
|
||||||
':branch-name:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
(finish) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]' \ |
|
||||||
-s'[Sign the release tag cryptographically]'\ |
|
||||||
-u'[Use the given GPG-key for the digital signature (implies -s)]'\ |
|
||||||
-m'[Use the given tag message]'\ |
|
||||||
-p'[Push to $ORIGIN after performing finish]'\ |
|
||||||
':hotfix:__git_flow_hotfix_list' |
|
||||||
;; |
|
||||||
|
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git-flow-feature () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'start:Start a new feature branch.' |
|
||||||
'finish:Finish a feature branch.' |
|
||||||
'list:List all your feature branches. (Alias to `git flow feature`)' |
|
||||||
'publish:Publish feature branch to remote.' |
|
||||||
'track:Checkout remote feature branch.' |
|
||||||
'diff:Show all changes.' |
|
||||||
'rebase:Rebase from integration branch.' |
|
||||||
'checkout:Checkout local feature branch.' |
|
||||||
'pull:Pull changes from remote.' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow feature' subcommands |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(start) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]'\ |
|
||||||
':feature:__git_flow_feature_list'\ |
|
||||||
':branch-name:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
(finish) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]' \ |
|
||||||
-r'[Rebase instead of merge]'\ |
|
||||||
':feature:__git_flow_feature_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(publish) |
|
||||||
_arguments \ |
|
||||||
':feature:__git_flow_feature_list'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(track) |
|
||||||
_arguments \ |
|
||||||
':feature:__git_flow_feature_list'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(diff) |
|
||||||
_arguments \ |
|
||||||
':branch:__git_branch_names'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(rebase) |
|
||||||
_arguments \ |
|
||||||
-i'[Do an interactive rebase]' \ |
|
||||||
':branch:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
(checkout) |
|
||||||
_arguments \ |
|
||||||
':branch:__git_flow_feature_list'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(pull) |
|
||||||
_arguments \ |
|
||||||
':remote:__git_remotes'\ |
|
||||||
':branch:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git_flow_version_list () |
|
||||||
{ |
|
||||||
local expl |
|
||||||
declare -a versions |
|
||||||
|
|
||||||
versions=(${${(f)"$(_call_program versions git flow release list 2> /dev/null | tr -d ' |*')"}}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted versions expl 'version' compadd $versions |
|
||||||
} |
|
||||||
|
|
||||||
__git_flow_feature_list () |
|
||||||
{ |
|
||||||
local expl |
|
||||||
declare -a features |
|
||||||
|
|
||||||
features=(${${(f)"$(_call_program features git flow feature list 2> /dev/null | tr -d ' |*')"}}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted features expl 'feature' compadd $features |
|
||||||
} |
|
||||||
|
|
||||||
__git_remotes () { |
|
||||||
local expl gitdir remotes |
|
||||||
|
|
||||||
gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
# TODO: Should combine the two instead of either or. |
|
||||||
if (( $#remotes > 0 )); then |
|
||||||
_wanted remotes expl remote compadd $* - $remotes |
|
||||||
else |
|
||||||
_wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
__git_flow_hotfix_list () |
|
||||||
{ |
|
||||||
local expl |
|
||||||
declare -a hotfixes |
|
||||||
|
|
||||||
hotfixes=(${${(f)"$(_call_program hotfixes git flow hotfix list 2> /dev/null | tr -d ' |*')"}}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted hotfixes expl 'hotfix' compadd $hotfixes |
|
||||||
} |
|
||||||
|
|
||||||
__git_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/}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted branch-names expl branch-name compadd $* - $branch_names |
|
||||||
} |
|
||||||
|
|
||||||
__git_command_successful () { |
|
||||||
if (( ${#pipestatus:#0} > 0 )); then |
|
||||||
_message 'not a git repository' |
|
||||||
return 1 |
|
||||||
fi |
|
||||||
return 0 |
|
||||||
} |
|
||||||
|
|
||||||
zstyle ':completion:*:*:git:*' user-commands flow:'provide high-level repository operations' |
|
@ -1,12 +0,0 @@ |
|||||||
# Use colon separators. |
|
||||||
xterm-24bit|xterm with 24-bit direct color mode, |
|
||||||
use=xterm-256color, |
|
||||||
setb24=\E[48:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%dm, |
|
||||||
setf24=\E[38:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%dm, |
|
||||||
# Use semicolon separators. |
|
||||||
xterm-24bits|xterm with 24-bit direct color mode, |
|
||||||
use=xterm-256color, |
|
||||||
setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm, |
|
||||||
setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm, |
|
||||||
|
|
||||||
# build with tic -x -o ~/.terminfo terminfo-24bit.src |
|
@ -1,28 +0,0 @@ |
|||||||
_watson_completion() { |
|
||||||
local -a completions |
|
||||||
local -a completions_with_descriptions |
|
||||||
local -a response |
|
||||||
response=("${(@f)$( env COMP_WORDS="${words[*]}" \ |
|
||||||
COMP_CWORD=$((CURRENT-1)) \ |
|
||||||
_WATSON_COMPLETE="complete_zsh" \ |
|
||||||
watson )}") |
|
||||||
|
|
||||||
for key descr in ${(kv)response}; do |
|
||||||
if [[ "$descr" == "_" ]]; then |
|
||||||
completions+=("$key") |
|
||||||
else |
|
||||||
completions_with_descriptions+=("$key":"$descr") |
|
||||||
fi |
|
||||||
done |
|
||||||
|
|
||||||
if [ -n "$completions_with_descriptions" ]; then |
|
||||||
_describe -V unsorted completions_with_descriptions -U -Q |
|
||||||
fi |
|
||||||
|
|
||||||
if [ -n "$completions" ]; then |
|
||||||
compadd -U -V unsorted -Q -a completions |
|
||||||
fi |
|
||||||
compstate[insert]="automenu" |
|
||||||
} |
|
||||||
|
|
||||||
compdef _watson_completion watson; |
|
@ -1,60 +0,0 @@ |
|||||||
autoload -Uz promptinit |
|
||||||
promptinit |
|
||||||
prompt adam1 |
|
||||||
|
|
||||||
setopt histignorealldups sharehistory |
|
||||||
|
|
||||||
# Use emacs keybindings even if our EDITOR is set to vi |
|
||||||
bindkey -e |
|
||||||
|
|
||||||
# Keep 1000 lines of history within the shell and save it to ~/.zsh_history: |
|
||||||
HISTSIZE=1000 |
|
||||||
SAVEHIST=1000 |
|
||||||
HISTFILE=~/.zsh_history |
|
||||||
|
|
||||||
# Use modern completion system |
|
||||||
autoload -Uz compinit |
|
||||||
compinit |
|
||||||
|
|
||||||
zstyle ':completion:*' auto-description 'specify: %d' |
|
||||||
zstyle ':completion:*' completer _expand _complete _correct _approximate |
|
||||||
zstyle ':completion:*' format 'Completing %d' |
|
||||||
zstyle ':completion:*' group-name '' |
|
||||||
zstyle ':completion:*' menu select=2 |
|
||||||
eval "$(dircolors -b)" |
|
||||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} |
|
||||||
zstyle ':completion:*' list-colors '' |
|
||||||
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s |
|
||||||
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*' |
|
||||||
zstyle ':completion:*' menu select=long |
|
||||||
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s |
|
||||||
zstyle ':completion:*' use-compctl false |
|
||||||
zstyle ':completion:*' verbose true |
|
||||||
|
|
||||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' |
|
||||||
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd' |
|
||||||
|
|
||||||
# Support 24bit terminal (see the terminfo file) |
|
||||||
export TERM=xterm-24bit |
|
||||||
|
|
||||||
# Rust |
|
||||||
export PATH="$HOME/.cargo/bin:$PATH" |
|
||||||
|
|
||||||
# My executables |
|
||||||
export PATH="$PATH:$HOME/bin" |
|
||||||
|
|
||||||
# Completions |
|
||||||
source ~/.gitflow-completion.zsh |
|
||||||
|
|
||||||
# Scotty |
|
||||||
source <(scotty init zsh) |
|
||||||
|
|
||||||
# Starship |
|
||||||
source <("starship" init zsh --print-full-init) |
|
||||||
|
|
||||||
# Aliases |
|
||||||
if [ -f $HOME/.aliases ]; then source $HOME/.aliases; fi |
|
||||||
|
|
||||||
# GCP |
|
||||||
if [ -f '/home/juliob/bin/google-cloud-sdk/path.zsh.inc' ]; then . '/home/juliob/bin/google-cloud-sdk/path.zsh.inc'; fi |
|
||||||
if [ -f '/home/juliob/bin/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/juliob/bin/google-cloud-sdk/completion.zsh.inc'; fi |
|
Loading…
Reference in new issue