about summary refs log tree commit diff
diff options
context:
space:
mode:
authorIan Chamberlain <ichamberlain@juniper.net>2023-01-03 10:49:47 -0500
committerIan Chamberlain <ichamberlain@juniper.net>2023-01-09 11:49:59 -0500
commit738ce83d858aa498c3ff28be3417101ab5f9ce6f (patch)
treec62c1a5fa924a30d3e86db69c9e5052bb565302b
parentc3e4bc313611d571123d4e4257af58784e42f47d (diff)
downloadrust-738ce83d858aa498c3ff28be3417101ab5f9ce6f.tar.gz
rust-738ce83d858aa498c3ff28be3417101ab5f9ce6f.zip
Strip colors before matching preview diagnostics
-rw-r--r--editors/code/src/client.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index 74cf44f42f7..c6d64ebc1ed 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -1,3 +1,4 @@
+import * as anser from "anser";
 import * as lc from "vscode-languageclient/node";
 import * as vscode from "vscode";
 import * as ra from "../src/lsp_ext";
@@ -139,9 +140,10 @@ export async function createClient(
                         ?.rendered;
                     if (rendered) {
                         if (preview) {
+                            const decolorized = anser.ansiToText(rendered);
                             const index =
-                                rendered.match(/^(note|help):/m)?.index || rendered.length;
-                            diag.message = rendered
+                                decolorized.match(/^(note|help):/m)?.index || rendered.length;
+                            diag.message = decolorized
                                 .substring(0, index)
                                 .replace(/^ -->[^\n]+\n/m, "");
                         }