aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/__fish_complete_subcommand.fish
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2006-02-17 20:13:39 +1000
committerGravatar axel <axel@liljencrantz.se>2006-02-17 20:13:39 +1000
commit343cafef346543282b5b6e825bc8f9dd10028a48 (patch)
tree1bcf221ecb525c7aeadc8325e7b780d3656e544b /share/functions/__fish_complete_subcommand.fish
parent95a01f3c8f15034433ffce368d8f2d13d925139c (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.fish36
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
+