Popularity
6.2
Growing
Activity
0.0
Declining
21
5
5
Programming language: Crystal
License: MIT License
Tags:
Cli Builders
docopt alternatives and similar shards
Based on the "CLI Builders" category.
Alternatively, view docopt alternatives based on common mentions on social networks and blogs.
-
admiral
A robust DSL for writing command line interfaces written in Crystal. -
commander
Command-line interface builder for the Crystal programming language. -
cli
Yet another Crystal library for building command-line interface applications. -
optarg
Yet another Crystal library for parsing command-line options and arguments.
Clean code begins in your IDE with SonarLint
Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
Promo
www.sonarlint.org
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