{lib, ...}: let inherit (lib.options) mkEnableOption mkOption; inherit (lib.types) enum nullOr; inherit (lib.nvim.types) mkPluginSetupOption luaInline; in { options.vim.lsp.lspkind = { enable = mkEnableOption "vscode-like pictograms for lsp [lspkind]"; setupOpts = mkPluginSetupOption "lspkind.nvim" { mode = mkOption { description = "Defines how annotations are shown"; type = enum ["text" "text_symbol" "symbol_text" "symbol"]; default = "symbol_text"; }; before = mkOption { description = "The function that will be called before lspkind's modifications are applied"; type = nullOr luaInline; default = null; }; }; }; }