Browse Source

Add completion for Git submodule moving and removing

master
Sorin Ionescu 12 years ago
parent
commit
8b8a883718
  1. 41
      modules/git/functions/_git-submodule-move
  2. 27
      modules/git/functions/_git-submodule-remove

41
modules/git/functions/_git-submodule-move

@ -0,0 +1,41 @@
#compdef git-submodule-move
#autoload
#
# Completes git-submodule-move.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
return 1
fi
local state expl ret=1
local -a submodules
local submodule
_arguments -C -s -S \
'1::args:->submodule' \
'2::args:->directory' && ret=0
case "$state" in
(submodule)
while IFS=$'\n' read submodule; do
submodules+=("$submodule")
done < <(
git config --file "$(git-root)/.gitmodules" --list \
| grep '.path=' \
| cut -d= -f2-
)
_describe -t submodule 'submodules' submodules && ret=0
;;
(directory)
_wanted directories expl 'directory' _path_files -/ || _message 'directory'
;;
esac
return $ret

27
modules/git/functions/_git-submodule-remove

@ -0,0 +1,27 @@
#compdef git-submodule-remove
#autoload
#
# Completes git-submodule-remove.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
return 1
fi
local -a submodules
local submodule
while IFS=$'\n' read submodule; do
submodules+=("$submodule")
done < <(
git config --file "$(git-root)/.gitmodules" --list \
| grep '.path=' \
| cut -d= -f2-
)
_describe -t submodule 'submodules' submodules && return 0
Loading…
Cancel
Save