inilike 1.2.2
Parsing .ini-like files used in Freedesktop systems
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
Inilike
Inilike is D library for parsing .ini-like files used in Freedesktop systems in various places (.desktop files, icon themes, mimeapps.list, mimeinfo.cache, trashcan files on freedesktop, etc.)
Note: the original purpose of this library is to serve as dependency for my other projects, e.g. desktopfile and icontheme. It may be not suitable to save configuration files using this library. You have been warned.
Format
Freedesktop specifications use the format which is sometimes referred to as .ini-like because it's very similiar to INI used in MS Windows with small differences:
- Comments start with '#', not ';'.
- Each comment is always placed on its own line. Key-value can't be mixed with a comment on the same line.
Example:
# Comment
[Group name]
Key=Value
# Comment inside group
AnotherKey=Value
[Another group]
Key=English value
Key[fr_FR]=Francais value
Localized values lookup
The localized value is the value associated with the localized key. Localized keys look like this:
keyname[locale]
where locale is the POSIX locale with the charset part dropped.
Inilike library has support for lookup of localized values, using the algorithm described in Desktop Entry Specification.
Subclassing IniLikeFile
IniLikeFile is the base class for file of ini-like format. To change its functionality (validation and other behavior) it needs to be subclassed. See example in unittests that shows which functions can be overridden.
- 1.2.2 released 2 years ago
- FreeSlave/inilike
- BSL-1.0
- Copyright © 2015-2016, Roman Chistokhodov
- Authors:
- Dependencies:
- none
- Versions:
-
1.2.2 2022-Nov-19 1.2.1 2021-Sep-27 1.2.0 2020-Sep-17 1.1.0 2017-Oct-23 1.0.3 2017-Oct-21 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
1 downloads this month
-
31 downloads total
-
- Score:
- 1.2
- Short URL:
- inilike.dub.pm