tangled
alpha
login
or
join now
wiro.world
/
dotfiles
2
fork
atom
yep, more dotfiles
2
fork
atom
overview
issues
1
pulls
1
pipelines
helix: add ebnf language grammar and ls
wiro.world
1 month ago
83777605
397cbb61
verified
This commit was signed with the committer's
known signature
.
wiro.world
SSH Key Fingerprint:
SHA256:SmMcWpNAnL+VAgItSawvXgdPVn7f1rsyAuB/5VNclKY=
0/1
nix.yml
running
6w ago
+41
-13
2 changed files
expand all
collapse all
unified
split
home-manager
fragments
helix.nix
pkgs
ebnfer.nix
+39
-11
home-manager/fragments/helix.nix
reviewed
···
113
113
yaml-language-server
114
114
]
115
115
++ lib.optionals (!flags.onlyCached) [
116
116
+
lpkgs.ebnfer
116
117
lpkgs.wakatime-ls
117
118
];
118
119
···
122
123
check.command = "clippy";
123
124
};
124
125
125
125
-
ltex-ls.command = "ltex-ls";
126
126
+
ebnfer.command = "ebnfer";
127
127
+
126
128
typos-ls.command = "typos-lsp";
127
129
wakatime-ls.command = "wakatime-ls";
128
130
};
129
131
130
132
language =
131
133
let
132
132
-
global-lsps = [
134
134
+
global-language-servers = [
133
135
"wakatime-ls"
134
136
"typos-ls"
135
137
];
···
137
139
name: language-servers: extra:
138
140
{
139
141
inherit name;
140
140
-
language-servers = language-servers ++ global-lsps;
142
142
+
language-servers = language-servers ++ global-language-servers;
141
143
}
142
144
// extra;
143
145
in
144
146
[
147
147
+
(mk-lang "html" [ "vscode-html-language-server" ] { })
148
148
+
(mk-lang "markdown" [ "marksman" ] { })
149
149
+
(mk-lang "nix" [ "nil" ] { })
150
150
+
(mk-lang "ocaml" [ "ocamllsp" ] { })
151
151
+
(mk-lang "python" [ "ruff" "jedi" "pylsp" ] { })
152
152
+
(mk-lang "rust" [ "rust-analyzer" ] { })
153
153
+
(mk-lang "typescript" [ "typescript-language-server" ] { })
154
154
+
(mk-lang "zig" [ "zls" ] { })
155
155
+
145
156
(mk-lang "c" [ "clangd" ] {
146
157
formatter = {
147
158
command = lib.getExe' pkgs.clang-tools "clang-format";
148
159
args = [ ];
149
160
};
150
161
})
151
151
-
(mk-lang "markdown" [ "marksman" ] { })
152
162
153
153
-
(mk-lang "html" [ "vscode-html-language-server" ] { })
154
154
-
(mk-lang "nix" [ "nil" ] { })
155
155
-
(mk-lang "ocaml" [ "ocamllsp" ] { })
156
156
-
(mk-lang "python" [ "ruff" "jedi" "pylsp" ] { })
157
157
-
(mk-lang "rust" [ "rust-analyzer" ] { })
158
158
-
(mk-lang "typescript" [ "typescript-language-server" ] { })
159
159
-
(mk-lang "zig" [ "zls" ] { })
163
163
+
# TODO: remove when merged upstream
164
164
+
(mk-lang "ebnf" [ "ebnfer" ] {
165
165
+
scope = "source.ebnf";
166
166
+
injection-regex = "ebnf";
167
167
+
file-types = [ "ebnf" ];
168
168
+
indent = {
169
169
+
tab-width = 4;
170
170
+
unit = " ";
171
171
+
};
172
172
+
block-comment-tokens = {
173
173
+
start = "(*";
174
174
+
end = "*)";
175
175
+
};
176
176
+
})
160
177
];
178
178
+
179
179
+
grammar = [
180
180
+
{
181
181
+
name = "ebnf";
182
182
+
source = {
183
183
+
git = "https://github.com/RubixDev/ebnf/";
184
184
+
rev = "8e635b0b723c620774dfb8abf382a7f531894b40";
185
185
+
subpath = "crates/tree-sitter-ebnf";
186
186
+
};
187
187
+
}
188
188
+
];
161
189
};
162
190
};
163
191
+2
-2
pkgs/ebnfer.nix
reviewed
···
5
5
6
6
rustPlatform.buildRustPackage rec {
7
7
pname = "ebnfer";
8
8
-
version = "0.14.0";
8
8
+
version = "1.0.0";
9
9
10
10
src = fetchFromGitHub {
11
11
owner = "DanielHauge";
···
15
15
hash = "sha256-CSe2HCToYW7ivH6jpJwqHKH/yZDZgW8el8FVCmq75cU=";
16
16
};
17
17
18
18
-
cargoHash = "sha256-URT4jTKkCkK7Mr94ll1DloSEcrbkUJk8HFxkTmePf/w=";
18
18
+
cargoHash = "sha256-K+6pYv8hHTXlTs32HHYiBs6WFKXeRBlAEJWEaQ+HrV8";
19
19
20
20
meta = {
21
21
description = "A language server for EBNF";