1076f7f317e71e037fffa36c55932191ec05f258
nvim-hardline
A statusline / bufferline for Neovim written in Lua. It is inspired by vim-airline but aims to be as light and simple as possible.
Installation
With Packer:
cmd 'packadd packer.nvim'
return require('packer').startup(function()
use {'ojroques/nvim-hardline'}
end)
With Plug
call plug#begin()
Plug 'ojroques/nvim-hardline'
call plug#end()
Usage
In your init.lua:
require('hardline').setup {}
If you're using a .vimrc or init.vim:
lua require('hardline').setup {}
Configuration
You can pass options to the setup() function. Here are all available options
with their default settings:
require('hardline').setup {
bufferline = false, -- enable bufferline
theme = 'default', -- change theme
sections = { -- define sections
{class = 'mode', item = require('hardline.parts.mode').get_item},
{class = 'high', item = require('hardline.parts.git').get_item, hide = 80},
'%<',
{class = 'med', item = require('hardline.parts.filename').get_item},
{class = 'med', item ='%='},
{class = 'low', item = require('hardline.parts.wordcount').get_item, hide = 80},
{class = 'error', item = require('hardline.parts.lsp').get_error},
{class = 'warning', item = require('hardline.parts.lsp').get_warning},
{class = 'warning', item = require('hardline.parts.whitespace').get_item},
{class = 'high', item = require('hardline.parts.filetype').get_item, hide = 80},
{class = 'mode', item = require('hardline.parts.line').get_item},
},
}
You can define your own sections using the sections list. Each element of
that list is a table with the following attributes:
class: the section colorscheme. The following classes are currently available:mode: change color based on the current mode.low,med,high: colors for different levels of importance.bufferline: colors for the bufferline.error,warning: colors for the diagnostics of Neovim built-in LSP client.
item: the actual text being displayed. Must be a string or a function returning a string.hide: threshold (in number of characters) below which the section will be hidden.
Available section parts
| Part | Description |
|---|---|
filename |
Filename and file status (readonly, modified, ...) |
filetype |
Filetype |
git |
Git hunks (requires vim-gitgutter) and Git branch (requires vim-fugitive) |
line |
Line and column positions |
lsp |
Diagnostics from Neovim LSP client |
mode |
Current mode |
whitespace |
Trailing whitespaces, mixed indent and Git conflict markers warnings |
wordcount |
Current word count (enabled only for some filetypes) |
License
Description
Languages
Lua
99.8%
Vim Script
0.2%
