From 3d350bcfe4e4235f5c7a50b7036eee0a56c5b728 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 17 Feb 2024 14:13:52 +0100 Subject: [PATCH] feat(autopairs): custom setup opts --- modules/autopairs/nvim-autopairs/config.nix | 12 +++--------- modules/autopairs/nvim-autopairs/nvim-autopairs.nix | 8 ++++++-- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/modules/autopairs/nvim-autopairs/config.nix b/modules/autopairs/nvim-autopairs/config.nix index 1502db84..087d0e7b 100644 --- a/modules/autopairs/nvim-autopairs/config.nix +++ b/modules/autopairs/nvim-autopairs/config.nix @@ -3,25 +3,19 @@ lib, ... }: let + inherit (lib) nvim; inherit (lib.modules) mkIf; - inherit (lib.nvim.dag) entryAnywhere; inherit (lib.strings) optionalString; - inherit (lib.trivial) boolToString; cfg = config.vim.autopairs; in { config = mkIf cfg.enable { vim.startPlugins = ["nvim-autopairs"]; - vim.luaConfigRC.autopairs = entryAnywhere '' + vim.luaConfigRC.autopairs = nvim.dag.entryAnywhere '' require("nvim-autopairs").setup{} ${optionalString (config.vim.autocomplete.type == "nvim-compe") '' - -- nvim-compe integration - require('nvim-autopairs.completion.compe').setup({ - map_cr = ${boolToString cfg.nvim-compe.map_cr}, - map_complete = ${boolToString cfg.nvim-compe.map_complete}, - auto_select = ${boolToString cfg.nvim-compe.auto_select}, - }) + require('nvim-autopairs.completion.compe').setup(${nvim.lua.expToLua cfg.setupOpts}) ''} ''; }; diff --git a/modules/autopairs/nvim-autopairs/nvim-autopairs.nix b/modules/autopairs/nvim-autopairs/nvim-autopairs.nix index 940a60c7..e4e6d998 100644 --- a/modules/autopairs/nvim-autopairs/nvim-autopairs.nix +++ b/modules/autopairs/nvim-autopairs/nvim-autopairs.nix @@ -1,5 +1,5 @@ {lib, ...}: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption mkOption mkRenamedOptionModule; inherit (lib.types) enum bool; in { options.vim = { @@ -12,7 +12,11 @@ in { description = "Set the autopairs type. Options: nvim-autopairs [nvim-autopairs]"; }; - nvim-compe = { + imports = [ + (mkRenamedOptionModule ["vim" "autopairs" "nvim-compe"] ["vim" "autopairs" "nvim-compe" "setupOpts"]) + ]; + + nvim-compe.setupOpts = lib.nvim.types.mkPluginSetupOption { map_cr = mkOption { type = bool; default = true;