Comments (8)
I think that I don't understand the entire issue, so please be patient with me :-)
- I agree that it should be possible to somehow override the default help function. The question is how to do it, which is usually coupled with the reason why one wants to override default help. So could you please elaborate on that?
Allowing help function written from scratch seems to be easy, but I have a feeling that you may like some of the stuff that Argbash does for you, but maybe you would like to leave something out or add something in? - I think that if you have an action argument, the script is supposed to end after the action is performed (however, the return code may vary, although the currently there is
exit 0
executed after the command). So the code that checks actual arguments passed before the declaration is not reached.
Therefore, I don't understand how an error that you describe could possibly occur (so if it does, could you please attach a template that behaves like this?)
from argbash.
I see that you actually elaborate on this in #3, so disregard the answer above for the time being, I have to get through #3 first.
from argbash.
This is supposed to come with argbash-diy
mode, where argbash
will define functions for everything. Then, the script writer may decide to override or not to call some of them.
from argbash.
👍 but the main point of this issue is unrelated to customization:
Also ./foo.sh --help ending with FATAL ERROR: .... is probably not the best user experience.
If the script foo.sh
requires a positional arg, passing --help
should not trigger the input validation at all IMO. --help
is essentially a global command that should override everything, just display the help as requested and exit 0. Maybe nitpicking as the help is currently displayed, I wouldn't expect the error message though when running foo.sh --help
.
from argbash.
This is a matter of taste. I want to avoid a special case that would depend on argument name. My goal include making your setup possible without having to pass the argbash-generated output to additional scripts, but using other means than handling the --help
argument in a special way.
from argbash.
Fair points, I think this can be closed then unless you want to keep it open for reference.
from argbash.
This will be closed only when the issue is solved ;-) One bugfix release is to be expected before this is addressed.
from argbash.
Check out the DIY mode, it gives you what you need.
from argbash.
Related Issues (20)
- recursion: parse arguments from file HOT 1
- Allow ARG_LEFTOVERS after ARG_POSITIONAL_INF if ARG_POSITIONAL_DOUBLEDASH specified between them HOT 6
- autom4te Error: invalid command code m, end of file in string: syntax error in expression HOT 1
- ARG_LEFTOVERS functionality dependent on bash version HOT 1
- Invalid short and long options are treated as positional arguments HOT 2
- evaluate_strictness make the script fail if executed with errexit HOT 1
- feature request: add possibility to add code before the argbash definitions HOT 2
- make compatible with errexit and nounset HOT 1
- Fluent API like commands HOT 2
- SSL Certificate does't match argbash.io HOT 2
- Project description: add https://argbash.dev
- Clarify license implication of using argbash
- Show example usage in the readme (hello world example)
- PKGBUILD.in missing dependency rst2man for generating manpages HOT 3
- Calculate default value at run time?
- parse_commandline: _key should be local?
- Perform argbash arg parsing for bash functions HOT 1
- Feature Request: GIT style commands with arguments HOT 1
- Hardcoded bash path? HOT 1
- Feature Request: Argbash clean command/output type
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from argbash.