on 609f736 help sign in
helix/languages.toml
510 lines 11 kB history raw
1[[language]]
2name = "rust"
3scope = "source.rust"
4injection-regex = "rust"
5file-types = ["rs"]
6roots = ["Cargo.toml", "Cargo.lock"]
7auto-format = true
8comment-token = "//"
9language-server = { command = "rust-analyzer" }
10indent = { tab-width = 4, unit = " " }
12[[language]]
13name = "toml"
14scope = "source.toml"
15injection-regex = "toml"
16file-types = ["toml"]
17roots = []
18comment-token = "#"
20indent = { tab-width = 2, unit = " " }
22[[language]]
23name = "protobuf"
24scope = "source.proto"
25injection-regex = "protobuf"
26file-types = ["proto"]
27roots = []
28comment-token = "//"
30indent = { tab-width = 2, unit = " " }
32[[language]]
33name = "elixir"
34scope = "source.elixir"
35injection-regex = "elixir"
36file-types = ["ex", "exs"]
37shebangs = ["elixir"]
38roots = []
39comment-token = "#"
41language-server = { command = "elixir-ls" }
42indent = { tab-width = 2, unit = " " }
44[[language]]
45name = "fish"
46scope = "source.fish"
47injection-regex = "fish"
48file-types = ["fish"]
49shebangs = ["fish"]
50roots = []
51comment-token = "#"
53indent = { tab-width = 4, unit = " " }
55[[language]]
56name = "mint"
57scope = "source.mint"
58injection-regex = "mint"
59file-types = ["mint"]
60shebangs = []
61roots = []
62comment-token = "//"
64language-server = { command = "mint", args = ["ls"] }
65indent = { tab-width = 2, unit = " " }
67[[language]]
68name = "json"
69scope = "source.json"
70injection-regex = "json"
71file-types = ["json"]
72roots = []
74indent = { tab-width = 2, unit = " " }
76[[language]]
77name = "c"
78scope = "source.c"
79injection-regex = "c"
80file-types = ["c"] # TODO: ["h"]
81roots = []
82comment-token = "//"
84language-server = { command = "clangd" }
85indent = { tab-width = 2, unit = " " }
87[[language]]
88name = "cpp"
89scope = "source.cpp"
90injection-regex = "cpp"
91file-types = ["cc", "hh", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino"]
92roots = []
93comment-token = "//"
95language-server = { command = "clangd" }
96indent = { tab-width = 2, unit = " " }
98[[language]]
99name = "c-sharp"
100scope = "source.csharp"
101injection-regex = "c-?sharp"
102file-types = ["cs"]
103roots = []
104comment-token = "//"
106indent = { tab-width = 4, unit = "\t" }
108[[language]]
109name = "go"
110scope = "source.go"
111injection-regex = "go"
112file-types = ["go"]
113roots = ["Gopkg.toml", "go.mod"]
114auto-format = true
115comment-token = "//"
117language-server = { command = "gopls" }
118# TODO: gopls needs utf-8 offsets?
119indent = { tab-width = 4, unit = "\t" }
121[[language]]
122name = "javascript"
123scope = "source.js"
124injection-regex = "^(js|javascript)$"
125file-types = ["js", "mjs"]
126shebangs = ["node"]
127roots = []
128comment-token = "//"
129# TODO: highlights-jsx, highlights-params
131indent = { tab-width = 2, unit = " " }
133[[language]]
134name = "typescript"
135scope = "source.ts"
136injection-regex = "^(ts|typescript)$"
137file-types = ["ts"]
138shebangs = []
139roots = []
140# TODO: highlights-jsx, highlights-params
142language-server = { command = "typescript-language-server", args = ["--stdio"] }
143indent = { tab-width = 2, unit = " " }
145[[language]]
146name = "tsx"
147scope = "source.tsx"
148injection-regex = "^(tsx)$" # |typescript
149file-types = ["tsx"]
150roots = []
151# TODO: highlights-jsx, highlights-params
153language-server = { command = "typescript-language-server", args = ["--stdio"] }
154indent = { tab-width = 2, unit = " " }
156[[language]]
157name = "css"
158scope = "source.css"
159injection-regex = "css"
160file-types = ["css"]
161roots = []
163indent = { tab-width = 2, unit = " " }
165[[language]]
166name = "html"
167scope = "text.html.basic"
168injection-regex = "html"
169file-types = ["html"]
170roots = []
172indent = { tab-width = 2, unit = " " }
174[[language]]
175name = "python"
176scope = "source.python"
177injection-regex = "python"
178file-types = ["py"]
179shebangs = ["python"]
180roots = []
181comment-token = "#"
183language-server = { command = "pylsp" }
184# TODO: pyls needs utf-8 offsets
185indent = { tab-width = 4, unit = " " }
187[[language]]
188name = "nix"
189scope = "source.nix"
190injection-regex = "nix"
191file-types = ["nix"]
192shebangs = []
193roots = []
194comment-token = "#"
196language-server = { command = "rnix-lsp" }
197indent = { tab-width = 2, unit = " " }
199[[language]]
200name = "ruby"
201scope = "source.ruby"
202injection-regex = "ruby"
203file-types = ["rb"]
204shebangs = ["ruby"]
205roots = []
206comment-token = "#"
208language-server = { command = "solargraph", args = ["stdio"] }
209indent = { tab-width = 2, unit = " " }
211[[language]]
212name = "bash"
213scope = "source.bash"
214injection-regex = "bash"
215file-types = ["sh", "bash"]
216shebangs = ["sh", "bash", "dash"]
217roots = []
218comment-token = "#"
220language-server = { command = "bash-language-server", args = ["start"] }
221indent = { tab-width = 2, unit = " " }
223[[language]]
224name = "php"
225scope = "source.php"
226injection-regex = "php"
227file-types = ["php"]
228shebangs = ["php"]
229roots = []
231indent = { tab-width = 4, unit = " " }
233[[language]]
234name = "latex"
235scope = "source.tex"
236injection-regex = "tex"
237file-types = ["tex"]
238roots = []
239comment-token = "%"
241indent = { tab-width = 4, unit = "\t" }
243[[language]]
244name = "julia"
245scope = "source.julia"
246injection-regex = "julia"
247file-types = ["jl"]
248roots = []
249comment-token = "#"
250language-server = { command = "julia", args = [
251 "--startup-file=no",
252 "--history-file=no",
253 "--quiet",
254 "-e",
255 """
256 using LanguageServer;
257 using Pkg;
258 import StaticLint;
259 env_path = dirname(Pkg.Types.Context().env.project_file);
260 server = LanguageServer.LanguageServerInstance(stdin, stdout, env_path, "");
261 server.runlinter = true;
262 run(server);
263 """,
264 ] }
265indent = { tab-width = 2, unit = " " }
267[[language]]
268name = "java"
269scope = "source.java"
270injection-regex = "java"
271file-types = ["java"]
272roots = []
273indent = { tab-width = 4, unit = " " }
275[[language]]
276name = "ledger"
277scope = "source.ledger"
278injection-regex = "ledger"
279file-types = ["ldg", "ledger", "journal"]
280roots = []
281comment-token = ";"
282indent = { tab-width = 4, unit = " " }
284[[language]]
285name = "ocaml"
286scope = "source.ocaml"
287injection-regex = "ocaml"
288file-types = ["ml"]
289shebangs = []
290roots = []
291comment-token = "(**)"
292indent = { tab-width = 2, unit = " " }
294[[language]]
295name = "ocaml-interface"
296scope = "source.ocaml.interface"
297file-types = ["mli"]
298shebangs = []
299roots = []
300comment-token = "(**)"
301indent = { tab-width = 2, unit = " "}
303[[language]]
304name = "lua"
305scope = "source.lua"
306file-types = ["lua"]
307shebangs = ["lua"]
308roots = []
309comment-token = "--"
310indent = { tab-width = 2, unit = " " }
312[[language]]
313name = "svelte"
314scope = "source.svelte"
315injection-regex = "svelte"
316file-types = ["svelte"]
317roots = []
318indent = { tab-width = 2, unit = " " }
319language-server = { command = "svelteserver", args = ["--stdio"] }
322[[language]]
323name = "vue"
324scope = "source.vue"
325injection-regex = "vue"
326file-types = ["vue"]
327roots = []
328indent = { tab-width = 2, unit = " " }
330[[language]]
331name = "yaml"
332scope = "source.yaml"
333file-types = ["yml", "yaml"]
334roots = []
335comment-token = "#"
336indent = { tab-width = 2, unit = " " }
338# [[language]]
339# name = "haskell"
340# scope = "source.haskell"
341# injection-regex = "haskell"
342# file-types = ["hs"]
343# roots = []
344# comment-token = "--"
346# indent = { tab-width = 2, unit = " " }
348[[language]]
349name = "zig"
350scope = "source.zig"
351injection-regex = "zig"
352file-types = ["zig"]
353roots = ["build.zig"]
354auto-format = true
355comment-token = "//"
357language-server = { command = "zls" }
358indent = { tab-width = 4, unit = " " }
360[[language]]
361name = "prolog"
362scope = "source.prolog"
363roots = []
364file-types = ["pl", "prolog"]
365shebangs = ["swipl"]
366comment-token = "%"
368language-server = { command = "swipl", args = [
369 "-g", "use_module(library(lsp_server))",
370 "-g", "lsp_server:main",
371 "-t", "halt", "--", "stdio"] }
373[[language]]
374name = "tsq"
375scope = "source.tsq"
376file-types = ["scm"]
377roots = []
378comment-token = ";"
379indent = { tab-width = 2, unit = " " }
381[[language]]
382name = "cmake"
383scope = "source.cmake"
384file-types = ["cmake", "CMakeLists.txt"]
385roots = []
386comment-token = "#"
387indent = { tab-width = 2, unit = " " }
388language-server = { command = "cmake-language-server" }
390[[language]]
391name = "glsl"
392scope = "source.glsl"
393file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ]
394roots = []
395comment-token = "//"
396indent = { tab-width = 4, unit = " " }
398[[language]]
399name = "perl"
400scope = "source.perl"
401file-types = ["pl", "pm"]
402shebangs = ["perl"]
403roots = []
404comment-token = "#"
405indent = { tab-width = 2, unit = " " }
407[[language]]
408name = "racket"
409scope = "source.rkt"
410roots = []
411file-types = ["rkt"]
412shebangs = ["racket"]
413comment-token = ";"
414language-server = { command = "racket", args = ["-l", "racket-langserver"] }
416[[language]]
417name = "comment"
418scope = "scope.comment"
419roots = []
420file-types = []
421injection-regex = "comment"
423[[language]]
424name = "wgsl"
425scope = "source.wgsl"
426file-types = ["wgsl"]
427roots = []
428comment-token = "//"
429indent = { tab-width = 4, unit = " " }
431[[language]]
432name = "llvm"
433scope = "source.llvm"
434roots = []
435file-types = ["ll"]
436comment-token = ";"
437indent = { tab-width = 2, unit = " " }
439[[language]]
440name = "tablegen"
441scope = "source.tablegen"
442roots = []
443file-types = ["td"]
444comment-token = "//"
445indent = { tab-width = 2, unit = " " }
446injection-regex = "tablegen"
448[[language]]
449name = "markdown"
450scope = "source.md"
451injection-regex = "md|markdown"
452file-types = ["md"]
453roots = []
455indent = { tab-width = 2, unit = " " }
457[[language]]
458name = "dart"
459scope = "source.dart"
460file-types = ["dart"]
461roots = ["pubspec.yaml"]
462auto-format = true
463comment-token = "//"
464language-server = { command = "dart", args = ["language-server", "--client-id=helix"] }
465indent = { tab-width = 2, unit = " " }
467[[language]]
468name = "scala"
469scope = "source.scala"
470roots = ["build.sbt"]
471file-types = ["scala", "sbt"]
472comment-token = "//"
473indent = { tab-width = 2, unit = " " }
474language-server = { command = "metals" }
476[[language]]
477name = "dockerfile"
478scope = "source.dockerfile"
479injection-regex = "docker|dockerfile"
480roots = ["Dockerfile"]
481file-types = ["Dockerfile", "dockerfile"]
482comment-token = "#"
483indent = { tab-width = 2, unit = " " }
484language-server = { command = "docker-langserver", args = ["--stdio"] }
486[[language]]
487name = "git-commit"
488scope = "git.commitmsg"
489roots = []
490file-types = ["COMMIT_EDITMSG"]
491comment-token = "#"
492indent = { tab-width = 2, unit = " " }
494[[language]]
495name = "git-diff"
496scope = "source.diff"
497roots = []
498file-types = ["diff"]
499injection-regex = "diff"
500comment-token = "#"
501indent = { tab-width = 2, unit = " " }
503[[language]]
504name = "git-rebase"
505scope = "source.gitrebase"
506roots = []
507file-types = ["git-rebase-todo"]
508injection-regex = "git-rebase"
509comment-token = "#"
510indent = { tab-width = 2, unit = " " }