# Language support configuration. # See the languages documentation: https://docs.helix-editor.com/master/languages.html [[language]] name = "rust" scope = "source.rust" injection-regex = "rust" file-types = ["rs"] roots = ["Cargo.toml", "Cargo.lock"] auto-format = true comment-token = "//" language-server = { command = "rust-analyzer" } indent = { tab-width = 4, unit = " " } [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' '`' = '`' [language.config] inlayHints.bindingModeHints.enable = false inlayHints.closingBraceHints.minLines = 10 inlayHints.closureReturnTypeHints.enable = "with_block" inlayHints.discriminantHints.enable = "fieldless" inlayHints.lifetimeElisionHints.enable = "skip_trivial" inlayHints.typeHints.hideClosureInitialization = false [language.debugger] name = "lldb-vscode" transport = "stdio" command = "lldb-vscode" [[language.debugger.templates]] name = "binary" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { program = "{0}" } [[language.debugger.templates]] name = "binary (terminal)" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { program = "{0}", runInTerminal = true } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { pid = "{0}" } [[language.debugger.templates]] name = "gdbserver attach" request = "attach" completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] args = { attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } [[grammar]] name = "rust" source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9" } [[language]] name = "sway" scope = "source.sway" injection-regex = "sway" file-types = ["sw"] language-server = { command = "forc", args = ["lsp"] } roots = ["Forc.toml", "Forc.lock"] indent = { tab-width = 4, unit = " " } comment-token = "//" [[grammar]] name = "sway" source = { git = "https://github.com/FuelLabs/tree-sitter-sway", rev = "e491a005ee1d310f4c138bf215afd44cfebf959c" } [[language]] name = "toml" scope = "source.toml" injection-regex = "toml" file-types = ["toml"] roots = [] comment-token = "#" language-server = { command = "taplo", args = ["lsp", "stdio"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "toml" source = { git = "https://github.com/ikatyang/tree-sitter-toml", rev = "7cff70bbcbbc62001b465603ca1ea88edd668704" } [[language]] name = "awk" scope = "source.awk" injection-regex = "awk" file-types = ["awk", "gawk", "nawk", "mawk"] roots = [] comment-token = "#" language-server = { command = "awk-language-server" } indent = { tab-width = 2, unit = " " } [[grammar]] name = "awk" source = { git = "https://github.com/Beaglefoot/tree-sitter-awk", rev = "a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3" } [[language]] name = "protobuf" scope = "source.proto" injection-regex = "protobuf" file-types = ["proto"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } [[grammar]] name = "protobuf" source = { git = "https://github.com/yusdacra/tree-sitter-protobuf", rev = "19c211a01434d9f03efff99f85e19f967591b175"} [[language]] name = "elixir" scope = "source.elixir" injection-regex = "(elixir|ex)" file-types = ["ex", "exs", "mix.lock"] shebangs = ["elixir"] roots = ["mix.exs", "mix.lock"] comment-token = "#" language-server = { command = "elixir-ls" } config = { elixirLS.dialyzerEnabled = false } indent = { tab-width = 2, unit = " " } [[grammar]] name = "elixir" source = { git = "https://github.com/elixir-lang/tree-sitter-elixir", rev = "b20eaa75565243c50be5e35e253d8beb58f45d56" } [[language]] name = "fish" scope = "source.fish" injection-regex = "fish" file-types = ["fish"] shebangs = ["fish"] roots = [] comment-token = "#" indent = { tab-width = 4, unit = " " } [[grammar]] name = "fish" source = { git = "https://github.com/ram02z/tree-sitter-fish", rev = "84436cf24c2b3176bfbb220922a0fdbd0141e406" } [[language]] name = "mint" scope = "source.mint" injection-regex = "mint" file-types = ["mint"] shebangs = [] roots = [] comment-token = "//" language-server = { command = "mint", args = ["ls"] } indent = { tab-width = 2, unit = " " } [[language]] name = "json" scope = "source.json" injection-regex = "json" file-types = ["json", "jsonc", "arb"] roots = [] language-server = { command = "vscode-json-language-server", args = ["--stdio"] } auto-format = true config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] name = "json" source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "73076754005a460947cafe8e03a8cf5fa4fa2938" } [[language]] name = "c" scope = "source.c" injection-regex = "c" file-types = ["c"] # TODO: ["h"] roots = [] comment-token = "//" language-server = { command = "clangd" } indent = { tab-width = 2, unit = " " } [language.debugger] name = "lldb-vscode" transport = "stdio" command = "lldb-vscode" [[language.debugger.templates]] name = "binary" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language.debugger.templates]] name = "gdbserver attach" request = "attach" completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } [[grammar]] name = "c" source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a" } [[language]] name = "cpp" scope = "source.cpp" injection-regex = "cpp" file-types = ["cc", "hh", "c++", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino", "C", "H", "cu", "cuh"] roots = [] comment-token = "//" language-server = { command = "clangd" } indent = { tab-width = 2, unit = " " } [language.debugger] name = "lldb-vscode" transport = "stdio" command = "lldb-vscode" [[language.debugger.templates]] name = "binary" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language.debugger.templates]] name = "gdbserver attach" request = "attach" completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } [[grammar]] name = "cpp" source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "2d2c4aee8672af4c7c8edff68e7dd4c07e88d2b1" } [[language]] name = "crystal" scope = "source.cr" file-types = ["cr"] roots = ["shard.yml", "shard.lock"] comment-token = "#" indent = { tab-width = 2, unit = " " } grammar = "ruby" [[language]] name = "c-sharp" scope = "source.csharp" injection-regex = "c-?sharp" file-types = ["cs"] roots = ["sln", "csproj"] comment-token = "//" indent = { tab-width = 4, unit = "\t" } language-server = { command = "OmniSharp", args = [ "--languageserver" ] } [language.debugger] name = "netcoredbg" transport = "tcp" command = "netcoredbg" args = [ "--interpreter=vscode" ] port-arg = "--server={}" [[language.debugger.templates]] name = "launch" request = "launch" completion = [ { name = "path to dll", completion = "filename" } ] args = { type = "coreclr", console = "internalConsole", internalConsoleOptions = "openOnSessionStart", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { processId = "{0}" } [[grammar]] name = "c-sharp" source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "5b60f99545fea00a33bbfae5be956f684c4c69e2" } [[language]] name = "go" scope = "source.go" injection-regex = "go" file-types = ["go"] roots = ["go.work", "go.mod"] auto-format = true comment-token = "//" language-server = { command = "gopls" } # TODO: gopls needs utf-8 offsets? indent = { tab-width = 4, unit = "\t" } [language.config.hints] assignVariableTypes = true compositeLiteralFields = true constantValues = true functionTypeParameters = true parameterNames = true rangeVariableTypes = true [language.debugger] name = "go" transport = "tcp" command = "dlv" args = ["dap"] port-arg = "-l 127.0.0.1:{}" [[language.debugger.templates]] name = "source" request = "launch" completion = [ { name = "entrypoint", completion = "filename", default = "." } ] args = { mode = "debug", program = "{0}" } [[language.debugger.templates]] name = "binary" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { mode = "exec", program = "{0}" } [[language.debugger.templates]] name = "test" request = "launch" completion = [ { name = "tests", completion = "directory", default = "." } ] args = { mode = "test", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { mode = "local", processId = "{0}" } [[grammar]] name = "go" source = { git = "https://github.com/tree-sitter/tree-sitter-go", rev = "64457ea6b73ef5422ed1687178d4545c3e91334a" } [[language]] name = "gomod" scope = "source.gomod" injection-regex = "gomod" file-types = ["go.mod"] roots = [] auto-format = true comment-token = "//" language-server = { command = "gopls" } indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "gomod" source = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0" } [[language]] name = "gotmpl" scope = "source.gotmpl" injection-regex = "gotmpl" file-types = ["gotmpl"] roots = [] comment-token = "//" language-server = { command = "gopls" } indent = { tab-width = 2, unit = " " } [[grammar]] name = "gotmpl" source = { git = "https://github.com/dannylongeuay/tree-sitter-go-template", rev = "395a33e08e69f4155156f0b90138a6c86764c979" } [[language]] name = "gowork" scope = "source.gowork" injection-regex = "gowork" file-types = ["go.work"] roots = [] auto-format = true comment-token = "//" language-server = { command = "gopls" } indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "gowork" source = { git = "https://github.com/omertuc/tree-sitter-go-work", rev = "6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2" } [[language]] name = "javascript" scope = "source.js" injection-regex = "(js|javascript)" file-types = ["js", "mjs", "cjs"] shebangs = ["node"] roots = [] comment-token = "//" # TODO: highlights-params language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" } indent = { tab-width = 2, unit = " " } [language.config] hostInfo = "helix" [language.config.javascript.inlayHints] includeInlayEnumMemberValueHints = true includeInlayFunctionLikeReturnTypeHints = true includeInlayFunctionParameterTypeHints = true includeInlayParameterNameHints = "all" includeInlayParameterNameHintsWhenArgumentMatchesName = true includeInlayPropertyDeclarationTypeHints = true includeInlayVariableTypeHints = true [language.debugger] name = "node-debug2" transport = "stdio" # args consisting of cmd (node) and path to adapter should be added to user's configuration quirks = { absolute-paths = true } [[language.debugger.templates]] name = "source" request = "launch" completion = [ { name = "main", completion = "filename", default = "index.js" } ] args = { program = "{0}" } [[grammar]] name = "javascript" source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "4a95461c4761c624f2263725aca79eeaefd36cad" } [[language]] name = "jsx" scope = "source.jsx" injection-regex = "jsx" file-types = ["jsx"] roots = [] comment-token = "//" language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascriptreact" } indent = { tab-width = 2, unit = " " } grammar = "javascript" [language.config] hostInfo = "helix" [language.config.javascript.inlayHints] includeInlayEnumMemberValueHints = true includeInlayFunctionLikeReturnTypeHints = true includeInlayFunctionParameterTypeHints = true includeInlayParameterNameHints = "all" includeInlayParameterNameHintsWhenArgumentMatchesName = true includeInlayPropertyDeclarationTypeHints = true includeInlayVariableTypeHints = true [[language]] name = "typescript" scope = "source.ts" injection-regex = "(ts|typescript)" file-types = ["ts", "mts", "cts"] shebangs = [] roots = [] # TODO: highlights-params language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescript"} indent = { tab-width = 2, unit = " " } [language.config] hostInfo = "helix" [language.config.typescript.inlayHints] includeInlayEnumMemberValueHints = true includeInlayFunctionLikeReturnTypeHints = true includeInlayFunctionParameterTypeHints = true includeInlayParameterNameHints = "all" includeInlayParameterNameHintsWhenArgumentMatchesName = true includeInlayPropertyDeclarationTypeHints = true includeInlayVariableTypeHints = true [[grammar]] name = "typescript" source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "6aac031ad88dd6317f02ac0bb27d099a553a7d8c", subpath = "typescript" } [[language]] name = "tsx" scope = "source.tsx" injection-regex = "(tsx)" # |typescript file-types = ["tsx"] roots = [] # TODO: highlights-params language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescriptreact" } indent = { tab-width = 2, unit = " " } [language.config] hostInfo = "helix" [language.config.typescript.inlayHints] includeInlayEnumMemberValueHints = true includeInlayFunctionLikeReturnTypeHints = true includeInlayFunctionParameterTypeHints = true includeInlayParameterNameHints = "all" includeInlayParameterNameHintsWhenArgumentMatchesName = true includeInlayPropertyDeclarationTypeHints = true includeInlayVariableTypeHints = true [[grammar]] name = "tsx" source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "6aac031ad88dd6317f02ac0bb27d099a553a7d8c", subpath = "tsx" } [[language]] name = "css" scope = "source.css" injection-regex = "css" file-types = ["css", "scss"] roots = [] language-server = { command = "vscode-css-language-server", args = ["--stdio"] } auto-format = true config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] name = "css" source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51" } [[language]] name = "scss" scope = "source.scss" injection-regex = "scss" file-types = ["scss"] roots = [] language-server = { command = "vscode-css-language-server", args = ["--stdio"] } auto-format = true config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] name = "scss" source = { git = "https://github.com/serenadeai/tree-sitter-scss", rev = "c478c6868648eff49eb04a4df90d703dc45b312a" } [[language]] name = "html" scope = "text.html.basic" injection-regex = "html" file-types = ["html"] roots = [] language-server = { command = "vscode-html-language-server", args = ["--stdio"] } auto-format = true config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] name = "html" source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "29f53d8f4f2335e61bf6418ab8958dac3282077a" } [[language]] name = "python" scope = "source.python" injection-regex = "python" file-types = ["py","pyi","py3","pyw","ptl",".pythonstartup",".pythonrc","SConstruct"] shebangs = ["python"] roots = [] comment-token = "#" language-server = { command = "pylsp" } # TODO: pyls needs utf-8 offsets indent = { tab-width = 4, unit = " " } [[grammar]] name = "python" source = { git = "https://github.com/tree-sitter/tree-sitter-python", rev = "de221eccf9a221f5b85474a553474a69b4b5784d" } [[language]] name = "nickel" scope = "source.nickel" injection-regex = "nickel" file-types = ["ncl"] shebangs = [] roots = [] comment-token = "#" language-server = { command = "nls" } indent = { tab-width = 2, unit = " " } [[grammar]] name = "nickel" source = { git = "https://github.com/nickel-lang/tree-sitter-nickel", rev = "9d83db400b6c11260b9106f131f93ddda8131933" } [[language]] name = "nix" scope = "source.nix" injection-regex = "nix" file-types = ["nix"] shebangs = [] roots = [] comment-token = "#" language-server = { command = "nil" } indent = { tab-width = 2, unit = " " } [[grammar]] name = "nix" source = { git = "https://github.com/nix-community/tree-sitter-nix", rev = "1b69cf1fa92366eefbe6863c184e5d2ece5f187d" } [[language]] name = "ruby" scope = "source.ruby" injection-regex = "ruby" file-types = ["rb", "rake", "rakefile", "irb", "gemfile", "gemspec", "Rakefile", "Gemfile", "rabl", "jbuilder", "jb", "Podfile", "podspec"] shebangs = ["ruby"] roots = [] comment-token = "#" language-server = { command = "solargraph", args = ["stdio"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "ruby" source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "206c7077164372c596ffa8eaadb9435c28941364" } [[language]] name = "bash" scope = "source.bash" injection-regex = "(shell|bash|zsh|sh)" file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", ".zlogin", ".zlogout", ".zprofile", ".zshrc", "APKBUILD", "PKGBUILD", "eclass", "ebuild", "bazelrc", ".bash_aliases"] shebangs = ["sh", "bash", "dash", "zsh"] roots = [] comment-token = "#" language-server = { command = "bash-language-server", args = ["start"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "bash" source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "275effdfc0edce774acf7d481f9ea195c6c403cd" } [[language]] name = "php" scope = "source.php" injection-regex = "php" file-types = ["php", "inc"] shebangs = ["php"] roots = ["composer.json", "index.php"] language-server = { command = "intelephense", args = ["--stdio"] } indent = { tab-width = 4, unit = " " } [[grammar]] name = "php" source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "f860e598194f4a71747f91789bf536b393ad4a56" } [[language]] name = "twig" scope = "source.twig" injection-regex = "twig" file-types = ["twig"] roots = [] indent = { tab-width = 2, unit = " " } [[grammar]] name = "twig" source = { git = "https://github.com/gbprod/tree-sitter-twig", rev = "807b293fec3fead64f54c64fdf6fb05516c032b9" } [[language]] name = "latex" scope = "source.tex" injection-regex = "tex" file-types = ["tex"] roots = [] comment-token = "%" language-server = { command = "texlab" } indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "latex" source = { git = "https://github.com/latex-lsp/tree-sitter-latex", rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6" } [[language]] name = "bibtex" scope = "source.bib" injection-regex = "bib" file-types = ["bib"] roots = [] comment-token = "%" language-server = { command = "texlab" } indent = { tab-width = 4, unit = "\t" } auto-format = true [language.formatter] command = 'bibtex-tidy' args = [ "-", "--curly", "--drop-all-caps", "--remove-empty-fields", "--sort-fields", "--sort=year,author,id", "--strip-enclosing-braces", "--trailing-commas", ] [[grammar]] name = "bibtex" source = { git = "https://github.com/latex-lsp/tree-sitter-bibtex", rev = "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34" } [[language]] name = "lean" scope = "source.lean" injection-regex = "lean" file-types = ["lean"] roots = [ "lakefile.lean" ] comment-token = "--" language-server = { command = "lean", args = [ "--server" ] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "lean" source = { git = "https://github.com/Julian/tree-sitter-lean", rev = "d98426109258b266e1e92358c5f11716d2e8f638" } [[language]] name = "julia" scope = "source.julia" injection-regex = "julia" file-types = ["jl"] roots = ["Manifest.toml", "Project.toml"] comment-token = "#" language-server = { command = "julia", timeout = 60, args = [ "--startup-file=no", "--history-file=no", "--quiet", "-e", "using LanguageServer; runserver()", ] } indent = { tab-width = 4, unit = " " } [[grammar]] name = "julia" source = { git = "https://github.com/tree-sitter/tree-sitter-julia", rev = "8fb38abff74652c4faddbf04d2d5bbbc6b4bae25" } [[language]] name = "java" scope = "source.java" injection-regex = "java" file-types = ["java"] roots = ["pom.xml", "build.gradle"] language-server = { command = "jdtls" } indent = { tab-width = 4, unit = " " } [[grammar]] name = "java" source = { git = "https://github.com/tree-sitter/tree-sitter-java", rev = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e" } [[language]] name = "ledger" scope = "source.ledger" injection-regex = "ledger" file-types = ["ldg", "ledger", "journal"] roots = [] comment-token = ";" indent = { tab-width = 4, unit = " " } [[grammar]] name = "ledger" source = { git = "https://github.com/cbarrete/tree-sitter-ledger", rev = "1f864fb2bf6a87fe1b48545cc6adc6d23090adf7" } [[language]] name = "beancount" scope = "source.beancount" injection-regex = "beancount" file-types = ["beancount", "bean"] roots = [] comment-token = ";" indent = { tab-width = 2, unit = " " } [[grammar]] name = "beancount" source = { git = "https://github.com/polarmutex/tree-sitter-beancount", rev = "4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c" } [[language]] name = "ocaml" scope = "source.ocaml" injection-regex = "ocaml" file-types = ["ml"] shebangs = [] roots = [] comment-token = "(**)" language-server = { command = "ocamllsp" } indent = { tab-width = 2, unit = " " } [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' '`' = '`' [[grammar]] name = "ocaml" source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "23d419ba45789c5a47d31448061557716b02750a", subpath = "ocaml" } [[language]] name = "ocaml-interface" scope = "source.ocaml.interface" file-types = ["mli"] shebangs = [] roots = [] comment-token = "(**)" language-server = { command = "ocamllsp" } indent = { tab-width = 2, unit = " " } [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' '`' = '`' [[grammar]] name = "ocaml-interface" source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "23d419ba45789c5a47d31448061557716b02750a", subpath = "interface" } [[language]] name = "lua" injection-regex = "lua" scope = "source.lua" file-types = ["lua"] shebangs = ["lua"] roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"] comment-token = "--" indent = { tab-width = 2, unit = " " } language-server = { command = "lua-language-server", args = [] } [language.config.Lua.hint] enable = true arrayIndex = "Enable" setType = true paramName = "All" paramType = true await = true [[grammar]] name = "lua" source = { git = "https://github.com/MunifTanjim/tree-sitter-lua", rev = "887dfd4e83c469300c279314ff1619b1d0b85b91" } [[language]] name = "svelte" scope = "source.svelte" injection-regex = "svelte" file-types = ["svelte"] roots = [] indent = { tab-width = 2, unit = " " } language-server = { command = "svelteserver", args = ["--stdio"] } [[grammar]] name = "svelte" source = { git = "https://github.com/Himujjal/tree-sitter-svelte", rev = "349a5984513b4a4a9e143a6e746120c6ff6cf6ed" } [[language]] name = "vue" scope = "source.vue" injection-regex = "vue" file-types = ["vue"] roots = ["package.json", "vue.config.js"] indent = { tab-width = 2, unit = " " } language-server = { command = "vls" } [[grammar]] name = "vue" source = { git = "https://github.com/ikatyang/tree-sitter-vue", rev = "91fe2754796cd8fba5f229505a23fa08f3546c06" } [[language]] name = "yaml" scope = "source.yaml" file-types = ["yml", "yaml"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "yaml-language-server", args = ["--stdio"] } injection-regex = "yml|yaml" [[grammar]] name = "yaml" source = { git = "https://github.com/ikatyang/tree-sitter-yaml", rev = "0e36bed171768908f331ff7dff9d956bae016efb" } [[language]] name = "haskell" scope = "source.haskell" injection-regex = "haskell" file-types = ["hs", "hs-boot"] roots = ["Setup.hs", "stack.yaml", "cabal.project"] comment-token = "--" language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "haskell" source = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "98fc7f59049aeb713ab9b72a8ff25dcaaef81087" } [[language]] name = "purescript" scope = "source.purescript" injection-regex = "purescript" file-types = ["purs"] roots = ["spago.dhall", "bower.json"] comment-token = "--" language-server = { command = "purescript-language-server", args = ["--stdio"] } indent = { tab-width = 2, unit = " " } auto-format = true formatter = { command = "purs-tidy", args = ["format"] } grammar = "haskell" [[language]] name = "zig" scope = "source.zig" injection-regex = "zig" file-types = ["zig"] roots = ["build.zig"] auto-format = true comment-token = "//" language-server = { command = "zls" } indent = { tab-width = 4, unit = " " } formatter = { command = "zig" , args = ["fmt", "--stdin"] } [language.debugger] name = "lldb-vscode" transport = "stdio" command = "lldb-vscode" [[language.debugger.templates]] name = "binary" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language.debugger.templates]] name = "gdbserver attach" request = "attach" completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } [[grammar]] name = "zig" source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "8d3224c3bd0890fe08358886ebf54fca2ed448a6" } [[language]] name = "prolog" scope = "source.prolog" roots = [] file-types = ["pl", "prolog"] shebangs = ["swipl"] comment-token = "%" language-server = { command = "swipl", args = [ "-g", "use_module(library(lsp_server))", "-g", "lsp_server:main", "-t", "halt", "--", "stdio"] } [[language]] name = "tsq" scope = "source.tsq" file-types = ["scm"] roots = [] comment-token = ";" injection-regex = "tsq" indent = { tab-width = 2, unit = " " } [[grammar]] name = "tsq" source = { git = "https://github.com/the-mikedavis/tree-sitter-tsq", rev = "48b5e9f82ae0a4727201626f33a17f69f8e0ff86" } [[language]] name = "cmake" scope = "source.cmake" file-types = ["cmake", "CMakeLists.txt"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "cmake-language-server" } injection-regex = "cmake" [[grammar]] name = "cmake" source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "6e51463ef3052dd3b328322c22172eda093727ad" } [[language]] name = "make" scope = "source.make" file-types = ["Makefile", "makefile", "mk"] injection-regex = "(make|makefile|Makefile|mk)" roots = [] comment-token = "#" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "make" source = { git = "https://github.com/alemuller/tree-sitter-make", rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd" } [[language]] name = "glsl" scope = "source.glsl" file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } injection-regex = "glsl" [[grammar]] name = "glsl" source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "88408ffc5e27abcffced7010fc77396ae3636d7e" } [[language]] name = "perl" scope = "source.perl" file-types = ["pl", "pm", "t"] shebangs = ["perl"] roots = [] comment-token = "#" language-server = { command = "perlnavigator", args= ["--stdio"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "perl" source = { git = "https://github.com/ganezdragon/tree-sitter-perl", rev = "0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a" } [[language]] name = "racket" scope = "source.racket" roots = [] file-types = ["rkt", "rktd", "rktl", "scrbl"] shebangs = ["racket"] comment-token = ";" language-server = { command = "racket", args = ["-l", "racket-langserver"] } grammar = "scheme" [[language]] name = "common-lisp" scope = "source.lisp" roots = [] file-types = ["lisp", "asd", "cl", "l", "lsp", "ny", "podsl", "sexp"] shebangs = ["lisp", "sbcl", "ccl", "clisp", "ecl"] comment-token = ";" indent = { tab-width = 2, unit = " " } language-server = { command = "cl-lsp", args = [ "stdio" ] } grammar = "scheme" [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' [[language]] name = "comment" scope = "scope.comment" roots = [] file-types = [] injection-regex = "comment" [[grammar]] name = "comment" source = { git = "https://github.com/stsewd/tree-sitter-comment", rev = "5dd3c62f1bbe378b220fe16b317b85247898639e" } [[language]] name = "wgsl" scope = "source.wgsl" file-types = ["wgsl"] roots = [] comment-token = "//" language-server = { command = "wgsl_analyzer" } indent = { tab-width = 4, unit = " " } [[grammar]] name = "wgsl" source = { git = "https://github.com/szebniok/tree-sitter-wgsl", rev = "272e89ef2aeac74178edb9db4a83c1ffef80a463" } [[language]] name = "llvm" scope = "source.llvm" roots = [] file-types = ["ll"] comment-token = ";" indent = { tab-width = 2, unit = " " } injection-regex = "llvm" [[grammar]] name = "llvm" source = { git = "https://github.com/benwilliamgraham/tree-sitter-llvm", rev = "3b213925b9c4f42c1acfe2e10bfbb438d9c6834d" } [[language]] name = "llvm-mir" scope = "source.llvm_mir" roots = [] file-types = [] comment-token = ";" indent = { tab-width = 2, unit = " " } injection-regex = "mir" [[grammar]] name = "llvm-mir" source = { git = "https://github.com/Flakebi/tree-sitter-llvm-mir", rev = "06fabca19454b2dc00c1b211a7cb7ad0bc2585f1" } [[language]] name = "llvm-mir-yaml" # TODO allow languages to point to their grammar like so: # # grammar = "yaml" scope = "source.yaml" roots = [] file-types = ["mir"] comment-token = "#" indent = { tab-width = 2, unit = " " } [[language]] name = "tablegen" scope = "source.tablegen" roots = [] file-types = ["td"] comment-token = "//" indent = { tab-width = 2, unit = " " } injection-regex = "tablegen" [[grammar]] name = "tablegen" source = { git = "https://github.com/Flakebi/tree-sitter-tablegen", rev = "568dd8a937347175fd58db83d4c4cdaeb6069bd2" } [[language]] name = "markdown" scope = "source.md" injection-regex = "md|markdown" file-types = ["md", "markdown", "PULLREQ_EDITMSG"] roots = [".marksman.toml"] language-server = { command = "marksman", args=["server"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "markdown" source = { git = "https://github.com/MDeiml/tree-sitter-markdown", rev = "fa6bfd51727e4bef99f7eec5f43947f73d64ea7d", subpath = "tree-sitter-markdown" } [[language]] name = "markdown.inline" scope = "source.markdown.inline" injection-regex = "markdown\\.inline" file-types = [] roots = [] grammar = "markdown_inline" [[grammar]] name = "markdown_inline" source = { git = "https://github.com/MDeiml/tree-sitter-markdown", rev = "fa6bfd51727e4bef99f7eec5f43947f73d64ea7d", subpath = "tree-sitter-markdown-inline" } [[language]] name = "dart" scope = "source.dart" file-types = ["dart"] roots = ["pubspec.yaml"] auto-format = true comment-token = "//" language-server = { command = "dart", args = ["language-server", "--client-id=helix"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "dart" source = { git = "https://github.com/UserNobody14/tree-sitter-dart", rev = "2d7f66651c9319c1a0e4dda226cc2628fbb66528" } [[language]] name = "scala" scope = "source.scala" roots = ["build.sbt", "build.sc", "build.gradle", "pom.xml", ".scala-build"] file-types = ["scala", "sbt", "sc"] comment-token = "//" indent = { tab-width = 2, unit = " " } language-server = { command = "metals" } config = { "isHttpEnabled" = true } [[grammar]] name = "scala" source = { git = "https://github.com/tree-sitter/tree-sitter-scala", rev = "f6bbf35de41653b409ca9a3537a154f2b095ef64" } [[language]] name = "dockerfile" scope = "source.dockerfile" injection-regex = "docker|dockerfile" roots = ["Dockerfile", "Containerfile"] file-types = ["Dockerfile", "dockerfile", "Containerfile", "containerfile"] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "docker-langserver", args = ["--stdio"] } [[grammar]] name = "dockerfile" source = { git = "https://github.com/camdencheek/tree-sitter-dockerfile", rev = "7af32bc04a66ab196f5b9f92ac471f29372ae2ce" } [[language]] name = "git-commit" scope = "git.commitmsg" roots = [] file-types = ["COMMIT_EDITMSG"] comment-token = "#" indent = { tab-width = 2, unit = " " } rulers = [50, 72] text-width = 72 [[grammar]] name = "git-commit" source = { git = "https://github.com/the-mikedavis/tree-sitter-git-commit", rev = "db88cffa3952dd2328b741af5d0fc69bdb76704f" } [[language]] name = "diff" scope = "source.diff" roots = [] file-types = ["diff", "patch"] injection-regex = "diff" comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "diff" source = { git = "https://github.com/the-mikedavis/tree-sitter-diff", rev = "fd74c78fa88a20085dbc7bbeaba066f4d1692b63" } [[language]] name = "git-rebase" scope = "source.gitrebase" roots = [] file-types = ["git-rebase-todo"] injection-regex = "git-rebase" comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "git-rebase" source = { git = "https://github.com/the-mikedavis/tree-sitter-git-rebase", rev = "d8a4207ebbc47bd78bacdf48f883db58283f9fd8" } [[language]] name = "regex" scope = "source.regex" injection-regex = "regex" file-types = ["regex"] roots = [] [[grammar]] name = "regex" source = { git = "https://github.com/tree-sitter/tree-sitter-regex", rev = "e1cfca3c79896ff79842f057ea13e529b66af636" } [[language]] name = "git-config" scope = "source.gitconfig" roots = [] file-types = [".gitmodules", ".gitconfig", { suffix = ".git/config" }, { suffix = ".config/git/config" }] injection-regex = "git-config" comment-token = "#" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "git-config" source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea" } [[language]] name = "git-attributes" scope = "source.gitattributes" roots = [] file-types = [".gitattributes"] injection-regex = "git-attributes" comment-token = "#" grammar = "gitattributes" [[grammar]] name = "gitattributes" source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" } [[language]] name = "git-ignore" scope = "source.gitignore" roots = [] file-types = [".gitignore", ".gitignore_global"] injection-regex = "git-ignore" comment-token = "#" grammar = "gitignore" [[grammar]] name = "gitignore" source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" } [[language]] name = "graphql" scope = "source.graphql" injection-regex = "graphql" file-types = ["gql", "graphql", "graphqls"] roots = [] indent = { tab-width = 2, unit = " " } [[grammar]] name = "graphql" source = { git = "https://github.com/bkegley/tree-sitter-graphql", rev = "5e66e961eee421786bdda8495ed1db045e06b5fe" } [[language]] name = "elm" scope = "source.elm" injection-regex = "elm" file-types = ["elm"] roots = ["elm.json"] auto-format = true comment-token = "--" language-server = { command = "elm-language-server" } indent = { tab-width = 4, unit = " " } [[grammar]] name = "elm" source = { git = "https://github.com/elm-tooling/tree-sitter-elm", rev = "df4cb639c01b76bc9ac9cc66788709a6da20002c" } [[language]] name = "iex" scope = "source.iex" injection-regex = "iex" file-types = ["iex"] roots = [] [[grammar]] name = "iex" source = { git = "https://github.com/elixir-lang/tree-sitter-iex", rev = "39f20bb51f502e32058684e893c0c0b00bb2332c" } [[language]] name = "rescript" scope = "source.rescript" injection-regex = "rescript" file-types = ["res"] roots = ["bsconfig.json"] auto-format = true comment-token = "//" language-server = { command = "rescript-language-server", args = ["--stdio"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "rescript" source = { git = "https://github.com/jaredramirez/tree-sitter-rescript", rev = "65609807c628477f3b94052e7ef895885ac51c3c" } [[language]] name = "erlang" scope = "source.erlang" injection-regex = "erl(ang)?" file-types = ["erl", "hrl", "app", "rebar.config", "rebar.lock"] roots = ["rebar.config"] shebangs = ["escript"] comment-token = "%%" indent = { tab-width = 4, unit = " " } language-server = { command = "erlang_ls" } [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' "'" = "'" '`' = "'" [[grammar]] name = "erlang" source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "ce0ed253d72c199ab93caba7542b6f62075339c4" } [[language]] name = "kotlin" scope = "source.kotlin" file-types = ["kt", "kts"] roots = ["settings.gradle", "settings.gradle.kts"] comment-token = "//" indent = { tab-width = 4, unit = " " } language-server = { command = "kotlin-language-server" } [[grammar]] name = "kotlin" source = { git = "https://github.com/fwcd/tree-sitter-kotlin", rev = "a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569" } [[language]] name = "hcl" scope = "source.hcl" injection-regex = "(hcl|tf|nomad)" file-types = ["hcl", "tf", "nomad"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform" } auto-format = true [[grammar]] name = "hcl" source = { git = "https://github.com/MichaHoffmann/tree-sitter-hcl", rev = "3cb7fc28247efbcb2973b97e71c78838ad98a583" } [[language]] name = "tfvars" scope = "source.tfvars" file-types = ["tfvars"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform-vars" } auto-format = true grammar = "hcl" [[language]] name = "org" scope = "source.org" injection-regex = "org" file-types = ["org"] roots = [] indent = { tab-width = 2, unit = " " } [[grammar]] name = "org" source = { git = "https://github.com/milisims/tree-sitter-org", rev = "698bb1a34331e68f83fc24bdd1b6f97016bb30de" } [[language]] name = "solidity" scope = "source.sol" injection-regex = "(sol|solidity)" file-types = ["sol"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } language-server = { command = "solc", args = ["--lsp"] } [[grammar]] name = "solidity" source = { git = "https://github.com/JoranHonig/tree-sitter-solidity", rev = "9004b86531cb424bd379424cf7266a4585f2af7d" } [[language]] name = "gleam" scope = "source.gleam" injection-regex = "gleam" file-types = ["gleam"] roots = ["gleam.toml"] comment-token = "//" indent = { tab-width = 2, unit = " " } language-server = { command = "gleam", args = ["lsp"] } [[grammar]] name = "gleam" source = { git = "https://github.com/gleam-lang/tree-sitter-gleam", rev = "ae79782c00656945db69641378e688cdb78d52c1" } [[language]] name = "ron" scope = "source.ron" injection-regex = "ron" file-types = ["ron"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } grammar = "rust" [[language]] name = "robot" scope = "source.robot" injection-regex = "robot" file-types = ["robot", "resource"] comment-token = "#" roots = [] indent = { tab-width = 4, unit = " " } language-server = { command = "robotframework_ls" } [[grammar]] name = "robot" source = { git = "https://github.com/Hubro/tree-sitter-robot", rev = "f1142bfaa6acfce95e25d2c6d18d218f4f533927" } [[language]] name = "r" scope = "source.r" injection-regex = "(r|R)" file-types = ["r", "R"] shebangs = ["r", "R"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } [[grammar]] name = "r" source = { git = "https://github.com/r-lib/tree-sitter-r", rev = "cc04302e1bff76fa02e129f332f44636813b0c3c" } [[language]] name = "rmarkdown" scope = "source.rmd" injection-regex = "(r|R)md" file-types = ["rmd", "Rmd"] roots = [] indent = { tab-width = 2, unit = " " } grammar = "markdown" language-server = { command = "R", args = ["--slave", "-e", "languageserver::run()"] } [[language]] name = "swift" scope = "source.swift" injection-regex = "swift" file-types = ["swift"] roots = [ "Package.swift" ] comment-token = "//" auto-format = true language-server = { command = "sourcekit-lsp" } [[grammar]] name = "swift" source = { git = "https://github.com/alex-pinkus/tree-sitter-swift", rev = "77c6312c8438f4dbaa0350cec92b3d6dd3d74a66" } [[language]] name = "erb" scope = "text.html.erb" injection-regex = "erb" file-types = ["erb"] roots = [] indent = { tab-width = 2, unit = " " } grammar = "embedded-template" [[language]] name = "ejs" scope = "text.html.ejs" injection-regex = "ejs" file-types = ["ejs"] roots = [] indent = { tab-width = 2, unit = " " } grammar = "embedded-template" [[grammar]] name = "embedded-template" source = { git = "https://github.com/tree-sitter/tree-sitter-embedded-template", rev = "d21df11b0ecc6fd211dbe11278e92ef67bd17e97" } [[language]] name = "eex" scope = "source.eex" injection-regex = "eex" file-types = ["eex"] roots = ["mix.exs", "mix.lock"] indent = { tab-width = 2, unit = " " } [[grammar]] name = "eex" source = { git = "https://github.com/connorlay/tree-sitter-eex", rev = "f742f2fe327463335e8671a87c0b9b396905d1d1" } [[language]] name = "heex" scope = "source.heex" injection-regex = "heex" file-types = ["heex"] roots = ["mix.exs", "mix.lock"] indent = { tab-width = 2, unit = " " } language-server = { command = "elixir-ls" } config = { elixirLS.dialyzerEnabled = false } [[grammar]] name = "heex" source = { git = "https://github.com/phoenixframework/tree-sitter-heex", rev = "2e1348c3cf2c9323e87c2744796cf3f3868aa82a" } [[language]] name = "sql" scope = "source.sql" file-types = ["sql"] roots = [] comment-token = "--" indent = { tab-width = 4, unit = " " } injection-regex = "sql" [[grammar]] name = "sql" source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "3a3f92b29c880488a08bc2baaf1aca6432ec3380" } [[language]] name = "gdscript" scope = "source.gdscript" injection-regex = "gdscript" file-types = ["gd"] shebangs = [] roots = ["project.godot"] auto-format = true formatter = { command = "gdformat", args = ["-"] } comment-token = "#" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "gdscript" source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "a4b57cc3bcbfc24550e858159647e9238e7ad1ac" } [[language]] name = "godot-resource" scope = "source.tscn" injection-regex = "godot" file-types = ["tscn", "tres", "godot", "gdextension"] shebangs = [] roots = ["project.godot"] auto-format = false comment-token = ";" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "godot-resource" source = { git = "https://github.com/PrestonKnopp/tree-sitter-godot-resource", rev = "b6ef0768711086a86b3297056f9ffb5cc1d77b4a" } [[language]] name = "nu" scope = "source.nu" injection-regex = "nu" file-types = ["nu"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "nu" source = { git = "https://github.com/LhKipp/tree-sitter-nu", rev = "eb95bdac3abd73ef47e53f19c63e74a31405ebd2" } [[language]] name = "vala" scope = "source.vala" injection-regex = "vala" file-types = ["vala", "vapi"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } language-server = { command = "vala-language-server" } [[grammar]] name = "vala" source = { git = "https://github.com/vala-lang/tree-sitter-vala", rev = "c9eea93ba2ec4ec1485392db11945819779745b3" } [[language]] name = "hare" scope = "source.hare" injection-regex = "hare" file-types = ["ha"] roots = [] comment-token = "//" indent = { tab-width = 8, unit = "\t" } [[grammar]] name = "hare" source = { git = "https://git.sr.ht/~ecmma/tree-sitter-hare", rev = "bc26a6a949f2e0d98b7bfc437d459b250900a165" } [[language]] name = "devicetree" scope = "source.devicetree" injection-regex = "(dtsi?|devicetree|fdt)" file-types = ["dts", "dtsi"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "devicetree" source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "877adbfa0174d25894c40fa75ad52d4515a36368" } [[language]] name = "cairo" scope = "source.cairo" injection-regex = "cairo" file-types = ["cairo"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } [[grammar]] name = "cairo" source = { git = "https://github.com/archseer/tree-sitter-cairo", rev = "b249662a1eefeb4d71c9529cdd971e74fecc10fe" } [[language]] name = "cpon" scope = "scope.cpon" injection-regex = "cpon" file-types = ["cpon", "cp"] roots = [] auto-format = true comment-token = "//" indent = { tab-width = 2, unit = " " } [[grammar]] name = "cpon" source = { git = "https://github.com/fvacek/tree-sitter-cpon", rev = "0d01fcdae5a53191df5b1349f9bce053833270e7" } [[language]] name = "odin" auto-format = false scope = "source.odin" file-types = ["odin"] roots = ["ols.json"] language-server = { command = "ols", args = [] } comment-token = "//" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "odin" source = { git = "https://github.com/ap29600/tree-sitter-odin", rev = "b219207e49ffca2952529d33e94ed63b1b75c4f1" } [[language]] name = "meson" scope = "source.meson" injection-regex = "meson" file-types = ["meson.build"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "meson" source = { git = "https://github.com/staysail/tree-sitter-meson", rev = "32a83e8f200c347232fa795636cfe60dde22957a" } [[language]] name = "sshclientconfig" scope = "source.sshclientconfig" file-types = [{ suffix = ".ssh/config" }, { suffix = "/etc/ssh/ssh_config" }] roots = [] comment-token = "#" [[grammar]] name = "sshclientconfig" source = { git = "https://github.com/metio/tree-sitter-ssh-client-config", rev = "e45c6d5c71657344d4ecaf87dafae7736f776c57" } [[language]] name = "scheme" scope = "source.scheme" injection-regex = "scheme" file-types = ["ss", "scm"] # "scm", roots = [] comment-token = ";" indent = { tab-width = 2, unit = " " } [[grammar]] name = "scheme" source = { git = "https://github.com/6cdh/tree-sitter-scheme", rev = "c0741320bfca6b7b5b7a13b5171275951e96a842" } [[language]] name = "v" scope = "source.v" file-types = ["v", "vv", "vsh"] shebangs = ["v run"] roots = ["v.mod"] language-server = { command = "v", args = ["ls"] } auto-format = true comment-token = "//" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "v" source = { git = "https://github.com/vlang/vls", subpath = "tree_sitter_v", rev = "66cf9d3086fb5ecc827cb32c64c5d812ab17d2c6" } [[language]] name = "verilog" scope = "source.verilog" file-types = ["v", "vh", "sv", "svh"] roots = [] comment-token = "//" language-server = { command = "svlangserver", args = [] } indent = { tab-width = 2, unit = " " } injection-regex = "verilog" [[grammar]] name = "verilog" source = { git = "https://github.com/andreytkachenko/tree-sitter-verilog", rev = "514d8d70593d29ef3ef667fa6b0e504ae7c977e3" } [[language]] name = "edoc" scope = "source.edoc" file-types = ["edoc", "edoc.in"] injection-regex = "edoc" roots = [] indent = { tab-width = 4, unit = " " } [[grammar]] name = "edoc" source = { git = "https://github.com/the-mikedavis/tree-sitter-edoc", rev = "74774af7b45dd9cefbf9510328fc6ff2374afc50" } [[language]] name = "jsdoc" scope = "source.jsdoc" injection-regex = "jsdoc" file-types = ["jsdoc"] roots = [] indent = { tab-width = 2, unit = " " } [[grammar]] name = "jsdoc" source = { git = "https://github.com/tree-sitter/tree-sitter-jsdoc", rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db" } [[language]] name = "openscad" scope = "source.openscad" injection-regex = "openscad" file-types = ["scad"] roots = [] comment-token = "//" language-server = { command = "openscad-lsp", args = ["--stdio"] } indent = { tab-width = 2, unit = "\t" } [[grammar]] name = "openscad" source = { git = "https://github.com/bollian/tree-sitter-openscad", rev = "5c3ce93df0ac1da7197cf6ae125aade26d6b8972" } [[language]] name = "prisma" scope = "source.prisma" injection-regex = "prisma" file-types = ["prisma"] roots = ["package.json"] comment-token = "//" language-server = { command = "prisma-language-server", args = ["--stdio"] } indent = { tab-width = 2, unit = " " } [[grammar]] name = "prisma" source = { git = "https://github.com/victorhqc/tree-sitter-prisma", rev = "eca2596a355b1a9952b4f80f8f9caed300a272b5" } [[language]] name = "clojure" scope = "source.clojure" injection-regex = "(clojure|clj|edn|boot)" file-types = ["clj", "cljs", "cljc", "clje", "cljr", "cljx", "edn", "boot"] roots = ["project.clj", "build.boot", "deps.edn", "shadow-cljs.edn"] comment-token = ";" language-server = { command = "clojure-lsp" } indent = { tab-width = 2, unit = " " } [[grammar]] name = "clojure" source = { git = "https://github.com/sogaiu/tree-sitter-clojure", rev = "e57c569ae332ca365da623712ae1f50f84daeae2" } [[language]] name = "starlark" scope = "source.starlark" injection-regex = "(starlark|bzl|bazel)" file-types = ["bzl", "bazel", "BUILD"] roots = [] comment-token = "#" indent = { tab-width = 4, unit = " " } grammar = "python" [[language]] name = "elvish" scope = "source.elvish" file-types = ["elv"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "elvish", args = ["-lsp"] } grammar = "elvish" [[grammar]] name = "elvish" source = { git = "https://github.com/ckafi/tree-sitter-elvish", rev = "e50787cadd3bc54f6d9c0704493a79078bb8a4e5" } [[language]] name = "idris" scope = "source.idr" injection-regex = "idr" file-types = ["idr"] shebangs = [] roots = [] comment-token = "--" indent = { tab-width = 2, unit = " " } language-server = { command = "idris2-lsp" } [[language]] name = "fortran" scope = "source.fortran" injection-regex = "fortran" file-types = ["f", "for", "f90", "f95", "f03"] roots = ["fpm.toml"] comment-token = "!" indent = { tab-width = 4, unit = " "} language-server = { command = "fortls", args = ["--lowercase_intrinsics"] } [[grammar]] name = "fortran" source = { git = "https://github.com/stadelmanma/tree-sitter-fortran", rev = "f0f2f100952a353e64e26b0fa710b4c296d7af13" } [[language]] name = "ungrammar" scope = "source.ungrammar" injection-regex = "ungrammar" file-types = ["ungram", "ungrammar"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } [[grammar]] name = "ungrammar" source = { git = "https://github.com/Philipp-M/tree-sitter-ungrammar", rev = "0113de880a58ea14f2a75802e9b99fcc25003d9c" } [[language]] name = "dot" scope = "source.dot" injection-regex = "dot" file-types = ["dot"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } language-server = { command = "dot-language-server", args = ["--stdio"] } [[grammar]] name = "dot" source = { git = "https://github.com/rydesun/tree-sitter-dot", rev = "917230743aa10f45a408fea2ddb54bbbf5fbe7b7" } [[language]] name = "cue" scope = "source.cue" injection-regex = "cue" file-types = ["cue"] roots = ["cue.mod"] auto-format = true comment-token = "//" language-server = { command = "cuelsp" } indent = { tab-width = 4, unit = "\t" } formatter = { command = "cue", args = ["fmt", "-"] } [[grammar]] name = "cue" source = { git = "https://github.com/eonpatapon/tree-sitter-cue", rev = "61843e3beebf19417e4fede4e8be4df1084317ad" } [[language]] name = "slint" scope = "source.slint" injection-regex = "slint" file-types = ["slint"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } language-server = { command = "slint-lsp", args = [] } [[grammar]] name = "slint" source = { git = "https://github.com/jrmoulton/tree-sitter-slint", rev = "0d4dda94f96623302dfc234e06be62a5717f47da" } [[language]] name = "task" scope = "source.task" injection-regex = "task" file-types = ["task"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "task" source = { git = "https://github.com/alexanderbrevig/tree-sitter-task", rev = "f2cb435c5dbf3ee19493e224485d977cb2d36d8b" } [[language]] name = "xit" scope = "source.xit" injection-regex = "xit" file-types = ["xit"] roots = [] indent = { tab-width = 4, unit = " " } [[grammar]] name = "xit" source = { git = "https://github.com/synaptiko/tree-sitter-xit", rev = "7d7902456061bc2ad21c64c44054f67b5515734c" } [[language]] name = "esdl" scope = "source.esdl" injection-regex = "esdl" file-types = ["esdl"] comment-token = "#" indent = { tab-width = 2, unit = " " } roots = ["edgedb.toml"] [[grammar]] name ="esdl" source = { git = "https://github.com/greym0uth/tree-sitter-esdl", rev = "b840c8a8028127e0a7c6e6c45141adade2bd75cf" } [[language]] name = "pascal" scope = "source.pascal" injection-regex = "pascal" file-types = ["pas", "pp", "inc", "lpr", "lfm"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } language-server = { command = "pasls", args = [] } [[grammar]] name = "pascal" source = { git = "https://github.com/Isopod/tree-sitter-pascal", rev = "2fd40f477d3e2794af152618ccfac8d92eb72a66" } [[language]] name = "sml" scope = "source.sml" injection-regex = "sml" file-types = ["sml"] comment-token = "(*" roots = [] [[grammar]] name = "sml" source = { git = "https://github.com/Giorbo/tree-sitter-sml", rev = "bd4055d5554614520d4a0706b34dc0c317c6b608" } [[language]] name = "jsonnet" scope = "source.jsonnet" file-types = ["libsonnet", "jsonnet"] roots = ["jsonnetfile.json"] comment-token = "//" indent = { tab-width = 2, unit = " " } language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] } [[grammar]] name = "jsonnet" source = { git = "https://github.com/sourcegraph/tree-sitter-jsonnet", rev = "0475a5017ad7dc84845d1d33187f2321abcb261d" } [[language]] name = "astro" scope = "source.astro" injection-regex = "astro" file-types = ["astro"] roots = [] indent = { tab-width = 2, unit = " " } [[grammar]] name = "astro" source = { git = "https://github.com/virchau13/tree-sitter-astro", rev = "5f5c3e73c45967df9aa42f861fad2d77cd4e0900" } [[language]] name = "bass" scope = "source.bass" injection-regex = "bass" file-types = ["bass"] roots = [] comment-token = ";" indent = { tab-width = 2, unit = " " } language-server = { command = "bass", args = ["--lsp"] } [[grammar]] name = "bass" source = { git = "https://github.com/vito/tree-sitter-bass", rev = "501133e260d768ed4e1fd7374912ed5c86d6fd90" } [[language]] name = "wat" scope = "source.wat" comment-token = ";;" file-types = ["wat"] roots = [] [[grammar]] name = "wat" source = { git = "https://github.com/wasm-lsp/tree-sitter-wasm", rev = "2ca28a9f9d709847bf7a3de0942a84e912f59088", subpath = "wat" } [[language]] name = "wast" scope = "source.wast" comment-token = ";;" file-types = ["wast"] roots = [] [[grammar]] name = "wast" source = { git = "https://github.com/wasm-lsp/tree-sitter-wasm", rev = "2ca28a9f9d709847bf7a3de0942a84e912f59088", subpath = "wast" } [[language]] name = "d" scope = "source.d" file-types = [ "d", "dd" ] roots = [] comment-token = "//" injection-regex = "d" indent = { tab-width = 4, unit = " "} language-server = { command = "serve-d" } formatter = { command = "dfmt" } [[grammar]] name = "d" source = { git = "https://github.com/gdamore/tree-sitter-d", rev="601c4a1e8310fb2f3c43fa8a923d0d27497f3c04" } [[language]] name = "vhs" scope = "source.vhs" file-types = ["tape"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } grammar = "vhs" [[grammar]] name = "vhs" source = { git = "https://github.com/charmbracelet/tree-sitter-vhs", rev = "c6d81f34c011c29ee86dd73b45a8ecc9f2e2bdaf" } [[language]] name = "kdl" scope = "source.kdl" file-types = ["kdl"] roots = [] comment-token = "//" injection-regex = "kdl" [[grammar]] name = "kdl" source = { git = "https://github.com/Unoqwy/tree-sitter-kdl", rev = "e1cd292c6d15df6610484e1d4b5c987ecad52373" } [[language]] name = "xml" scope = "source.xml" injection-regex = "xml" file-types = ["xml", "mobileconfig", "plist", "xib", "storyboard", "svg", "xsd"] indent = { tab-width = 2, unit = " " } roots = [] [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' "'" = "'" "<" = ">" [[grammar]] name = "xml" source = { git = "https://github.com/RenjiSann/tree-sitter-xml", rev = "48a7c2b6fb9d515577e115e6788937e837815651" } [[language]] name = "dtd" scope = "source.dtd" injection-regex = "dtd" file-types = ["dtd", "ent"] indent = {tab-width = 2, unit = " "} roots = [] [language.auto-pairs] '(' = ')' '[' = ']' '"' = '"' "'" = "'" '<' = '>' [[grammar]] name = "dtd" source = { git = "https://github.com/KMikeeU/tree-sitter-dtd", rev = "6116becb02a6b8e9588ef73d300a9ba4622e156f"} [[language]] name = "wit" scope = "source.wit" injection-regex = "wit" file-types = ["wit"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' "'" = "'" "<" = ">" [[grammar]] name = "wit" source = { git = "https://github.com/hh9527/tree-sitter-wit", rev = "c917790ab9aec50c5fd664cbfad8dd45110cfff3" } [[language]] name = "env" scope = "source.env" file-types = [".env", ".env.local", ".env.development", ".env.production", ".env.dist", ".envrc"] injection-regex = "env" comment-token = "#" indent = { tab-width = 4, unit = "\t" } roots = [] grammar = "bash" [[language]] name = "ini" scope = "source.ini" file-types = ["ini"] injection-regex = "ini" comment-token = "#" indent = { tab-width = 4, unit = "\t" } roots = [] [[grammar]] name = "ini" source = { git = "https://github.com/justinmk/tree-sitter-ini", rev = "4d247fb876b4ae6b347687de4a179511bf67fcbc" } [[language]] name = "bicep" scope = "source.bicep" file-types = ["bicep"] roots = [] auto-format = true comment-token = "//" indent = { tab-width = 2, unit = " "} language-server = { command = "bicep-langserver" } [[grammar]] name = "bicep" source = { git = "https://github.com/the-mikedavis/tree-sitter-bicep", rev = "d8e097fcfa143854861ef737161163a09cc2916b" } [[language]] name = "qml" scope = "source.qml" file-types = ["qml"] roots = [] language-server = { command = "qmlls" } indent = { tab-width = 4, unit = " " } grammar = "qmljs" [[grammar]] name = "qmljs" source = { git = "https://github.com/yuja/tree-sitter-qmljs", rev = "0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1" } [[language]] name = "mermaid" scope = "source.mermaid" injection-regex = "mermaid" file-types = ["mermaid"] roots = [] comment-token = "%%" indent = { tab-width = 4, unit = " " } [[grammar]] name = "mermaid" source = { git = "https://github.com/monaqa/tree-sitter-mermaid", rev = "d787c66276e7e95899230539f556e8b83ee16f6d" } [[language]] name = "matlab" scope = "source.m" file-types = ["m"] comment-token = "%" shebangs = ["octave-cli", "matlab"] roots = [] indent = { tab-width = 2, unit = " " } [[grammar]] name = "matlab" source = { git = "https://github.com/mstanciu552/tree-sitter-matlab", rev = "2d5d3d5193718a86477d4335aba5b34e79147326" } [[language]] name = "ponylang" scope = "source.pony" file-types = ["pony"] injection-regex = "pony" roots = ["corral.json", "lock.json"] indent = { tab-width = 2, unit = " " } comment-token = "//" [[grammar]] name = "ponylang" source = { git = "https://github.com/mfelsche/tree-sitter-ponylang", rev = "ef66b151bc2604f431b5668fcec4747db4290e11" } [[language]] name = "dhall" scope = "source.dhall" injection-regex = "dhall" file-types = ["dhall"] roots = [] comment-token = "--" indent = { tab-width = 2, unit = " " } language-server = { command = "dhall-lsp-server" } formatter = { command = "dhall" , args = ["format"] } [[grammar]] name = "dhall" source = { git = "https://github.com/jbellerb/tree-sitter-dhall", rev = "affb6ee38d629c9296749767ab832d69bb0d9ea8" } [[language]] name = "sage" scope = "source.sage" file-types = ["sage"] injection-regex = "sage" roots = [] comment-token = "#" indent = { tab-width = 4, unit = " " } grammar = "python" [[language]] name = "msbuild" scope = "source.msbuild" injection-regex = "msbuild" file-types = ["proj", "vbproj", "csproj", "fsproj", "targets", "props"] indent = { tab-width = 2, unit = " " } roots = [] grammar = "xml" [language.auto-pairs] '(' = ')' '{' = '}' '[' = ']' '"' = '"' "'" = "'" "<" = ">" [[language]] name = "pem" scope = "source.pem" file-types = ["pem", "cert", "crt"] injection-regex = "pem" roots = [] grammar = "pem" [[grammar]] name = "pem" source = { git = "https://github.com/mtoohey31/tree-sitter-pem", rev = "be67a4330a1aa507c7297bc322204f936ec1132c" } [[language]] name = "passwd" scope = "source.passwd" file-types = ["passwd"] roots = [] [[grammar]] name = "passwd" source = { git = "https://github.com/ath3/tree-sitter-passwd", rev = "20239395eacdc2e0923a7e5683ad3605aee7b716" } [[language]] name = "hosts" scope = "source.hosts" file-types = ["hosts"] roots = [] comment-token = "#" [[grammar]] name = "hosts" source = { git = "https://github.com/ath3/tree-sitter-hosts", rev = "301b9379ce7dfc8bdbe2c2699a6887dcb73953f9" } [[language]] name = "uxntal" scope = "source.tal" injection-regex = "tal" file-types = ["tal"] roots = [] auto-format = false comment-token = "(" [[grammar]] name = "uxntal" source = { git = "https://github.com/Jummit/tree-sitter-uxntal", rev = "9297e95ef74380b0ad84c4fd98f91e9f6e4319e6" } [[language]] name = "yuck" scope = "source.yuck" injection-regex = "yuck" file-types = ["yuck"] roots = [] comment-token = ";" indent = { tab-width = 2, unit = " " } [[grammar]] name = "yuck" source = { git = "https://github.com/Philipp-M/tree-sitter-yuck", rev = "e3d91a3c65decdea467adebe4127b8366fa47919" } [[language]] name = "prql" scope = "source.prql" injection-regex = "prql" file-types = ["prql"] roots = [] comment-token = "#" indent = { tab-width = 4, unit = " " } [[grammar]] name = "prql" source = { git = "https://github.com/PRQL/tree-sitter-prql", rev = "3f27cac466f030ee7d985d91eba5470e01dd21ea" } [[language]] name = "po" scope = "source.po" file-types = ["po", "pot"] roots = [] comment-token = "#" [[grammar]] name = "po" source = { git = "https://github.com/erasin/tree-sitter-po", rev = "417cee9abb2053ed26b19e7de972398f2da9b29e" } [[language]] name = "nasm" scope = "source.nasm" file-types = ["asm", "s", "S", "nasm"] injection-regex = "n?asm" roots = [] comment-token = ";" indent = { tab-width = 8, unit = " " } [[grammar]] name = "nasm" source = { git = "https://github.com/naclsn/tree-sitter-nasm", rev = "a0db15db6fcfb1bf2cc8702500e55e558825c48b" } [[language]] name = "rst" scope = "source.rst" comment-token = ".." file-types = ["rst"] roots = [] [[grammar]] name = "rst" source = { git = "https://github.com/stsewd/tree-sitter-rst", rev = "25e6328872ac3a764ba8b926aea12719741103f1" } [[language]] name = "capnp" scope = "source.capnp" injection-regex = "capnp" file-types = ["capnp"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "capnp" source = { git = "https://github.com/amaanq/tree-sitter-capnp", rev = "fc6e2addf103861b9b3dffb82c543eb6b71061aa" } [[language]] name = "smithy" scope = "source.smithy" injection-regex = "smithy" file-types = ["smithy"] roots = ["smithy-build.json"] comment-token = "//" indent = { tab-width = 4, unit = " " } language-server = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] } [[grammar]] name = "smithy" source = { git = "https://github.com/indoorvivants/tree-sitter-smithy", rev = "cf8c7eb9faf7c7049839585eac19c94af231e6a0" } [[language]] name = "vhdl" scope = "source.vhdl" file-types = ["vhd", "vhdl"] roots = [] comment-token = "--" language-server = { command = "vhdl_ls", args = [] } indent = { tab-width = 2, unit = " " } injection-regex = "vhdl" [[grammar]] name = "vhdl" source = { git = "https://github.com/teburd/tree-sitter-vhdl", rev = "c57313adee2231100db0a7880033f6865deeadb2" } [[language]] name = "rego" roots = [] scope = "source.rego" injection-regex = "rego" file-types = ["rego"] auto-format = true comment-token = "#" language-server = { command = "regols" } grammar = "rego" [[grammar]] name = "rego" source = { git = "https://github.com/FallenAngel97/tree-sitter-rego", rev = "b2667c975f07b33be3ceb83bea5cfbad88095866" } [[language]] name = "nim" scope = "source.nim" injection-regex = "nim" file-types = ["nim", "nims", "nimble"] shebangs = [] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "nimlangserver" } [language.auto-pairs] '(' = ')' '[' = ']' '"' = '"' "'" = "'" '{' = '}' # Nim's tree-sitter grammar is in heavy development. [[grammar]] name = "nim" source = { git = "https://github.com/aMOPel/tree-sitter-nim", rev = "240239b232550e431d67de250d1b5856209e7f06" } [[language]] name = "cabal" scope = "source.cabal" file-types = [ "cabal" ] roots = ["cabal.project", "Setup.hs"] indent = { tab-width = 2, unit = " " } comment-token = "--" [[grammar]] name = "cabal" source = { git = "https://gitlab.com/magus/tree-sitter-cabal", rev = "7d5fa6887ae05a0b06d046f1e754c197c8ad869b" } [[language]] name = "hurl" scope = "source.hurl" injection-regex = "hurl" file-types = ["hurl"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } [[grammar]] name = "hurl" source = { git = "https://github.com/pfeiferj/tree-sitter-hurl", rev = "264c42064b61ee21abe88d0061f29a0523352e22" } [[language]] name = "markdoc" scope = "text.markdoc" roots = [] file-types = ["mdoc"] language-server = { command = "markdoc-ls", args = ["--stdio"] } [[grammar]] name = "markdoc" source = { git = "https://github.com/markdoc-extra/tree-sitter-markdoc", rev = "5ffe71b29e8a3f94823913ea9cea51fcfa7e3bf8" } [[language]] name = "opencl" scope = "source.cl" injection-regex = "(cl|opencl)" file-types = ["cl"] roots = [] comment-token = "//" language-server = { command = "clangd" } [[grammar]] name = "opencl" source = { git = "https://github.com/lefp/tree-sitter-opencl", rev = "8e1d24a57066b3cd1bb9685bbc1ca9de5c1b78fb" } [[language]] name = "just" scope = "source.just" file-types = ["justfile", "Justfile", "just"] injection-regex = "just" roots = [] comment-token = "#" indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "just" source = { git = "https://github.com/IndianBoy42/tree-sitter-just", rev = "8af0aab79854aaf25b620a52c39485849922f766" }