aboutsummaryrefslogtreecommitdiff
path: root/lua/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'lua/plugins')
-rw-r--r--lua/plugins/conform.lua17
-rw-r--r--lua/plugins/init.lua1
2 files changed, 18 insertions, 0 deletions
diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua
new file mode 100644
index 0000000..be4fe0d
--- /dev/null
+++ b/lua/plugins/conform.lua
@@ -0,0 +1,17 @@
+vim.pack.add({
+ {src = "https://github.com/stevearc/conform.nvim"},
+})
+
+vim.api.nvim_create_user_command("Format", function(args)
+ local range = nil
+ if args.count ~= -1 then
+ local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
+ range = {
+ start = { args.line1, 0 },
+ ["end"] = { args.line2, end_line:len() },
+ }
+ end
+ require("conform").format({ async = true, lsp_format = "fallback", range = range })
+end, { range = true })
+
+vim.keymap.set("n", "<Leader>lf", ":Format<CR>", { desc = "Format buffer with available lsp" })
diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua
index 22ace95..c9dd8b6 100644
--- a/lua/plugins/init.lua
+++ b/lua/plugins/init.lua
@@ -3,3 +3,4 @@ require("plugins.treesitter")
require("plugins.lsp")
require("plugins.mini")
require("plugins.markdown")
+require("plugins.conform")