本文整理汇总了TypeScript中vs/editor/common/model/modelLine.MarkersTracker类的典型用法代码示例。如果您正苦于以下问题:TypeScript MarkersTracker类的具体用法?TypeScript MarkersTracker怎么用?TypeScript MarkersTracker使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MarkersTracker类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: testLineEditMarkers
function testLineEditMarkers(initialText: string, initialMarkers: LineMarker[], edits: ILineEdit[], expectedText: string, expectedChangedMarkers: number[], _expectedMarkers: LineMarker[]): void {
let line = new ModelLine(1, initialText, NO_TAB_SIZE);
line.addMarkers(initialMarkers);
let changedMarkers = new MarkersTracker();
line.applyEdits(changedMarkers, edits, NO_TAB_SIZE);
assert.equal(line.text, expectedText, 'text');
let actualMarkers = line.getMarkers().map(toLightWeightMarker);
let expectedMarkers = _expectedMarkers.map(toLightWeightMarker);
assert.deepEqual(actualMarkers, expectedMarkers, 'markers');
let actualChangedMarkers = changedMarkers.getDecorationIds();
actualChangedMarkers.sort();
assert.deepEqual(actualChangedMarkers, expectedChangedMarkers, 'changed markers');
}
开发者ID:diarmaidm,项目名称:vscode,代码行数:17,代码来源:model.line.test.ts
示例2: testLinePrependMarkers
function testLinePrependMarkers(aText: string, aMarkers: LineMarker[], bText: string, bMarkers: LineMarker[], expectedText: string, expectedChangedMarkers: number[], _expectedMarkers: LineMarker[]): void {
let a = new ModelLine(1, aText, NO_TAB_SIZE);
a.addMarkers(aMarkers);
let b = new ModelLine(2, bText, NO_TAB_SIZE);
b.addMarkers(bMarkers);
let changedMarkers = new MarkersTracker();
a.append(changedMarkers, b, NO_TAB_SIZE);
assert.equal(a.text, expectedText, 'text');
let actualMarkers = a.getMarkers().map(toLightWeightMarker);
let expectedMarkers = _expectedMarkers.map(toLightWeightMarker);
assert.deepEqual(actualMarkers, expectedMarkers, 'markers');
let actualChangedMarkers = changedMarkers.getDecorationIds();
actualChangedMarkers.sort();
assert.deepEqual(actualChangedMarkers, expectedChangedMarkers, 'changed markers');
}
开发者ID:diarmaidm,项目名称:vscode,代码行数:20,代码来源:model.line.test.ts
示例3: testLineSplitMarkers
function testLineSplitMarkers(initialText: string, initialMarkers: LineMarker[], splitColumn: number, forceMoveMarkers: boolean, expectedText1: string, expectedText2: string, expectedChangedMarkers: number[], _expectedMarkers1: LineMarker[], _expectedMarkers2: LineMarker[]): void {
let line = new ModelLine(1, initialText, NO_TAB_SIZE);
line.addMarkers(initialMarkers);
let changedMarkers = new MarkersTracker();
let otherLine = line.split(changedMarkers, splitColumn, forceMoveMarkers, NO_TAB_SIZE);
assert.equal(line.text, expectedText1, 'text');
assert.equal(otherLine.text, expectedText2, 'text');
let actualMarkers1 = line.getMarkers().map(toLightWeightMarker);
let expectedMarkers1 = _expectedMarkers1.map(toLightWeightMarker);
assert.deepEqual(actualMarkers1, expectedMarkers1, 'markers');
let actualMarkers2 = otherLine.getMarkers().map(toLightWeightMarker);
let expectedMarkers2 = _expectedMarkers2.map(toLightWeightMarker);
assert.deepEqual(actualMarkers2, expectedMarkers2, 'markers');
let actualChangedMarkers = changedMarkers.getDecorationIds();
actualChangedMarkers.sort();
assert.deepEqual(actualChangedMarkers, expectedChangedMarkers, 'changed markers');
}
开发者ID:diarmaidm,项目名称:vscode,代码行数:22,代码来源:model.line.test.ts
示例4: _handleTrackedMarkers
/**
* Handle changed markers (i.e. update decorations ranges and return the changed decorations, unique and sorted by id)
*/
private _handleTrackedMarkers(markersTracker: MarkersTracker): void {
let changedInternalDecorationIds = markersTracker.getDecorationIds();
if (changedInternalDecorationIds.length === 0) {
return;
}
changedInternalDecorationIds.sort();
let uniqueChangedDecorations: string[] = [], uniqueChangedDecorationsLen = 0;
let previousInternalDecorationId: number = 0;
for (let i = 0, len = changedInternalDecorationIds.length; i < len; i++) {
let internalDecorationId = changedInternalDecorationIds[i];
if (internalDecorationId === previousInternalDecorationId) {
continue;
}
previousInternalDecorationId = internalDecorationId;
let decoration = this._internalDecorations[internalDecorationId];
if (!decoration) {
// perhaps the decoration was removed in the meantime
continue;
}
let startMarker = decoration.startMarker.position;
let endMarker = decoration.endMarker.position;
let range = TextModelWithDecorations._createRangeFromMarkers(startMarker, endMarker);
decoration.setRange(this._multiLineDecorationsMap, range);
uniqueChangedDecorations[uniqueChangedDecorationsLen++] = decoration.id;
}
if (uniqueChangedDecorations.length > 0) {
let e: editorCommon.IModelDecorationsChangedEvent = {
addedDecorations: [],
changedDecorations: uniqueChangedDecorations,
removedDecorations: []
};
this.emitModelDecorationsChangedEvent(e);
}
}
开发者ID:StateFarmIns,项目名称:vscode,代码行数:43,代码来源:textModelWithDecorations.ts
注:本文中的vs/editor/common/model/modelLine.MarkersTracker类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论