mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 09:12:07 +00:00
feat(defaults): dot-repeat [<Space> #31186
Problem: `[<Space>` and `]<Space>` do not support repetition. Solution: use `operatorfunc` and `g@l` to make these mappings dot repeatable.
This commit is contained in:
23
runtime/lua/vim/_buf.lua
Normal file
23
runtime/lua/vim/_buf.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
local M = {}
|
||||
|
||||
--- Adds one or more blank lines above or below the cursor.
|
||||
-- TODO: move to _defaults.lua once it is possible to assign a Lua function to options #25672
|
||||
--- @param above? boolean Place blank line(s) above the cursor
|
||||
local function add_blank(above)
|
||||
local offset = above and 1 or 0
|
||||
local repeated = vim.fn['repeat']({ '' }, vim.v.count1)
|
||||
local linenr = vim.api.nvim_win_get_cursor(0)[1]
|
||||
vim.api.nvim_buf_set_lines(0, linenr - offset, linenr - offset, true, repeated)
|
||||
end
|
||||
|
||||
-- TODO: move to _defaults.lua once it is possible to assign a Lua function to options #25672
|
||||
function M.space_above()
|
||||
add_blank(true)
|
||||
end
|
||||
|
||||
-- TODO: move to _defaults.lua once it is possible to assign a Lua function to options #25672
|
||||
function M.space_below()
|
||||
add_blank()
|
||||
end
|
||||
|
||||
return M
|
Reference in New Issue
Block a user