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

Re: accept-line question



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% 

Thanks



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