#!/usr/bin/env ruby $:.unshift File.join(File.dirname(__FILE__), *%w{ .. lib }) require "mercenary" # This example sets the logging mode of mercenary to # debug. Logging messages from "p.logger.debug" will # be output to STDOUT. Mercenary.program(:help_dialogue) do |p| p.version "2.0.1" p.description 'An example of the help dialogue in Mercenary' p.syntax 'help_dialogue ' p.command(:some_subcommand) do |c| c.version '1.4.2' c.syntax 'some_subcommand [options]' c.description 'Some subcommand to do something' c.option 'an_option', '-o', '--option', 'Some option' c.alias(:blah) c.command(:yet_another_sub) do |f| f.syntax 'yet_another_sub [options]' f.description 'Do amazing things' f.option 'blah', '-b', '--blah', 'Trigger blah flag' f.option 'heh', '-H ARG', '--heh ARG', 'Give a heh' f.action do |args, options| print "Args: " p args print "Opts: " p options end end end p.command(:another_subcommand) do |c| c.syntax 'another_subcommand [options]' c.description 'Another subcommand to do something different.' c.option 'an_option', '-O', '--option', 'Some option' c.option 'another_options', '--pluginzzz', 'Set where the plugins should be found from' end end