Crate dia_args

source ·
Expand description

A command line parser

Project

Features

  • No debts: no dependencies. It’s an argument parser, so standard Rust is enough.
  • There’s a specification (below). It has a separate version, not same as the library’s.
  • parse_file() helps parse arguments stored in your file.
  • docs helps make documentation for your program.
  • Optional bin feature provides a program which helps you generate simple Rust source code templates. You can run the program with help command for more details.

Specification 0.0.1

A program argument can be:

  • A command.
  • An argument.
  • An option.
  • Two special phrases: - and --.
  1. Commands

    • A command can be anything which does not start with either - or --.
  2. Arguments

    • Same as a command, an argument can be anything which does not start with either - or --.
  3. Options

    An option starts with - or --.

    • - supports either:

      • A single short format option.
      • Or multiple short format boolean options.
    • -- supports a single long format option.

    • Option values can be anything.

    • An option’s key and value can be separated by either:

      • An equals sign =.
      • Or mutiple white spaces.
    • A boolean option has 2 values: true and false. The value is optional. If absent, true will be assigned.

  4. Special phrases

    • - means: the program should process standard input.
    • -- means: the program should process all phrases after it as arguments. This is normally used to pass arguments to sub process.
  5. Passing arguments to a program

    Must be in this form:

    program [command|arguments...|options...|-] [-- [arguments...]]
    

    in which:

    • [] means optional.
    • ... means multiple arguments.

Modules

Kit for documentation
Licenses
Extensions for Args
0.59.4 (January 27th, 2023)

Macros

Makes a vector of Cow<'_, Cmd<'_>> from a list of either Cmd or &Cmd
Makes a vector of Cow<'_, Option<'_>> from a list of either Option or &Option

Structs

Arguments

Enums

Answer
Merge option

Constants

Crate code name
Description of argument file format, in English
Default file name for storing arguments: .dia-args
false as string
ID of this crate
Maximum size allowed for argument file to be parsed (3 MiB)
Crate name
Crate release date (year/month/day)
Tag, which can be used for logging…
true as string
Crate version

Functions

Asks user some question
Locks stderr and writes to it
Locks stdout and writes to it
Parses from process’ arguments
Parses from file
Parses a stream of strings, separated by null byte (0)
Parses from an iterator of strings
Reads a line from stdin, trims and converts it to T

Type Definitions

Result type used in this crate