Skip to content

Commit f8336d1

Browse files
authored
Use spread when converting completion entry to protocol format (#59412)
1 parent 0c33c13 commit f8336d1

File tree

76 files changed

+5084
-4837
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+5084
-4837
lines changed

src/server/session.ts

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2452,45 +2452,13 @@ export class Session<TMessage = string> implements EventSender {
24522452
const prefix = args.prefix || "";
24532453
const entries = mapDefined<CompletionEntry, protocol.CompletionEntry>(completions.entries, entry => {
24542454
if (completions.isMemberCompletion || startsWith(entry.name.toLowerCase(), prefix.toLowerCase())) {
2455-
const {
2456-
name,
2457-
kind,
2458-
kindModifiers,
2459-
sortText,
2460-
insertText,
2461-
filterText,
2462-
replacementSpan,
2463-
hasAction,
2464-
source,
2465-
sourceDisplay,
2466-
labelDetails,
2467-
isSnippet,
2468-
isRecommended,
2469-
isPackageJsonImport,
2470-
isImportStatementCompletion,
2471-
data,
2472-
commitCharacters,
2473-
} = entry;
2474-
const convertedSpan = replacementSpan ? toProtocolTextSpan(replacementSpan, scriptInfo) : undefined;
2455+
const convertedSpan = entry.replacementSpan ? toProtocolTextSpan(entry.replacementSpan, scriptInfo) : undefined;
24752456
// Use `hasAction || undefined` to avoid serializing `false`.
24762457
return {
2477-
name,
2478-
kind,
2479-
kindModifiers,
2480-
sortText,
2481-
insertText,
2482-
filterText,
2458+
...entry,
24832459
replacementSpan: convertedSpan,
2484-
isSnippet,
2485-
hasAction: hasAction || undefined,
2486-
source,
2487-
sourceDisplay,
2488-
labelDetails,
2489-
isRecommended,
2490-
isPackageJsonImport,
2491-
isImportStatementCompletion,
2492-
data,
2493-
commitCharacters,
2460+
hasAction: entry.hasAction || undefined,
2461+
symbol: undefined,
24942462
};
24952463
}
24962464
});

tests/baselines/reference/completionsServerCommitCharacters.baseline

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
"entries": [
2222
{
2323
"name": "aa",
24-
"kind": "string",
2524
"kindModifiers": "",
25+
"kind": "string",
2626
"sortText": "11",
2727
"replacementSpan": {
2828
"start": 24,
@@ -39,8 +39,8 @@
3939
},
4040
{
4141
"name": "bb",
42-
"kind": "string",
4342
"kindModifiers": "",
43+
"kind": "string",
4444
"sortText": "11",
4545
"replacementSpan": {
4646
"start": 24,

tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -776,8 +776,8 @@ Info seq [hh:mm:ss:mss] response:
776776
"kind": "class",
777777
"kindModifiers": "export,declare",
778778
"sortText": "16",
779-
"hasAction": true,
780779
"source": "/node_modules/@types/node/index",
780+
"hasAction": true,
781781
"data": {
782782
"exportName": "Stats",
783783
"exportMapKey": "5 * Stats ",
@@ -789,8 +789,8 @@ Info seq [hh:mm:ss:mss] response:
789789
"kind": "class",
790790
"kindModifiers": "export,declare",
791791
"sortText": "16",
792-
"hasAction": true,
793792
"source": "/node_modules/memfs/lib/index",
793+
"hasAction": true,
794794
"isPackageJsonImport": true,
795795
"data": {
796796
"exportName": "Volume",

tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -835,8 +835,8 @@ Info seq [hh:mm:ss:mss] response:
835835
"kind": "class",
836836
"kindModifiers": "export",
837837
"sortText": "16",
838-
"hasAction": true,
839838
"source": "/user/username/projects/shared/src/index",
839+
"hasAction": true,
840840
"data": {
841841
"exportName": "MyClass",
842842
"exportMapKey": "7 * MyClass ",
@@ -1318,8 +1318,8 @@ Info seq [hh:mm:ss:mss] response:
13181318
"kind": "class",
13191319
"kindModifiers": "export",
13201320
"sortText": "16",
1321-
"hasAction": true,
13221321
"source": "/user/username/projects/shared/src/index",
1322+
"hasAction": true,
13231323
"data": {
13241324
"exportName": "MyClass",
13251325
"exportMapKey": "7 * MyClass ",
@@ -1812,8 +1812,8 @@ Info seq [hh:mm:ss:mss] response:
18121812
"kind": "class",
18131813
"kindModifiers": "export",
18141814
"sortText": "16",
1815-
"hasAction": true,
18161815
"source": "/user/username/projects/shared/src/index",
1816+
"hasAction": true,
18171817
"data": {
18181818
"exportName": "MyClass",
18191819
"exportMapKey": "7 * MyClass ",
@@ -2319,8 +2319,8 @@ Info seq [hh:mm:ss:mss] response:
23192319
"kind": "class",
23202320
"kindModifiers": "export",
23212321
"sortText": "16",
2322-
"hasAction": true,
23232322
"source": "/user/username/projects/shared/src/index",
2323+
"hasAction": true,
23242324
"data": {
23252325
"exportName": "MyClass",
23262326
"exportMapKey": "7 * MyClass ",

tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -864,8 +864,8 @@ Info seq [hh:mm:ss:mss] response:
864864
"kind": "class",
865865
"kindModifiers": "export",
866866
"sortText": "16",
867-
"hasAction": true,
868867
"source": "/user/username/projects/shared/src/index",
868+
"hasAction": true,
869869
"data": {
870870
"exportName": "MyClass",
871871
"exportMapKey": "7 * MyClass ",
@@ -877,8 +877,8 @@ Info seq [hh:mm:ss:mss] response:
877877
"kind": "class",
878878
"kindModifiers": "export",
879879
"sortText": "16",
880-
"hasAction": true,
881880
"source": "/user/username/projects/shared/src/helper",
881+
"hasAction": true,
882882
"isPackageJsonImport": true,
883883
"data": {
884884
"exportName": "MyHelper",
@@ -1387,8 +1387,8 @@ Info seq [hh:mm:ss:mss] response:
13871387
"kind": "class",
13881388
"kindModifiers": "export",
13891389
"sortText": "16",
1390-
"hasAction": true,
13911390
"source": "/user/username/projects/shared/src/index",
1391+
"hasAction": true,
13921392
"data": {
13931393
"exportName": "MyClass",
13941394
"exportMapKey": "7 * MyClass ",
@@ -1400,8 +1400,8 @@ Info seq [hh:mm:ss:mss] response:
14001400
"kind": "class",
14011401
"kindModifiers": "export",
14021402
"sortText": "16",
1403-
"hasAction": true,
14041403
"source": "/user/username/projects/shared/src/helper",
1404+
"hasAction": true,
14051405
"isPackageJsonImport": true,
14061406
"data": {
14071407
"exportName": "MyHelper",
@@ -1415,8 +1415,8 @@ Info seq [hh:mm:ss:mss] response:
14151415
"kind": "class",
14161416
"kindModifiers": "export",
14171417
"sortText": "16",
1418-
"hasAction": true,
14191418
"source": "/user/username/projects/shared/src/other",
1419+
"hasAction": true,
14201420
"isPackageJsonImport": true,
14211421
"data": {
14221422
"exportName": "OtherClass",
@@ -1974,8 +1974,8 @@ Info seq [hh:mm:ss:mss] response:
19741974
"kind": "class",
19751975
"kindModifiers": "export",
19761976
"sortText": "16",
1977-
"hasAction": true,
19781977
"source": "/user/username/projects/shared/src/index",
1978+
"hasAction": true,
19791979
"data": {
19801980
"exportName": "MyClass",
19811981
"exportMapKey": "7 * MyClass ",
@@ -1987,8 +1987,8 @@ Info seq [hh:mm:ss:mss] response:
19871987
"kind": "class",
19881988
"kindModifiers": "export",
19891989
"sortText": "16",
1990-
"hasAction": true,
19911990
"source": "/user/username/projects/shared/src/helper",
1991+
"hasAction": true,
19921992
"isPackageJsonImport": true,
19931993
"data": {
19941994
"exportName": "MyHelper",
@@ -2002,8 +2002,8 @@ Info seq [hh:mm:ss:mss] response:
20022002
"kind": "class",
20032003
"kindModifiers": "export",
20042004
"sortText": "16",
2005-
"hasAction": true,
20062005
"source": "/user/username/projects/shared/src/other",
2006+
"hasAction": true,
20072007
"isPackageJsonImport": true,
20082008
"data": {
20092009
"exportName": "OtherClass",
@@ -2517,8 +2517,8 @@ Info seq [hh:mm:ss:mss] response:
25172517
"kind": "class",
25182518
"kindModifiers": "export",
25192519
"sortText": "16",
2520-
"hasAction": true,
25212520
"source": "/user/username/projects/shared/src/index",
2521+
"hasAction": true,
25222522
"data": {
25232523
"exportName": "MyClass",
25242524
"exportMapKey": "7 * MyClass ",

tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2274,8 +2274,8 @@ Info seq [hh:mm:ss:mss] response:
22742274
"kind": "class",
22752275
"kindModifiers": "export",
22762276
"sortText": "16",
2277-
"hasAction": true,
22782277
"source": "/user/username/projects/shared/src/index",
2278+
"hasAction": true,
22792279
"isPackageJsonImport": true,
22802280
"data": {
22812281
"exportName": "MyClass",
@@ -2289,8 +2289,8 @@ Info seq [hh:mm:ss:mss] response:
22892289
"kind": "class",
22902290
"kindModifiers": "export",
22912291
"sortText": "16",
2292-
"hasAction": true,
22932292
"source": "/user/username/projects/shared/src/helper",
2293+
"hasAction": true,
22942294
"isPackageJsonImport": true,
22952295
"data": {
22962296
"exportName": "MyHelper",
@@ -2304,8 +2304,8 @@ Info seq [hh:mm:ss:mss] response:
23042304
"kind": "class",
23052305
"kindModifiers": "export",
23062306
"sortText": "16",
2307-
"hasAction": true,
23082307
"source": "/user/username/projects/shared/src/other",
2308+
"hasAction": true,
23092309
"isPackageJsonImport": true,
23102310
"data": {
23112311
"exportName": "OtherClass",

tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -864,8 +864,8 @@ Info seq [hh:mm:ss:mss] response:
864864
"kind": "class",
865865
"kindModifiers": "export",
866866
"sortText": "16",
867-
"hasAction": true,
868867
"source": "/user/username/projects/shared/src/index",
868+
"hasAction": true,
869869
"isPackageJsonImport": true,
870870
"data": {
871871
"exportName": "MyClass",
@@ -879,8 +879,8 @@ Info seq [hh:mm:ss:mss] response:
879879
"kind": "class",
880880
"kindModifiers": "export",
881881
"sortText": "16",
882-
"hasAction": true,
883882
"source": "/user/username/projects/shared/src/helper",
883+
"hasAction": true,
884884
"isPackageJsonImport": true,
885885
"data": {
886886
"exportName": "MyHelper",
@@ -1391,8 +1391,8 @@ Info seq [hh:mm:ss:mss] response:
13911391
"kind": "class",
13921392
"kindModifiers": "export",
13931393
"sortText": "16",
1394-
"hasAction": true,
13951394
"source": "/user/username/projects/shared/src/index",
1395+
"hasAction": true,
13961396
"isPackageJsonImport": true,
13971397
"data": {
13981398
"exportName": "MyClass",
@@ -1406,8 +1406,8 @@ Info seq [hh:mm:ss:mss] response:
14061406
"kind": "class",
14071407
"kindModifiers": "export",
14081408
"sortText": "16",
1409-
"hasAction": true,
14101409
"source": "/user/username/projects/shared/src/helper",
1410+
"hasAction": true,
14111411
"isPackageJsonImport": true,
14121412
"data": {
14131413
"exportName": "MyHelper",
@@ -1421,8 +1421,8 @@ Info seq [hh:mm:ss:mss] response:
14211421
"kind": "class",
14221422
"kindModifiers": "export",
14231423
"sortText": "16",
1424-
"hasAction": true,
14251424
"source": "/user/username/projects/shared/src/other",
1425+
"hasAction": true,
14261426
"isPackageJsonImport": true,
14271427
"data": {
14281428
"exportName": "OtherClass",
@@ -1979,8 +1979,8 @@ Info seq [hh:mm:ss:mss] response:
19791979
"kind": "class",
19801980
"kindModifiers": "export",
19811981
"sortText": "16",
1982-
"hasAction": true,
19831982
"source": "/user/username/projects/shared/src/index",
1983+
"hasAction": true,
19841984
"isPackageJsonImport": true,
19851985
"data": {
19861986
"exportName": "MyClass",
@@ -1994,8 +1994,8 @@ Info seq [hh:mm:ss:mss] response:
19941994
"kind": "class",
19951995
"kindModifiers": "export",
19961996
"sortText": "16",
1997-
"hasAction": true,
19981997
"source": "/user/username/projects/shared/src/helper",
1998+
"hasAction": true,
19991999
"isPackageJsonImport": true,
20002000
"data": {
20012001
"exportName": "MyHelper",
@@ -2009,8 +2009,8 @@ Info seq [hh:mm:ss:mss] response:
20092009
"kind": "class",
20102010
"kindModifiers": "export",
20112011
"sortText": "16",
2012-
"hasAction": true,
20132012
"source": "/user/username/projects/shared/src/other",
2013+
"hasAction": true,
20142014
"isPackageJsonImport": true,
20152015
"data": {
20162016
"exportName": "OtherClass",

tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -780,8 +780,8 @@ Info seq [hh:mm:ss:mss] response:
780780
"kind": "class",
781781
"kindModifiers": "export",
782782
"sortText": "16",
783-
"hasAction": true,
784783
"source": "/user/username/projects/shared/src/index",
784+
"hasAction": true,
785785
"isPackageJsonImport": true,
786786
"data": {
787787
"exportName": "MyClass",

tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -752,8 +752,8 @@ Info seq [hh:mm:ss:mss] response:
752752
"kind": "class",
753753
"kindModifiers": "export,declare",
754754
"sortText": "16",
755-
"hasAction": true,
756755
"source": "e:/myproject/node_modules/@types/react/index",
756+
"hasAction": true,
757757
"data": {
758758
"exportName": "Component",
759759
"exportMapKey": "9 * Component ",
@@ -765,6 +765,7 @@ Info seq [hh:mm:ss:mss] response:
765765
"kind": "warning",
766766
"kindModifiers": "",
767767
"sortText": "18",
768+
"isFromUncheckedFile": true,
768769
"commitCharacters": []
769770
}
770771
],

tests/baselines/reference/tsserver/completions/works.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ Info seq [hh:mm:ss:mss] response:
346346
"kind": "const",
347347
"kindModifiers": "export",
348348
"sortText": "16",
349-
"hasAction": true,
350349
"source": "/a",
350+
"hasAction": true,
351351
"data": {
352352
"exportName": "foo",
353353
"exportMapKey": "3 * foo ",

0 commit comments

Comments
 (0)