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

Re: zle oddity or some option running wild?



From: Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx>
Date: Thu, 27 Jun 2024 16:41:50 +0100 (BST)

> > On 27/06/2024 16:19 BST Thomas Lauer <thomas.lauer@xxxxxxxxxx> wrote:
> > From: Thomas Lauer <thomas.lauer@xxxxxxxxxx>
> > Date: Wed, 26 Jun 2024 17:10:58 +0100
> > 
> > > I have this in my zsh init:
> > > autoload -U select-word-style
> > > select-word-style shell
> > 
> > I've now realised that these two commands interfere with almost every
> > widget I've written that copies/kills stuff from the command line.
> 
> This is likely to be something to do with the "zle -f" stuff documented
> in the zshzle manual page --- getting kills and yanks from widgets to
> fit together nicely is a bit messy because they don't have the same
> knowledge about what's going on as builtin widgets.
> 
> pws

Whatever the cause, select-word-style seems to change something globally
in a way that isn't helpful (to my use case).

But I've now cobbled together something that seems to do the job of
backward-kill-shell-word. A bit of a hack but seems to work:

backward-kill-shell-word() {
	mark-or-kill
	zle vi-backward-blank-word
	mark-or-kill
}

with

mark-or-kill() {
	if [[ $REGION_ACTIVE == 0 ]]; then
		zle set-mark-command
	else
		zle set-mark-command -n -1
		zle kill-region
	fi
}

(I had the latter already defined as I use it for various other
widgets.)

So problem solved w/o select-word-style and lesson learned :-/

Thomas




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