mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 16:39:00 +02:00
plugins/ts-autotag: init + test
This commit is contained in:
parent
535fc7d5d3
commit
df25456aaa
3 changed files with 146 additions and 0 deletions
|
@ -43,6 +43,7 @@
|
||||||
./languages/treesitter/treesitter-playground.nix
|
./languages/treesitter/treesitter-playground.nix
|
||||||
./languages/treesitter/treesitter-rainbow.nix
|
./languages/treesitter/treesitter-rainbow.nix
|
||||||
./languages/treesitter/treesitter-refactor.nix
|
./languages/treesitter/treesitter-refactor.nix
|
||||||
|
./languages/treesitter/ts-autotag.nix
|
||||||
./languages/typst/typst-vim.nix
|
./languages/typst/typst-vim.nix
|
||||||
./languages/vimtex.nix
|
./languages/vimtex.nix
|
||||||
./languages/zig.nix
|
./languages/zig.nix
|
||||||
|
|
89
plugins/languages/treesitter/ts-autotag.nix
Normal file
89
plugins/languages/treesitter/ts-autotag.nix
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
helpers = import ../../helpers.nix {inherit lib;};
|
||||||
|
in {
|
||||||
|
options.plugins.ts-autotag =
|
||||||
|
helpers.extraOptionsOptions
|
||||||
|
// {
|
||||||
|
enable = mkEnableOption "nvim-ts-autotag";
|
||||||
|
|
||||||
|
package = helpers.mkPackageOption "ts-autotag" pkgs.vimPlugins.nvim-ts-autotag;
|
||||||
|
|
||||||
|
filetypes =
|
||||||
|
helpers.defaultNullOpts.mkNullable
|
||||||
|
(with types; listOf str)
|
||||||
|
''
|
||||||
|
[
|
||||||
|
"html"
|
||||||
|
"javascript"
|
||||||
|
"typescript"
|
||||||
|
"javascriptreact"
|
||||||
|
"typescriptreact"
|
||||||
|
"svelte"
|
||||||
|
"vue"
|
||||||
|
"tsx"
|
||||||
|
"jsx"
|
||||||
|
"rescript"
|
||||||
|
"xml"
|
||||||
|
"php"
|
||||||
|
"markdown"
|
||||||
|
"astro"
|
||||||
|
"glimmer"
|
||||||
|
"handlebars"
|
||||||
|
"hbs"
|
||||||
|
]
|
||||||
|
''
|
||||||
|
"Filetypes for which ts-autotag should be enabled.";
|
||||||
|
|
||||||
|
skipTags =
|
||||||
|
helpers.defaultNullOpts.mkNullable
|
||||||
|
(with types; listOf str)
|
||||||
|
''
|
||||||
|
[
|
||||||
|
"area"
|
||||||
|
"base"
|
||||||
|
"br"
|
||||||
|
"col"
|
||||||
|
"command"
|
||||||
|
"embed"
|
||||||
|
"hr"
|
||||||
|
"img"
|
||||||
|
"slot"
|
||||||
|
"input"
|
||||||
|
"keygen"
|
||||||
|
"link"
|
||||||
|
"meta"
|
||||||
|
"param"
|
||||||
|
"source"
|
||||||
|
"track"
|
||||||
|
"wbr"
|
||||||
|
"menuitem"
|
||||||
|
]
|
||||||
|
''
|
||||||
|
"Which tags to skip.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = let
|
||||||
|
cfg = config.plugins.ts-autotag;
|
||||||
|
in
|
||||||
|
mkIf cfg.enable {
|
||||||
|
warnings = mkIf (!config.plugins.treesitter.enable) [
|
||||||
|
"Nixvim: ts-autotag needs treesitter to function as intended"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraPlugins = [cfg.package];
|
||||||
|
|
||||||
|
plugins.treesitter.moduleConfig.autotag =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
inherit (cfg) filetypes;
|
||||||
|
skip_tags = cfg.skipTags;
|
||||||
|
}
|
||||||
|
// cfg.extraOptions;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
empty = {
|
||||||
|
plugins = {
|
||||||
|
treesitter.enable = true;
|
||||||
|
ts-autotag.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
default = {
|
||||||
|
plugins = {
|
||||||
|
treesitter.enable = true;
|
||||||
|
ts-autotag = {
|
||||||
|
enable = true;
|
||||||
|
filetypes = [
|
||||||
|
"html"
|
||||||
|
"javascript"
|
||||||
|
"typescript"
|
||||||
|
"javascriptreact"
|
||||||
|
"typescriptreact"
|
||||||
|
"svelte"
|
||||||
|
"vue"
|
||||||
|
"tsx"
|
||||||
|
"jsx"
|
||||||
|
"rescript"
|
||||||
|
"xml"
|
||||||
|
"php"
|
||||||
|
"markdown"
|
||||||
|
"astro"
|
||||||
|
"glimmer"
|
||||||
|
"handlebars"
|
||||||
|
"hbs"
|
||||||
|
];
|
||||||
|
skipTags = [
|
||||||
|
"area"
|
||||||
|
"base"
|
||||||
|
"br"
|
||||||
|
"col"
|
||||||
|
"command"
|
||||||
|
"embed"
|
||||||
|
"hr"
|
||||||
|
"img"
|
||||||
|
"slot"
|
||||||
|
"input"
|
||||||
|
"keygen"
|
||||||
|
"link"
|
||||||
|
"meta"
|
||||||
|
"param"
|
||||||
|
"source"
|
||||||
|
"track"
|
||||||
|
"wbr"
|
||||||
|
"menuitem"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue