Status
Features
- supports the latest Neovim 0.5 features like TreeSitter and LSP
- minimal inactive statusline
- vim terminal colors
- darker background for sidebar-like windows
- color configs for kitty, iTerm2, Konsole and Alacritty
- dynamic lualine theme
Terminal Themes (Extras)
To generate the configs
make extra
or:luafile lua/github-theme/extra/init.lua
Extra color configs for kitty, iTerm, Konsole and Alacritty can be found in extras directory. To use them, refer to their respective documentation.
Plugin Support
- ALE
- dashboard-nvim
- Git Signs
- Indent Blankline
- LSP Diagnostics
- LSP Trouble
- lspsaga.nvim
- Lualine
- nvim-bufferline.lua
- Neogit
- NvimTree
- Telescope
- TreeSitter
- vim-gitgutter
- which-key.nvim
Requirements
- Neovim >= 0.5.0
Installation
Install the theme with your preferred package manager:
Plug 'projekt0n/github-nvim-theme'
use 'projekt0n/github-nvim-theme'
Usage
Enable the colorscheme:
" Vim Script
lua require('github-theme').setup()
-- Lua
require('github-theme').setup()
To enable the github
theme for Lualine
, simply specify it in your lualine settings:
Set
lualine
configuration beforegithub-theme
.
require('lualine').setup {
options = {
theme = 'github',
-- For round icons (require Nerd-Font)
-- section_separators = {"", ""},
-- component_separators = {"", ""},
-- ... your lualine config
}
}
Configuration
Option | Default | Description |
---|---|---|
themeStyle | dark |
Set theme variant (options: dark /dimmed /light ) |
commentStyle | italic |
Highlight style for comments (check :help highlight-args for options) |
keywordStyle | italic |
Highlight style for keywords (check :help highlight-args for options) |
functionStyle | NONE |
Highlight style for functions (check :help highlight-args for options) |
variableStyle | NONE |
Highlight style for variables and identifiers (check :help highlight-args for options) |
transparent | false |
Enable this to disable setting the background color |
hideInactiveStatusline | false |
Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard StatusLine and LuaLine. |
sidebars | {} |
Set a darker background on sidebar-like windows. For example: {"qf", "vista_kind", "terminal", "packer"} |
darkSidebar | true |
Sidebar like windows like NvimTree get a darker background |
darkFloat | true |
Float windows like the lsp diagnostics windows get a darker background. |
colors | {} |
You can override specific color groups to use other groups or a hex color |
-- Example config in Lua
require("github-theme").setup({
functionStyle = "italic",
sidebars = {"qf", "vista_kind", "terminal", "packer"},
-- Change the "hint" color to the "orange" color, and make the "error" color bright red
colors = {hint = "orange", error = "#ff0000"}
})
" Example config in VimScript
lua << EOF
require("github-theme").setup({
functionStyle = "italic",
sidebars = {"qf", "vista_kind", "terminal", "packer"},
-- Change the "hint" color to the "orange" color, and make the "error" color bright red
colors = {hint = "orange", error = "#ff0000"}
})
EOF
undercurls
work properly in Tmux
Making To have undercurls show up and in color, add the following to your Tmux config file:
# Undercurl
set -g default-terminal "${TERM}"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
Reference
📺 Screenshot
Dark
require("github-theme").setup({
themeStyle = "dark",
-- ... your github-theme config
})
Dimmed
require("github-theme").setup({
themeStyle = "dimmed",
-- ... your github-theme config
})
Light
require("github-theme").setup({
themeStyle = "light",
-- ... your github-theme config
})
Default
Normal
require("github-theme").setup({
commentStyle = "NONE",
keywordStyle = "NONE",
functionStyle = "NONE",
variableStyle = "NONE"
-- ... your github-theme config
})
Italic
require("github-theme").setup({
commentStyle = "italic",
keywordStyle = "italic",
functionStyle = "italic",
variableStyle = "italic"
-- ... your github-theme config
})
Minimal
require("github-theme").setup({
hideInactiveStatusline = true,
darkSidebar = false,
darkFloat = true
-- ... your github-theme config
})
Telescope
Useful Links
- Terminal: kitty
- Font: Ubuntu Mono
- config: dotfiles