If the file is not found, it is assumed to be an absolute path of a configuration file located elsewhere.
Configuration file consists of entries, one per regexp, entries are separated with lines with first character non-alphanumeric (except #). Lines beginning with # or empty lines are ignored.
Each entry consists of several lines. Each line has form: keyword=value where keyword is one of: regexp, colours, command, concat, skip, count. Only regexp is mandatory, but it does not have much sense by itself unless you specify at least a colour or command keyword as well.
regexp is the regular expression to match
colours is the list of colours, separated by commas (you can specify only one colour), each colour per one regexp group specified in regexp.
command is command to be executed when regexp matches. Its output will be mixed with normal stdout, use redirectors ( >/dev/null) if you want to supress it.
replace means the regular expression match will be replaced by the value, all the preceeding regular expressions will be evaluated against the original text, all the following regular expressions will be evaluated against the replaced text
skip can be either yes, or no, if yes, the matched line will be skipped and not displayed in output. Default is no.
count is one of words: once, more, or stop.
once means that if the regexp is matched, its first occurrence is coloured and the program will continue with other regexp's.
more means that if there are multiple matches of the regexp in one line, all of them will be coloured.
stop means that the regexp will be coloured and program will move to the next line (i.e. ignoring other regexp's)
Regular expressions are evaluated from top to bottom, this allows nested and overlapped expressions. (e.g. you colour everything inside parentheses with one colour, and if a following expression matches the text inside parentheses, it will be also coloured)