本文整理汇总了TypeScript中vs/editor/contrib/folding/indentRangeProvider.computeRanges函数的典型用法代码示例。如果您正苦于以下问题:TypeScript computeRanges函数的具体用法?TypeScript computeRanges怎么用?TypeScript computeRanges使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了computeRanges函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: assertLimit
function assertLimit(maxEntries: number, expectedRanges: IndentRange[], message: string) {
let indentRanges = computeRanges(model, true, null, maxEntries);
assert.ok(indentRanges.length <= maxEntries, 'max ' + message);
let actual = [];
for (let i = 0; i < indentRanges.length; i++) {
actual.push({ start: indentRanges.getStartLineNumber(i), end: indentRanges.getEndLineNumber(i) });
}
assert.deepEqual(actual, expectedRanges, message);
}
示例2: assertLimit
function assertLimit(maxEntries: number, expectedRanges: IndentRange[], message: string) {
let indentRanges = computeRanges(model, true, null, maxEntries);
assert.ok(indentRanges.length <= maxEntries, 'max ' + message);
assert.equal(indentRanges.length, expectedRanges.length, 'len ' + message);
for (let i = 0; i < expectedRanges.length; i++) {
assert.equal(indentRanges.getStartLineNumber(i), expectedRanges[i].startLineNumber, 'start ' + message);
assert.equal(indentRanges.getEndLineNumber(i), expectedRanges[i].endLineNumber, 'end ' + message);
}
}
示例3: assertRanges
function assertRanges(lines: string[], expected: ExpectedIndentRange[], offside: boolean, markers?: FoldingMarkers): void {
let model = TextModel.createFromString(lines.join('\n'));
let actual = computeRanges(model, offside, markers);
let actualRanges = [];
for (let i = 0; i < actual.length; i++) {
actualRanges[i] = r(actual.getStartLineNumber(i), actual.getEndLineNumber(i), actual.getParentIndex(i));
}
assert.deepEqual(actualRanges, expected);
model.dispose();
}
示例4: test
test('findRange', () => {
let lines = [
/* 1*/ '#region',
/* 2*/ '#endregion',
/* 3*/ 'class A {',
/* 4*/ ' void foo() {',
/* 5*/ ' if (true) {',
/* 6*/ ' return;',
/* 7*/ ' }',
/* 8*/ '',
/* 9*/ ' if (true) {',
/* 10*/ ' return;',
/* 11*/ ' }',
/* 12*/ ' }',
/* 13*/ '}'];
let textModel = TextModel.createFromString(lines.join('\n'));
try {
let actual = computeRanges(textModel, false, markers);
// let r0 = r(1, 2);
// let r1 = r(3, 12);
// let r2 = r(4, 11);
// let r3 = r(5, 6);
// let r4 = r(9, 10);
assert.equal(actual.findRange(1), 0, '1');
assert.equal(actual.findRange(2), 0, '2');
assert.equal(actual.findRange(3), 1, '3');
assert.equal(actual.findRange(4), 2, '4');
assert.equal(actual.findRange(5), 3, '5');
assert.equal(actual.findRange(6), 3, '6');
assert.equal(actual.findRange(7), 2, '7');
assert.equal(actual.findRange(8), 2, '8');
assert.equal(actual.findRange(9), 4, '9');
assert.equal(actual.findRange(10), 4, '10');
assert.equal(actual.findRange(11), 2, '11');
assert.equal(actual.findRange(12), 1, '12');
assert.equal(actual.findRange(13), -1, '13');
} finally {
textModel.dispose();
}
});
示例5: test
test('hasRanges', () => {
let lines = [
/* 1*/ '/**',
/* 2*/ ' * Comment',
/* 3*/ ' */',
/* 4*/ 'class A {',
/* 5*/ ' void foo() {',
/* 6*/ ' if (true) {',
/* 7*/ ' //hello',
/* 8*/ ' }',
/* 9*/ ' }',
/* 10*/ '}'];
let textModel = TextModel.createFromString(lines.join('\n'));
let foldingModel = new FoldingModel(textModel, new TestDecorationProvider(textModel));
let hiddenRangeModel = new HiddenRangeModel(foldingModel);
assert.equal(hiddenRangeModel.hasRanges(), false);
let ranges = computeRanges(textModel, false, void 0);
foldingModel.update(ranges);
foldingModel.toggleCollapseState([foldingModel.getRegionAtLine(1)!, foldingModel.getRegionAtLine(6)!]);
assertRanges(hiddenRangeModel.hiddenRanges, [r(2, 3), r(7, 7)]);
assert.equal(hiddenRangeModel.hasRanges(), true);
assert.equal(hiddenRangeModel.isHidden(1), false);
assert.equal(hiddenRangeModel.isHidden(2), true);
assert.equal(hiddenRangeModel.isHidden(3), true);
assert.equal(hiddenRangeModel.isHidden(4), false);
assert.equal(hiddenRangeModel.isHidden(5), false);
assert.equal(hiddenRangeModel.isHidden(6), false);
assert.equal(hiddenRangeModel.isHidden(7), true);
assert.equal(hiddenRangeModel.isHidden(8), false);
assert.equal(hiddenRangeModel.isHidden(9), false);
assert.equal(hiddenRangeModel.isHidden(10), false);
foldingModel.toggleCollapseState([foldingModel.getRegionAtLine(4)!]);
assertRanges(hiddenRangeModel.hiddenRanges, [r(2, 3), r(5, 9)]);
assert.equal(hiddenRangeModel.hasRanges(), true);
assert.equal(hiddenRangeModel.isHidden(1), false);
assert.equal(hiddenRangeModel.isHidden(2), true);
assert.equal(hiddenRangeModel.isHidden(3), true);
assert.equal(hiddenRangeModel.isHidden(4), false);
assert.equal(hiddenRangeModel.isHidden(5), true);
assert.equal(hiddenRangeModel.isHidden(6), true);
assert.equal(hiddenRangeModel.isHidden(7), true);
assert.equal(hiddenRangeModel.isHidden(8), true);
assert.equal(hiddenRangeModel.isHidden(9), true);
assert.equal(hiddenRangeModel.isHidden(10), false);
foldingModel.toggleCollapseState([foldingModel.getRegionAtLine(1)!, foldingModel.getRegionAtLine(6)!, foldingModel.getRegionAtLine(4)!]);
assertRanges(hiddenRangeModel.hiddenRanges, []);
assert.equal(hiddenRangeModel.hasRanges(), false);
assert.equal(hiddenRangeModel.isHidden(1), false);
assert.equal(hiddenRangeModel.isHidden(2), false);
assert.equal(hiddenRangeModel.isHidden(3), false);
assert.equal(hiddenRangeModel.isHidden(4), false);
assert.equal(hiddenRangeModel.isHidden(5), false);
assert.equal(hiddenRangeModel.isHidden(6), false);
assert.equal(hiddenRangeModel.isHidden(7), false);
assert.equal(hiddenRangeModel.isHidden(8), false);
assert.equal(hiddenRangeModel.isHidden(9), false);
assert.equal(hiddenRangeModel.isHidden(10), false);
});