Excluded several widgets from overriding following http://www.zsh.org/mla/users/2014/msg00308.html advise to resolve issue #137
Check for TOKENS_COMMANDSEPARATOR even if $new_expression=false to highlight properly consecutive command separators like 'echo a; ; ; echo b'.
Add condition that path_approx should be highlighted only if $#arg > 3, otherwise it matches too many things. (but do we need path_approx at all?)
Bug fix: when editing multi-line complex command highlighting was shifted by one character starting from second line. This behaviour was due to splitting of BUFFER using shell parser ${(z)BUFFER}, which basically changes all newlines to semicolons.
Defined predicate_switcher function in order to be able to use main highlighter when cursor has moved. Normally turning on this feature for the whole main highlighter is not advisable, however it is still helpful in edge cases and solves the problem with highlighting the prefix of the path and file. To prevent slowdown the predicate_switcher is defined in such a way that it activates main highlighter with respect to cursor movement just for one call, and after that returns automatically to the default mode, i.e. highlighting only after buffer is modified.
Add TODO file
TODO update
TODO update
TODO update
Add ZSH_HIGHLIGHT_STYLES[file] style to change color for all files at once