https://github.com/webability-go/xconfig
plain text configuration files parser
https://github.com/webability-go/xconfig
go golang webability webability-xconfig xconfig
Last synced: about 1 year ago
JSON representation
plain text configuration files parser
- Host: GitHub
- URL: https://github.com/webability-go/xconfig
- Owner: webability-go
- License: mit
- Created: 2018-11-06T20:03:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-11-17T04:45:05.000Z (over 4 years ago)
- Last Synced: 2025-03-26T02:33:51.093Z (over 1 year ago)
- Topics: go, golang, webability, webability-xconfig, xconfig
- Language: Go
- Homepage: https://developers.webability.info/
- Size: 81.1 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
@UTF-8
[](https://goreportcard.com/report/github.com/webability-go/xconfig)
[](https://godoc.org/github.com/webability-go/xconfig)
[](https://golangci.com)
XConfig for GO v1
=============================
Package xconfig loads a configuration file similar to a .ini file, but with some important improvements:
- The xconfig recognize bool, int, float and Strings, and also collections of values and hierarchical nested sub-config sets.
- The xconfig is compatible with XDataset to inject and use in templates, database records, etc.
- You can load more than one file in merge mode or replacing mode in the same config object.
- You can set and get parameters at any time.
- You can load the config object based on a file, but also on a string and another object; this way you can serialize, unserialize, transfer by any strem, save or load on database the object, etc.
- You can also save back the config string with all its comments.
Manuals are available on godoc.org [](https://godoc.org/github.com/webability-go/xconfig)
TO DO:
======
- Make it thread safe ? (so maybe with a flag to activate it ?)
- Add Time ? Other types of int32, int64, float32, runes etc ?
- Merge vs load to load more than 1 file (pending)
- implement + and :
- Add a flag when it's a multiple load to warn a "save"
- Add error control con Get* for type conversions (if the type is different as expected)
- Log errors into official log
Version Changes Control
=======================
v0.4.3 - 2021-11-16
-----------------------
- Documentation revised and added with Marshal and SaveFile Functions
- Bug corrected in Marshal, sometimes an empty line was ignored by the reconstruction of the string
v0.4.2 - 2020-03-30
-----------------------
- Pointers to self structure changed (c.Parameters instead of (*c).Parameters)
- Del/Set/Add function now work correctly and do not duplicate entries if not merged (Add)
v0.4.1 - 2020-03-29
-----------------------
- Marshal and SaveFile implemented to generate original string of XConfig file and save it to a file.
- example directory removed. The examples are implicitly into documentation and tests.
v0.4.0 - 2020-03-29
-----------------------
- Modulatization (go mod init) and use of xcore/v2
- Documentation finished
- Comments into code, corrections to meet golint standards
- String modified to order printed lines and get a uniform result if the XConfig contains the same data
- Tests implemented to verify official defined specs
v0.3.0 - 2020-02-11
-----------------------
- Documentation enhanced, Configuration Syntax Reference added
- Licence and Tests Added
v0.2.1 - 2020-02-10
-----------------------
- Documentation enhanced
- Bug corrected on String and GoString()
v0.2.0 - 2020-02-10
-----------------------
- Modification to XConfig to meet xcore v1.0.0 (.String and .GoString functions added, .Stringify function removed)
v0.1.0 - 2019-12-06
-----------------------
- Code formated before sending to github (gofmt -s)
v0.0.9 - 2019-07-12
-----------------------
- Incode println removed
v0.0.8 - 2019-06-25
-----------------------
- Added Clone functions to meet xcore.XDatasetDef definition
v0.0.7 - 2019-03-06
-----------------------
- Added functions of Time to get time data.
v0.0.6 - 2019-02-05
-----------------------
- Added conversion between types con Get* functions
v0.0.5 - 2019-01-06
-----------------------
- XConfig object aligned with XDataset with missing set of functions
- XConfig csn now be injected into an XTemplate
V0.0.4 - 2018-12-21
-----------------------
- Added GetString, GetInt, GetBool and GetFloat to directly get the known value type (and do not have to convert types)
- Error corrected on Set (type float added)
V0.0.3 - 2018-12-05
-----------------------
> Branch "late-night" added to github
- Added support for sub-XConfig with entry1.entry2.entry3=xxx
V0.0.2 - 2018-11-27
-----------------------
- Added support for strings starting with "
- Added support for array of booleans
- Added support for float parameters
- Work for a full normal load of a file, suporting also repeated parameters (array of parameters)
- VERSION constant added
- XConfig.Get function implemented for basic parameters (without + or :)
V0.0.1 - 2018-11-14
-----------------------
- First commit, only work to load basic parameters