diff --git a/.github/workflows/ubuntu_x86_64.yml b/.github/workflows/ubuntu_x86_64.yml index 5903ae1ff5..4664238362 100644 --- a/.github/workflows/ubuntu_x86_64.yml +++ b/.github/workflows/ubuntu_x86_64.yml @@ -11,8 +11,6 @@ jobs: name: test zig, rust, wasm... runs-on: [self-hosted, i7-6700K] timeout-minutes: 90 - env: - RUSTC_WRAPPER: /home/big-ci-user/.cargo/bin/sccache steps: - uses: actions/checkout@v4 @@ -39,7 +37,7 @@ jobs: - name: regular rust tests # see #5904 for skipped test - run: cargo test --locked --release -- --skip cli_run::expects_dev_and_test && sccache --show-stats + run: cargo test --locked --release -- --skip cli_run::expects_dev_and_test - name: tests examples in docs run: cargo test --doc --release @@ -48,19 +46,19 @@ jobs: run: cd examples/platform-switching/rust-platform && LD_LIBRARY_PATH=. cargo test --release --locked - name: test the dev backend # these tests require an explicit feature flag - run: cargo test --locked --release --package test_gen --no-default-features --features gen-dev && sccache --show-stats + run: cargo test --locked --release --package test_gen --no-default-features --features gen-dev - name: test gen-wasm single threaded # gen-wasm has some multithreading problems to do with the wasmer runtime - run: cargo test --locked --release --package test_gen --no-default-features --features gen-wasm -- --test-threads=1 && sccache --show-stats + run: cargo test --locked --release --package test_gen --no-default-features --features gen-wasm -- --test-threads=1 - name: roc test all builtins run: ./ci/roc_test_builtins.sh - name: wasm repl test - run: crates/repl_test/test_wasm.sh && sccache --show-stats + run: crates/repl_test/test_wasm.sh - name: test building wasm repl - run: ./ci/www-repl.sh && sccache --show-stats + run: ./ci/www-repl.sh #TODO i386 (32-bit linux) cli tests #TODO verify-no-git-changes diff --git a/crates/language_server/src/analysis.rs b/crates/language_server/src/analysis.rs index 1214bbe589..b784176e9b 100644 --- a/crates/language_server/src/analysis.rs +++ b/crates/language_server/src/analysis.rs @@ -112,7 +112,7 @@ pub(crate) fn global_analysis(doc_info: DocInfo) -> Vec { src_dir, roc_target::Target::LinuxX64, roc_load::FunctionKind::LambdaSet, - roc_reporting::report::RenderTarget::Generic, + roc_reporting::report::RenderTarget::LanguageServer, RocCacheDir::Persistent(cache::roc_cache_dir().as_path()), roc_reporting::report::DEFAULT_PALETTE, ); diff --git a/crates/language_server/src/convert.rs b/crates/language_server/src/convert.rs index 162d3d7148..bacc391a18 100644 --- a/crates/language_server/src/convert.rs +++ b/crates/language_server/src/convert.rs @@ -202,9 +202,8 @@ pub(crate) mod diag { ); let severity = report.severity.into_lsp_severity(); - let mut msg = String::new(); - report.render_ci(&mut msg, fmt.alloc); + report.render_language_server(&mut msg, fmt.alloc); Some(Diagnostic { range, @@ -239,7 +238,7 @@ pub(crate) mod diag { let severity = report.severity.into_lsp_severity(); let mut msg = String::new(); - report.render_ci(&mut msg, fmt.alloc); + report.render_language_server(&mut msg, fmt.alloc); Some(Diagnostic { range, diff --git a/crates/reporting/src/report.rs b/crates/reporting/src/report.rs index 5badd1d8ee..0f18f94c20 100644 --- a/crates/reporting/src/report.rs +++ b/crates/reporting/src/report.rs @@ -112,6 +112,7 @@ pub fn pretty_header_with_path(title: &str, path: &Path) -> String { pub enum RenderTarget { ColorTerminal, Generic, + LanguageServer, } /// A textual report. @@ -133,6 +134,7 @@ impl<'b> Report<'b> { match target { RenderTarget::Generic => self.render_ci(buf, alloc), RenderTarget::ColorTerminal => self.render_color_terminal(buf, alloc, palette), + RenderTarget::LanguageServer => self.render_language_server(buf, alloc), } } @@ -176,6 +178,18 @@ impl<'b> Report<'b> { } } + /// Render report for the language server, where the window is narrower. + /// Path is not included, and the header is not emphasized with "─". + pub fn render_language_server(self, buf: &mut String, alloc: &'b RocDocAllocator<'b>) { + let err_msg = ""; + + alloc + .stack([alloc.text(self.title), self.doc]) + .1 + .render_raw(60, &mut CiWrite::new(buf)) + .expect(err_msg) + } + pub fn horizontal_rule(palette: &'b Palette) -> String { format!("{}{}", palette.header, "─".repeat(80)) }