strash / everybody-wants-that-line.nvim

Minimalistic, informative and elegant statusline for neovim.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Everybody wants that line

Minimalistic, informative and elegant statusline for neovim. Plugin uses colors from your current colorscheme, so it looks natural. It adapts if you change colorscheme or switch to a light or a dark theme.

demo.copy.mov

Table of content

Features

  • Zero dependencies, lightweight and fast
  • Adaptive colors
  • Neat winbar
  • Buffer number and modified flag
  • LSP diagnostics
  • Git branch and git status
  • Filename
  • Clean ruler and filesize
  • Global statusline or per window
  • Support: Netrw, Quickfix List, Location List (soon) and Help
  • Plugin support:

Installation

Neovim v0.7.0 and newer.

lazy.nvim

{
	"strash/everybody-wants-that-line.nvim",
	config = function()
		[your configuration here]
	end
}

packer.nvim

use "strash/everybody-wants-that-line.nvim"

vim-plug

Plug "strash/everybody-wants-that-line.nvim"

Configuration

-- You can omit the config table
require("everybody-wants-that-line").setup()

-- or you can add it
require("everybody-wants-that-line").setup({
	buffer = {
		enabled = true,
		prefix = "B:",
		-- Placeholder before buffer number, e.g. "00001".
		-- If you don't want additional symbols to be displayed,
		-- set `symbol = ""` or `max_symbols = 0`.
		symbol = "0",
		-- Maximum number of symbols including buffer number.
		max_symbols = 5,
	},
	diagnostics = {
		enabled = true,
	},
	quickfix_list = {
		enabled = true,
	},
	git_status = {
		enabled = true,
	},
	filepath = {
		enabled = true,
		-- `path` can be one of these:
		-- "tail" - file name only
		-- "relative" - relative to working directory
		-- "full" - full path to the file
		path = "relative",
		-- If `true` a path will be shortened, e.g. "/a/b/c/filename.lua".
		-- It only works if `path` is "relative" or "full".
		shorten = false,
	},
	filesize = {
		enabled = true,
		-- `metric` can be:
		-- "decimal" - 1000 bytes == 1 kilobyte
		-- "binary" - 1024 bytes == 1 kibibyte
		metric = "decimal"
	},
	ruller = {
		enabled = true,
	},
	-- Filename is a separate widget that is located
	-- in the upper right corner of each open window.
	filename = {
		enabled = true,
	},
	-- Separator between components, e.g. " ... │ ... │ ... "
	separator = "",
})

Breaking changes

  • 413944b opts.buffer.show is deprecated. Use opts.buffer.enabled instead.

Contribution

If you found a bug please open an issue or request a feature. All contributions are welcome.

About

Minimalistic, informative and elegant statusline for neovim.

License:MIT License


Languages

Language:Lua 99.0%Language:Makefile 1.0%