on dfd499f help sign in
helix/languages.toml
535 lines 12 kB history raw
1[[language]]
2name = "rust"
3scope = "source.rust"
4injection-regex = "rust"
5file-types = ["rs"]
6roots = []
7auto-format = true
8comment-token = "//"
9language-server = { command = "rust-analyzer" }
10indent = { tab-width = 4, unit = " " }
11[language.config]
12cargo = { loadOutDirsFromCheck = true }
13procMacro = { enable = false }
15[language.debugger]
16name = "lldb-vscode"
17transport = "stdio"
18command = "lldb-vscode"
20[[language.debugger.templates]]
21name = "binary"
22request = "launch"
23completion = [ { name = "binary", completion = "filename" } ]
24args = { console = "internalConsole", program = "{0}" }
26[[language.debugger.templates]]
27name = "attach"
28request = "attach"
29completion = [ "pid" ]
30args = { console = "internalConsole", pid = "{0}" }
32[[language.debugger.templates]]
33name = "gdbserver attach"
34request = "attach"
35completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
36args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
38[[language]]
39name = "toml"
40scope = "source.toml"
41injection-regex = "toml"
42file-types = ["toml"]
43roots = []
44comment-token = "#"
46indent = { tab-width = 2, unit = " " }
48[[language]]
49name = "protobuf"
50scope = "source.proto"
51injection-regex = "protobuf"
52file-types = ["proto"]
53roots = []
54comment-token = "//"
56indent = { tab-width = 2, unit = " " }
58[[language]]
59name = "elixir"
60scope = "source.elixir"
61injection-regex = "elixir"
62file-types = ["ex", "exs"]
63shebangs = ["elixir"]
64roots = []
65comment-token = "#"
67language-server = { command = "elixir-ls" }
68indent = { tab-width = 2, unit = " " }
70[[language]]
71name = "mint"
72scope = "source.mint"
73injection-regex = "mint"
74file-types = ["mint"]
75shebangs = []
76roots = []
77comment-token = "//"
79language-server = { command = "mint", args = ["ls"] }
80indent = { tab-width = 2, unit = " " }
82[[language]]
83name = "json"
84scope = "source.json"
85injection-regex = "json"
86file-types = ["json"]
87roots = []
89indent = { tab-width = 2, unit = " " }
91[[language]]
92name = "c"
93scope = "source.c"
94injection-regex = "c"
95file-types = ["c"] # TODO: ["h"]
96roots = []
97comment-token = "//"
99language-server = { command = "clangd" }
100indent = { tab-width = 2, unit = " " }
102[language.debugger]
103name = "lldb-vscode"
104transport = "stdio"
105command = "lldb-vscode"
107[[language.debugger.templates]]
108name = "binary"
109request = "launch"
110completion = [ { name = "binary", completion = "filename" } ]
111args = { console = "internalConsole", program = "{0}" }
113[[language.debugger.templates]]
114name = "attach"
115request = "attach"
116completion = [ "pid" ]
117args = { console = "internalConsole", pid = "{0}" }
119[[language.debugger.templates]]
120name = "gdbserver attach"
121request = "attach"
122completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
123args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
125[[language]]
126name = "cpp"
127scope = "source.cpp"
128injection-regex = "cpp"
129file-types = ["cc", "hh", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino"]
130roots = []
131comment-token = "//"
133language-server = { command = "clangd" }
134indent = { tab-width = 2, unit = " " }
136[language.debugger]
137name = "lldb-vscode"
138transport = "stdio"
139command = "lldb-vscode"
141[[language.debugger.templates]]
142name = "binary"
143request = "launch"
144completion = [ { name = "binary", completion = "filename" } ]
145args = { console = "internalConsole", program = "{0}" }
147[[language.debugger.templates]]
148name = "attach"
149request = "attach"
150completion = [ "pid" ]
151args = { console = "internalConsole", pid = "{0}" }
153[[language.debugger.templates]]
154name = "gdbserver attach"
155request = "attach"
156completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
157args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
159[[language]]
160name = "c-sharp"
161scope = "source.csharp"
162injection-regex = "c-?sharp"
163file-types = ["cs"]
164roots = []
165comment-token = "//"
167indent = { tab-width = 4, unit = "\t" }
169[[language]]
170name = "go"
171scope = "source.go"
172injection-regex = "go"
173file-types = ["go"]
174roots = ["Gopkg.toml", "go.mod"]
175auto-format = true
176comment-token = "//"
178language-server = { command = "gopls" }
179# TODO: gopls needs utf-8 offsets?
180indent = { tab-width = 4, unit = "\t" }
182[language.debugger]
183name = "go"
184transport = "tcp"
185command = "dlv"
186args = ["dap"]
187port-arg = "-l 127.0.0.1:{}"
189[[language.debugger.templates]]
190name = "source"
191request = "launch"
192completion = [ { name = "entrypoint", completion = "filename", default = "." } ]
193args = { mode = "debug", program = "{0}" }
195[[language.debugger.templates]]
196name = "binary"
197request = "launch"
198completion = [ { name = "binary", completion = "filename" } ]
199args = { mode = "exec", program = "{0}" }
201[[language.debugger.templates]]
202name = "test"
203request = "launch"
204completion = [ { name = "tests", completion = "directory", default = "." } ]
205args = { mode = "test", program = "{0}" }
207[[language.debugger.templates]]
208name = "attach"
209request = "attach"
210completion = [ "pid" ]
211args = { mode = "local", processId = "{0}" }
213[[language]]
214name = "javascript"
215scope = "source.js"
216injection-regex = "^(js|javascript)$"
217file-types = ["js", "mjs"]
218shebangs = ["node"]
219roots = []
220comment-token = "//"
221# TODO: highlights-jsx, highlights-params
223indent = { tab-width = 2, unit = " " }
225[language.debugger]
226name = "node-debug2"
227transport = "stdio"
228# args consisting of cmd (node) and path to adapter should be added to user's configuration
229quirks = { absolute-paths = true }
231[[language.debugger.templates]]
232name = "source"
233request = "launch"
234completion = [ { name = "main", completion = "filename", default = "index.js" } ]
235args = { program = "{0}" }
237[[language]]
238name = "typescript"
239scope = "source.ts"
240injection-regex = "^(ts|typescript)$"
241file-types = ["ts"]
242shebangs = []
243roots = []
244# TODO: highlights-jsx, highlights-params
246language-server = { command = "typescript-language-server", args = ["--stdio"] }
247indent = { tab-width = 2, unit = " " }
249[[language]]
250name = "tsx"
251scope = "source.tsx"
252injection-regex = "^(tsx)$" # |typescript
253file-types = ["tsx"]
254roots = []
255# TODO: highlights-jsx, highlights-params
257language-server = { command = "typescript-language-server", args = ["--stdio"] }
258indent = { tab-width = 2, unit = " " }
260[[language]]
261name = "css"
262scope = "source.css"
263injection-regex = "css"
264file-types = ["css"]
265roots = []
267indent = { tab-width = 2, unit = " " }
269[[language]]
270name = "html"
271scope = "text.html.basic"
272injection-regex = "html"
273file-types = ["html"]
274roots = []
276indent = { tab-width = 2, unit = " " }
278[[language]]
279name = "python"
280scope = "source.python"
281injection-regex = "python"
282file-types = ["py"]
283shebangs = ["python"]
284roots = []
285comment-token = "#"
287language-server = { command = "pylsp" }
288# TODO: pyls needs utf-8 offsets
289indent = { tab-width = 4, unit = " " }
291[[language]]
292name = "nix"
293scope = "source.nix"
294injection-regex = "nix"
295file-types = ["nix"]
296shebangs = []
297roots = []
298comment-token = "#"
300language-server = { command = "rnix-lsp" }
301indent = { tab-width = 2, unit = " " }
303[[language]]
304name = "ruby"
305scope = "source.ruby"
306injection-regex = "ruby"
307file-types = ["rb"]
308shebangs = ["ruby"]
309roots = []
310comment-token = "#"
312language-server = { command = "solargraph", args = ["stdio"] }
313indent = { tab-width = 2, unit = " " }
315[[language]]
316name = "bash"
317scope = "source.bash"
318injection-regex = "bash"
319file-types = ["sh", "bash"]
320shebangs = ["sh", "bash", "dash"]
321roots = []
322comment-token = "#"
324language-server = { command = "bash-language-server", args = ["start"] }
325indent = { tab-width = 2, unit = " " }
327[[language]]
328name = "php"
329scope = "source.php"
330injection-regex = "php"
331file-types = ["php"]
332shebangs = ["php"]
333roots = []
335indent = { tab-width = 4, unit = " " }
337[[language]]
338name = "latex"
339scope = "source.tex"
340injection-regex = "tex"
341file-types = ["tex"]
342roots = []
343comment-token = "%"
345indent = { tab-width = 4, unit = "\t" }
347[[language]]
348name = "julia"
349scope = "source.julia"
350injection-regex = "julia"
351file-types = ["jl"]
352roots = []
353comment-token = "#"
354language-server = { command = "julia", args = [
355 "--startup-file=no",
356 "--history-file=no",
357 "--quiet",
358 "-e",
359 """
360 using LanguageServer;
361 using Pkg;
362 import StaticLint;
363 env_path = dirname(Pkg.Types.Context().env.project_file);
365 server = LanguageServer.LanguageServerInstance(stdin, stdout, env_path, "");
366 server.runlinter = true;
367 run(server);
368 """,
369 ] }
370indent = { tab-width = 2, unit = " " }
372[[language]]
373name = "java"
374scope = "source.java"
375injection-regex = "java"
376file-types = ["java"]
377roots = []
378indent = { tab-width = 4, unit = " " }
380[[language]]
381name = "ledger"
382scope = "source.ledger"
383injection-regex = "ledger"
384file-types = ["ldg", "ledger", "journal"]
385roots = []
386comment-token = ";"
387indent = { tab-width = 4, unit = " " }
389[[language]]
390name = "ocaml"
391scope = "source.ocaml"
392injection-regex = "ocaml"
393file-types = ["ml"]
394shebangs = []
395roots = []
396comment-token = "(**)"
397indent = { tab-width = 2, unit = " " }
399[[language]]
400name = "ocaml-interface"
401scope = "source.ocaml.interface"
402file-types = ["mli"]
403shebangs = []
404roots = []
405comment-token = "(**)"
406indent = { tab-width = 2, unit = " "}
408[[language]]
409name = "lua"
410scope = "source.lua"
411file-types = ["lua"]
412shebangs = ["lua"]
413roots = []
414comment-token = "--"
415indent = { tab-width = 2, unit = " " }
417[[language]]
418name = "svelte"
419scope = "source.svelte"
420injection-regex = "svelte"
421file-types = ["svelte"]
422roots = []
423indent = { tab-width = 2, unit = " " }
424language-server = { command = "svelteserver", args = ["--stdio"] }
427[[language]]
428name = "vue"
429scope = "source.vue"
430injection-regex = "vue"
431file-types = ["vue"]
432roots = []
433indent = { tab-width = 2, unit = " " }
435[[language]]
436name = "yaml"
437scope = "source.yaml"
438file-types = ["yml", "yaml"]
439roots = []
440comment-token = "#"
441indent = { tab-width = 2, unit = " " }
443# [[language]]
444# name = "haskell"
445# scope = "source.haskell"
446# injection-regex = "haskell"
447# file-types = ["hs"]
448# roots = []
449# comment-token = "--"
451# indent = { tab-width = 2, unit = " " }
453[[language]]
454name = "zig"
455scope = "source.zig"
456injection-regex = "zig"
457file-types = ["zig"]
458roots = ["build.zig"]
459auto-format = true
460comment-token = "//"
462language-server = { command = "zls" }
463indent = { tab-width = 4, unit = " " }
465[[language]]
466name = "prolog"
467scope = "source.prolog"
468roots = []
469file-types = ["pl", "prolog"]
470shebangs = ["swipl"]
471comment-token = "%"
473language-server = { command = "swipl", args = [
474 "-g", "use_module(library(lsp_server))",
475 "-g", "lsp_server:main",
476 "-t", "halt", "--", "stdio"] }
478[[language]]
479name = "tsq"
480scope = "source.tsq"
481file-types = ["scm"]
482roots = []
483comment-token = ";"
484indent = { tab-width = 2, unit = " " }
486[[language]]
487name = "cmake"
488scope = "source.cmake"
489file-types = ["cmake", "CMakeLists.txt"]
490roots = []
491comment-token = "#"
492indent = { tab-width = 2, unit = " " }
493language-server = { command = "cmake-language-server" }
495[[language]]
496name = "glsl"
497scope = "source.glsl"
498file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ]
499roots = []
500comment-token = "//"
501indent = { tab-width = 4, unit = " " }
503[[language]]
504name = "perl"
505scope = "source.perl"
506file-types = ["pl", "pm"]
507shebangs = ["perl"]
508roots = []
509comment-token = "#"
510indent = { tab-width = 2, unit = " " }
512[[language]]
513name = "racket"
514scope = "source.rkt"
515roots = []
516file-types = ["rkt"]
517shebangs = ["racket"]
518comment-token = ";"
519language-server = { command = "racket", args = ["-l", "racket-langserver"] }
521[[language]]
522name = "wgsl"
523scope = "source.wgsl"
524file-types = ["wgsl"]
525roots = []
526comment-token = "//"
527indent = { tab-width = 4, unit = " " }
529[[language]]
530name = "llvm"
531scope = "source.llvm"
532roots = []
533file-types = ["ll"]
534comment-token = ";"
535indent = { tab-width = 2, unit = " " }