提交 6c3cb56e 编写于 作者: J Johannes Rieken

don't count already resolved items, #44846

上级 2ad75aa4
......@@ -75,7 +75,7 @@ registerLanguageCommand('_executeCodeLensProvider', function (accessor, args) {
let resolve: Thenable<any>[] = [];
for (const item of value) {
if (typeof itemResolveCount === 'undefined') {
if (typeof itemResolveCount === 'undefined' || Boolean(item.symbol.command)) {
result.push(item.symbol);
} else if (itemResolveCount-- > 0) {
resolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol)));
......
......@@ -544,7 +544,7 @@ suite('ExtHostLanguageFeatureCommands', function () {
new types.CodeLens(new types.Range(0, 0, 1, 1)),
new types.CodeLens(new types.Range(0, 0, 1, 1)),
new types.CodeLens(new types.Range(0, 0, 1, 1)),
new types.CodeLens(new types.Range(0, 0, 1, 1))
new types.CodeLens(new types.Range(0, 0, 1, 1), { title: 'Already resolved', command: 'fff' })
];
},
resolveCodeLens(codeLens: types.CodeLens) {
......@@ -558,7 +558,7 @@ suite('ExtHostLanguageFeatureCommands', function () {
let value = await commands.executeCommand<vscode.CodeLens[]>('vscode.executeCodeLensProvider', model.uri, 2);
assert.equal(value.length, 2); // the resolve argument defines the number of results being returned
assert.equal(value.length, 3); // the resolve argument defines the number of results being returned
assert.equal(resolveCount, 2);
resolveCount = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册