本文整理汇总了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');
});
示例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);
});
示例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\');', '']);
});
示例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++) { }']);
示例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']);