mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-28 12:33:35 +01:00
Don't include this function types in completeFunctionCalls (#104479)
This commit is contained in:
@@ -128,4 +128,13 @@ suite('typescript function call snippets', () => {
|
||||
).snippet.value,
|
||||
'foobar(${1:param})$0');
|
||||
});
|
||||
|
||||
test('Should skip over this parameter', async () => {
|
||||
assert.strictEqual(
|
||||
snippetForFunctionCall(
|
||||
{ label: 'foobar', },
|
||||
[{ "text": "function", "kind": "keyword" }, { "text": " ", "kind": "space" }, { "text": "foobar", "kind": "functionName" }, { "text": "(", "kind": "punctuation" }, { "text": "this", "kind": "parameterName" }, { "text": ":", "kind": "punctuation" }, { "text": " ", "kind": "space" }, { "text": "string", "kind": "keyword" }, { "text": ",", "kind": "punctuation" }, { "text": "param", "kind": "parameterName" }, { "text": ":", "kind": "punctuation" }, { "text": " ", "kind": "space" }, { "text": "string", "kind": "keyword" }, { "text": ")", "kind": "punctuation" }, { "text": ":", "kind": "punctuation" }, { "text": " ", "kind": "space" }, { "text": "void", "kind": "keyword" }]
|
||||
).snippet.value,
|
||||
'foobar(${1:param})$0');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -73,7 +73,9 @@ function getParameterListParts(
|
||||
const next = displayParts[i + 1];
|
||||
// Skip optional parameters
|
||||
const nameIsFollowedByOptionalIndicator = next && next.text === '?';
|
||||
if (!nameIsFollowedByOptionalIndicator) {
|
||||
// Skip this parameter
|
||||
const nameIsThis = part.text === 'this';
|
||||
if (!nameIsFollowedByOptionalIndicator && !nameIsThis) {
|
||||
parts.push(part);
|
||||
}
|
||||
hasOptionalParameters = hasOptionalParameters || nameIsFollowedByOptionalIndicator;
|
||||
|
||||
Reference in New Issue
Block a user