diff --git a/README.md b/README.md new file mode 100644 index 0000000..683acaa --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# multinput.nvim + +An attempt at creating a `vim.ui.input` that wraps its context in an auto-resizing buffer. + +## 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 = { + numbers = "multiline", -- "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 + }, + padding = 5, -- How much padding will be added to the end of the buffer + width = { min = 20, max = 60 }, -- Controls the width limits of the buffer + height = { min = 1, max = 6 }, -- Controls the height limits of the buffer + win = { + title = "Input: ", + style = "minimal", + focusable = true, + relative = "cursor", + col = -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.