From b2f53b4e29c2095fd8dbb51ec920b58fb0b852ce Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Fri, 23 Nov 2018 15:49:38 +0100 Subject: [PATCH] #62370 Improve hover UI --- .../common/services/modelServiceImpl.ts | 57 ++++++++----------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/src/vs/editor/common/services/modelServiceImpl.ts b/src/vs/editor/common/services/modelServiceImpl.ts index f506eef2f5c..40b258d49ce 100644 --- a/src/vs/editor/common/services/modelServiceImpl.ts +++ b/src/vs/editor/common/services/modelServiceImpl.ts @@ -28,6 +28,7 @@ import { overviewRulerError, overviewRulerInfo, overviewRulerWarning } from 'vs/ import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IMarker, IMarkerService, MarkerSeverity, MarkerTag } from 'vs/platform/markers/common/markers'; import { ThemeColor, themeColorFromId } from 'vs/platform/theme/common/themeService'; +import { localize } from 'vs/nls'; function MODEL_ID(resource: URI): string { return resource.toString(); @@ -197,44 +198,34 @@ class ModelMarkerHandler { // Disable markdown renderer sanitize to allow html // Hence, escape all input strings hoverMessage.sanitize = false; - if (source) { - hoverMessage.appendMarkdown(`[${escape(source)}]`); - hoverMessage.appendText(' '); - } - hoverMessage.appendMarkdown(``); - message = escape(message.trim()); - const lines = message.split(/\r\n|\r|\n/g); - if (lines.length > 1) { - if (source) { - hoverMessage.appendMarkdown(`
`); - } - for (const line of lines) { - hoverMessage.appendText(line); - hoverMessage.appendMarkdown(`
`); - } - } else { - hoverMessage.appendText(message); - } - hoverMessage.appendMarkdown(`
`); - - if (code) { - if (lines.length === 1) { - hoverMessage.appendText(' '); - } - hoverMessage.appendMarkdown(`[${escape(code)}]`); - } + hoverMessage.appendMarkdown(`
`); + hoverMessage.appendMarkdown(`${escape(message.trim())}`); + hoverMessage.appendMarkdown(`
`); if (isNonEmptyArray(relatedInformation)) { - hoverMessage.appendMarkdown(`\n`); + hoverMessage.appendMarkdown(``); + } + + if (source || code) { + hoverMessage.appendMarkdown(`
`); + if (source) { + hoverMessage.appendMarkdown(`${localize('source', "Source")}:${escape(source)}`); + if (code) { + hoverMessage.appendMarkdown(`,`); + } + } + if (code) { + hoverMessage.appendMarkdown(`${localize('code', "Code")}:${escape(code)}`); + } + hoverMessage.appendMarkdown(`
`); } }