Lisp HUG Maillist Archive

RE: Symbol Completion in LW IDE

Thank you,
  That does indeed do what I was looking for (with as you mention the
need for some sorting of the output).

Shawn Nicholson


-----Original Message-----
From: davef@lispworks.com [mailto:davef@lispworks.com] 
Sent: Tuesday, June 21, 2005 12:46 PM
To: Shawn Nicholson
Cc: lisp-hug@lispworks.com
Subject: Re: Symbol Completion in LW IDE


 >   I was wondering if there was any way to do symbol completion in the
 > IDE that provides possible completions for symbols not in the current
 > package and without having specified the package.
 > 
 > For example, if at the prompt I type:
 > 
 > CL-USER 1 > capi:prompt-for
 >   
 > And then hit Ctrl-Alt-I to initiate symbol completion, it will list
for
 > me all the possible completions.  What I would like is to not be
 > required to know the package name necessarily and type:
 > 
 > CL-USER 1 > prompt-for
 > 
 > And have the system return the possible completions, including their
 > packages (return the same list I get with the capi:prompt-for
expanded
 > with other <package>:prompt-for  completions).

This is not supported but you should be able to do it by seeing how
symbol completion is done in the editor source code, if you have the
commercial version of the product.

Firstly configure your image to use the editor source location
database, like this:
http://www.lispworks.com/documentation/lw445/LWUG/html/lwuser-134.htm

Then you can do 

 Alt+X W h a t Space C o m m a n d Ctrl+Alt+I

(or more succinctly Ctrl+H C Ctrl+Alt+I) to discover that the command
is called "Complete Symbol".

Then you can use the command "Edit Editor Command" to find the source
of "Complete Symbol". 

Use Alt+. to find the source of the internal functions that this
command calls. You can trace some of these or use the Stepper tool to
see where the list of possible completions is generated.

Where it uses DO-EXTERNAL-SYMBOLS and DO-SYMBOLS, I think a simple
change to make it use DO-ALL-SYMBOLS instead will achieve exactly what
you seek. Having just tried that, I'm not sure it's useful as-is (you
might want to sort the list of completions for instance) but YMMV.

__
Dave Fox
LispWorks Ltd
St John's Innovation Centre
Cowley Road
Cambridge
CB4 0WS
England

+44 1223 421861





Updated at: 2020-12-10 08:52 UTC