v1.1.0
Highlight Groups
As of neovim v0.10
, several highlight groups have changed. You may need to update your config if you are using or overriding any of the groups listed in the following sections. You can also view the affected groups directly in neovim with :help github-theme.nvim-0.10.0.hlgroups
.
Highlight Groups Renamed
Show groups
Old Group | New Group |
---|---|
@conditional |
@keyword.conditional |
@debug |
@keyword.debug |
@define |
@keyword.directive or @keyword.directive.define |
@exception |
@keyword.exception |
@field |
@variable.member |
@float |
@number.float |
@include |
@keyword.import |
@method |
@function.method |
@method.call |
@function.method.call |
@namespace |
@module |
@parameter |
@variable.parameter |
@preproc |
@keyword.directive |
@punctuation.special |
@markup.list (markdown lists only; move subitems from @text.todo ) |
@repeat |
@keyword.repeat |
@storageclass |
@keyword.storage |
@string.regex |
@string.regexp |
@string.special |
@markup.link.label (non-url links) |
@symbol |
@string.special.symbol |
@text.* |
@markup.{strong,italic,link,strikethrough} (with exceptions; see below) |
@text.diff.{add,delete,} |
@diff.{plus,minus,delta} |
@text.literal |
@markup.raw |
@text.reference |
@markup.link |
@text.title |
@markup.heading |
@text.uri |
@markup.link.url (in markup links) |
@text.uri |
@string.special.url (outside markup) |
@text.{todo,warning,note,danger} |
@comment.{todo,warning,note,error} |
Highlight Groups Removed
Show groups
Group | Comment |
---|---|
VertSplit |
use WinSeparator instead |
@error |
there appears to be no replacement at this time |
Highlight Groups Added
Show groups
The following is a list of groups which have been added to neovim since the beginning of 2024 and does not include any of the groups mentioned in the previous sections.
Group | Description |
---|---|
@attribute |
attribute annotations (e.g. Python decorators, Rust lifetimes) |
@attribute.builtin |
builtin annotations (e.g. @property in Python) |
@comment.documentation |
comments documenting code |
@function.call |
function calls |
@keyword.conditional.ternary |
ternary operator (e.g. ? , : ) |
@keyword.coroutine |
keywords related to coroutines (e.g. go in Go, async/await in Python) |
@keyword.function |
keywords that define a function (e.g. func in Go, def in Python) |
@keyword.modifier |
keywords defining type modifiers (e.g. const , static , public ) |
@keyword.operator |
operators that are English words (e.g. and , or ) |
@keyword.return |
keywords like return and yield |
@keyword.type |
keywords defining composite types (e.g. struct , enum ) |
@markup.heading.1 |
top-level heading |
@markup.heading.2 |
section heading |
@markup.heading.3 |
subsection heading |
@markup.heading.4 |
and so on |
@markup.heading.5 |
and so forth |
@markup.heading.6 |
six levels ought to be enough for anybody |
@markup.list.checked |
checked todo-style list markers |
@markup.list.unchecked |
unchecked todo-style list markers |
@markup.math |
math environments (e.g. $ ... $ in LaTeX) |
@markup.quote |
block quotes |
@markup.raw.block |
literal or verbatim text as a stand-alone block |
@module.builtin |
built-in modules or namespaces |
@punctuation.bracket |
brackets (e.g. () , {} , [] ) |
@punctuation.delimiter |
delimiters (e.g. ; , . , , ) |
@punctuation.special |
special symbols (e.g. {} in string interpolation) |
@string.documentation |
string documenting code (e.g. Python docstrings) |
@string.special.path |
filenames (e.g. those in .gitignore) |
@tag.attribute |
XML-style tag attributes |
@tag.builtin |
XML-style tag names (e.g. HTML5 tags) |
@tag.delimiter |
XML-style tag delimiters |
@type.builtin |
built-in types |
@variable.builtin |
built-in variable names (e.g. this , self ) |
@variable.parameter.builtin |
special parameters (e.g. _ , it ) |
PmenuMatch |
Popup menu: Matched text in normal item. |
PmenuSel |
Popup menu: Matched text in selected item. |
SnippetTabstop |
Tabstops in snippets. :help vim.snippet |
StatusLineTerm |
Status line of terminal window. |
StatusLineTermNC |
Status line of non-current terminal windows. |
Added |
added line in a diff (e.g. diffAdded links to this) |
Changed |
changed line in a diff (e.g. diffChanged links to this) |
Removed |
removed line in a diff (e.g. diffRemoved links to this) |
Configuration Deprecation and Migration
- Reverted/renamed
options.darken.sidebars.enabled
back tooptions.darken.sidebars.enable
(see #343)
What's New?
- Added new highlight groups for mini.nvim (#333 by @echasnovski)
- Improved highlight-group overrides (#349)
- Assigning
false
or an empty table to a highlight group clears it - Assigning
false
to groups/specs/palettes clears previous settings from the config store for that category - Loading/sourcing colorscheme now causes recompilation if config or overrides changed, even if
setup()
was called before - Refactored and improved
Color
lib (LSP types and descriptions, code-dedupe, stricter ctor, etc.) (#352) - Added and improved types (LSP) for groups, config, and modules (#354)
- Added tests and greatly improved test coverage
- The highlighting of
gitignore
files has improved
Changes
- Clarify
options.transparent
in README (resolves #327) - Renamed function
Color:lumanance()
->Color:luminance()
inColor
lib (typo/misspelling) - Changed Lua function/method calls to default pinkish color, but left builtin functions untouched (as a different color)
Issues Fix
- Fixed
punctuation.delimiter
treesitter group nearly invisible (#329 fixed-by #331) - Closed #305 (no longer valid, fixed)
- Closed #292 (no longer valid, fixed)
- fix(config):
options.darken.floats
is not used (#345) - fix(compiler): consider entire config when hashing (#350) (related-to #262, #340, #341)
- fix(compiler): always write hash to fs when compile occurs incl. when
require('github-theme').compile()
is called directly (#350) - Fixed #340 and #341 (broken/outdated
overrides
example in docs) - Fixed floats not transparent when
transparent = true
(#337 fixed-by #351) - fix(Color):
Color.from_hsv()
is used for HSL - Fixed sidebar is not darkened when configured to do so (affects neo-tree, etc.) (#306 fixed-by #343)
Full Changelog: v1.0.2...v1.1.0