From: Vincent Lefevre <vincent@vinc17.net>
To: zsh-users@zsh.org
Subject: Re: auto-quoting inside braces in arguments
Date: Fri, 19 Feb 2021 13:17:05 +0100 [thread overview]
Message-ID: <20210219121705.GA1706306@zira.vinc17.org> (raw)
In-Reply-To: <CAH+w=7ZD5oFJitNmVSQbRuiY+OoY4_KaEYGXZ3JwA4dD=bAGdw@mail.gmail.com>
On 2021-02-18 10:30:50 -0800, Bart Schaefer wrote:
> On Thu, Feb 18, 2021 at 9:35 AM Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> >
> > Vincent Lefevre wrote on Thu, 18 Feb 2021 13:40 +00:00:
> > > Is there a way to get auto-quoting inside braces in arguments?
> >
> > Proof of concept:
> >
> > f() {
> > local l=\{ r=\}
> > CURSOR=${BUFFER[(i)$l]} MARK=${BUFFER[(i)$r]}
> > (( -- CURSOR ))
> > zle quote-region
> > }
>
> It needs to be a bit more complicated than that, because you first
> have to be sure that the braces are not already quoted and do not form
> a valid comma-separated (or ".." range) brace expression. Also,
> should anything special happen if there is a valid brace expression
> inside the invalid brace pair? Is this single- or double-quote
> equivalent, or something new?
I think that { would just appear as a quote mechanism until a
matching }. This should probably similar to double-quote.
For instance
echo {ab cd"ef }" $ZSH_VERSION {0..2} }
should be equivalent to
echo "{ab cdef } $ZSH_VERSION {0..2} }"
though in practice, there would be only something simple inside { }.
For instance:
svn diff -r{1 hour ago}
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
next prev parent reply other threads:[~2021-02-19 12:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-18 13:40 Vincent Lefevre
2021-02-18 17:35 ` Daniel Shahaf
2021-02-18 18:30 ` Bart Schaefer
2021-02-18 18:52 ` Bart Schaefer
2021-02-19 12:24 ` Vincent Lefevre
2021-02-18 18:57 ` Ray Andrews
2021-02-18 19:07 ` Bart Schaefer
2021-02-18 21:49 ` Ray Andrews
2021-02-18 22:12 ` Daniel Shahaf
2021-02-18 22:44 ` Bart Schaefer
2021-02-19 16:10 ` Daniel Shahaf
2021-02-19 16:50 ` Daniel Shahaf
2021-02-19 21:53 ` Bart Schaefer
2021-02-19 12:17 ` Vincent Lefevre [this message]
2021-02-19 12:29 ` Vincent Lefevre
2021-02-19 22:15 ` Bart Schaefer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210219121705.GA1706306@zira.vinc17.org \
--to=vincent@vinc17.net \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).