{
    "servers": {
        "bash": {
            "command": ["bash-language-server", "start"],
            "root": "",
            "url": "https://github.com/bash-lsp/bash-language-server",
            "highlightingModeRegex": "^Bash$"
        },
        "bibtex": {
            "use": "latex",
            "highlightingModeRegex": "^BibTeX$"
        },
        "c": {
            "command": ["clangd", "-log=error", "--background-index", "--limit-results=500", "--completion-style=bundled"],
            "commandDebug": ["clangd", "-log=verbose", "--background-index"],
            "url": "https://clang.llvm.org/extra/clangd/",
            "highlightingModeRegex": "^(C|ANSI C89|Objective-C)$"
        },
        "cpp": {
            "use": "c",
            "highlightingModeRegex": "^(C\\+\\+|ISO C\\+\\+|Objective-C\\+\\+)$"
        },
        "c-sharp": {
            "command": ["omnisharp", "-lsp"],
            "commandDebug": ["omnisharp", "--debug", "--verbose"],
            "url": "https://github.com/OmniSharp/omnisharp-roslyn",
            "highlightingModeRegex": "^C#$"
        },
        "d": {
            "command": ["serve-d"],
            "rootIndicationFileNames": ["dub.json"],
            "url": "https://github.com/Pure-D/serve-d",
            "highlightingModeRegex": "^D$"
        },
        "dart": {
            "command": ["dart", "analysis_server.dart.snapshot", "--lsp"],
            "url": "https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool",
            "rootIndicationFileNames": ["pubspec.yaml"],
            "highlightingModeRegex": "^Dart$",
            "initializationOptions": {
                "onlyAnalyzeProjectsWithOpenFiles": true
            }
        },
        "docker": {
            "command": ["docker-langserver", "--stdio"],
            "url": "https://github.com/rcjsuen/dockerfile-language-server-nodejs",
            "highlightingModeRegex": "^Dockerfile$"
        },
        "elm": {
            "command": ["elm-language-server"],
            "rootIndicatorFileNames": ["elm.json"],
            "url": "https://github.com/elm-tooling/elm-language-server",
            "highlightingModeRegex": "^Elm$"
        },
        "fortran": {
            "command": ["fortls"],
            "rootIndicationFileNames": [".fortls"],
            "url": "https://github.com/hansec/fortran-language-server",
            "highlightingModeRegex": "^Fortran.*$"
        },
        "go": {
            "command": ["gopls"],
            "commandDebug": ["gopls", "serve", "-rpc.trace"],
            "path": ["%{ENV:HOME}/go/bin", "%{ENV:USERPROFILE}/go/bin"],
            "rootIndicationFileNames": ["go.mod"],
            "url": "golang.org/x/tools/gopls",
            "highlightingModeRegex": "^Go$"
        },
        "haskell": {
            "command": ["haskell-language-server-wrapper", "--lsp"],
            "rootIndicationFileNames": ["*.cabal", "stack.yaml", "cabal.project", "package.yaml"],
            "url": "https://github.com/haskell/haskell-language-server",
            "highlightingModeRegex": "^Haskell$"
        },
        "html": {
            "command": ["vscode-html-languageserver", "--stdio"],
            "url": "https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server",
            "highlightingModeRegex": "^HTML$"
        },
        "javascript": {
            "command": ["typescript-language-server", "--stdio"],
            "rootIndicationFileNames": ["package.json", "package-lock.json"],
            "url": "https://github.com/theia-ide/typescript-language-server",
            "highlightingModeRegex": "^JavaScript.*$",
            "documentLanguageId": false
        },
        "kotlin": {
            "command": ["kotlin-language-server"],
            "root": ".",
            "url": "https://github.com/fwcd/kotlin-language-server",
            "highlightingModeRegex": "^Kotlin$"
        },
        "latex": {
            "command": ["texlab"],
            "url": "https://texlab.netlify.com/",
            "highlightingModeRegex": "^LaTeX$"
        },
        "lua": {
            "command": ["lua-language-server"],
            "url": "https://github.com/sumneko/lua-language-server",
            "highlightingModeRegex": "^Lua$"
        },
        "nim": {
            "command": ["nimlsp"],
            "path": ["%{ENV:HOME}/.nimble/bin", "%{ENV:USERPROFILE}/.nimble/bin"],
            "url": "https://github.com/PMunch/nimlsp",
            "highlightingModeRegex": "^Nim$"
        },
        "ocaml": {
            "command": ["ocamllsp"],
            "url": "https://github.com/ocaml/ocaml-lsp",
            "highlightingModeRegex": "^Objective Caml.*$"
        },
        "perl": {
            "command": ["perl", "-MPerl::LanguageServer", "-e", "Perl::LanguageServer::run", "--"],
            "commandDebug": ["perl", "-MPerl::LanguageServer", "-e", "Perl::LanguageServer::run", "--", "--debug"],
            "url": "https://github.com/richterger/Perl-LanguageServer",
            "highlightingModeRegex": "^Perl$"
        },
        "python": {
            "command": ["pylsp", "--check-parent-process"],
            "url": "https://github.com/python-lsp/python-lsp-server",
            "highlightingModeRegex": "^Python$"
        },
        "r": {
            "command": ["R", "--slave", "-e", "languageserver::run()"],
            "url": "https://github.com/REditorSupport/languageserver",
            "highlightingModeRegex": "^R Script$"
        },
        "racket": {
            "command": ["racket","-l","racket-langserver"],
            "rootIndicationFileNames": ["info.rkt"],
            "url": "https://github.com/jeapostrophe/racket-langserver",
            "highlightingModeRegex": "^Racket$"
        },
        "rust": {
            "command": ["rust-analyzer"],
            "path": ["%{ENV:HOME}/.cargo/bin", "%{ENV:USERPROFILE}/.cargo/bin"],
            "rootIndicationFileNames": ["Cargo.lock", "Cargo.toml"],
            "url": "https://rust-analyzer.github.io",
            "highlightingModeRegex": "^Rust$"
        },
        "typescript": {
            "use": "javascript",
            "highlightingModeRegex": "^TypeScript.*$",
            "documentLanguageId": false
        },
        "vala": {
            "command": ["vala-language-server"],
            "url": "https://github.com/Prince781/vala-language-server",
            "highlightingModeRegex": "^Vala$"
        },
        "yaml": {
            "command": ["yaml-language-server", "--stdio"],
            "url": "https://github.com/redhat-developer/yaml-language-server",
            "highlightingModeRegex": "^YAML$"
        },
        "zig": {
            "command": ["zls"],
            "url": "https://github.com/zigtools/zls",
            "highlightingModeRegex": "^Zig$"
        }
    }
}
