Color scheme for Neovim, inspired by JetBrains IDEs.
| Dark | Light |
|---|---|
|
|
|
- Supports both light and dark themes
- Terminal colors
- Lualine theme included
- Lualine component for a Navigation Bar similar to JetBrains IDEs but only for dir path part
- Generates
ProjectColorhighlight group based on the path - Generates highlights for icons
JBIcon<Kind> - Provides a table with icons visually similar to JB's ones
Supported Languages
| Language | Syntax | Treesitter | Semantic |
|---|---|---|---|
| .ignore Files | n/a | ✅ (gitignore) | n/a |
| ApacheConfig | ✅ | n/a | n/a |
| BibTeX | ✅ (bibtex) | n/a | |
| Blade | n/a | ✅ (EmranMR/tree-sitter-blade) | n/a |
| C/C++ | ✅ (c,cpp) | n/a | |
| CSS | ✅ (css) | n/a | |
| EditorConfig | n/a | ✅ (editorconfig) | n/a |
| Go | ✅ (go) | ✅ (gopls) | |
| Go Template | ✅ (gotmpl) | n/a | |
| GraphQL | ✅ (graphql) | n/a | |
| HTML | ✅ (html) | n/a | |
| Ini | ✅ (ini) | n/a | |
| Java | ✅ (java, javadoc) | ✅ (jdtls) | |
| JavaScript | ✅ (javascript) | ✅ (ts_ls) | |
| JSON | ✅ | ✅ (json) | n/a |
| LaTeX | ✅ (latex) | n/a | |
| Lua | ✅ (lua,luadoc) | ✅ (lua_ls) | |
| Markdown | ✅ (markdown,markdown_inline) | n/a | |
| Nix | ✅ (nix) | ✅ (nil_lsp) | |
| PHP | ✅ (php,phpdoc) | n/a | |
| Python | ✅ (python) | n/a | |
| RegExp | ✅ (regex) | n/a | |
| Ruby | ✅ (ruby) | ✅ (ruby_lsp) | |
| Rust | ✅ (rust) | n/a | |
| Sass/SCSS | ✅ (scss) | n/a | |
| Shell Script | ✅ (bash) | n/a | |
| TOML | ✅ (toml) | n/a | |
| Twig | n/a | ✅ (twig) | n/a |
| TypeScript | ✅ (typescript) | ✅ (ts_ls) | |
| TSX/JSX | ✅ (tsx) | ✅ (ts_ls) | |
| XML | ✅ (xml) | n/a | |
| YAML | ✅ (yaml) | n/a | |
| Zig | ✅ (zig) | ✅ (zls) |
Supported Plugins
| Plugin | Source |
|---|---|
| avante.nvim | n/a |
| blink.cmp | n/a |
| copilot.vim | n/a |
| diffvie.nvim | n/a |
| fzf-lua | n/a |
| gitsigns.nvim | n/a |
| indent-blankline.nvim | n/a |
| neogit | n/a |
| netrw.vim | n/a |
| nvim-cmp | n/a |
| nvim-notify | n/a |
| nvim-scrollbar | n/a |
| snacks.nvim | n/a |
| supermaven-nvim | n/a |
| telescope.nvim | n/a |
| trouble.nvim | n/a |
Install the theme with your preferred package manager, such as folke/lazy.nvim:
return {
"nickkadutskyi/jb.nvim",
lazy = false,
priority = 1000,
opts = {},
config = function()
-- require("jb").setup({transparent = true})
vim.cmd("colorscheme jb")
end,
}If you use custom view for entries (opts>view>entries>name) cmp creates
a custom window instead of native built-in popup. To improve the view you
can link highlight groups like this:
window = {
completion = cmp.config.window.bordered({
winhighlight = "Normal:Pmenu,FloatBorder:DialogFloatBorder,CursorLine:PmenuSel,Search:None",
}),
documentation = cmp.config.window.bordered({
winhighlight = "Normal:Pmenu,FloatBorder:DialogFloatBorder,CursorLine:PmenuSel,Search:None",
}),
},You can have any config just make sure Normal:Pmenu and
CursorLine:PmenuSel is present in winhighlight.
vim.cmd("colorscheme jb")colorscheme jbChange light/dark theme:
vim.o.background = "light"set background=lightImportant
Set the configuration BEFORE loading the color scheme colorscheme jb.
Default Options
---@class jb.Config
M.defaults = {
-- Disable bold or italic for all highlights
disable_hl_args = {
bold = false,
italic = false,
},
-- Control snacks.nvim related styles
snacks = {
explorer = {
-- Enable folke/snacks.nvim styling for explorer
enabled = true,
},
},
telescope = {
-- Enable telescope.nvim styling
enabled = true,
},
-- Enable this to remove background from Normal and NormalNC
transparent = false,
}n/a
Extra color configs for Kitty, Alacritty, Ghostty can be found in extras. To use them, refer to their respective documentation.
n/a