whatisgithub

What is mini.input?

nvim-mini/mini.input — explained in plain English

Analysis updated 2026-06-24

14LuaAudience · developerComplexity · 2/5Setup · easy

In one sentence

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

What do people build with it?

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.

What is it built with?

LuaNeovim

How does it compare?

nvim-mini/mini.inputcachebag/jumpy.nvimiilw/nui-diagnostic.nvim
Stars141414
LanguageLuaLuaLua
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get 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.

So what is it?

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?

Frequently asked questions

What is mini.input?

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.

What language is mini.input written in?

Mainly Lua. The stack also includes Lua, Neovim.

How hard is mini.input to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is mini.input for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.