chore(vscode): second language server connection for oxfmt#15837
Merged
graphite-app[bot] merged 1 commit intomainfrom Dec 5, 2025
Merged
Conversation
Member
Author
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
df6d604 to
cc0ec55
Compare
0a8f773 to
99701c2
Compare
56be34f to
f7ff45d
Compare
96a9a86 to
d5ec71f
Compare
f7ff45d to
240f96d
Compare
d5ec71f to
1ec9472
Compare
240f96d to
e919504
Compare
1ec9472 to
cce5a20
Compare
e919504 to
784a33c
Compare
cce5a20 to
0fa8b4c
Compare
784a33c to
0146b4c
Compare
0fa8b4c to
35a58e9
Compare
35a58e9 to
f61e18a
Compare
f61e18a to
f535ff0
Compare
This was referenced Nov 21, 2025
0932a4b to
eef3fe2
Compare
leaysgur
reviewed
Nov 26, 2025
eef3fe2 to
ac599cb
Compare
ac599cb to
95542bd
Compare
Contributor
|
@leaysgur you probably want to review this? If not, I'm happy to |
leaysgur
reviewed
Dec 2, 2025
Member
|
@camc314 I left a comment, so I will get back to you. 🙏🏻 |
c623cc6 to
df8baeb
Compare
camc314
approved these changes
Dec 5, 2025
Contributor
Merge activity
|
This PR implements a second language server connection only for `oxfmt`. Currently, it still uses the shipped `oxc_language_server` binary for formatting. When defining a custom `oxc.path.oxlint` (or `oxc.path.server`), it will start the search process for `node_modules/.bin/oxfmt` or uses `oxc.path.oxfmt`. This should be **not** a breaking change. When `node_modules/.bin/oxfmt` should be required for formatting, the `ConfigService.useOxcLanguageServerForFormatting` must not be modified. I would love to wait for the correct search implementation for `.node_modules/.bin/oxlint` before breaking the server detection (and probably removing the shipped server too). ### Default / with `oxfmt` installed: Using the internal language server (once) ### with `oxc.path.oxlint`: Using the oxlint path server for linting. Searching for `oxfmt` inside `node_modules/.bin` ### with `oxc.path.fmt`: Using the internal language server for linting. Using `oxc.path.fmt` binary <img width="257" height="233" alt="grafik" src="https://github.com/user-attachments/assets/0776920d-76cd-49cf-9357-fae2ea4a0eb8" /> <img width="193" height="238" alt="grafik" src="https://github.com/user-attachments/assets/c3b2670d-559e-4d0a-96b2-b420e868e1a1" /> <img width="174" height="258" alt="grafik" src="https://github.com/user-attachments/assets/63f9a265-cae9-4971-9c21-86adeacaf35d" />
df8baeb to
2fcc079
Compare
taearls
pushed a commit
to taearls/oxc
that referenced
this pull request
Dec 11, 2025
…ject#15837) This PR implements a second language server connection only for `oxfmt`. Currently, it still uses the shipped `oxc_language_server` binary for formatting. When defining a custom `oxc.path.oxlint` (or `oxc.path.server`), it will start the search process for `node_modules/.bin/oxfmt` or uses `oxc.path.oxfmt`. This should be **not** a breaking change. When `node_modules/.bin/oxfmt` should be required for formatting, the `ConfigService.useOxcLanguageServerForFormatting` must not be modified. I would love to wait for the correct search implementation for `.node_modules/.bin/oxlint` before breaking the server detection (and probably removing the shipped server too). ### Default / with `oxfmt` installed: Using the internal language server (once) ### with `oxc.path.oxlint`: Using the oxlint path server for linting. Searching for `oxfmt` inside `node_modules/.bin` ### with `oxc.path.fmt`: Using the internal language server for linting. Using `oxc.path.fmt` binary <img width="257" height="233" alt="grafik" src="https://github.com/user-attachments/assets/0776920d-76cd-49cf-9357-fae2ea4a0eb8" /> <img width="193" height="238" alt="grafik" src="https://github.com/user-attachments/assets/c3b2670d-559e-4d0a-96b2-b420e868e1a1" /> <img width="174" height="258" alt="grafik" src="https://github.com/user-attachments/assets/63f9a265-cae9-4971-9c21-86adeacaf35d" />
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This PR implements a second language server connection only for
oxfmt. Currently, it still uses the shippedoxc_language_serverbinary for formatting. When defining a customoxc.path.oxlint(oroxc.path.server), it will start the search process fornode_modules/.bin/oxfmtor usesoxc.path.oxfmt.This should be not a breaking change. When
node_modules/.bin/oxfmtshould be required for formatting, theConfigService.useOxcLanguageServerForFormattingmust not be modified. I would love to wait for the correct search implementation for.node_modules/.bin/oxlintbefore breaking the server detection (and probably removing the shipped server too).Default / with
oxfmtinstalled:Using the internal language server (once)
with
oxc.path.oxlint:Using the oxlint path server for linting.
Searching for
oxfmtinsidenode_modules/.binwith
oxc.path.fmt:Using the internal language server for linting.
Using
oxc.path.fmtbinary