diff --git a/users/jrpotter/neovim/config/utils/fmt.lua b/users/jrpotter/neovim/config/utils/fmt.lua new file mode 100644 index 0000000..962c98f --- /dev/null +++ b/users/jrpotter/neovim/config/utils/fmt.lua @@ -0,0 +1,13 @@ +local M = {} + +function M.set_fmt_map() + vim.keymap.set('v', 'g|', function() + local width = vim.bo.textwidth + if width == 0 and vim.w.colorcolumn then + width = tonumber(vim.w.colorcolumn:match("[^,]+")) + end + return string.format("!par w%d", width ~= 0 and width or 80) + end, { expr = true }) +end + +return M diff --git a/users/jrpotter/neovim/default.nix b/users/jrpotter/neovim/default.nix index 290a2b3..64b87e8 100644 --- a/users/jrpotter/neovim/default.nix +++ b/users/jrpotter/neovim/default.nix @@ -119,6 +119,7 @@ in config = { home.packages = with pkgs; [ + par ripgrep ]; @@ -156,6 +157,7 @@ in # Lua loader to search for our /nix/store/.../?.lua files. (lib.mkBefore '' package.path = '${config}/?.lua;' .. package.path + require('utils.fmt').set_fmt_map() '') # Extra Lua configuration to be appended to `init.lua`. (lib.mkAfter ''