{
	"rust-analyzer": {
		"command": "rust-analyzer",
		"args": [],
		"fileTypes": [".rs"],
		"rootMarkers": ["Cargo.toml", "rust-analyzer.toml"],
		"initOptions": {},
		"settings": {},
		"capabilities": {
			"flycheck": true,
			"ssr": true,
			"expandMacro": true,
			"runnables": true,
			"relatedTests": true
		}
	},
	"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": "sf-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": [],
		"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
			}
		}
	},
	"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"]
	},
	"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 } }
		}
	},
	"taplo": {
		"command": "taplo",
		"args": ["lsp", "stdio"],
		"fileTypes": [".toml"],
		"rootMarkers": [".taplo.toml", "taplo.toml", ".git"]
	},
	"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"]
	},
	"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"
		]
	}
}
