[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

new version of SYMBOL-COMPLETE uploaded



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