Skip to content

Commit 101b2a0

Browse files
committed
Make Monaco Editor compatible with Vite
Monaco Editor uses some static properties that reference the class they are defined in. This is equivalent to `this`. Monaco Editor also uses decorators. TypeScript compiles this in a way that works (with some small boilerplate code). In Vite however, this compiles to broken code. This change replaces self-references via in static properties via their identifier with `this`. The changes were cherry-picked from microsoft#249616.
1 parent 6de4868 commit 101b2a0

File tree

6 files changed

+6
-6
lines changed

6 files changed

+6
-6
lines changed

src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { IObservableViewZone, PlaceholderViewZone, ViewZoneOverlayWidget, applyO
3232
*/
3333
export class HideUnchangedRegionsFeature extends Disposable {
3434
private static readonly _breadcrumbsSourceFactory = observableValue<((textModel: ITextModel, instantiationService: IInstantiationService) => IDiffEditorBreadcrumbsSource)>(
35-
HideUnchangedRegionsFeature, () => ({
35+
this, () => ({
3636
dispose() {
3737
},
3838
getBreadcrumbItems(startRange, reader) {

src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import { InlineCompletionContextKeys } from './inlineCompletionContextKeys.js';
4141
export class InlineCompletionsController extends Disposable {
4242
private static readonly _instances = new Set<InlineCompletionsController>();
4343

44-
public static hot = createHotClass(InlineCompletionsController);
44+
public static hot = createHotClass(this);
4545
public static ID = 'editor.contrib.inlineCompletionsController';
4646

4747
/**

src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ const inlineSuggestionHintsNextIcon = registerIcon('inline-suggestion-hints-next
118118
const inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize('parameterHintsPreviousIcon', 'Icon for show previous parameter hint.'));
119119

120120
export class InlineSuggestionHintsContentWidget extends Disposable implements IContentWidget {
121-
public static readonly hot = createHotClass(InlineSuggestionHintsContentWidget);
121+
public static readonly hot = createHotClass(this);
122122

123123
private static _dropDownVisible = false;
124124
public static get dropDownVisible() { return this._dropDownVisible; }

src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const GHOST_TEXT_CLASS_NAME = 'ghost-text';
4848
export class GhostTextView extends Disposable {
4949
private readonly _isDisposed;
5050
private readonly _editorObs;
51-
public static hot = createHotClass(GhostTextView);
51+
public static hot = createHotClass(this);
5252

5353
private _warningState;
5454

src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { InlineEditsView } from './inlineEditsView.js';
2121
import { InlineEditTabAction } from './inlineEditsViewInterface.js';
2222

2323
export class InlineEditsViewAndDiffProducer extends Disposable { // TODO: This class is no longer a diff producer. Rename it or get rid of it
24-
public static readonly hot = createHotClass(InlineEditsViewAndDiffProducer);
24+
public static readonly hot = createHotClass(this);
2525

2626
private readonly _editorObs: ObservableCodeEditor;
2727

src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { IEditorService } from '../../../services/editor/common/editorService.js
1515
import { ILanguageStatusService } from '../../../services/languageStatus/common/languageStatusService.js';
1616

1717
export class InlineCompletionLanguageStatusBarContribution extends Disposable implements IWorkbenchContribution {
18-
public static readonly hot = createHotClass(InlineCompletionLanguageStatusBarContribution);
18+
public static readonly hot = createHotClass(this);
1919

2020
public static Id = 'vs.contrib.inlineCompletionLanguageStatusBarContribution';
2121
public static readonly languageStatusBarDisposables = new Set<DisposableStore>();

0 commit comments

Comments
 (0)