class CliGen::App

Overview

Root entry point. Holds a flattened copy of all flags from every command for global-flag matching, then hands off to the matched child CommandNode.

Defined in:

cligen/app.cr
cligen/app/generate.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class CliGen::CommandNode(Nil)

check! : Nil check!, help : String help, process(args : Array(CliGen::Arg)) : Nil process, subcommands : Array(SubCommandInfo) subcommands, verbose? : Bool verbose?

Constructor methods inherited from class CliGen::CommandNode(Nil)

new(name : String, flags : Array(BaseFlag), commands : Array(BaseCommandNode), pre_run_commands : Array(RunCommand), post_run_commands : Array(RunCommand), parent : BaseCommandNode | Nil = nil, description : String | Nil = nil) new

Instance methods inherited from class CliGen::BaseCommandNode

all_commands : Array(BaseCommandNode) all_commands, all_flags : Array(BaseFlag) all_flags, check! : Nil check!, check_for_duplicate_flags!(flags : Array(BaseFlag)) : Nil check_for_duplicate_flags!, check_for_duplicate_subcommands! check_for_duplicate_subcommands!, commands : Array(BaseCommandNode) commands, description : String | Nil description, find_match(arg : String) find_match, flag?(arg : String) : BaseFlag | Nil flag?, flags : Array(BaseFlag) flags, get(*, long : String) : BaseFlag | Nil
get(*, short : String) : BaseFlag | Nil
get
, handle_flag_raises(&) : Nil handle_flag_raises, meta : CommandMeta meta, name : String name, parent? : BaseCommandNode | Nil parent?, process(args : Array(String)) : Nil
process(args : Array(CliGen::Arg)) : Nil
process
, subcommand?(arg : String) : Bool subcommand?, subcommands : Array(SubCommandInfo) subcommands, subcommands? : Bool subcommands?

Constructor methods inherited from class CliGen::BaseCommandNode

new(name : String, flags : Array(BaseFlag), commands : Array(BaseCommandNode), pre_run_commands : Array(RunCommand), post_run_commands : Array(RunCommand), meta : CommandMeta, parent : BaseCommandNode | Nil = nil, description : String | Nil = nil) new

Constructor Detail

def self.new(name, flags : Array(BaseFlag), commands : Array(BaseCommandNode), pre_run_commands : Array(RunCommand), post_run_commands : Array(RunCommand)) #

Class Method Detail

def self.get #

def self.handle_command_raises(&) : Nil #

def self.process(args : Array(String) = ARGV.to_a) : Nil #

Convenience entry point; defaults to ARGV


Instance Method Detail

def check! #

def check_for_env_duplicates(flags : Array(BaseFlag)) #