class Tocer::CLI::Shell

The main Command Line Interface (CLI) object.

def build_context

def build_context
  context[defaults_path:, xdg_config:, version_label: specification.labeled_version]
end

def call(...) = cli.call(...)

def call(...) = cli.call(...)

def cli

def cli
  context = build_context
  dsl.new :tocer, banner: specification.banner do
    on(Sod::Prefabs::Commands::Config, context:)
    on Commands::Upsert
    on(Sod::Prefabs::Actions::Version, context:)
    on Sod::Prefabs::Actions::Help, self
  end
end

def initialize(context: Sod::Context, dsl: Sod, **)

def initialize(context: Sod::Context, dsl: Sod, **)
  super(**)
  @context = context
  @dsl = dsl
end