diff options
author | axel <axel@liljencrantz.se> | 2006-02-17 20:13:39 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2006-02-17 20:13:39 +1000 |
commit | 343cafef346543282b5b6e825bc8f9dd10028a48 (patch) | |
tree | 1bcf221ecb525c7aeadc8325e7b780d3656e544b /share/functions/__fish_complete_subcommand.fish | |
parent | 95a01f3c8f15034433ffce368d8f2d13d925139c (diff) |
Redo installation file structure, move lots of things to $PREFIX/share/fish
darcs-hash:20060217101339-ac50b-d93d2c620a4b7f75f05ff461a6edbee001da7613.gz
Diffstat (limited to 'share/functions/__fish_complete_subcommand.fish')
-rw-r--r-- | share/functions/__fish_complete_subcommand.fish | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/share/functions/__fish_complete_subcommand.fish b/share/functions/__fish_complete_subcommand.fish new file mode 100644 index 00000000..60ecc35a --- /dev/null +++ b/share/functions/__fish_complete_subcommand.fish @@ -0,0 +1,36 @@ +function __fish_complete_subcommand -d "Complete subcommand" + 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 + continue + end + + if test "$had_cmd" = 1 + set res "$res $i" + else + + if contains -- $i $argv + set skip_next 1 + continue + end + + switch $i + case '-*' + + case '*' + set had_cmd 1 + set res $i + end + end + end + + printf "%s\n" (commandline -ct)(complete -C $res) + +end + |