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

Re: accept-line question



On Thu, Apr 2, 2015 at 7:12 PM, Dave Yost <Dave@xxxxxxxx> wrote:
> Sorry, that email was flawed. Let me try again.
>
> Below, after sourcing a script, I type ^a then ^b.
> The ^a works as expected, but not the ^b
>
> There must be something more I have to do besides “accept-line”. But what?
>
> 0 Thu 9:59:38 yost DaveBook ~
> 206 Z% cat accept-line-test.zsh
> function xxx {
>   BUFFER="$1"
>   zle -R
>   zle accept-line
> }
>
> function x1 {
>   xxx echo\ 1
> }
>
> function x2 {
>   xxx echo\ 2
>   xxx echo\ 3
> }
>
> zle -N x1
> zle -N x2
>
> bindkey ^a x1
> bindkey ^b x2
> 0 Thu 9:59:47 yost DaveBook ~
> 207 Z% source accept-line-test.zsh
> 0 Thu 9:59:54 yost DaveBook ~
> 208 Z% echo 1
> 1
> 0 Thu 9:59:55 yost DaveBook ~
> 209 Z% echo 3
> 3
> 0 Thu 9:59:59 yost DaveBook ~
> 210 Z%
>
> The output I want from ^b is
>
> 0 Wed 0:30:03 yost DaveBook ~
> 240 Z% echo 2
> 2
> 0 Wed 0:30:04 yost DaveBook ~
> 241 Z% echo 3
> 3
> 0 Wed 0:30:04 yost DaveBook ~
> 242 Z%
>
> Extra credit:
>
> Is there a way to write a function x3 that calls x2, such that I can issue x3 from the command line get the result above instead of the result below?
>
> 0 Thu 10:04:32 yost DaveBook ~
> 216 Z% x2
> xxx:zle:3: widgets can only be called when ZLE is active
> xxx:zle:3: widgets can only be called when ZLE is active
> 1 Thu 10:05:55 yost DaveBook ~
> 217 Z%

AFAICT, Bart's answer still applies to the above, so just read that again.

-- 
Mikael Magnusson



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