optarg
optarg
Yet another library for parsing command-line options and arguments, written in the Crystal language.
Installation
Add this to your application's shard.yml
:
dependencies:
optarg:
github: mosop/optarg
Features
-
Easy Access
class Model < Optarg::Model string "--foo" end result = Model.parse(%w(--foo bar)) result.foo # => "bar"
-
Nilable Accessor
class Model < Optarg::Model string "--foo" end result = Model.parse(%w()) result.foo? # => nil result.foo # raises KeyError
-
Default Value
class Model < Optarg::Model string "--foo", default: "bar" end result = Model.parse(%w()) result.foo # => "bar"
-
Boolean Value
class Model < Optarg::Model bool "-b" end result = Model.parse(%w(-b)) result.b? # => true
-
Nagation
class Model < Optarg::Model bool "-b", not: "-B" end result = Model.parse(%w(-B)) result.b? # => false
-
Non-option Arguments
class Model < Optarg::Model string "-s" bool "-b" end result = Model.parse(%w(-s foo -b bar -- baz)) result.args # => ["bar"] result.unparsed_args # => ["baz"]
Usage
require "optarg"
and see Features.
Development
[WIP]
Contributing
- Fork it ( https://github.com/mosop/optarg/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- mosop - creator, maintainer