snacks.nvim/docs/bufdelete.md
2024-11-09 15:01:10 +01:00

57 lines
1.2 KiB
Markdown

# 🍿 bufdelete
Delete buffers without disrupting window layout.
If the buffer you want to close has changes,
a prompt will be shown to save or discard.
<!-- docgen -->
## 📚 Types
```lua
---@class snacks.bufdelete.Opts
---@field buf? number Buffer to delete. Defaults to the current buffer
---@field force? boolean Delete the buffer even if it is modified
---@field filter? fun(buf: number): boolean Filter buffers to delete
---@field wipe? boolean Wipe the buffer instead of deleting it (see `:h :bwipeout`)
```
## 📦 Module
### `Snacks.bufdelete()`
```lua
---@type fun(buf?: number|snacks.bufdelete.Opts)
Snacks.bufdelete()
```
### `Snacks.bufdelete.all()`
Delete all buffers
```lua
---@param opts? snacks.bufdelete.Opts
Snacks.bufdelete.all(opts)
```
### `Snacks.bufdelete.delete()`
Delete a buffer:
- either the current buffer if `buf` is not provided
- or the buffer `buf` if it is a number
- or every buffer for which `buf` returns true if it is a function
```lua
---@param opts? number|snacks.bufdelete.Opts
Snacks.bufdelete.delete(opts)
```
### `Snacks.bufdelete.other()`
Delete all buffers except the current one
```lua
---@param opts? snacks.bufdelete.Opts
Snacks.bufdelete.other(opts)
```