2024-03-12 00:46:29 +00:00
|
|
|
{lib, ...}: let
|
|
|
|
inherit (lib.options) mkEnableOption mkOption;
|
2024-10-09 17:50:34 +00:00
|
|
|
inherit (lib.types) enum nullOr;
|
|
|
|
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
|
2023-04-17 22:48:44 +00:00
|
|
|
in {
|
2024-10-09 17:50:34 +00:00
|
|
|
options.vim.lsp.lspkind = {
|
|
|
|
enable = mkEnableOption "vscode-like pictograms for lsp [lspkind]";
|
|
|
|
setupOpts = mkPluginSetupOption "lspkind.nvim" {
|
2023-04-17 22:48:44 +00:00
|
|
|
mode = mkOption {
|
|
|
|
description = "Defines how annotations are shown";
|
2024-03-12 00:46:29 +00:00
|
|
|
type = enum ["text" "text_symbol" "symbol_text" "symbol"];
|
2023-04-17 22:48:44 +00:00
|
|
|
default = "symbol_text";
|
|
|
|
};
|
2024-10-09 17:50:34 +00:00
|
|
|
|
|
|
|
before = mkOption {
|
|
|
|
description = "The function that will be called before lspkind's modifications are applied";
|
|
|
|
type = nullOr luaInline;
|
|
|
|
default = null;
|
|
|
|
};
|
2023-04-17 22:48:44 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|