snacks.nvim/doc/snacks.nvim-util.txt
folke 0bc7c2631a
Some checks are pending
CI / ci (push) Waiting to run
chore(build): auto-generated vimdocs
2025-10-30 15:12:07 +00:00

323 lines
8.9 KiB
Text

*snacks-util* snacks util docs
==============================================================================
Table of Contents *snacks.nvim-util-table-of-contents*
1. Types |snacks.nvim-util-types|
2. Module |snacks.nvim-util-module|
- Snacks.util.blend() |snacks.nvim-util-module-snacks.util.blend()|
- Snacks.util.bo() |snacks.nvim-util-module-snacks.util.bo()|
- Snacks.util.color() |snacks.nvim-util-module-snacks.util.color()|
- Snacks.util.debounce() |snacks.nvim-util-module-snacks.util.debounce()|
- Snacks.util.file_decode()|snacks.nvim-util-module-snacks.util.file_decode()|
- Snacks.util.file_encode()|snacks.nvim-util-module-snacks.util.file_encode()|
- Snacks.util.get_lang() |snacks.nvim-util-module-snacks.util.get_lang()|
- Snacks.util.icon() |snacks.nvim-util-module-snacks.util.icon()|
- Snacks.util.is_float() |snacks.nvim-util-module-snacks.util.is_float()|
- Snacks.util.is_transparent()|snacks.nvim-util-module-snacks.util.is_transparent()|
- Snacks.util.keycode() |snacks.nvim-util-module-snacks.util.keycode()|
- Snacks.util.normkey() |snacks.nvim-util-module-snacks.util.normkey()|
- Snacks.util.on_key() |snacks.nvim-util-module-snacks.util.on_key()|
- Snacks.util.on_module() |snacks.nvim-util-module-snacks.util.on_module()|
- Snacks.util.parse() |snacks.nvim-util-module-snacks.util.parse()|
- Snacks.util.path_type() |snacks.nvim-util-module-snacks.util.path_type()|
- Snacks.util.redraw() |snacks.nvim-util-module-snacks.util.redraw()|
- Snacks.util.redraw_range()|snacks.nvim-util-module-snacks.util.redraw_range()|
- Snacks.util.ref() |snacks.nvim-util-module-snacks.util.ref()|
- Snacks.util.set_hl() |snacks.nvim-util-module-snacks.util.set_hl()|
- Snacks.util.spinner() |snacks.nvim-util-module-snacks.util.spinner()|
- Snacks.util.stop() |snacks.nvim-util-module-snacks.util.stop()|
- Snacks.util.throttle() |snacks.nvim-util-module-snacks.util.throttle()|
- Snacks.util.var() |snacks.nvim-util-module-snacks.util.var()|
- Snacks.util.winhl() |snacks.nvim-util-module-snacks.util.winhl()|
- Snacks.util.wo() |snacks.nvim-util-module-snacks.util.wo()|
==============================================================================
1. Types *snacks.nvim-util-types*
>lua
---@alias snacks.util.hl table<string, string|vim.api.keyset.highlight>
<
==============================================================================
2. Module *snacks.nvim-util-module*
>lua
---@class snacks.util
---@field spawn snacks.spawn
---@field lsp snacks.lsp
Snacks.util = {}
<
`Snacks.util.blend()` *Snacks.util.blend()*
>lua
---@param fg string foreground color
---@param bg string background color
---@param alpha number number between 0 and 1. 0 results in bg, 1 results in fg
Snacks.util.blend(fg, bg, alpha)
<
`Snacks.util.bo()` *Snacks.util.bo()*
Set buffer-local options.
>lua
---@param buf number
---@param bo vim.bo|{}
Snacks.util.bo(buf, bo)
<
`Snacks.util.color()` *Snacks.util.color()*
>lua
---@param group string|string[] hl group to get color from
---@param prop? string property to get. Defaults to "fg"
Snacks.util.color(group, prop)
<
`Snacks.util.debounce()` *Snacks.util.debounce()*
>lua
---@generic T
---@param fn T
---@param opts? {ms?:number}
---@return T
Snacks.util.debounce(fn, opts)
<
`Snacks.util.file_decode()` *Snacks.util.file_decode()*
Decodes a file name to a string.
>lua
---@param str string
Snacks.util.file_decode(str)
<
`Snacks.util.file_encode()` *Snacks.util.file_encode()*
Encodes a string to be used as a file name.
>lua
---@param str string
Snacks.util.file_encode(str)
<
`Snacks.util.get_lang()` *Snacks.util.get_lang()*
>lua
---@param lang string|number|nil
---@overload fun(buf:number):string?
---@overload fun(ft:string):string?
---@return string?
Snacks.util.get_lang(lang)
<
`Snacks.util.icon()` *Snacks.util.icon()*
Get an icon from `mini.icons` or `nvim-web-devicons`.
>lua
---@param name string
---@param cat? string "file"|"filetype"|"extension"|"directory"
---@param opts? { fallback?: {dir?:string, file?:string} }
---@return string, string?
Snacks.util.icon(name, cat, opts)
<
`Snacks.util.is_float()` *Snacks.util.is_float()*
>lua
---@param win? number
Snacks.util.is_float(win)
<
`Snacks.util.is_transparent()` *Snacks.util.is_transparent()*
Check if the colorscheme is transparent.
>lua
Snacks.util.is_transparent()
<
`Snacks.util.keycode()` *Snacks.util.keycode()*
>lua
---@param str string
Snacks.util.keycode(str)
<
`Snacks.util.normkey()` *Snacks.util.normkey()*
>lua
---@param key string
Snacks.util.normkey(key)
<
`Snacks.util.on_key()` *Snacks.util.on_key()*
>lua
---@param key string
---@param cb fun(key:string)
Snacks.util.on_key(key, cb)
<
`Snacks.util.on_module()` *Snacks.util.on_module()*
Call a function when a module is loaded. The callback is called immediately if
the module is already loaded. Otherwise, it is called when the module is
loaded.
>lua
---@param modname string
---@param cb fun(modname:string)
Snacks.util.on_module(modname, cb)
<
`Snacks.util.parse()` *Snacks.util.parse()*
Parse async when available.
>lua
---@param parser vim.treesitter.LanguageTree
---@param range boolean|Range|nil: Parse this range in the parser's source.
---@param on_parse fun(err?: string, trees?: table<integer, TSTree>) Function invoked when parsing completes.
Snacks.util.parse(parser, range, on_parse)
<
`Snacks.util.path_type()` *Snacks.util.path_type()*
Better validation to check if path is a dir or a file
>lua
---@param path string
---@return "directory"|"file"
Snacks.util.path_type(path)
<
`Snacks.util.redraw()` *Snacks.util.redraw()*
Redraw the window. Optimized for Neovim >= 0.10
>lua
---@param win number
Snacks.util.redraw(win)
<
`Snacks.util.redraw_range()` *Snacks.util.redraw_range()*
Redraw the range of lines in the window. Optimized for Neovim >= 0.10
>lua
---@param win number
---@param from number -- 1-indexed, inclusive
---@param to number -- 1-indexed, inclusive
Snacks.util.redraw_range(win, from, to)
<
`Snacks.util.ref()` *Snacks.util.ref()*
>lua
---@generic T
---@param t T
---@return { value?:T }|fun():T?
Snacks.util.ref(t)
<
`Snacks.util.set_hl()` *Snacks.util.set_hl()*
Ensures the hl groups are always set, even after a colorscheme change.
>lua
---@param groups snacks.util.hl
---@param opts? { prefix?:string, default?:boolean, managed?:boolean }
Snacks.util.set_hl(groups, opts)
<
`Snacks.util.spinner()` *Snacks.util.spinner()*
>lua
Snacks.util.spinner()
<
`Snacks.util.stop()` *Snacks.util.stop()*
>lua
---@param handle? uv.uv_handle_t|uv.uv_timer_t
Snacks.util.stop(handle)
<
`Snacks.util.throttle()` *Snacks.util.throttle()*
>lua
---@generic T
---@param fn T
---@param opts? {ms?:number}
---@return T
Snacks.util.throttle(fn, opts)
<
`Snacks.util.var()` *Snacks.util.var()*
Get a buffer or global variable.
>lua
---@generic T
---@param buf? number
---@param name string
---@param default? T
---@return T
Snacks.util.var(buf, name, default)
<
`Snacks.util.winhl()` *Snacks.util.winhl()*
Merges vim.wo.winhighlight options. Option values can be a string or a
dictionary.
>lua
---@param ... string|table<string, string>
Snacks.util.winhl(...)
<
`Snacks.util.wo()` *Snacks.util.wo()*
Set window-local options.
>lua
---@param win number
---@param wo vim.wo|{}|{winhighlight: string|table<string, string>}
Snacks.util.wo(win, wo)
<
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
vim:tw=78:ts=8:noet:ft=help:norl: