after trying at least dozen C++ GUI libs and none of them being good enough (license, limited portability, limited customability,...) i started making my own one which is OpenGL based, got automatic layouting, separation of concerns of layout/style/logic, permissive license, and provides building blocks to make your own widgets. https://github.com/Enhex/GUI
1) how does one define a key with a ": "
2) as others said, significant whitespace, specifically trailing, seems to lead problems with keys that have nested key/val, array, multiline string.
3) the github repo associated with the parser has an isue that questions how to verify if the file was truncated.
I think Deco: https://github.com/Enhex/Deco better solves the problem the OP has. It is provably delimiter collision free, unlike this (see my point 1 Unless I'm mistaken).