Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Proposal: Let compinit make standard widgets with _generic instead of _main_complete
- X-seq: zsh-workers 48396
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: Marlon Richert <marlon.richert@xxxxxxxxx>
- Cc: Zsh hackers list <zsh-workers@xxxxxxx>
- Subject: Re: Proposal: Let compinit make standard widgets with _generic instead of _main_complete
- Date: Sun, 4 Apr 2021 11:35:54 -0700
- Archived-at: <https://zsh.org/zsh-workers/48396>
- Archived-at: <http://www.zsh.org/sympa/arcsearch_id/zsh-workers/2021-04/CAH%2Bw%3D7YAxLGd%3DcTFkOqHXiUpk1iPp%3D7u3-qvEKmE6dTSELcoMA%40mail.gmail.com>
- In-reply-to: <CAHLkEDuo=8MbjYWOmQM5d4uLOzo+BC6XTy=S14-BfeBPMZjysw@mail.gmail.com>
- List-id: <zsh-workers.zsh.org>
- References: <CAHLkEDuxX39Z7-ioZTgrosL-SQW8dhZy9_v694u7w4Mtu+EHSw@mail.gmail.com> <CAH+w=7b4b-FBVbrZ4SWSiqxP4OcuLmzQWjqZ39c6Q-WZzPq60Q@mail.gmail.com> <CAH+w=7ZL+soLWYiKUb1Ej20WHbs7johzVWJ+qEvevLP5tK_Z4w@mail.gmail.com> <CAHLkEDtjqfyXFR7RqXBUVmKc5MwWR2T8zazortvO3ygEphZarA@mail.gmail.com> <CAH+w=7bhfeV0k5y0FtZLTsm_Y5uBU1wLJw7GUVubfxsKopaRDg@mail.gmail.com> <CAHLkEDuo=8MbjYWOmQM5d4uLOzo+BC6XTy=S14-BfeBPMZjysw@mail.gmail.com>
On Mon, Mar 22, 2021 at 12:17 AM Marlon Richert
<marlon.richert@xxxxxxxxx> wrote:
>
> On Sun, Mar 21, 2021 at 1:53 AM Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
> > +if [[ "${curcontext:-:::}" == ::: ]] &&
> > + zstyle -t ":completion:::::" generic-widgets "$WIDGET"
> > +then
> > + _generic "$@"
> > + return
> > +fi
>
> This feels like a rather roundabout solution. _generic itself already
> checks whether $curcontext is set and then calls _main_complete. Why
> not just do the straightforward thing, and let the widget call
> _generic directly, which in turn will call _main_complete anyway?
This is really only the first in a few steps of patch that I didn't
want to spend time on if this were rejected out of hand.
The problem with calling _generic at all (right now) is that it messes
with $curcontext in a way that may break other functions that rely on
_main_complete behavior. If we can invert the call sequence so
_main_complete remains first, then _generic itself can be tweaked so
that it does NOT mung the context in that circumstance, while still
leaving the original semantics of creating a new widget with _generic
unchanged.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author