summary refs log tree commit diff
path: root/.vim/lua/align/init.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-07-01 16:58:50 +0200
committerRobert Günzler <r@gnzler.io>2022-08-02 22:13:49 +0200
commite54f2e4830eedb0930ccb3b5fdb8cffe8b9e8dbf (patch)
tree31f7b13f96dda8f13925313be1917588729a30b5 /.vim/lua/align/init.lua
parentdd31339e49c28b9c719b60425c5f7ae31a0e45f4 (diff)
vim: implement inccomand for sortline
Diffstat (limited to '')
-rw-r--r--.vim/lua/align/init.lua8
1 files changed, 4 insertions, 4 deletions
diff --git a/.vim/lua/align/init.lua b/.vim/lua/align/init.lua
index bcb8437..5dcf7c0 100644
--- a/.vim/lua/align/init.lua
+++ b/.vim/lua/align/init.lua
@@ -52,7 +52,7 @@ function M.align_lines(pat, line1, line2, preview_ns, preview_bufnr)
         -- modify preview buffer
         if preview_bufnr ~= nil then
           local prefix = string.format('|%d| ', line1 + i - 1)
-          vim.api.nvim_buf_set_lines(preview_bufnr, preview_buf_line, preview_buf_line, 0, { prefix .. newline })
+          vim.api.nvim_buf_set_lines(preview_bufnr, preview_buf_line, preview_buf_line, false, { prefix .. newline })
           vim.api.nvim_buf_add_highlight(preview_bufnr, preview_ns, 'Substitute', preview_buf_line, #prefix + s, #prefix + s + #changeset[2])
           preview_buf_line = preview_buf_line + 1
         end
@@ -64,13 +64,13 @@ function M.align_lines(pat, line1, line2, preview_ns, preview_bufnr)
   if not preview_ns then
     -- exit if nothing was changed
     if #newlines == 0 then return error('nothing changed') end
-
     vim.api.nvim_buf_set_lines(bufnr, line1 - 1, line2, 0, newlines)
+    return 0
   end
 
-  -- return magic number when called as preview callback
   if preview_ns ~= nil then
-    return 2
+    -- open preview buffer only if there is more than a single line of change
+    return (#preview_buf_line > 1) and 2 or 1
   end
 end