Conversation
I like prettier because it supports a lot of file types, but it has always been slow and a pain to install. oxc fixes this for me by making it a single binary and fast. I mainly wanted oxfmt, but added oxlint since I was already installing oxfmt.
WalkthroughThis pull request introduces oxfmt and oxlint as new formatting and linting tools across the project configuration. Changes include: adding oxfmt and oxlint tool definitions to the installation manifest with architecture-specific binaries, updating CI/build pipelines to install oxfmt, adding oxfmt to the justfile format recipe, and reconfiguring Neovim plugins to use oxfmt for formatting and oxlint for linting across multiple file types (CSS, HTML, JavaScript, JSON, TOML, TypeScript, YAML, Markdown, and others), while replacing previous formatters like prettier, mdformat, and jq. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3e9efef113
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| javascript = { "prettier" }, | ||
| json = { "jq" }, | ||
| graphql = { "oxfmt" }, | ||
| hmtl = { "oxfmt" }, |
There was a problem hiding this comment.
Use correct
html filetype key for formatter mapping
The formatters_by_ft table has hmtl instead of html, so Conform will never apply oxfmt to HTML buffers. In practice, formatting-on-save and manual format requests for HTML files will silently skip the configured formatter, which is a regression from the previous explicit HTML formatting setup.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@xdg_config/nvim/lua/plugins/lsp.lua`:
- Around line 36-37: The LSP servers table includes non-LSP tools `oxfmt` and
`oxlint`, which causes nvim-lspconfig to attempt to start invalid servers;
remove the `oxfmt = {}` and `oxlint = {}` entries from the servers table in
lsp.lua so only real language servers are listed (these tools remain configured
separately as a formatter in conform.lua and a linter in lint.lua).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3427fc4b-f610-4ef5-be91-2106b3e7f35a
📒 Files selected for processing (7)
.buildkite/pipeline.yml.github/workflows/ci.ymlcmd_install.tomljustfilexdg_config/nvim/lua/plugins/conform.luaxdg_config/nvim/lua/plugins/lint.luaxdg_config/nvim/lua/plugins/lsp.lua
| oxfmt = {}, | ||
| oxlint = {}, |
There was a problem hiding this comment.
Remove oxfmt and oxlint from the LSP servers table — they are not language servers.
Both tools are already correctly configured elsewhere:
oxfmtis configured as a formatter inconform.lua(lines 31-48)oxlintis configured as a linter inlint.lua(lines 8, 14)
Adding them here will cause errors when nvim-lspconfig attempts to start non-existent LSP server configurations via vim.lsp.enable().
🐛 Proposed fix: Remove the invalid entries
lua_ls = {},
- oxfmt = {},
- oxlint = {},
ty = {},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| oxfmt = {}, | |
| oxlint = {}, | |
| lua_ls = {}, | |
| ty = {}, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@xdg_config/nvim/lua/plugins/lsp.lua` around lines 36 - 37, The LSP servers
table includes non-LSP tools `oxfmt` and `oxlint`, which causes nvim-lspconfig
to attempt to start invalid servers; remove the `oxfmt = {}` and `oxlint = {}`
entries from the servers table in lsp.lua so only real language servers are
listed (these tools remain configured separately as a formatter in conform.lua
and a linter in lint.lua).
I like prettier because it supports a lot of file types, but it has always been slow and a pain to install. oxc fixes this for me by making it a single binary and fast. I mainly wanted oxfmt, but added oxlint since I was already installing oxfmt.
Summary by CodeRabbit
Release Notes