# multinput.nvim A floating `vim.ui.input` buffer that auto-resizes to fit its contents. https://github.com/user-attachments/assets/bed09107-c0ab-4c50-bdfb-4e73893fa800 ## Installation Install `multinput.nvim` using your favorite plugin manager. **[lazy.nvim](https://github.com/folke/lazy.nvim)**: ```lua { 'r0nsha/multinput.nvim', opts = { -- Your custom configuration goes here } } ``` **[packer.nvim](https://github.com/wbthomason/packer.nvim)**: ```lua use({ 'r0nsha/multinput.nvim', config = function() require('multinput').setup({ -- Your custom configuration goes here }) end }) ``` ## Configuration Here are the default configuration options: ```lua require('multinput').setup({ opts = { -- "always" | "multiline" | "never" -- "always" will always show line numbers -- "multiline" will only show line numbers if the buffer's height is > 1 -- "never" will never show line numbers numbers = "never", }, -- How much padding will be added to the end of the buffer padding = 5, -- Controls the width limits of the buffer width = { min = 20, max = 60 }, -- Controls the height limits of the buffer height = { min = 1, max = 6 }, win = { title = "Input: ", style = "minimal", focusable = true, relative = "cursor", col = -1, width = 1, height = 1, }, }) ``` ## Mappings | Mode | Key | Description | | ------- | ----------- | -------------------------------- | | n, i, v | `` | Confirms the input | | i | `` | Inserts a newline in normal mode | | n | ``/`q` | Closes the buffer | ## Contributing Contributions are always welcome! I'm no neovim expert, so if you find a bug or have a feature request, you're welcome to open an issue or submit a pull request.