Avatar for the oxc-project user
oxc-project
oxc
Instrumentation
Wall Time
BlogDocsChangelog

feat(language_server): introduce `ServerFormatter`

#13700Merged
Comparing
09-11-refactor_language_server_introduce_dummy_serverformatter_
(
a21ff54
) with
main
(
6fcb0d0
)
CodSpeed Performance Gauge
0%
Untouched
37

Benchmarks

Passed

minifier[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[cal.com.tsx]
CodSpeed Performance Gauge
+3%
32.1 ms31.3 ms
formatter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
+1%
579.5 µs576.3 µs
codegen[cal.com.tsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[cal.com.tsx]
CodSpeed Performance Gauge
0%
34.4 ms34.3 ms
transformer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
134.1 µs133.9 µs
formatter[react.development.js]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[react.development.js]
CodSpeed Performance Gauge
0%
11.7 ms11.7 ms
codegen[binder.ts]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[binder.ts]
CodSpeed Performance Gauge
0%
4 ms4 ms
semantic[binder.ts]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[binder.ts]
CodSpeed Performance Gauge
0%
4.3 ms4.3 ms
semantic[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
75.2 µs75.1 µs
semantic[cal.com.tsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[cal.com.tsx]
CodSpeed Performance Gauge
0%
27.7 ms27.7 ms
lexer[react.development.js]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[react.development.js]
CodSpeed Performance Gauge
0%
356.9 µs356.7 µs
formatter[cal.com.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[cal.com.tsx]
CodSpeed Performance Gauge
0%
209.5 ms209.4 ms
transformer[react.development.js]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[react.development.js]
CodSpeed Performance Gauge
0%
712.5 µs712.3 µs
lexer[binder.ts]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[binder.ts]
CodSpeed Performance Gauge
0%
870.4 µs870.1 µs
minifier[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[binder.ts]
CodSpeed Performance Gauge
0%
3.9 ms3.9 ms
codegen[react.development.js]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[react.development.js]
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
isolated-declarations[vue-id.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_isolated_declarations::isolated-declarations[vue-id.ts]
CodSpeed Performance Gauge
0%
56.4 ms56.4 ms
parser[cal.com.tsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[cal.com.tsx]
CodSpeed Performance Gauge
0%
26.8 ms26.8 ms
linter[cal.com.tsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[cal.com.tsx]
CodSpeed Performance Gauge
0%
813.4 ms813.4 ms
linter[binder.ts]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[binder.ts]
CodSpeed Performance Gauge
0%
97.8 ms97.8 ms
parser[react.development.js]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[react.development.js]
CodSpeed Performance Gauge
0%
1.3 ms1.3 ms
parser[binder.ts]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[binder.ts]
CodSpeed Performance Gauge
0%
3.3 ms3.3 ms
mangler[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
11.5 µs11.5 µs
estree[checker.ts]
tasks/benchmark/benches/parser.rs::parser::bench_estree::estree[checker.ts]
CodSpeed Performance Gauge
0%
104.5 ms104.5 ms
lexer[cal.com.tsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[cal.com.tsx]
CodSpeed Performance Gauge
0%
5.3 ms5.3 ms
formatter[binder.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[binder.ts]
CodSpeed Performance Gauge
0%
23.1 ms23.1 ms
linter[react.development.js]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[react.development.js]
CodSpeed Performance Gauge
0%
35.3 ms35.3 ms
codegen[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
119.6 µs119.6 µs
linter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
minifier[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[react.development.js]
CodSpeed Performance Gauge
0%
2.4 ms2.5 ms
semantic[react.development.js]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[react.development.js]
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
parser[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
84.2 µs84.3 µs
mangler[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[cal.com.tsx]
CodSpeed Performance Gauge
0%
2.8 ms2.8 ms
mangler[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[react.development.js]
CodSpeed Performance Gauge
0%
259.2 µs259.4 µs
transformer[binder.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[binder.ts]
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
mangler[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[binder.ts]
CodSpeed Performance Gauge
0%
732.8 µs733.8 µs
lexer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
19.9 µs20 µs
transformer[cal.com.tsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[cal.com.tsx]
CodSpeed Performance Gauge
-1%
26.2 ms26.4 ms

Commits

Click on a commit to change the comparison range
Base
main
6fcb0d0
+0.05%
feat(language_server): introduce `ServerFormatter` (#13700) First try on formatter integration. The server will only tell the client, that is supports `formatting` when `fmt.experimental` is `true`. It will respect the flag in `initialize`, `did_change_configuration` (changing configuration), or `did_change_workspace_folders`. It will not tell the client, it does not support formatting when the configuration is changed to `false`. This can be optimized but has no high priority, because the client needs to send the request and the `ServerFormatter` needs to be set. The last requirement is then false. Make `WorkspaceWorker.option` optional, so we the servers knows when the configuration in `initialize` or `initialized` (with `request_workspace_configuration`). Before the server knew it, by looking at the `WorkspaceWorker.server_linter` instance.
a21ff54
1 day ago
by Sysix
© 2025 CodSpeed Technology
Home Terms Privacy Docs