Stream: wg-cli

Topic: clap

pksunkara (Jan 30 2020 at 23:44, on Zulip):

Also, I am working on a PR for refactoring the travis and the CI process.

pksunkara (Jan 30 2020 at 23:45, on Zulip):

I have also set that all PR's need approval and should pass CI before being merged

pksunkara (Jan 30 2020 at 23:48, on Zulip):

Also, I am going to archive the clap_derive repo once I look over the existing issues and PRs and move them over to clap

pksunkara (Jan 30 2020 at 23:48, on Zulip):

And we need to plan for porting over the rest of structopt commits

DPC (Jan 31 2020 at 00:41, on Zulip):

Let's not lock nightly for clippy. We can remove that now

pksunkara (Jan 31 2020 at 06:53, on Zulip):

@DPC Any reasons for that? Shouldn't we have stable linting?

pksunkara (Jan 31 2020 at 08:48, on Zulip):

Also, What do you guys think about using and

DPC (Jan 31 2020 at 13:29, on Zulip):

Stable is fine.

DPC (Jan 31 2020 at 13:30, on Zulip):

Bors is okay if you can set it up. Dependabot might be too noisy for now

pksunkara (Feb 01 2020 at 09:02, on Zulip):

Working on bors setup now.

pksunkara (Feb 01 2020 at 09:03, on Zulip):

I have made 2 milestones, 3.0 and 3.1 and will slowly triage issues

DPC (Feb 01 2020 at 13:57, on Zulip):

I'm getting a dozen clap notifications at a time :rolling_on_the_floor_laughing:

pksunkara (Feb 01 2020 at 18:29, on Zulip):

We live in exciting times :D

pksunkara (Feb 01 2020 at 18:30, on Zulip):

Btw, @CreepySkeleton I think we should open

pksunkara (Feb 01 2020 at 18:32, on Zulip):

Nevermind, I just saw that is a duplicate of it

pksunkara (Feb 01 2020 at 18:36, on Zulip):

@CreepySkeleton Can you triage these 3 and see if you want to open them? Thanks

pksunkara (Feb 01 2020 at 18:52, on Zulip):

And are you using the not sure label as a personal marker of things you want to come back to?

pksunkara (Feb 01 2020 at 19:57, on Zulip):

And are you planning to work on If not, please write what you meant by fixing the error messages in debug builds

pksunkara (Feb 01 2020 at 20:13, on Zulip):

Reading, looks like we should change the no_cargo feature to cargo and enable it by default. What do you think?

CreepySkeleton (Feb 02 2020 at 02:05, on Zulip):

Yeah, not-sure is some sort of "ugh, I don't get anything but I'll take another look later". You can take those issues if you want :slight_smile:

CreepySkeleton (Feb 02 2020 at 02:23, on Zulip):

Regarding no-cargo - good idea :+1:

pksunkara (Feb 02 2020 at 05:51, on Zulip):

Could you rename the label to P: CreepySkeleton to mark it as your personal?

CreepySkeleton (Feb 03 2020 at 03:17, on Zulip):

What do you think about renaming labels from L: name to L-name form? It's much easier to type label:C-subcommands thanlabel:"C: subcommands".

pksunkara (Feb 03 2020 at 09:04, on Zulip):

Type where?

pksunkara (Feb 03 2020 at 09:31, on Zulip):

Btw, where are you using help wanted lable? For easy stuff?

pksunkara (Feb 03 2020 at 11:40, on Zulip):

@CreepySkeleton Want your feedback on

CreepySkeleton (Feb 03 2020 at 12:34, on Zulip):

type in github search
pasted image

CreepySkeleton (Feb 03 2020 at 12:35, on Zulip):

help wanted is for stuff where would like some help from others

CreepySkeleton (Feb 03 2020 at 12:36, on Zulip):

good-first-issue is for easy stuff

CreepySkeleton (Feb 05 2020 at 08:36, on Zulip):

So, what about renaming labels? I would also propose to remove whitespace from all labels, e.g derive macros => derive-macros

pksunkara (Feb 05 2020 at 11:47, on Zulip):

It's easier to search by "Label" button than to write in search bar, isn't it? I know we are just bikesheding, but I really like the spaces in the labels :frown:

DPC (Feb 06 2020 at 00:50, on Zulip):

You don't need to do all that. On the right you can click the labels drop-down and choose what label you want to be filtered on

CreepySkeleton (Feb 06 2020 at 06:01, on Zulip):

The thing is that sometimes I want more complex search queries, like -label:help-messages label:subcommand, this cannot be achieved with drop-down lists AFAIK. I also use keyboard mostly and switching between it and the mouse is annoying.

DPC (Feb 06 2020 at 19:34, on Zulip):

It can :p yeah the mouse part is annoying though

pksunkara (Feb 07 2020 at 10:47, on Zulip):

You can do alt-click to exclude labels. But yeah, mouse is annoying

pksunkara (Feb 07 2020 at 10:48, on Zulip):

Btw, I am planning to get familiar with clap internals this weekend

DPC (Feb 07 2020 at 13:59, on Zulip):

I'd like if someone can work on the rustup aliasing issie

pksunkara (Feb 08 2020 at 05:47, on Zulip):

Yeah, I will be looking into how parsing happens and figure out the best way for this

CreepySkeleton (Feb 13 2020 at 19:00, on Zulip):

What do you think about making different templates for issues and PRs? Like

CreepySkeleton (Feb 13 2020 at 19:03, on Zulip):

@DPC @pksunkara

pksunkara (Feb 13 2020 at 20:16, on Zulip):


DPC (Feb 13 2020 at 20:44, on Zulip):

I'm okay with it. Though we have a good template already just have to put it in the GitHub template

pksunkara (Feb 17 2020 at 09:33, on Zulip):

@CreepySkeleton Let's push for an alpha release soon. What are the important stuff left?

DPC (Feb 17 2020 at 17:43, on Zulip):


DPC (Feb 17 2020 at 17:43, on Zulip):


pksunkara (Feb 17 2020 at 17:43, on Zulip):


DPC (Feb 17 2020 at 17:45, on Zulip):

I'll do the release in a few days. Need to go through it and do some checks. Also it will be a beta and not a alpha

pksunkara (Feb 17 2020 at 17:46, on Zulip):

Not a beta please. We still need to change yaml API which would be breaking

pksunkara (Feb 17 2020 at 17:47, on Zulip):

And what checks are we talking about?

DPC (Feb 17 2020 at 17:48, on Zulip):

It's fine if we break things.

CreepySkeleton (Feb 20 2020 at 16:22, on Zulip):

@DPC What are the checks you were taking about? Is there something going in background we are not aware of?

DPC (Feb 20 2020 at 16:23, on Zulip):


CreepySkeleton (Feb 20 2020 at 16:23, on Zulip):

Also, why do you insist on beta?

DPC (Feb 20 2020 at 16:23, on Zulip):

Just want to go through it once

CreepySkeleton (Feb 20 2020 at 16:23, on Zulip):

I'm really hesitant to call it beta, honestly. Maybe, pre-beta?

DPC (Feb 20 2020 at 17:29, on Zulip):

We always had a beta in mind since months. I don't see much stuff changing to ask for an alpha release

pksunkara (Feb 22 2020 at 21:29, on Zulip):

We should do one final alpha release and then go with rc directly afterwards

DPC (Feb 23 2020 at 00:13, on Zulip):

then there is no difference between that and a beta

pksunkara (Feb 25 2020 at 12:41, on Zulip):

As long as we agree that we can break things if necessary, then I don't mind the beta. I want to finish this off before next CLI WG meeting

CreepySkeleton (Feb 27 2020 at 16:06, on Zulip):

Sorry for the disappearance, I was hospitalized and had no access to the internet :frown: I'm getting back to work.

Degausser (Feb 27 2020 at 16:11, on Zulip):

Holy crap, I hope you're alright now!

LeSeulArtichaut (Feb 27 2020 at 16:11, on Zulip):

Sorry for the disappearance

LeSeulArtichaut (Feb 27 2020 at 16:11, on Zulip):

Do you need to apologize? x)

XAMPPRocky (Feb 27 2020 at 16:11, on Zulip):

@CreepySkeleton Hey, don't worry about it. You should take as much time as you need. :slight_smile:

DPC (Feb 27 2020 at 16:37, on Zulip):

@CreepySkeleton no issues. We understand. This is open source people disappear all the time :sweat_smile:

pksunkara (Feb 28 2020 at 09:17, on Zulip):

@CreepySkeleton Hope you recover soon. Take as much time as you need.

CreepySkeleton (Feb 29 2020 at 09:31, on Zulip):

Come on, guys! I'm not dead yet, you won't get rid of me that easy!

DPC (Mar 02 2020 at 08:57, on Zulip):

@pksunkara don't release the beta yet.. wait :D

pksunkara (Mar 02 2020 at 08:58, on Zulip):

Wait for what? Please describe

DPC (Mar 02 2020 at 09:14, on Zulip):

as i said i need to check through things..

pksunkara (Mar 02 2020 at 09:43, on Zulip):

I don't get why you are being mysterious :wink:. Please tell us what things you want to check

DPC (Mar 02 2020 at 09:47, on Zulip):

nothing mysterious ;) just routine checks to see if we haven't missed anything or we can push more things into the beta :slight_smile:

CreepySkeleton (Mar 02 2020 at 13:41, on Zulip):

@DPC We most definitely have missed something, but I don't see much point in postponing over and over. It's not like we're setting the API in stone and obligating to keep it from now on forever; I think we're just testing "the rough shape of it" and getting feedback.
@pksunkara Why did you want to push the release before the next meeting?

pksunkara (Mar 02 2020 at 13:42, on Zulip):

So, we can say clap is alive

pksunkara (Mar 02 2020 at 13:43, on Zulip):

And yes, I am already writing milestone for beta.2

CreepySkeleton (Mar 02 2020 at 13:43, on Zulip):

Do they doubt it? :slight_smile:

pksunkara (Mar 02 2020 at 13:44, on Zulip):

No, but just things to tick off and call progress

CreepySkeleton (Mar 02 2020 at 13:44, on Zulip):

Would it be fine for me to participate in the meeting without a microphone & camera? I'm curious what's going on out there.

pksunkara (Mar 02 2020 at 13:53, on Zulip):

Yup, it should be.

DPC (Mar 02 2020 at 14:01, on Zulip):

Most of it looks good to me. Though I don't see why we need another beta. I'm just trying to reduce the process here

pksunkara (Mar 02 2020 at 15:11, on Zulip):

A prerelease every 2 weeks should be okay

DPC (Mar 02 2020 at 16:01, on Zulip):

Uh not really

pksunkara (Mar 13 2020 at 14:20, on Zulip):

@CreepySkeleton Do you think you can finish this first and we can get it merged? I want to start on the panicking prog-bugs. Also, what's the status of lifetimes PR? Are you stuck on something?

CreepySkeleton (Mar 13 2020 at 20:33, on Zulip):

Workin' on it

pksunkara (Mar 21 2020 at 22:49, on Zulip):

I actually understand why Kevin didn't want to continue maintaining clap. There are so many people creating issues without reading the documentation.

DPC (Mar 21 2020 at 23:51, on Zulip):

that's not the reason :D

CreepySkeleton (Mar 23 2020 at 12:49, on Zulip):

You know, I don't share this feeling. There's been about 20 such lost souls throughout the last 3 months which is almost none. Looking back at those issues, I have even been so nice to write descriptive answers instead of mere GTFO links to the doc, a clear indication that they never left me frustrated or otherwise upset. Well, except for few select ones where I put a sort of "AARG!!! will it ever end?" style jokes, but that was mostly because I was tired due to certain reasons unrelated to opensource and needed some place to blow off the steam to.

So, if you ever feel like that again, just tell them to fuck off employing all sorts of colorful epithets - it really helps, mind you - and then I'll come, riding a white horse (this is not a reference to cocaine!) and I'll save the day. Or I'll just come up with a few epithets of my own. We'll see.

spacekookie (Mar 23 2020 at 12:59, on Zulip):

The way that you're talking about foss maintenance makes me incredibly uncomfortable @CreepySkeleton . If you're in this kind of space where you want to "tell them to fuck off employing all sorts of colorful epithets" I really feel that you might want to step down from your position as maintainer.

It's not the user's fault if docs are not immediately accessible. And from experience, the clap docs are not great. There's a lot of it, but that's a problem because it makes people feel drowned in information.

Basically: there's a lot of toxicity in the dev space, and rust so far has been a good community because people understood that they were talking to people on the other end with feelings of their own. If you're not able to see that and make sure that your responses are friendly, even if you feel a bit frustrated, this project is going to go to nhit real fast.

spacekookie (Mar 23 2020 at 13:01, on Zulip):

Kevin wasn't able to maintain clap anymore because of time constraints, not because of the community. Maybe don't frame your own issues in a way that projects on someone else

Degausser (Mar 23 2020 at 14:06, on Zulip):

Are there certain examples we could add? Could we trim down the issue templates into something more digestible (probably that mostly fits into the box on load so it doesn't seem so daunting)?

Degausser (Mar 23 2020 at 14:07, on Zulip):

Times are super tough for everyone (and maybe a little harder for open source maintainers) and I want to make sure the rust cli space stays awesome

pksunkara (Mar 23 2020 at 15:41, on Zulip):

One solution regarding this I have been thinking is (other than the general documentation updates) updating the github issue template to include some links to some functions in docs (ex: conflicts, unless, etc..)

Degausser (Mar 23 2020 at 15:55, on Zulip):

I think that might help, I can take a look and put in a PR to maybe clean up the templates and add links

CreepySkeleton (Mar 23 2020 at 19:15, on Zulip):

This reply is going to be somewhat bitter, intentionally so. I do think that hate and near constant wishing to swear at people are essential and very useful parts of my mindset, and I want to try to explain to you the reasoning behind it. You may find it impolite, but every time I stay silent, someone else speaks in my place, so here we go!. Buckle up.

Communication between people is full of misunderstanding, and this is especially true for multinational communities. People talk different languages, they have different cultural backgrounds - oftentimes mutually offensive ones. The worst thing is, people don't make much effort to prevent it.

Look: we are in FOOS world. People come here with various goals: some want to learn and develop their own skills, some strive for the glory and fame as creator of the brand new Linux, lots of people just have fun because they like to code. The list is not exhaustive, but what unites all of these goals is that they are well intended. Jerks that want to troll or sabotage others' work do exist, but they are extremely rare, like, 0.1% or something. So, imagine you saw something that looks offensive to you. What is the the most sensible course of action, considering that the ill intend is very unlikely?

I think you should ask him "Dude, I'm not sure I get it right. Mind explaining what you meant, exactly?" Agreed?

Now listen. I'm 21, I've had a computer since 14. How many times do you think I've observed people in the Internet act this way? I mean, before they snap at each other. 19 times. Only ninety times in seven years. Yes, I've been counting, I've been spending a lot of time throughout these years online, in a huge variety of places. But, you may ask, what do people do instead?

They jump to conclusions.

Just look at the comment above: spacekookie had read my commit about imaginary scenario when I would want to tell people to fuck off (and I also suggested pksunkara to do the same since I think it helps cool down), she extrapolated it to the point that I was going to really do that, and she ended up with a polite suggestion to check if I want to keep performing as maintainer. Wonderful.

You know what, people? Here is the deal: pick any of my comments in the clap repo - there are plenty of them - and, if it happens to contain personal insults, I'll step down effectively immediately. I'll still be sending PRs against clap, I'll still be participating in clap-related topics. The only difference will be that you won't be being offended by a maintainer anymore, weren't you?

Now, let me get to my hate and my wishing to "tell people to fuck off".

It's genuine. I hate a lot of things from the bottom of my black wicket heart. And it's fine - no, it's splendid! - as long as this hate is tamed.

People are driven by emotions. They keep us going, keep us entertained, make us do something. Everybody experiences that - don't you wink at me, anonymous! You do, too. There is some kind of emotional drive behind most of my comments. What do you think I was thinking when I was writing those comments? "Kids should not be allowed in internet", or something along the lines. This one was backed by "WTF dude, are you blind or something? The doc is few clicks away". That issue was totally about "You're fucking reincarnation of Goldberg". See the point? That was what I was thinking, seriously (maybe not literally, but the intent is correct). Now follow those links and see what I actually wrote. Note that I try to ask again whenever I'm not sure I understood the problem.

To make this clear: I wasn't offended by any of those comments, not at all. The "first thought contains profanity" state is normal for me; it triggers hundred times each day. Actually, I've conducted a survey of sorts among my friends (which employed some amount of alcohol) and I've found that many of them feel the same; it's not just me. It's normal to feel miffed when you hear some nonsense (or you think so); what really matters is whether you react harshly or suppress the initial impulse and direct you emotions into something constructive.

"Creepy, why don't you work on your temper?" Why would I? What's the problem? Hate is the brightest emotion I've even known. It is also free. Hate is what makes my comments so elaborative because I hate ignorance and I understand it won't dissolve on it's own and I try enlightening people with all my might.

Do you know how I found my way to FOSS world? I was upset about proc macro 'structopt' panicked with "...", go figure out in which line of 200 it is messages. With time, I started to hate them, sincerely, and this hate eventually turned into "I want it fixed no matter what". structopt got nice error messages, others got proc-macro-error - nice proc macro errors for minimal effort, I redirected my hate somewhere else. Everybody's happy, and all thanks to hate. Without being constantly kicked by a strong emotion, I wouldn't make up my courage to go open source.

Let's glue it together.

People complain that dev community is toxic (it's not just you, I've heard it a lot) and they tend to explain it with the lack of politeness. Like, using "thanks" extensively and replacing "What didn't you get?" with "Could you please explain what you didn't understand?" will magically improve the situation. Well yes, to some extent. But kind words will never fill the emptiness and lack of concern behind them. Does it help you when you hear "thanks to contacting our support!"? I bet not much since you need a solution to a problem, not "thanks".

When you see that some user posts weird stuff you find inappropriate, sinking your first impulse into reply will likely worsen the situation, and resorting to punishing will hurt immensely (recall the ActiX drama, which was based on misunderstanding). Give people some fucking credit! They probably didn't mean that bad. This is why projects "go to shit real fast", not because "responses aren't friendly", not only.

Dear God, I'm very dissatisfied with this humanity. Elon Musk, how much for a ticket to the moon?

DPC (Mar 23 2020 at 20:42, on Zulip):

please stop

pksunkara (Apr 01 2020 at 14:53, on Zulip):

@DPC It's been a month. Can I go ahead with the release now?

DPC (Apr 02 2020 at 17:16, on Zulip):

@pksunkara let's reduce number of open issues for 3.0 then we can:

pksunkara (Apr 08 2020 at 06:30, on Zulip):

@CreepySkeleton Hey, could you prioritise the public API thingy PR? Thanks.

CreepySkeleton (Apr 08 2020 at 23:10, on Zulip):

Which one do you mean: delifetimizing (delifetiming? delifetimization?) or the interpolation API?

CreepySkeleton (Apr 08 2020 at 23:10, on Zulip):

Will get to it on 10 (if I'm lucky) or on 11 (if not)

pksunkara (Apr 09 2020 at 05:31, on Zulip):

interpolation API (the getters/viewers)

pksunkara (Apr 12 2020 at 14:22, on Zulip):

@CreepySkeleton Hey, do you have any idea how to fix the String to &str problem in this PR?

pksunkara (Apr 12 2020 at 14:22, on Zulip):

I tried a lot of ways, but couldn't

CreepySkeleton (Apr 13 2020 at 01:36, on Zulip):

(Too little, too late, I know)

Well, theoretically speaking, we could leak the String, converting it to &'static str, and wrap it with lazy_static! so using clap_app in loops doesn't leak unrestrained amount of memory. Just like it's done in structopt

CreepySkeleton (Apr 19 2020 at 05:50, on Zulip):

@pksunkara Hey, have you removed your criterion fork? clap kind of depends on it :oops:

CreepySkeleton (Apr 19 2020 at 05:53, on Zulip):

Hmm, it's still there, but cargo check claims it isn't

CreepySkeleton (Apr 19 2020 at 05:55, on Zulip):

Nevermind, cargo clean resolved this problem

pksunkara (Apr 19 2020 at 08:56, on Zulip):

On local computer?

CreepySkeleton (Apr 19 2020 at 11:07, on Zulip):

Yes, on my local machine.

pksunkara (Apr 20 2020 at 15:21, on Zulip):

@CreepySkeleton Do you know if mingw is important? We are testing both msvc and mingw on windows. I am wondering if I can remove mingw testing because it takes too much time on CI

pksunkara (Apr 20 2020 at 15:22, on Zulip):

Would testing msvc be enough to understand that our library works on windows?

pachi (Apr 20 2020 at 17:06, on Zulip):

@pksunkara Mingw is important for many people building windows executables from Linux

DPC (Apr 20 2020 at 17:25, on Zulip):

yeah i'd leave it as it is, don't want to miss an important bug

pksunkara (Apr 29 2020 at 13:42, on Zulip):

Looks like Kevin is back. :party_ball:

pksunkara (May 26 2020 at 09:47, on Zulip):

@CreepySkeleton Can we look into so that we can use watt for clap_derive?

pksunkara (May 26 2020 at 09:48, on Zulip):

We need to get the syn's watt feature merged first, and then proc_macro_error needs to add watt feature which should enable syn's watt and replace proc_macro with proc_macro2

CreepySkeleton (May 26 2020 at 20:43, on Zulip):

I vaguely recall David said that watt is more a proof-of-concept that a real production-ready framework and it's not quite ready; but yeah, I can see the appeal. I'm not against it, but if we are going to try to live on the edge, we are going to need some extensive testing - on numerous platforms - before deciding it's mature enough and proceeding with 3.0 release.

CreepySkeleton (May 26 2020 at 20:44, on Zulip):

For the record, we don't really need cargo watt for that. It's just nice tooling that would help us to develop and release.

CreepySkeleton (May 26 2020 at 20:45, on Zulip):

And the question of nightly-only features from proc_macro stands. They simply don't exist in wasm (yet).

CreepySkeleton (May 26 2020 at 20:47, on Zulip):

For example:

CreepySkeleton (May 26 2020 at 20:47, on Zulip):

This breaks all nightly builds with watt.

CreepySkeleton (May 26 2020 at 20:48, on Zulip):

I don't really see a dedicated feature as a viable long term solution. See

CreepySkeleton (Jun 01 2020 at 00:10, on Zulip):

Incidentally, there's some work on cross-shell completions out there:

CreepySkeleton (Jun 01 2020 at 00:11, on Zulip):

Very immature and work in progress though

CreepySkeleton (Jun 01 2020 at 01:26, on Zulip):

We may also have to replace yaml-rust with a fork, if it comes out.

pksunkara (Jun 06 2020 at 11:40, on Zulip):

@CreepySkeleton Hey, I think this should be public. Can you confirm? It is being used by ArgMatches::indices_of

CreepySkeleton (Jun 07 2020 at 05:22, on Zulip):

Yes, it should. And it is, isn't it?

pksunkara (Jun 07 2020 at 06:52, on Zulip):

No, It is not

CreepySkeleton (Jun 16 2020 at 20:01, on Zulip):

Have anybody out there ever used Error::info field?

pksunkara (Aug 11 2020 at 23:33, on Zulip):

@CreepySkeleton Let's get v3-docs PR merged, then and then

pksunkara (Aug 11 2020 at 23:33, on Zulip):

And then we will do

CreepySkeleton (Aug 22 2020 at 10:32, on Zulip):

@pksunkara So what about the "Refactor" PR?

pksunkara (Aug 22 2020 at 21:00, on Zulip):

Let's resolve it this week

pksunkara (Sep 04 2020 at 07:54, on Zulip):

@CreepySkeleton Are you working on any PRs right now? I am thinking of finalizing the Vec issue in derive and the related multiple issues

CreepySkeleton (Sep 04 2020 at 14:09, on Zulip):

Am not, and won't be until the mid of September or something. I'm limited to just participating in discussions right now due to time constraints.

CreepySkeleton (Sep 04 2020 at 14:10, on Zulip):

What do you mean by multiple issues?

pksunkara (Sep 04 2020 at 15:10, on Zulip):

I mean the multiple_occurrences and multiple_values related issues

Donough Liu (Dec 12 2020 at 17:18, on Zulip):

Well, how far are we from 3.0 stable?

Donough Liu (Dec 12 2020 at 17:46, on Zulip):

The 3.x tracking issue haven't been updated for a while.

pksunkara (Dec 13 2020 at 18:37, on Zulip):

Check the 3.0 milestone

pksunkara (Dec 13 2020 at 18:37, on Zulip):

All of them needs to be done for 3.0 release

Donough Liu (Dec 15 2020 at 13:09, on Zulip):

Ah I see.

Last update: Apr 16 2021 at 23:00UTC