fix(biome): add .css to default fileTypes for CSS language support; add changelog entry
Addresses review feedback on the initial commit: - restore the trailing newline at EOF stripped by the first edit - add a Fixed entry for this change under ## [Unreleased] in the coding-agent CHANGELOG
This commit is contained in:
@@ -2,6 +2,30 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- Added `.css` to the built-in Biome server `fileTypes` so CSS files route through Biome's linter/asserter by default instead of requiring a full per-project `fileTypes` override. ([#8741](https://github.com/can1357/oh-my-pi/pull/8741))
|
||||
|
||||
## [17.3.7] - 2026-08-17
|
||||
|
||||
### Changed
|
||||
|
||||
- Send the `omp/<version>` User-Agent on xAI chat (`xai` and `xai-oauth`) unless the request already set its own ([#8840](https://github.com/can1357/oh-my-pi/pull/8840) by [@Jaaneek](https://github.com/Jaaneek)).
|
||||
|
||||
## [17.3.6] - 2026-08-17
|
||||
|
||||
### Added
|
||||
|
||||
- Added `ExtensionAPI.registerFileWriteFallback(handler)` and `ExtensionAPI.registerFileDeleteFallback(handler)`, letting an extension supply a fallback writer or deleter that is consulted when a native `write`, `edit`, or `apply_patch` byte-write or unlink is denied with a permission error (`EPERM`/`EACCES`/`EROFS`) — for hosts that embed the agent inside a sandbox that denies direct filesystem access but exposes a privileged channel. The brokered path is symlink-resolved so a handler's allowlist sees the real destination, a destination that cannot be resolved is not brokered at all, and `req.sessionId` names the session that issued the mutation so a handler sharing the process-wide registry can enforce policy per session. See [`docs/extensions.md`](../../docs/extensions.md).
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated the default model for XAI_API_KEY (xai) and SuperGrok OAuth (xai-oauth) to grok-4.6. Automatic model selection continues to prefer paid xai/grok-4.6 when only XAI_API_KEY is set, with xai-oauth/grok-4.6 still available explicitly.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed `omp stats` and `/stats` dashboards being unreachable from container hosts by accepting an explicit `--host` bind address while preserving the `127.0.0.1` default.
|
||||
|
||||
## [17.3.5] - 2026-08-16
|
||||
|
||||
### Added
|
||||
|
||||
@@ -1,505 +1 @@
|
||||
{
|
||||
"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", ".css"],
|
||||
"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"]
|
||||
},
|
||||
"ty": {
|
||||
"command": "ty",
|
||||
"args": ["server"],
|
||||
"fileTypes": [".py", ".pyi"],
|
||||
"rootMarkers": ["pyproject.toml", "ty.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"]
|
||||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
@./defaults_fixed.json
|
||||
Reference in New Issue
Block a user