SkillAgentSearch skills...

Statusline.lua

A zero-config minimal statusline for neovim written in lua featuring awesome integrations and blazing speed!

Install / Use

/learn @beauwilliams/Statusline.lua
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHub stars Requires GitHub contributors GitHub issues GitHub issues-closed PRs Welcome

Statusline.lua

screenshot

Statusline

screencast

Tabline [BONUS]

screenshot

Light Theme Compatible

screenshot

A tidy statusline for neovim written in lua featuring

🔋 Batteries Included. No configuration needed.

🕴 Minimalist Mode Indicators

🔥 0.4ms Startup Time

👁 Git Status [Signify]

🌴 Git Branch

❗️ Diagnostics Status [Ale & Native Nvim LSP] --> Native LSP set as default

🔦 LSP Current Function [builtinlsp.current_function] --> Requires require('lsp-status').on_attach(client)

💡 LSP Code Action Indicator [textDocument/codeAction] --> Requires kosayoda/nvim-lightbulb/

💯 LSP Progress Messages ⠼ [vim.lsp.util.get_progress_messages]

❓ File Modified Status

👌 Clean Ruler

⚙️ File Icon Support [Nerd Font]

🙌 Snipped File Paths

😻 Tabline Support

🎨 Optional Colorscheme matching

📻 By default colours inspired by gruvbox

🚀 More to come!

Installation

lazy

return {
	'beauwilliams/statusline.lua',
	dependencies = {
		'nvim-lua/lsp-status.nvim',
	},
	config = function()
		require('statusline').setup({
			match_colorscheme = false, -- Enable colorscheme inheritance (Default: false)
			tabline = true, -- Enable the tabline (Default: true)
			lsp_diagnostics = true, -- Enable Native LSP diagnostics (Default: true)
			ale_diagnostics = false, -- Enable ALE diagnostics (Default: false)
		})
	end,
}

vim-plug

Plug 'beauwilliams/statusline.lua'

packer.nvim

use 'beauwilliams/statusline.lua'

Configuration

Deprecation Notice

The configuration format using statusline.tabline = false (and similar settings) will be deprecated in the next major release.

We recommend using the new setup configuration format for more flexibility and better handling of user-defined settings.

For now, you can still use both the old format and the new one, but we encourage transitioning to the new setup() method for future compatibility.

Colorscheme Matching

-- Matches visual elements such as mode icon to your colorscheme
require('statusline').setup({
  match_colorscheme = true, -- Enable colorscheme matching (Default: false)
})

Disable Tabline

require('statusline').setup({
  tabline = false,              -- Enable the tabline (Default: true)
})

Enable ALE Diagnostics Display

-- With ALE you can get errors displayed without explicitly needing an LSP server
require('statusline').setup({
  lsp_diagnostics = false,      -- Enable Native LSP diagnostics (Default: true)
  ale_diagnostics = true,     -- Enable ALE diagnostics (Default: false)
})

Enable Global Statusline (version 0.7+)

-- This setting will mean that you have one single statusline drawn accross the entire display
lua vim.o.laststatus=3

Optional Dependencies

- Signify [Git Status]
- Ale [Diagnostics] --> nathunsmitty/nvim-ale-diagnostic
- Native LSP [Current Function] --> require('lsp-status').on_attach(client)
- Native LSP [Diagnostics] --> Must have a relevant language server to provide diagnostics
- Native LSP [Progress %] --> Must have a relevant language server to provide progress messages
- Native LSP [Code Actions] --> Requires kosayoda/nvim-lightbulb/

Planned Improvements 😼

  • [ ] Completely move codebase to lua
  • [x] Shed Fugitive
  • [x] Shed Nvim-Webdev-Icons
  • [x] Support Native LSP
  • [x] Theme Support
  • [x] Migrate to modern setup() configuration

Developers Only

Contributing

Please before submitting a PR install stylua here

And run stylua . from your shell in the root folder of focus.nvim

This will format the code according to the guidlines set in stylua.toml

Credits

lualine galaxyline neoline

View on GitHub
GitHub Stars259
CategoryDevelopment
Updated25d ago
Forks14

Languages

Lua

Security Score

100/100

Audited on Mar 4, 2026

No findings