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

Re: New "make" completion (Attempt 3)



Michael Hwang wrote:
> --0016e6d58b2f9031690479127c3d
> Content-Type: text/plain; charset=ISO-8859-1
> 
> Sorry, I guess Yahoo is nuking my attachments. Just in case, there's
> an attachment on this e-mail, as well as a paste.
> 
> http://pastebin.com/m3800c08b

At the risk of rubbing it in, that wasn't completely ideal either:  a
URL that points to the raw file is better.

I've committed this---it certain looks like it does a better job after a
brief test.

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 tha 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:

Index: Completion/Unix/Command/_make
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_make,v
retrieving revision 1.21
diff -u -r1.21 _make
--- Completion/Unix/Command/_make	24 Nov 2009 10:01:11 -0000	1.21
+++ Completion/Unix/Command/_make	24 Nov 2009 10:08:53 -0000
@@ -197,7 +197,10 @@
 
 	if [[ $PREFIX == (#b)([^=]##)'='* ]] && [[ -n ${${(k)VARIABLES}[(r)${match[1]}]} ]]
 	then
-		_message 'override make variable'
+	        # Complete make variable as if shell variable
+		compstate[parameter]="${PREFIX%%\=*}"
+		compset -P 1 '*='
+		_value "$@"
 	else
 		_tags targets variables
 		while _tags
@@ -208,9 +211,4 @@
 				compadd -S '=' -- ${(k)VARIABLES}
 		done
 	fi
-
-	# These are left over from the old completion. I'm not sure what they do.
-	#compstate[parameter]="${PREFIX%%\=*}"
-	#compset -P 1 '*='
-	#_value "$@"
 fi


-- 
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