Crate dia_args[−][src]
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
masterbranch) - 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.::docshelps make documentation for your program.- Optional
binfeature provides a program which helps you generate simple Rust source code templates. You can run the program withhelpcommand 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:
trueandfalse. The value is optional. If absent,truewill 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 |
Enums
| Answer | Answer |
| 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
| ask_user | Asks user some question |
| lock_write_err | Locks stderr and writes to it |
| lock_write_out | Locks stdout and writes to it |
| 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 |