Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: New "make" completion (Attempt 3)



On Tue, 24 Nov 2009 10:11:25 +0000
Peter Stephenson <pws@xxxxxxx> wrote:
> This:
> 
>   # These are left over from the old completion. I'm not sure what they do.
>   #compstate[parameter]="${PREFIX%%\=*}"
>   #compset -P 1 '*='
>   #_value "$@"
> 
> was an attempt to complete the value of a variable, using the usual
> context of parameter completion.  By default you'd be able to complete
> files, which was quite useful.  I'll commit the following, as well
> as fixing the indentation back to two spaces:

On second thoughts, I don't see any point in restricting the completion of
values to variables already mentioned in the Makefile; what about PATH, for
example?  As far as I know, make syntax is explicit that <var>= is always
parsed as an assignment, so there's no gain in dropping through to the
other branch.

Index: Completion/Unix/Command/_make
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_make,v
retrieving revision 1.22
diff -u -r1.22 _make
--- Completion/Unix/Command/_make	24 Nov 2009 10:14:33 -0000	1.22
+++ Completion/Unix/Command/_make	24 Nov 2009 10:33:40 -0000
@@ -197,7 +197,7 @@
     fi
   fi
 
-  if [[ $PREFIX == (#b)([^=]##)'='* ]] && [[ -n ${${(k)VARIABLES}[(r)${match[1]}]} ]]
+  if [[ $PREFIX == *'='* ]]
   then
     # Complete make variable as if shell variable
     compstate[parameter]="${PREFIX%%\=*}"

-- 
Peter Stephenson <pws@xxxxxxx>            Software Engineer
Tel: +44 (0)1223 692070                   Cambridge Silicon Radio Limited
Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, UK


Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom



Messages sorted by: Reverse Date, Date, Thread, Author