BradleyChatha / jcli

A CLI framework for D
MIT License
23 stars 4 forks source link

Implement top-down command type graph #55

Closed AntonC9018 closed 2 years ago

AntonC9018 commented 2 years ago

I have added the top-down command discovert approach that I have mentioned. The parent commands would list all their children with the Subcommands UDA, and the user will just have to specify the very first root command. The graph will be constructed by appending the children into the list of commands.

Rant on the current build system:

What I found incredibly frustrating is moving files around, refactoring the repo structure. It's clearly messed up! You have to specify all of your dependencies by copy-pasting names BOTH in the meson project file, AND in the dub project file. Dub discovers your source files automatically, while with meson you have to list them manually. The fact that every change to the directory structure/package naming involves so many changes, in files all over the place is so incredibly frustrating. Like, just why make us do that when you could in theory at least figure out the dependencies from package.d, generating the build files into a separate directory. The actual source files are cluttered with these meaningless build files, with repetitive information. I'm just incredibly frustrated after having wasted 30 minutes on just separating out another package. You've got to agree with me, that this is drugde work. You yourself, as I see, shortened the project variable names in meson project files, because, I would guess, it was too annoying to write them fully. IMO this is not OK. Even if you said other people do that too, IMO that's just a meaningless waste of time, which is never OK. I think this has to be addressed in some way.

AntonC9018 commented 2 years ago

I think git considers that there are that many commits because I merged the master from the main repo into mine, but continued working on the refactor branch, so it considered those commits twice?? I don't know git well enough to know wth happened.

BradleyChatha commented 2 years ago

I think git considers that there are that many commits because I merged the master from the main repo into mine, but continued working on the refactor branch, so it considered those commits twice?? I don't know git well enough to know wth happened.

Yeah, it likes to do that sometimes if you don't use the right base branch, it's pretty harmless though most of the time.

I'll finally get around to addressing this PR and your feedback later today hopefully (really sorry about these delays, work is draining me a bit more than I expected).

BradleyChatha commented 2 years ago

;^) The build system is indeed as awful as you say. And I do agree it's drudge work.

I don't know what I want to do about it really tbh, I don't have the energy recently to really think about it anyway.

I'll leave this another day and see if I can muster up the energy to work through the changes to the graph, but everything else looks ok. If I can't then I might just do a blind trust thing and assume it's all ok and merge.

Also that float is float thing was interesting to learn about. I both love and hate the transitive issues with float.nan