The extension loads a words file. Then changes the color of words in every page viewed in Chrome to be the color given in the file.
The file contains sections. Sections are separated by a line containing "=====".
Each section contains a header and then a list of words.
The header contains:
First line is the color in Hex RGB.
Second is the background color.
Third is the match type, either: exact, regex, part.
Then the list of words, one per line.
if "exact" is given, then words in the page need to match the words in the section exactly.
if "regex" is given, then the list contains regex’s, and any word matching the regex should be colored accordingly.
if "part" is given, then the word is colored if it contains the string.
The priority of coloring is: exact, part, regex. i.e. regex is used only if exact and part didn’t match the word.
A word boundary is a change between letters, numbers, and other characters. for example the string “one two123, three… fourfive,six,789hundred” will be divided to the words: one, two, 123, three, fourfive, six, 789, hundred.
Fonts and styles should not change.
Links should become underlined (whether visited or not).
The list may contain words in many character sets, and all should be supported.
Everything is case insensitive.
The extension could be turned off by clicking on its icon in the extension bar, recovering the original page view.
The file may be fairly large (10,000 words) and there may be many replacements per page, so it’s important that it’s kept in memory in an efficient data structure (e.g. hash table).
Example of a word file:
I have enough experience in the Chrome plugins and ready to work. You can see my previous plugin in the history. Your requirements is perfectly detailed, but I'm confused a bit anyway. Questions are in the PM.