當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript modelLine.ModelLine類代碼示例

本文整理匯總了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');
	}
開發者ID:FabianLauer,項目名稱:vscode,代碼行數:17,代碼來源:model.line.test.ts

示例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');
	}
開發者ID:GYGit,項目名稱:vscode,代碼行數:22,代碼來源:model.line.test.ts

示例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)]);
	});
開發者ID:diarmaidm,項目名稱:vscode,代碼行數:10,代碼來源:model.line.test.ts

示例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)]);
	});
開發者ID:AlexxNica,項目名稱:sqlopsstudio,代碼行數:10,代碼來源:model.line.test.ts

示例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, '')]);
	});
開發者ID:GYGit,項目名稱:vscode,代碼行數:11,代碼來源:model.line.test.ts

示例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);
	}
開發者ID:AlexxNica,項目名稱:sqlopsstudio,代碼行數:12,代碼來源:model.line.test.ts

示例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);
	}
開發者ID:diarmaidm,項目名稱:vscode,代碼行數:12,代碼來源:model.line.test.ts

示例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);
	}
開發者ID:GYGit,項目名稱:vscode,代碼行數:14,代碼來源:model.line.test.ts

示例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);
	}
開發者ID:1833183060,項目名稱:vscode,代碼行數:14,代碼來源:model.line.test.ts

示例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:''
		}]);
	});
開發者ID:1833183060,項目名稱:vscode,代碼行數:14,代碼來源:model.line.test.ts


注:本文中的vs/editor/common/model/modelLine.ModelLine類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。