Comments (3)
I hear what you're saying.
I implemented the Clamp command-line parsing that way to keep it simple. Check out the main parsing logic:
def parse(arguments)
@remaining_arguments = arguments.dup
parse_options
parse_parameters
parse_subcommand
handle_remaining_arguments
end
This would get more complicated - and make my head hurt - if Clamp had to deal with option flags and option arguments interleaved with position parameter arguments and subcommands.
Personally I find the options-before-parameters constraint "cleaner", though I have to admit it's caught me out at times, too.
I'm very happy to consider pull-requests that relax the constraint, so long as they don't unduly complicate the internals.
from clamp.
I'm closing this, since it hasn't gone anywhere, but my "happy to consider pull-requests" comment stands.
from clamp.
@mdub sorry, I never really got around to this. Maybe in the future, but for now, we simply kept Thor
in favour of Clamp
. Priorities are a b*tch 👎 😄
from clamp.
Related Issues (20)
- Subcommands in the context of main command HOT 2
- Not able to define optional plus multi valued parameter HOT 2
- A method for access options as Hash from a Command instance HOT 1
- Print default for required options with environment_variable
- infer environment variable name similar to how variables names are inferred (ie from long form option) HOT 1
- Question: Pass option to subcommand? HOT 2
- required:true breaks attribute writer functionality HOT 7
- Cannot include attribute writers from a module HOT 2
- No (automatic) indicator of required/optional option help HOT 2
- Showing "short usage" unless "--help" is provided HOT 4
- Suggestion: 'execute do' instead of 'def execute' HOT 1
- 1.2.0 makes multivalued params always required HOT 3
- Parameter ARGF like functionality HOT 1
- Support for long option with only one dash HOT 1
- "required" options can't be provided after subcommand
- Negative numbers passed as parameter as interpreted a options HOT 4
- Clamp apps testing HOT 2
- [BUG] default value is not passed to subcommand HOT 4
- default_subcommand doesn't accept options and parameters from the subcommand HOT 1
- Extraneous parameters in subcommand usage help
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 clamp.