Skip to content

Commit 4f01fd9

Browse files
committed
plugins/ts-comments-nvim: init
1 parent add9aca commit 4f01fd9

File tree

2 files changed

+170
-0
lines changed

2 files changed

+170
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{
2+
lib,
3+
...
4+
}:
5+
lib.nixvim.neovim-plugin.mkNeovimPlugin {
6+
name = "ts-comments";
7+
originalName = "ts-comments.nvim";
8+
package = "ts-comments-nvim";
9+
10+
maintainers = [ lib.maintainers.khaneliman ];
11+
12+
settingsOptions = {
13+
lang =
14+
lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.anything
15+
{
16+
astro = "";
17+
axaml = "";
18+
blueprint = "// %s";
19+
c = "// %s";
20+
c_sharp = "// %s";
21+
clojure = [
22+
";; %s"
23+
"; %s"
24+
];
25+
cpp = "// %s";
26+
cs_project = "";
27+
cue = "// %s";
28+
fsharp = "// %s";
29+
fsharp_project = "";
30+
gleam = "// %s";
31+
glimmer = "{{! %s }}";
32+
graphql = "# %s";
33+
handlebars = "{{! %s }}";
34+
hcl = "# %s";
35+
html = "";
36+
hyprlang = "# %s";
37+
ini = "; %s";
38+
ipynb = "# %s";
39+
javascript = {
40+
__unkeyed-1 = "// %s";
41+
__unkeyed-2 = "/* %s */";
42+
call_expression = "// %s";
43+
jsx_attribute = "// %s";
44+
jsx_element = "{/* %s */}";
45+
jsx_fragment = "{/* %s */}";
46+
spread_element = "// %s";
47+
statement_block = "// %s";
48+
};
49+
kdl = "// %s";
50+
php = "// %s";
51+
rego = "# %s";
52+
rescript = "// %s";
53+
rust = [
54+
"// %s"
55+
"/* %s */"
56+
];
57+
sql = "-- %s";
58+
styled = "/* %s */";
59+
svelte = "";
60+
templ = {
61+
__default = "// %s";
62+
component_block = "";
63+
};
64+
terraform = "# %s";
65+
tsx = {
66+
__default = "// %s";
67+
"/* %s */" = null;
68+
call_expression = "// %s";
69+
jsx_attribute = "// %s";
70+
jsx_element = "{/* %s */}";
71+
jsx_fragment = "{/* %s */}";
72+
spread_element = "// %s";
73+
statement_block = "// %s";
74+
};
75+
twig = "{# %s #}";
76+
typescript = [
77+
"// %s"
78+
"/* %s */"
79+
];
80+
vue = "";
81+
xaml = "";
82+
}
83+
''
84+
Configure comment string for each language.
85+
86+
`ts-comments.nvim` uses the default Neovim `commentstring` as a fallback, so there's no need to configure every language.
87+
'';
88+
};
89+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
{
2+
empty = {
3+
plugins.ts-comments.enable = true;
4+
};
5+
6+
default = {
7+
plugins.ts-comments = {
8+
enable = true;
9+
settings = {
10+
lang = {
11+
astro = "";
12+
axaml = "";
13+
blueprint = "// %s";
14+
c = "// %s";
15+
c_sharp = "// %s";
16+
clojure = [
17+
";; %s"
18+
"; %s"
19+
];
20+
cpp = "// %s";
21+
cs_project = "";
22+
cue = "// %s";
23+
fsharp = "// %s";
24+
fsharp_project = "";
25+
gleam = "// %s";
26+
glimmer = "{{! %s }}";
27+
graphql = "# %s";
28+
handlebars = "{{! %s }}";
29+
hcl = "# %s";
30+
html = "";
31+
hyprlang = "# %s";
32+
ini = "; %s";
33+
ipynb = "# %s";
34+
javascript = {
35+
__default = "// %s";
36+
"/* %s */" = null;
37+
call_expression = "// %s";
38+
jsx_attribute = "// %s";
39+
jsx_element = "{/* %s */}";
40+
jsx_fragment = "{/* %s */}";
41+
spread_element = "// %s";
42+
statement_block = "// %s";
43+
};
44+
kdl = "// %s";
45+
php = "// %s";
46+
rego = "# %s";
47+
rescript = "// %s";
48+
rust = [
49+
"// %s"
50+
"/* %s */"
51+
];
52+
sql = "-- %s";
53+
styled = "/* %s */";
54+
svelte = "";
55+
templ = {
56+
__default = "// %s";
57+
component_block = "";
58+
};
59+
terraform = "# %s";
60+
tsx = {
61+
__unkeyed-1 = "// %s";
62+
__unkeyed-2 = "/* %s */";
63+
call_expression = "// %s";
64+
jsx_attribute = "// %s";
65+
jsx_element = "{/* %s */}";
66+
jsx_fragment = "{/* %s */}";
67+
spread_element = "// %s";
68+
statement_block = "// %s";
69+
};
70+
twig = "{# %s #}";
71+
typescript = [
72+
"// %s"
73+
"/* %s */"
74+
];
75+
vue = "";
76+
xaml = "";
77+
};
78+
};
79+
};
80+
};
81+
}

0 commit comments

Comments
 (0)