Releases: projekt0n/github-nvim-theme
v1.1.2
This release contains a crucial hotfix for a bug that prevented the ability to override specs
in any way (see #359).
What's New?
- Added static/class function
Color.is_Color()
for detecting Color instances - Added
live_colors()
to theinteractive
module to assist internal development (debugging, color picking)
Highlight Improvements
- JSON: keys
- Lua: keys (in table literals and type annotations)
Changes
- Moved/migrated
plugin/*.vim
->plugin/*.lua
Issues Fix
- Made
Color()
constructor idempotent (previously, passing aColor
inst silently caused a bug) - Fixed unable to override/customize spec (#359)
- Fixed
winhl
gets clobbered when set
Note
This release is getting published as v1.1.2
and not v1.1.1
because the v1.1.1
tag was created prematurely on accident (apparently hitting enter
from the release creation page is all that is needed to publish a draft and push a tag). That tag was up for ~1 minute and has since been deleted. Just to be safe, and following git's recommendations, this release will be tagged with a fresh, new tag: v1.1.2
.
Full Changelog: v1.1.0...v1.1.2
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. |
`S... |
v1.0.2
What's New?
- Implement highlight-blend feature #251
- Added Rust lifetime highlights #289
- Reimplemented
*_default
colorschemes. - Support
WinSeparator
highlight, introduced in Neovim >= 0.10, replacingVertSplit
.
Changes
- chore(ci): use
actions/checkout@v4
- fix(ci): update neovim macOS distribution naming
Issues Fix
v1.0.1
What's New?
- Included Airline themes Fixed #20
- CI: Get an update primer primitives automatically #253
- Support coc-explorer highlights
Changes
- Enhance Current Statusline and Popup selection with a blue tint
- Enhance indent-blankline.nvim plugin highlights
Issues Fix
v1.0.0
Deprecation & Breaking Changes
- The Method of setting and loading colorscheme is changed. Refer to
:h github-theme.changelog-10042023
- The
config.vim_config
andconfig.default
modules are now deprecated. - The
config.apply_configuration()
function is also deprecated. - The
theme_style
option is removed. Use:colorscheme
command instead. - The module
plugins.lualine
moved toutil.lualine
andplugins
module removed. - Old
util
module deprecated.
Configuration Deprecation and Migration
msg_area_style
-> Removed.comment_style
->options.styles.comments
function_style
->options.styles.functions
keyword_style
->options.styles.keywords
variable_style
->options.styles.variables
transparent
->options.transparent
hide_end_of_buffer
->options.hide_end_of_buffer
hide_inactive_statusline
->options.hide_nc_statusline
dark_float
->options.darken.floats
dark_sidebar
->options.darken.sidebars.enable
sidebars
->options.darken.sidebars.list
colors
->palettes
orspecs
overrides
->groups
dev
-> use vim command:GithubThemeInteractive
New Configuration
options.compile_file_suffix
-> Option for setting compiled file suffix.options.compile_path
-> Option for setting compile files path.options.dim_inactive
-> Option for setting darker tint to non active buffers.options.terminal_colors
-> Option for toggling builtin terminal highlights.options.module_default
-> Option for toggling plugins highlightsoptions.modules
-> Option for individual plugins related configurationoptions.styles.conditionals
-> Style for conditionalsoptions.styles.constants
-> Style for constantsoptions.styles.numbers
-> Style for numbersoptions.styles.operators
-> Style for operatorsoptions.styles.strings
-> Style for stringsoptions.styles.types
-> Style for typesoptions.inverse.match_paren
-> Reverse match parenthesesoptions.inverse.visual
-> Reverse visual selectionoptions.inverse.search
-> Reverse search string
What's New?
- Compiling colorscheme for blazingly fast load using
:GithubThemeCompile
- Interactive development mode using
:GithubThemeInteractive
lib.deprecation
- A Deprecation library to print Deprecation Messages.lib.log
- A logging library to print log Messages.- The
config.default
module has been changed to a variable and moved inside theconfig
module. - Support Fidget plugin highlights #202
- Support fzf-lua plugin highlights #221
- Support neo-tree.nvim plugin highlights #221
- Support dap-ui plugin highlights #207
- Support diffchar.vim plugin highlights #216
Issues Fix
- #157 fixed
- #160 closed due to inactivity.
- #191 closed due to inactivity.
- #193 closed with conversation.
- #201 fixed
- #209 fixed
- #213 fixed
- #218 closed due to inactivity.
- #225 closed with conversation.
- #228 fixed
- #229 closed with conversation.
- #231 fixed
- #232 closed due to inactivity.
- #233 closed with conversation.
- #235 closed with conversation.
- #238 fixed
- #239 fixed
- #241 fixed
- #243 fixed
- #244 fixed
- #246 fixed
- #247 fixed
- #249 fixed
v0.0.7
v0.0.6
Changes
- Terminal Themes moved to github-theme-contrib
- Terminal themes related code removed
Added
- feat: plugin support sindrets/diffview.nvim fixed #182
- feat: plugin support nvim-treesitter/nvim-treesitter-context fixed #184
- terminal-theme: foot theme added #183
- Added
NvimTreeOpenedeFile
highlight - feat: plugin support echasnovski/mini.nvim
- feat: plugin support romgrk/barbar.nvim
- docs: Breaking Change logs with
:h github-theme-changelog
Fixes
v0.0.5
What's New?
- refactor: color types moved to
types/palette.lua
- chore: terminal colors
- feat: use native autocmds on nvim >=0.7 ( fixed #168 )
- chore: tmux theme's extension changed to
.conf
from.tmux
- BREAKING-CHANGE: removed some colors from
colors.lua
- refactor: implement highlight override function in
util.load
- enhance:
overrides
function is now able to add custom highlight indev
mode. - docs: about developer mode
- BREAKING-CHANGE: set lualine theme with
theme="auto"
- terminal-theme: Xresources theme added #166
- chore: unlink 'Visual' highlight from plugin highlights
- kitty: add cursor foreground color ( fixed #174 )
- terminal-theme: Windows Terminal theme added #180 @mutecipher
Fixes
- tmp-fix: deleted lua queries #159
- nvim-dev-icons colors fixed projekt0n/circles.nvim#6
- make: tmux prefix fixed
- tmux: set
bg2
as background in 'message-style' fixed #164 - fixed #163
- fixed #165
- lualine docs updated (fixed #167)
- fixed #177
- fix: use pcall to clear autocmd silently @xiyaowong #178
- fix: skip native_autocmds on some neovim0.7 builds
- fixed #179
v0.0.4
What's New?
- GitHub Dark Colorblind(Beta) added 🎉 #96
- GitHub Light Colorblind(Beta) added 🎉 #96
- Dark background color for inactive statusline and lualine
- Minimal look (
hide_inactive_statusline
) removed from lualine terminal
highlight added for lualine- Added basic coc.nvim highlights #141
- define global in project
luarc
config file. - Removed unnecessary defer function & highlights
- allow customizing highlight group ful1e5/onedark.nvim#91
- refactor: Colors moved to
palette
module types
module initiate- proper color docs with
gt.ColorPalette
type - Support
ConfigSchema
type with all modules - refactor: config module
- feat:
githooks
init - formatter changed
LuaFormatter
->StyLua
- chore: removed unnecessary module (
hsluv.lua
) - feat: luadoc and type added inside
util.lua
- feat: TerminalConf type added in
types
module - refactor: modules export & typing
- refactor: terminal themes moved 'extras' -> 'terminal'
- feat: Apply highlight's style using
types.HighlightStyle
type - refactor: color name changed 'term_fg' -> 'fg_term'
- feat: suggest config in
vim.g
autocompletion - feat: reuse common color in palettes
- docs: team account added in funding
Fixes
- dark foreground color for visited entries in telescope.nvim
- Fix #144 - Re-patch removed hop.nvim highlights
- Fix #133 - highlights of inactive tabline in lualine plugin
- inherit
eof
color fromfg_gutter
#150 - cleanup: getColor() from
util
module - fix #156 - highlight added for
GitSignsCurrentLineBlame
- refactor: color renamed
lsp.referenceText
->lsp.ref_txt
TabLineSel
highlight link withPmenuSel
- Fixed
iterm
theme generation - fix: lualine theme
v0.0.3
What's New?
- Github
dark_default
theme added #15 #16 #24 - Github
light_default
theme added #15 #16 - Make target added for reloading kitty theme with
kitty_dark_default
&kitty_light_default
- Individual themes for
colorscheme
command #68 - Breaking Change: use snake_case inside config instead of
camelCase hide_inactive_statusline
default value istrue
dark_float
default value isfalse
- feat: vim config support with "vim.g"
- lualine colors refactored inside
colors.lua
(related to #80) NvimTreeIndentMarker
highlight is light #74- Github's default themes for
tmux
- plugin support: nvim-compe, nvim-cmp and nvim-notify
- set
vim.o.background
while loading individual colorscheme (folke/tokyonight.nvim#102) - enhance: assign config default value to
vim.g
variables - re-patch: #72
- breaking change:
github
deprecated fromcolorscheme
command pmenu.select
color removed- pmenu select background color with dynamic blue color
- breaking change: terminal colors are renamed
- feat: set
vim.o.background
with config module (re-patch #60 #116) - enhance: support colorschemes with fzf
Colors
command - enhance: unlink
NvimTreeGitIgnored
fromComment
- refactor: global variable prefix store in
key_prefix
variable - refactor: pass common config in
extra
module - enhance:
StatusLine
foreground &StatusLineNC
background colors are customizable ( related to #11 ) - feat: vscode like lspkind highlighting inside
nvim-cmp
#137 - enhance: highlight all lspkind list in
nvim-cmp
#137 - Link common highlights for
diff
group
Fixes
- Fixed
diff
highlight colors fordark_default
&light_default
- Screenshots and docs updated #63 #16
- #72 fixed
- #73 fixed
- #80 fixed
- #76 fixed
IncSearch
highlight linked withSearch
Search
highlight enhanced fortransparent
modeLineNr
highlight enhanced fortransparent
mode- refactor:
git_signs
&dev_icons
colors - docs: removed
lua
table assignment fromvim
example (related to #89 #77) - Linting inside
tmux.lua
- NvimTree git highlight
- refactor: de-attach 'bg_statusline' color from lualine
- fix #83: inactive lualine colors
- enhance: inactive statusline
- load colorscheme according to
theme_style
config - removed
search
colors force assignments fromtransparent
mode #113 - todo highlight foreground color fixed #115
- make
CursorLine
andCursorColumn
background highlight more visible #109 qfLineNr
&QuickFixLine
colors updated #119- LuaDocs: duplicate warning fixed
- missing
'
in vim config (README.md) fixed #134 - typo inisde
theme.lua
- missing alias fixed inside
colors.lua
- Fix
vim.o.background
setting in config module - Fix assign
user_config
value tovim.g
global variables