diff --git a/extensions/npm/src/features/jsonContributions.ts b/extensions/npm/src/features/jsonContributions.ts index bae32a5c6a9..dcd5411e445 100644 --- a/extensions/npm/src/features/jsonContributions.ts +++ b/extensions/npm/src/features/jsonContributions.ts @@ -10,7 +10,7 @@ import { XHRRequest } from 'request-light'; import { CompletionItem, CompletionItemProvider, CompletionList, TextDocument, Position, Hover, HoverProvider, - CancellationToken, Range, MarkedString, DocumentSelector, languages, Disposable, Uri + CancellationToken, Range, DocumentSelector, languages, Disposable, Uri, MarkdownString } from 'vscode'; export interface ISuggestionsCollector { @@ -22,7 +22,7 @@ export interface ISuggestionsCollector { export interface IJSONContribution { getDocumentSelector(): DocumentSelector; - getInfoContribution(resourceUri: Uri, location: Location): Thenable | null; + getInfoContribution(resourceUri: Uri, location: Location): Thenable | null; collectPropertySuggestions(resourceUri: Uri, location: Location, currentWord: string, addValue: boolean, isLast: boolean, result: ISuggestionsCollector): Thenable | null; collectValueSuggestions(resourceUri: Uri, location: Location, result: ISuggestionsCollector): Thenable | null; collectDefaultSuggestions(resourceUri: Uri, result: ISuggestionsCollector): Thenable; diff --git a/extensions/npm/src/features/packageJSONContribution.ts b/extensions/npm/src/features/packageJSONContribution.ts index 3afbf98259b..c1bd6fd4c93 100644 --- a/extensions/npm/src/features/packageJSONContribution.ts +++ b/extensions/npm/src/features/packageJSONContribution.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { MarkedString, CompletionItemKind, CompletionItem, DocumentSelector, SnippetString, workspace, MarkdownString, Uri } from 'vscode'; +import { CompletionItemKind, CompletionItem, DocumentSelector, SnippetString, workspace, MarkdownString, Uri } from 'vscode'; import { IJSONContribution, ISuggestionsCollector } from './jsonContributions'; import { XHRRequest } from 'request-light'; import { Location } from 'jsonc-parser'; @@ -320,7 +320,7 @@ export class PackageJSONContribution implements IJSONContribution { return undefined; } - public getInfoContribution(resource: Uri, location: Location): Thenable | null { + public getInfoContribution(resource: Uri, location: Location): Thenable | null { if (!this.isEnabled()) { return null; } diff --git a/extensions/typescript-language-features/src/languageFeatures/hover.ts b/extensions/typescript-language-features/src/languageFeatures/hover.ts index 36f39971ecd..62113e8ce31 100644 --- a/extensions/typescript-language-features/src/languageFeatures/hover.ts +++ b/extensions/typescript-language-features/src/languageFeatures/hover.ts @@ -52,7 +52,7 @@ class TypeScriptHoverProvider implements vscode.HoverProvider { data: Proto.QuickInfoResponseBody, source: ServerType | undefined, ) { - const parts: vscode.MarkedString[] = []; + const parts: vscode.MarkdownString[] = []; if (data.displayString) { const displayParts: string[] = []; @@ -66,8 +66,7 @@ class TypeScriptHoverProvider implements vscode.HoverProvider { } displayParts.push(data.displayString); - - parts.push({ language: 'typescript', value: displayParts.join(' ') }); + parts.push(new vscode.MarkdownString().appendCodeblock(displayParts.join(' '), 'typescript')); } parts.push(markdownDocumentation(data.documentation, data.tags, this.client)); return parts; diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts index d48c4fce858..7064bbcd593 100644 --- a/src/vs/vscode.d.ts +++ b/src/vs/vscode.d.ts @@ -1055,7 +1055,7 @@ declare module 'vscode' { /** * A message that should be rendered when hovering over the decoration. */ - hoverMessage?: MarkedString | MarkedString[]; + hoverMessage?: MarkdownString | (MarkdownString | MarkedString)[] | MarkedString; /** * Render options applied to the current decoration. For performance reasons, keep the @@ -2625,7 +2625,7 @@ declare module 'vscode' { * * @deprecated This type is deprecated, please use {@link MarkdownString `MarkdownString`} instead. */ - export type MarkedString = MarkdownString | string | { language: string; value: string }; + export type MarkedString = string | { language: string; value: string }; /** * A hover represents additional information for a symbol or word. Hovers are @@ -2636,7 +2636,7 @@ declare module 'vscode' { /** * The contents of this hover. */ - contents: MarkedString[]; + contents: (MarkdownString | MarkedString)[]; /** * The range to which this hover applies. When missing, the @@ -2651,7 +2651,7 @@ declare module 'vscode' { * @param contents The contents of the hover. * @param range The range to which the hover applies. */ - constructor(contents: MarkedString | MarkedString[], range?: Range); + constructor(contents: MarkdownString | (MarkdownString | MarkedString)[] | MarkedString, range?: Range); } /** diff --git a/src/vs/workbench/api/common/extHostTypes.ts b/src/vs/workbench/api/common/extHostTypes.ts index 21bb3cbb6d7..54ba8c1e240 100644 --- a/src/vs/workbench/api/common/extHostTypes.ts +++ b/src/vs/workbench/api/common/extHostTypes.ts @@ -6,7 +6,7 @@ import { asArray, coalesceInPlace, equals } from 'vs/base/common/arrays'; import { illegalArgument } from 'vs/base/common/errors'; import { IRelativePattern } from 'vs/base/common/glob'; -import { isMarkdownString, MarkdownString as BaseMarkdownString } from 'vs/base/common/htmlContent'; +import { MarkdownString as BaseMarkdownString } from 'vs/base/common/htmlContent'; import { ReadonlyMapView, ResourceMap } from 'vs/base/common/map'; import { Mimes, normalizeMimeType } from 'vs/base/common/mime'; import { isArray, isStringArray } from 'vs/base/common/types'; @@ -997,20 +997,18 @@ export class Diagnostic { @es5ClassCompat export class Hover { - public contents: vscode.MarkdownString[] | vscode.MarkedString[]; + public contents: (vscode.MarkdownString | vscode.MarkedString)[]; public range: Range | undefined; constructor( - contents: vscode.MarkdownString | vscode.MarkedString | vscode.MarkdownString[] | vscode.MarkedString[], + contents: vscode.MarkdownString | vscode.MarkedString | (vscode.MarkdownString | vscode.MarkedString)[], range?: Range ) { if (!contents) { throw new Error('Illegal argument, contents must be defined'); } if (Array.isArray(contents)) { - this.contents = contents; - } else if (isMarkdownString(contents)) { - this.contents = [contents]; + this.contents = contents; } else { this.contents = [contents]; }