Skip to content

Commit c4d753a

Browse files
committed
#62370 Render source and code less prominent
1 parent 95190ed commit c4d753a

File tree

2 files changed

+32
-20
lines changed

2 files changed

+32
-20
lines changed

src/vs/editor/contrib/gotoError/gotoErrorWidget.css

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,16 @@
3333
user-select: text;
3434
}
3535

36+
.monaco-editor .marker-widget .descriptioncontainer .message {
37+
display: flex;
38+
}
39+
40+
.monaco-editor .marker-widget .descriptioncontainer .message .source,
41+
.monaco-editor .marker-widget .descriptioncontainer .message .code,
3642
.monaco-editor .marker-widget .descriptioncontainer .filename {
37-
cursor: pointer;
3843
opacity: 0.6;
3944
}
45+
46+
.monaco-editor .marker-widget .descriptioncontainer .filename {
47+
cursor: pointer;
48+
}

src/vs/editor/contrib/gotoError/gotoErrorWidget.ts

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class MessageWidget {
4545
domNode.setAttribute('role', 'alert');
4646

4747
this._messageBlock = document.createElement('div');
48+
dom.addClass(this._messageBlock, 'message');
4849
domNode.appendChild(this._messageBlock);
4950

5051
this._relatedBlock = document.createElement('div');
@@ -80,28 +81,14 @@ class MessageWidget {
8081
update({ source, message, relatedInformation, code }: IMarker): void {
8182

8283
if (source) {
83-
this._lines = 0;
84-
this._longestLineLength = 0;
85-
const indent = new Array(source.length + 3 + 1).join(' ');
8684
const lines = message.split(/\r\n|\r|\n/g);
87-
for (let i = 0; i < lines.length; i++) {
88-
let line = lines[i];
89-
this._lines += 1;
90-
if (code && i === lines.length - 1) {
91-
line += ` [${code}]`;
92-
}
85+
this._lines = lines.length;
86+
this._longestLineLength = 0;
87+
for (const line of lines) {
9388
this._longestLineLength = Math.max(line.length, this._longestLineLength);
94-
if (i === 0) {
95-
message = `[${source}] ${line}`;
96-
} else {
97-
message += `\n${indent}${line}`;
98-
}
9989
}
10090
} else {
10191
this._lines = 1;
102-
if (code) {
103-
message += ` [${code}]`;
104-
}
10592
this._longestLineLength = message.length;
10693
}
10794

@@ -133,8 +120,24 @@ class MessageWidget {
133120
}
134121
}
135122

136-
this._messageBlock.innerText = message;
137-
this._editor.applyFontInfo(this._messageBlock);
123+
dom.clearNode(this._messageBlock);
124+
if (source) {
125+
const sourceElement = document.createElement('div');
126+
sourceElement.innerText = `[${source}] `;
127+
dom.addClass(sourceElement, 'source');
128+
this._messageBlock.appendChild(sourceElement);
129+
}
130+
const messageElement = document.createElement('div');
131+
messageElement.innerText = message;
132+
this._editor.applyFontInfo(messageElement);
133+
this._messageBlock.appendChild(messageElement);
134+
if (code) {
135+
const codeElement = document.createElement('div');
136+
codeElement.innerText = ` [${code}]`;
137+
dom.addClass(codeElement, 'code');
138+
this._messageBlock.appendChild(codeElement);
139+
}
140+
138141
const fontInfo = this._editor.getConfiguration().fontInfo;
139142
const scrollWidth = Math.ceil(fontInfo.typicalFullwidthCharacterWidth * this._longestLineLength * 0.75);
140143
const scrollHeight = fontInfo.lineHeight * this._lines;

0 commit comments

Comments
 (0)