Each rule belongs to a
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 '
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.