Well I was talking only about the command line concept, I made no mention of piping operations.
The command line mechanism as it stands today - including on Windows - is weak, out dated, clumsy.
I've been working on a proof of concept version for Windows, the design is that an app that supports command line args also supports an interactive menu that the user can tab around and fill in, every argument is visible and as one tabs around help text appears at the bottom of the displayed menu. The user can edit any field and the system validates keypresses according to the type of the arg, it also performs cross field validation and will not allow the user to submit any menu that's filled in illegally.
This was how VOS supported the command line and I've taken that and implemented a richer version that exploits color and so on.
Applications have very little to do, just describe their arguments, types and so on and call a parsing function.
The user can either use this in the usual way as a linear sequence of tokens and enter that, or they can request that the menu be displayed and us it that way.
I'll likely make this a .Net Core nuget package in the near future.
This is particularly helpful for seldom used commands or never before used commands where a user wants to see what the arguments are and get some idea of them before submitting the app, no need for the verbose and unwieldy pages of help text.
I'll put up a screenshot or two later.
The command line mechanism as it stands today - including on Windows - is weak, out dated, clumsy.
I've been working on a proof of concept version for Windows, the design is that an app that supports command line args also supports an interactive menu that the user can tab around and fill in, every argument is visible and as one tabs around help text appears at the bottom of the displayed menu. The user can edit any field and the system validates keypresses according to the type of the arg, it also performs cross field validation and will not allow the user to submit any menu that's filled in illegally.
This was how VOS supported the command line and I've taken that and implemented a richer version that exploits color and so on.
Applications have very little to do, just describe their arguments, types and so on and call a parsing function.
The user can either use this in the usual way as a linear sequence of tokens and enter that, or they can request that the menu be displayed and us it that way.
I'll likely make this a .Net Core nuget package in the near future.
This is particularly helpful for seldom used commands or never before used commands where a user wants to see what the arguments are and get some idea of them before submitting the app, no need for the verbose and unwieldy pages of help text.
I'll put up a screenshot or two later.