From 7cf9e5c0a6b5411dc1059d0cb7006eb9ea59899a Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Fri, 28 Mar 2025 11:09:20 +0100 Subject: [PATCH] language/r: migrate to conform/nvim-lint --- modules/plugins/languages/r.nix | 40 ++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/modules/plugins/languages/r.nix b/modules/plugins/languages/r.nix index 8a685a01..fcadcc37 100644 --- a/modules/plugins/languages/r.nix +++ b/modules/plugins/languages/r.nix @@ -24,28 +24,29 @@ package = pkgs.rWrapper.override { packages = [pkgs.rPackages.styler]; }; - nullConfig = '' - table.insert( - ls_sources, - null_ls.builtins.formatting.styler.with({ - command = "${cfg.format.package}/bin/R", - }) - ) - ''; + config = { + command = "${cfg.format.package}/bin/R"; + }; }; format_r = { package = pkgs.rWrapper.override { packages = [pkgs.rPackages.formatR]; }; - nullConfig = '' - table.insert( - ls_sources, - null_ls.builtins.formatting.format_r.with({ - command = "${cfg.format.package}/bin/R", - }) - ) - ''; + config = { + command = "${cfg.format.package}/bin/R"; + stdin = true; + args = [ + "--slave" + "--no-restore" + "--no-save" + "-s" + "-e" + ''formatR::tidy_source(source="stdin")'' + ]; + # TODO: range_args seem to be possible + # https://github.com/nvimtools/none-ls.nvim/blob/main/lua/null-ls/builtins/formatting/format_r.lua + }; }; }; @@ -118,8 +119,11 @@ in { }) (mkIf cfg.format.enable { - vim.lsp.null-ls.enable = true; - vim.lsp.null-ls.sources.r-format = formats.${cfg.format.type}.nullConfig; + vim.formatter.conform-nvim = { + enable = true; + setupOpts.formatters_by_ft.r = [cfg.format.type]; + setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config; + }; }) (mkIf cfg.lsp.enable {