From: Frank Terbeck <ft@bewatermyfriend.org>
To: Oliver Kiddle <okiddle@yahoo.co.uk>
Cc: zsh-workers@zsh.org
Subject: Re: [PATCHv3] Refactor baud rate completion
Date: Sat, 07 May 2016 23:53:12 +0200 [thread overview]
Message-ID: <87eg9dmt6f.fsf@ft.bewatermyfriend.org> (raw)
In-Reply-To: <27858.1462193719@thecus.kiddle.eu> (Oliver Kiddle's message of "Mon, 02 May 2016 14:55:19 +0200")
Oliver Kiddle wrote:
[...]
> It is usually more flexible to just accept normal compadd options for
> descriptions and tags and pass them on to compadd fairly directly. It
> then will work in conjunction with other helpers like _alternative.
> _pdf is a good example. Using _wanted here isn't entirely necessary:
> _description would be sufficient and avoids nesting tag loops.
So, _pdf does this:
_description files expl 'PDF file'
_files "$@" "$expl[@]" -g "*.(#i)pdf$ext(-.)"
which made me think that the following would be a reasonable call:
_description -1V baud-rates expl 'baud rate'
compadd "$@" "$expl[@]" -- "${rates[@]}"
Passing "$@" to compadd makes _arguments parameters like this work:
'-s[line speed]:line speed:_baudrates' \
Because that makes the helper pass the -X ... option containing "line
speed" to compadd. However "$@" also contains -J option-s-1, which makes
compadd create a sorted group, which is not that useful here.
Passing -V to _description adds -V to "expl", but compadd seems to use
the first argument it finds. But I can't just put "$@" behind expl, in
the compadd call because in that case I won't get the description set in
the _arguments call, if _baudrates was called from _arguments.
I don't know if there is a simple way to make it work the way I'd like
(unsorted group as well as inheriting the right description), so I ended
up doing this:
_description -1V baud-rates expl 'baud rate'
compadd "${(@)argv/#-J/-V}" "$expl[@]" -- "${rates[@]}"
That feels pretty dirty, but it seems to work.
The completion-style-guide mentions the following:
_description -1V tag expl '...'
compadd "$expl[@]" - ...
But that would discard any descriptions given in an _arguments call.
Better ideas welcome.
Regards, Frank
next prev parent reply other threads:[~2016-05-07 22:26 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-01 1:12 [PATCH] Add completion for picocom utility Frank Terbeck
2016-05-01 3:27 ` Ryan Wilson
2016-05-01 10:57 ` Frank Terbeck
2016-05-01 12:47 ` [PATCH] Refactor baud rate completion Frank Terbeck
2016-05-01 13:14 ` [PATCHv2] " Frank Terbeck
2016-05-01 13:27 ` [PATCHv3] " Frank Terbeck
2016-05-01 22:21 ` Frank Terbeck
2016-05-02 12:55 ` Oliver Kiddle
2016-05-03 21:01 ` Frank Terbeck
2016-05-07 21:53 ` Frank Terbeck [this message]
2016-05-11 15:08 ` Oliver Kiddle
2016-05-07 22:09 ` [PATCH 0/6] Update baud rate completion with Oliver's comments in mind Frank Terbeck
2016-05-07 22:09 ` [PATCH 1/6] _baudrate → _baudrates Frank Terbeck
2016-05-07 22:09 ` [PATCH 2/6] _baudrates: Use 2 space indentation Frank Terbeck
2016-05-07 22:53 ` Frank Terbeck
2016-05-07 22:09 ` [PATCH 3/6] Use _baudrates helper instead of _baudrate Frank Terbeck
2016-05-07 22:09 ` [PATCH 4/6] _baudrates: Fit better into the general completion framework Frank Terbeck
2016-05-07 22:09 ` [PATCH 5/6] _cu: Remove old -d option of _baudrates Frank Terbeck
2016-05-07 22:09 ` [PATCH 6/6] _baudrates: Make style lookups fit better with the rest of compsys Frank Terbeck
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=87eg9dmt6f.fsf@ft.bewatermyfriend.org \
--to=ft@bewatermyfriend.org \
--cc=okiddle@yahoo.co.uk \
--cc=zsh-workers@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).