Bashly 2.0.0 is in development #727
Replies: 1 comment 1 reply
I have an idea to share, that would be a breaking change. If you want is to discuss only topics already opened, we can move this to another topic. problem: command source files are implicitly wrapped by a functionI have a pet peeve with the way we need to deal with the "command source files". I'm talking about the fact that we're handling code that will be wrapped by a function and this fact is not explicit. Two bad things results from this:
In a previous conversation @DannyBen mentioned:
Some points about this:
So... What I always end up doing is tweaking a proposed solutionNote: I'm not taking into consideration the challenge of actually implementing it, just sharing what I think would be ideal as a bashly user. A "command source file" should explicitly have a function. The name can be as the same pattern it has today: What I see as ideal is |

Uh oh!
There was an error while loading. Please reload this page.
The first release candidate for Bashly 2.0.0 is now available:
The main change in 2.0.0 is a new completion system. Runtime completions are now generated natively as part of your Bashly script, with support for commands, arguments, flags, aliases, static and dynamic candidates, and file and directory completion. Shell wrappers are available for Bash and Zsh.
The PR with some more technical details is here: #721
This replaces the previous Completely-based implementation and keeps the completion definition alongside the rest of the CLI configuration.
The documentation for the development version is available here:
https://2-0-0.bashly-book.pages.dev/
If you are upgrading an existing project, see the migration guide:
https://2-0-0.bashly-book.pages.dev/upgrading-to-bashly-2.0/
This release candidate is intended to expose the new behavior to real Bashly projects before 2.0.0 is finalized. Reports about successful upgrades are useful too—not only bug reports—especially for projects with non-trivial command trees or completion requirements.
This discussion can also serve as a place to examine any aspect of the 2.0 changes, including behavior that feels unclear or could be improved.
Finally, this is the practical window for considering changes that would not fit comfortably into a backward-compatible release. If there is a feature or design change that previously seemed unsuitable because it would require breaking compatibility, it is worth raising now while 2.0.0 is still in development.
All reactions