本文整理匯總了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;
});