From e111c431a50d7e28142e8ae6f7733298ca47fa94 Mon Sep 17 00:00:00 2001 From: picalines Date: Sun, 5 Apr 2026 20:43:29 +0300 Subject: [PATCH 1/5] chore(mise): task aliases --- mise.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mise.toml b/mise.toml index 04dc376..df3042b 100644 --- a/mise.toml +++ b/mise.toml @@ -4,21 +4,20 @@ stylua = "latest" "aqua:LuaLS/lua-language-server" = "latest" [tasks.lint] -run = [ - { task = "lint-format" }, - { task = "lint-lsp" }, -] +alias = "l" +depends = "lint:*" -[tasks.lint-format] +[tasks."lint:format"] run = "stylua --check lua/" -[tasks.lint-lsp] +[tasks."lint:lsp"] run = ''' VIMRUNTIME=$(nvim --headless --clean -u NONE --noplugin "+lua io.write(vim.env.VIMRUNTIME)" +qa) \ lua-language-server --check . --checklevel=Warning --configpath luarc.json ''' [tasks.format] +alias = "f" run = "stylua lua/" [tasks.doc] @@ -28,6 +27,7 @@ vimcats -f -i 2 --layout mini:2 lua/mappet.lua > doc/mappet.txt ''' [tasks.test] +alias = "t" depends = ["dev-deps"] run = "nvim --headless --noplugin -u ./tests/run.lua" From df05f0518cc12a9a08912ce462558092215088f8 Mon Sep 17 00:00:00 2001 From: picalines Date: Sun, 5 Apr 2026 20:59:32 +0300 Subject: [PATCH 2/5] fix: keymap.set expects buf instead of buffer in 0.12 --- lua/mappet.lua | 2 +- tests/test_buffer.lua | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/lua/mappet.lua b/lua/mappet.lua index 4be0c3f..5697a35 100644 --- a/lua/mappet.lua +++ b/lua/mappet.lua @@ -250,7 +250,7 @@ local function apply_maps(entries, maps, bufnr) local opts = vim.deepcopy(m.opts) if bufnr ~= nil then - opts.buffer = bufnr + opts.buf = bufnr end local ok = pcall(vim.keymap.set, m.mode, m.lhs, m.rhs, opts) diff --git a/tests/test_buffer.lua b/tests/test_buffer.lua index d6312cc..435015b 100644 --- a/tests/test_buffer.lua +++ b/tests/test_buffer.lua @@ -1,6 +1,8 @@ local new_set = MiniTest.new_set +local eq = MiniTest.expect.equality local expect = MiniTest.expect +local H = dofile(vim.fn.getcwd() .. '/tests/helpers.lua') local keymap = require 'mappet' local T = new_set() @@ -22,4 +24,25 @@ T['buffer()']['fails on unloaded buffer'] = function() end, 'buffer is not loaded') end +T['buffer()']['creates buffer-local mappings'] = function() + local name = H.unique_name 'buffer-local' + local lhs = '(mappet-buffer-local)' + local target_buf = vim.api.nvim_get_current_buf() + local other_buf = vim.api.nvim_create_buf(true, false) + + keymap.buffer(name, target_buf) { 'n', silent = true } { + keymap.map(lhs, 'buffer only') '', + } + + local target_map = H.get_buffer_map(target_buf, 'n', lhs) + local other_map = H.get_buffer_map(other_buf, 'n', lhs) + local global_map = H.get_global_map('n', lhs) + + eq(H.truthy(target_map), true) + eq(H.truthy(other_map), false) + eq(H.truthy(global_map), false) + eq(target_map.desc, 'buffer only') + eq(target_map.silent, 1) +end + return T From 6ab539040f4cc27e36d62ef12609f65a64daeb1a Mon Sep 17 00:00:00 2001 From: picalines Date: Sun, 5 Apr 2026 21:02:52 +0300 Subject: [PATCH 3/5] chore(readme): mention neovim version --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 23f2298..ebd44c8 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ Declarative keymap DSL for Neovim - Compose nested declarations with `sub { ... }`, reuse [`vim.keymap.set()`](https://neovim.io/doc/user/lua/#vim.keymap.set()) options - Easier syntax for buffer autocommands with `template()` -Full docs: [`doc/mappet.txt`](doc/mappet.txt) (`:help mappet`). +Requires Neovim `0.12+` + +Full docs: [`doc/mappet.txt`](doc/mappet.txt) (`:help mappet`) ## Install @@ -90,7 +92,7 @@ vim.api.nvim_create_autocmd('FileType', { }) ``` -For all options, modes, and API details, see [`doc/mappet.txt`](doc/mappet.txt). +For all options, modes, and API details, see [`doc/mappet.txt`](doc/mappet.txt) ## Why? From d216b57dd4fc6dfb9fd844df9d8f9b9ebd966119 Mon Sep 17 00:00:00 2001 From: picalines Date: Sun, 5 Apr 2026 21:07:13 +0300 Subject: [PATCH 4/5] chore(mise): fixed neovim version for testing --- .github/workflows/ci.yml | 10 ---------- mise.toml | 1 + 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbdafd8..5e1979b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,11 +14,6 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Setup Neovim - uses: rhysd/action-setup-vim@v1 - with: - neovim: true - - name: Setup mise uses: jdx/mise-action@v2 with: @@ -43,11 +38,6 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Setup Neovim - uses: rhysd/action-setup-vim@v1 - with: - neovim: true - - name: Setup mise uses: jdx/mise-action@v2 with: diff --git a/mise.toml b/mise.toml index df3042b..f9aacce 100644 --- a/mise.toml +++ b/mise.toml @@ -1,4 +1,5 @@ [tools] +neovim = "0.12" stylua = "latest" "cargo:vimcats" = { version = "latest", features = "cli" } "aqua:LuaLS/lua-language-server" = "latest" From b9ad4b1bc5da092825957bc2556e98246f5634e9 Mon Sep 17 00:00:00 2001 From: picalines Date: Sun, 5 Apr 2026 21:14:14 +0300 Subject: [PATCH 5/5] chore(actions): bump action versions --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/release.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5e1979b..7a227bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup mise - uses: jdx/mise-action@v2 + uses: jdx/mise-action@v4 with: install: true cache: true @@ -36,10 +36,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup mise - uses: jdx/mise-action@v2 + uses: jdx/mise-action@v4 with: install: true cache: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 23d7396..b4dc743 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0