beauwilliams / statusline.lua

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:MIT License


Languages

Language:Lua 91.9%Language:Vim Script 8.1%