Code syntax highlighting is traditionally limited to the current programming language's syntax, unaware of the context of what we are making.
ixfx Highlight is a prototype investigating a novel approach to context-aware syntax highlighting. It assumes that your code employs the conventions of ClintH/ixfx, a functional framework for sketching and prototyping interactivity. ixfx uses a pattern of
The extension makes it possible to engage with the code on another conceptual level by explicating a context-aware understanding of the program level state.
Download ixfx Highlight on the VS Code Marketplace.
The current iteration of ixfx Highlight uses simple regular expressions to find the related variable names. As such, it is easy to run into edge cases that the regex can't handle. Sadly, VS Code does not expose a public API to hook into whatever process is responsible for the syntax highlighting for the particular file. As such, we are stuck with regex in lieu of a separate parser, like tree-sitter.
ixfx Highlight is primarily an aid to students learning how to prototype interactivity using ixfx. It is oddly specific and will likely not have practical non-ixfx-users. However, I hope it might provoke some thoughts or ideas. Feel free to reach out if you also find the notion of a context-aware text editor.
ixfx Highlight follows ixfx convention and highlights instances of variable called
You can additonaly dim non-
I recommend pairing ixfx Highlight with a restrained color theme, as busier ones might overpower the relatively subtle backgrounds. The screenshots use Niki Tonsky's Alabaster and Mike Hodgson's Monochorme Dark.
You can change the base colors to highlight
You can also control the prominence (opacity) of highlights.
All of the settings are configurable in the GUI as well.
The current prototype has a few limitations, none of which should be disruptive.
Add lens mode, an additional modifier that dims any non
Add configuration of highlight colors and prominence.
Initial release, with minor patches. Covers the basic usecase.