dcli ~master

A library to help with building CLIs in D


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


This package provides sub packages which can be used individually:

dcli:program_options - Specify and parse command line options

dcli:program_commands - Specify and parse command line commands

D-cli

Latest version Build Status codecov license

Dcli is a library that is intened to help with building command line tools in D.

Full API docs available here

Modules

ProgramOptions (docs)

Handles program options which are arguments passed with a leading - or -- and followed by a value

Features:
  • Input validation
  • Customize seperators for associative array args
  • Supports environment variables
  • Supports default values
  • Supports custom types that have a constructor that is called with a string

ProgramCommands (docs)

Provides a command handling and definitino framework. Allos you define a set of commands that can be accepted on the command line, and also invokes any given handlers for activated commands. Also integrated with ProgramOptions.

E.g.
// install.d
void commandHandler(T)(T commands) {
    writeln(commands.install); // prints true
}
// main.d
static import install, build;
void main(string[] args) {
    auto commands = ProgramCommands!(
        Command!"build".handler!(build.commandHandler)
        Command!"install".handler!(install.commandHandler)
    )();
    commands.parse(args);
    commands.executeHandlers();
}
// Run it
$ ./program install
$ >> true
Authors:
  • Ali Akhtarzada
Sub packages:
dcli:program_options, dcli:program_commands
Dependencies:
dcli:program_options, dcli:program_commands
Versions:
0.0.2 2018-Nov-04
0.0.1 2018-Nov-03
~master 2018-Nov-05
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 18 downloads total

Score:
1.0
Short URL:
dcli.dub.pm