From 5d68a2d6a77d75ba804f0208f0beca4b8761a70e Mon Sep 17 00:00:00 2001 From: "iliya.saroukha" <iliya.saroukhanian@etu.hesge.ch> Date: Fri, 21 Feb 2025 13:55:23 +0100 Subject: [PATCH] feat: new autocmd for autoformatting (prev issues with typst) --- lua/config/autocmds.lua | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua index 23ae023..59e1ac1 100644 --- a/lua/config/autocmds.lua +++ b/lua/config/autocmds.lua @@ -1,5 +1,3 @@ -vim.cmd [[autocmd BufWritePre * lua vim.lsp.buf.format()]] - -- [[ Highlight on yank ]] -- See `:help vim.highlight.on_yank()` local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) @@ -16,6 +14,23 @@ vim.api.nvim_create_autocmd('TextYankPost', { pattern = '*', }) +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if not client then return end + + --@diagnostic disable-next-line: missing-parameter + if client.supports_method('textDocument/formatting') then + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = args.buf, + callback = function() + vim.lsp.buf.format({ bufnr = args.buf, id = client.id }) + end + }) + end + end +}) + local function set_filetype(pattern, filetype) vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = pattern, -- GitLab