[−][src]Crate dia_args
A command line parser
Project
- Repository: https://bitbucket.org/haibison/dia-args
- License: Nice License 1.0.0 (see LICENSE file at root directory of
master
branch) - This project follows Semantic Versioning 2.0.0
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 withhelp
command for more details.
Specification 0.0.1
A program argument can be:
- A command.
- An argument.
- An option.
- Two special phrases:
-
and--
.
-
Commands
- A command can be anything which does not start with either
-
or--
.
- A command can be anything which does not start with either
-
Arguments
- Same as a command, an argument can be anything which does not start with either
-
or--
.
- Same as a command, an argument can be anything which does not start with either
-
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.
- An equals sign
-
A boolean option has 2 values:
true
andfalse
. The value is optional. If absent,true
will be assigned.
-
-
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.
-
Passing arguments to a program
Must be in this form:
program [command|arguments...|options...|-] [-- [arguments...]]
in which:
[]
means optional....
means multiple arguments.
Modules
docs | Kit for documentation |
paths | Extensions for |
version_info |
|
Macros
make_cmds | Makes a vector of |
make_opts | Makes a vector of |
Structs
Args | Arguments |
ReadOnlyArgs | Read-only |
Enums
MergeOption | Merge option |
Constants
CODE_NAME | Crate code name |
DIA_ARGS_FILE_FORMAT | Description of argument file format, in English |
DIA_ARGS_FILE_NAME | Default file name for storing arguments: |
FALSE_AS_STR |
|
ID | ID of this crate |
MAX_DIA_ARGS_FILE_SIZE | Maximum size allowed for argument file to be parsed (3 MiB) |
NAME | Crate name |
RELEASE_DATE | Crate release date (year/month/day) |
TAG | Tag, which can be used for logging... |
TRUE_AS_STR |
|
VERSION | Crate version |
Functions
parse | Parses from process' arguments |
parse_file | Parses from file |
parse_stream | Parses a stream of strings, separated by null byte ( |
parse_strings | Parses from an iterator of strings |
read_line | Reads a line from stdin, trims and converts it to |
Type Definitions
Result | Result type used in this crate |