本文整理汇总了TypeScript中vs/editor/common/model/modelLine.ModelLine类的典型用法代码示例。如果您正苦于以下问题:TypeScript ModelLine类的具体用法?TypeScript ModelLine怎么用?TypeScript ModelLine使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ModelLine类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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');
}
示例2: 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 = Object.create(null);
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 = Object.keys(changedMarkers);
actualChangedMarkers.sort().map(Object.prototype.toString);
assert.deepEqual(actualChangedMarkers, expectedChangedMarkers, 'changed markers');
}
示例3: test
test('insertion on empty line', () => {
let line = new ModelLine(1, 'some text', NO_TAB_SIZE);
line.setTokens(0, TestToken.toTokens([new TestToken(0, 1)]));
line.applyEdits(new MarkersTracker(), [{ startColumn: 1, endColumn: 10, text: '', forceMoveMarkers: false }], NO_TAB_SIZE);
line.setTokens(0, new Uint32Array(0));
line.applyEdits(new MarkersTracker(), [{ startColumn: 1, endColumn: 1, text: 'a', forceMoveMarkers: false }], NO_TAB_SIZE);
assertLineTokens(line.getTokens(0, []), [new TestToken(0, 1)]);
});
示例4: test
test('insertion on empty line', () => {
let line = new ModelLine('some text');
line.setTokens(0, TestToken.toTokens([new TestToken(0, 1)]));
line.applyEdits([{ startColumn: 1, endColumn: 10, text: '' }]);
line.setTokens(0, new Uint32Array(0));
line.applyEdits([{ startColumn: 1, endColumn: 1, text: 'a' }]);
assertLineTokens(line.getTokens(0), [new TestToken(0, 1)]);
});
示例5: test
test('insertion on empty line', () => {
let line = new ModelLine(1, 'some text', NO_TAB_SIZE);
let map = new TokensInflatorMap();
line.setTokens(map, [new Token(0, 'bar')], null, []);
line.applyEdits({}, [{startColumn:1, endColumn:10, text:'', forceMoveMarkers: false}], NO_TAB_SIZE);
line.setTokens(map, [], null, []);
line.applyEdits({}, [{startColumn:1, endColumn:1, text:'a', forceMoveMarkers: false}], NO_TAB_SIZE);
assertLineTokens(line.getTokens(map), [new Token(0, '')]);
});
示例6: testLineAppendTokens
function testLineAppendTokens(aText: string, aTokens: TestToken[], bText: string, bTokens: TestToken[], expectedText: string, expectedTokens: TestToken[]): void {
let a = new ModelLine(aText);
a.setTokens(0, TestToken.toTokens(aTokens));
let b = new ModelLine(bText);
b.setTokens(0, TestToken.toTokens(bTokens));
a.append(b);
assert.equal(a.text, expectedText);
assertLineTokens(a.getTokens(0), expectedTokens);
}
示例7: testLineAppendTokens
function testLineAppendTokens(aText: string, aTokens: TestToken[], bText: string, bTokens: TestToken[], expectedText: string, expectedTokens: TestToken[]): void {
let a = new ModelLine(1, aText, NO_TAB_SIZE);
a.setTokens(0, TestToken.toTokens(aTokens));
let b = new ModelLine(2, bText, NO_TAB_SIZE);
b.setTokens(0, TestToken.toTokens(bTokens));
a.append(new MarkersTracker(), b, NO_TAB_SIZE);
assert.equal(a.text, expectedText);
assertLineTokens(a.getTokens(0, []), expectedTokens);
}
示例8: testLineAppendTokens
function testLineAppendTokens(aText:string, aTokens: Token[], bText:string, bTokens:Token[], expectedText:string, expectedTokens:Token[]): void {
let inflator = new TokensInflatorMap();
let a = new ModelLine(1, aText, NO_TAB_SIZE);
a.setTokens(inflator, aTokens, null, []);
let b = new ModelLine(2, bText, NO_TAB_SIZE);
b.setTokens(inflator, bTokens, null, []);
a.append({}, b, NO_TAB_SIZE);
assert.equal(a.text, expectedText);
assertLineTokens(a.getTokens(inflator), expectedTokens);
}
示例9: testLineAppendTokens
function testLineAppendTokens(aText:string, aTokens: LineToken[], bText:string, bTokens:LineToken[], expectedText:string, expectedTokens:IToken[]): void {
var inflator = new TokensInflatorMap();
var a = new modelLine.ModelLine(1, aText);
a.setTokens(inflator, aTokens, null, []);
var b = new modelLine.ModelLine(2, bText);
b.setTokens(inflator, bTokens, null, []);
a.append({}, b);
assert.equal(a.text, expectedText);
assertLineTokens(a.getTokens(), expectedTokens);
}
示例10: test
test('insertion on empty line', () => {
var line = new modelLine.ModelLine(1, 'some text');
var map = new TokensInflatorMap();
line.setTokens(map, [new LineToken(0, 'bar')], null, []);
line.applyEdits({}, [{startColumn:1, endColumn:10, text:'', forceMoveMarkers: false}]);
line.setTokens(map, [], null, []);
line.applyEdits({}, [{startColumn:1, endColumn:1, text:'a', forceMoveMarkers: false}]);
assertLineTokens(line.getTokens(), [{
startIndex: 0,
type:''
}]);
});