A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://github.com/docopt/docopt.coffee below:

GitHub - docopt/docopt.coffee: docopt - A command line option parser that will make you smile.

docopt – command line option parser, that will make you smile

docopt is a language for description of command-line interfaces. This is docopt implementation in CoffeeScript, that could be used for server-side CoffeeScript and JavaScript programs.

Isn't it awesome how modern command-line arguments parsers generate help message based on your code?!

Hell no! You know what's awesome? It's when the option parser is generated based on the help message that you write yourself! This way you don't need to write this stupid repeatable parser-code, and instead can write a beautiful help message (the way you want it!), which adds readability to your code.

Now you can write an awesome, readable, clean, DRY code like that:

doc = """
Usage:
  quick_example.coffee tcp <host> <port> [--timeout=<seconds>]
  quick_example.coffee serial <port> [--baud=9600] [--timeout=<seconds>]
  quick_example.coffee -h | --help | --version

"""
{docopt} = require '../docopt'

console.log docopt(doc, version: '0.1.1rc')

Hell yeah! The option parser is generated based on doc string above, that you pass to the docopt function.

API {docopt} = require 'docopt'

###options = docopt(doc, {argv: process.argv[2..], help: true, version: null})

docopt takes 1 required and 3 optional keyword arguments:

Note, when docopt is set to automatically handle -h, --help and --version options, you still need to mention them in the options description (doc) for your users to know about them.

The return value is an Object with properties (giving long options precedence), e.g:

{'--timeout': '10',
 '--baud': '4800',
 '--version': false,
 '--help': false,
 '-h': false,
 serial: true,
 tcp: false,
 '<host>': false,
 '<port>': '/dev/ttyr01'}

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4