*snacks-input*                                 snacks input docs

==============================================================================
Table of Contents                        *snacks.nvim-input-table-of-contents*

1. Setup                                             |snacks.nvim-input-setup|
2. Config                                           |snacks.nvim-input-config|
3. Styles                                           |snacks.nvim-input-styles|
  - input                                     |snacks.nvim-input-styles-input|
4. Types                                             |snacks.nvim-input-types|
5. Module                                           |snacks.nvim-input-module|
  - Snacks.input()                   |snacks.nvim-input-module-snacks.input()|
  - Snacks.input.disable()   |snacks.nvim-input-module-snacks.input.disable()|
  - Snacks.input.enable()     |snacks.nvim-input-module-snacks.input.enable()|
  - Snacks.input.input()       |snacks.nvim-input-module-snacks.input.input()|
6. Links                                             |snacks.nvim-input-links|
Better `vim.ui.input`.


==============================================================================
1. Setup                                             *snacks.nvim-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.nvim-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.nvim-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.nvim-input-styles-input*

>lua
    {
      backdrop = false,
      position = "float",
      border = true,
      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", "n" }, 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.nvim-input-types*

>lua
    ---@alias snacks.input.Pos "left"|"title"|false
<

>lua
    ---@alias snacks.input.Highlight {[1]:number, [2]:number, [3]:string}
<

>lua
    ---@class snacks.input.Opts: snacks.input.Config,{}
    ---@field prompt? string
    ---@field default? string
    ---@field completion? string
    ---@field highlight? fun(text: string): snacks.input.Highlight[]
<


==============================================================================
5. Module                                           *snacks.nvim-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.nvim-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:
