本文整理汇总了TypeScript中vs/editor/common/modes/supports.SnippetsRegistry类的典型用法代码示例。如果您正苦于以下问题:TypeScript SnippetsRegistry类的具体用法?TypeScript SnippetsRegistry怎么用?TypeScript SnippetsRegistry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SnippetsRegistry类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: provideSuggestionItems
export function provideSuggestionItems(model: IReadOnlyModel, position: Position, options: ISuggestOptions = {}): TPromise<ISuggestionItem[]> {
const result: ISuggestionItem[] = [];
const suggestFilter = createSuggesionFilter(options);
const suggestCompare = createSuggesionComparator(options);
// add suggestions from snippet registry
const snippets = SnippetsRegistry.getSnippets(model, position);
fillInSuggestResult(result, snippets, undefined, suggestFilter);
// add suggestions from contributed providers - providers are ordered in groups of
// equal score and once a group produces a result the process stops
let hasResult = false;
const factory = (options.groups || SuggestRegistry.orderedGroups(model)).map(supports => {
return () => {
// stop when we have a result
if (hasResult) {
return;
}
// for each support in the group ask for suggestions
return TPromise.join(supports.map(support => asWinJsPromise(token => support.provideCompletionItems(model, position, token)).then(values => {
if (!isFalsyOrEmpty(values)) {
for (let suggestResult of values) {
hasResult = fillInSuggestResult(result, suggestResult, support, suggestFilter) || hasResult;
}
}
}, onUnexpectedError)));
};
});
return sequence(factory).then(() => result.sort(suggestCompare));
}
示例2: sequence
return sequence(factory).then(() => {
// add snippets to the first group
const snippets = SnippetsRegistry.getSnippets(model, position);
if (suggestions.length === 0) {
suggestions.push([snippets]);
} else {
suggestions[0].push(snippets);
}
return suggestions;
});
示例3: sequence
return sequence(factory).then(() => {
// add snippets to the first group
const snippets = SnippetsRegistry.getSnippets(model, position);
result.push(snippets);
return result;
});