From 43f2ee52b880357a2d11b7e20c797797b3addd05 Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Wed, 8 Jan 2025 00:02:07 -0800 Subject: [PATCH] config/plugins/lsp: Stop after first formatter (#69) NeoVim was stuck in an infinite loop saving an HTML file, by stopping after the first successful formatter between `prettierd` and `prettier` the inifinite loop stopped. (cherry picked from commit https://github.com/kalbasit/nixvim/commit/7e6eb2b64536240b1da5cbbaab220269caffe2d5) --- config/plugins/lsp/conform.nix | 66 ++++++++++++++++------------------ 1 file changed, 30 insertions(+), 36 deletions(-) diff --git a/config/plugins/lsp/conform.nix b/config/plugins/lsp/conform.nix index 305c121..1e5ecba 100644 --- a/config/plugins/lsp/conform.nix +++ b/config/plugins/lsp/conform.nix @@ -78,48 +78,42 @@ ''; notify_on_error = true; formatters_by_ft = { - html = [ - [ - "prettierd" - "prettier" - ] - ]; - css = [ - [ - "prettierd" - "prettier" - ] - ]; - javascript = [ - [ - "prettierd" - "prettier" - ] - ]; - typescript = [ - [ - "prettierd" - "prettier" - ] - ]; + html = { + __unkeyed-1 = "prettierd"; + __unkeyed-2 = "prettier"; + stop_after_first = true; + }; + css = { + __unkeyed-1 = "prettierd"; + __unkeyed-2 = "prettier"; + stop_after_first = true; + }; + javascript = { + __unkeyed-1 = "prettierd"; + __unkeyed-2 = "prettier"; + stop_after_first = true; + }; + typescript = { + __unkeyed-1 = "prettierd"; + __unkeyed-2 = "prettier"; + stop_after_first = true; + }; python = [ "black" "isort" ]; lua = [ "stylua" ]; nix = [ "nixfmt-rfc-style" ]; - markdown = [ - [ - "prettierd" - "prettier" - ] - ]; - yaml = [ - [ - "prettierd" - "prettier" - ] - ]; + markdown = { + __unkeyed-1 = "prettierd"; + __unkeyed-2 = "prettier"; + stop_after_first = true; + }; + yaml = { + __unkeyed-1 = "prettierd"; + __unkeyed-2 = "prettier"; + stop_after_first = true; + }; terraform = [ "terraform_fmt" ]; bicep = [ "bicep" ]; bash = [