summary refs log tree commit diff
path: root/.config/nvim/lua/mod/utils.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.config/nvim/lua/mod/utils.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/.config/nvim/lua/mod/utils.lua b/.config/nvim/lua/mod/utils.lua
new file mode 100644
index 0000000..1f3cd8b
--- /dev/null
+++ b/.config/nvim/lua/mod/utils.lua
@@ -0,0 +1,15 @@
+local M = {}
+
+function M.buf_edit_lines(buf, start_row, end_row, callback)
+  local lines = {}
+  lines = vim.api.nvim_buf_get_lines(buf, start_row, end_row, true)
+  lines = callback(lines)
+  return vim.api.nvim_buf_set_lines(buf, start_row, end_row, true, lines)
+end
+
+function M.edit_current_line(callback)
+  local row, _ = unpack(vim.api.nvim_win_get_cursor(0))
+  return M.buf_edit_lines(0, row - 1, row, callback)
+end
+
+return M