editor-hints

Mission

     Lisp has traditionally been a very interactive language.  Yet Common Lisp
     doesn't specify much with respect to interplay between language and
     (user) environment. The specification does contain a very humble
     Environment chapter that inclusion was supported by the standardization
     commitee to signal the message that environmental interactivity is wished
     for.

     We intend to extend on that.

Editor-hints

     Editor-hints is supposed to become an interface between the Common Lisp
     the language and its development environments.

Mailinglist

     Discussions take place at editor-hints-devel.

News

     2009-10-10: released Named-Readtables 0.9.

Roadmap

     * Named Readtables: (released 2009-10-10.)
    
       Create a namespace for readtable analogously to that of packages.
     
       `(IN-READTABLE :FOO)' are supposed to be recognized by editors, to
       properly deal with different readtables when evaluating stuff.
     
     * Indentation:
     
       Add a facility to specify how symbols are supposed to be indented.
       I.e. something like a DECLAIM-INDENTATION (being based upon a
       PROCLAIM-INDENTATION function) which store indentation information in
       some retrievable way. So that editors can rely on that information from
       a running Lisp image.
     
       This requires some research about the indentation specification schemes
       that different Lisp systems (Lisp machines, Symbolics' Genera, GNU
       Emacs, Lispworks, AllegroCL) use. And then define a practical
       denominator.
       
     * Documentation retrieval:
     
       Add the facility to support project-specific documentation retrieval on
       a per symbol basis.
     
       It's common that editors provide the possibility to quickly visit the
       respective CLHS site for a symbol. But this doesn't work on symbols not
       defined by ANSI.
     
     * Pretty docstrings:
     
       Add support for using markup in docstrings.
     
       Also detach too elaborate docstrings from the actual function/macro/etc
       definition.
     
     * Source locations:
     
       First class source locations; for instance imagine a
     
         (DEFINE-ELABORATE-DOCUMENTATION FOO ...)
     
       macro that registers documentation (in CLHS style, for example) to the
       symbol FOO, and which can be retrieved via
       
         (DOCUMENTATION 'FOO 'ELABORATE-DOCUMENTATION)
     
       Now, an editor may also want to provide M-.ness for this stuff, i.e. to
       enable the user to easily jump to the DEFINE-ELABORATE-DOCUMENTATION
       definition. For that to work, the above macro should expand to
       something that registers its source location into a a weak hash-table
       from symbols to source locations, such that the editor can consult that
       hash-table by some specified interface.
     
     * Querying users for input
     
       Providing functions to query the user for some kind of input. These
       functions are supposed to be used for USE-VALUE restarts, for instance.
       And they're supposed to be implemented by editors in some fancy way
       (than just using *QUERY-IO* directly.)



Back to Common-lisp.net.

Valid XHTML 1.0 Strict