Skip to content

Commit 9cb7239

Browse files
committed
languages/css: add formatter support via prettier/prettierd
1 parent 57446f7 commit 9cb7239

File tree

2 files changed

+50
-2
lines changed

2 files changed

+50
-2
lines changed

modules/languages/css.nix

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,33 @@
3232
'';
3333
};
3434
};
35+
36+
defaultFormat = "prettier";
37+
formats = {
38+
prettier = {
39+
package = pkgs.nodePackages.prettier;
40+
nullConfig = ''
41+
table.insert(
42+
ls_sources,
43+
null_ls.builtins.formatting.prettier.with({
44+
command = "${cfg.format.package}/bin/prettier",
45+
})
46+
)
47+
'';
48+
};
49+
50+
prettierd = {
51+
package = pkgs.prettierd;
52+
nullConfig = ''
53+
table.insert(
54+
ls_sources,
55+
null_ls.builtins.formatting.prettier.with({
56+
command = "${cfg.format.package}/bin/prettierd",
57+
})
58+
)
59+
'';
60+
};
61+
};
3562
in {
3663
options.vim.languages.css = {
3764
enable = mkEnableOption "CSS language support";
@@ -58,6 +85,22 @@ in {
5885
default = servers.${cfg.lsp.server}.package;
5986
};
6087
};
88+
89+
format = {
90+
enable = mkEnableOption "CSS formatting" // {default = config.vim.languages.enableFormat;};
91+
92+
type = mkOption {
93+
description = "CSS formatter to use";
94+
type = with types; enum (attrNames formats);
95+
default = defaultFormat;
96+
};
97+
98+
package = mkOption {
99+
description = "CSS formatter package";
100+
type = types.package;
101+
default = formats.${cfg.format.type}.package;
102+
};
103+
};
61104
};
62105

63106
config = mkIf cfg.enable (mkMerge [
@@ -68,7 +111,12 @@ in {
68111

69112
(mkIf cfg.lsp.enable {
70113
vim.lsp.lspconfig.enable = true;
71-
vim.lsp.lspconfig.sources.tailwindcss-lsp = servers.${cfg.lsp.server}.lspConfig;
114+
vim.lsp.lspconfig.sources.css-lsp = servers.${cfg.lsp.server}.lspConfig;
115+
})
116+
117+
(mkIf cfg.format.enable {
118+
vim.lsp.null-ls.enable = true;
119+
vim.lsp.null-ls.sources.css-format = formats.${cfg.format.type}.nullConfig;
72120
})
73121
]);
74122
}

modules/languages/tailwind.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ in {
5151
config = mkIf cfg.enable (mkMerge [
5252
(mkIf cfg.lsp.enable {
5353
vim.lsp.lspconfig.enable = true;
54-
vim.lsp.lspconfig.sources.css-lsp = servers.${cfg.lsp.server}.lspConfig;
54+
vim.lsp.lspconfig.sources.tailwindcss-lsp = servers.${cfg.lsp.server}.lspConfig;
5555
})
5656
]);
5757
}

0 commit comments

Comments
 (0)