Awesome
<div align="center"> <h1>nvim-config</h1> <p>My personal Neovim config</p> </div>I would not recommend using this - It's setup for me, I cannot guarantee that it will work for you, and I will not fix issues that do not occur on my computers. However, feel free to copy paste snippets to add to your own config :)
Note<br> Requires Neovim Nightly
Bloated AND Blazingly Fastâ„¢
- Over 150 plugins
- ~15ms startup on both my desktop and laptop
- Lazy load EVERYTHING. Only a few plugins load before UiEnter.
- I've spent a stupid amount of time optimizing
<br> fastest recorded startup time with this config
Some things I'm working on in this repo
-
Custom UI elements
- Simple floating scrollbars for split windows
- Custom foldexpr <strike>and foldtext</strike>
- Foldexpr
- Shows both the last line of the fold
- Foldtext
- Removed as neovim/neovim#20750 renders this redundant, see commit 1a93bd9 for my implementation.
- Preserves, extmarks, semantic highlights, and inlay hints.
- Foldexpr
ui.select
based ondropbar.nvim
- This has now been merged into
dropbar.nvim
, see the implementation there.
- This has now been merged into
- Code action menu with preview, based on dropbar.nvim's ui-select
- Preview functionality for ui-select is not upstreamed in dropbar so a fork is used, but should be upstreamed soon.
- Simple but featureful bars and lines:
- Statusline:
heirline.nvim
- Winbar:
dropbar.nvim
- Bufferline:
nvim-cokeline
. - Floating window indicator:
incline.nvim
.
- Statusline:
-
native/
: Native module written in Rust- basic http client (wip)
-
graphql.lua
: Asynchronous GraphQL client built on libuv and tokio- "compiler" which turns text queries into Lua functions bound to a client.
- These functions are called with args specifying the query variables.
- opt-in automatic query memoization (wip)
- "compiler" which turns text queries into Lua functions bound to a client.
-
rx.lua
: Reactive extensions for Neovim (very WIP, kinda abandoned)- signals and effects
- automatic dependency tracking
- automatic cleanup (wip)
- scoping & signal ownership
-
player.lua
: Playerctl UI for Neovim- playerctl wrapper
- nui UI (wip)