v-ini
INI library for V.
Setup
v install Sorrow446.vini
import sorrow446.vini as ini
Examples
Accessing values
mut cfg := ini.read('1.ini')!
section := cfg.sections['config']
println(section['out_path'])
println(section['format'].int())
Read INI, modify it, then write it to a new file
mut cfg := ini.read('1.ini')!
cfg.sections['config']['out_path'] = 'G:\\out2'
cfg.sections['new.section'] = {
'ab': 'cd',
'ef': 'gh',
}
ini.write('2.ini', cfg)!
[config]
out_path=G:\out
format=10
->
[config]
out_path=G:\out2
format=10
[new.section]
ab=cd
ef=gh
Restrictions
Type | Allowed chars |
---|---|
Section key |
a-zA-Z0-9.-_/ |
Key |
a-zA-Z0-9.-_
+
-
! |
Value | any |
- Loose key/value pairs without sections are allowed.
- Duplicate value keys are allowed, but duplicate section keys aren't.
- Comments can start with
;
or #
.
Structs
pub struct Duplicates {
pub mut:
sections map[string]map[string][]string
loose map[string][]string
}
pub struct INIFile {
pub mut:
sections map[string]map[string]string
loose map[string]string
duplicates Duplicates
}