File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed
packages/typescript/lib/quickstart Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -36,14 +36,24 @@ export function createAsyncLanguageServicePlugin(
3636 let initialized = false ;
3737
3838 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+ }
4146 }
4247 return getScriptSnapshot ( fileName ) ;
4348 } ;
4449 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+ }
4757 }
4858 return getScriptVersion ( fileName ) ;
4959 } ;
@@ -106,10 +116,10 @@ export function createAsyncLanguageServicePlugin(
106116 decorateLanguageServiceHost ( ts , language , info . languageServiceHost ) ;
107117 setup ?.( language ) ;
108118
119+ initialized = true ;
109120 if ( 'markAsDirty' in info . project && typeof info . project . markAsDirty === 'function' ) {
110121 info . project . markAsDirty ( ) ;
111122 }
112- initialized = true ;
113123 } ) ;
114124 }
115125
You can’t perform that action at this time.
0 commit comments