From 86d6ce5029c99362c96ccead428b366f81d5b8f0 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 22 Jan 2024 11:25:52 +0100 Subject: [PATCH] plugins/friendly-snippets: init --- plugins/default.nix | 1 + plugins/snippets/friendly-snippets.nix | 25 +++++++++++++++++++ .../plugins/snippets/friendly-snippets.nix | 8 ++++++ 3 files changed, 34 insertions(+) create mode 100644 plugins/snippets/friendly-snippets.nix create mode 100644 tests/test-sources/plugins/snippets/friendly-snippets.nix diff --git a/plugins/default.nix b/plugins/default.nix index 8af26469..4fc70c52 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -88,6 +88,7 @@ ./pluginmanagers/packer.nix + ./snippets/friendly-snippets.nix ./snippets/luasnip ./statuslines/airline.nix diff --git a/plugins/snippets/friendly-snippets.nix b/plugins/snippets/friendly-snippets.nix new file mode 100644 index 00000000..bb70a45f --- /dev/null +++ b/plugins/snippets/friendly-snippets.nix @@ -0,0 +1,25 @@ +{ + lib, + helpers, + config, + pkgs, + ... +}: +with lib; let + cfg = config.plugins.friendly-snippets; +in { + meta.maintainers = [maintainers.GaetanLepage]; + + options.plugins.friendly-snippets = { + enable = mkEnableOption "friendly-snippets"; + + package = helpers.mkPackageOption "friendly-snippets" pkgs.vimPlugins.friendly-snippets; + }; + + config = mkIf cfg.enable { + extraPlugins = [cfg.package]; + + # Simply add an element to the `fromVscode` list to trigger the import of friendly-snippets + plugins.luasnip.fromVscode = [{}]; + }; +} diff --git a/tests/test-sources/plugins/snippets/friendly-snippets.nix b/tests/test-sources/plugins/snippets/friendly-snippets.nix new file mode 100644 index 00000000..88362c2c --- /dev/null +++ b/tests/test-sources/plugins/snippets/friendly-snippets.nix @@ -0,0 +1,8 @@ +{ + empty = { + plugins = { + luasnip.enable = true; + friendly-snippets.enable = true; + }; + }; +}