提交 6a9f2159 编写于 作者: M Matt Bierner

Return results directly instead of using temp array

上级 c530bbb6
......@@ -14,25 +14,23 @@ import { CancellationToken } from 'vs/base/common/cancellation';
export function getHover(model: ITextModel, position: Position, token: CancellationToken): Promise<Hover[]> {
const supports = HoverProviderRegistry.ordered(model);
const values: Hover[] = [];
const promises = supports.map((support, idx) => {
return Promise.resolve(support.provideHover(model, position, token)).then((result) => {
const promises = supports.map(support => {
return Promise.resolve(support.provideHover(model, position, token)).then(result => {
if (!result) {
return;
return undefined;
}
const hasRange = (typeof result.range !== 'undefined');
const hasHtmlContent = typeof result.contents !== 'undefined' && result.contents && result.contents.length > 0;
if (hasRange && hasHtmlContent) {
values[idx] = result;
}
return hasRange && hasHtmlContent ? result : undefined;
}, err => {
onUnexpectedExternalError(err);
return undefined;
});
});
return Promise.all(promises).then(() => coalesce(values));
return Promise.all(promises).then(values => coalesce(values));
}
registerDefaultLanguageCommand('_executeHoverProvider', (model, position) => getHover(model, position, CancellationToken.None));
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册