Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zitrocode/spot.nvim

Repository files navigation

πŸ”Ž spot.nvim

Prefix-driven command palette for Neovim inspired by the VS Code command palette.

Spot provides a single place to search and execute actions. Start typing to search files, or add a prefix to switch context instantly β€” all within the same input.

demo

✨ Features

  • πŸ”Ž Prefix-based source switching
  • πŸ“‚ Fast file search powered by fd
  • ⚑ Single input workflow
  • πŸͺΆ Lightweight floating picker UI
  • 🎯 Active mode always visible in the title bar

πŸ”₯ Status

spot.nvim is still under active development and should be considered experimental.

Things may change, and bugs are expected.

If you encounter any issues, please open an issue and include as much detail as possible β€” it helps a lot when tracking down problems.

⚑ Requirements

  • Neovim β‰₯ 0.10
  • fd

πŸ“¦ Installation

Install using your preferred plugin manager.

lazy.nvim

{
 "zitrocode/spot.nvim",
 config = function()
 require("spot").setup()
 end,
}

packer.nvim

use {
 "zitrocode/spot.nvim",
 config = function()
 require("spot").setup()
 end,
}

πŸš€ Usage

Commands

Spot provides the following user commands:

Command Description
:Spot Open the picker
:SpotFocus Focus the picker input
:SpotClose Close the picker
:SpotToggle Toggle the picker open / closed

Recommended keymap

vim.keymap.set(
 "n",
 "<leader><leader>",
 "<cmd>SpotToggle<cr>",
 { desc = "Toggle Spot" }
)

Basic workflow

Typical usage:

<leader><leader> β†’ type β†’ confirm

Once the picker is open:

  • Start typing to search files
  • Press <CR> to confirm selection
  • Press <ESC> to normal mode
  • Press q to close

Picker keymaps:

Key Action
typing Filter results
j Move down
k Move up
<CR> Confirm selection
<Esc> Normal mode
q Close picker

πŸ”€ Prefixes

Spot switches sources using simple prefixes.

Typing a prefix immediately changes the active source.

Prefix Source Status
(none) files βœ… working
> keymaps 🚧 planned
: commands 🚧 planned
# buffers 🚧 planned
$ shell 🚧 planned

The active source is always visible in the title bar.

βš™οΈ Configuration

spot.nvim works out of the box with sensible defaults.

Call setup() once:

require("spot").setup({
 windows = {
 width = 80,
 max_height = 16,
 },
 sources = { "files" },
 default_source = "files",
})

🀝 Contributing

Spot is under active development, and contributions are welcome.

If you'd like to get involved, please check the CONTRIBUTING.md guide for details.

Ideas for new sources, bug reports, and small improvements are always appreciated.

πŸ“„ License

MIT

About

Prefix-driven command palette for Neovim inspired by the VS Code command palette.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /