readme updated
This commit is contained in:
parent
e18800814f
commit
8f9ee0ddf3
54
README.md
54
README.md
@ -2,17 +2,67 @@
|
|||||||
|
|
||||||
This a very simple implementation of Go-like flags in Odin
|
This a very simple implementation of Go-like flags in Odin
|
||||||
|
|
||||||
## Usage
|
## How to use
|
||||||
|
|
||||||
```odin
|
```odin
|
||||||
defer myflag.destroy()
|
import "myflag"
|
||||||
|
|
||||||
isRunning: bool
|
isRunning: bool
|
||||||
isNumber: int
|
isNumber: int
|
||||||
isString: string
|
isString: string
|
||||||
|
isFloat: f32
|
||||||
|
|
||||||
myflag.BoolVar(&isRunning, "isRunning", true, "A select piece of code is running!")
|
myflag.BoolVar(&isRunning, "isRunning", true, "A select piece of code is running!")
|
||||||
myflag.IntVar(&isNumber, "isNumber", 3434, "A number!")
|
myflag.IntVar(&isNumber, "isNumber", 3434, "A number!")
|
||||||
myflag.StringVar(&isString, "isString", "Hellope!", "A string!")
|
myflag.StringVar(&isString, "isString", "Hellope!", "A string!")
|
||||||
|
myflag.Float32Var(&isFloat, "isFloat", 3.1415, "A float!")
|
||||||
|
|
||||||
myflag.parse_flags()
|
myflag.parse_flags()
|
||||||
|
```
|
||||||
|
|
||||||
|
***Supports: bool, int, string, f32***
|
||||||
|
|
||||||
|
And on the command line, you pass flags like so:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./<program name> -isNumber=45 -isRunning=false ......
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage flag: -help
|
||||||
|
|
||||||
|
The package also contains a help context menu. This comes default and can be called like so
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./<program name> -help
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
-isRunning:
|
||||||
|
A select piece of code is running! (default: true)
|
||||||
|
|
||||||
|
-isNumber:
|
||||||
|
A number! (default: 3434)
|
||||||
|
|
||||||
|
-isString:
|
||||||
|
A string! (default: Hellope!)
|
||||||
|
|
||||||
|
-isFloat:
|
||||||
|
A float! (default: 3.141)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** You can set the boolean *FORCE_HELP_ON_EMPTY_ARGS* to allow for the help context menu to be displayed when no arguments are passed
|
||||||
|
|
||||||
|
## Custom Allocator
|
||||||
|
|
||||||
|
If needed, you are able to setup a custom allocator like so:
|
||||||
|
|
||||||
|
```odin
|
||||||
|
arena: vmem.Arena
|
||||||
|
arena_err := vmem.arena_init_growing(&arena)
|
||||||
|
ensure(arena_err == nil)
|
||||||
|
arena_alloc := vmem.arena_allocator(&arena)
|
||||||
|
defer vmem.arena_destroy(&arena)
|
||||||
|
|
||||||
|
myflag.init_custom_allocator(arena_alloc)
|
||||||
|
defer myflag.destroy() //clean up flags
|
||||||
```
|
```
|
||||||
Loading…
x
Reference in New Issue
Block a user