New tagged version for mbfl

Posted on Mar 11, 2023

I tagged and pushed version ‘v3.0.0-devel.7’ of mbfl.

Moving to my new laptop prompted me to review a lot of my shell scripts and so to push mbfl development; I feel like I’m flying. Being back to coding feels good; it is my private space.

I use a very basic desktop environment under the X Window System; I perform most of the operations through scripts I launch from XTerms; so I have a number of non–small scripts (this means: after preprocessing the source with mbfl’s preprocessor, the average file size is 20 KB; mbfl itself is around 180 KB).

Version ‘3’ is becoming more and more backwards incompatible; it will be even more so in the future; I’m not happy with it, but life is hard! I hope at least that the programming environment will become better.

The main reason I tagged ‘v3.0.0-devel.7’ is that: from now on I feel the need to implement some form of data structures both to better organise the new features I have in mind and to reimplement some module already in there.

I think I’m probably pushing things too far with gnu Bash: it was really not designed to be used with the way I want to use it; there are other languages!

But it’s like that… and that’s the way it is!

One of the features I really want is automatic generation of command–line completion for option arguments. mbfl already provides this for “action arguments”, I want it also with option arguments like --verbose, --show-program and the user–defined ones.

To implement that in a manageable way I want proper data structures representing the tree of action arguments and proper data structures representing each set of option arguments associated to every action argument. This blob of data structures must be inspectable without calling any of the action functions and any of the “before parsing options” functions.

So, how will I implement data structures?

I will work on something in a private branch and see what comes out.