{
  "rust-analyzer": {
    "command": "rust-analyzer",
    "args": [],
    "fileTypes": [".rs"],
    "rootMarkers": ["Cargo.toml", "rust-analyzer.toml"],
    "initOptions": {},
    "settings": {
      "rust-analyzer": {
        "checkOnSave": false
      }
    },
    "capabilities": {
      "flycheck": true,
      "ssr": true,
      "expandMacro": true,
      "runnables": true,
      "relatedTests": true
    }
  },
  "tlaplus": {
    "command": "tlapm_lsp",
    "args": ["--stdio"],
    "fileTypes": [".tla", ".tlaplus"],
    "rootMarkers": ["*.tla"]
  },
  "clangd": {
    "command": "clangd",
    "args": ["--background-index", "--clang-tidy", "--header-insertion=iwyu"],
    "fileTypes": [
      ".c",
      ".cpp",
      ".cc",
      ".cxx",
      ".h",
      ".hpp",
      ".hxx",
      ".m",
      ".mm"
    ],
    "rootMarkers": [
      "compile_commands.json",
      "CMakeLists.txt",
      ".clangd",
      ".clang-format",
      "Makefile"
    ]
  },
  "zls": {
    "command": "zls",
    "args": [],
    "fileTypes": [".zig"],
    "rootMarkers": ["build.zig", "build.zig.zon", "zls.json"]
  },
  "gopls": {
    "command": "gopls",
    "args": ["serve"],
    "fileTypes": [".go", ".mod", ".sum"],
    "rootMarkers": ["go.mod", "go.work", "go.sum"],
    "settings": {
      "gopls": {
        "analyses": {
          "unusedparams": true,
          "shadow": true
        },
        "staticcheck": true,
        "gofumpt": true
      }
    }
  },
  "typescript-language-server": {
    "command": "typescript-language-server",
    "args": ["--stdio"],
    "fileTypes": [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"],
    "rootMarkers": ["package.json", "tsconfig.json", "jsconfig.json"],
    "initOptions": {
      "hostInfo": "omp-coding-agent",
      "preferences": {
        "includeInlayParameterNameHints": "all",
        "includeInlayVariableTypeHints": true,
        "includeInlayFunctionParameterTypeHints": true
      }
    }
  },
  "biome": {
    "command": "biome",
    "args": ["lsp-proxy"],
    "fileTypes": [
      ".ts",
      ".tsx",
      ".js",
      ".jsx",
      ".mjs",
      ".cjs",
      ".json",
      ".jsonc"
    ],
    "rootMarkers": ["biome.json", "biome.jsonc"],
    "isLinter": true
  },
  "eslint": {
    "command": "vscode-eslint-language-server",
    "args": ["--stdio"],
    "fileTypes": [
      ".ts",
      ".tsx",
      ".js",
      ".jsx",
      ".mjs",
      ".cjs",
      ".vue",
      ".svelte"
    ],
    "rootMarkers": [
      ".eslintrc",
      ".eslintrc.js",
      ".eslintrc.json",
      ".eslintrc.yml",
      "eslint.config.js",
      "eslint.config.mjs"
    ],
    "isLinter": true,
    "settings": {
      "validate": "on",
      "run": "onType"
    }
  },
  "denols": {
    "command": "deno",
    "args": ["lsp"],
    "fileTypes": [".ts", ".tsx", ".js", ".jsx"],
    "rootMarkers": ["deno.json", "deno.jsonc", "deno.lock"],
    "initOptions": {
      "enable": true,
      "lint": true,
      "unstable": true
    }
  },
  "vscode-html-language-server": {
    "command": "vscode-html-language-server",
    "args": ["--stdio"],
    "fileTypes": [".html", ".htm"],
    "rootMarkers": ["package.json", ".git"],
    "initOptions": {
      "provideFormatter": true
    }
  },
  "vscode-css-language-server": {
    "command": "vscode-css-language-server",
    "args": ["--stdio"],
    "fileTypes": [".css", ".scss", ".sass", ".less"],
    "rootMarkers": ["package.json", ".git"],
    "initOptions": {
      "provideFormatter": true
    }
  },
  "vscode-json-language-server": {
    "command": "vscode-json-language-server",
    "args": ["--stdio"],
    "fileTypes": [".json", ".jsonc"],
    "rootMarkers": ["package.json", ".git"],
    "initOptions": {
      "provideFormatter": true
    }
  },
  "tailwindcss": {
    "command": "tailwindcss-language-server",
    "args": ["--stdio"],
    "fileTypes": [
      ".html",
      ".css",
      ".scss",
      ".js",
      ".jsx",
      ".ts",
      ".tsx",
      ".vue",
      ".svelte"
    ],
    "rootMarkers": [
      "tailwind.config.js",
      "tailwind.config.ts",
      "tailwind.config.mjs",
      "tailwind.config.cjs"
    ]
  },
  "svelte": {
    "command": "svelteserver",
    "args": ["--stdio"],
    "fileTypes": [".svelte"],
    "rootMarkers": ["svelte.config.js", "svelte.config.mjs", "package.json"]
  },
  "vue-language-server": {
    "command": "vue-language-server",
    "args": ["--stdio"],
    "fileTypes": [".vue"],
    "rootMarkers": [
      "vue.config.js",
      "nuxt.config.js",
      "nuxt.config.ts",
      "package.json"
    ]
  },
  "astro": {
    "command": "astro-ls",
    "args": ["--stdio"],
    "fileTypes": [".astro"],
    "rootMarkers": ["astro.config.mjs", "astro.config.js", "astro.config.ts"]
  },
  "pyright": {
    "command": "pyright-langserver",
    "args": ["--stdio"],
    "fileTypes": [".py", ".pyi"],
    "rootMarkers": [
      "pyproject.toml",
      "pyrightconfig.json",
      "setup.py",
      "setup.cfg",
      "requirements.txt",
      "Pipfile"
    ],
    "settings": {
      "python": {
        "analysis": {
          "autoSearchPaths": true,
          "diagnosticMode": "openFilesOnly",
          "useLibraryCodeForTypes": true
        }
      }
    }
  },
  "basedpyright": {
    "command": "basedpyright-langserver",
    "args": ["--stdio"],
    "fileTypes": [".py", ".pyi"],
    "rootMarkers": [
      "pyproject.toml",
      "pyrightconfig.json",
      "setup.py",
      "requirements.txt"
    ],
    "settings": {
      "basedpyright": {
        "analysis": {
          "autoSearchPaths": true,
          "diagnosticMode": "openFilesOnly",
          "useLibraryCodeForTypes": true
        }
      }
    }
  },
  "pylsp": {
    "command": "pylsp",
    "args": [],
    "fileTypes": [".py"],
    "rootMarkers": [
      "pyproject.toml",
      "setup.py",
      "setup.cfg",
      "requirements.txt",
      "Pipfile"
    ]
  },
  "ruff": {
    "command": "ruff",
    "args": ["server"],
    "fileTypes": [".py", ".pyi"],
    "rootMarkers": ["pyproject.toml", "ruff.toml", ".ruff.toml"],
    "isLinter": true
  },
  "jdtls": {
    "command": "jdtls",
    "args": [],
    "fileTypes": [".java"],
    "rootMarkers": [
      "pom.xml",
      "build.gradle",
      "build.gradle.kts",
      "settings.gradle",
      ".project"
    ]
  },
  "kotlin-lsp": {
    "command": "kotlin-lsp",
    "args": ["--stdio"],
    "fileTypes": [".kt", ".kts"],
    "rootMarkers": [
      "build.gradle",
      "build.gradle.kts",
      "pom.xml",
      "settings.gradle",
      "settings.gradle.kts"
    ]
  },
  "metals": {
    "command": "metals",
    "args": [],
    "fileTypes": [".scala", ".sbt", ".sc"],
    "rootMarkers": ["build.sbt", "build.sc", "build.gradle", "pom.xml"],
    "initOptions": {
      "statusBarProvider": "show-message",
      "isHttpEnabled": true
    }
  },
  "hls": {
    "command": "haskell-language-server-wrapper",
    "args": ["--lsp"],
    "fileTypes": [".hs", ".lhs"],
    "rootMarkers": [
      "stack.yaml",
      "cabal.project",
      "hie.yaml",
      "package.yaml",
      "*.cabal"
    ],
    "settings": {
      "haskell": {
        "formattingProvider": "ormolu",
        "checkProject": true
      }
    }
  },
  "ocamllsp": {
    "command": "ocamllsp",
    "args": [],
    "fileTypes": [".ml", ".mli", ".mll", ".mly"],
    "rootMarkers": ["dune-project", "dune-workspace", "*.opam", ".ocamlformat"]
  },
  "elixirls": {
    "command": "elixir-ls",
    "args": [],
    "fileTypes": [".ex", ".exs", ".heex", ".eex"],
    "rootMarkers": ["mix.exs", "mix.lock"],
    "settings": {
      "elixirLS": {
        "dialyzerEnabled": true,
        "fetchDeps": false
      }
    }
  },
  "expert": {
    "command": "expert",
    "args": ["--stdio"],
    "fileTypes": [".ex", ".exs", ".heex", ".eex"],
    "rootMarkers": ["mix.exs", "mix.lock"]
  },
  "erlangls": {
    "command": "erlang_ls",
    "args": [],
    "fileTypes": [".erl", ".hrl"],
    "rootMarkers": ["rebar.config", "erlang.mk", "rebar.lock"]
  },
  "gleam": {
    "command": "gleam",
    "args": ["lsp"],
    "fileTypes": [".gleam"],
    "rootMarkers": ["gleam.toml"]
  },
  "solargraph": {
    "command": "solargraph",
    "args": ["stdio"],
    "fileTypes": [".rb", ".rake", ".gemspec"],
    "rootMarkers": ["Gemfile", ".solargraph.yml", "Rakefile"],
    "initOptions": {
      "formatting": true
    },
    "settings": {
      "solargraph": {
        "diagnostics": true,
        "completion": true,
        "hover": true,
        "formatting": true,
        "references": true,
        "rename": true,
        "symbols": true
      }
    }
  },
  "ruby-lsp": {
    "command": "ruby-lsp",
    "args": [],
    "fileTypes": [".rb", ".rake", ".gemspec", ".erb"],
    "rootMarkers": ["Gemfile", ".ruby-version", ".ruby-gemset"],
    "initOptions": {
      "formatter": "auto"
    }
  },
  "rubocop": {
    "command": "rubocop",
    "args": ["--lsp"],
    "fileTypes": [".rb", ".rake"],
    "rootMarkers": [".rubocop.yml", "Gemfile"],
    "isLinter": true
  },
  "bashls": {
    "command": "bash-language-server",
    "args": ["start"],
    "fileTypes": [".sh", ".bash", ".zsh"],
    "rootMarkers": [".git"],
    "settings": {
      "bashIde": {
        "globPattern": "*@(.sh|.inc|.bash|.command)"
      }
    }
  },
  "lua-language-server": {
    "command": "lua-language-server",
    "args": [],
    "fileTypes": [".lua"],
    "rootMarkers": [
      ".luarc.json",
      ".luarc.jsonc",
      ".luacheckrc",
      ".stylua.toml",
      "stylua.toml"
    ],
    "settings": {
      "Lua": {
        "runtime": {
          "version": "LuaJIT"
        },
        "diagnostics": {
          "globals": ["vim"]
        },
        "workspace": {
          "checkThirdParty": false
        },
        "telemetry": {
          "enable": false
        }
      }
    }
  },
  "intelephense": {
    "command": "intelephense",
    "args": ["--stdio"],
    "fileTypes": [".php", ".phtml"],
    "rootMarkers": ["composer.json", "composer.lock", ".git"],
    "diagnosticsSettleMs": 4000
  },
  "phpactor": {
    "command": "phpactor",
    "args": ["language-server"],
    "fileTypes": [".php"],
    "rootMarkers": ["composer.json", ".phpactor.json", ".phpactor.yml"]
  },
  "omnisharp": {
    "command": "omnisharp",
    "args": [
      "-z",
      "--hostPID",
      "$PID",
      "--encoding",
      "utf-8",
      "--languageserver"
    ],
    "fileTypes": [".cs", ".csx"],
    "rootMarkers": ["*.sln", "*.csproj", "omnisharp.json", ".git"],
    "settings": {
      "FormattingOptions": {
        "EnableEditorConfigSupport": true
      },
      "RoslynExtensionsOptions": {
        "EnableAnalyzersSupport": true
      }
    }
  },
  "yamlls": {
    "command": "yaml-language-server",
    "args": ["--stdio"],
    "fileTypes": [".yaml", ".yml"],
    "rootMarkers": [".git"],
    "settings": {
      "yaml": {
        "validate": true,
        "format": {
          "enable": true
        },
        "hover": true,
        "completion": true
      },
      "redhat": {
        "telemetry": {
          "enabled": false
        }
      }
    }
  },
  "terraformls": {
    "command": "terraform-ls",
    "args": ["serve"],
    "fileTypes": [".tf", ".tfvars"],
    "rootMarkers": [".terraform", "terraform.tfstate", "*.tf"]
  },
  "dockerls": {
    "command": "docker-langserver",
    "args": ["--stdio"],
    "fileTypes": [".dockerfile", "Dockerfile"],
    "rootMarkers": [
      "Dockerfile",
      "docker-compose.yml",
      "docker-compose.yaml",
      ".dockerignore"
    ]
  },
  "helm-ls": {
    "command": "helm_ls",
    "args": ["serve"],
    "fileTypes": [".yaml", ".yml", ".tpl"],
    "rootMarkers": ["Chart.yaml", "Chart.yml"]
  },
  "nixd": {
    "command": "nixd",
    "args": [],
    "fileTypes": [".nix"],
    "rootMarkers": ["flake.nix", "default.nix", "shell.nix"]
  },
  "nil": {
    "command": "nil",
    "args": [],
    "fileTypes": [".nix"],
    "rootMarkers": ["flake.nix", "default.nix", "shell.nix"]
  },
  "ols": {
    "command": "ols",
    "args": [],
    "fileTypes": [".odin"],
    "rootMarkers": ["ols.json", ".git"]
  },
  "dartls": {
    "command": "dart",
    "args": ["language-server", "--protocol=lsp"],
    "fileTypes": [".dart"],
    "rootMarkers": ["pubspec.yaml", "pubspec.lock"],
    "initOptions": {
      "closingLabels": true,
      "flutterOutline": true,
      "outline": true
    }
  },
  "marksman": {
    "command": "marksman",
    "args": ["server"],
    "fileTypes": [".md", ".markdown"],
    "rootMarkers": [".marksman.toml", ".git"],
    "warmupTimeoutMs": 2000
  },
  "texlab": {
    "command": "texlab",
    "args": [],
    "fileTypes": [".tex", ".bib", ".sty", ".cls"],
    "rootMarkers": [
      ".latexmkrc",
      "latexmkrc",
      ".texlabroot",
      "texlabroot",
      "Tectonic.toml"
    ],
    "settings": {
      "texlab": {
        "build": {
          "executable": "latexmk",
          "args": ["-pdf", "-interaction=nonstopmode", "-synctex=1", "%f"]
        },
        "chktex": {
          "onOpenAndSave": true
        }
      }
    }
  },
  "graphql": {
    "command": "graphql-lsp",
    "args": ["server", "-m", "stream"],
    "fileTypes": [".graphql", ".gql"],
    "rootMarkers": [
      ".graphqlrc",
      ".graphqlrc.json",
      ".graphqlrc.yml",
      ".graphqlrc.yaml",
      "graphql.config.js"
    ]
  },
  "prismals": {
    "command": "prisma-language-server",
    "args": ["--stdio"],
    "fileTypes": [".prisma"],
    "rootMarkers": ["schema.prisma", "prisma/schema.prisma"]
  },
  "vimls": {
    "command": "vim-language-server",
    "args": ["--stdio"],
    "fileTypes": [".vim", ".vimrc"],
    "rootMarkers": [".git"],
    "initOptions": {
      "isNeovim": true,
      "diagnostic": {
        "enable": true
      }
    }
  },
  "emmet-language-server": {
    "command": "emmet-language-server",
    "args": ["--stdio"],
    "fileTypes": [
      ".html",
      ".css",
      ".scss",
      ".less",
      ".jsx",
      ".tsx",
      ".vue",
      ".svelte"
    ],
    "rootMarkers": [".git"]
  },
  "sourcekit-lsp": {
    "command": "sourcekit-lsp",
    "args": [],
    "fileTypes": [".swift"],
    "rootMarkers": [
      "Package.swift",
      "*.xcodeproj",
      "*.xcworkspace",
      "project.yml",
      ".swiftpm"
    ]
  },
  "swiftlint": {
    "command": "swiftlint",
    "args": ["lint", "--quiet", "--reporter", "json"],
    "fileTypes": [".swift"],
    "rootMarkers": [
      ".swiftlint.yml",
      ".swiftlint.yaml",
      "Package.swift",
      "*.xcodeproj"
    ],
    "isLinter": true
  }
}
