blob: ecf70af2168b55a97455918a6e3f2961e52b5e07 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
{ pkgs, ... }: {
programs.helix = {
extraPackages = with pkgs; [
rust-analyzer
rustfmt
nil
nixfmt-rfc-style
python311Packages.python-lsp-server
clang-tools
black
emmet-ls
vscode-langservers-extracted
nodePackages.typescript-language-server
nodePackages."@astrojs/language-server"
];
settings = {
theme = "tokyonight";
editor = {
line-number = "relative";
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
whitespace.render = {
space = "all";
tab = "all";
newline = "none";
};
whitespace.characters = {
space = "·";
nbsp = "⍽";
tab = "→";
newline = "⏎";
tabpad = "·"; # Tabs will look like "→···" (depending on tab width)
};
cursorline = true;
lsp.display-messages = true;
};
};
languages = {
language-server.emmet-ls = {
command = "emmet-ls";
args = [ "--stdio" ];
};
language-server.astro-ls = {
command = "astro-ls";
args = [ "--stdio" ];
config = {
typescript.tsdk = "${pkgs.typescript}/lib/node_modules/typescript/lib";
environment = "node";
};
};
language = [
{
name = "html";
language-servers = [ "vscode-html-language-server" "emmet-ls" ];
}
{
name = "astro";
scope = "source.astro";
injection-regex = "astro";
file-types = [ "astro" ];
roots = [ "package.json" "astro.config.mjs" ];
language-servers = [ "astro-ls" ];
auto-format = true;
}
];
};
};
}
|