Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: Re: completion function for apachectl
- X-seq: zsh-workers 13536
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: PATCH: Re: completion function for apachectl
- Date: Mon, 26 Feb 2001 16:04:16 +0100 (MET)
- In-reply-to: Fletch's message of 26 Feb 2001 09:31:33 -0500
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
Fletch wrote:
> ...
>
> [... Brutal savaging of my version choped :) ]
;-) sorry...
> ...
>
> I've been frustrated that TAB doesn't Do What I Mean for stuff
> in /etc/rc.d/init.d several times. You almost could generate it on
> the fly with a for over /etc/rc.d/init.d/*, maybe with a style for
> things that take strange arguments other than start or stop.
So here are some small functions... I didn't use a style yet, maybe
we'll be able to add some system specific magic so that users don't
have to be bothered...
That change in _normal makes it use ${PWD}/$words[1] when completing
arguments for something that is given as a relative path (`./foo <TAB>').
Bye
Sven
Index: Completion/Base/_sub_commands
===================================================================
RCS file: _sub_commands
diff -N _sub_commands
--- /dev/null Mon Dec 11 17:26:27 2000
+++ _sub_commands Mon Feb 26 07:00:21 2001
@@ -0,0 +1,9 @@
+#autoload
+
+local expl
+
+if [[ CURRENT -eq 2 ]]; then
+ _wanted commands expl command compadd "$@"
+else
+ _message 'no more arguments'
+fi
Index: Completion/Core/_normal
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Core/_normal,v
retrieving revision 1.5
diff -u -r1.5 _normal
--- Completion/Core/_normal 2001/01/15 09:11:32 1.5
+++ Completion/Core/_normal 2001/02/26 15:00:21
@@ -30,6 +30,10 @@
eval cmd1\=$command
cmd2="$command[2,-1]"
curcontext="${curcontext%:*:*}:${cmd2}:"
+ elif [[ "$command" = ..#/* ]]; then
+ cmd1="${PWD}/$command"
+ cmd2="${command:t}"
+ curcontext="${curcontext%:*:*}:${cmd2}:"
elif [[ "$command" = */* ]]; then
cmd1="$command"
cmd2="${command:t}"
Index: Completion/User/_apachectl
===================================================================
RCS file: _apachectl
diff -N _apachectl
--- /dev/null Mon Dec 11 17:26:27 2000
+++ _apachectl Mon Feb 26 07:00:21 2001
@@ -0,0 +1,3 @@
+#compdef apachectl
+
+_sub_commands start startssl stop restart fullstatus status graceful configtest help
Index: Completion/User/_init_d
===================================================================
RCS file: _init_d
diff -N _init_d
--- /dev/null Mon Dec 11 17:26:27 2000
+++ _init_d Mon Feb 26 07:00:21 2001
@@ -0,0 +1,5 @@
+#compdef -P */(init|rc[0-9]#).d/*
+
+# This should probably be system specific...
+
+_sub_commands start stop
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author