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


TypeScript CodeSnippet.fromTextmate方法代碼示例

本文整理匯總了TypeScript中vs/editor/contrib/snippet/common/snippet.CodeSnippet.fromTextmate方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript CodeSnippet.fromTextmate方法的具體用法?TypeScript CodeSnippet.fromTextmate怎麽用?TypeScript CodeSnippet.fromTextmate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在vs/editor/contrib/snippet/common/snippet.CodeSnippet的用法示例。


在下文中一共展示了CodeSnippet.fromTextmate方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: test

	test('variables, simple', () => {

		const resolver: ISnippetVariableResolver = {
			resolve(name) {
				return name.split('').reverse().join('');
			}
		};

		// simple
		let snippet = CodeSnippet.fromTextmate('$FOO', resolver);
		assert.equal(snippet.lines[0], 'OOF');
		assert.equal(snippet.placeHolders.length, 1);
		assert.equal(snippet.placeHolders[0].occurences[0].endColumn, 4);

		snippet = CodeSnippet.fromTextmate('${FOO:BAR}', resolver);
		assert.equal(snippet.lines[0], 'OOF');
		assert.equal(snippet.placeHolders.length, 1);
		assert.equal(snippet.placeHolders[0].occurences[0].endColumn, 4);

		// placeholder
		snippet = CodeSnippet.fromTextmate('${1:$FOO}bar$1', resolver);
		assert.equal(snippet.lines[0], 'OOFbarOOF');
		assert.equal(snippet.placeHolders.length, 2);
		assert.equal(snippet.placeHolders[0].occurences.length, 2);
		assert.equal(snippet.placeHolders[0].occurences[0].startColumn, 1);
		assert.equal(snippet.placeHolders[0].occurences[0].endColumn, 4);
		assert.equal(snippet.placeHolders[0].occurences[1].startColumn, 7);
		assert.equal(snippet.placeHolders[0].occurences[1].endColumn, 10);
		assert.equal(snippet.placeHolders[1].occurences.length, 1);

		snippet = CodeSnippet.fromTextmate('${1:${FOO:abc}}bar$1', resolver);
		assert.equal(snippet.lines[0], 'OOFbarOOF');
	});
開發者ID:StateFarmIns,項目名稱:vscode,代碼行數:33,代碼來源:snippet.test.ts

示例2: test

	test('bind, adjust indentation', () => {

		// don't move placeholder at the beginning of the line
		let snippet = CodeSnippet.fromTextmate([
			'afterEach((done) => {',
			'\t${1}test${2}',
			'})'
		].join('\n'));

		// replace tab-stop with two spaces
		let boundSnippet = snippet.bind('', 0, 0, {
			normalizeIndentation(str: string): string {
				return str.replace(/\t/g, '  ');
			}
		});
		let [first, second] = boundSnippet.placeHolders;
		assert.equal(first.occurences.length, 1);
		assert.equal(first.occurences[0].startColumn, 3);
		assert.equal(second.occurences.length, 1);
		assert.equal(second.occurences[0].startColumn, 7);

		// keep tab-stop, identity
		boundSnippet = snippet.bind('', 0, 0, {
			normalizeIndentation(str: string): string {
				return str;
			}
		});
		[first, second] = boundSnippet.placeHolders;
		assert.equal(first.occurences.length, 1);
		assert.equal(first.occurences[0].startColumn, 2);
		assert.equal(second.occurences.length, 1);
		assert.equal(second.occurences[0].startColumn, 6);
	});
開發者ID:asotog,項目名稱:vscode,代碼行數:33,代碼來源:snippet.test.ts

示例3: test

	test('issue #3552: Snippet Converted Not Working for literal Dollar Sign', () => {

		let external = '\n\\$scope.\\$broadcast(\'scroll.infiniteScrollComplete\');\n';
		let snippet = CodeSnippet.fromTextmate(external);
		assert.equal(snippet.placeHolders.length, 0);
		assert.deepEqual(snippet.lines, ['', '$scope.$broadcast(\'scroll.infiniteScrollComplete\');', '']);
	});
開發者ID:GYGit,項目名稱:vscode,代碼行數:7,代碼來源:snippet.test.ts

示例4: snippetTest

		snippetTest((editor, cursor, codeSnippet, controller) => {

			editor.setSelections([
				new Selection(1, 1, 1, 1)
			]);

			codeSnippet = CodeSnippet.fromTextmate('for (let ${1:i}=0; ${1:i}<len; ${1:i}++) { $0 }');
			controller.run(codeSnippet, 0, 0);
			assert.equal(editor.getModel().getValue(), 'for (let i=0; i<len; i++) {  }for (var i=0; i<len; i++) {  }');

		}, ['for (var i=0; i<len; i++) {  }']);
開發者ID:hungys,項目名稱:vscode,代碼行數:11,代碼來源:snippetController.test.ts

示例5: snippetTest

		snippetTest((editor, cursor, codeSnippet, controller) => {

			editor.setSelection(new Selection(1, 19, 1, 19));

			codeSnippet = CodeSnippet.fromTextmate('{{% url_**$1** %}}');
			controller.run(codeSnippet, 2, 0, true);

			assert.equal(editor.getSelections().length, 1);
			assert.ok(editor.getSelection().equalsRange({ startLineNumber: 1, startColumn: 27, endLineNumber: 1, endColumn: 27 }));
			assert.equal(editor.getModel().getValue(), 'example example {{% url_**** %}}');

		}, ['example example sc']);
開發者ID:asotog,項目名稱:vscode,代碼行數:12,代碼來源:snippetController.test.ts


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