Done:
Set tags by marks, not by absolute positions (marks travel with text)
Get tag position by tag_ranges(tag), not mark + len(word) (word length changes)
Check if work is already tagged as error tag_names(idx)
- Shouldn't double tag the word