Skip to content

Releases: andrebrait/invariant-colors

2026-08-29 - Invariant 1.3.2

Choose a tag to compare

@andrebrait andrebrait released this 29 Aug 07:42
invariant-v1.3.2
1c99b5e

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 const and let
    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

Choose a tag to compare

@andrebrait andrebrait released this 23 Aug 14:58
6bae6e1

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, so AbstractColorsScheme.resolveParent failed 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

Choose a tag to compare

@andrebrait andrebrait released this 19 Aug 19:00
6fbe504

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 modification modifier 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

Choose a tag to compare

@andrebrait andrebrait released this 19 Aug 18:58
6fbe504

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
    parameter semantic 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.languages can 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

Choose a tag to compare

@andrebrait andrebrait released this 19 Aug 19:06
6fbe504

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

Choose a tag to compare

@andrebrait andrebrait released this 18 Aug 16:50
f55a5f6

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

Choose a tag to compare

@andrebrait andrebrait released this 17 Aug 15:11
a588a3a

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 self and cls, and Kotlin operator and
    dynamic-call punctuation now render their intended colors. Class references were neutral
    rather than cyan, self and cls were parameter blue rather than pink, and the Kotlin
    keys were unstyled entirely.
  • Type parameters use bold orange #fd971f in 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, so int and len read 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 LSP defaultLibrary modifier.
  • 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

Choose a tag to compare

@andrebrait andrebrait released this 15 Aug 10:58
d91452d

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

Pre-release

Choose a tag to compare

@andrebrait andrebrait released this 15 Aug 08:04
b9a9bfb

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.