An open API service indexing awesome lists of open source software.

https://github.com/snuffish/utils.nvim


https://github.com/snuffish/utils.nvim

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Utils.nvim

Useful utility functions to setup and manage NeoVim's environment with ease.

## Installation

**lazy.nvim**

```lua
return {
"snuffish/utils.nvim",
}
```

## Configuration

Calling setup isn't neccesarry - only do this if you want `utils.nvim` on another *namespace*.

```lua

return {
"snuffish/utils.nvim",
config = function()
-- To get `vim.tools.[...]`
require("utils").setup("tools")
end
}
```

## Usage

```lua
--- Setup the util on a desired namespace for easy access
---
---@param namespace? string
require("utils").setup(namespace?)

--- Add new keymap(s) binding(s)
---
---@param modes string|string[]
---@param maps string|string[]
---@param action string|function
---@param opts? vim.keymap.set.Opts
vim.utils.map(modes, maps, action, opts?)

--- Remove keymap(s) binding(s)
---
---@param modes string|string[]
---@param maps string|string[]
vim.utils.remove_map(modes, maps)

--- Simulate actual physical keypress-actions
---
---@param keys string
vim.utils.trigger_keys(keys)

--- Simulate actual physical keypress-actions
--- also retruns an high-order function for keymap triggers
---
---@param keys string
---@return function
vim.utils.trigger_keys_fn(keys)

vim.utils.get_current_bufnr()
vim.utils.get_all_buffers()
vim.utils.get_all_buffers_content()
```