A neovim statusline written in lua
- Fast, beautiful, Customizable
- Components:
- git branch
- git diff
- lsp diagnostics
- active clients
- file percentage
- line column
- python virtualenv
- Option to disable components which you think are of little use to you.
- No external dependencies on other plugins for features like git branch, git diffs, virtual environment.
- Neovim >= 0.5
- kyazdani42/nvim-web-devicons (requires patched font)
- Maintain a boundary between features and speed.
- All famous themes will be included with Lunarline.
- packer
use {
'Murtaza-Udaipurwala/lunarline',
requires = {'kyazdani42/nvim-web-devicons'},
after = "<colorscheme>", -- replace <colorscheme> with colorscheme name. Eg: gruvbox
-- config = [[require('plugins.lunarline')]],
}
use 'kyazdani42/nvim-web-devicons'
- vim-plug
Plug 'Murtaza-Udaipurwala/lunarline.nvim'
Plug 'kyazdani42/nvim-web-devicons'
This will load up lunarline with its default configuration
require('lunarline').setup()
local palette = {
red = "#f65866",
light_blue = "#9CDCFE",
vivid_blue = "#4FC1FF",
green = "#98c379",
orange = "#ff8800",
purple = "#C586C0",
yellow = "#e1be79",
black = "#10151a",
white = "#f9f5d7",
}
require('lunarline').setup({
-- enable/disable components
options = {
-- filename = false,
filename = {
relative_path = true,
full_path = false,
truncate_path = true,
tail_only = false,
},
virtual_env = true,
git_branch = true,
active_clients = false,
diagnostics = true,
cursor_position = true,
line_col = true,
},
-- theme = 'original', -- currently lunarline only has the original theme
-- defining a custom theme
colors = {
active = {bg = palette.black, fg = palette.white},
inactive = {bg = "NONE", fg = palette.white},
mode_bar = {
bg = palette.black,
fg = {
normal = palette.vivid_blue,
insert = palette.red,
visual = palette.yellow,
command = palette.green,
other = palette.black,
}
},
filename = {fg = palette.purple, bg = palette.black},
virtual_env = {fg = palette.yellow, bg = palette.black},
git_branch = {fg = palette.green, bg = palette.black, style = "bold"},
git_diff = {
bg = colors.black,
fg = {
added = colors.green,
removed = colors.red,
}
},
active_clients = {fg = palette.yellow, bg = palette.black},
lsp_diagnostics = {
bg = palette.black,
fg = {
error = palette.red,
warning = palette.orange,
info = palette.vivid_blue,
hint = palette.green,
}
},
cursor_position = {fg = palette.light_blue, bg = palette.black},
line_col = {fg = palette.light_blue, bg = palette.black},
}
})
- Git diff
- python virtualenv
- populate themes. Please make PRs' as the author is too lazy to do so(pun intended).
If your statusline isn't correctly highlighted, make sure lunarline is setup() after your colorscheme.