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

pre-populate zle for next command?



Is there any way for a command to pre-populate the the zle for the next
command?

Suppose I have, for example, a zsh function "buildcmd" that produces a
command line (based on supplied arguments, say) that the user would then be
able to edit in the zle before hitting enter to accept the line and execute
it.  The flow would be:

    % buildcmd --my --args<enter>
    % <output_from_buildcmd>

I know I could just do:

    % `buildcmd --my --args`<tab>

to achieve the same thing, but it's a bit more tedious than I'd like.

Ideally there'd be some hook (precmd?  accept-line?) that could check a
variable and pre-populate the zle:

  buildcmd() {
    zle_prepopulate="some command to edit"
  }

  precmd() {
    if [ -n "$zle_prepopulate" ]
    then
      zle -U "$zle_prepopulate"
    fi
  }

...but of course this doesn't quite work because the call to zle is not in
the context of a widget.

Is there a way?

Thanks!

Steve


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