751a2dd
Branches > main > 751a2dd > files / nixos / modules / i3.nix
More parinfer rewriting
Commit: 751a2dd59acc686443c45f0be38d43da32402bf2
Parent: ee3f3d0
1 changed file:
nvim/lua/parinfer/plugin.lua view file
@@ -20,6 +20,7 @@ return t[k] end}) +-- TODO I don't really get the point of this local function normalize_bool(val) if type(val) == "boolean" then return val@@ -53,32 +54,34 @@ end -- Does kidna flicker+-- Also bad still local function update_buffer(bufnr, old_contents, new_contents) api.nvim_command("silent! undojoin") state[bufnr]["locked"] = true do local new_lines = vim.split(new_contents, "\n") local hunks = diff(old_contents, new_contents, {result_type = "indices"})- for _, _33_ in ipairs(hunks) do- local start_a = _33_[1]- local count_a = _33_[2]- local start_b = _33_[3]- local count_b = _33_[4]+ for _, hunk in ipairs(hunks) do+ local start_a = hunk[1]+ local count_a = hunk[2]+ local start_b = hunk[3]+ local count_b = hunk[4] local lines do- local tbl_21_ = {}- local i_22_ = 0- for i = start_b, (start_b + count_b) do- local val_23_ = new_lines[i]- if (nil ~= val_23_) then- i_22_ = (i_22_ + 1)- tbl_21_[i_22_] = val_23_+ local t = {}+ local i = 0+ for num = start_b, start_b + count_b do+ local new_line = new_lines[num]+ if new_line ~= nil then+ i = i + 1+ t[i] = new_line else end end- lines = tbl_21_+ lines = t end- api.nvim_buf_set_lines(bufnr, (start_a - 1), (start_a + count_a), false, lines)++ api.nvim_buf_set_lines(bufnr, start_a - 1, start_a + count_a, false, lines) end end local function _35_()@@ -99,14 +102,20 @@ end local function is_undo_leaf()- local _let_37_ = vim.fn.undotree()- local seq_cur = _let_37_["seq_cur"]- local seq_last = _let_37_["seq_last"]+ local undotree = vim.fn.undotree()+ local seq_cur = undotree["seq_cur"]+ local seq_last = undotree["seq_last"] return (seq_cur == seq_last) end local function should_run(bufnr)- return (normalize_bool(get_option("parinfer_enabled")) and not state[bufnr].locked and not vim.o.paste and not vim.bo.readonly and vim.bo.modifiable and (vim.b[bufnr].changedtick ~= state[bufnr].changedtick) and is_undo_leaf())+ return (normalize_bool(get_option("parinfer_enabled"))+ and not state[bufnr].locked+ and not vim.o.paste+ and not vim.bo.readonly+ and vim.bo.modifiable+ and (vim.b[bufnr].changedtick ~= state[bufnr].changedtick)+ and is_undo_leaf()) end local elapsed_times = setmetatable({}, {__index = function(t, k)@@ -118,9 +127,9 @@ if should_run(bufnr) then local start = vim.loop.hrtime() local winnr = api.nvim_get_current_win()- local _let_39_ = api.nvim_win_get_cursor(winnr)- local lnum = _let_39_[1]- local col = _let_39_[2]+ local cursor = api.nvim_win_get_cursor(winnr)+ local lnum = cursor[1]+ local col = cursor[2] local contents = vim.api.nvim_buf_get_lines(bufnr, 0, -1, true) local text = table.concat(contents, "\n") local response = invoke_parinfer(bufnr, text, lnum, col)@@ -135,12 +144,9 @@ return api.nvim_win_set_cursor(winnr, {new_lnum, (new_col - 1)}) end )- else