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

Re: Odd autoremoveslash behaviour



Sven wrote:
> > % echo /
> >       ^gorn.
> 
> (Hey, super woody word...)

It's quite olde englishe.  There's a song by Flanders and Swann to the tune
of the rondo to Mozart's fourth horn concerto with the words (to the slow,
minor key episode in the middle) `Lost that horn... Found that
horn... Gorn'.

The removeslash behaviour now works.  I had a play round with menu
selection and found if you try and turn it off by setting the menu style,
it doesn't work because _main_complete doesn't unset MENUSELECT unless
explicitly told to.  Is there any reason not to make that local in
_main_complete?

Further, setting the style to select=long does set MENUSELECT correctly,
but unless I've misunderstood doesn't seem to have the effect that menu
selection is only started for lists longer than a page.

The following simple function, zse (Z style edit) makes it easy to edit
styles on the fly; it's sort of zed-like.  Any interest in including it?
Having argued for vared to behave as if you were editing the parameter
value, I now find I need to make it behave as if you had a full command
line, since you do.  How do I do that with compcontext?


# Edit shell styles as `zstyle' command lines.  Lines are evaluated as
# ordinary shell code.  The altered styles are not saved.
#
# With arguments, edit the existing styles for any style names matching
# the patterns given (quote to protect from filename generation).
# With no arguments, edit all styles.
#
# Example:
#   zse menu list-prompt
# allows you to edit any existing zstyle lines for the menu and list-prompt
# styles.  Hit return to accept, ^G to abort.
#
# To do:
#   persuade completion to do ordinary command-line completion inside vared;
#   make zse arguments complete style names.

emulate -L zsh
unsetopt ksharrays

local styles line pat

if (( $# )); then
  zstyle -L | while read -A line; do
    for pat in $*; do
      if [[ $line[3] = ${~pat} ]]; then
        styles="${styles:+$styles
}$line"
	break
      fi
    done	  
  done
else
  styles="$(zstyle -L)"
fi

vared styles && eval $styles

-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxxxxxxxxxx>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070



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