{
  "//": "Every language Code Carta knows, and the servers for those that have one. An entry with an empty `candidates` is a language nobody publishes a server for that we could find and run; it is here for everything else an entry says, which is what files are in the language and what a comment starts with. Compiled into the binary as the floor, and published at https://codecarta.com/servers/v1/catalog.json as the living version, which is why the two are one file. The `install` arrays are written by `carta-catalog stamp`, which asks each project's release API what it published and records the checksum of exactly those bytes; an entry with no sha256 is refused at install time, because the whole of the safety here is knowing what we are about to run. Adding a language is an edit to this file rather than a release, and adding an installable one is an entry in packaging/catalog/sources.json. `line_comment` is what a line comment starts with, for the editor's comment command; a language with no line form simply has none. `build_dir` is for the two servers that read the build rather than the source: it says what marks a build directory and how that server wants to be told where it is, and without it clangd invents its compiler flags and qmlls cannot resolve the project's own modules.",
  "version": 1,
  "servers": [
    {
      "language_id": "rust",
      "label": "Rust",
      "extensions": [
        "rs"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "rust-analyzer",
          "beside": [
            [
              "rustup",
              "~/.rustup/toolchains/*/bin/rust-analyzer"
            ]
          ]
        }
      ],
      "init_options": "{\"checkOnSave\":false}",
      "checking_options": "{\"checkOnSave\":true,\"cargo\":{\"targetDir\":true}}",
      "about": "The Rust compiler team's own language server.",
      "home": "https://rust-analyzer.github.io",
      "licence": "MIT OR Apache-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "2026-09-14",
          "url": "https://github.com/rust-lang/rust-analyzer/releases/download/2026-09-14/rust-analyzer-x86_64-unknown-linux-gnu.gz",
          "sha256": "7609ba53f85cd80a3bde77a4b2e94e304d0f94650e4f4cffc061b9bca454ba75",
          "size": 14853937,
          "kind": "gz",
          "run": "rust-analyzer"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "2026-09-14",
          "url": "https://github.com/rust-lang/rust-analyzer/releases/download/2026-09-14/rust-analyzer-aarch64-unknown-linux-gnu.gz",
          "sha256": "3d32c50aebf9288c2fd11b559813441bdff2aa57fbbb7177ad0ffe5ac4e9ad3d",
          "size": 14327723,
          "kind": "gz",
          "run": "rust-analyzer"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "2026-09-14",
          "url": "https://github.com/rust-lang/rust-analyzer/releases/download/2026-09-14/rust-analyzer-x86_64-apple-darwin.gz",
          "sha256": "58d827adc7bde3b8986ff52795484f462564a2beed3ba4f4b2cbc3cfd58ae05e",
          "size": 14637240,
          "kind": "gz",
          "run": "rust-analyzer"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "2026-09-14",
          "url": "https://github.com/rust-lang/rust-analyzer/releases/download/2026-09-14/rust-analyzer-aarch64-apple-darwin.gz",
          "sha256": "0c579403271f4021eb1efdfaa9bedb43e099595d02a02ee9b1f34c6c51a3ac26",
          "size": 13877061,
          "kind": "gz",
          "run": "rust-analyzer"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "2026-09-14",
          "url": "https://github.com/rust-lang/rust-analyzer/releases/download/2026-09-14/rust-analyzer-x86_64-pc-windows-msvc.zip",
          "sha256": "631ea40942cbc1e70a3465218f27f49fd73d82d9c0dd21e5279d8417f7f2dd93",
          "size": 17515427,
          "kind": "zip",
          "run": "rust-analyzer.exe"
        }
      ]
    },
    {
      "language_id": "cpp",
      "label": "C, C++ and Objective-C",
      "writes": [
        ".cache/clangd"
      ],
      "extensions": [
        "c",
        "cc",
        "cpp",
        "cxx",
        "c++",
        "h",
        "hpp",
        "hh",
        "hxx",
        "h++",
        "inl",
        "ipp",
        "cu",
        "cuh",
        "m",
        "mm"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "clangd",
          "args": [
            "--background-index"
          ],
          "beside": [
            [
              "llvm",
              "/usr/lib/llvm-*/bin/clangd"
            ],
            [
              "Homebrew",
              "/opt/homebrew/opt/llvm/bin/clangd"
            ],
            [
              "Homebrew",
              "/usr/local/opt/llvm/bin/clangd"
            ],
            [
              "Xcode",
              "/Library/Developer/CommandLineTools/usr/bin/clangd"
            ],
            [
              "Visual Studio",
              "C:/Program Files/Microsoft Visual Studio/*/Community/VC/Tools/Llvm/bin/clangd.exe"
            ]
          ]
        }
      ],
      "about": "LLVM's C and C++ server. Needs a compile_commands.json to say anything useful, which CMake writes given -DCMAKE_EXPORT_COMPILE_COMMANDS=ON.",
      "home": "https://clangd.llvm.org",
      "licence": "Apache-2.0 WITH LLVM-exception",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "22.1.6",
          "url": "https://github.com/clangd/clangd/releases/download/22.1.6/clangd-linux-22.1.6.zip",
          "sha256": "a9c77443af2e447ed467e84771848d3a6ac1c56f84bcfcde717e66318de77cfa",
          "size": 114790601,
          "kind": "zip",
          "run": "clangd_22.1.6/bin/clangd"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "22.1.6",
          "url": "https://github.com/clangd/clangd/releases/download/22.1.6/clangd-mac-22.1.6.zip",
          "sha256": "631aef462556cbd74e0ebaae1778a38d1997d0ba3371652ca54f82652a179e7d",
          "size": 98113276,
          "kind": "zip",
          "run": "clangd_22.1.6/bin/clangd"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "22.1.6",
          "url": "https://github.com/clangd/clangd/releases/download/22.1.6/clangd-windows-22.1.6.zip",
          "sha256": "ce54f16e0b4fd76d450eeda9664420b195360b73febcfe40e661108fa57f2ce1",
          "size": 28198778,
          "kind": "zip",
          "run": "clangd_22.1.6/bin/clangd.exe"
        }
      ],
      "build_dir": {
        "flag": "--compile-commands-dir=",
        "markers": [
          "compile_commands.json"
        ],
        "called": "a compile_commands.json"
      },
      "short": "C++"
    },
    {
      "language_id": "qml",
      "label": "QML",
      "extensions": [
        "qml"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "qmlls",
          "extras": [
            {
              "found": [
                "/usr/share/doc/qt6/qtquick",
                "/usr/share/qt6/doc/qtquick",
                "~/Qt/Docs/Qt-*/qtquick",
                "/opt/homebrew/share/qt/doc/qtquick",
                "/usr/local/share/qt/doc/qtquick",
                "C:/Qt/Docs/Qt-*/qtquick"
              ],
              "args": [
                "--doc-dir",
                "{found}/.."
              ]
            }
          ],
          "beside": [
            [
              "Qt",
              "/usr/lib/qt6/bin/qmlls"
            ],
            [
              "Qt",
              "/usr/lib/qt5/bin/qmlls"
            ],
            [
              "Qt",
              "/usr/lib/x86_64-linux-gnu/qt6/bin/qmlls"
            ],
            [
              "Qt",
              "/usr/lib/aarch64-linux-gnu/qt6/bin/qmlls"
            ],
            [
              "Qt",
              "~/Qt/*/gcc_64/bin/qmlls"
            ],
            [
              "Homebrew",
              "/opt/homebrew/opt/qt/bin/qmlls"
            ],
            [
              "Homebrew",
              "/usr/local/opt/qt/bin/qmlls"
            ],
            [
              "Qt",
              "~/Qt/*/macos/bin/qmlls"
            ],
            [
              "Xcode",
              "/Applications/Qt/*/macos/bin/qmlls"
            ],
            [
              "Qt",
              "C:/Qt/*/msvc2022_64/bin/qmlls.exe"
            ],
            [
              "Qt",
              "C:/Qt/*/mingw_64/bin/qmlls.exe"
            ],
            [
              "Qt",
              "~/Qt/*/msvc2022_64/bin/qmlls.exe"
            ]
          ]
        }
      ],
      "about": "Ships with Qt, and it has to be their Qt: qmlls resolves imports against the version it came with, so a copy of ours would answer about a different QML than the one being built.",
      "home": "https://doc.qt.io/qt-6/qtquick-tool-qmlls.html",
      "licence": "GPL-3.0 OR LicenseRef-Qt-Commercial",
      "install": [],
      "build_dir": {
        "flag": "-b",
        "markers": [
          "CMakeCache.txt",
          ".qmlls.ini",
          "build.ninja"
        ],
        "called": "a CMake or Ninja build directory"
      }
    },
    {
      "language_id": "kotlin",
      "label": "Kotlin",
      "extensions": [
        "kt",
        "kts"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "kotlin-language-server",
          "beside": [
            [
              "kotlin",
              "~/.local/share/kotlin-language-server/bin/kotlin-language-server"
            ]
          ]
        }
      ],
      "requires": [
        "java"
      ],
      "about": "Community Kotlin server. Runs on the JVM, so a Java runtime has to be on the PATH.",
      "home": "https://github.com/fwcd/kotlin-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "1.3.13",
          "url": "https://github.com/fwcd/kotlin-language-server/releases/download/1.3.13/server.zip",
          "sha256": "4fe7d71d087b307c7869036171bd9d8c6a4284cd7c25b89098b0a24eb2d9b6d2",
          "size": 87291855,
          "kind": "zip",
          "run": "server/bin/kotlin-language-server"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "1.3.13",
          "url": "https://github.com/fwcd/kotlin-language-server/releases/download/1.3.13/server.zip",
          "sha256": "4fe7d71d087b307c7869036171bd9d8c6a4284cd7c25b89098b0a24eb2d9b6d2",
          "size": 87291855,
          "kind": "zip",
          "run": "server/bin/kotlin-language-server"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "1.3.13",
          "url": "https://github.com/fwcd/kotlin-language-server/releases/download/1.3.13/server.zip",
          "sha256": "4fe7d71d087b307c7869036171bd9d8c6a4284cd7c25b89098b0a24eb2d9b6d2",
          "size": 87291855,
          "kind": "zip",
          "run": "server/bin/kotlin-language-server"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "1.3.13",
          "url": "https://github.com/fwcd/kotlin-language-server/releases/download/1.3.13/server.zip",
          "sha256": "4fe7d71d087b307c7869036171bd9d8c6a4284cd7c25b89098b0a24eb2d9b6d2",
          "size": 87291855,
          "kind": "zip",
          "run": "server/bin/kotlin-language-server"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "1.3.13",
          "url": "https://github.com/fwcd/kotlin-language-server/releases/download/1.3.13/server.zip",
          "sha256": "4fe7d71d087b307c7869036171bd9d8c6a4284cd7c25b89098b0a24eb2d9b6d2",
          "size": 87291855,
          "kind": "zip",
          "run": "server/bin/kotlin-language-server.bat"
        }
      ]
    },
    {
      "language_id": "python",
      "label": "Python",
      "extensions": [
        "py",
        "pyi"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "pyright-langserver",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "basedpyright-langserver",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "pylsp"
        },
        {
          "program": "jedi-language-server"
        },
        {
          "program": "ruff",
          "args": [
            "server"
          ]
        }
      ],
      "about": "Microsoft's Python type checker and language server, the one behind Pylance. Whichever of these is here answers first, the ones that know types before the one that lints.",
      "home": "https://github.com/microsoft/pyright",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "1.1.414",
          "url": "https://codecarta.com/servers/v1/bundles/pyright-1.1.414.tar.gz",
          "sha256": "7d08361ce7699c514e241c6f315d1e8a0caf98b21b47096707ffcd8fad514aa8",
          "size": 4023719,
          "kind": "tar.gz",
          "run": "node_modules/pyright/langserver.index.js",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "typescript",
      "label": "TypeScript",
      "extensions": [
        "ts",
        "tsx",
        "mts",
        "cts"
      ],
      "line_comment": "//",
      "init_options": "{\"preferences\":{\"providePrefixAndSuffixTextForRename\":false}}",
      "candidates": [
        {
          "program": "vtsls",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "typescript-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "A wrapper around the TypeScript compiler's own services, so it needs node and the project's own typescript.",
      "home": "https://github.com/typescript-language-server/typescript-language-server",
      "licence": "Apache-2.0",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "6.0.0",
          "url": "https://codecarta.com/servers/v1/bundles/typescript-6.0.0.tar.gz",
          "sha256": "dd41fa64daa47eed312c92d06ece6fc13aa3b8dcd85f05222cabac9517ab30f2",
          "size": 4925696,
          "kind": "tar.gz",
          "run": "node_modules/typescript-language-server/lib/cli.mjs",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ],
      "short": "TS"
    },
    {
      "language_id": "javascript",
      "label": "JavaScript",
      "extensions": [
        "js",
        "jsx",
        "mjs",
        "cjs"
      ],
      "line_comment": "//",
      "init_options": "{\"preferences\":{\"providePrefixAndSuffixTextForRename\":false}}",
      "candidates": [
        {
          "program": "vtsls",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "typescript-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "The same server as TypeScript: it answers about both, and a project with a jsconfig.json gets most of the same resolution.",
      "home": "https://github.com/typescript-language-server/typescript-language-server",
      "licence": "Apache-2.0",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "6.0.0",
          "url": "https://codecarta.com/servers/v1/bundles/typescript-6.0.0.tar.gz",
          "sha256": "dd41fa64daa47eed312c92d06ece6fc13aa3b8dcd85f05222cabac9517ab30f2",
          "size": 4925696,
          "kind": "tar.gz",
          "run": "node_modules/typescript-language-server/lib/cli.mjs",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ],
      "short": "JS"
    },
    {
      "language_id": "go",
      "label": "Go",
      "extensions": [
        "go"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "gopls",
          "beside": [
            [
              "Go",
              "~/go/bin/gopls"
            ],
            [
              "Go",
              "~/.local/share/go/bin/gopls"
            ],
            [
              "mise",
              "~/.local/share/mise/installs/go/*/bin/gopls"
            ]
          ]
        }
      ],
      "get": "go install golang.org/x/tools/gopls@latest",
      "about": "The Go team's own server. Published through the Go module proxy rather than as a binary, so `go install golang.org/x/tools/gopls@latest` is how it arrives; this finds it wherever that put it.",
      "home": "https://pkg.go.dev/golang.org/x/tools/gopls",
      "licence": "BSD-3-Clause",
      "install": []
    },
    {
      "language_id": "java",
      "label": "Java",
      "extensions": [
        "java"
      ],
      "line_comment": "//",
      "init_options": "{\"settings\":{\"java\":{\"signatureHelp\":{\"enabled\":true}}}}",
      "candidates": [
        {
          "program": "jdtls",
          "beside": [
            [
              "Eclipse",
              "~/.local/share/jdtls/bin/jdtls"
            ]
          ]
        }
      ],
      "requires": [
        "java"
      ],
      "about": "Eclipse JDT, which is what most Java tooling is underneath. Runs on the JVM.",
      "home": "https://github.com/eclipse-jdtls/eclipse.jdt.ls",
      "licence": "EPL-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "1.61.0",
          "url": "https://download.eclipse.org/jdtls/milestones/1.61.0/jdt-language-server-1.61.0-202609031315.tar.gz",
          "sha256": "338e7e73d61836651ba2453919a0d34fa763eb4e7c03342092309bffb8934c64",
          "size": 51037522,
          "kind": "tar.gz",
          "run": "plugins/org.eclipse.equinox.launcher_*.jar",
          "runs_on": "java",
          "args": [
            "-Declipse.application=org.eclipse.jdt.ls.core.id1",
            "-Dosgi.bundles.defaultStartLevel=4",
            "-Declipse.product=org.eclipse.jdt.ls.core.product",
            "-Dlog.level=ALL",
            "-Xmx1G",
            "--add-modules=ALL-SYSTEM",
            "--add-opens",
            "java.base/java.util=ALL-UNNAMED",
            "--add-opens",
            "java.base/java.lang=ALL-UNNAMED",
            "-jar",
            "{run}",
            "-configuration",
            "{install}/config_linux",
            "-data",
            "{workspace}"
          ]
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "1.61.0",
          "url": "https://download.eclipse.org/jdtls/milestones/1.61.0/jdt-language-server-1.61.0-202609031315.tar.gz",
          "sha256": "338e7e73d61836651ba2453919a0d34fa763eb4e7c03342092309bffb8934c64",
          "size": 51037522,
          "kind": "tar.gz",
          "run": "plugins/org.eclipse.equinox.launcher_*.jar",
          "runs_on": "java",
          "args": [
            "-Declipse.application=org.eclipse.jdt.ls.core.id1",
            "-Dosgi.bundles.defaultStartLevel=4",
            "-Declipse.product=org.eclipse.jdt.ls.core.product",
            "-Dlog.level=ALL",
            "-Xmx1G",
            "--add-modules=ALL-SYSTEM",
            "--add-opens",
            "java.base/java.util=ALL-UNNAMED",
            "--add-opens",
            "java.base/java.lang=ALL-UNNAMED",
            "-jar",
            "{run}",
            "-configuration",
            "{install}/config_linux_arm",
            "-data",
            "{workspace}"
          ]
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "1.61.0",
          "url": "https://download.eclipse.org/jdtls/milestones/1.61.0/jdt-language-server-1.61.0-202609031315.tar.gz",
          "sha256": "338e7e73d61836651ba2453919a0d34fa763eb4e7c03342092309bffb8934c64",
          "size": 51037522,
          "kind": "tar.gz",
          "run": "plugins/org.eclipse.equinox.launcher_*.jar",
          "runs_on": "java",
          "args": [
            "-Declipse.application=org.eclipse.jdt.ls.core.id1",
            "-Dosgi.bundles.defaultStartLevel=4",
            "-Declipse.product=org.eclipse.jdt.ls.core.product",
            "-Dlog.level=ALL",
            "-Xmx1G",
            "--add-modules=ALL-SYSTEM",
            "--add-opens",
            "java.base/java.util=ALL-UNNAMED",
            "--add-opens",
            "java.base/java.lang=ALL-UNNAMED",
            "-jar",
            "{run}",
            "-configuration",
            "{install}/config_mac",
            "-data",
            "{workspace}"
          ]
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "1.61.0",
          "url": "https://download.eclipse.org/jdtls/milestones/1.61.0/jdt-language-server-1.61.0-202609031315.tar.gz",
          "sha256": "338e7e73d61836651ba2453919a0d34fa763eb4e7c03342092309bffb8934c64",
          "size": 51037522,
          "kind": "tar.gz",
          "run": "plugins/org.eclipse.equinox.launcher_*.jar",
          "runs_on": "java",
          "args": [
            "-Declipse.application=org.eclipse.jdt.ls.core.id1",
            "-Dosgi.bundles.defaultStartLevel=4",
            "-Declipse.product=org.eclipse.jdt.ls.core.product",
            "-Dlog.level=ALL",
            "-Xmx1G",
            "--add-modules=ALL-SYSTEM",
            "--add-opens",
            "java.base/java.util=ALL-UNNAMED",
            "--add-opens",
            "java.base/java.lang=ALL-UNNAMED",
            "-jar",
            "{run}",
            "-configuration",
            "{install}/config_mac_arm",
            "-data",
            "{workspace}"
          ]
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "1.61.0",
          "url": "https://download.eclipse.org/jdtls/milestones/1.61.0/jdt-language-server-1.61.0-202609031315.tar.gz",
          "sha256": "338e7e73d61836651ba2453919a0d34fa763eb4e7c03342092309bffb8934c64",
          "size": 51037522,
          "kind": "tar.gz",
          "run": "plugins/org.eclipse.equinox.launcher_*.jar",
          "runs_on": "java",
          "args": [
            "-Declipse.application=org.eclipse.jdt.ls.core.id1",
            "-Dosgi.bundles.defaultStartLevel=4",
            "-Declipse.product=org.eclipse.jdt.ls.core.product",
            "-Dlog.level=ALL",
            "-Xmx1G",
            "--add-modules=ALL-SYSTEM",
            "--add-opens",
            "java.base/java.util=ALL-UNNAMED",
            "--add-opens",
            "java.base/java.lang=ALL-UNNAMED",
            "-jar",
            "{run}",
            "-configuration",
            "{install}/config_win",
            "-data",
            "{workspace}"
          ]
        }
      ]
    },
    {
      "language_id": "ruby",
      "label": "Ruby",
      "extensions": [
        "rb",
        "rake",
        "gemspec"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "ruby-lsp",
          "beside": [
            [
              "a gem",
              "~/.local/share/gem/ruby/*/bin/ruby-lsp"
            ],
            [
              "mise",
              "~/.local/share/mise/installs/ruby/*/bin/ruby-lsp"
            ],
            [
              "rbenv",
              "~/.rbenv/shims/ruby-lsp"
            ]
          ]
        },
        {
          "program": "solargraph",
          "args": [
            "stdio"
          ]
        }
      ],
      "get": "gem install ruby-lsp",
      "helpers": [
        {
          "program": "rubocop",
          "cannot": "reports no mistakes"
        }
      ],
      "about": "Shopify's ruby-lsp first, then solargraph. Both are gems, so they arrive with the project's own Ruby rather than from here. ruby-lsp installs its own gems the first time it starts in a project, which took longer than the handshake allows on 0.27 and reads as a server that would not start; the second start is quick. Its diagnostics are rubocop's.",
      "home": "https://shopify.github.io/ruby-lsp/",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "php",
      "label": "PHP",
      "extensions": [
        "php"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "intelephense",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "phpactor",
          "args": [
            "language-server"
          ],
          "beside": [
            [
              "phpactor.phar",
              "~/.local/bin/phpactor"
            ],
            [
              "Composer",
              "~/.config/composer/vendor/bin/phpactor"
            ]
          ]
        }
      ],
      "get": "curl -Lo ~/.local/bin/phpactor https://github.com/phpactor/phpactor/releases/latest/download/phpactor.phar && chmod +x ~/.local/bin/phpactor",
      "about": "intelephense needs node; phpactor is a phar and needs PHP itself.",
      "home": "https://intelephense.com",
      "licence": "Proprietary (free tier)",
      "install": []
    },
    {
      "language_id": "csharp",
      "label": "C#",
      "extensions": [
        "cs"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "csharp-ls",
          "beside": [
            [
              "dotnet tool",
              "~/.dotnet/tools/csharp-ls"
            ]
          ]
        },
        {
          "program": "omnisharp",
          "args": [
            "-lsp"
          ]
        }
      ],
      "requires": [
        "dotnet"
      ],
      "get": "dotnet tool install --global csharp-ls",
      "about": "Both need the .NET SDK, which is also what they read the project from.",
      "home": "https://github.com/razzmatazz/csharp-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "1.39.15",
          "url": "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.39.15/omnisharp-linux-x64-net6.0.tar.gz",
          "sha256": "e34b2ad29c31202b05dbdc1439600f98ea38acf656f84817c52e3dda81879f6c",
          "size": 48545476,
          "kind": "tar.gz",
          "run": "OmniSharp"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "1.39.15",
          "url": "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.39.15/omnisharp-linux-arm64-net6.0.tar.gz",
          "sha256": "f98302d820dc60766f8cb37a4bb3da403b69c162c66c2a3c1c2ee63f89dc9b64",
          "size": 46602153,
          "kind": "tar.gz",
          "run": "OmniSharp"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "1.39.15",
          "url": "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.39.15/omnisharp-osx-x64-net6.0.tar.gz",
          "sha256": "bd2d273aff669645bdac2ee382d3a9c0220381b725a78697c9f6b6df9d22dafb",
          "size": 48326880,
          "kind": "tar.gz",
          "run": "OmniSharp"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "1.39.15",
          "url": "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.39.15/omnisharp-osx-arm64-net6.0.tar.gz",
          "sha256": "ae9ccca3ef1c4a4a3fbae7186a02bbc6c1290d8f4e2c845a214dabaf03cd7103",
          "size": 46408610,
          "kind": "tar.gz",
          "run": "OmniSharp"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "1.39.15",
          "url": "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.39.15/omnisharp-win-x64-net6.0.zip",
          "sha256": "b03eb6b9ac6446fce803b87c0965e94cef5570cc86f47bfefe2f60933d8658e8",
          "size": 52285676,
          "kind": "zip",
          "run": "OmniSharp.exe"
        },
        {
          "os": "windows",
          "arch": "aarch64",
          "version": "1.39.15",
          "url": "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.39.15/omnisharp-win-arm64-net6.0.zip",
          "sha256": "b8294f77e368a85875767f8e3a82cd4f9c8de2ecc727d71d0dd378a9107c4588",
          "size": 50628750,
          "kind": "zip",
          "run": "OmniSharp.exe"
        }
      ]
    },
    {
      "language_id": "swift",
      "label": "Swift",
      "extensions": [
        "swift"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "sourcekit-lsp",
          "beside": [
            [
              "Xcode",
              "/Applications/Xcode.app/Contents/Developer/usr/bin/sourcekit-lsp"
            ],
            [
              "Swift",
              "/usr/lib/swift/bin/sourcekit-lsp"
            ],
            [
              "swiftly",
              "~/.swiftly/bin/sourcekit-lsp"
            ],
            [
              "a swift.org toolchain",
              "~/.local/swift/*/usr/bin/sourcekit-lsp"
            ]
          ]
        }
      ],
      "about": "Ships with the Swift toolchain, and has to be the toolchain the project builds with. On a Linux that is not the one swift.org built for, the toolchain's sourcekit-lsp wants libncurses.so.6 and libxml2.so.2 by those names; a machine that has them under others needs a wrapper that points LD_LIBRARY_PATH at links to them.",
      "home": "https://github.com/swiftlang/sourcekit-lsp",
      "licence": "Apache-2.0",
      "install": []
    },
    {
      "language_id": "lua",
      "label": "Lua",
      "extensions": [
        "lua"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "lua-language-server"
        }
      ],
      "about": "LuaLS. A single self-contained release, which is why this is one of the ones Code Carta can fetch for you.",
      "home": "https://luals.github.io",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "3.19.1",
          "url": "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-linux-x64.tar.gz",
          "sha256": "e9235d2d72ef55bc41cf8c99cda2ed64777682024b4bb81f5dea425060c5cbb8",
          "size": 3677772,
          "kind": "tar.gz",
          "run": "bin/lua-language-server"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "3.19.1",
          "url": "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-linux-arm64.tar.gz",
          "sha256": "abd2572e8fc929dc838a81ffb8473c5bce0bf39bfe8edb4b120b3b623176ce83",
          "size": 2613202,
          "kind": "tar.gz",
          "run": "bin/lua-language-server"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "3.19.1",
          "url": "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-darwin-x64.tar.gz",
          "sha256": "eb373c159cbe556711d7cd316315de2dce969bfd54b31edb7eb9cab2937f2cca",
          "size": 2335154,
          "kind": "tar.gz",
          "run": "bin/lua-language-server"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "3.19.1",
          "url": "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-darwin-arm64.tar.gz",
          "sha256": "0bc077f4447f076b4c92c14e9fd303f5b569eda2ec74b4dca2b55f75fae2e90c",
          "size": 3284464,
          "kind": "tar.gz",
          "run": "bin/lua-language-server"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "3.19.1",
          "url": "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-win32-x64.zip",
          "sha256": "fdb9a59108cf62517813c97fa5549b0e16d1ef0688306bac728b08434db7e4cd",
          "size": 4453980,
          "kind": "zip",
          "run": "bin/lua-language-server.exe"
        }
      ]
    },
    {
      "language_id": "zig",
      "label": "Zig",
      "extensions": [
        "zig",
        "zon"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "zls"
        }
      ],
      "about": "The Zig language server, released as one binary per platform.",
      "home": "https://github.com/zigtools/zls",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.16.0",
          "url": "https://github.com/zigtools/zls/releases/download/0.16.0/zls-x86_64-linux.tar.xz",
          "sha256": "ded6d562a0b86ee878b1ddf70ffab2797ce3cdca3b02d6077548f9d56dff96b6",
          "size": 4016620,
          "kind": "tar.xz",
          "run": "zls"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.16.0",
          "url": "https://github.com/zigtools/zls/releases/download/0.16.0/zls-aarch64-linux.tar.xz",
          "sha256": "430cd293d201eb70ae2519dbc96c854bf8791b8df7fc9392e8d2dc9680a2bed7",
          "size": 3814984,
          "kind": "tar.xz",
          "run": "zls"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.16.0",
          "url": "https://github.com/zigtools/zls/releases/download/0.16.0/zls-x86_64-macos.tar.xz",
          "sha256": "49f716ea96c1aadaecaa5d9c0a50874cbcf443dc42b825f1e7ee35499ad3eb96",
          "size": 1248492,
          "kind": "tar.xz",
          "run": "zls"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.16.0",
          "url": "https://github.com/zigtools/zls/releases/download/0.16.0/zls-aarch64-macos.tar.xz",
          "sha256": "b93ec549f8558a7e85984a840e9276d274f1059b54ade4254296ef4982958359",
          "size": 1080896,
          "kind": "tar.xz",
          "run": "zls"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.16.0",
          "url": "https://github.com/zigtools/zls/releases/download/0.16.0/zls-x86_64-windows.zip",
          "sha256": "35cbb7163224e8cf92d21099c1b1391f2aba927f25d389f021b13a21d40b96dd",
          "size": 4801390,
          "kind": "zip",
          "run": "zls.exe"
        }
      ]
    },
    {
      "language_id": "bash",
      "label": "Shell",
      "extensions": [
        "sh",
        "bash",
        "zsh"
      ],
      "line_comment": "#",
      "helpers": [
        {
          "program": "shellcheck",
          "cannot": "reports no mistakes"
        }
      ],
      "candidates": [
        {
          "program": "bash-language-server",
          "args": [
            "start"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Wraps shellcheck where it is installed, which is where most of its value is.",
      "home": "https://github.com/bash-lsp/bash-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "5.6.0",
          "url": "https://codecarta.com/servers/v1/bundles/bash-language-server-5.6.0.tar.gz",
          "sha256": "495d4d527406f5e4e8c185e88846f1c87bde529235981971c6403ce06bafa4ce",
          "size": 2327579,
          "kind": "tar.gz",
          "run": "node_modules/bash-language-server/out/cli.js",
          "runs_on": "node",
          "args": [
            "{run}",
            "start"
          ]
        }
      ]
    },
    {
      "language_id": "powershell",
      "label": "PowerShell",
      "extensions": [
        "ps1",
        "psm1",
        "psd1"
      ],
      "line_comment": "#",
      "candidates": [],
      "about": "No server, and the entry is here anyway: PowerShell Editor Services is a PowerShell module rather than a program on a PATH, and starting it needs a bundle path and a log path that only the machine it is on can supply. Files are recognised, coloured and their functions named without one.",
      "home": "https://github.com/PowerShell/PowerShellEditorServices",
      "install": []
    },
    {
      "language_id": "toml",
      "label": "TOML",
      "extensions": [
        "toml"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "taplo",
          "args": [
            "lsp",
            "stdio"
          ]
        }
      ],
      "about": "One binary, no runtime. Worth having in a Rust project, where every crate has a manifest.",
      "home": "https://taplo.tamasfe.dev",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.10.0",
          "url": "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-linux-x86_64.gz",
          "sha256": "8fe196b894ccf9072f98d4e1013a180306e17d244830b03986ee5e8eabeb6156",
          "size": 5116068,
          "kind": "gz",
          "run": "taplo"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.10.0",
          "url": "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-linux-aarch64.gz",
          "sha256": "033681d01eec8376c3fd38fa3703c79316f5e14bb013d859943b60a07bccdcc3",
          "size": 4631779,
          "kind": "gz",
          "run": "taplo"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.10.0",
          "url": "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-darwin-x86_64.gz",
          "sha256": "898122cde3a0b1cd1cbc2d52d3624f23338218c91b5ddb71518236a4c2c10ef2",
          "size": 4921954,
          "kind": "gz",
          "run": "taplo"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.10.0",
          "url": "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-darwin-aarch64.gz",
          "sha256": "713734314c3e71894b9e77513c5349835eefbd52908445a0d73b0c7dc469347d",
          "size": 4616415,
          "kind": "gz",
          "run": "taplo"
        }
      ]
    },
    {
      "language_id": "markdown",
      "label": "Markdown",
      "extensions": [
        "md",
        "markdown"
      ],
      "candidates": [
        {
          "program": "marksman",
          "args": [
            "server"
          ]
        }
      ],
      "about": "Cross-references between documents, which is what a repository's docs are made of. One binary, no runtime.",
      "home": "https://github.com/artempyanykh/marksman",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "2026-02-08",
          "url": "https://github.com/artempyanykh/marksman/releases/download/2026-02-08/marksman-linux-x64",
          "sha256": "be5098e8213219269c47fc0d916a66fa31ce0602ec967475c722260aabf26087",
          "size": 22500875,
          "kind": "binary",
          "run": "marksman"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "2026-02-08",
          "url": "https://github.com/artempyanykh/marksman/releases/download/2026-02-08/marksman-linux-arm64",
          "sha256": "db8e124527f7f8048e3e6c91821b9c52ef173d92c01e47d221bf1337afd962fb",
          "size": 21851058,
          "kind": "binary",
          "run": "marksman"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "2026-02-08",
          "url": "https://github.com/artempyanykh/marksman/releases/download/2026-02-08/marksman-macos",
          "sha256": "6a801c17b5ac0dba69787c5282b3b3bd416e66c96253fae098d311c6bbd1833b",
          "size": 43856208,
          "kind": "binary",
          "run": "marksman"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "2026-02-08",
          "url": "https://github.com/artempyanykh/marksman/releases/download/2026-02-08/marksman-macos",
          "sha256": "6a801c17b5ac0dba69787c5282b3b3bd416e66c96253fae098d311c6bbd1833b",
          "size": 43856208,
          "kind": "binary",
          "run": "marksman"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "2026-02-08",
          "url": "https://github.com/artempyanykh/marksman/releases/download/2026-02-08/marksman.exe",
          "sha256": "a6d05beb08ebe41b0a9f09c98a438540421436fa5531424c22e0bb1d22529705",
          "size": 20502938,
          "kind": "binary",
          "run": "marksman.exe"
        }
      ]
    },
    {
      "language_id": "html",
      "label": "HTML",
      "extensions": [
        "html",
        "htm",
        "xhtml"
      ],
      "candidates": [
        {
          "program": "vscode-html-language-server",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "superhtml",
          "args": [
            "lsp"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "The server behind most editors' HTML support, published as `vscode-langservers-extracted`. superhtml is a single binary and needs nothing.",
      "home": "https://github.com/hrsh7th/vscode-langservers-extracted",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.7.0",
          "url": "https://github.com/kristoff-it/superhtml/releases/download/v0.7.0/x86_64-linux-musl.tar.xz",
          "sha256": "b75c6eeef539416096eac38729ee54e5f3b248f039cab4f57660f29a88742f68",
          "size": 1983048,
          "kind": "tar.xz",
          "run": "superhtml"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.7.0",
          "url": "https://github.com/kristoff-it/superhtml/releases/download/v0.7.0/aarch64-linux.tar.xz",
          "sha256": "9fa2ed1ec830464c38929531693e7129ae6df3ccb1bb3f01fec3322ed5759fc5",
          "size": 1906084,
          "kind": "tar.xz",
          "run": "superhtml"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.7.0",
          "url": "https://github.com/kristoff-it/superhtml/releases/download/v0.7.0/x86_64-macos.zip",
          "sha256": "f7f502ce26f8163ec5257d2428192e3224eb21866129a4c05421bd5b2ea709f1",
          "size": 1024145,
          "kind": "zip",
          "run": "superhtml"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.7.0",
          "url": "https://github.com/kristoff-it/superhtml/releases/download/v0.7.0/aarch64-macos.zip",
          "sha256": "3846e475290f917dbf5cde8f35faff85c4402279f6ad8a8f95a861bc6523a154",
          "size": 990641,
          "kind": "zip",
          "run": "superhtml"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.7.0",
          "url": "https://github.com/kristoff-it/superhtml/releases/download/v0.7.0/x86_64-windows.zip",
          "sha256": "1ecb8d701ee01a837c6664707e49328821b660c28a5da82edbbb4e3639afccdc",
          "size": 932356,
          "kind": "zip",
          "run": "superhtml.exe"
        },
        {
          "os": "windows",
          "arch": "aarch64",
          "version": "0.7.0",
          "url": "https://github.com/kristoff-it/superhtml/releases/download/v0.7.0/aarch64-windows.zip",
          "sha256": "359223875d104386f7fed2ace844bf70540073ce1d5c24a6fff232a2cdcb563f",
          "size": 882289,
          "kind": "zip",
          "run": "superhtml.exe"
        },
        {
          "os": "any",
          "arch": "any",
          "version": "4.10.0",
          "url": "https://codecarta.com/servers/v1/bundles/vscode-langservers-4.10.0.tar.gz",
          "sha256": "2abc0fa677da4f81deb7bf3c1386ab6a03d387cdd03540a6757e4f0a8a8b8925",
          "size": 13985419,
          "kind": "tar.gz",
          "run": "node_modules/vscode-langservers-extracted/bin/vscode-html-language-server",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "css",
      "label": "CSS, SCSS and Less",
      "extensions": [
        "css",
        "scss",
        "less"
      ],
      "line_comment": "//",
      "init_options": "{\"provideFormatter\":true}",
      "candidates": [
        {
          "program": "vscode-css-language-server",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "css-languageserver",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "One server for all three dialects, published as `vscode-langservers-extracted`.",
      "home": "https://github.com/hrsh7th/vscode-langservers-extracted",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "4.10.0",
          "url": "https://codecarta.com/servers/v1/bundles/vscode-langservers-4.10.0.tar.gz",
          "sha256": "2abc0fa677da4f81deb7bf3c1386ab6a03d387cdd03540a6757e4f0a8a8b8925",
          "size": 13985419,
          "kind": "tar.gz",
          "run": "node_modules/vscode-langservers-extracted/bin/vscode-css-language-server",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ],
      "short": "CSS"
    },
    {
      "language_id": "json",
      "label": "JSON",
      "extensions": [
        "json",
        "jsonc",
        "jsonl",
        "ndjson"
      ],
      "init_options": "{\"provideFormatter\":true}",
      "candidates": [
        {
          "program": "vscode-json-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Validates against whichever schema the file matches, which is most of what a JSON server is for.",
      "home": "https://github.com/hrsh7th/vscode-langservers-extracted",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "4.10.0",
          "url": "https://codecarta.com/servers/v1/bundles/vscode-langservers-4.10.0.tar.gz",
          "sha256": "2abc0fa677da4f81deb7bf3c1386ab6a03d387cdd03540a6757e4f0a8a8b8925",
          "size": 13985419,
          "kind": "tar.gz",
          "run": "node_modules/vscode-langservers-extracted/bin/vscode-json-language-server",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "yaml",
      "label": "YAML",
      "extensions": [
        "yaml",
        "yml"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "yaml-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Schema-aware, and the reason a CI file that will be rejected can be seen to be wrong before it is pushed.",
      "home": "https://github.com/redhat-developer/yaml-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "1.24.0",
          "url": "https://codecarta.com/servers/v1/bundles/yaml-language-server-1.24.0.tar.gz",
          "sha256": "a5f5a4db01b66898bdcf54128a7a8cd4e75812184cdb2c8c2f3694c509cb8727",
          "size": 4489776,
          "kind": "tar.gz",
          "run": "node_modules/yaml-language-server/bin/yaml-language-server",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "xml",
      "label": "XML",
      "extensions": [
        "xml",
        "xsd",
        "xsl",
        "xslt",
        "dtd"
      ],
      "candidates": [
        {
          "program": "lemminx"
        },
        {
          "program": "xml-language-server"
        }
      ],
      "about": "A Java program, distributed as a native binary or as a jar. The binary needs nothing; the jar needs a JVM.",
      "home": "https://github.com/eclipse-lemminx/lemminx",
      "licence": "EPL-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.29.3",
          "url": "https://github.com/redhat-developer/vscode-xml/releases/download/0.29.3/lemminx-linux-x86_64.zip",
          "sha256": "1acc44e24201c1d2f5ccb4e43e7426ed0df6909207a81ff199810e2808104d89",
          "size": 16903991,
          "kind": "zip",
          "run": "lemminx-linux-x86_64"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.29.3",
          "url": "https://github.com/redhat-developer/vscode-xml/releases/download/0.29.3/lemminx-linux-aarch_64.zip",
          "sha256": "0b88a49e83c2611282672f5123ce33abf1371c8e3c55cad6ee45ea00626ffa1b",
          "size": 16296527,
          "kind": "zip",
          "run": "lemminx-linux-aarch_64"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.29.3",
          "url": "https://github.com/redhat-developer/vscode-xml/releases/download/0.29.3/lemminx-osx-x86_64.zip",
          "sha256": "9e56123194b5c1fdc7d87f1bd21c83cc996ba7be913def3a2836a13305bcd273",
          "size": 16483151,
          "kind": "zip",
          "run": "lemminx-osx-x86_64"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.29.3",
          "url": "https://github.com/redhat-developer/vscode-xml/releases/download/0.29.3/lemminx-osx-aarch_64.zip",
          "sha256": "185db5630ce85be43ea0fab034e7841b1327c2793db05ab481e029cf493d86ce",
          "size": 16271050,
          "kind": "zip",
          "run": "lemminx-osx-aarch_64"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.29.3",
          "url": "https://github.com/redhat-developer/vscode-xml/releases/download/0.29.3/lemminx-win32.zip",
          "sha256": "7eaefaac68253b0ec8e0ad1f1c0f2d0755423d4e99e52497428b52f80df28eb7",
          "size": 16578930,
          "kind": "zip",
          "run": "lemminx-win32.exe"
        }
      ]
    },
    {
      "language_id": "sql",
      "label": "SQL",
      "extensions": [
        "sql"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "sqls"
        },
        {
          "program": "sql-language-server",
          "args": [
            "up",
            "--method",
            "stdio"
          ]
        }
      ],
      "about": "Both want to be told about a database before they can do much; without one they still parse and format.",
      "home": "https://github.com/sqls-server/sqls",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.2.48",
          "url": "https://github.com/sqls-server/sqls/releases/download/v0.2.48/sqls-linux-0.2.48.zip",
          "sha256": "30047b92c41658c821b7803d2c2a3a1ce4e17ee769ceff6f24bb9e3daaf5d4dc",
          "size": 10736904,
          "kind": "zip",
          "run": "sqls"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.2.48",
          "url": "https://github.com/sqls-server/sqls/releases/download/v0.2.48/sqls-darwin-0.2.48.zip",
          "sha256": "b44165ca597a4b4298d56657bc911aa3ca8a591befefde4e29566923c6229f3d",
          "size": 10731807,
          "kind": "zip",
          "run": "sqls"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.2.48",
          "url": "https://github.com/sqls-server/sqls/releases/download/v0.2.48/sqls-windows-0.2.48.zip",
          "sha256": "df6453b2ddcb4e748547d0288b826251a24af099749dc7a9ddea587aac3d4365",
          "size": 10743962,
          "kind": "zip",
          "run": "sqls.exe"
        }
      ]
    },
    {
      "language_id": "dockerfile",
      "label": "Dockerfile",
      "extensions": [
        "dockerfile"
      ],
      "filenames": [
        "Dockerfile",
        "Containerfile"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "docker-langserver",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Matches files named with a `.dockerfile` suffix. A file simply called `Dockerfile` has no extension and is not detected by name.",
      "home": "https://github.com/rcjsuen/dockerfile-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "0.15.0",
          "url": "https://codecarta.com/servers/v1/bundles/dockerfile-language-server-0.15.0.tar.gz",
          "sha256": "b5fd17b12ff75bc2081d6c99a5b518f2146d0998500eebd510777bd80b5e948e",
          "size": 423398,
          "kind": "tar.gz",
          "run": "node_modules/dockerfile-language-server-nodejs/bin/docker-langserver",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "terraform",
      "label": "Terraform and HCL",
      "extensions": [
        "tf",
        "tfvars",
        "hcl"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "terraform-ls",
          "args": [
            "serve"
          ]
        },
        {
          "program": "tofu-ls",
          "args": [
            "serve"
          ]
        }
      ],
      "about": "Needs the `terraform` or `tofu` binary itself to answer questions about providers.",
      "home": "https://github.com/hashicorp/terraform-ls",
      "licence": "MPL-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.5.3",
          "url": "https://github.com/opentofu/tofu-ls/releases/download/v0.5.3/tofu-ls_Linux_x86_64.tar.gz",
          "sha256": "ccf8d85881f493483c9c20ac010d320bf455fdc9dcc39ba0af515206cb488460",
          "size": 16629503,
          "kind": "tar.gz",
          "run": "tofu-ls"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.5.3",
          "url": "https://github.com/opentofu/tofu-ls/releases/download/v0.5.3/tofu-ls_Linux_arm64.tar.gz",
          "sha256": "d30430f86720100e6fc6d16881fcf16bc9e4cb3c4d221fafc1aa992f01387db0",
          "size": 15947358,
          "kind": "tar.gz",
          "run": "tofu-ls"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.5.3",
          "url": "https://github.com/opentofu/tofu-ls/releases/download/v0.5.3/tofu-ls_Darwin_x86_64.tar.gz",
          "sha256": "9b248dd4a5124c22447873d39d6aba2624d0e091e89d1b2202068058a7398f89",
          "size": 16726883,
          "kind": "tar.gz",
          "run": "tofu-ls"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.5.3",
          "url": "https://github.com/opentofu/tofu-ls/releases/download/v0.5.3/tofu-ls_Darwin_arm64.tar.gz",
          "sha256": "391d2771a501ddc9a1f6575f57346f2653ff7df82d322a13c87147f38b8e0833",
          "size": 16252411,
          "kind": "tar.gz",
          "run": "tofu-ls"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.5.3",
          "url": "https://github.com/opentofu/tofu-ls/releases/download/v0.5.3/tofu-ls_Windows_x86_64.tar.gz",
          "sha256": "e326da584f855010445c7cc1d190e8ac9918546a6f4317d378bfea1e76f9758a",
          "size": 16822095,
          "kind": "tar.gz",
          "run": "tofu-ls.exe"
        },
        {
          "os": "windows",
          "arch": "aarch64",
          "version": "0.5.3",
          "url": "https://github.com/opentofu/tofu-ls/releases/download/v0.5.3/tofu-ls_Windows_arm64.tar.gz",
          "sha256": "8afcb3d3bf6c3fcc868c91e3ba1d97cacf0999d57792f2b3f67c41cae84c48da",
          "size": 16043104,
          "kind": "tar.gz",
          "run": "tofu-ls.exe"
        }
      ],
      "short": "Terraform"
    },
    {
      "language_id": "nix",
      "label": "Nix",
      "extensions": [
        "nix"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "nil"
        },
        {
          "program": "nixd"
        }
      ],
      "about": "nil is self-contained. nixd evaluates the expression as it goes, which is more accurate and needs a working Nix on the machine. Neither publishes a binary release (checked 2026-09-15); both arrive through Nix itself, so there is nothing here to install.",
      "home": "https://github.com/oxalica/nil",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "cmake",
      "label": "CMake",
      "extensions": [
        "cmake"
      ],
      "filenames": [
        "CMakeLists.txt"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "neocmakelsp",
          "args": [
            "stdio"
          ]
        },
        {
          "program": "cmake-language-server"
        }
      ],
      "about": "Matches `*.cmake` and `CMakeLists.txt`. neocmakelsp takes `stdio` as a subcommand, not `--stdio`: with the flag it exits with its usage text, measured by the polyglot run on 0.11.1.",
      "home": "https://github.com/Decodetalkers/neocmakelsp",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.11.1",
          "url": "https://github.com/neocmakelsp/neocmakelsp/releases/download/v0.11.1/neocmakelsp-x86_64-unknown-linux-gnu.tar.gz",
          "sha256": "fef0e2dcf55ff1b9df9ab77d74eabd9104392eff044d5f8b206f443089fa87c7",
          "size": 2962707,
          "kind": "tar.gz",
          "run": "neocmakelsp"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.11.1",
          "url": "https://github.com/neocmakelsp/neocmakelsp/releases/download/v0.11.1/neocmakelsp-aarch64-unknown-linux-gnu.tar.gz",
          "sha256": "8c3bf5bf44395424ead4bdef01af24b2f49bafa231aada242357af252accf8e2",
          "size": 2724099,
          "kind": "tar.gz",
          "run": "neocmakelsp"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.11.1",
          "url": "https://github.com/neocmakelsp/neocmakelsp/releases/download/v0.11.1/neocmakelsp-universal-apple-darwin.tar.gz",
          "sha256": "1f29206a86b2cbcbbdc7dae42f04673666e83f08f16e2be2933cde3505fbbf0a",
          "size": 5909825,
          "kind": "tar.gz",
          "run": "neocmakelsp"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.11.1",
          "url": "https://github.com/neocmakelsp/neocmakelsp/releases/download/v0.11.1/neocmakelsp-universal-apple-darwin.tar.gz",
          "sha256": "1f29206a86b2cbcbbdc7dae42f04673666e83f08f16e2be2933cde3505fbbf0a",
          "size": 5909825,
          "kind": "tar.gz",
          "run": "neocmakelsp"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.11.1",
          "url": "https://github.com/neocmakelsp/neocmakelsp/releases/download/v0.11.1/neocmakelsp-x86_64-pc-windows-msvc.zip",
          "sha256": "100ea9c7dbf83c58faa9aabe002aad09784b1520ed8435a3b08dcceb052d3f36",
          "size": 2991616,
          "kind": "zip",
          "run": "neocmakelsp.exe"
        },
        {
          "os": "windows",
          "arch": "aarch64",
          "version": "0.11.1",
          "url": "https://github.com/neocmakelsp/neocmakelsp/releases/download/v0.11.1/neocmakelsp-aarch64-pc-windows-msvc.zip",
          "sha256": "0362b3c012131e2a33cce522c6ff54cfd96841c8a5b44d990dd9a3959d1598bf",
          "size": 2725339,
          "kind": "zip",
          "run": "neocmakelsp.exe"
        }
      ]
    },
    {
      "language_id": "latex",
      "label": "LaTeX",
      "extensions": [
        "tex",
        "sty",
        "cls",
        "bib"
      ],
      "line_comment": "%",
      "candidates": [
        {
          "program": "texlab"
        }
      ],
      "about": "A single binary. Builds and forward-searches where a TeX distribution is installed.",
      "home": "https://github.com/latex-lsp/texlab",
      "licence": "GPL-3.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "5.26.0",
          "url": "https://github.com/latex-lsp/texlab/releases/download/v5.26.0/texlab-x86_64-linux.tar.gz",
          "sha256": "8697bd5e479d4584b14b7eed5c320c80ec4e1d91ebefbb6801e6bf38e9971300",
          "size": 10439323,
          "kind": "tar.gz",
          "run": "texlab"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "5.26.0",
          "url": "https://github.com/latex-lsp/texlab/releases/download/v5.26.0/texlab-aarch64-linux.tar.gz",
          "sha256": "a85cdfcd22454b8d8550f4b0f0620c45ab51760f302fac7a12bc18a890f70f8c",
          "size": 10383190,
          "kind": "tar.gz",
          "run": "texlab"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "5.26.0",
          "url": "https://github.com/latex-lsp/texlab/releases/download/v5.26.0/texlab-x86_64-macos.tar.gz",
          "sha256": "6091611f756b28e1a57612b130c196df4b0bb6e22dde5cf5d890578513397daf",
          "size": 10253264,
          "kind": "tar.gz",
          "run": "texlab"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "5.26.0",
          "url": "https://github.com/latex-lsp/texlab/releases/download/v5.26.0/texlab-aarch64-macos.tar.gz",
          "sha256": "af7972ffd230711ba04ada9b69cc32ce9111d9196ba69538062872faefdbee56",
          "size": 10154621,
          "kind": "tar.gz",
          "run": "texlab"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "5.26.0",
          "url": "https://github.com/latex-lsp/texlab/releases/download/v5.26.0/texlab-x86_64-windows.zip",
          "sha256": "cb028d44c3d2b85d36a2ed52d41a0ff43a341b1f04c500c56c4524c4eb72b316",
          "size": 9997967,
          "kind": "zip",
          "run": "texlab.exe"
        }
      ]
    },
    {
      "language_id": "graphql",
      "label": "GraphQL",
      "extensions": [
        "graphql",
        "gql"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "graphql-lsp",
          "args": [
            "server",
            "-m",
            "stream"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Wants a `graphql.config` file naming the schema; without one it parses and no more.",
      "home": "https://github.com/graphql/graphiql/tree/main/packages/graphql-language-service-cli",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "3.5.0",
          "url": "https://codecarta.com/servers/v1/bundles/graphql-language-service-3.5.0.tar.gz",
          "sha256": "72a430c458249d71f82c584ea1564c3b9c8c66bcc509fd929d8687ee18383cad",
          "size": 19879684,
          "kind": "tar.gz",
          "run": "node_modules/graphql-language-service-cli/bin/graphql.js",
          "runs_on": "node",
          "args": [
            "{run}",
            "server",
            "-m",
            "stream"
          ]
        }
      ]
    },
    {
      "language_id": "vue",
      "label": "Vue",
      "extensions": [
        "vue"
      ],
      "candidates": [
        {
          "program": "vue-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Needs the project's own TypeScript, which it finds in `node_modules`.",
      "home": "https://github.com/vuejs/language-tools",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "svelte",
      "label": "Svelte",
      "extensions": [
        "svelte"
      ],
      "candidates": [
        {
          "program": "svelteserver",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "The Svelte team's own server.",
      "home": "https://github.com/sveltejs/language-tools",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "astro",
      "label": "Astro",
      "extensions": [
        "astro"
      ],
      "candidates": [
        {
          "program": "astro-ls",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "The Astro team's own server.",
      "home": "https://github.com/withastro/language-tools",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "dart",
      "label": "Dart",
      "extensions": [
        "dart"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "dart",
          "args": [
            "language-server",
            "--protocol=lsp"
          ]
        }
      ],
      "about": "Comes with the Dart SDK rather than separately, so a machine with Dart or Flutter on it already has this.",
      "home": "https://dart.dev/tools/analysis",
      "licence": "BSD-3-Clause",
      "install": []
    },
    {
      "language_id": "scala",
      "label": "Scala",
      "extensions": [
        "scala",
        "sbt",
        "sc"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "metals",
          "beside": [
            [
              "Coursier",
              "~/.local/share/coursier/bin/metals"
            ],
            [
              "Coursier",
              "~/Library/Application Support/Coursier/bin/metals"
            ]
          ]
        }
      ],
      "requires": [
        "java"
      ],
      "get": "cs install metals",
      "settings": "{\"metals\":{\"autoImportBuild\":\"all\"}}",
      "prompts": [
        {
          "asks": "would you like to import the build",
          "answer": "Import build"
        }
      ],
      "about": "Installed with Coursier, and it builds the project to answer, so the first questions on a cold project are slow.",
      "home": "https://scalameta.org/metals",
      "licence": "Apache-2.0",
      "install": []
    },
    {
      "language_id": "haskell",
      "label": "Haskell",
      "extensions": [
        "hs",
        "lhs"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "haskell-language-server-wrapper",
          "args": [
            "--lsp"
          ],
          "beside": [
            [
              "ghcup",
              "~/.ghcup/bin/haskell-language-server-wrapper"
            ]
          ]
        },
        {
          "program": "haskell-language-server",
          "args": [
            "--lsp"
          ]
        }
      ],
      "about": "Has to match the project's GHC version, which is what the wrapper is for: it picks the right one. Installed with GHCup.",
      "home": "https://haskell-language-server.readthedocs.io",
      "licence": "Apache-2.0",
      "install": []
    },
    {
      "language_id": "elixir",
      "label": "Elixir",
      "writes": [
        ".expert",
        ".lexical",
        ".elixir_ls"
      ],
      "extensions": [
        "ex",
        "exs",
        "heex"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "expert",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "lexical"
        },
        {
          "program": "elixir-ls"
        },
        {
          "program": "language_server.sh"
        }
      ],
      "requires": [
        "elixir"
      ],
      "about": "Three servers are current and a project is usually built for one of them. All of them compile the project to answer.",
      "home": "https://github.com/elixir-lang/expert",
      "licence": "Apache-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.1.10",
          "url": "https://github.com/expert-lsp/expert/releases/download/v0.1.10/expert_linux_amd64",
          "sha256": "af29d5270503263139f10fccb597430feb0c510da48386821b176fbfdfe33f8d",
          "size": 38474520,
          "kind": "binary",
          "run": "expert"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.1.10",
          "url": "https://github.com/expert-lsp/expert/releases/download/v0.1.10/expert_linux_arm64",
          "sha256": "eaac1a779dc8319099576edcd0c43dde3a383abf2e75ccd6989cdabf3900cd9b",
          "size": 38133192,
          "kind": "binary",
          "run": "expert"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.1.10",
          "url": "https://github.com/expert-lsp/expert/releases/download/v0.1.10/expert_darwin_amd64",
          "sha256": "5cb885b7e83e73c9c8fc16c27f398391311629113a0a6e26134e5ae4b7005035",
          "size": 33435482,
          "kind": "binary",
          "run": "expert"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.1.10",
          "url": "https://github.com/expert-lsp/expert/releases/download/v0.1.10/expert_darwin_arm64",
          "sha256": "992a7c6c0ad062667d6518ca378c62fe3a465d3f57350d5123028741195f1e1a",
          "size": 33534856,
          "kind": "binary",
          "run": "expert"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.1.10",
          "url": "https://github.com/expert-lsp/expert/releases/download/v0.1.10/expert_windows_amd64.exe",
          "sha256": "163cb83a75316d77068fd1d00eb43e113dd2bb2d417af48d3e5374f6763a5880",
          "size": 41786880,
          "kind": "binary",
          "run": "expert.exe"
        }
      ]
    },
    {
      "language_id": "erlang",
      "label": "Erlang",
      "extensions": [
        "erl",
        "hrl"
      ],
      "line_comment": "%",
      "candidates": [
        {
          "program": "erlang_ls"
        },
        {
          "program": "elp",
          "args": [
            "server"
          ]
        }
      ],
      "about": "erlang_ls is the long-standing one; elp is newer and faster on large projects.",
      "home": "https://github.com/erlang-ls/erlang_ls",
      "licence": "Apache-2.0",
      "install": []
    },
    {
      "language_id": "clojure",
      "label": "Clojure",
      "extensions": [
        "clj",
        "cljs",
        "cljc",
        "edn"
      ],
      "line_comment": ";",
      "helpers": [
        {
          "program": "clojure",
          "cannot": "sees no other namespace: nothing is defined, used or offered across files"
        }
      ],
      "candidates": [
        {
          "program": "clojure-lsp"
        }
      ],
      "about": "A native binary. Reads the project through clj-kondo, so it answers without a running REPL.",
      "home": "https://clojure-lsp.io",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "2026.07.06-14.34.19",
          "url": "https://github.com/clojure-lsp/clojure-lsp/releases/download/2026.07.06-14.34.19/clojure-lsp-native-linux-amd64.zip",
          "sha256": "520f724ee02f4b3ecb225395a7a5a4ccad3878d6d1418240cd9636afcf9b858e",
          "size": 35530120,
          "kind": "zip",
          "run": "clojure-lsp"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "2026.07.06-14.34.19",
          "url": "https://github.com/clojure-lsp/clojure-lsp/releases/download/2026.07.06-14.34.19/clojure-lsp-native-linux-aarch64.zip",
          "sha256": "0595e65a5934d3208246f529b5cf0497d7167d7e9b8317e9b391e05b5c0906d7",
          "size": 43535726,
          "kind": "zip",
          "run": "clojure-lsp"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "2026.07.06-14.34.19",
          "url": "https://github.com/clojure-lsp/clojure-lsp/releases/download/2026.07.06-14.34.19/clojure-lsp-native-macos-amd64.zip",
          "sha256": "0449f7f8fc975157cb4e5cdcf365bcd43bcf1fa47b99256427e7a86e4c17fc3f",
          "size": 39673366,
          "kind": "zip",
          "run": "clojure-lsp"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "2026.07.06-14.34.19",
          "url": "https://github.com/clojure-lsp/clojure-lsp/releases/download/2026.07.06-14.34.19/clojure-lsp-native-macos-aarch64.zip",
          "sha256": "dd9a8e36add53b8d8166bb3d7580c6e5563401aea87b62600786af2e7d37ccde",
          "size": 40569964,
          "kind": "zip",
          "run": "clojure-lsp"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "2026.07.06-14.34.19",
          "url": "https://github.com/clojure-lsp/clojure-lsp/releases/download/2026.07.06-14.34.19/clojure-lsp-native-windows-amd64.zip",
          "sha256": "7b978ab266f7aa0ecf48b7484fc0aa6d3b3b7b395c27c47c949d6ce93174599d",
          "size": 32187403,
          "kind": "zip",
          "run": "clojure-lsp.exe"
        }
      ]
    },
    {
      "language_id": "ocaml",
      "label": "OCaml",
      "extensions": [
        "ml",
        "mli"
      ],
      "candidates": [
        {
          "program": "ocamllsp",
          "beside": [
            [
              "opam",
              "~/.opam/*/bin/ocamllsp"
            ]
          ]
        }
      ],
      "get": "opam install ocaml-lsp-server",
      "about": "Installed with opam, and it reads what the build produced, so a project that has not been built answers little.",
      "home": "https://github.com/ocaml/ocaml-lsp",
      "licence": "ISC",
      "install": []
    },
    {
      "language_id": "fsharp",
      "label": "F#",
      "extensions": [
        "fs",
        "fsi",
        "fsx"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "fsautocomplete",
          "beside": [
            [
              "dotnet tool",
              "~/.dotnet/tools/fsautocomplete"
            ]
          ]
        }
      ],
      "init_options": "{\"AutomaticWorkspaceInit\":true}",
      "requires": [
        "dotnet"
      ],
      "get": "dotnet tool install --global fsautocomplete",
      "about": "Installed as a dotnet tool: `dotnet tool install --global fsautocomplete`, which puts it in `~/.dotnet/tools`. Told to load the workspace itself: without `AutomaticWorkspaceInit` it waits for an Ionide-style `workspaceLoad` command and refuses every question with \"Couldn't find ... in LoadedProjects\", measured on 0.84.0.",
      "home": "https://github.com/ionide/FsAutoComplete",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "perl",
      "label": "Perl",
      "extensions": [
        "pl",
        "pm",
        "pod"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "perlnavigator"
        },
        {
          "program": "pls"
        }
      ],
      "settings": "{\"perlnavigator\":{\"includePaths\":[\"$workspaceFolder\",\"$workspaceFolder/lib\"]}}",
      "about": "perlnavigator is a single binary and wraps perlcritic where it is installed. Told to look in the project root and `lib` for modules: it indexes files it has opened and its `includePaths`, and with none it knew `Shapes::area` was a subroutine and could not say where.",
      "home": "https://github.com/bscan/PerlNavigator",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.8.20",
          "url": "https://github.com/bscan/PerlNavigator/releases/download/v0.8.20/perlnavigator-linux-x86_64.zip",
          "sha256": "5a29c8a6919c32c6b47f05ab1ed38f62fffa56ec1752b8e9d6245e177ba32cd2",
          "size": 18465609,
          "kind": "zip",
          "run": "perlnavigator-linux-x86_64/perlnavigator"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.8.20",
          "url": "https://github.com/bscan/PerlNavigator/releases/download/v0.8.20/perlnavigator-macos-x86_64.zip",
          "sha256": "064700f91923b076fe77542311b22465be9fb1acd72102d5b558d5e4d90d46a9",
          "size": 18545971,
          "kind": "zip",
          "run": "perlnavigator-macos-x86_64/perlnavigator"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.8.20",
          "url": "https://github.com/bscan/PerlNavigator/releases/download/v0.8.20/perlnavigator-win-x86_64.zip",
          "sha256": "3a521c936b01046ed79cc6f3e3ac31a71c5368641aeeb28fea11b21577380ee2",
          "size": 15080912,
          "kind": "zip",
          "run": "perlnavigator-win-x86_64/perlnavigator.exe"
        }
      ]
    },
    {
      "language_id": "r",
      "label": "R",
      "extensions": [
        "r",
        "rmd"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "R",
          "args": [
            "--no-echo",
            "-e",
            "languageserver::run()"
          ]
        }
      ],
      "get": "Rscript -e 'install.packages(\"languageserver\")'",
      "about": "There is no separate binary: the server is an R package, run by R itself. `install.packages(\"languageserver\")` is what makes this work.",
      "home": "https://github.com/REditorSupport/languageserver",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "julia",
      "label": "Julia",
      "extensions": [
        "jl"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "julia",
          "args": [
            "--startup-file=no",
            "--history-file=no",
            "-e",
            "using LanguageServer; runserver()"
          ]
        }
      ],
      "get": "julia -e 'using Pkg; Pkg.add(\"LanguageServer\")'",
      "about": "Like R's, the server is a package rather than a program: Julia runs it. It answers only where `LanguageServer.jl` is installed.",
      "home": "https://github.com/julia-vscode/LanguageServer.jl",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "fortran",
      "label": "Fortran",
      "extensions": [
        "f90",
        "f95",
        "f03",
        "f08",
        "f",
        "for"
      ],
      "line_comment": "!",
      "candidates": [
        {
          "program": "fortls",
          "beside": [
            [
              "pip",
              "~/.local/bin/fortls"
            ]
          ]
        }
      ],
      "get": "pip install fortls",
      "about": "A Python package, installed with pip.",
      "home": "https://fortls.fortran-lang.org",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "nim",
      "label": "Nim",
      "extensions": [
        "nim",
        "nims",
        "nimble"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "nimlangserver"
        },
        {
          "program": "nimlsp"
        }
      ],
      "about": "Installed with nimble, and it drives the Nim compiler to answer.",
      "home": "https://github.com/nim-lang/langserver",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "1.14.0",
          "url": "https://github.com/nim-lang/langserver/releases/download/v1.14.0/nimlangserver-linux-amd64.tar.gz",
          "sha256": "4570d32bafbe355841ca3cafba33dcd6080ddc5d5d1faefded896c116d97a2e5",
          "size": 2123729,
          "kind": "tar.gz",
          "run": "nimlangserver"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "1.14.0",
          "url": "https://github.com/nim-lang/langserver/releases/download/v1.14.0/nimlangserver-linux-arm64.tar.gz",
          "sha256": "1125ba768ea640f4f968994b8904ea777be776e081d1141df470b29f1f22b64d",
          "size": 2066675,
          "kind": "tar.gz",
          "run": "nimlangserver"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "1.14.0",
          "url": "https://github.com/nim-lang/langserver/releases/download/v1.14.0/nimlangserver-macos-amd64.zip",
          "sha256": "51b6626c1fdcedeb088c279e9fa9651eac9e24c08067fdda6a406fb3ba9738d1",
          "size": 1625042,
          "kind": "zip",
          "run": "nimlangserver"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "1.14.0",
          "url": "https://github.com/nim-lang/langserver/releases/download/v1.14.0/nimlangserver-macos-arm64.zip",
          "sha256": "adda93a9b5cec22f9c7e4ff981dcc86d409bdd04ca22516e68028c8e3249372c",
          "size": 1603615,
          "kind": "zip",
          "run": "nimlangserver"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "1.14.0",
          "url": "https://github.com/nim-lang/langserver/releases/download/v1.14.0/nimlangserver-windows-amd64.zip",
          "sha256": "a5f1aebff948998107399dbe045cf95b36cc08ceac65adae31202aac7f4cce54",
          "size": 2140523,
          "kind": "zip",
          "run": "nimlangserver.exe"
        }
      ]
    },
    {
      "language_id": "gleam",
      "label": "Gleam",
      "extensions": [
        "gleam"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "gleam",
          "args": [
            "lsp"
          ]
        }
      ],
      "about": "Part of the Gleam binary rather than a separate program.",
      "home": "https://gleam.run",
      "licence": "Apache-2.0",
      "install": []
    },
    {
      "language_id": "d",
      "label": "D",
      "extensions": [
        "d",
        "di"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "serve-d"
        }
      ],
      "about": "Needs a D compiler on the machine to answer about anything outside the file.",
      "home": "https://github.com/Pure-D/serve-d",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "ada",
      "label": "Ada",
      "extensions": [
        "adb",
        "ads"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "ada_language_server"
        }
      ],
      "about": "Comes with the GNAT toolchain, and reads the project through its `.gpr` file.",
      "home": "https://github.com/AdaCore/ada_language_server",
      "licence": "GPL-3.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "2026.3.202607051",
          "url": "https://github.com/AdaCore/ada_language_server/releases/download/2026.3.202607051/als-2026.3.202607051-linux-x64.tar.gz",
          "sha256": "9dfa29af05418913ff445be0c6875f7a51ebad5fc781f3446d3e2c3903d09787",
          "size": 110494060,
          "kind": "tar.gz",
          "run": "integration/vscode/ada/x64/linux/ada_language_server"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "2026.3.202607051",
          "url": "https://github.com/AdaCore/ada_language_server/releases/download/2026.3.202607051/als-2026.3.202607051-linux-arm64.tar.gz",
          "sha256": "93b0653fc5573769e9d4df9b2987058663e40b4b081506850b957e9392abbe1e",
          "size": 101308274,
          "kind": "tar.gz",
          "run": "integration/vscode/ada/arm64/linux/ada_language_server"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "2026.3.202607051",
          "url": "https://github.com/AdaCore/ada_language_server/releases/download/2026.3.202607051/als-2026.3.202607051-darwin-x64.tar.gz",
          "sha256": "f77115d4675f2e634b14babe77dabb1517d5e7c083d4d2feb4d6c7b305b16d5a",
          "size": 78336513,
          "kind": "tar.gz",
          "run": "integration/vscode/ada/x64/darwin/ada_language_server"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "2026.3.202607051",
          "url": "https://github.com/AdaCore/ada_language_server/releases/download/2026.3.202607051/als-2026.3.202607051-darwin-arm64.tar.gz",
          "sha256": "a7bf4ffc855cbf9851d5c21809c2213603aa0cd130987b9d9c102931c3a79923",
          "size": 94477904,
          "kind": "tar.gz",
          "run": "integration/vscode/ada/arm64/darwin/ada_language_server"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "2026.3.202607051",
          "url": "https://github.com/AdaCore/ada_language_server/releases/download/2026.3.202607051/als-2026.3.202607051-win32-x64.tar.gz",
          "sha256": "7285d044f261d9b7e06816196b60cdc08a099ac22f2175e9109f4749b71f71fb",
          "size": 112393835,
          "kind": "tar.gz",
          "run": "integration/vscode/ada/x64/win32/ada_language_server.exe"
        }
      ]
    },
    {
      "language_id": "solidity",
      "label": "Solidity",
      "extensions": [
        "sol"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "nomicfoundation-solidity-language-server",
          "args": [
            "--stdio"
          ]
        },
        {
          "program": "solidity-ls",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "helpers": [
        {
          "program": "solc",
          "cannot": "reports no mistakes"
        }
      ],
      "about": "Compiles with solc as it goes, so the diagnostics are the compiler's own; without solc on the machine it answers definition, uses, hover and completion and reports nothing.",
      "home": "https://github.com/NomicFoundation/hardhat-vscode",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "protobuf",
      "label": "Protocol Buffers",
      "extensions": [
        "proto"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "protols"
        },
        {
          "program": "buf",
          "args": [
            "beta",
            "lsp"
          ]
        }
      ],
      "about": "protols is a single binary. buf's is part of buf itself, and follows the same import rules the build does.",
      "home": "https://github.com/coder3101/protols",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.14.1",
          "url": "https://github.com/coder3101/protols/releases/download/0.14.1/protols-x86_64-unknown-linux-gnu.tar.gz",
          "sha256": "722f844f46a3b07b1d6d8b75c25a04475cab9022f5d933b3fb646c5a69f8cc5d",
          "size": 1914663,
          "kind": "tar.gz",
          "run": "protols"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.14.1",
          "url": "https://github.com/coder3101/protols/releases/download/0.14.1/protols-aarch64-unknown-linux-gnu.tar.gz",
          "sha256": "0e9ce291a05d5d89286689e9013111a4ce91f5f20b694e96e3862abf9f4669dd",
          "size": 1822218,
          "kind": "tar.gz",
          "run": "protols"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.14.1",
          "url": "https://github.com/coder3101/protols/releases/download/0.14.1/protols-x86_64-apple-darwin.tar.gz",
          "sha256": "b568d90b8cad304ca82d9a50ae23b3834f4ef5d742d71aee8fc8149a31aa8589",
          "size": 1835381,
          "kind": "tar.gz",
          "run": "protols"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.14.1",
          "url": "https://github.com/coder3101/protols/releases/download/0.14.1/protols-aarch64-apple-darwin.tar.gz",
          "sha256": "1d1345864055fac1cbdfc1f38bc60b417d925649f710fb5c628e93168f8bde81",
          "size": 1737496,
          "kind": "tar.gz",
          "run": "protols"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.14.1",
          "url": "https://github.com/coder3101/protols/releases/download/0.14.1/protols-x86_64-pc-windows-msvc.zip",
          "sha256": "e8b185abf56c813a44521df3045ae0893a1ff7608fa8735769e50bc3b4fb8b5a",
          "size": 1756261,
          "kind": "zip",
          "run": "protols.exe"
        }
      ],
      "short": "Protobuf"
    },
    {
      "language_id": "verilog",
      "label": "Verilog and SystemVerilog",
      "extensions": [
        "v",
        "sv",
        "svh",
        "vh"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "svls"
        },
        {
          "program": "veridian"
        }
      ],
      "about": "svls wraps svlint. Both want a file listing the sources, since a hardware project's include order is not discoverable.",
      "home": "https://github.com/dalance/svls",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.2.14",
          "url": "https://github.com/dalance/svls/releases/download/v0.2.14/svls-v0.2.14-x86_64-lnx.zip",
          "sha256": "1167d44b3146e948ded0560a286b356eab72a1909f540cc2bac477f0c8eea9ca",
          "size": 6617743,
          "kind": "zip",
          "run": "svls"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.2.14",
          "url": "https://github.com/dalance/svls/releases/download/v0.2.14/svls-v0.2.14-x86_64-mac.zip",
          "sha256": "d01b220da961a2c13d79dcfd4e5634664b8769cba4493fa9cfd7c9dfb19969a8",
          "size": 6759467,
          "kind": "zip",
          "run": "svls"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.2.14",
          "url": "https://github.com/dalance/svls/releases/download/v0.2.14/svls-v0.2.14-aarch64-mac.zip",
          "sha256": "ee7bf6f1152fe79e0bbd69ea62d2d581c11b7a9e4ae9dbc67c48e5e4d80716ff",
          "size": 6310938,
          "kind": "zip",
          "run": "svls"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.2.14",
          "url": "https://github.com/dalance/svls/releases/download/v0.2.14/svls-v0.2.14-x86_64-win.zip",
          "sha256": "78beb3d865bed02dd888ca146976c9597e5a4baadbf4023de7460d5c35f79263",
          "size": 6246267,
          "kind": "zip",
          "run": "target/x86_64-pc-windows-msvc/release/svls.exe"
        }
      ],
      "short": "Verilog"
    },
    {
      "language_id": "vhdl",
      "label": "VHDL",
      "extensions": [
        "vhd",
        "vhdl"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "vhdl_ls"
        }
      ],
      "about": "Reads a `vhdl_ls.toml` naming the libraries; without one it works a file at a time.",
      "home": "https://github.com/VHDL-LS/rust_hdl",
      "licence": "MPL-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.88.0",
          "url": "https://github.com/VHDL-LS/rust_hdl/releases/download/v0.88.0/vhdl_ls-x86_64-unknown-linux-gnu.zip",
          "sha256": "8cba241c6df50c9d6d8c2bd7e8ddd592b15c54f5b7656c440265de25bc3335f3",
          "size": 3102114,
          "kind": "zip",
          "run": "vhdl_ls-x86_64-unknown-linux-gnu/bin/vhdl_ls"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.88.0",
          "url": "https://github.com/VHDL-LS/rust_hdl/releases/download/v0.88.0/vhdl_ls-aarch64-apple-darwin.zip",
          "sha256": "685a95065d464a8578dc06fc816bc8e58ab2ca152f2337943269cf6300d865e3",
          "size": 2831991,
          "kind": "zip",
          "run": "vhdl_ls-aarch64-apple-darwin/bin/vhdl_ls"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.88.0",
          "url": "https://github.com/VHDL-LS/rust_hdl/releases/download/v0.88.0/vhdl_ls-x86_64-pc-windows-msvc.zip",
          "sha256": "999f644aeb86bba19ab1b4bcda7460925186a3a5ca287d2f2f865cb4c1f4579d",
          "size": 2703233,
          "kind": "zip",
          "run": "vhdl_ls-x86_64-pc-windows-msvc/bin/vhdl_ls.exe"
        }
      ]
    },
    {
      "language_id": "groovy",
      "label": "Groovy",
      "extensions": [
        "groovy",
        "gradle"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "groovy-language-server"
        },
        {
          "program": "groovyls"
        }
      ],
      "requires": [
        "java"
      ],
      "about": "A jar, usually run through a wrapper script of the same name.",
      "home": "https://github.com/GroovyLanguageServer/groovy-language-server",
      "licence": "Apache-2.0",
      "install": []
    },
    {
      "language_id": "racket",
      "label": "Racket",
      "extensions": [
        "rkt"
      ],
      "line_comment": ";",
      "candidates": [
        {
          "program": "racket-langserver"
        },
        {
          "program": "racket",
          "args": [
            "-l",
            "racket-langserver"
          ]
        }
      ],
      "get": "raco pkg install racket-langserver",
      "about": "Installed with `raco pkg install racket-langserver`.",
      "home": "https://github.com/jeapostrophe/racket-langserver",
      "licence": "MIT",
      "install": []
    },
    {
      "language_id": "starlark",
      "label": "Starlark and Bazel",
      "extensions": [
        "bzl",
        "star",
        "bazel"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "starpls"
        },
        {
          "program": "bazel-lsp"
        }
      ],
      "about": "starpls understands Bazel's own rules rather than Starlark alone, which is what makes it useful in a workspace.",
      "home": "https://github.com/withered-magic/starpls",
      "licence": "Apache-2.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.1.22",
          "url": "https://github.com/withered-magic/starpls/releases/download/v0.1.22/starpls-linux-amd64",
          "sha256": "7c661cdde0d1c026665086d07523d825671e29056276681616bb32d0273c5eab",
          "size": 11560176,
          "kind": "binary",
          "run": "starpls"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.1.22",
          "url": "https://github.com/withered-magic/starpls/releases/download/v0.1.22/starpls-linux-aarch64",
          "sha256": "55877ec4c3ff03e1d90d59c76f69a3a144b6c29688747c8ac4d77993e2eef1ad",
          "size": 10716520,
          "kind": "binary",
          "run": "starpls"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.1.22",
          "url": "https://github.com/withered-magic/starpls/releases/download/v0.1.22/starpls-darwin-amd64",
          "sha256": "97967f041d950c1055664a8f1afc36b01c6793b2fb3af488fd20139720d32131",
          "size": 13207968,
          "kind": "binary",
          "run": "starpls"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.1.22",
          "url": "https://github.com/withered-magic/starpls/releases/download/v0.1.22/starpls-darwin-arm64",
          "sha256": "675b7be4554e6c219b6774a6b814ec21061096e08ecdd8b8aeeaf3913eb20a4e",
          "size": 12923704,
          "kind": "binary",
          "run": "starpls"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.1.22",
          "url": "https://github.com/withered-magic/starpls/releases/download/v0.1.22/starpls-windows-amd64.exe",
          "sha256": "87626a4226ed2f3f0f9e573501731bbe225a53cf009df845ec547ee984a1857e",
          "size": 11535872,
          "kind": "binary",
          "run": "starpls.exe"
        }
      ],
      "short": "Starlark"
    },
    {
      "language_id": "prisma",
      "label": "Prisma",
      "extensions": [
        "prisma"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "prisma-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "The Prisma team's own server.",
      "home": "https://github.com/prisma/language-tools",
      "licence": "Apache-2.0",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "31.12.8",
          "url": "https://codecarta.com/servers/v1/bundles/prisma-language-server-31.12.8.tar.gz",
          "sha256": "1d8776a5d098db0b8e3d51cb9ad64646568d7d766323fe9646fca36124c90f85",
          "size": 7118850,
          "kind": "tar.gz",
          "run": "node_modules/@prisma/language-server/dist/bin.js",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "jsonnet",
      "label": "Jsonnet",
      "extensions": [
        "jsonnet",
        "libsonnet"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "jsonnet-language-server"
        }
      ],
      "about": "A single binary. Evaluates as it goes, so an error is the one the build would hit.",
      "home": "https://github.com/grafana/jsonnet-language-server",
      "licence": "AGPL-3.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.17.0",
          "url": "https://github.com/grafana/jsonnet-language-server/releases/download/v0.17.0/jsonnet-language-server_0.17.0_linux_amd64",
          "sha256": "1d4327c93505570d9e5bfe43c3b14da669c2e929c4ada3fcd6b4bf97c7cff34e",
          "size": 13013176,
          "kind": "binary",
          "run": "jsonnet-language-server"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.17.0",
          "url": "https://github.com/grafana/jsonnet-language-server/releases/download/v0.17.0/jsonnet-language-server_0.17.0_linux_arm64",
          "sha256": "6cfc48e9bcea7ebfaf85fcd51b4c09d8e26f93978bc352eef6b3aea4fb844440",
          "size": 12386488,
          "kind": "binary",
          "run": "jsonnet-language-server"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.17.0",
          "url": "https://github.com/grafana/jsonnet-language-server/releases/download/v0.17.0/jsonnet-language-server_0.17.0_darwin_amd64",
          "sha256": "2afe97da19e829e07debf4d6ba24b2e5ddc4cce837d80ecc6365a51201cb814b",
          "size": 13680688,
          "kind": "binary",
          "run": "jsonnet-language-server"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.17.0",
          "url": "https://github.com/grafana/jsonnet-language-server/releases/download/v0.17.0/jsonnet-language-server_0.17.0_darwin_arm64",
          "sha256": "c9637366323551ed149afbc1c3be72c7b82bcf0da57a786046080109294a7fa5",
          "size": 13052578,
          "kind": "binary",
          "run": "jsonnet-language-server"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.17.0",
          "url": "https://github.com/grafana/jsonnet-language-server/releases/download/v0.17.0/jsonnet-language-server_0.17.0_windows_amd64.exe",
          "sha256": "805b70884d202ed6f8568607d4d94a3bfe0318ea6902e904c673be0c43d3cd41",
          "size": 13622784,
          "kind": "binary",
          "run": "jsonnet-language-server.exe"
        }
      ]
    },
    {
      "language_id": "purescript",
      "label": "PureScript",
      "extensions": [
        "purs"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "purescript-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Reads what the compiler wrote into `output/`, so a project that has not been built answers little.",
      "home": "https://github.com/nwolverson/purescript-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "0.18.5",
          "url": "https://codecarta.com/servers/v1/bundles/purescript-language-server-0.18.5.tar.gz",
          "sha256": "6f05b88d78c51f7d7f903fd0c8fbb05680b932ada89a2a18fa5453f728c3fc8c",
          "size": 501306,
          "kind": "tar.gz",
          "run": "node_modules/purescript-language-server/server.js",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "elm",
      "label": "Elm",
      "extensions": [
        "elm"
      ],
      "line_comment": "--",
      "candidates": [
        {
          "program": "elm-language-server",
          "args": [
            "--stdio"
          ]
        }
      ],
      "requires": [
        "node"
      ],
      "about": "Drives the Elm compiler, and wants elm-format and elm-test where those are wanted.",
      "home": "https://github.com/elm-tooling/elm-language-server",
      "licence": "MIT",
      "install": [
        {
          "os": "any",
          "arch": "any",
          "version": "2.8.0",
          "url": "https://codecarta.com/servers/v1/bundles/elm-language-server-2.8.0.tar.gz",
          "sha256": "0b26625efbce2fc6922ee948c4d1b6373e469de4c7e0c63e0a058dbbc448f919",
          "size": 1111736,
          "kind": "tar.gz",
          "run": "node_modules/@elm-tooling/elm-language-server/out/node/index.js",
          "runs_on": "node",
          "args": [
            "{run}",
            "--stdio"
          ]
        }
      ]
    },
    {
      "language_id": "vala",
      "label": "Vala",
      "extensions": [
        "vala",
        "vapi"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "vala-language-server"
        }
      ],
      "about": "Reads the project through its Meson build.",
      "home": "https://github.com/vala-lang/vala-language-server",
      "licence": "LGPL-2.1",
      "install": []
    },
    {
      "language_id": "crystal",
      "label": "Crystal",
      "extensions": [
        "cr"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "crystalline"
        }
      ],
      "about": "Needs the Crystal compiler on the machine.",
      "home": "https://github.com/elbywan/crystalline",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.19.0",
          "url": "https://github.com/elbywan/crystalline/releases/download/v0.19.0/crystalline_x86_64-unknown-linux-musl.gz",
          "sha256": "4f91785ee2db859f5b4bcf8f887687696bc1c2905ba9ef5462a922b54b68216e",
          "size": 47674925,
          "kind": "gz",
          "run": "crystalline"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.19.0",
          "url": "https://github.com/elbywan/crystalline/releases/download/v0.19.0/crystalline_x86_64-apple-darwin.gz",
          "sha256": "9e67bb5de02984e0b2d132636460b9743963c3111ff20f2055241bcfb74437ea",
          "size": 4990715,
          "kind": "gz",
          "run": "crystalline"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.19.0",
          "url": "https://github.com/elbywan/crystalline/releases/download/v0.19.0/crystalline_arm64-apple-darwin.gz",
          "sha256": "1b44d77d1e0bce17556de4a9bdf21ae3acd5ca3514e3e9f522f92dc937064b8c",
          "size": 4633242,
          "kind": "gz",
          "run": "crystalline"
        }
      ]
    },
    {
      "language_id": "glsl",
      "label": "GLSL",
      "extensions": [
        "glsl",
        "vert",
        "frag",
        "comp",
        "geom",
        "tesc",
        "tese"
      ],
      "line_comment": "//",
      "candidates": [
        {
          "program": "glsl_analyzer"
        }
      ],
      "about": "A single binary, and the only one of these that reads shader stages rather than treating them as C.",
      "home": "https://github.com/nolanderc/glsl_analyzer",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "1.7.1",
          "url": "https://github.com/nolanderc/glsl_analyzer/releases/download/v1.7.1/x86_64-linux-musl.zip",
          "sha256": "7c929b304e0d34abf4305d07895c409861f054613c3ae4070baa7ca15c916e7a",
          "size": 1557308,
          "kind": "zip",
          "run": "bin/glsl_analyzer"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "1.7.1",
          "url": "https://github.com/nolanderc/glsl_analyzer/releases/download/v1.7.1/aarch64-linux-musl.zip",
          "sha256": "dda05d727979c34333b86562bb706122ab95d17cd7298665e8afbaba79f76ea6",
          "size": 1522058,
          "kind": "zip",
          "run": "bin/glsl_analyzer"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "1.7.1",
          "url": "https://github.com/nolanderc/glsl_analyzer/releases/download/v1.7.1/x86_64-macos.zip",
          "sha256": "8025e8c765b3bd6ab1e08bf7fd096437827397d618c43de2d4e377cc3b1f16fe",
          "size": 426751,
          "kind": "zip",
          "run": "bin/glsl_analyzer"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "1.7.1",
          "url": "https://github.com/nolanderc/glsl_analyzer/releases/download/v1.7.1/aarch64-macos.zip",
          "sha256": "7f78d98e762b241f7a39dde0fed81c9e4c58766cba5a8abcf20ce03790ee1678",
          "size": 410293,
          "kind": "zip",
          "run": "bin/glsl_analyzer"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "1.7.1",
          "url": "https://github.com/nolanderc/glsl_analyzer/releases/download/v1.7.1/x86_64-windows.zip",
          "sha256": "117604ba20860abf0808fc5551a6e06d305066c1f4296d81a51f175a2cf2a38c",
          "size": 1427550,
          "kind": "zip",
          "run": "bin/glsl_analyzer.exe"
        }
      ]
    },
    {
      "language_id": "just",
      "label": "Just",
      "extensions": [
        "just"
      ],
      "filenames": [
        "justfile",
        ".justfile"
      ],
      "line_comment": "#",
      "candidates": [
        {
          "program": "just-lsp"
        }
      ],
      "about": "Matches `*.just`. A file simply called `justfile` has no extension and is not detected by name.",
      "home": "https://github.com/terror/just-lsp",
      "licence": "CC0-1.0",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.8.0",
          "url": "https://github.com/terror/just-lsp/releases/download/0.8.0/just-lsp-0.8.0-x86_64-unknown-linux-gnu.tar.gz",
          "sha256": "b07f672c1dae43d7f99287b07490b16ad960f0cd5b72b3b3ace5f74498dd23be",
          "size": 3325057,
          "kind": "tar.gz",
          "run": "just-lsp"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "0.8.0",
          "url": "https://github.com/terror/just-lsp/releases/download/0.8.0/just-lsp-0.8.0-aarch64-unknown-linux-gnu.tar.gz",
          "sha256": "ac1d7b455939f9c98a03405cd90504925796abf57e44f8e8ccda5d4b8187911b",
          "size": 3020627,
          "kind": "tar.gz",
          "run": "just-lsp"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.8.0",
          "url": "https://github.com/terror/just-lsp/releases/download/0.8.0/just-lsp-0.8.0-x86_64-apple-darwin.tar.gz",
          "sha256": "93f6d43cee8b15d9f5501b45c531c1826186fd6426e7963520830cd88669762f",
          "size": 2675776,
          "kind": "tar.gz",
          "run": "just-lsp"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.8.0",
          "url": "https://github.com/terror/just-lsp/releases/download/0.8.0/just-lsp-0.8.0-aarch64-apple-darwin.tar.gz",
          "sha256": "9e4e3c449dc429b4f1fabd54c856bd15a8d13eeda4640ae7c9a9df4d61d82eb2",
          "size": 2500291,
          "kind": "tar.gz",
          "run": "just-lsp"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "0.8.0",
          "url": "https://github.com/terror/just-lsp/releases/download/0.8.0/just-lsp-0.8.0-x86_64-pc-windows-msvc.zip",
          "sha256": "c75bcf6f4c9f17d6afddd78ecaf5642c06f685a196df7a082eebfe2c1e2b7b02",
          "size": 2652258,
          "kind": "zip",
          "run": "just-lsp.exe"
        }
      ]
    },
    {
      "language_id": "assembly",
      "label": "Assembly",
      "extensions": [
        "asm",
        "nasm"
      ],
      "line_comment": ";",
      "candidates": [
        {
          "program": "asm-lsp"
        }
      ],
      "about": "Covers the x86, ARM and RISC-V instruction sets, and hovers a mnemonic with what it does.",
      "home": "https://github.com/bergercookie/asm-lsp",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "0.10.1",
          "url": "https://github.com/bergercookie/asm-lsp/releases/download/v0.10.1/asm-lsp-x86_64-unknown-linux-gnu.tar.gz",
          "sha256": "2a2f386c10348e365df484d5c66d084813e7dbf8ab4e9eb7a7cc0bb0acf2f8f8",
          "size": 3467525,
          "kind": "tar.gz",
          "run": "asm-lsp"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "0.10.1",
          "url": "https://github.com/bergercookie/asm-lsp/releases/download/v0.10.1/asm-lsp-x86_64-apple-darwin.tar.gz",
          "sha256": "900c0c95bb2cf0a65102beb09031496e3ed2d31b85dbbe3ef8cae5ffbe493a07",
          "size": 3201681,
          "kind": "tar.gz",
          "run": "asm-lsp"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "0.10.1",
          "url": "https://github.com/bergercookie/asm-lsp/releases/download/v0.10.1/asm-lsp-aarch64-apple-darwin.tar.gz",
          "sha256": "affc8917d5bb6f44805c2e964ad07cf7e0799ecfaa7686f7a5cea9efa00bc575",
          "size": 3077825,
          "kind": "tar.gz",
          "run": "asm-lsp"
        }
      ]
    }
  ],
  "//runtimes": "What the servers that are not programs run on. Fetched, checksummed and kept exactly like a server, in a directory of ours, and the machine's own node or java is never consulted: a server on whichever runtime happens to be on the PATH is a server whose behaviour depends on something we did not install and cannot test. The releases are filled in by carta-catalog like a server's.",
  "runtimes": [
    {
      "id": "node",
      "label": "Node.js",
      "about": "The runtime the npm-published servers run on: JSON, HTML, CSS, TypeScript, YAML and the rest. Kept apart from any node on this machine.",
      "home": "https://nodejs.org",
      "licence": "MIT",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "24.21.0",
          "url": "https://nodejs.org/dist/v24.21.0/node-v24.21.0-linux-x64.tar.xz",
          "sha256": "fd8e59d5a511510f6a298afb548f18c7d2b1be404d8b4a27d94fbe49f56cb2d6",
          "size": 31890184,
          "kind": "tar.xz",
          "run": "node-v24.21.0-linux-x64/bin/node"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "24.21.0",
          "url": "https://nodejs.org/dist/v24.21.0/node-v24.21.0-linux-arm64.tar.xz",
          "sha256": "6ad1325edbdb5649c379b75a237147a666c95d4f9ae8d340fef2d1575d289ad2",
          "size": 30843004,
          "kind": "tar.xz",
          "run": "node-v24.21.0-linux-arm64/bin/node"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "24.21.0",
          "url": "https://nodejs.org/dist/v24.21.0/node-v24.21.0-darwin-x64.tar.gz",
          "sha256": "1462cb3b3046b815cf8ea436d3da450ec1a9f11dac7e5a46b0ada5305d7e8097",
          "size": 54203979,
          "kind": "tar.gz",
          "run": "node-v24.21.0-darwin-x64/bin/node"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "24.21.0",
          "url": "https://nodejs.org/dist/v24.21.0/node-v24.21.0-darwin-arm64.tar.gz",
          "sha256": "bed7eea5325e1108f32ce5228ddd6a5f0f08a499ee42aa7442aea583702f6057",
          "size": 52909993,
          "kind": "tar.gz",
          "run": "node-v24.21.0-darwin-arm64/bin/node"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "24.21.0",
          "url": "https://nodejs.org/dist/v24.21.0/node-v24.21.0-win-x64.zip",
          "sha256": "158f7685b44de51f6c0df1d153526cbcd3e1bc739a8dfc607721cef75de9e541",
          "size": 37618919,
          "kind": "zip",
          "run": "node-v24.21.0-win-x64/node.exe"
        },
        {
          "os": "windows",
          "arch": "aarch64",
          "version": "24.21.0",
          "url": "https://nodejs.org/dist/v24.21.0/node-v24.21.0-win-arm64.zip",
          "sha256": "8779b1bde1d39f8d420e3b57aa657b39891af434d3de44a919044cec06785921",
          "size": 33679608,
          "kind": "zip",
          "run": "node-v24.21.0-win-arm64/node.exe"
        }
      ]
    },
    {
      "id": "java",
      "label": "a Java runtime",
      "about": "Eclipse Temurin, the JRE the Java server runs on. Kept apart from any Java on this machine, and not used to build anything.",
      "home": "https://adoptium.net",
      "licence": "GPL-2.0-with-classpath-exception",
      "install": [
        {
          "os": "linux",
          "arch": "x86_64",
          "version": "21.0.12.1+1",
          "url": "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.12.1%2B1/OpenJDK21U-jre_x64_linux_hotspot_21.0.12.1_1.tar.gz",
          "sha256": "2413149700df0f7d440500a84a8f764c535f21e5a5e87d38328b64eec2c5b500",
          "size": 52059408,
          "kind": "tar.gz",
          "run": "jdk-21.0.12.1+1-jre/bin/java"
        },
        {
          "os": "linux",
          "arch": "aarch64",
          "version": "21.0.12.1+1",
          "url": "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.12.1%2B1/OpenJDK21U-jre_aarch64_linux_hotspot_21.0.12.1_1.tar.gz",
          "sha256": "14be1f35ebdbd1f6e8d57eb911a3ffb74d6d9aa255abc5daf2b1302002cf2cf2",
          "size": 51149460,
          "kind": "tar.gz",
          "run": "jdk-21.0.12.1+1-jre/bin/java"
        },
        {
          "os": "macos",
          "arch": "x86_64",
          "version": "21.0.12.1+1",
          "url": "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.12.1%2B1/OpenJDK21U-jre_x64_mac_hotspot_21.0.12.1_1.tar.gz",
          "sha256": "6717ec641fd9ce0bb209ca083ee23b42202ac68cb6fcc5753496e0e4a0f41989",
          "size": 42131876,
          "kind": "tar.gz",
          "run": "jdk-21.0.12.1+1-jre/Contents/Home/bin/java"
        },
        {
          "os": "macos",
          "arch": "aarch64",
          "version": "21.0.12.1+1",
          "url": "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.12.1%2B1/OpenJDK21U-jre_aarch64_mac_hotspot_21.0.12.1_1.tar.gz",
          "sha256": "dec50fc6f9fcd4fe3ae8cabf5a5fa68f6afc48841f7698e468e9aa5d54beed84",
          "size": 48144965,
          "kind": "tar.gz",
          "run": "jdk-21.0.12.1+1-jre/Contents/Home/bin/java"
        },
        {
          "os": "windows",
          "arch": "x86_64",
          "version": "21.0.12.1+1",
          "url": "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.12.1%2B1/OpenJDK21U-jre_x64_windows_hotspot_21.0.12.1_1.zip",
          "sha256": "d35f31e712f0fcf6ac5a093edc90204fbff22f720ba3950bd09d331d5e621636",
          "size": 48999141,
          "kind": "zip",
          "run": "jdk-21.0.12.1+1-jre/bin/java.exe"
        },
        {
          "os": "windows",
          "arch": "aarch64",
          "version": "21.0.12.1+1",
          "url": "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.12.1%2B1/OpenJDK21U-jre_aarch64_windows_hotspot_21.0.12.1_1.zip",
          "sha256": "e82cc17e0bf89a25b0b0ed106d072f2ea420587d0a6870534b71b1dce3ae28c3",
          "size": 40078274,
          "kind": "zip",
          "run": "jdk-21.0.12.1+1-jre/bin/java.exe"
        }
      ]
    }
  ]
}
