From e9dd4687435751144ca5c6139882f07dc3218ef3 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Mon, 22 Jul 2019 09:45:49 -0500 Subject: [PATCH 01/17] Add proposed DiagnosticTag.Deprecated enum member --- src/vs/vscode.proposed.d.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 5bca4d0d507..6a31141bb94 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1274,4 +1274,18 @@ declare module 'vscode' { } //#endregion + + //#region Deprecated support + + export enum DiagnosticTag { + /** + * Deprecated or obsolete code + * + * Can be used to style with strikeout or other "obsolete" styling. See: + * https://github.com/microsoft/vscode/issues/50972 + */ + Deprecated = 2, + } + + //#endregion } From f88f79b6e06040c45628551ea977f78269435228 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Mon, 22 Jul 2019 11:34:27 -0500 Subject: [PATCH 02/17] Add Deprecated enum member to extHostTypes --- src/vs/workbench/api/common/extHostTypes.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vs/workbench/api/common/extHostTypes.ts b/src/vs/workbench/api/common/extHostTypes.ts index b8aebf92b45..de8d3eec8b3 100644 --- a/src/vs/workbench/api/common/extHostTypes.ts +++ b/src/vs/workbench/api/common/extHostTypes.ts @@ -773,6 +773,7 @@ export class SnippetString { export enum DiagnosticTag { Unnecessary = 1, + Deprecated = 2 } export enum DiagnosticSeverity { From 6b3ae43691a3729e4a988d1182abe6b7aba2f045 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Mon, 22 Jul 2019 11:52:48 -0500 Subject: [PATCH 03/17] Add Deprecated to MarkerTag --- src/vs/editor/common/standalone/standaloneEnums.ts | 3 ++- src/vs/monaco.d.ts | 3 ++- src/vs/platform/markers/common/markers.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/common/standalone/standaloneEnums.ts b/src/vs/editor/common/standalone/standaloneEnums.ts index df80861b2a8..46d295d2398 100644 --- a/src/vs/editor/common/standalone/standaloneEnums.ts +++ b/src/vs/editor/common/standalone/standaloneEnums.ts @@ -7,7 +7,8 @@ export enum MarkerTag { - Unnecessary = 1 + Unnecessary = 1, + Deprecated = 2 } export enum MarkerSeverity { diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 945d10d7e14..982a16b87ef 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -27,7 +27,8 @@ declare namespace monaco { export enum MarkerTag { - Unnecessary = 1 + Unnecessary = 1, + Deprecated = 2 } export enum MarkerSeverity { diff --git a/src/vs/platform/markers/common/markers.ts b/src/vs/platform/markers/common/markers.ts index 9461b506c21..235c4b12f36 100644 --- a/src/vs/platform/markers/common/markers.ts +++ b/src/vs/platform/markers/common/markers.ts @@ -39,6 +39,7 @@ export interface IRelatedInformation { export const enum MarkerTag { Unnecessary = 1, + Deprecated = 2 } export enum MarkerSeverity { From 36c9106350a290fb0d128f6a3f24cedcbb9fcf63 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Mon, 22 Jul 2019 11:59:00 -0500 Subject: [PATCH 04/17] Add DiagnosticTag case for MarkerTag.Deprecated --- src/vs/workbench/api/common/extHostTypeConverters.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vs/workbench/api/common/extHostTypeConverters.ts b/src/vs/workbench/api/common/extHostTypeConverters.ts index 80fef1bdda0..bc2951b6220 100644 --- a/src/vs/workbench/api/common/extHostTypeConverters.ts +++ b/src/vs/workbench/api/common/extHostTypeConverters.ts @@ -108,6 +108,8 @@ export namespace DiagnosticTag { switch (value) { case types.DiagnosticTag.Unnecessary: return MarkerTag.Unnecessary; + case types.DiagnosticTag.Deprecated: + return MarkerTag.Deprecated; } return undefined; } From f706130a5bfe3e4004c48198ca3db4800440356c Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Tue, 23 Jul 2019 09:08:56 -0500 Subject: [PATCH 05/17] Revert "Add DiagnosticTag case for MarkerTag.Deprecated" This reverts commit 36c9106350a290fb0d128f6a3f24cedcbb9fcf63. --- src/vs/workbench/api/common/extHostTypeConverters.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/vs/workbench/api/common/extHostTypeConverters.ts b/src/vs/workbench/api/common/extHostTypeConverters.ts index bc2951b6220..80fef1bdda0 100644 --- a/src/vs/workbench/api/common/extHostTypeConverters.ts +++ b/src/vs/workbench/api/common/extHostTypeConverters.ts @@ -108,8 +108,6 @@ export namespace DiagnosticTag { switch (value) { case types.DiagnosticTag.Unnecessary: return MarkerTag.Unnecessary; - case types.DiagnosticTag.Deprecated: - return MarkerTag.Deprecated; } return undefined; } From 64982b604fc74d841abb737bd0e2f196aea51df4 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Tue, 23 Jul 2019 09:09:06 -0500 Subject: [PATCH 06/17] Revert "Add Deprecated to MarkerTag" This reverts commit 6b3ae43691a3729e4a988d1182abe6b7aba2f045. --- src/vs/editor/common/standalone/standaloneEnums.ts | 3 +-- src/vs/monaco.d.ts | 3 +-- src/vs/platform/markers/common/markers.ts | 1 - 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/vs/editor/common/standalone/standaloneEnums.ts b/src/vs/editor/common/standalone/standaloneEnums.ts index 46d295d2398..df80861b2a8 100644 --- a/src/vs/editor/common/standalone/standaloneEnums.ts +++ b/src/vs/editor/common/standalone/standaloneEnums.ts @@ -7,8 +7,7 @@ export enum MarkerTag { - Unnecessary = 1, - Deprecated = 2 + Unnecessary = 1 } export enum MarkerSeverity { diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 982a16b87ef..945d10d7e14 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -27,8 +27,7 @@ declare namespace monaco { export enum MarkerTag { - Unnecessary = 1, - Deprecated = 2 + Unnecessary = 1 } export enum MarkerSeverity { diff --git a/src/vs/platform/markers/common/markers.ts b/src/vs/platform/markers/common/markers.ts index 235c4b12f36..9461b506c21 100644 --- a/src/vs/platform/markers/common/markers.ts +++ b/src/vs/platform/markers/common/markers.ts @@ -39,7 +39,6 @@ export interface IRelatedInformation { export const enum MarkerTag { Unnecessary = 1, - Deprecated = 2 } export enum MarkerSeverity { From b4edff8f5b01013600241d22536ba305100dfb1e Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Tue, 23 Jul 2019 10:23:46 -0500 Subject: [PATCH 07/17] Revert "Revert "Add Deprecated to MarkerTag"" This reverts commit 64982b604fc74d841abb737bd0e2f196aea51df4. --- src/vs/editor/common/standalone/standaloneEnums.ts | 3 ++- src/vs/monaco.d.ts | 3 ++- src/vs/platform/markers/common/markers.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/common/standalone/standaloneEnums.ts b/src/vs/editor/common/standalone/standaloneEnums.ts index df80861b2a8..46d295d2398 100644 --- a/src/vs/editor/common/standalone/standaloneEnums.ts +++ b/src/vs/editor/common/standalone/standaloneEnums.ts @@ -7,7 +7,8 @@ export enum MarkerTag { - Unnecessary = 1 + Unnecessary = 1, + Deprecated = 2 } export enum MarkerSeverity { diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 945d10d7e14..982a16b87ef 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -27,7 +27,8 @@ declare namespace monaco { export enum MarkerTag { - Unnecessary = 1 + Unnecessary = 1, + Deprecated = 2 } export enum MarkerSeverity { diff --git a/src/vs/platform/markers/common/markers.ts b/src/vs/platform/markers/common/markers.ts index 9461b506c21..235c4b12f36 100644 --- a/src/vs/platform/markers/common/markers.ts +++ b/src/vs/platform/markers/common/markers.ts @@ -39,6 +39,7 @@ export interface IRelatedInformation { export const enum MarkerTag { Unnecessary = 1, + Deprecated = 2 } export enum MarkerSeverity { From 1762f3f713a34e7ebc61e58188adc5917bb5d159 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Tue, 23 Jul 2019 10:24:00 -0500 Subject: [PATCH 08/17] Revert "Revert "Add DiagnosticTag case for MarkerTag.Deprecated"" This reverts commit f706130a5bfe3e4004c48198ca3db4800440356c. --- src/vs/workbench/api/common/extHostTypeConverters.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vs/workbench/api/common/extHostTypeConverters.ts b/src/vs/workbench/api/common/extHostTypeConverters.ts index 80fef1bdda0..bc2951b6220 100644 --- a/src/vs/workbench/api/common/extHostTypeConverters.ts +++ b/src/vs/workbench/api/common/extHostTypeConverters.ts @@ -108,6 +108,8 @@ export namespace DiagnosticTag { switch (value) { case types.DiagnosticTag.Unnecessary: return MarkerTag.Unnecessary; + case types.DiagnosticTag.Deprecated: + return MarkerTag.Deprecated; } return undefined; } From 23c01b4ca5c6126aa459c0825fa38f4d73474c25 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Wed, 24 Jul 2019 13:20:17 -0500 Subject: [PATCH 09/17] Add deprecated classname --- src/vs/editor/browser/widget/codeEditorWidget.ts | 2 ++ src/vs/editor/common/model/intervalTree.ts | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vs/editor/browser/widget/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditorWidget.ts index 0cd342d195c..20da2f1c223 100644 --- a/src/vs/editor/browser/widget/codeEditorWidget.ts +++ b/src/vs/editor/browser/widget/codeEditorWidget.ts @@ -1851,4 +1851,6 @@ registerThemingParticipant((theme, collector) => { if (unnecessaryBorder) { collector.addRule(`.${SHOW_UNUSED_ENABLED_CLASS} .monaco-editor .${ClassName.EditorUnnecessaryDecoration} { border-bottom: 2px dashed ${unnecessaryBorder}; }`); } + + collector.addRule(`.monaco-editor .${ClassName.EditorDeprecatedDecoration} { text-decoration: strikethrough; }`); }); diff --git a/src/vs/editor/common/model/intervalTree.ts b/src/vs/editor/common/model/intervalTree.ts index 496e77b9ef4..b04d58b3101 100644 --- a/src/vs/editor/common/model/intervalTree.ts +++ b/src/vs/editor/common/model/intervalTree.ts @@ -17,7 +17,8 @@ export const enum ClassName { EditorWarningDecoration = 'squiggly-warning', EditorErrorDecoration = 'squiggly-error', EditorUnnecessaryDecoration = 'squiggly-unnecessary', - EditorUnnecessaryInlineDecoration = 'squiggly-inline-unnecessary' + EditorUnnecessaryInlineDecoration = 'squiggly-inline-unnecessary', + EditorDeprecatedDecoration = 'squiggly-deprecated' } export const enum NodeColor { From b71363ff77311f3d49fbdd5f693af70a99280db5 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Wed, 24 Jul 2019 13:40:14 -0500 Subject: [PATCH 10/17] Use inline decoration --- src/vs/editor/browser/widget/codeEditorWidget.ts | 2 +- src/vs/editor/common/model/intervalTree.ts | 2 +- src/vs/editor/common/services/markerDecorationsServiceImpl.ts | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/browser/widget/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditorWidget.ts index 20da2f1c223..54c35262a68 100644 --- a/src/vs/editor/browser/widget/codeEditorWidget.ts +++ b/src/vs/editor/browser/widget/codeEditorWidget.ts @@ -1852,5 +1852,5 @@ registerThemingParticipant((theme, collector) => { collector.addRule(`.${SHOW_UNUSED_ENABLED_CLASS} .monaco-editor .${ClassName.EditorUnnecessaryDecoration} { border-bottom: 2px dashed ${unnecessaryBorder}; }`); } - collector.addRule(`.monaco-editor .${ClassName.EditorDeprecatedDecoration} { text-decoration: strikethrough; }`); + collector.addRule(`.monaco-editor .${ClassName.EditorDeprecatedInlineDecoration} { text-decoration: strikethrough; }`); }); diff --git a/src/vs/editor/common/model/intervalTree.ts b/src/vs/editor/common/model/intervalTree.ts index b04d58b3101..d400024e7c5 100644 --- a/src/vs/editor/common/model/intervalTree.ts +++ b/src/vs/editor/common/model/intervalTree.ts @@ -18,7 +18,7 @@ export const enum ClassName { EditorErrorDecoration = 'squiggly-error', EditorUnnecessaryDecoration = 'squiggly-unnecessary', EditorUnnecessaryInlineDecoration = 'squiggly-inline-unnecessary', - EditorDeprecatedDecoration = 'squiggly-deprecated' + EditorDeprecatedInlineDecoration = 'squiggly-inline-deprecated' } export const enum NodeColor { diff --git a/src/vs/editor/common/services/markerDecorationsServiceImpl.ts b/src/vs/editor/common/services/markerDecorationsServiceImpl.ts index a319e8004b6..3da62fed16f 100644 --- a/src/vs/editor/common/services/markerDecorationsServiceImpl.ts +++ b/src/vs/editor/common/services/markerDecorationsServiceImpl.ts @@ -221,6 +221,9 @@ export class MarkerDecorationsService extends Disposable implements IMarkerDecor if (marker.tags.indexOf(MarkerTag.Unnecessary) !== -1) { inlineClassName = ClassName.EditorUnnecessaryInlineDecoration; } + if (marker.tags.indexOf(MarkerTag.Deprecated) !== -1) { + inlineClassName = ClassName.EditorDeprecatedInlineDecoration; + } } return { From 895d6323b4a7686dbc9533c09bbc76fd741f195d Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Wed, 24 Jul 2019 13:40:44 -0500 Subject: [PATCH 11/17] Add CompletionItem.deprecated property from LSP --- src/vs/editor/common/modes.ts | 4 ++++ src/vs/monaco.d.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index fa05b9b968c..dbeb3fb1956 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -396,6 +396,10 @@ export interface CompletionItem { * an icon is chosen by the editor. */ kind: CompletionItemKind; + /** + * Indicates if this item is deprecated. + */ + deprecated?: boolean; /** * A human-readable string with additional information * about this item, like type or symbol information. diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 982a16b87ef..75692fbcceb 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4790,6 +4790,10 @@ declare namespace monaco.languages { * an icon is chosen by the editor. */ kind: CompletionItemKind; + /** + * Indicates if this item is deprecated. + */ + deprecated?: boolean; /** * A human-readable string with additional information * about this item, like type or symbol information. From 87ae3a38d337ade925a009cf86d82f11d36fe476 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Wed, 24 Jul 2019 14:46:50 -0500 Subject: [PATCH 12/17] Add deprecated support to SuggestDataDto --- src/vs/vscode.proposed.d.ts | 7 +++++++ src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts | 1 + src/vs/workbench/api/common/extHost.protocol.ts | 1 + src/vs/workbench/api/common/extHostLanguageFeatures.ts | 1 + 4 files changed, 10 insertions(+) diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 6a31141bb94..a495e65a268 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1277,6 +1277,13 @@ declare module 'vscode' { //#region Deprecated support + export interface CompletionItem { + /** + * Indicates if this item is deprecated. + */ + deprecated?: boolean; + } + export enum DiagnosticTag { /** * Deprecated or obsolete code diff --git a/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts index 75af9eebf01..3541ba2eef0 100644 --- a/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts @@ -341,6 +341,7 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha commitCharacters: data.k, additionalTextEdits: data.l, command: data.m, + deprecated: data.n, // not-standard _id: data.x, }; diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts index 8fb612d3a7c..1e30b620dca 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts @@ -937,6 +937,7 @@ export interface SuggestDataDto { k/* commitCharacters */?: string[]; l/* additionalTextEdits */?: ISingleEditOperation[]; m/* command */?: modes.Command; + n/* deprecated */?: boolean; // not-standard x?: ChainedCacheId; } diff --git a/src/vs/workbench/api/common/extHostLanguageFeatures.ts b/src/vs/workbench/api/common/extHostLanguageFeatures.ts index 884618cc457..6c7065f29f2 100644 --- a/src/vs/workbench/api/common/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/common/extHostLanguageFeatures.ts @@ -736,6 +736,7 @@ class SuggestAdapter { k: item.commitCharacters, l: item.additionalTextEdits && item.additionalTextEdits.map(typeConvert.TextEdit.from), m: this._commands.toInternal(item.command, disposables), + n: item.deprecated }; // 'insertText'-logic From 3422bb0a26312c4139f3109a5dfefd75bbdb0c98 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Wed, 24 Jul 2019 14:47:13 -0500 Subject: [PATCH 13/17] Fix css rule to line-through --- src/vs/editor/browser/widget/codeEditorWidget.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/editor/browser/widget/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditorWidget.ts index 54c35262a68..68e1746f63d 100644 --- a/src/vs/editor/browser/widget/codeEditorWidget.ts +++ b/src/vs/editor/browser/widget/codeEditorWidget.ts @@ -1852,5 +1852,5 @@ registerThemingParticipant((theme, collector) => { collector.addRule(`.${SHOW_UNUSED_ENABLED_CLASS} .monaco-editor .${ClassName.EditorUnnecessaryDecoration} { border-bottom: 2px dashed ${unnecessaryBorder}; }`); } - collector.addRule(`.monaco-editor .${ClassName.EditorDeprecatedInlineDecoration} { text-decoration: strikethrough; }`); + collector.addRule(`.monaco-editor .${ClassName.EditorDeprecatedInlineDecoration} { text-decoration: line-through; }`); }); From 4a2b010e340412961bf64022eac3f68c70c52066 Mon Sep 17 00:00:00 2001 From: Kamran Ayub Date: Wed, 24 Jul 2019 15:10:18 -0500 Subject: [PATCH 14/17] Add inline deprecated styling to suggest widget --- src/vs/editor/common/model/intervalTree.ts | 2 +- src/vs/editor/contrib/suggest/media/suggest.css | 7 +++++++ src/vs/editor/contrib/suggest/suggestWidget.ts | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/vs/editor/common/model/intervalTree.ts b/src/vs/editor/common/model/intervalTree.ts index d400024e7c5..1815f7ee86f 100644 --- a/src/vs/editor/common/model/intervalTree.ts +++ b/src/vs/editor/common/model/intervalTree.ts @@ -18,7 +18,7 @@ export const enum ClassName { EditorErrorDecoration = 'squiggly-error', EditorUnnecessaryDecoration = 'squiggly-unnecessary', EditorUnnecessaryInlineDecoration = 'squiggly-inline-unnecessary', - EditorDeprecatedInlineDecoration = 'squiggly-inline-deprecated' + EditorDeprecatedInlineDecoration = 'inline-deprecated' } export const enum NodeColor { diff --git a/src/vs/editor/contrib/suggest/media/suggest.css b/src/vs/editor/contrib/suggest/media/suggest.css index 09594abb493..2f740dfad64 100644 --- a/src/vs/editor/contrib/suggest/media/suggest.css +++ b/src/vs/editor/contrib/suggest/media/suggest.css @@ -97,6 +97,13 @@ font-weight: bold; } +.monaco-editor .suggest-widget .monaco-list .monaco-list-row .inline-deprecated { + text-decoration: none; /* override normal inline behavior due to HTML structure */ +} +.monaco-editor .suggest-widget .monaco-list .monaco-list-row .inline-deprecated span { + text-decoration: line-through; +} + /** Icon styles **/ .monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close, diff --git a/src/vs/editor/contrib/suggest/suggestWidget.ts b/src/vs/editor/contrib/suggest/suggestWidget.ts index 9e02b37f673..9eb1398848d 100644 --- a/src/vs/editor/contrib/suggest/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/suggestWidget.ts @@ -9,6 +9,7 @@ import { createMatches } from 'vs/base/common/filters'; import * as strings from 'vs/base/common/strings'; import { Event, Emitter } from 'vs/base/common/event'; import { onUnexpectedError } from 'vs/base/common/errors'; +import { ClassName } from 'vs/editor/common/model/intervalTree'; import { IDisposable, dispose, toDisposable, DisposableStore, Disposable } from 'vs/base/common/lifecycle'; import { addClass, append, $, hide, removeClass, show, toggleClass, getDomNodePagePosition, hasClass, addDisposableListener } from 'vs/base/browser/dom'; import { IListVirtualDelegate, IListEvent, IListRenderer, IListMouseEvent } from 'vs/base/browser/ui/list/list'; @@ -196,6 +197,10 @@ class Renderer implements IListRenderer ]; } + if (suggestion.label && suggestion.deprecated) { + labelOptions.extraClasses = (labelOptions.extraClasses || []).concat([ClassName.EditorDeprecatedInlineDecoration]); + } + data.iconLabel.setLabel(suggestion.label, undefined, labelOptions); data.typeLabel.textContent = (suggestion.detail || '').replace(/\n.*$/m, ''); From 4882ae5b9e5e5c21faaf95e28cd5f31dfe38892f Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 26 Jul 2019 15:24:11 +0200 Subject: [PATCH 15/17] Revert "Add inline deprecated styling to suggest widget" This reverts commit 4a2b010e340412961bf64022eac3f68c70c52066. --- src/vs/editor/common/model/intervalTree.ts | 2 +- src/vs/editor/contrib/suggest/media/suggest.css | 7 ------- src/vs/editor/contrib/suggest/suggestWidget.ts | 5 ----- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/vs/editor/common/model/intervalTree.ts b/src/vs/editor/common/model/intervalTree.ts index 1815f7ee86f..d400024e7c5 100644 --- a/src/vs/editor/common/model/intervalTree.ts +++ b/src/vs/editor/common/model/intervalTree.ts @@ -18,7 +18,7 @@ export const enum ClassName { EditorErrorDecoration = 'squiggly-error', EditorUnnecessaryDecoration = 'squiggly-unnecessary', EditorUnnecessaryInlineDecoration = 'squiggly-inline-unnecessary', - EditorDeprecatedInlineDecoration = 'inline-deprecated' + EditorDeprecatedInlineDecoration = 'squiggly-inline-deprecated' } export const enum NodeColor { diff --git a/src/vs/editor/contrib/suggest/media/suggest.css b/src/vs/editor/contrib/suggest/media/suggest.css index 2f740dfad64..09594abb493 100644 --- a/src/vs/editor/contrib/suggest/media/suggest.css +++ b/src/vs/editor/contrib/suggest/media/suggest.css @@ -97,13 +97,6 @@ font-weight: bold; } -.monaco-editor .suggest-widget .monaco-list .monaco-list-row .inline-deprecated { - text-decoration: none; /* override normal inline behavior due to HTML structure */ -} -.monaco-editor .suggest-widget .monaco-list .monaco-list-row .inline-deprecated span { - text-decoration: line-through; -} - /** Icon styles **/ .monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close, diff --git a/src/vs/editor/contrib/suggest/suggestWidget.ts b/src/vs/editor/contrib/suggest/suggestWidget.ts index 9eb1398848d..9e02b37f673 100644 --- a/src/vs/editor/contrib/suggest/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/suggestWidget.ts @@ -9,7 +9,6 @@ import { createMatches } from 'vs/base/common/filters'; import * as strings from 'vs/base/common/strings'; import { Event, Emitter } from 'vs/base/common/event'; import { onUnexpectedError } from 'vs/base/common/errors'; -import { ClassName } from 'vs/editor/common/model/intervalTree'; import { IDisposable, dispose, toDisposable, DisposableStore, Disposable } from 'vs/base/common/lifecycle'; import { addClass, append, $, hide, removeClass, show, toggleClass, getDomNodePagePosition, hasClass, addDisposableListener } from 'vs/base/browser/dom'; import { IListVirtualDelegate, IListEvent, IListRenderer, IListMouseEvent } from 'vs/base/browser/ui/list/list'; @@ -197,10 +196,6 @@ class Renderer implements IListRenderer ]; } - if (suggestion.label && suggestion.deprecated) { - labelOptions.extraClasses = (labelOptions.extraClasses || []).concat([ClassName.EditorDeprecatedInlineDecoration]); - } - data.iconLabel.setLabel(suggestion.label, undefined, labelOptions); data.typeLabel.textContent = (suggestion.detail || '').replace(/\n.*$/m, ''); From 53006c0af48632dd79268bab6534abd8f13b7e3b Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 26 Jul 2019 15:24:21 +0200 Subject: [PATCH 16/17] Revert "Add deprecated support to SuggestDataDto" This reverts commit 87ae3a38d337ade925a009cf86d82f11d36fe476. --- src/vs/vscode.proposed.d.ts | 7 ------- src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts | 1 - src/vs/workbench/api/common/extHost.protocol.ts | 1 - src/vs/workbench/api/common/extHostLanguageFeatures.ts | 1 - 4 files changed, 10 deletions(-) diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index a495e65a268..6a31141bb94 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1277,13 +1277,6 @@ declare module 'vscode' { //#region Deprecated support - export interface CompletionItem { - /** - * Indicates if this item is deprecated. - */ - deprecated?: boolean; - } - export enum DiagnosticTag { /** * Deprecated or obsolete code diff --git a/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts index 3541ba2eef0..75af9eebf01 100644 --- a/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts @@ -341,7 +341,6 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha commitCharacters: data.k, additionalTextEdits: data.l, command: data.m, - deprecated: data.n, // not-standard _id: data.x, }; diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts index 1e30b620dca..8fb612d3a7c 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts @@ -937,7 +937,6 @@ export interface SuggestDataDto { k/* commitCharacters */?: string[]; l/* additionalTextEdits */?: ISingleEditOperation[]; m/* command */?: modes.Command; - n/* deprecated */?: boolean; // not-standard x?: ChainedCacheId; } diff --git a/src/vs/workbench/api/common/extHostLanguageFeatures.ts b/src/vs/workbench/api/common/extHostLanguageFeatures.ts index 6c7065f29f2..884618cc457 100644 --- a/src/vs/workbench/api/common/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/common/extHostLanguageFeatures.ts @@ -736,7 +736,6 @@ class SuggestAdapter { k: item.commitCharacters, l: item.additionalTextEdits && item.additionalTextEdits.map(typeConvert.TextEdit.from), m: this._commands.toInternal(item.command, disposables), - n: item.deprecated }; // 'insertText'-logic From 29f6ec0b34516474babf46710770a735887a2c85 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 26 Jul 2019 15:24:30 +0200 Subject: [PATCH 17/17] Revert "Add CompletionItem.deprecated property from LSP" This reverts commit 895d6323b4a7686dbc9533c09bbc76fd741f195d. --- src/vs/editor/common/modes.ts | 4 ---- src/vs/monaco.d.ts | 4 ---- 2 files changed, 8 deletions(-) diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index dbeb3fb1956..fa05b9b968c 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -396,10 +396,6 @@ export interface CompletionItem { * an icon is chosen by the editor. */ kind: CompletionItemKind; - /** - * Indicates if this item is deprecated. - */ - deprecated?: boolean; /** * A human-readable string with additional information * about this item, like type or symbol information. diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 75692fbcceb..982a16b87ef 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4790,10 +4790,6 @@ declare namespace monaco.languages { * an icon is chosen by the editor. */ kind: CompletionItemKind; - /** - * Indicates if this item is deprecated. - */ - deprecated?: boolean; /** * A human-readable string with additional information * about this item, like type or symbol information.