diff --git a/src/vs/base/common/htmlContent.ts b/src/vs/base/common/htmlContent.ts
index f047d7effce603a8b7a936f6ea7e913f61cb69a1..c9a546c36965e44cc8fd868fb24b8fce6dc27852 100644
--- a/src/vs/base/common/htmlContent.ts
+++ b/src/vs/base/common/htmlContent.ts
@@ -33,15 +33,11 @@ export class MarkdownString implements IMarkdownString {
}
appendText(value: string): this {
- this.value += textToMarkedString(value);
+ // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash
+ this.value += value.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&');
return this;
}
- // appendMarkdown(value: string): this {
- // this.value += value;
- // return this;
- // }
-
appendCodeblock(langId: string, code: string): this {
this.value += '```';
this.value += langId;
@@ -76,10 +72,6 @@ function markdownStringEqual(a: IMarkdownString, b: IMarkdownString): boolean {
}
}
-export function textToMarkedString(text: string): string {
- return text.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash
-}
-
export function removeMarkdownEscapes(text: string): string {
if (!text) {
return text;
diff --git a/src/vs/editor/common/services/modelServiceImpl.ts b/src/vs/editor/common/services/modelServiceImpl.ts
index 20565a52a3f042d0b8c18351a7fddbce42740af4..d09a2f657cd82adba34f8c576f28da539ed19f60 100644
--- a/src/vs/editor/common/services/modelServiceImpl.ts
+++ b/src/vs/editor/common/services/modelServiceImpl.ts
@@ -8,7 +8,7 @@ import * as nls from 'vs/nls';
import network = require('vs/base/common/network');
import Event, { Emitter } from 'vs/base/common/event';
import { EmitterEvent } from 'vs/base/common/eventEmitter';
-import { IMarkdownString } from 'vs/base/common/htmlContent';
+import { MarkdownString } from 'vs/base/common/htmlContent';
import { IDisposable } from 'vs/base/common/lifecycle';
import Severity from 'vs/base/common/severity';
import URI from 'vs/base/common/uri';
@@ -136,7 +136,7 @@ class ModelMarkerHandler {
break;
}
- let hoverMessage: IMarkdownString = null;
+ let hoverMessage: MarkdownString = null;
let { message, source } = marker;
if (typeof message === 'string') {
@@ -150,7 +150,7 @@ class ModelMarkerHandler {
}
}
- hoverMessage = { value: '```_\n' + message + '\n```' };
+ hoverMessage = new MarkdownString().appendCodeblock('_', message);
}
return {