mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-11-05 05:02:20 +00:00
Merge branch 'main' into feature/listof-str-border
This commit is contained in:
commit
95705bc43b
11 changed files with 141 additions and 68 deletions
|
|
@ -4,6 +4,7 @@
|
|||
./ccc
|
||||
./gestures
|
||||
./motion
|
||||
./new-file-template
|
||||
./telescope
|
||||
./icon-picker
|
||||
./images
|
||||
|
|
|
|||
23
modules/plugins/utility/new-file-template/config.nix
Normal file
23
modules/plugins/utility/new-file-template/config.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.utility.new-file-template;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
startPlugins = [
|
||||
"new-file-template-nvim"
|
||||
];
|
||||
|
||||
pluginRC.new-file-template = entryAnywhere ''
|
||||
require('new-file-template').setup(${toLuaObject cfg.setupOpts})
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
6
modules/plugins/utility/new-file-template/default.nix
Normal file
6
modules/plugins/utility/new-file-template/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./config.nix
|
||||
./new-file-template.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
{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.
|
||||
::: {.note}
|
||||
For custom templates add a directory containing `lua/templates/*.lua`
|
||||
to `vim.additionalRuntimePaths`.
|
||||
:::
|
||||
[custom-template-docs]: https://github.com/otavioschwanck/new-file-template.nvim?tab=readme-ov-file#creating-new-templates
|
||||
More documentation on the templates available at [custom-template-docs]
|
||||
'';
|
||||
};
|
||||
|
||||
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 default templates for specific filetypes";
|
||||
};
|
||||
|
||||
disableSpecific = mkOption {
|
||||
type = attrsOf (listOf str);
|
||||
default = {};
|
||||
description = "Disable specific regexp for the default templates.";
|
||||
example = "{ ruby = [\".*\"]; }";
|
||||
};
|
||||
|
||||
suffixAsFiletype = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Use suffix of filename rather than `vim.bo.filetype` as filetype";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue