plugins/treesitter: move to by-name

This commit is contained in:
Matt Sturgeon 2024-09-04 17:53:24 +01:00
parent 8815180c62
commit 4491ce4db2
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
18 changed files with 0 additions and 8 deletions

View file

@ -0,0 +1,64 @@
{
lib,
helpers,
config,
pkgs,
...
}:
with lib;
{
options.plugins.ts-context-commentstring = helpers.neovim-plugin.extraOptionsOptions // {
enable = mkEnableOption "nvim-ts-context-commentstring";
package = lib.mkPackageOption pkgs "ts-context-commentstring" {
default = [
"vimPlugins"
"nvim-ts-context-commentstring"
];
};
skipTsContextCommentStringModule = mkOption {
type = types.bool;
default = true;
description = ''
Whether to skip backwards compatibility routines and speed up loading.
'';
example = false;
};
disableAutoInitialization = helpers.defaultNullOpts.mkBool false ''
Whether to disable auto-initialization.
'';
languages = helpers.mkNullOrOption (with types; attrsOf (either str (attrsOf str))) ''
Allows you to add support for more languages.
See `:h ts-context-commentstring-commentstring-configuration` for more information.
'';
};
config =
let
cfg = config.plugins.ts-context-commentstring;
in
mkIf cfg.enable {
warnings = mkIf (!config.plugins.treesitter.enable) [
"Nixvim: ts-context-commentstring needs treesitter to function as intended"
];
extraPlugins = [ cfg.package ];
globals = with cfg; {
skip_ts_context_commentstring_module = skipTsContextCommentStringModule;
loaded_ts_context_commentstring = disableAutoInitialization;
};
extraConfigLua =
let
setupOptions = with cfg; { inherit languages; } // cfg.extraOptions;
in
''
require('ts_context_commentstring').setup(${helpers.toLuaObject setupOptions})
'';
};
}