[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
new version of SYMBOL-COMPLETE uploaded
- To: info-macl@cambridge.apple.com
- Subject: new version of SYMBOL-COMPLETE uploaded
- From: ralex@sigi.cs.colorado.edu (Alex Repenning)
- Date: Thu, 26 Aug 1993 20:06:01 -0600
I've just uploaded a newer version of SYMBOL-COMPLETE to
cambridge.apple.com: /pub/MCL2/contrib/fred
It adds the following features:
1) If a function is bound to the completed symbol then print the arglist of
this function. This makes also makes it easier to distinguish between
partial and full completions.
2) Use the shortest package nickname as package prefix for symbols.
Check it out and let me know if you have any sugestions
Alex
Here's a more detailed description on what SYMBOL-COMPLETE does for you:
Author: Alex Repenning, ralex@cs.colorado.edu
Copyright (c) 1992 Alex Repenning
Address: Computer Science Department
University of Colorado at Boulder
Boulder, CO 80309-0430
Filename : symbol-complete.lisp
Last Update : 12/16/92
Version :
1.0 07/24/90 Alex Repenning
1.1 04/13/91 Alex & Brigham Bell completion works also
if cursor in the middle of symbol.
2.0 1/ 6/92 Alex, MCL 2.0
2.0.1 3/31/92 left trim "#'", "#`", "#", "'", "`"
2.0.2 8/25/92 Preserve package qualifier.
2.0.3 12/8/92 Show arglist
2.0.4 12/16/92 Use shortest package qualifiers
System : Macintosh II, MCL 2.0
Abstract : A simple line completion mechanism.
Features:
- Simple one key operation: Since most users do not like to
remember many different completion functions, this
completion package combines several completion
strategies into one function (using a cascading filter
scheme).
1) prefix search in window package
2) prefix search in all packages
3) substring search in window package
4) substring search in all packages
If no symbol is found the next strategy is employed.
If only one symbol is found it will be used as
completion.
If multiple symbols are found then either the symbol
is completed as far as possible or a menu is offered.
- Partial Completion (sounds like a contradiction):
If at any stage in the search there is more than one
interned symbol matching what you typed so far and if
the common prefix of these symbols is longer than what
is typed so far you will get this common prefix.
- Preserves Case: The completion will assume the same case
of the string typed so far (lower case, upper case, or
capitalized),
e.g., "Apple-" gets completed to "Apple-Menu"
- Works also with Dialog Boxes
- It's Small: more comments than code ;-)
Bugs, Problems: Haven't found a good strategy yet to deal with
package prefixes of partial completions:
- use partial completion only if all symbol from same
package?
- strip package prefix?
Any ideas?
Completion can be slow in very crowded packages (e.g., :ccl)
Acknowledgements:
Guillaume Cartier (cartier@mipsmath.math.uqam.ca)
preserve keyword qualifier in partial completion
_/_/_/ _/_/_/ _/_/_/ Alex Repenning (ralex@cs.colorado.edu)
_/ _/ _/ _/ University of Colorado
_/ _/ _/ Department of Computer Science and
_/ _/ _/ Institute of Cognitive Science
_/ _/ _/ _/ Boulder, CO 80309-0430
_/_/_/ _/_/_/ Phone: (303) 492-1218