4injection-regex = "rust"
6roots = ["Cargo.toml", "Cargo.lock"]
9language-server = { command = "rust-analyzer" }
10indent = { tab-width = 4, unit = " " }
15injection-regex = "toml"
20indent = { tab-width = 2, unit = " " }
25injection-regex = "protobuf"
30indent = { tab-width = 2, unit = " " }
34scope = "source.elixir"
35injection-regex = "elixir"
36file-types = ["ex", "exs"]
41language-server = { command = "elixir-ls" }
42indent = { tab-width = 2, unit = " " }
47injection-regex = "fish"
53indent = { tab-width = 4, unit = " " }
58injection-regex = "mint"
64language-server = { command = "mint", args = ["ls"] }
65indent = { tab-width = 2, unit = " " }
70injection-regex = "json"
74indent = { tab-width = 2, unit = " " }
80file-types = ["c"] # TODO: ["h"]
84language-server = { command = "clangd" }
85indent = { tab-width = 2, unit = " " }
90injection-regex = "cpp"
91file-types = ["cc", "hh", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino"]
95language-server = { command = "clangd" }
96indent = { tab-width = 2, unit = " " }
100scope = "source.csharp"
101injection-regex = "c-?sharp"
106indent = { tab-width = 4, unit = "\t" }
111injection-regex = "go"
113roots = ["Gopkg.toml", "go.mod"]
117language-server = { command = "gopls" }
118# TODO: gopls needs utf-8 offsets?
119indent = { tab-width = 4, unit = "\t" }
124injection-regex = "^(js|javascript)$"
125file-types = ["js", "mjs"]
129# TODO: highlights-jsx, highlights-params
131language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" }
132indent = { tab-width = 2, unit = " " }
137injection-regex = "^(ts|typescript)$"
141# TODO: highlights-jsx, highlights-params
143language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescript"}
144indent = { tab-width = 2, unit = " " }
149injection-regex = "^(tsx)$" # |typescript
152# TODO: highlights-jsx, highlights-params
154language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescriptreact" }
155indent = { tab-width = 2, unit = " " }
160injection-regex = "css"
161file-types = ["css", "scss"]
164indent = { tab-width = 2, unit = " " }
168scope = "text.html.basic"
169injection-regex = "html"
173indent = { tab-width = 2, unit = " " }
177scope = "source.python"
178injection-regex = "python"
184language-server = { command = "pylsp" }
185# TODO: pyls needs utf-8 offsets
186indent = { tab-width = 4, unit = " " }
191injection-regex = "nix"
197language-server = { command = "rnix-lsp" }
198indent = { tab-width = 2, unit = " " }
203injection-regex = "ruby"
209language-server = { command = "solargraph", args = ["stdio"] }
210indent = { tab-width = 2, unit = " " }
215injection-regex = "bash"
216file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", ".zlogin", ".zlogout", ".zprofile", ".zshrc"]
217shebangs = ["sh", "bash", "dash"]
221language-server = { command = "bash-language-server", args = ["start"] }
222indent = { tab-width = 2, unit = " " }
227injection-regex = "php"
232indent = { tab-width = 4, unit = " " }
237injection-regex = "twig"
241indent = { tab-width = 2, unit = " " }
246injection-regex = "tex"
251indent = { tab-width = 4, unit = "\t" }
256injection-regex = "lean"
258roots = [ "lakefile.lean" ]
260language-server = { command = "lean", args = [ "--server" ] }
262indent = { tab-width = 2, unit = " " }
266scope = "source.julia"
267injection-regex = "julia"
271language-server = { command = "julia", args = [
277 using LanguageServer;
280 env_path = dirname(Pkg.Types.Context().env.project_file);
281 server = LanguageServer.LanguageServerInstance(stdin, stdout, env_path, "");
282 server.runlinter = true;
286indent = { tab-width = 2, unit = " " }
291injection-regex = "java"
294indent = { tab-width = 4, unit = " " }
298scope = "source.ledger"
299injection-regex = "ledger"
300file-types = ["ldg", "ledger", "journal"]
303indent = { tab-width = 4, unit = " " }
307scope = "source.ocaml"
308injection-regex = "ocaml"
312comment-token = "(**)"
313indent = { tab-width = 2, unit = " " }
316name = "ocaml-interface"
317scope = "source.ocaml.interface"
321comment-token = "(**)"
322indent = { tab-width = 2, unit = " "}
331indent = { tab-width = 2, unit = " " }
335scope = "source.svelte"
336injection-regex = "svelte"
337file-types = ["svelte"]
339indent = { tab-width = 2, unit = " " }
340language-server = { command = "svelteserver", args = ["--stdio"] }
346injection-regex = "vue"
349indent = { tab-width = 2, unit = " " }
354file-types = ["yml", "yaml"]
357indent = { tab-width = 2, unit = " " }
358injection-regex = "yml|yaml"
362scope = "source.haskell"
363injection-regex = "haskell"
367language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] }
368indent = { tab-width = 2, unit = " " }
373injection-regex = "zig"
379language-server = { command = "zls" }
380indent = { tab-width = 4, unit = " " }
384scope = "source.prolog"
386file-types = ["pl", "prolog"]
390language-server = { command = "swipl", args = [
391 "-g", "use_module(library(lsp_server))",
392 "-g", "lsp_server:main",
393 "-t", "halt", "--", "stdio"] }
401injection-regex = "tsq"
402indent = { tab-width = 2, unit = " " }
406scope = "source.cmake"
407file-types = ["cmake", "CMakeLists.txt"]
410indent = { tab-width = 2, unit = " " }
411language-server = { command = "cmake-language-server" }
412injection-regex = "cmake"
417file-types = ["Makefile", "makefile", "justfile", ".justfile"]
424file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ]
427indent = { tab-width = 4, unit = " " }
428injection-regex = "glsl"
433file-types = ["pl", "pm"]
437indent = { tab-width = 2, unit = " " }
446language-server = { command = "racket", args = ["-l", "racket-langserver"] }
450scope = "scope.comment"
453injection-regex = "comment"
461indent = { tab-width = 4, unit = " " }
469indent = { tab-width = 2, unit = " " }
470injection-regex = "llvm"
474scope = "source.llvm_mir"
478indent = { tab-width = 2, unit = " " }
479injection-regex = "mir"
482name = "llvm-mir-yaml"
483tree-sitter-library = "yaml"
488indent = { tab-width = 2, unit = " " }
492scope = "source.tablegen"
496indent = { tab-width = 2, unit = " " }
497injection-regex = "tablegen"
502injection-regex = "md|markdown"
506indent = { tab-width = 2, unit = " " }
512roots = ["pubspec.yaml"]
515language-server = { command = "dart", args = ["language-server", "--client-id=helix"] }
516indent = { tab-width = 2, unit = " " }
520scope = "source.scala"
521roots = ["build.sbt", "pom.xml"]
522file-types = ["scala", "sbt"]
524indent = { tab-width = 2, unit = " " }
525language-server = { command = "metals" }
529scope = "source.dockerfile"
530injection-regex = "docker|dockerfile"
531roots = ["Dockerfile"]
532file-types = ["Dockerfile", "dockerfile"]
534indent = { tab-width = 2, unit = " " }
535language-server = { command = "docker-langserver", args = ["--stdio"] }
539scope = "git.commitmsg"
541file-types = ["COMMIT_EDITMSG"]
543indent = { tab-width = 2, unit = " " }
550injection-regex = "diff"
552indent = { tab-width = 2, unit = " " }
556scope = "source.gitrebase"
558file-types = ["git-rebase-todo"]
559injection-regex = "git-rebase"
561indent = { tab-width = 2, unit = " " }
565scope = "source.regex"
566injection-regex = "regex"
567file-types = ["regex"]
572scope = "source.gitconfig"
574# TODO: allow specifying file-types as a regex so we can read directory names (e.g. `.git/config`)
575file-types = [".gitmodules", ".gitconfig"]
576injection-regex = "git-config"
578indent = { tab-width = 4, unit = "\t" }
582scope = "source.graphql"
583injection-regex = "graphql"
584file-types = ["gql", "graphql"]
586indent = { tab-width = 2, unit = " " }
591injection-regex = "elm"
596language-server = { command = "elm-language-server" }
597indent = { tab-width = 4, unit = " " }
602injection-regex = "iex"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list