jed-users mailing list

[2003 Date Index] [2003 Thread Index] [Other years]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]

Re: New Jed Modes


I intentionally moved this reply out of the JMR Problems thread because this
might get deeply threaded and bla bla bla *grin*

On Thu, Nov 13, 2003 at 01:32:14PM -0500, John E. Davis wrote:
> Before the end of the year, I would like to release 0.99-17.  I was
> going to wait until after the first version of slang 2, but the
> schedule for that has slipped.  For jed 0.99-17 I would like to start
> merging some of the more stable modes, etc. from the modes repository
> into the main jed distribution, particularly if the modes there are
> better than the ones shipped with jed.

Great news!

> 
> So, let me ask you this: What modes (or other functionality) should I
> merge into the main jed distribution?  For example, is cua.sl in the
> modes repository superior to the one currently distributed with jed?
> If so, then it would be a likely candidate.

I have queued up several features which I would love to see incorporated in
the main distribution.  Please consider the following features for the next
release:

 * automode:

   An alternative to the add_mode_for_extension API called "automode" which
   extends the mode <-> filename associations using simple shell-like globbing
   from the internal function glob_to_regexp.  This feature currently depends
   on Mode_Hook_Pointer, but that can be changed quite easily.  Example usage:

     automode ("make_mode", "make", "*.am", "*.rules", "Makefile");

 * cmisc.sl extensions:

   I have written several miscellaneous keybind functions which I find
   extremely useful when editing C source.  Some of the more useful features
   are as follows:
      
     - c_open_header: Uses find_file to open the corresponding header file for
       the currently opened C source file or vice versa.  Simple exchanges
       file extension ".c" => ".h" and ".h" => ".c" and prompts.

     - c_add_include_guard: Inserts an #ifndef __FOO_H ... #endif block for
       the purpose of serving as the extremely common C include guard.  May
       not really be an appropriate feature for inclusion in the main distrib
       though.

     - c_make_or_unmake_if0: Nearly identical to the make_or_unmake comment
       functions except that it applies "commenting" using an #if 0 ... #endif
       block.

 * comments.sl extensions:

    Added a "cmid" field through an extended wrapped interface 
    (set_comment_infoex) and a function which adds horizontal "separators"
    using the local mode's comment specifier.  For example, when calling
    comment_separator() from within C mode a bar resembling /*****/ will be
    constructed while in SLang mode, the bar would resemble %%%%%%%.  The bar
    is always carried out to WRAP_COLUMN - 1.

    Also rewrote c_comment_column() (default bound to \e; in emacs mode) so
    that it works generically for all modes as well as fixed irritating bugs
    with its implementation.  Added a feature for calculating the nearest
    offset of tabstop closest to but beyond JED_COMMENT_COLUMN when the
    comment may not be placed at that exact column.

 * make.sl:
 
    A mode that I believe is on JMR (I'm probably wrong, though) that I feel
    should be included with the standard distribution.  It is extremely useful
    and immediately relevant to programming with C and other compiled 
    languages.  I have made some minor extensions which I would like considered
    in addition to the original mode.


Further discussion of these changes is encouraged.  If you're interested in
looking over the source for these extensions, my full ~/.jed/ environment may
be found at http://jasta.gotlinux.org/jed/dotjed-0.2.tar.gz

> 
> Most of the other changes in 0.99-17 involve bug fixes and cosmetic (I
> hope!) internal changes meant for UTF-8 support.  I will probably
> include the patch for line numbering as well.

Fix the hooks.c bug I reported earlier? :)


-- 
Josh Guilfoyle
http://jasta.gotlinux.org/

--------------------------
To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
the word "unsubscribe" in the message body.
Need help? Email <jed-users-owner@xxxxxxxxxxx>.


[2003 date index] [2003 thread index]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]