Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Call for opinions on a couple of prospective zsh patches

Greg Badros <gjb@@cs.washington.edu> has submitted patches for three new
features that could appear in zsh 3.0.6.  I'm undecided whether to add
any or all of them.  They are:

* Completion using "dynamic abbreviations" after the manner of the emacs
  dabbrev package.  This includes adding a special `dabbrev-complete' ZLE
  action, along the lines of expand-or-complete, complete-word, etc.

  I find the effects of `dabbrev-complete' to be -very- similar to
	setopt menu_complete
	compctl -D -s '${=$(history -nr 1)}'
  except that it can be bound to a different key than regular completion,
  it always uses menu-completion behavior regardless of the option, and
  the menu is sorted in reverse time order rather than alphabetically.

  The next 3.1 release will include commands to bind special user-defined
  completions to separate keystrokes (in the way that expand-or-complete
  can be bound to a different key than complete-word, in 3.0) and also to
  associate menu behavior with individual completions and to custom-sort
  the menus; so a new builtin complete action is not likely to be added in
  3.1.6.  I'm thus reluctant to have 3.0 branch off in a direction that
  the development version won't follow.  And I think that most of the
  benefits of `dabbrev-complete' can be had in plain 3.0.5 by adding the
  above -s ... to a few compctls, so a builtin is not strictly necessary.

* Partial word motions in the face of mixed case, i.e. move the cursor to
  the next/previous capital letter InMixedCaseWordsLikeThisOne, including
  deletions that treat words this way.  This is also handled by adding a
  few new ZLE builtins, and relies on isupper() to detect upper case, so
  it may behave differently in different language locales.

  My first inclination was to think that this should be handled with the
  WORDCHARS variable, but of course WORDCHARS adds other characters that
  are treated as alphanumeric; there's no way to say that upper case
  letters should -not- be treated as alphanumeric.  I guess I'd prefer a
  patch that handled wordchar-exlusions more generically (without adding
  builtins) and I may even look at adding such a thing.

  For this patch to go into 3.0.6, I'd want PWS to agree that the new ZLE
  builtins would appear in 3.1.6, too.

* Support for the LS_COLORS environment string, to colorize file names in
  the same contexts where the LIST_TYPES option presently appends various
  markers ('/' for directories, '@' for symlinks, etc.).  Depends on the
  terminal having color capability, obviously.

  The only issue about this one is that it's borrowed from GNU copylefted
  source.  I don't want to include it without an exemption from the GPL,
  and Greg doesn't want to pester the FSF about an exemption unless I'm
  certain to include it; so we're temporarily at an impasse.  If several
  zsh users say they'd like to see this included, I'll tell Greg to go
  ahead and request the exemption.

Please agree/disagree/comment to help me make a decision on these.  Thanks.

Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Messages sorted by: Reverse Date, Date, Thread, Author