nvf/modules/plugins/utility/new-file-template/new-file-template.nix

52 lines
1.5 KiB
Nix
Raw Normal View History

2024-08-02 11:34:16 +00:00
{
lib,
...
}: let
inherit (lib.options) mkOption;
inherit (lib.types) attrsOf bool listOf str;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.utility.new-file-template = {
enable = mkOption {
type = bool;
default = false;
description = "new-file-template.nvim: Automatically insert a template on new files in neovim. To add custom templates add a directory containing `lua/templates/*.lua` to `vim.additionalRuntimePaths`.";
2024-08-02 11:34:16 +00:00
};
setupOpts = mkPluginSetupOption "nvim-file-template.nvim" {
disableInsert = mkOption {
type = bool;
default = false;
description = "Enter insert mode after inserting the template";
};
disableAutocmd = mkOption {
type = bool;
default = false;
description = "Disable the autocmd that creates the template";
};
disableFiletype = mkOption {
type = listOf str;
default = [];
description = "Disable templates for specific filetypes (only disables default templates, user templates will still work)";
};
disableSpecific = mkOption {
type = attrsOf (listOf str);
default = {};
description = "Disable specific regexp for the default templates. Example: { ruby = [ \".*\" ]; }";
example = {
ruby = [".*"];
};
2024-08-02 11:34:16 +00:00
};
suffixAsFiletype = mkOption {
type = bool;
default = false;
description = "Use suffix of filename rather than vim.bo.filetype as filetype";
};
};
};
}