Rule Sections

Each rule belongs to a section. A section is just a simple grouping mechanism, so you can have multiple rules sets in one rule file. If a rules belongs to the default section, then it applies when no section is specified on the command line.

Here is an example rule file, containing two rules:

The first rule is in the 'default' section, and looks for the word 'red', and colors it red. The second rule is in the 'special' section, and also looks for the word 'red', and colors it as white on a red background.

Without the difference in sections, these rules conflict. Here is a demonstration of these rules being used:

Clog is invoked four times. In the first command, no section is specified, so the 'default' section is used, and you can see that the word 'red' in the input is colored red. The second command explicitly uses the 'default' section, and the result is the same.

Next the 'special' section is specified, and the corresponding rule applies, yielding a different result.

Finally, a missing section name is specified, and nothing happens.

If multiple sections are specified, then the rules are applied in that order. In the example, the 'default' section is specified before the 'special' section. Both rules apply, but because the 'special' section is specified last, it takes precedence.

When the order of sections is reversed, the other rule has precedence.