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

Re: Quoting the arguments to a function

On Sep 16, 12:52pm, Vincent Lefevre wrote:
} Subject: Re: Quoting the arguments to a function
} On 2016-09-15 14:41:03 -0700, zv wrote:
} > Is there any way to signal to ZSH that an alias or fn should have
} > arguments supplied literally?
} IMHO, arguments should also be properly quoted, but the solution
} would be a feature in ZLE to do the quoting automatically. Something
} like url-quote-magic.

The nice thing about url-quote-magic is that it can make all of its
decisions based solely on examinination of the current word; if the
beginning of the word looks like "schema:" (for various values of
schema), then the rest of the word is subject to quoting.

To do argument quoting based on the command context, one must either
accept the naive solution of examining only the first word on the
line, or do more detailed command-line analysis on the level of
what's done by the completion system.

This could probably be done with a special completer supplied by a
zstyle to the incremental-complete-word function.  One difficulty
with that is that incremental-complete-word is itself crufty and
built using years-old functionality; there's probably a much better
way to accomplish the equivalent in modern zsh.

It's also pretty easy to create a little widget to quote the current

quote-this-word() { zle select-in-blank-word; zle quote-region }
zle -N quote-this-word
bindkey \'\' quote-this-word

(That is, if I type single-quote twice in fairly rapid succession,
quote the word the cursor is in or follows.  Users of RC_QUOTES may
want to use two double-quotes or some other combination.)

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