explaingit

nvim-mini/mini.input

14LuaAudience · developerComplexity · 2/5Setup · easy

TLDR

A Neovim plugin that replaces the built-in input prompt with a non-blocking, configurable version that supports floating windows, status bar display, and custom key handling without freezing the editor.

Mindmap

mindmap
  root((mini.input))
    What it does
      Non-blocking input prompt
      Replaces vim.ui.input
      Works in any mode
    Display options
      Floating window
      Status bar
      Inline overlay
    Config
      Key handler hooks
      Highlight control
      Completion callbacks
    Installation
      vim.pack
      mini.deps
      lazy.nvim
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace Neovim's default input prompt with a non-blocking version so the editor never freezes while waiting for your response.

USE CASE 2

Display input prompts as a floating window, in the status bar, or inline on the current line to match your workflow.

USE CASE 3

Automatically upgrade the input experience for every plugin that calls vim.ui.input without modifying those plugins.

Tech stack

LuaNeovim

Getting it running

Difficulty · easy Time to first run · 5min

Windows users may need to enable long file path support in git before installing via a plugin manager.

In plain English

This is a plugin for Neovim, a highly configurable text editor used mainly by developers and power users. The plugin is called mini.input, and its job is to handle asking the user for typed input inside the editor, then collecting and returning whatever they type. It is part of a larger collection of small, focused plugins called mini.nvim. Each plugin in that collection does one specific thing. This one handles the input prompt, which is the little text box that pops up when a program needs you to type something, such as a new filename or a search term. The main feature is that the input prompt is non-blocking, meaning the editor does not freeze while waiting for your response, and it works in any editing mode without requiring you to switch modes first. The way the input appears is configurable: it can show up as a floating window, in the status bar at the bottom, or as an overlay on the current line. You can also plug in custom logic to control which keys do what, how the text is highlighted as you type, and how completion suggestions are generated. The plugin also replaces the built-in vim.ui.input function that other plugins use to ask for input, so any plugin that calls that standard function will automatically get mini.input's nicer interface once it is installed. Installation follows the same process as other mini.nvim plugins: add it through your plugin manager of choice and call the setup function. The README lists examples using vim.pack, mini.deps, and lazy.nvim. Windows users may need to enable long file path support in git before installing. Configuration is done by passing a table to setup, with options for the four handler functions and the default input scope.

Copy-paste prompts

Prompt 1
I installed nvim-mini/mini.input in Neovim with lazy.nvim. Show me a minimal setup snippet that displays the input prompt as a floating window with custom highlighting.
Prompt 2
How do I add a custom key handler in mini.input so that pressing a specific key clears the current input field instead of canceling the prompt?
Prompt 3
I want mini.input to provide completion suggestions when I type into the prompt. How do I pass a custom completion callback through the setup function?
Prompt 4
Why does mini.input work in any editing mode without requiring a mode switch? How does the non-blocking design differ from the built-in vim.ui.input behavior?
Open on GitHub → Explain another repo

← nvim-mini on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.