aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/__fish_complete_subcommand.fish
diff options
context:
space:
mode:
authorGravatar gonchar <gonchar@gonchar-lt.jinr.ru>2011-09-23 14:51:14 +0400
committerGravatar gonchar <gonchar@gonchar-lt.jinr.ru>2011-09-23 14:51:14 +0400
commit39a2fd1717dc69b9f4643bb6a2060713c2e5f636 (patch)
tree85d83318b572c9a141879a9ce6d547c56237116e /share/functions/__fish_complete_subcommand.fish
parentc66ec4df3d57bcbd8eb1fb3d92c3cd80e1c215b5 (diff)
* git rm and git status options are added
* ssh subcomand completion * __fish_complete_subcommand now can skip variable number of tokens
Diffstat (limited to 'share/functions/__fish_complete_subcommand.fish')
-rw-r--r--share/functions/__fish_complete_subcommand.fish16
1 files changed, 11 insertions, 5 deletions
diff --git a/share/functions/__fish_complete_subcommand.fish b/share/functions/__fish_complete_subcommand.fish
index c002b812..885b0544 100644
--- a/share/functions/__fish_complete_subcommand.fish
+++ b/share/functions/__fish_complete_subcommand.fish
@@ -1,14 +1,20 @@
function __fish_complete_subcommand -d "Complete subcommand"
+ set -l skip_next 1
+ switch "$argv[1]"
+ case '--fcs-skip=*'
+ set -l rest
+ echo $argv[1] | tr = ' ' | read test skip_next
+ set -e argv[1]
+ end
set -l res ""
set -l had_cmd 0
set -l cmd (commandline -cop) (commandline -ct)
- set -l skip_next 1
for i in $cmd
- if test "$skip_next" = 1
- set skip_next 0
+ if test $skip_next -gt 0
+ set skip_next (expr $skip_next - 1)
continue
end
@@ -17,15 +23,15 @@ function __fish_complete_subcommand -d "Complete subcommand"
else
if contains -- $i $argv
- set skip_next 1
+ set skip_next (expr $skip_next + 1)
continue
end
switch $i
case '-*'
case '*=*'
-
case '*'
+
set had_cmd 1
set res $i
end