aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--nvim/.config/nvim/lua/plugins/conform.lua9
-rw-r--r--nvim/.config/nvim/lua/tobyvin/keymaps.lua21
2 files changed, 12 insertions, 18 deletions
diff --git a/nvim/.config/nvim/lua/plugins/conform.lua b/nvim/.config/nvim/lua/plugins/conform.lua
index 494c30d..8046a30 100644
--- a/nvim/.config/nvim/lua/plugins/conform.lua
+++ b/nvim/.config/nvim/lua/plugins/conform.lua
@@ -81,10 +81,6 @@ local M = {
function M:init()
U.formatexpr = function(...)
- if not pcall(require, "fidget.progress") then
- return require("conform").formatexpr(...)
- end
-
local bufnr = vim.api.nvim_get_current_buf()
local handle = require("fidget.progress").handle.create({
title = "Formatting",
@@ -92,7 +88,7 @@ function M:init()
lsp_client = { name = "conform" },
})
- local err = require("conform").formatexpr()
+ local err = require("conform").formatexpr(...)
if err == 1 then
handle.message = "Failed"
else
@@ -100,6 +96,9 @@ function M:init()
end
handle:finish()
+
+ -- HACK: fixes text flashing/rerendering on buffers without a formatter
+ vim.cmd.sleep("1m")
return err
end
diff --git a/nvim/.config/nvim/lua/tobyvin/keymaps.lua b/nvim/.config/nvim/lua/tobyvin/keymaps.lua
index 84a71b2..caa7b49 100644
--- a/nvim/.config/nvim/lua/tobyvin/keymaps.lua
+++ b/nvim/.config/nvim/lua/tobyvin/keymaps.lua
@@ -23,21 +23,16 @@ vim.keymap.set("n", "grr", vim.lsp.buf.references, { desc = "vim.lsp.buf.referen
vim.keymap.set("i", "<C-S>", vim.lsp.buf.signature_help, { desc = "vim.lsp.buf.signature_help()" })
vim.keymap.set("o", "o", function()
- local v_left = vim.api.nvim_buf_get_mark(0, "<")
- local v_right = vim.api.nvim_buf_get_mark(0, ">")
+ local vl = vim.api.nvim_buf_get_mark(0, "<")
+ local vr = vim.api.nvim_buf_get_mark(0, ">")
local cursor = vim.fn.winsaveview()
vim.cmd.normal({ "ggVG", bang = true, mods = { keepjumps = true } })
- if cursor and not string.find(vim.v.operator, "[cd]") then
- vim.defer_fn(function()
- vim.fn.winrestview(cursor)
- if pcall(vim.api.nvim_buf_set_mark, 0, "<", v_left[1], v_left[2], {}) then
- pcall(vim.api.nvim_buf_set_mark, 0, "<", -1, -1, {})
- end
- if pcall(vim.api.nvim_buf_set_mark, 0, ">", v_right[1], v_right[2], {}) then
- pcall(vim.api.nvim_buf_set_mark, 0, ">", -1, -1, {})
- end
- end, 0)
- end
+ vim.schedule(function()
+ vim.fn.winrestview(cursor)
+ local _, max_lnum = unpack(vim.fn.getpos("$"))
+ vim.api.nvim_buf_set_mark(0, "<", math.min(vl[1], max_lnum), vl[2], {})
+ vim.api.nvim_buf_set_mark(0, ">", math.min(vr[1], max_lnum), vr[2], {})
+ end)
end, { desc = "buffer text object" })
vim.keymap.set("i", "<cr>", function()