Skip to content

Commit 07b3ca6

Browse files
committed
feat: completion snippets
1 parent f4a1d2a commit 07b3ca6

84 files changed

Lines changed: 3054 additions & 241 deletions

File tree

Some content is hidden

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

internal/checker/nodecopy.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,12 +607,15 @@ func getExistingNodeTreeVisitor(b *NodeBuilderImpl, bound *recoveryBoundary) *as
607607
if specifier != originalSpec {
608608
arg = factory.NewLiteralTypeNode(specifier)
609609
}
610+
originalQualifier := node.AsImportTypeNode().Qualifier
611+
qualifier := visitor.VisitNode(originalQualifier)
612+
b.copyImportTypeQualifierSymbol(originalQualifier, qualifier)
610613
return factory.UpdateImportTypeNode(
611614
node.AsImportTypeNode(),
612615
node.AsImportTypeNode().IsTypeOf,
613616
arg,
614617
visitor.VisitNode(node.AsImportTypeNode().Attributes),
615-
visitor.VisitNode(node.AsImportTypeNode().Qualifier),
618+
qualifier,
616619
visitor.VisitNodes(node.AsImportTypeNode().TypeArguments),
617620
)
618621
}
@@ -863,3 +866,14 @@ func getExistingNodeTreeVisitor(b *NodeBuilderImpl, bound *recoveryBoundary) *as
863866
})
864867
return visitor
865868
}
869+
870+
func (b *NodeBuilderImpl) copyImportTypeQualifierSymbol(node *ast.Node, qualifier *ast.Node) {
871+
if node == nil || qualifier == nil {
872+
return
873+
}
874+
symbol := b.ch.symbolNodeLinks.Get(ast.GetFirstIdentifier(node)).resolvedSymbol
875+
if symbol == nil {
876+
return
877+
}
878+
b.idToSymbol[ast.GetFirstIdentifier(qualifier)] = symbol
879+
}

internal/fourslash/_scripts/convertFourslash.mts

Lines changed: 211 additions & 74 deletions
Large diffs are not rendered by default.

internal/fourslash/_scripts/failingTests.txt

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@ TestAmbientShorthandGotoDefinition
44
TestArgumentsAreAvailableAfterEditsAtEndOfFunction
55
TestAugmentedTypesClass1
66
TestAutoImportAllowImportingTsExtensionsPackageJsonImports1
7-
TestAutoImportCompletionAmbientMergedModule1
8-
TestAutoImportCompletionExportListAugmentation1
9-
TestAutoImportCompletionExportListAugmentation2
10-
TestAutoImportCompletionExportListAugmentation3
11-
TestAutoImportCompletionExportListAugmentation4
127
TestAutoImportCrossProject_symlinks_stripSrc
138
TestAutoImportCrossProject_symlinks_toDist
149
TestAutoImportFileExcludePatterns10
@@ -92,7 +87,6 @@ TestCommentsVariables
9287
TestCompletionAfterQuestionDot
9388
TestCompletionAutoInsertQuestionDot
9489
TestCompletionCloneQuestionToken
95-
TestCompletionEntryClassMembersWithInferredFunctionReturnType1
9690
TestCompletionEntryForArgumentConstrainedToString
9791
TestCompletionEntryForArrayElementConstrainedToString
9892
TestCompletionEntryForArrayElementConstrainedToString2
@@ -115,7 +109,6 @@ TestCompletionForStringLiteral4
115109
TestCompletionImportMeta
116110
TestCompletionImportMetaWithGlobalDeclaration
117111
TestCompletionImportModuleSpecifierEndingUnsupportedExtension
118-
TestCompletionInChecks1
119112
TestCompletionInFunctionLikeBody_includesPrimitiveTypes
120113
TestCompletionInUncheckedJSFile
121114
TestCompletionListBuilderLocations_VariableDeclarations
@@ -157,10 +150,6 @@ TestCompletionOfAwaitPromise7
157150
TestCompletionOfInterfaceAndVar
158151
TestCompletionPreferredSuggestions1
159152
TestCompletionsBeforeRestArg1
160-
TestCompletionsClassMemberImportTypeNodeParameter1
161-
TestCompletionsClassMemberImportTypeNodeParameter2
162-
TestCompletionsClassMemberImportTypeNodeParameter3
163-
TestCompletionsClassMemberImportTypeNodeParameter4
164153
TestCompletionsElementAccessNumeric
165154
TestCompletionsExportImport
166155
TestCompletionsImport_default_anonymous
@@ -189,18 +178,6 @@ TestCompletionsLiteralFromInferenceWithinInferredType3
189178
TestCompletionsLiterals
190179
TestCompletionsMergedDeclarations1
191180
TestCompletionsNewTarget
192-
TestCompletionsOptionalMethod
193-
TestCompletionsOverridingMethod1
194-
TestCompletionsOverridingMethod10
195-
TestCompletionsOverridingMethod11
196-
TestCompletionsOverridingMethod14
197-
TestCompletionsOverridingMethod17
198-
TestCompletionsOverridingMethod2
199-
TestCompletionsOverridingMethod3
200-
TestCompletionsOverridingMethod4
201-
TestCompletionsOverridingMethod9
202-
TestCompletionsOverridingMethodCrash1
203-
TestCompletionsOverridingProperties1
204181
TestCompletionsRecommended_namespace
205182
TestCompletionsRecommended_union
206183
TestCompletionsRedeclareModuleAsGlobal
@@ -275,18 +252,8 @@ TestImportNameCodeFixNewImportBaseUrl1
275252
TestImportNameCodeFixNewImportBaseUrl2
276253
TestImportNameCodeFixNewImportFile2
277254
TestImportNameCodeFixNewImportTypeRoots1
278-
TestImportStatementCompletions_esModuleInterop2
279-
TestImportStatementCompletions_noSnippet
280-
TestImportStatementCompletions_pnpm1
281-
TestImportStatementCompletions_quotes
282-
TestImportStatementCompletions_semicolons
283255
TestImportSuggestionsCache_invalidPackageJson
284-
TestImportTypeCompletions1
285-
TestImportTypeCompletions3
286-
TestImportTypeCompletions4
287-
TestImportTypeCompletions6
288256
TestImportTypeCompletions7
289-
TestImportTypeCompletions8
290257
TestImportTypeCompletions9
291258
TestIndirectClassInstantiation
292259
TestJavascriptModules20
@@ -316,14 +283,6 @@ TestJsdocTypedefTagNamespace
316283
TestJsFileImportNoTypes2
317284
TestJsQuickInfoGenerallyAcceptableSize
318285
TestJsRequireQuickInfo
319-
TestJsxAttributeCompletionStyleAuto
320-
TestJsxAttributeCompletionStyleBraces
321-
TestJsxAttributeCompletionStyleDefault
322-
TestJsxAttributeCompletionStyleNone
323-
TestJsxAttributeCompletionStyleNoSnippet
324-
TestJsxAttributeSnippetCompletionAfterTypeArgs
325-
TestJsxAttributeSnippetCompletionClosed
326-
TestJsxAttributeSnippetCompletionUnclosed
327286
TestJsxWithTypeParametershasInstantiatedSignatureHelp
328287
TestLetQuickInfoAndCompletionList
329288
TestLocalFunction

0 commit comments

Comments
 (0)