A fancy but yet sophisticated light and dark designer neovim theme built with lush.nvim. It features a much more comprehensive usage of syntax scopes and color consistency, with due regards to aesthetics, contrast and readability. Most popular plugins are also supported, see Plugins
This theme also works very good when Apple's Nightshift Mode is activated.
This is a port of the popular Visual Studio Code Themes Bluloco Light and Bluloco Dark
- Auto switching light & dark style
- Configureable transparency and italics
- Exhaustive plugin support
- Written in lua
Currently supported (aka. tested) plugins:
- treesitter
- hlargs
- alpha-nvim
- nvim-notify
- mason.nvim
- nvim-cursorword
- vim-illuminate
- nvim-scrollbar
- lualine.nvim
- barbar.nvim
- nvim-bufferline.lua
- indent-blankline.nvim
- neogit
- diffview.nvim
- git-conflict.nvim
- gitsigns.nvim
- nvim-cmp
- vim-which-key
- which-key.nvim
- todo-comments.nvim
- trouble.nvim
- nvim-tree.lua
- telescope.nvim
- telescope-file-browser.nvim
- lsp-config
- lspsaga.nvim
Expand to see screenshots of used plugins. No config needed, works out of the box.
Install Bluloco with your favorite package manager.
use {
'uloco/bluloco.nvim',
requires = { 'rktjmp/lush.nvim' }
}
{
'uloco/bluloco.nvim',
lazy = false,
priority = 1000,
dependencies = { 'rktjmp/lush.nvim' },
config = function()
-- your optional config goes here, see below.
end,
},
⚠️ Thesetup()
function is optional but please call it before you set the colorscheme if you want to adjust the config.
These are the default values:
require("bluloco").setup({
style = "auto" -- "auto" | "dark" | "light"
transparent = false,
italics = false,
terminal = vim.fn.has("gui_running") == 1 -- bluoco colors are enabled in gui terminals per default.
guicursor = true,
})
vim.cmd('colorscheme bluloco')
You can also apply the style variant directly.
These are especially helpful when switching in an already running vim session.
:colorscheme bluloco-dark
:colorscheme bluloco-light
Make sure your lualine settings are set to auto:
require('lualine').setup {
options = {
theme = 'auto'
}
}
There are three styles you can configure here: auto
, dark
and light
.
The auto
setting is the default and will adjust automatically to your
vim.o.background
value. If you change this value during runtime, it will also adjust accordingly.
ℹ️ The style value only applies if you set the theme with
vim.cmd('colorscheme bluloco')
.
Setting the theme with a variant directly will override this setting.
This setting will disable the background and use the default background of your terminal. You need to enable this if you want the terminal to be transparent. You would still need to configure your terminal accordingly for light and dark backgrounds when switching often.
This setting will enable italics for keywords, comments and markup attributes.
This setting will enable the bluloco colors in your integrated terminal. You most likely want to keep your terminal colors instead of overriding them if you are running neovim in a terminal. When you are running neovim inside a gui application this setting is enabled per default.
You can skip the terminal
setting completely to have it disabled in terminals and enabled in gui neovim.
ℹ️ Please note that some terminals will display bold text as the bright color variant but enabling this feature will override this behavior in the intergrated terminal. This is by design and has nothing to do with this theme. see
This setting sets a guicursor to fix your terminal cursor and make it colorful (as intended).
It is enabled by default.
If you want to override this, make sure to set your :set guicursor
after loading the theme or disable it completely.
I'd be more than happy for any bugs you find and add an issue.
Pull requests are warmly welcome especially for missing plugin support.