diff --git a/.github/workflows/docgen.yml b/.github/workflows/docgen.yml index dbb729f..3605453 100644 --- a/.github/workflows/docgen.yml +++ b/.github/workflows/docgen.yml @@ -14,7 +14,7 @@ jobs: matrix: include: - os: ubuntu-24.04 - url: https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz + url: https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.tar.gz steps: - uses: actions/checkout@v4 - run: date +%F > todays-date diff --git a/README.md b/README.md index 5d805ed..426ed81 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ require("telescope").extensions = { | <C-h> | Show key bindings | | <C-n> | Rename selected entry | | <C-q> | Run macro on files in quickfix list | -| <C-r> | Run macro | +| <C-r> | Run macro (supports v:count) | | <C-s> | Save a macro/register | | <C-x> | Edit register (<C-c> can be used to copy the register as printable) | diff --git a/lua/macrothis/init.lua b/lua/macrothis/init.lua index 6a5ea32..474b262 100644 --- a/lua/macrothis/init.lua +++ b/lua/macrothis/init.lua @@ -207,10 +207,11 @@ end --- ---@usage `require('macrothis').run()` macrothis.run = function() + local count = vim.v.count1 local menuelem = macrothis.generate_menu_items() vim.ui.select(menuelem, { - prompt = "Run on quickfix list", + prompt = "Run macro", format_item = function(item) return ("%s: %s"):format(item.label, item.value) end, @@ -219,7 +220,8 @@ macrothis.run = function() utils.run_macro( macrothis.opts, macrothis.opts.run_register, - description.label + description.label, + count ) macrothis.opts.last_used = description.label end diff --git a/lua/macrothis/utils.lua b/lua/macrothis/utils.lua index d772625..afbdfae 100644 --- a/lua/macrothis/utils.lua +++ b/lua/macrothis/utils.lua @@ -64,10 +64,15 @@ utils.remove_entry = function(opts, description) utils.save_data(opts, data) end -utils.run_macro = function(opts, register, description) +utils.run_macro = function(opts, register, description, count) utils.load_register(opts, register, description) vim.api.nvim_feedkeys( - vim.api.nvim_replace_termcodes("@" .. register, true, false, true), + vim.api.nvim_replace_termcodes( + count .. "@" .. register, + true, + false, + true + ), "n", false )