plugins/ts-comments-nvim: init

This commit is contained in:
Austin Horstman 2024-09-14 21:53:27 -05:00
parent add9aca76e
commit 4f01fd981a
No known key found for this signature in database
2 changed files with 170 additions and 0 deletions

View file

@ -0,0 +1,89 @@
{
lib,
...
}:
lib.nixvim.neovim-plugin.mkNeovimPlugin {
name = "ts-comments";
originalName = "ts-comments.nvim";
package = "ts-comments-nvim";
maintainers = [ lib.maintainers.khaneliman ];
settingsOptions = {
lang =
lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.anything
{
astro = "";
axaml = "";
blueprint = "// %s";
c = "// %s";
c_sharp = "// %s";
clojure = [
";; %s"
"; %s"
];
cpp = "// %s";
cs_project = "";
cue = "// %s";
fsharp = "// %s";
fsharp_project = "";
gleam = "// %s";
glimmer = "{{! %s }}";
graphql = "# %s";
handlebars = "{{! %s }}";
hcl = "# %s";
html = "";
hyprlang = "# %s";
ini = "; %s";
ipynb = "# %s";
javascript = {
__unkeyed-1 = "// %s";
__unkeyed-2 = "/* %s */";
call_expression = "// %s";
jsx_attribute = "// %s";
jsx_element = "{/* %s */}";
jsx_fragment = "{/* %s */}";
spread_element = "// %s";
statement_block = "// %s";
};
kdl = "// %s";
php = "// %s";
rego = "# %s";
rescript = "// %s";
rust = [
"// %s"
"/* %s */"
];
sql = "-- %s";
styled = "/* %s */";
svelte = "";
templ = {
__default = "// %s";
component_block = "";
};
terraform = "# %s";
tsx = {
__default = "// %s";
"/* %s */" = null;
call_expression = "// %s";
jsx_attribute = "// %s";
jsx_element = "{/* %s */}";
jsx_fragment = "{/* %s */}";
spread_element = "// %s";
statement_block = "// %s";
};
twig = "{# %s #}";
typescript = [
"// %s"
"/* %s */"
];
vue = "";
xaml = "";
}
''
Configure comment string for each language.
`ts-comments.nvim` uses the default Neovim `commentstring` as a fallback, so there's no need to configure every language.
'';
};
}

View file

@ -0,0 +1,81 @@
{
empty = {
plugins.ts-comments.enable = true;
};
default = {
plugins.ts-comments = {
enable = true;
settings = {
lang = {
astro = "";
axaml = "";
blueprint = "// %s";
c = "// %s";
c_sharp = "// %s";
clojure = [
";; %s"
"; %s"
];
cpp = "// %s";
cs_project = "";
cue = "// %s";
fsharp = "// %s";
fsharp_project = "";
gleam = "// %s";
glimmer = "{{! %s }}";
graphql = "# %s";
handlebars = "{{! %s }}";
hcl = "# %s";
html = "";
hyprlang = "# %s";
ini = "; %s";
ipynb = "# %s";
javascript = {
__default = "// %s";
"/* %s */" = null;
call_expression = "// %s";
jsx_attribute = "// %s";
jsx_element = "{/* %s */}";
jsx_fragment = "{/* %s */}";
spread_element = "// %s";
statement_block = "// %s";
};
kdl = "// %s";
php = "// %s";
rego = "# %s";
rescript = "// %s";
rust = [
"// %s"
"/* %s */"
];
sql = "-- %s";
styled = "/* %s */";
svelte = "";
templ = {
__default = "// %s";
component_block = "";
};
terraform = "# %s";
tsx = {
__unkeyed-1 = "// %s";
__unkeyed-2 = "/* %s */";
call_expression = "// %s";
jsx_attribute = "// %s";
jsx_element = "{/* %s */}";
jsx_fragment = "{/* %s */}";
spread_element = "// %s";
statement_block = "// %s";
};
twig = "{# %s #}";
typescript = [
"// %s"
"/* %s */"
];
vue = "";
xaml = "";
};
};
};
};
}