mirror of
https://github.com/folke/snacks.nvim
synced 2025-07-07 13:15:08 +00:00
167 lines
5.2 KiB
Text
167 lines
5.2 KiB
Text
*snacks-input* snacks_input
|
|
|
|
==============================================================================
|
|
Table of Contents *snacks-input-table-of-contents*
|
|
|
|
1. Setup |snacks-input-setup|
|
|
2. Config |snacks-input-config|
|
|
3. Styles |snacks-input-styles|
|
|
- input |snacks-input-styles-input|
|
|
4. Types |snacks-input-types|
|
|
5. Module |snacks-input-module|
|
|
- Snacks.input() |snacks-input-module-snacks.input()|
|
|
- Snacks.input.disable() |snacks-input-module-snacks.input.disable()|
|
|
- Snacks.input.enable() |snacks-input-module-snacks.input.enable()|
|
|
- Snacks.input.input() |snacks-input-module-snacks.input.input()|
|
|
6. Links |snacks-input-links|
|
|
Better `vim.ui.input`.
|
|
|
|
|
|
==============================================================================
|
|
1. Setup *snacks-input-setup*
|
|
|
|
>lua
|
|
-- lazy.nvim
|
|
{
|
|
"folke/snacks.nvim",
|
|
---@type snacks.Config
|
|
opts = {
|
|
input = {
|
|
-- your input configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
}
|
|
}
|
|
}
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
2. Config *snacks-input-config*
|
|
|
|
>lua
|
|
---@class snacks.input.Config
|
|
---@field enabled? boolean
|
|
---@field win? snacks.win.Config|{}
|
|
---@field icon? string
|
|
---@field icon_pos? snacks.input.Pos
|
|
---@field prompt_pos? snacks.input.Pos
|
|
{
|
|
icon = " ",
|
|
icon_hl = "SnacksInputIcon",
|
|
icon_pos = "left",
|
|
prompt_pos = "title",
|
|
win = { style = "input" },
|
|
expand = true,
|
|
}
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
3. Styles *snacks-input-styles*
|
|
|
|
Check the styles
|
|
<https://github.com/folke/snacks.nvim/blob/main/docs/styles.md> docs for more
|
|
information on how to customize these styles
|
|
|
|
|
|
INPUT *snacks-input-styles-input*
|
|
|
|
>lua
|
|
{
|
|
backdrop = false,
|
|
position = "float",
|
|
border = "rounded",
|
|
title_pos = "center",
|
|
height = 1,
|
|
width = 60,
|
|
relative = "editor",
|
|
noautocmd = true,
|
|
row = 2,
|
|
-- relative = "cursor",
|
|
-- row = -3,
|
|
-- col = 0,
|
|
wo = {
|
|
winhighlight = "NormalFloat:SnacksInputNormal,FloatBorder:SnacksInputBorder,FloatTitle:SnacksInputTitle",
|
|
cursorline = false,
|
|
},
|
|
bo = {
|
|
filetype = "snacks_input",
|
|
buftype = "prompt",
|
|
},
|
|
--- buffer local variables
|
|
b = {
|
|
completion = false, -- disable blink completions in input
|
|
},
|
|
keys = {
|
|
n_esc = { "<esc>", { "cmp_close", "cancel" }, mode = "n", expr = true },
|
|
i_esc = { "<esc>", { "cmp_close", "stopinsert" }, mode = "i", expr = true },
|
|
i_cr = { "<cr>", { "cmp_accept", "confirm" }, mode = "i", expr = true },
|
|
i_tab = { "<tab>", { "cmp_select_next", "cmp" }, mode = "i", expr = true },
|
|
i_ctrl_w = { "<c-w>", "<c-s-w>", mode = "i", expr = true },
|
|
i_up = { "<up>", { "hist_up" }, mode = { "i", "n" } },
|
|
i_down = { "<down>", { "hist_down" }, mode = { "i", "n" } },
|
|
q = "cancel",
|
|
},
|
|
}
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
4. Types *snacks-input-types*
|
|
|
|
>lua
|
|
---@alias snacks.input.Pos "left"|"title"|false
|
|
<
|
|
|
|
>lua
|
|
---@class snacks.input.Opts: snacks.input.Config,{}
|
|
---@field prompt? string
|
|
---@field default? string
|
|
---@field completion? string
|
|
---@field highlight? fun()
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
5. Module *snacks-input-module*
|
|
|
|
|
|
`Snacks.input()` *Snacks.input()*
|
|
|
|
>lua
|
|
---@type fun(opts: snacks.input.Opts, on_confirm: fun(value?: string)): snacks.win
|
|
Snacks.input()
|
|
<
|
|
|
|
|
|
`Snacks.input.disable()` *Snacks.input.disable()*
|
|
|
|
>lua
|
|
Snacks.input.disable()
|
|
<
|
|
|
|
|
|
`Snacks.input.enable()` *Snacks.input.enable()*
|
|
|
|
>lua
|
|
Snacks.input.enable()
|
|
<
|
|
|
|
|
|
`Snacks.input.input()` *Snacks.input.input()*
|
|
|
|
>lua
|
|
---@param opts? snacks.input.Opts
|
|
---@param on_confirm fun(value?: string)
|
|
Snacks.input.input(opts, on_confirm)
|
|
<
|
|
|
|
==============================================================================
|
|
6. Links *snacks-input-links*
|
|
|
|
1. *image*: https://github.com/user-attachments/assets/f7579302-bea1-4f1c-8b3b-723c3f4ca04b
|
|
|
|
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
|
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|