Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hood/popui.nvim
NeoVim UI sweetness.
https://github.com/hood/popui.nvim
language-server-protocol lsp lsp-client menu neovim nvim
Last synced: about 2 months ago
JSON representation
NeoVim UI sweetness.
- Host: GitHub
- URL: https://github.com/hood/popui.nvim
- Owner: hood
- Created: 2021-10-09T01:14:31.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-11-26T19:30:34.000Z (10 months ago)
- Last Synced: 2024-06-17T17:13:06.995Z (3 months ago)
- Topics: language-server-protocol, lsp, lsp-client, menu, neovim, nvim
- Language: Lua
- Homepage:
- Size: 66.4 KB
- Stars: 140
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
popui.nvim
NeoVim UI sweetness.
## What's `popui` all about?
It's a tiny (currently 584 LoC) UI suite designed to make your NeoVim workflow faster. It currently consists of four components:
- `ui-overrider`: alternative to NeoVim's default `vim.ui.select` menu
- `input-overrider`: alternative to NeoVim's default `vim.ui.input` prompt
- `diagnostics-navigator`: utility to quickly navigate and jump to LSP diagnostics issues in the current buffer
- `marks-manager`: utility to quickly navigate, jump to or remove (permanently!) uppercase marks
- `references-navigator`: utility to quickly navigate and jump to project-wide references to the symbol under the cursor
See it in action below:
Code action menu popup
![Snapshot #1](https://i.imgur.com/tjsUiTo.png)
Variable renaming input popup
![Snapshot #2](https://i.imgur.com/d5COuVp.png)
Diagnostics navigator
(Displays all diagnostic messages for the current buffer. Press `Cr` to jump to the currently highlighted diagnostic coordinates.)![Snapshot #3](https://i.imgur.com/ZHYi372.png)
Marks manager
(Displays all uppercase marks. Press `Cr` to navigate to a mark's position, press `x` or `d` to permanently delete a mark.)![Snapshot #4](https://i.imgur.com/dsfOUn1.png)
References navigator
(Displays all found references, Press `Cr` to navigate to the reference's position)![Snapshot #5](https://i.imgur.com/QHryA6w.jpg)
## Installation
```viml
" Using vim-plug
Plug 'hood/popui.nvim'" Using Vundle
Plugin 'hood/popui.nvim'
```## Setup
```lua
vim.ui.select = require"popui.ui-overrider"
vim.ui.input = require"popui.input-overrider"
vim.api.nvim_set_keymap("n", ",d", ':lua require"popui.diagnostics-navigator"()', { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", ",m", ':lua require"popui.marks-manager"()', { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", ",r", ':lua require"popui.references-navigator"()', { noremap = true, silent = true })
```## Customize border style
```viml
" Available styles: "sharp" | "rounded" | "double"
let g:popui_border_style = "double"
```## Customize highlight groups
```vim
hi PopuiCoordinates guifg=#6A1010 ctermfg=Red
hi PopuiDiagnosticsCodes guifg=#777777 ctermfg=Gray
```## Dependencies
* No dependencies baby!