Skip to content

Add custom statusline module and remove lualine config#33

Open
halkn wants to merge 1 commit intomainfrom
codex/create-self-contained-statusline-plugin-for-neovim
Open

Add custom statusline module and remove lualine config#33
halkn wants to merge 1 commit intomainfrom
codex/create-self-contained-statusline-plugin-for-neovim

Conversation

@halkn
Copy link
Copy Markdown
Owner

@halkn halkn commented Apr 13, 2026

Motivation

  • Replace the external lualine config with a lightweight, self-contained Lua statusline to reduce dependency and provide tighter integration with local utilities.
  • Provide combined information including mode, git branch, diagnostics, file flags, file metadata, and LSP/progress status in a single renderer.

Description

  • Add lua/modules/statusline.lua which implements a custom statusline renderer with mode name mapping, diagnostics_summary, git_branch (with per-repo caching), progress_summary, and render/setup functions.
  • Use vim.fs.root/vim.fs.find to locate git roots and fall back to gitsigns_head when available, caching branch names per repository and clearing the cache on DirChanged via an autocmd group.
  • Wire the statusline into Neovim by setting vim.o.laststatus = 3 and vim.o.statusline = '%!v:lua.dotfiles_statusline_render()', and expose the renderer as _G.dotfiles_statusline_render.
  • Remove the previous lua/plugins/lualine.lua configuration file to stop using nvim-lualine/lualine.nvim.

Testing

  • No automated tests were run for this change.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant