Todo list
In no particular order, these are the things that need to be addressed, hopefully soon; patches enthusiastically appreciated:
- Write descriptors for more files. Eventually, Augeas should cover all commonly used configuration files
- Processing of httpd.conf. It's notjust a big file with lots of different directives, it can also not be described by a regular language, since it allows nesting things lie <IfModule ...> ... </IfModule arbitrarily deep.
- Support case-insensitive matching of regular expressions, either with a new builtin function of type regexp->regexp, or by expanding the regexp literal syntax to allow /[a-z]/i, i.e. add flags at the end of the regexp (or both)
- Bring the code to production quality. Particularly allocation failures need to be carefully looked at.
- Named character classes in regular expressions. Other differences to extended POSIX regexps are probably not worth addressing (collating sequences) or are impossible to address with true regular expressions (back references)
- Use ustr for strings instead of naked C strings
- Expand the XPath like language:
- Add an operator for "match any number of children", either using // like XPath or ** as some file utilities like rsync do
- Allow simple arithmetic expressions in path indices; in particular allow label[last()-N] to address the N-th last node called label.
- More adventurous query syntax like /files/etc/inittab/*/runlevels[../action="initdefault"] to select the runlevels part of the line in inittab that sets the default runlevel.
