File tree 1 file changed +15
-5
lines changed
packages/typescript/lib/quickstart
1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -36,14 +36,24 @@ export function createAsyncLanguageServicePlugin(
36
36
let initialized = false ;
37
37
38
38
info . languageServiceHost . getScriptSnapshot = fileName => {
39
- if ( ! initialized && extensions . some ( ext => fileName . endsWith ( ext ) ) ) {
40
- return emptySnapshot ;
39
+ if ( ! initialized ) {
40
+ if ( extensions . some ( ext => fileName . endsWith ( ext ) ) ) {
41
+ return emptySnapshot ;
42
+ }
43
+ if ( info . project . getScriptInfo ( fileName ) ?. isScriptOpen ( ) ) {
44
+ return emptySnapshot ;
45
+ }
41
46
}
42
47
return getScriptSnapshot ( fileName ) ;
43
48
} ;
44
49
info . languageServiceHost . getScriptVersion = fileName => {
45
- if ( ! initialized && extensions . some ( ext => fileName . endsWith ( ext ) ) ) {
46
- return 'initializing...' ;
50
+ if ( ! initialized ) {
51
+ if ( extensions . some ( ext => fileName . endsWith ( ext ) ) ) {
52
+ return 'initializing...' ;
53
+ }
54
+ if ( info . project . getScriptInfo ( fileName ) ?. isScriptOpen ( ) ) {
55
+ return getScriptVersion ( fileName ) + ',initializing...' ;
56
+ }
47
57
}
48
58
return getScriptVersion ( fileName ) ;
49
59
} ;
@@ -106,10 +116,10 @@ export function createAsyncLanguageServicePlugin(
106
116
decorateLanguageServiceHost ( ts , language , info . languageServiceHost ) ;
107
117
setup ?.( language ) ;
108
118
119
+ initialized = true ;
109
120
if ( 'markAsDirty' in info . project && typeof info . project . markAsDirty === 'function' ) {
110
121
info . project . markAsDirty ( ) ;
111
122
}
112
- initialized = true ;
113
123
} ) ;
114
124
}
115
125
You can’t perform that action at this time.
0 commit comments