Add a `compact` formatting for the `--what` option.
The `compact` formatting shows a list of bindings, without the
attributed actions.
Update the Git example to use `command`.
Change `shell` fields to `command` fields in order to be able to pass
arguments to git.
Add support for passing arguments.
Arguments can now be passed to the called command after its name.
Add support for the `success` rule.
The `success` rule's argument shall be a shell command which will be
evaluated to be true if its return code is zero.
Add some more useful examples.
Add several matching rules.
Rename `path` to `in`.
Add the `at` rule, which only matches the directory and not its
children.
Add the `none` rule, which matches iff none of its rules match.
Add the `sibling` rule, which matches if any ancestor contains the given
file.
Edit the examples and README accordingly.
Cache the rulebooks using `pickle`.
Sort output when showing rules.
Rename "Definition" into "Rulebook".
Add command execution.
The commands under the `shell` key are now executed.
Add pretty and oneline printing.
Pretty print by default or one-line with `-woneline`.
Build an action dictionary.
Build an action dictionary whose keys are the bindings which will be
used ( after removing ambiguous bindings ) and whose elements are the
actions.
Refactor the definition acquisition.
Add rules testing.
Directories can now be tested by defined rules. Defined rules are :
- contains: Tests whether the directory contains an entry with this
name. If the name ends with a '/', the file MUST be a directory.
- path: Tests whether the directory is a descendant of the specified
directory.
- all: Tests whether all child rules evaluated to true.
- any: Tests whether any child rule evaluated to true.
There is an implicit root rule, which acts as an 'all' rule.
Add examples and correct the README
Add some examples, correct the old ones, along with the README.md file.
Add definition loading.
Definition files are now loaded and parsed to python dictionary objects.