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.