Skip to content

Commit d0d2327

Browse files
committed
chore: no hack
1 parent 28bd308 commit d0d2327

File tree

8 files changed

+42
-63
lines changed

8 files changed

+42
-63
lines changed

src/vs/base/browser/settings.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/vs/base/common/worker/simpleWorker.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -570,14 +570,13 @@ export class SimpleWorkerServer implements IWorkerServer {
570570
}
571571

572572
const url = FileAccess.asBrowserUri(`${moduleId}.js` as AppResourcePath).toString(true);
573-
console.log("🚀 ~ SimpleWorkerServer ~ initialize ~ url:", url)
574-
// return import(`${url}`).then((module: { create: IRequestHandlerFactory }) => {
575-
// this._requestHandler = module.create(this);
576-
577-
// if (!this._requestHandler) {
578-
// throw new Error(`No RequestHandler!`);
579-
// }
580-
// });
573+
return import(`${url}`).then((module: { create: IRequestHandlerFactory }) => {
574+
this._requestHandler = module.create(this);
575+
576+
if (!this._requestHandler) {
577+
throw new Error(`No RequestHandler!`);
578+
}
579+
});
581580
}
582581
}
583582

src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { IDimension } from '../../../common/core/dimension.js';
1616
import { PositionAffinity } from '../../../common/model.js';
1717
import { IPosition, Position } from '../../../common/core/position.js';
1818
import { IViewModel } from '../../../common/viewModel.js';
19-
import { overflowWidgetsSettings } from '../../../../base/browser/settings.js';
2019

2120
/**
2221
* This view part is responsible for rendering the content widgets, which are
@@ -307,9 +306,6 @@ class Widget {
307306

308307
private _layoutBoxInViewport(anchor: AnchorCoordinate, width: number, height: number, ctx: RenderingContext): IBoxLayoutResult {
309308
// Our visible box is split horizontally by the current line => 2 boxes
310-
// 这里获取 domNode 的 clientHeight 可能为 0,会导致下面计算 contentWidget 定位时整体向下偏移了一行
311-
// 由于获取的是缓存的 height,且 domNode 渲染时机暂时不好修改,所以如果高度为0的话,在这里重新获取一次高度
312-
const contentHeight = height === 0 ? this.domNode.domNode.clientHeight : height;
313309

314310
// a) the box above the line
315311
const aboveLineTop = anchor.top;
@@ -319,10 +315,10 @@ class Widget {
319315
const underLineTop = anchor.top + anchor.height;
320316
const heightAvailableUnderLine = ctx.viewportHeight - underLineTop;
321317

322-
const aboveTop = aboveLineTop - contentHeight;
323-
const fitsAbove = (heightAvailableAboveLine >= contentHeight);
318+
const aboveTop = aboveLineTop - height;
319+
const fitsAbove = (heightAvailableAboveLine >= height);
324320
const belowTop = underLineTop;
325-
const fitsBelow = (heightAvailableUnderLine >= contentHeight);
321+
const fitsBelow = (heightAvailableUnderLine >= height);
326322

327323
// And its left
328324
let left = anchor.left;
@@ -378,8 +374,8 @@ class Widget {
378374
const [left, absoluteAboveLeft] = this._layoutHorizontalSegmentInPage(windowSize, domNodePosition, anchor.left - ctx.scrollLeft + this._contentLeft, width);
379375

380376
// Leave some clearance to the top/bottom
381-
const TOP_PADDING = overflowWidgetsSettings.topPadding;
382-
const BOTTOM_PADDING = overflowWidgetsSettings.bottomPadding;
377+
const TOP_PADDING = 22;
378+
const BOTTOM_PADDING = 22;
383379

384380
const fitsAbove = (absoluteAboveTop >= TOP_PADDING);
385381
const fitsBelow = (absoluteBelowTop + height <= windowSize.height - BOTTOM_PADDING);

src/vs/editor/browser/viewParts/viewLines/viewLine.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ class RenderedViewLine implements IRenderedViewLine {
481481
if (!this.domNode) {
482482
return 0;
483483
}
484-
if (this._cachedWidth <= 0) {
484+
if (this._cachedWidth === -1) {
485485
this._cachedWidth = this._getReadingTarget(this.domNode).offsetWidth;
486486
context?.markDidDomLayout();
487487
}

src/vs/editor/common/languages/modesRegistry.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ export class EditorModesRegistry {
2020

2121
private readonly _languages: ILanguageExtensionPoint[];
2222

23-
private readonly _onDidChangeLanguages = new Emitter<ILanguageExtensionPoint>();
24-
public readonly onDidChangeLanguages: Event<ILanguageExtensionPoint> = this._onDidChangeLanguages.event;
23+
private readonly _onDidChangeLanguages = new Emitter<void>();
24+
public readonly onDidChangeLanguages: Event<void> = this._onDidChangeLanguages.event;
2525

2626
constructor() {
2727
this._languages = [];
2828
}
2929

3030
public registerLanguage(def: ILanguageExtensionPoint): IDisposable {
3131
this._languages.push(def);
32-
this._onDidChangeLanguages.fire(def);
32+
this._onDidChangeLanguages.fire(undefined);
3333
return {
3434
dispose: () => {
3535
for (let i = 0, len = this._languages.length; i < len; i++) {

src/vs/editor/common/services/editorSimpleWorker.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -559,8 +559,7 @@ export class EditorSimpleWorker extends BaseEditorSimpleWorker {
559559
};
560560

561561
const url = FileAccess.asBrowserUri(`${moduleId}.js` as AppResourcePath).toString(true);
562-
console.log("🚀 ~ EditorSimpleWorker ~ returnnewPromise ~ url:", url)
563-
// import(`${url}`).then(onModuleCallback).catch(reject);
562+
import(`${url}`).then(onModuleCallback).catch(reject);
564563
});
565564
}
566565

src/vs/editor/common/services/languagesRegistry.ts

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ export class LanguagesRegistry extends Disposable {
9292

9393
if (useModesRegistry) {
9494
this._initializeFromRegistry();
95-
this._register(ModesRegistry.onDidChangeLanguages((lang) => {
96-
this._registerLanguage(lang);
95+
this._register(ModesRegistry.onDidChangeLanguages((m) => {
96+
this._initializeFromRegistry();
9797
}));
9898
}
9999
}
@@ -105,7 +105,7 @@ export class LanguagesRegistry extends Disposable {
105105

106106
public setDynamicLanguages(def: ILanguageExtensionPoint[]): void {
107107
this._dynamicLanguages = def;
108-
this._registerLanguages(this._dynamicLanguages);
108+
this._initializeFromRegistry();
109109
}
110110

111111
private _initializeFromRegistry(): void {
@@ -115,24 +115,45 @@ export class LanguagesRegistry extends Disposable {
115115
this._lowercaseNameMap = {};
116116

117117
clearPlatformLanguageAssociations();
118+
const desc = (<ILanguageExtensionPoint[]>[]).concat(ModesRegistry.getLanguages()).concat(this._dynamicLanguages);
119+
this._registerLanguages(desc);
118120
}
119121

120122
registerLanguage(desc: ILanguageExtensionPoint): IDisposable {
121123
return ModesRegistry.registerLanguage(desc);
122124
}
123125

124126
_registerLanguages(desc: ILanguageExtensionPoint[]): void {
127+
125128
for (const d of desc) {
126129
this._registerLanguage(d);
127130
}
128131

132+
// Rebuild fast path maps
133+
this._mimeTypesMap = {};
134+
this._nameMap = {};
135+
this._lowercaseNameMap = {};
136+
Object.keys(this._languages).forEach((langId) => {
137+
const language = this._languages[langId];
138+
if (language.name) {
139+
this._nameMap[language.name] = language.identifier;
140+
}
141+
language.aliases.forEach((alias) => {
142+
this._lowercaseNameMap[alias.toLowerCase()] = language.identifier;
143+
});
144+
language.mimetypes.forEach((mimetype) => {
145+
this._mimeTypesMap[mimetype] = language.identifier;
146+
});
147+
});
148+
129149
Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds());
130150

131151
this._onDidChange.fire();
132152
}
133153

134154
private _registerLanguage(lang: ILanguageExtensionPoint): void {
135155
const langId = lang.id;
156+
136157
let resolvedLanguage: IResolvedLanguage;
137158
if (hasOwnProperty.call(this._languages, langId)) {
138159
resolvedLanguage = this._languages[langId];
@@ -152,16 +173,6 @@ export class LanguagesRegistry extends Disposable {
152173
}
153174

154175
this._mergeLanguage(resolvedLanguage, lang);
155-
// Rebuild fast path maps
156-
if (resolvedLanguage.name) {
157-
this._nameMap[resolvedLanguage.name] = resolvedLanguage.identifier;
158-
}
159-
resolvedLanguage.aliases.forEach((alias) => {
160-
this._lowercaseNameMap[alias.toLowerCase()] = resolvedLanguage.identifier;
161-
});
162-
resolvedLanguage.mimetypes.forEach((mimetype) => {
163-
this._mimeTypesMap[mimetype] = resolvedLanguage.identifier;
164-
});
165176
}
166177

167178
private _mergeLanguage(resolvedLanguage: IResolvedLanguage, lang: ILanguageExtensionPoint): void {

src/vs/workbench/api/common/extHostTreeViews.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ class ExtHostTreeView<T> extends Disposable {
385385
result.message = true;
386386
}
387387
return result;
388-
}, 200);
388+
}, 200, true);
389389
this._register(onDidChangeData(({ message, elements }) => {
390390
if (elements.length) {
391391
this.refreshQueue = this.refreshQueue.then(() => {

0 commit comments

Comments
 (0)