diff options
author | gonchar <gonchar@gonchar-lt.jinr.ru> | 2011-09-23 14:51:14 +0400 |
---|---|---|
committer | gonchar <gonchar@gonchar-lt.jinr.ru> | 2011-09-23 14:51:14 +0400 |
commit | 39a2fd1717dc69b9f4643bb6a2060713c2e5f636 (patch) | |
tree | 85d83318b572c9a141879a9ce6d547c56237116e /share/functions/__fish_complete_subcommand.fish | |
parent | c66ec4df3d57bcbd8eb1fb3d92c3cd80e1c215b5 (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.fish | 16 |
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 |