{lib, ...}: let inherit (lib.options) mkEnableOption mkOption literalExpression literalMD; inherit (lib.types) listOf lines; inherit (lib.nvim.types) pluginType; in { options.vim.snippets.luasnip = { enable = mkEnableOption "luasnip"; providers = mkOption { type = listOf pluginType; default = ["friendly-snippets"]; description = '' The snippet provider packages. ::: {.note} These are simply appended to {option} `vim.startPlugins`. ::: ''; example = literalExpression "[\"vimPlugins.vim-snippets\"]"; }; loaders = mkOption { type = lines; default = "require('luasnip.loaders.from_vscode').lazy_load()"; defaultText = literalMD '' ```lua require('luasnip.loaders.from_vscode').lazy_load() ``` ''; description = "Lua code used to load snippet providers."; example = literalMD '' ```lua require("luasnip.loaders.from_snipmate").lazy_load() ``` ''; }; }; }