Releases: andrebrait/invariant-colors
Release list
2026-08-29 - Invariant 1.3.2
Invariant 1.3.2
This release aligns JavaScript and JSON symbol identities across the IntelliJ and
Visual Studio Code themes.
IntelliJ
- JavaScript local and global variables now use the warm-neutral variable color
instead of inherited Darcula and Islands colors. - Resolved JavaScript instance methods now use function green instead of
parameter-like blue. - Each JavaScript key resets to its exact fallback declared by IntelliJ. Missing
libraries may still prevent the IDE from identifying imported types or member
methods semantically.
Visual Studio Code
- JSON, JSON with Comments, and JSON Lines property names now use the neutral
variable/property color instead of type cyan. - Read-only semantic tokens no longer become bold, so local
constandlet
variables keep the same identity styling.
The JetBrains ZIP and Visual Studio Code VSIX are attached to this release. Vim
and Neovim package managers can install the invariant-v1.3.2 tag directly.
2026-08-23 - Invariant 1.3.1
Invariant 1.3.1
This release fixes the JetBrains plugin, which installed successfully but never
offered its color scheme.
JetBrains
- The scheme named Islands Dark as its parent. That scheme is contributed by a
plugin rather than by the platform itself, and it is absent unless the Islands
UI is active, soAbstractColorsScheme.resolveParentfailed and the IDE
discarded Invariant on load. It never appeared under Settings | Editor | Color
Scheme on any IDE where the Islands UI was not in use. - The scheme now inherits from Darcula, one of the two schemes the platform always
registers, and spells out the 38 colors and 47 attributes it had been receiving
from Islands Dark. Islands Dark is itself Darcula plus overrides, so the
rendering is unchanged.
Other editors
The Visual Studio Code, Vim, and Neovim color schemes are unchanged from Invariant
1.3.0. Their packages remain version-aligned with this release.
The JetBrains ZIP and Visual Studio Code VSIX are attached to this release. Vim and
Neovim package managers can install the invariant-v1.3.1 tag directly.
2026-08-19 - Invariant 1.3.0
Invariant 1.3.0
This release refines semantic styling in Visual Studio Code and introduces the
optional Invariant Highlighter and Invariant Complete companion extensions.
Visual Studio Code
- Function-call parentheses and brackets remain neutral instead of inheriting the
function color in PHP, Python, Java, and other affected grammars. - Semantic tokens carrying the standard
modificationmodifier gain an underline
without changing their identity color. - Invariant Highlighter can fill selected gaps left by language services, including
consistent PHP parameter identity and modified-symbol highlighting. - Invariant Complete installs the theme and Highlighter together while keeping both
independently manageable.
Other editors
The JetBrains, Vim, and Neovim color schemes are unchanged from Invariant 1.2.0.
Their packages remain version-aligned with this release.
The JetBrains ZIP and Visual Studio Code VSIX are attached to this release. Vim and
Neovim package managers can install the invariant-v1.3.0 tag directly.
2026-08-19 - Invariant Highlighter 1.0.0
Invariant Highlighter 1.0.0
The first stable release of Invariant Highlighter adds semantic information that
Visual Studio Code and its language services do not always expose to color themes.
Features
- Every occurrence of a PHP parameter inside its function receives the standard
parametersemantic token type. - Reassigned parameters and variables are underlined throughout their syntax scope
without replacing their existing language-service colors. - Modified-symbol highlighting supports PHP, Python, Java, and Shell Script.
- Incremental Tree-sitter analysis updates changed scopes while reusing unchanged
syntax trees and classifications. invariantHighlighter.languagescan disable individual adapters or all
Highlighter behavior.
The extension works with Invariant or any other theme. The packaged VSIX is attached
to this release.
2026-08-19 - Invariant Complete 1.0.0
Invariant Complete 1.0.0
The first stable release of Invariant Complete installs both Visual Studio Code
components in one step:
- Invariant, the semantic dark color theme.
- Invariant Highlighter, which adds parameter identity and modified-symbol
information where language services leave gaps.
Complete is an extension pack rather than another theme or highlighting runtime.
Both components remain independently manageable and update independently. The
packaged VSIX is attached to this release.
2026-08-18 - Invariant 1.2.0
Invariant 1.2.0
This release gives markup languages explicit, aligned colors across JetBrains IDEs,
Visual Studio Code, Vim, and Neovim.
Markdown
- Headings are green and bold italic, including their markers where the editor exposes
them separately. - Formatting, list, quote, code, table, and reference markers are pink.
- Link text and brackets are cyan, link destinations are parameter blue, and reference
labels are pink. Image-link punctuation follows the cyan link text.
Other markup languages
- HTML and XML tag names are bold pink with neutral brackets; attribute names are green,
custom tags are orange, and entity references are pale blue. - YAML anchors and aliases are pale blue.
- Shell here-document delimiters are bold orange.
Known limitations
IntelliJ's TextMate fallback maps fenced Lua constants and punctuation to generic color
keys, so a passive color scheme cannot make those tokens match VS Code without changing
unrelated languages. VS Code also uses one scope for numeric and named shortcut-reference
labels, so both are pink.
The JetBrains ZIP and Visual Studio Code VSIX are attached to this release. Vim and Neovim
package managers can install the 1.2.0 tag directly.
2026-08-17 - Invariant 1.1.0
Invariant 1.1.0
A correctness release. Several colors in the JetBrains scheme were never reaching the
editor, because a scheme cannot redirect a highlighting key to a different base: the
fallback is fixed in IDE source, and anything else a scheme claims is discarded. Those keys
now carry their colors outright. The Visual Studio Code and Vim ports gain the built-in and
type-parameter identities the JetBrains scheme already had.
JetBrains
- Class references, reserved names, Python
selfandcls, and Kotlin operator and
dynamic-call punctuation now render their intended colors. Class references were neutral
rather than cyan,selfandclswere parameter blue rather than pink, and the Kotlin
keys were unstyled entirely. - Type parameters use bold orange
#fd971fin place of the muted rose#bfa4a4. - Markdown emphasis and headings are styled: structure comes through weight, on the
identifier foreground, so prose does not spend a color the code palette needs. - Python byte strings follow the ordinary string color instead of a color inherited from
Darcula. - Python special names are green where they are defined and neutral where they are read,
with no italic, matching what the other editors can express.
Visual Studio Code
- Workbench surfaces outside the editor match the Dark 2026 default theme. They previously
fell back to the color registry's Dark+ era values, which framed the editor in a bright
blue status bar and a light grey activity bar. - Built-in classes and functions use pale blue
#bed6ff, sointandlenread as
provided by the runtime rather than as an ordinary class or function. - Type parameters use bold orange
#fd971f. - Python modules and packages use the identifier foreground rather than the cyan namespace
color. - Published to Open VSX as well, for VSCodium, Cursor, Gitpod and other Open VSX clients.
Vim and Neovim
- Built-in types and functions use pale blue
#bed6ff, through both the tree-sitter
captures and the LSPdefaultLibrarymodifier. - Type parameters use bold orange
#fd971f; there was previously no mapping for them. - Python modules and packages use the identifier foreground.
Known limitation
Pale blue #bed6ff marks both signature-only methods and runtime built-ins. That overlap is
accepted for now rather than overlooked; separating the two needs a new palette entry and a
pass across every port.
The JetBrains ZIP and Visual Studio Code VSIX are attached to this release. Vim and Neovim
package managers can install the 1.1.0 tag directly.
2026-08-15 - Invariant 1.0.0
Invariant 1.0.0
First stable release of Invariant, a semantic dark editor color scheme based on Monokai.
This release includes:
- A JetBrains plugin for IntelliJ Platform IDEs, with primary coverage for Java and explicit mappings for Kotlin, Python, CSS, and shell scripts.
- A Visual Studio Code extension using the same semantic palette where language services expose equivalent information.
- A Vim and Neovim color scheme with true-color and 256-color support.
- Shared treatment of variables, parameters, types, methods, static members, comments, annotations, and reserved names across the supported editors.
The JetBrains ZIP and Visual Studio Code VSIX are attached to this release. Vim and Neovim package managers can install the 1.0.0 tag directly.
2026-08-15 - Invariant 0.1.0
Initial downloadable preview of Invariant for JetBrains IDEs, Visual Studio Code, Vim, and Neovim.
This prerelease is distributed through GitHub only and is not published to the editor marketplaces.