Hey all — I've been using Text Marker for persistent, multi-color highlighting for a long time.
My code-reading sessions often stretch over several days, sometimes close to a week. When I'm working through an unfamiliar codebase, I lean heavily on color-coding — different colors for variables, data structures, control paths, log patterns. For that workflow, temporary highlights aren't much use; I don't want everything to vanish the moment I reload the window. Text Marker handled persistence in a way I liked: saved highlight rules just live in settings.json, simple and visible.
The catch is that the original has been essentially unmaintained since 2020/2021. A few things I'd wanted for a while — automatic saving of highlight rules, and control over where those rules get saved — weren't likely to land upstream.There was also another thing I wasn't very comfortable with: the original extension includes telemetry and enables it by default. You can turn it off, but for something whose whole job is highlighting text in files I'm working on, I didn't see much reason for telemetry to exist at all.
So I ended up forking it. The result is Text Marker Plus: source · Marketplace
My goal isn't to turn Text Marker into something different. I actually like how simple and transparent the original design is. I just wanted to keep that workflow while fixing what's become frustrating after years without updates.
What I've changed
No telemetry. Not "disabled by default" — removed entirely. There's no setting for it because there's no code to enable.
Async, chunked matching. Instead of blocking on the whole document in one pass, matching runs in smaller async chunks, with the visible part of the editor prioritized so highlights appear quickly while the rest finishes in the background. This also covers all visible split panes, not just the focused one.
Auto-save + configurable save target. Enable auto-save on toggle instead of saving manually every time, and choose where rules get saved — workspace, global, or prompted each time. I still default to workspace myself, since the result stays visible in settings.json.
One Half Dark palette, because I have opinions about colors. I swapped the default palette for one based on One Half Dark — it's just a better-looking set of colors than what shipped originally, fight me 😂. On top of that, I also fixed a behavior that bugged me: the original falls back to gray once you've used up the predefined palette, which isn't great once you've got a lot of simultaneous markers. Text Marker Plus cycles back to the start instead (red → blue → green → red → blue → green...). You can still bring your own palette via textmarker.userColor / textmarker.useUserColor if you don't share my taste.
The normal Text Marker workflow is still there:
highlight the selected text or word under the cursor
use multiple independent colors
regex highlighting
case-sensitive / case-insensitive matching
whole-word / partial matching
jump to the next or previous occurrence
save highlights and restore them when reopening files
I'm also trying to keep compatibility with the original commands and settings wherever it makes sense, so existing Text Marker users shouldn't have to completely relearn the extension.
Why I'm posting this
I'm mostly testing this through my own workflow right now, and one person's workflow is a pretty bad test suite for a VS Code extension. There are almost certainly edge cases I haven't hit — unusual Unicode, very large files, different layouts, odd regexes, extension interactions. If persistent multi-color highlighting is part of how you read code too, I'd appreciate people trying it and reporting anything that looks off.
AI disclosure
I used OpenAI Codex during development — mostly for navigating the codebase, discussing approaches, generating candidate changes, and helping with tests. I don't treat its output as trusted code: everything gets reviewed, modified where needed, compiled, linted, and tested before it's merged. The design decisions are mine, and if something's broken, "Codex wrote it" isn't an excuse — it's still my bug.
Rough edges
Still a young fork, single maintainer (me) for now.
MIT licensed, original license and attribution retained — full credit to ryu1kn for the original extension. This wouldn't exist without it.
Bugs, edge cases, or anything that feels awkward — issues are welcome: https://github.com/williamslay/vscode-text-marker-plus/issues


Top comments (0)