A pure-Swift implementation of the INI config parser
.package(url:"https://github.com/Ponyboy47/ConfigParser.git", from:"0.4.0")import ConfigParser
letconfString="""[section1]key1 = value1key2 = 1, 2, 3, 4[section2]key1 = testkey2 = 1234"""letconfig=tryConfigParser.parse(confString)
// Use subscripts to get the value you want in the type you want
letkey1s1:String?=config[section:"section1", key:"key1"] // Optional<String>(value1)
letkey2s1=config[section:"section2", key:"key1", default:[4,3,2,1]] // [1, 2, 3, 4]Supported Types:
- String
- Bool
- Int (8,16,32,64 and all the UInt variants)
- Double
- Float and Float80
- Arrays of any of the above types
- Section/Key name validation (must start with an alphabet character)
- Retrieve values as specified type
- Bool
- String (default)
- Double/Float
- Int
- Array
- Write config to file
- Escape sequences (bug fix)
- Multi-line values
- Read from string
- Customizable options
- Delimeter (ie: ':' instead of '=')
- Don't trim whitespace
- Nested sections
- Dotted section titles
- Indented sections
- Duplicate key behavior
- Keep first
- Overwrite
- Error
MIT