beauwilliams/statusline.lua

github github
bars-and-linesstatusline
stars 197
issues 4
subscribers 5
forks 10
CREATED

2021-01-31

UPDATED

5 days ago


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

🎨 Smooth colours inspired by gruvbox

🚀 More to come!

Installation

vim-plug

Plug 'beauwilliams/statusline.lua'

packer.nvim

use 'beauwilliams/statusline.lua'

Configuration

Disable Tabline

local statusline = require('statusline')
statusline.tabline = false

Enable ALE Diagnostics Display

-- NOTE: Nvim Native LSP is displayed default
-- I personally prefer ALE, with nathunsmitty/nvim-ale-diagnostic piping LSP diags
-- With ALE you can get errors displayed without explicitly needing an LSP server
local statusline = require('statusline')
statusline.lsp_diagnostics = false
statusline.ale_diagnostics = true

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] --> I recommend ALE with 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
  • Async everything
  • Shed Fugitive
  • Shed Nvim-Webdev-Icons
  • Support Native LSP
  • Theme Support

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