Releases: nordtheme/jetbrains
0.13.0
0.12.0
Features
Explicit support for bundled PhpStorm language syntax — #120/#121/#151 ⇄ #153 (⊶ 9fa9d9a)
↠ PhpStorm ships with support for specific languages, frameworks and libraries for PHP development and of course advanced highlighting for PHP itself. Due to the same problems like documented in #120 (mitigated in #121) some syntax theme keys required to be replaced with explicit definitions instead of relying on color inheritances.
Therefore explicit support for PhpStorm's bundled language syntax has been added:
- Main support for PHP and the official JetBrains plugin
- Laravel "Blade" Templates
See JetBrains official “Blade“ documentation and the plugin for more details. - Twig template engine
See JetBrains official “Twig“ documentation and the plugin for more details. - Smarty templates
See JetBrains official “Smarty“ documentation for more details.
Improvements
Cleaner patch/diff highlighting through reduced alpha value for background colors — #103 ⇄ #159 (⊶ f452956)
↠ Before the background colors of highlighted sections in the patch/diff view were too bright which caused some syntax elements like comments to be completely illegible. This has now been improved by reducing the alpha value and calculating the RGB hexadecimal value from it.
See the comment in #159 for more details about why the color calculation and conversion had to be done.
The full changelog ist available here.
0.11.2
Bug Fixes
Highlighting of "injected language fragments" is overridden — #140 ⇄ #141 (⊶ 541b358)
↠ Before the INJECTED_LANGUAGE_FRAGMENT
editor color scheme key was set to use nord10
as foreground that has overwritten any language specific highlighting of ¶injected language fragments“, e.g. when using CSS-in-JS libraries like styled-components through the “Styled Components & Styled JSX“ plugin.
This has been fixed by removing the defined foreground color entirely so the highlighting for the specific languages is uses instead.
The full changelog ist available here.
0.11.1
Bug Fixes
"Pinkish" editor & breadcrumbs separator line color — #138 ⇄ #139 (⊶ e029b55) by @Tom1206
↠ Fixed the color of the editor & breadcrumbs separator line (introduced in #125, #136) to use the correct color nord3
instead of the pinkish ”test color“ that is only used during development to quickly identify UI and syntax elements that are affected by a specific theme color key.
The full changelog ist available here.
0.11.0
This version focused on fixing "random highlighting breakages" partially caused by changed in version 0.10.0, but also includes support for new editor scheme keys.
Features
Support new selected and inactive tab highlighting editor scheme keys — #126 ⇄ #130 (⊶ a70716e) by [@Tom1206][gh-user-tom1206] (reported in [#120][gh-120#585628215])
↠ Selected and inactive tabs were previously styled using the corresponding ui.EditorTabs.*
UI theme keys. Some of these keys are now deprecated or marked as „unknown” to the UI theme scheme validator. The highlighting is now controlled using the new TAB_SELECTED
and TAB_SELECTED_INACTIVE
editor color scheme keys added to the IDE platform core code in [JetBrains/intellij-community@bf26eb8e][].
Even through this might indicate some inconsistency between the UI theme API and editor color scheme API, both new editor scheme keys have been added using the same colors like the UI theme keys in order to style tabs correctly again.
Support background color styling of "diff" UI separator — #128 ⇄ #132 (⊶ 5116bb8) by [@Tom1206][gh-user-tom1206] (reported in [#120][gh-120#585635441])
↠
The ["diff" UI][jb-doc-diffing] renders a line to separate the different sections of a patch/diff that was added to the IDE platform core code in [JetBrains/intellij-community@f8de2a58][].
In order to style the elements the DIFF_SEPARATORS_BACKGROUND
editor scheme key has been added using nord3
as background color.
Support highlighting of line number on caret row — #122 ⇄ #133 (⊶ 074e0e8)
↠ Previously the line number on the current caret row was highlighted with the same color (nord3
) like all other line numbers. This has been changed to use nord4
instead for lines with active caret(s) by adding support for the LINE_NUMBER_ON_CARET_ROW_COLOR
editor scheme key that was added to the IDE platform core code in [JetBrains/intellij-community@8641fedd][].
Support highlighting of selected indent guide — #123 ⇄ #134 (⊶ 6879a65)
↠ Previously the selected indent guide was not highlighted differently like non-selected guides (nord3
). This has been changed to use the same color like comments (nord3
with increased brightness) instead by adding support for the SELECTED_INDENT_GUIDE
editor scheme key that was added to the IDE platform core code in [JetBrains/intellij-community@7e3a238c][].
Support highlighting of selected indent guide — #124 ⇄ #135 (⊶ 44ee42e)
↠ Previously only the INDENT_GUIDE
editor scheme key was supported and defined, but not the VISUAL_INDENT_GUIDE
key that was added to the IDE platform core code in [JetBrains/intellij-community@2a178666][].
Since both UI elements are almost the same, the new key also uses nord3
as foreground color.
Support new editor scheme key for runtime errors — #127 ⇄ #131 (related to #120) (⊶ 7e21b74)
↠ In [JetBrains/intellij-community@6fb72d02][], the new RUNTIME_ERROR
editor scheme key was added to the IDE platform core code to highlight runtime errors.
The new key has been added using nord11
as foreground color.
Support highlighting of separator lines between editor and breadcrumbs — #125 ⇄ #136 (⊶ 3428e87)
↠ Previously the SEPARATOR_ABOVE_COLOR
and SEPARATOR_BELOW_COLOR
editor scheme keys, which were added to the IDE platform code in [JetBrains/intellij-community@dda11912][], were not defined explicitly which made them inherit color values from other keys. They have been defined explicitly using nord3
as foreground color to ensure style consistency across IDE version updates.
Improvements
Replaced all color inheritances with explicit definitions — #121 (related to #69, #70, #77, #78, #108, #109, #115, #117, #119, #120) (⊶ 2d8b341)
↠ Implemented a workaround documented in #120 to prevent more "random" color style breakages by replacing all editor color scheme keys that inherited values from other keys with the explicit style definitions instead.
This caused the code size of the editor scheme to increase drastically due to repeated styles, but is currently the only way to work around non-working style inheritance in the IDE theme API.
Bug Fixes
Restored removed parent_scheme
attribute — #120, #129, #119 ⇄ #137 (⊶ b74dc7e)
↠ In #117, the parent_scheme
attribute was removed since it was suspected that it caused „random highlighting breakages” that are documented in detail in #120.
Anyway, contrary to the presumption that the attribute is not required, it caused syntax elements of many different languages to ignore some colors defined by the Nord plugin, like e.g. markup elements in (documentation) comments, strings in PHP (#119), data flow control characters like braces in TypeScript/JavaScript and even UI elements like tabs. See feedback comments of [@Tom1206][gh-user-tom1206] and [@yuru7][gh-user-yuru7] in #120 for more examples.
The „hardcoded“ color #808080
was used for all these elements instead that is used in [different places in the IDE core platform code][jetbrains/intellij-community-search-808080]. It was not possible to fix these elements using the available editor scheme keys.
By simply adding back the parent_scheme
...
0.10.0
Changelog for Nord JetBrains — An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme
This version mainly focused on fixing some visual and usability bugs.
Improvements
Remove unused parent_scheme
attribute from root tag of editor scheme — #117 (related to #115, #116) (⊶ 6a60803) by @Tom1206
↠ The parent_scheme
is set automatically when a custom editor color scheme is created based on one of the bundled themes, like e.g. “Darcula“ when the IDE uses a dark theme or “Default“ in light mode.
Anyway, the attribute is not required at all and has been removed.
Moreover, to the time of this change there's no real indicator in the “IntelliJ IDEA Community Edition“ source code that the attribute has any functionality but only documenting the code base of the custom theme.
Nevertheless, it is possible that the attribute affects the logic how editor color schemes handle the inheritance of colors from other syntax definitions or the Language Defaults. There was an increasing amount of reported issues where syntax elements were highlighted with colors from the “Darcula“ editor scheme instead of the ones defined by Nord although the values must have been derived from other syntax definitions.
This might be caused by the parent_scheme
attribute which was set to “Darcula“.
Therefore the attribute has now been removed to mitigate such behavior.
Thanks to @Tom1206 for the idea of inspecting the attribute. See #115 for more details.
Bug Fixes
Invisible background color of inactive completion popup item — #118 (⊶ 23cea02) by @alekc and @cjkent
↠ Fixed the background color of the marked entry in the completion popup when triggered while typing (enabled “Show suggestions as you type“ option in preferences) that was the same like the background of the popup itself. As a result, is was not possible to know which entry was selected to complete the current line.
The problem only occurred when the completion popup was triggered while typing but not when being explicitly invoked using the configured keymapping (Ctrl / ⌃ + Space by default).
This was because the matching entry in the list, when invoked while typing, is inactive, but the color for inactive entries was the same like the background color of the popup itself.
This problem is now fixed by changing the color of the corresponding UI theme key ui.CompletionPopup.selectionInactiveBackground
from nord1
to nord3
.
Wrong Type- and JavaScript highlighting inherited from parent scheme — #116 ⇄ #115 (⊶ 061fd42) by @mariojackson and @Tom1206
↠ As of IDE versions 2019.3.x, some TypeScript and JavaScript syntax elements were not highlighted correctly. The following elements inherited the colors from the default (bundled) Darcula parent scheme instead of the language defaults defined by Nord:
- Global function
- Global variable
- Instance member function
- Instance member variable
These elements are now using explicitly defined colors instead to fix the highlighting.
The full changelog ist available here.
0.9.0
Changelog for Nord JetBrains — An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme
This version mainly focused on supporting the latest JetBrains product versions 2019.3 that again changed the default syntax highlighting for Go code editing.
Improvements
No italic font for RegEx braces and brackets — #107 ⇄ #111 (⊶ 2e3d411) by @n1kk
↠ Previously the font style for braces and brackets in regular expression were italic that has been changed to use a normal style. This makes it look way cleaner and less distracting especially when it is mixed with different RegEx elements.
Before
After
Bug Fixes
Go syntax highlighting support for IntelliJ/Goland 2019.3 — #108 ⇄ #109 (⊶ dde8ff0)
↠ Like already documented and fixed in [GH-70][], IntelliJ/Goland version 2019.3 also changed Go's syntax highlight for the default bundled color schemes.
Unfortunately this resulted again in a change for existing theme definition where some editor color scheme keys that previously inherited the best matching global key now used the attributes defined by the parent theme Darcula. Therefore Nord's highlighting for Go broke again and required to explicitly define the values for some attributes in order to achieve the same highlight like in previous versions that are matching Nord's style guidelines.
Before
After
The full changelog ist available here.
0.8.1
Changelog for Nord JetBrains — An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme
This version fixed a high priority bug that affected the essential „Completion Popup“ UI component were none of the list items were visible as long as the popup has not been focused.
Bug Fixes
Unreadable completion popup list items in non-focused state — #88 ⇄ #89 (⊶ a88dc78) by @alekc
↠ In v0.8.0, some new UI theme keys have been added and deprecated ones modified or removed through #86 and PR #87. This included the ui.CompletionPopup.nonFocusedMask
key that has been set to nord0
without a alpha layer value. Since the auto completion popup of IntelliSense if not focused but the editor itself, the overlay mask gets applied. As soon as the ▲ up or ▼ down arrow keys are pressed the popup gets the focus and therefore the mask gets removed showing the list items with correct styles.
The key has been removed so the popup is equal like in the focused state for better readable text and easy recognition of the desired auto completion entry.
Before
After
The full changelog ist available here.
0.8.0
Changelog for Nord JetBrains — An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme
This version mainly focused on supporting the [latest JetBrains product versions 2019.2][jb-rln-2019.2] that introduced some breaking changes for UI theme keys and the [changes in Go's syntax highlighting for the default bundled color schemes][jb-goland-rln-2019.2#colorscheme].
Features
Go syntax highlighting support for IntelliJ/Goland 2019.2 — #69 ⇄ #70 (⊶ adbea3b) by [@smonv][gh-user-smonv]
↠ IntelliJ/Goland version 2019.2 [introduced support for 20+ languages][jb-rln-2019.2] out-of-the-box by integrating [TextMate][] schemes as well as [changes in Go's syntax highlight for the default bundled color schemes][jb-goland-rln-2019.2#colorscheme].
Unfortunately this resulted in a change for existing theme definitions where some editor color scheme keys that previously inherited the best matching global key now used the attributes defined by the parent theme Darcula. Therefore Nord's highlighting for Go broke and required to explicitly define the values for some attributes in order to achieve the same highlight like in previous versions that are matching Nord's style guidelines.
Before
After
Support 2019.2 deprecation replacement UI theme keys — #86 ⇄ #87 (⊶ 990c2d2)
↠ The latest JetBrains product versions 2019.2 deprecated some UI theme keys in favour of new keys that (can be found through the auto-completion and quick documentation thanks to the also [new @since
doc tag support for theme schemes][idea-216532]). This broke the styles when using the Nord plugin with the latest product versions due to the missing new keys.
In order to support both versions <2019.2
as well as >=2019.2
the new keys have been added while also keeping the deprecated ones until they'll be removed from the UI theme API.
- Editor tabs using new keys for the active background (
underlinedTabBackground
) and when hovered (hoverMaskColor
) and also now support customization of the bottom stripe when not focused (inactiveUnderlineColor
). - Debugger tabs are now using a new key for the background color (
underlinedTabBackground
) when active. - The auto-completion popup now uses the same color like the
DOCUMENTATION_COLOR
attribute of the editor color scheme as well as a new key for the currently active selection (selectionBackground
). - The components of the status bar now using a new key to for the background color when hovered (
hoverBackground
).
Editor Tabs
Before
After
Auto Completion Popup
Before
After
Debugger Tabs
Before
After
Status Bar Components
Before
After
Hovering Editor Tabs & Status Bar Components
Before
Hovering Editor Tabs & Status Bar Components
Console log output — #73 ⇄ #74 (⊶ b9ab18c)
↠ The JetBrains theme API in version 2019.2 introduced new keys to customize log output in the console that have been added:
LOG_DEBUG_OUTPUT
— syntax color for output of the DEBUG level usingnord15
LOG_INFO_OUTPUT
— syntax color for output of the INFO level usingnord8
LOG_VERBOSE_OUTPUT
— syntax color for verbose output usingnord7
Before
After
Diagram Theme Support — #75 ⇄ #76 (⊶ e7dd070)
↠ [JetBrains core product version 2019.2 introduced theme support][idea-207533] for [Diagrams][jb-doc-diagrams] in order to prevent unreadable output due to „hardcoded“ color values not matching the currently active UI theme. The available theme keys have been added to better match Nord's style.
Before
After
JavaScript syntax highlighting support for product versions 2019.2 — #77 ⇄ #78 (⊶ 7884fd3)
↠ ↠ The JetBrains theme API in version 2019.2 introduced new keys for JavaScript global variables as well as instance functions that have been added:
JS.GLOBAL_FUNCTION
— mapped toDEFAULT_FUNCTION_DECLARATION
JS.GLOBAL_VARIABLE
— mapped toDEFAULT_GLOBAL_VARIABLE
JS.INSTANCE_MEMBER_FUNCTION
— mapped toDEFAULT_INSTANCE_METHOD
Before
0.7.0
Changelog for Nord JetBrains — An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme
Features
Deprecated symbols marked for removal — #63 ⇄ #64 (⊶ ae80537)
↠ The “General“ editor scheme section provides a option to style deprecated symbols that are marked for removal.
The new MARKED_FOR_REMOVAL_ATTRIBUTES
key has been added using a strikethrough
effect style colorized with nord11
to draw more attention to such elements.
Improvements
Editor Notification Background Color — #52 ⇄ #61 (⊶ 0bad27e) by @singlepig
↠ Before the new UI theme API was released the editor color scheme provided multiple theme keys to also style some UI elements like the editor notifications (NOTIFICATION_BACKGROUND
like also defined in the default bundled Darcula editor color scheme).
The key allows to style the background color of notifications from the editor that are placed right below the tab bar at the top of the editor.
Previously nord4
was used that made the text almost unreadable because by default a low contrast foreground is used.
This has now been changed to use nord3
making the actual text content readable again.
Before
After
Colliding styles for lines with both syntax and code inspection errors — #60 ⇄ #62 (⊶ e3189d0) by @mojodna
↠ A line that contained both a syntax error as well as a IntelliJ Code Inspection (ERRORS_ATTRIBUTES
editor scheme key) error was unreadable because both error detection scopes/types applied their different highlighting styles resulting in a background and foreground color colorized with nord11
. This made it impossible to read the text.
Highlighting resulting in unreadable text when combined with error text
Some tests using a opacity of 60% for nord11
as background color instead resulted in a “dirty redish“ color due to the miy with the base editor background color.
Reduced opacity of 60%
Therefore a better style of highlighting these errors has been designed.
The new style doesn't make use of a background color at all based on the fact that it is a duplicate highlighting. If there's a syntax error the invalid tokens will be highlighted with nord11
due to the syntax error so there is no need to additionally colorize the background with nord11
which is the main reason for the unreadable text.
The new styles for Code Inspection errors has been simplified to use nord11
as foreground color with a bold underline and the already used error stripe next to the line numbers. This design decision also comes with a change for the “Unknown Symbol“ highlighting (WRONG_REFERENCES_ATTRIBUTES
color scheme key) that now uses a dotted underline instead to differentiate from the new error styles.
Improved error and Unknown Symbol styles
Bug Fixes
Documentation
Invalid localhost:8000
URLs in README — #56 (⊶ b349d0d)
↠ The README contained two http://localhost:8000
URLs that were pointing to the local development environment instead of the production URLs of the Nord website that have both been replaced with the correct URLs.
The full changelog ist available here.