• Stars
    star
    198
  • Rank 196,898 (Top 4 %)
  • Language
    Lua
  • License
    MIT License
  • Created almost 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

focus.nvim

Auto-Focusing and Auto-Resizing Splits/Windows for Neovim written in Lua. A full suite of window management enhancements. Vim splits on steroids!
Lua
501
star
2

Dotfiles

Well documented awesome dotfiles 😍 Many neovim lua configs, handy zsh/bash functions, fzf functions + more
Lua
76
star
3

awesome-fzf

A community repo of fzf scripts and awesome functions 😍
Shell
75
star
4

imnotaquitter.vim

Don't be a quitter. Be a real one.
Vim Script
21
star
5

nx-monorepo-full-stack-app

Modern monorepo full stack app based on the typestack. E2E Code gen of types.
TypeScript
18
star
6

demo-next-typescript-hardhat-marketplace

A full stack NFT marketplace. Aiming for clean and cocise code that is easy to understand + rock solid setup scripts & other automations to speed up development.
TypeScript
18
star
7

Vimage

Automated neovim development environment container for developers supporting many languages. Simply run the script and begin coding with a fully configured neovim. Including my dotfile configurations.
Dockerfile
8
star
8

AutoWrite.vim

Simple AutoWrite Plugin compatible with most if not all vim distributions (Vim/Neovim)
Vim Script
5
star
9

flatbox

Lua
4
star
10

fzf-cheat.sh

The ultimate cheat.sh wrapper leveraging fzf
Shell
4
star
11

Solidity-Hardhat-Starter-Template

A comprehensive starter template for solidity based on hardhat framework. Auditing/Test CI, Tasks, Upgradeable Contract & More
TypeScript
3
star
12

MSA-AUS-2020-FlaskWebsite

Website/Slides for my Demo for Microsoft Student Accelerator Web Dev and API Workshop
HTML
3
star
13

Solidity-Multichain-Deployments-Shared-Address

Deploy contracts on multiple chains, using a pre-determined address using CREATE2 EVM opcode. Shared address across multiple chains.
TypeScript
3
star
14

AuthUpgradeable-abstract-contract-solidity

A simple upgradeable solidity smart contract to authorise certain wallets in a list to access certain functions, retaining onlyOwner functionality
TypeScript
2
star
15

Alfred-System-Media-Controller

Easily Control Media On Your Mac, System Wide!
2
star
16

awesome-hardhat

Awesome list of Hardhat plugins, resources and more.
1
star
17

blog.beauwilliams.dev

1
star
18

fzf-scratch

A searchable list of scratch notes leveraging fzf. Create notes on the fly. Keeps your notes in one place. No need to leave your current directory.
Shell
1
star
19

NFT20

NFT20 is the metacurrency of the metaverse. Behold, NFTs as wallets.
Solidity
1
star
20

Alfred-Logitech-Mouse-Daemon-Killer

Quickly kill & restart a frozen logitech mouse daemon (MacOS)
1
star
21

Forge-NX-Demo

Forge-NX-Demo
TypeScript
1
star
22

THC_NAZA_NFT_Contract

Solidity
1
star
23

EllipticCurve-Secp256k1-Secret-Sharing

EllipticCurve-Secp256k1-Secret-Sharing
Go
1
star
24

MSA-AUS-2020-AzureML

I developed and ran a demo and coding competition for the Microsoft Student Accelerator program where students learnt about AI/ML. This is a live coding demo of MNIST image rec project.
HTML
1
star
25

Cygorithm_THC_NAZA_Dropsite

CSS
1
star
26

Git-Workshop

A Git Workshop --> Hosted by Australian Google DSC Clubs
HTML
1
star
27

Vanilla-Typescript-API

TypeScript
1
star