zsh icon indicating copy to clipboard operation
zsh copied to clipboard

completions

Open crpb opened this issue 9 months ago • 11 comments

My Maintainer is to lazy so here goes..

https://salsa.debian.org/debian/zsh/-/merge_requests/8#note_604077

crpb avatar Apr 12 '25 21:04 crpb

(sorry if those references caused spam)

i found a few issues/inconsistencies. most are trivial but the _apt ones are more problematic

my suggested fixes: https://github.com/crpb/zsh/compare/cb/completions..okdana:zsh:dana/cb-completions

the entire change set (since that doesn't show the actual commits i guess): https://github.com/crpb/zsh/compare/cb/completions...okdana:zsh:dana/cb-completions

lmk if you object to anything there, otherwise i'll merge those along with your changes

given the size of the pr and the fact that we're getting close to release i might wait until after 5.10 unless someone feels otherwise

okdana avatar May 04 '25 12:05 okdana

hey @okdana ,

on the use of eval i have to laugh as i used that first and then @ft said i should not do it :p. anyhow, thanks for taking the time and improving it as i'm more guessing what i do their than anything else but wanted most of those changes finally be not only in my $fpath :p.

given the size of the pr and the fact that we're getting close to release i might wait until after 5.10 unless someone feels otherwise

it would benefit the soon to be debian stable zsh release :-). @mika 👋🏼

crpb avatar May 04 '25 15:05 crpb

on the use of eval i have to laugh as i used that first and then @\ft said i should not do it :p

sorry, it did occur to me that it might've been a deliberate choice. if there were objections to it i can put it back

it would benefit the soon to be debian stable zsh release :-). @\mika 👋🏼

isn't it too late for 5.10 to go into trixie?

okdana avatar May 04 '25 15:05 okdana

sorry, it did occur to me that it might've been a deliberate choice. if there were objections to it i can put it back

leave it, there are more of them in the completion :P.

isn't it too late for 5.10 to go into trixie?

no idea, but he should be able to say as the packager

crpb avatar May 04 '25 15:05 crpb

on the use of eval i have to laugh as i used that first and then @\ft said i should not do it :p

sorry, it did occur to me that it might've been a deliberate choice. if there were objections to it i can put it back

it would benefit the soon to be debian stable zsh release :-). @\mika 👋🏼

isn't it too late for 5.10 to go into trixie?

We're currently in the soft freeze stage (see https://release.debian.org/testing/freeze_policy.html#soft) and 11 days before hard-freeze (2025-05-15). I don't know how large and instrusive the changes between 5.9 and 5.10 will actually be, but given that last stable release v5.9 dates back 2022-05-14 (AKA ~3 years), AFAICS that will be quite something :tm: overall. I'd assume zsh 5.10 also wouldn't show up within the very next few days, nor? :thinking:

So from my current PoV we probably won't see zsh 5.10 with trixie. :-/

mika avatar May 04 '25 16:05 mika

it's in the testing phase, so it's possible it gets released before hard freeze. but yeah it will have some major changes so even if policy allowed it i'd hesitate to suggest putting it in this late

okdana avatar May 04 '25 16:05 okdana

it's in the testing phase,

Good to hear, looking forward!

so it's possible it gets released before hard freeze. but yeah it will have some major changes so even if policy allowed it i'd hesitate to suggest putting it in this late

ACK, thanks!

mika avatar May 04 '25 16:05 mika

@okdana today i realized that the completion with e.g. apt-get source isn't implemented at all for only source packages. i tinkered a bit with it but would kindly ask if you could add that aswell because the logic of retrieving those was alreadty added 9 years ago but never used in _apt as it seems. What i'm talking about is compdef '_deb_packages source' moo. So the commands like apt[-get] (source|build-dep) apt-se<TAB> should complete apt-setup which is a source-package from the installer and not usable in any other way(like install/..) afaik.

I got the completion working with _apt-cmd but in that _apt-get i'm again struggling so i thought this would be easier this way 🙈 🙊 🙉

crpb avatar May 16 '25 07:05 crpb

@crpb i looked at it briefly. it should be as simple as having source and build-dep make two calls to _deb_packages with _alternative. we could also account for --only-source if we wanted to be complete

idk what the clean/idiomatic way to do that with _regex_arguments is though. tbh i can't stand it and i don't want to learn. rather than just copy+paste everything i'll have to let someone more knowledgeable figure out how to structure/format it

okdana avatar May 16 '25 20:05 okdana

idk what the clean/idiomatic way to do that with _regex_arguments is though. tbh i can't stand it and i don't want to learn. rather than just copy+paste everything i'll have to let someone more knowledgeable figure out how to structure/format it

hah! i struggle with that extremly as i want to extend the wpctl completion. not my latest local thing but you will see silly it looks :P

If you know someone please ask them.

crpb avatar May 17 '25 17:05 crpb

since there's no end in sight yet for 5.10 testing and i've been merging other minor/new completion stuff, i decided to go ahead with at least the most trivial of these changes. they've been merged as abced20c0 (new functions), 606967dbd (removed functions), and 07a50d57a (minor updates)

i may or may not do any of the rest before release. just nervous about breaking existing functionality (and conscious of the fact that i can keep rationalising 'just one more' right up to the end)

okdana avatar Jun 05 '25 06:06 okdana

How much of this has or hasn't been committed? It'd be helpful to have this rebased on HEAD and with okdana's suggestions incorporated

I don't see much need to hold off on any of these pending 5.10. 5.10 is held up by named reference changes that are far more invasive than any completions.

okapia avatar Sep 23 '25 23:09 okapia

I went through cherry-picking the patches to try to pick up whatever @okdana hadn't already applied and then looked over the final diffs. I've now pushed the result so most of this should now be merged. If anything like _apt was only partially applied then what we have now could be incomplete. Delaying any longer would have only caused merge problems as and when conflicting changes are made.

One exception is the fortune completion. On my system, the database is /usr/share/games/fortune so singular for the final path component and you would need to exclude .dat files. compadd should suffice - it rarely makes sense to use _values with generated values. Could you perhaps verify the fortune command you use. The completion can perhaps try multiple paths. It might be simpler if you do a fresh PR for any further fixups.

okapia avatar Oct 23 '25 21:10 okapia

hey @okapia thx for merging, will close this now and have a look in the next couple days comparing again. For fortunes i will open another MR right after this.

crpb avatar Oct 23 '25 22:10 crpb

thanks for taking care of this. sorry i missed the earlier reply, and sorry i made the pr more complicated than it needed to be. i really expected 5.10 to be finishing up at the time

okdana avatar Oct 24 '25 19:10 okdana