File: help_dialogue.rb

package info (click to toggle)
ruby-mercenary 0.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 192 kB
  • sloc: ruby: 570; sh: 25; makefile: 6
file content (45 lines) | stat: -rwxr-xr-x 1,363 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env ruby
# frozen_string_literal: true

$LOAD_PATH.unshift File.join(__dir__, "..", "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 <subcommand>"

  p.command(:some_subcommand) do |c|
    c.version "1.4.2"
    c.syntax "some_subcommand <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 <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