Popularity
5.8
Stable
Activity
0.0
Stable
17
4
4
Programming language: Crystal
License: MIT License
Tags:
Cli Builders
docopt alternatives and similar shards
Based on the "CLI Builders" category.
Alternatively, view docopt.cr alternatives based on common mentions on social networks and blogs.
Get performance insights in less than 4 minutes.
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Promoted
scoutapm.com
Do you think we are missing an alternative of docopt or a related project?
Popular Comparisons
README
docopt.cr
docopt for crystal-lang
Installation
Add this to your application's shard.yml
:
dependencies:
docopt:
github: chenkovsky/docopt.cr
Usage
require "docopt"
describe "Docopt" do
# TODO: Write tests
it "works" do
doc = <<-DOC
Naval Fate.
Usage:
naval_fate ship new <name>...
naval_fate ship <name> move <x> <y> [--speed=<kn>]
naval_fate ship shoot <x> <y>
naval_fate mine (set|remove) <x> <y> [--moored|--drifting]
naval_fate -h | --help
naval_fate --version
Options:
-h --help Show this screen.
--version Show version.
--speed=<kn> Speed in knots [default: 10].
--moored Moored (anchored) mine.
--drifting Drifting mine.
DOC
std = {"ship" => true, "new" => false, "<name>" => ["A"], "move" => true, "<x>" => "a", "<y>" => "b", "--speed" => "3", "shoot" => false, "mine" => false, "set" => false, "remove" => false, "--moored" => nil, "--drifting" => nil, "-h" => nil, "--help" => false, "--version" => nil}
ans = Docopt.docopt(doc, argv = ["ship", "A", "move", "a", "b", "--speed=3"])
ans["<name>"].should eq(std["<name>"])
end
it "one or more" do
doc = <<-DOC
test
Usage:
naval [--files=files...]
DOC
ans = Docopt.docopt(doc, argv = ["--files=a.txt", "--files=b.txt"])
farr = ans["--files"] as Array(String)
"a.txt".should eq(farr[0])
"b.txt".should eq(farr[1])
end
end
TODO: Write usage instructions here
Development
TODO: Write development instructions here
Contributing
- Fork it ( https://github.com/chenkovsky/docopt.cr/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
- chenkovsky chenkovsky.chen - creator, maintainer