···11+# multinput.nvim
22+33+An attempt at creating a `vim.ui.input` that wraps its context in an auto-resizing buffer.
44+55+## Installation
66+77+Install `multinput.nvim` using your favorite plugin manager.
88+99+**[lazy.nvim](https://github.com/folke/lazy.nvim)**:
1010+1111+```lua
1212+{
1313+ 'r0nsha/multinput.nvim',
1414+ opts = {
1515+ -- Your custom configuration goes here
1616+ }
1717+}
1818+```
1919+2020+**[packer.nvim](https://github.com/wbthomason/packer.nvim)**:
2121+2222+```lua
2323+use({
2424+ 'r0nsha/multinput.nvim',
2525+ config = function()
2626+ require('multinput').setup({
2727+ -- Your custom configuration goes here
2828+ })
2929+ end
3030+})
3131+```
3232+3333+## Configuration
3434+3535+Here are the default configuration options:
3636+3737+```lua
3838+require('multinput').setup({
3939+ opts = {
4040+ numbers = "multiline", -- "always" | "multiline" | "never"
4141+ -- "always" will always show line numbers
4242+ -- "multiline" will only show line numbers if the buffer's height is > 1
4343+ -- "never" will never show line numbers
4444+ },
4545+ padding = 5, -- How much padding will be added to the end of the buffer
4646+ width = { min = 20, max = 60 }, -- Controls the width limits of the buffer
4747+ height = { min = 1, max = 6 }, -- Controls the height limits of the buffer
4848+ win = {
4949+ title = "Input: ",
5050+ style = "minimal",
5151+ focusable = true,
5252+ relative = "cursor",
5353+ col = -1,
5454+ height = 1,
5555+ },
5656+})
5757+```
5858+5959+## Mappings
6060+6161+| Mode | Key | Description |
6262+| ------- | ----------- | -------------------------------- |
6363+| n, i, v | `<cr>` | Confirms the input |
6464+| i | `<a-cr>` | Inserts a newline in normal mode |
6565+| n | `<esc>`/`q` | Closes the buffer |
6666+6767+## Contributing
6868+6969+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.