snacks.nvim/lua/snacks
Folke Lemaitre 0bf34afe34
feat(keymap): add filetype and LSP-aware keymap management
Add `Snacks.keymap.set()` and `Snacks.keymap.del()` as enhanced alternatives
to `vim.keymap.set/del` with support for:

- **Filetype-specific keymaps**: Set keymaps that only apply to buffers with
  specific filetypes using the `ft` option
- **LSP-aware keymaps**: Set keymaps based on LSP client capabilities using
  the `lsp` option (leverages Snacks.util.lsp)
- **Automatic application**: Keymaps are applied to existing buffers and
  automatically set up for new buffers via FileType autocmd

Drop-in replacement API with smart defaults (silent by default).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 16:32:11 +02:00
..
animate fix(animate): never animate stopped animations 2025-01-11 12:06:07 +01:00
explorer fix(explorer): macos has trash pre-installed, so no need to try osascript and move to first. Closes #2349 2025-10-25 11:16:29 +02:00
image fix(image): increase timeout for querying the terminal. Closes #2344 2025-10-25 06:52:56 +02:00
meta build: skip doc comments with @deprecated 2025-10-10 16:09:12 +02:00
picker perf(picker): re-use existing string parsers per language to prevent needing to create new parsers 2025-10-24 17:00:36 +02:00
profiler feat(compat): added svim, a compatibility layer for Neovim. Closes #1321 2025-02-20 06:59:44 +01:00
util feat(util): add LSP utility module with dynamic capability handlers 2025-10-25 16:31:13 +02:00
bigfile.lua feat(bigfile): disable mini-hipatterns (#2170) 2025-10-19 10:40:36 +02:00
bufdelete.lua fix(bufdelete): try alternate buffer first and otherwise last used buffer 2025-10-13 20:12:34 +02:00
compat.lua fix(compat): fixup 2025-02-22 07:53:29 +01:00
dashboard.lua fix(dashboard): don't write to closed terminal buffer 2025-10-25 13:35:33 +02:00
debug.lua feat(debug): allow debug evaluation of block selections (#1331) 2025-10-20 14:53:55 +02:00
dim.lua fix(dim): fixed the issue of dim's scope variable being nil and outputting… (#1938) 2025-10-14 18:29:08 +02:00
git.lua feat(win): all existing snacks windows for all plugins now honor vim.o.winborder. Defaults to rounded if not set. 2025-10-22 23:06:35 +02:00
gitbrowse.lua fix(gitbrowse): send commit as a opt when calling gitbrowse (#2289) 2025-10-20 15:28:30 +02:00
health.lua feat(util): util method to check if ts lang is available on any Neovim version. See #1422 2025-02-25 15:25:48 +01:00
indent.lua feat(indent): pass win to filter func. Closes #2307 2025-10-21 22:39:49 +02:00
init.lua chore(main): release 2.25.0 (#2329) 2025-10-23 21:30:03 +02:00
input.lua feat(win): all existing snacks windows for all plugins now honor vim.o.winborder. Defaults to rounded if not set. 2025-10-22 23:06:35 +02:00
keymap.lua feat(keymap): add filetype and LSP-aware keymap management 2025-10-25 16:32:11 +02:00
layout.lua fix(layout): provide parent win width/height when relative to win (#2346) 2025-10-25 08:22:28 +02:00
lazygit.lua fix(lazygit): allow extensible user args (#789) 2025-10-19 07:42:25 +02:00
notifier.lua feat(notifier): added gap option. Closes #2331 2025-10-23 20:30:49 +02:00
notify.lua build: added metadata to plugins 2024-12-10 13:55:51 +01:00
quickfile.lua build: added metadata to plugins 2024-12-10 13:55:51 +01:00
rename.lua fix(rename): made rename more robust and make sure target directory exists. Closes #2252 2025-10-21 08:32:27 +02:00
scope.lua fix(scope): allow user to disable keys (#1918) 2025-10-19 07:40:07 +02:00
scratch.lua feat(picker.scratch): add scratch picker with grep, new and delete keybinds (#1019) 2025-10-23 10:53:02 +02:00
scroll.lua refactor(scroll): convert to object-oriented state management 2025-10-24 09:43:19 +02:00
statuscolumn.lua fix(statuscolumn): show open folds in consecutive levels (#1534) 2025-10-21 00:16:15 -07:00
terminal.lua fix(terminal): stack only terminal splits by default. Closes #2137 2025-10-21 16:04:38 +02:00
toggle.lua feat(toggle): allow notification customization via function (#2247) 2025-10-20 15:26:26 +02:00
win.lua feat(win): add SnacksWinSeparator to default win.wo.winhighlight (#2340) 2025-10-24 17:01:24 +02:00
words.lua fix(lsp): fix deprecated warnings related to lsp client 2025-09-15 07:42:46 +02:00
zen.lua fix(zen): make zoom and minimizing work in terminal mode (#1912) 2025-10-20 15:08:41 +02:00