https://github.com/nickkadutskyi/jb.nvim
Color scheme inspired by JetBrains IDEs.
https://github.com/nickkadutskyi/jb.nvim
alacritty alacritty-theme fzf-theme ghostty ghostty-theme neovim neovim-colorscheme neovim-plugin vim
Last synced: 5 months ago
JSON representation
Color scheme inspired by JetBrains IDEs.
- Host: GitHub
- URL: https://github.com/nickkadutskyi/jb.nvim
- Owner: nickkadutskyi
- License: apache-2.0
- Created: 2024-10-11T03:59:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-20T06:30:18.000Z (6 months ago)
- Last Synced: 2026-01-11T11:32:09.832Z (5 months ago)
- Topics: alacritty, alacritty-theme, fzf-theme, ghostty, ghostty-theme, neovim, neovim-colorscheme, neovim-plugin, vim
- Language: Lua
- Homepage:
- Size: 1.49 MB
- Stars: 106
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎨 JB for Neovim
Color scheme for Neovim, inspired by JetBrains IDEs.
Dark
Light
## Features
- 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 `ProjectColor` highlight group based on the path
- Generates highlights for icons `JBIcon`
- 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](https://github.com/yetone/avante.nvim) | n/a |
| [blink.cmp](https://github.com/Saghen/blink.cmp) | n/a |
| [copilot.vim](https://github.com/github/copilot.vim) | n/a |
| [diffvie.nvim](https://github.com/sindrets/diffview.nvim) | n/a |
| [fzf-lua](https://github.com/ibhagwan/fzf-lua) | n/a |
| [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) | n/a |
| [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) | n/a |
| [neogit](https://github.com/NeogitOrg/neogit) | n/a |
| [netrw.vim](https://github.com/vim-scripts/netrw.vim) | n/a |
| [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) | n/a |
| [nvim-notify](https://github.com/rcarriga/nvim-notify) | n/a |
| [nvim-scrollbar](https://github.com/petertriho/nvim-scrollbar) | n/a |
| [snacks.nvim](https://github.com/folke/snack.nvim) | n/a |
| [supermaven-nvim](https://github.com/supermaven-inc/supermaven-nvim) | n/a |
| [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | n/a |
| [trouble.nvim](https://github.com/folke/trouble.nvim) | n/a |
## Installation
Install the theme with your preferred package manager, such as
[folke/lazy.nvim](https://github.com/folke/lazy.nvim):
```lua
return {
"nickkadutskyi/jb.nvim",
lazy = false,
priority = 1000,
opts = {},
config = function()
-- require("jb").setup({transparent = true})
vim.cmd("colorscheme jb")
end,
}
```
### Plugin Notes
#### hrsh7th/nvim-cmp
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:
```lua
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`.
### Usage
```lua
vim.cmd("colorscheme jb")
```
```vim
colorscheme jb
```
Change light/dark theme:
```lua
vim.o.background = "light"
```
```vim
set background=light
```
## Configuration
> [!IMPORTANT]
> Set the configuration **BEFORE** loading the color scheme `colorscheme jb`.
Default Options
```lua
---@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,
}
```
## Overriding Colors & Highlight Groups
n/a
## Extras
Extra color configs for [Kitty](https://sw.kovidgoyal.net/kitty/conf.html),
[Alacritty](https://github.com/alacritty/alacritty),
[Ghostty](https://ghostty.org/) can be found in [extras](extras/).
To use them, refer to their respective documentation.
## Contributing
n/a