Skip to content

About

NeoVim UI sweetness.

Topics

Resources

Stars

144 stars

Watchers

3 watching

Forks

Latest commit

 

History

69 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

popui.nvim

NeoVim UI sweetness.

What's popui all about?

It's a tiny (currently 910 LoC) UI suite designed to make your NeoVim workflow faster. It currently consists of six components:

  • ui-overrider: alternative to NeoVim's default vim.ui.select menu
  • input-overrider: alternative to NeoVim's default vim.ui.input prompt
  • buffers-manager: utility to quickly switch to, split-open or close open buffers
  • 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

Variable renaming input popup

Snapshot #2

Buffers manager

(Displays all open buffers. The first nine are bound to a number, shown on the left of their name.)
Key Action
Cr open the highlighted buffer
C-v open the highlighted buffer in a split to the right
C-s (or C-x) open the highlighted buffer in a split below
x or d close the highlighted buffer (refused if it has unsaved changes)
<number> open that buffer straight away, without navigating the list
v<number> open that buffer in a split to the right
s<number> open that buffer in a split below
┌───────────────────────────────┐
│1  lua/popui/core.lua          │
│2  lua/popui/marks-manager.lua │
│3  README.md                   │
│4  [No Name]                   │
└───────────────────────────────┘

Buffers with unsaved changes are marked with [+].

Diagnostics navigator

(Displays all diagnostic messages for the current buffer. Press `Cr` to jump to the currently highlighted diagnostic coordinates.)

Snapshot #3

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

References navigator

(Displays all found references, Press `Cr` to navigate to the reference's position)

Snapshot #5

Installation

" Using vim-plug
Plug 'hood/popui.nvim'

" Using Vundle
Plugin 'hood/popui.nvim'

Setup

vim.ui.select = require"popui.ui-overrider"
vim.ui.input = require"popui.input-overrider"
vim.api.nvim_set_keymap("n", ",b", ':lua require"popui.buffers-manager"()<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", ",d", ':lua require"popui.diagnostics-navigator"()<CR>', { noremap = true, silent = true }) 
vim.api.nvim_set_keymap("n", ",m", ':lua require"popui.marks-manager"()<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", ",r", ':lua require"popui.references-navigator"()<CR>', { noremap = true, silent = true })

Customize border style

" Available styles: "sharp" | "rounded" | "double"
let g:popui_border_style = "double"

Customize highlight groups

hi PopuiCoordinates guifg=#6A1010 ctermfg=Red
hi PopuiDiagnosticsCodes guifg=#777777 ctermfg=Gray

Dependencies

  • No dependencies baby!

About

NeoVim UI sweetness.

Topics

Resources

Stars

144 stars

Watchers

3 watching

Forks

Contributors

Languages