summary refs log tree commit diff
path: root/.vim/lua/internal/align.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2023-01-19 18:33:43 +0100
committerRobert Günzler <r@gnzler.io>2023-01-19 18:33:43 +0100
commitfc67eecc8a40bf28d3d2b190702e58c580bfba9f (patch)
tree0b8d0455046ae484e036d2f9dfa69306bbea811d /.vim/lua/internal/align.lua
parentc03b74ce367d6e9e2988dbb4a18985bc372dd8a6 (diff)
vim: format config with stylua
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.vim/lua/internal/align.lua')
-rw-r--r--.vim/lua/internal/align.lua75
1 files changed, 48 insertions, 27 deletions
diff --git a/.vim/lua/internal/align.lua b/.vim/lua/internal/align.lua
index 5dcf7c0..1ada01d 100644
--- a/.vim/lua/internal/align.lua
+++ b/.vim/lua/internal/align.lua
@@ -14,11 +14,15 @@ function M.align_lines(pat, line1, line2, preview_ns, preview_bufnr)
   local max = -1
   for _, line in pairs(lines) do
     local s = re:match_str(line)
-    if s and max < s then max = s end
+    if s and max < s then
+      max = s
+    end
   end
 
   -- exit if nothing was found
-  if max == -1 then return error('nothing found') end
+  if max == -1 then
+    return error('nothing found')
+  end
 
   for i, line in pairs(lines) do
     local s = re:match_str(line)
@@ -27,33 +31,45 @@ function M.align_lines(pat, line1, line2, preview_ns, preview_bufnr)
       local changeset = {
         string.sub(line, 1, s),
         string.rep(' ', rep),
-        string.sub(line, s+1),
+        string.sub(line, s + 1),
       }
       local newline = table.concat(changeset)
 
       -- append to changse if not inside the preview callback
       if not preview_ns then
-        newlines[#newlines+1] = newline
+        newlines[#newlines + 1] = newline
       end
 
       if preview_ns ~= nil then
         -- set extmarks inside the live buffer
-        vim.api.nvim_buf_set_extmark(bufnr, preview_ns, line1+i - 2, 0,
-          {
-            hl_mode = 'combine',
-            virt_text_pos = 'overlay',
-            virt_text = {
-              {changeset[1]},
-              {changeset[2], 'Substitute'},
-              {changeset[3]},
-            },
-          })
+        vim.api.nvim_buf_set_extmark(bufnr, preview_ns, line1 + i - 2, 0, {
+          hl_mode = 'combine',
+          virt_text_pos = 'overlay',
+          virt_text = {
+            { changeset[1] },
+            { changeset[2], 'Substitute' },
+            { changeset[3] },
+          },
+        })
 
         -- 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, false, { prefix .. newline })
-          vim.api.nvim_buf_add_highlight(preview_bufnr, preview_ns, 'Substitute', preview_buf_line, #prefix + s, #prefix + s + #changeset[2])
+          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
       end
@@ -63,7 +79,9 @@ function M.align_lines(pat, line1, line2, preview_ns, preview_bufnr)
   -- only change buffer when not previewing
   if not preview_ns then
     -- exit if nothing was changed
-    if #newlines == 0 then return error('nothing changed') end
+    if #newlines == 0 then
+      return error('nothing changed')
+    end
     vim.api.nvim_buf_set_lines(bufnr, line1 - 1, line2, 0, newlines)
     return 0
   end
@@ -75,10 +93,10 @@ function M.align_lines(pat, line1, line2, preview_ns, preview_bufnr)
 end
 
 function M.align(pat)
-    local top, bot = vim.fn.getpos("'<"), vim.fn.getpos("'>")
-    M.align_lines(pat, top[2]-1, bot[2])
-    vim.fn.setpos("'<", top)
-    vim.fn.setpos("'>", bot)
+  local top, bot = vim.fn.getpos("'<"), vim.fn.getpos("'>")
+  M.align_lines(pat, top[2] - 1, bot[2])
+  vim.fn.setpos("'<", top)
+  vim.fn.setpos("'>", bot)
 end
 
 local function aligncmd(opts, preview_ns, preview_bufnr)
@@ -86,18 +104,21 @@ local function aligncmd(opts, preview_ns, preview_bufnr)
 end
 
 local default_opts = {
-  bindings = true
+  bindings = true,
 }
 
 function M.setup(opts)
   opts = vim.tbl_extend('keep', opts or {}, default_opts)
 
-  vim.api.nvim_create_user_command('SimpleAlign', aligncmd,
-    {nargs = 1, range = '%', preview = aligncmd})
+  vim.api.nvim_create_user_command(
+    'SimpleAlign',
+    aligncmd,
+    { nargs = 1, range = '%', preview = aligncmd }
+  )
 
-  if opts.bindings then
-    vim.keymap.set('v', '<enter>', ':SimpleAlign ')
-  end
+  -- if opts.bindings then
+  --   vim.keymap.set('v', '<enter>', ':SimpleAlign ')
+  -- end
 end
 
 return M