@@ -11,7 +11,7 @@ namespace ts.server {
1111 input : process . stdin ,
1212 output : process . stdout ,
1313 terminal : false ,
14- } ) ;
14+ } ) ;
1515
1616 class Logger implements ts . server . Logger {
1717 fd = - 1 ;
@@ -58,7 +58,7 @@ namespace ts.server {
5858 isVerbose ( ) {
5959 return this . loggingEnabled ( ) && ( this . level == "verbose" ) ;
6060 }
61-
61+
6262
6363 msg ( s : string , type = "Err" ) {
6464 if ( this . fd < 0 ) {
@@ -85,7 +85,7 @@ namespace ts.server {
8585
8686 interface WatchedFile {
8787 fileName : string ;
88- callback : ( fileName : string ) => void ;
88+ callback : ( fileName : string , removed : boolean ) => void ;
8989 mtime : Date ;
9090 }
9191
@@ -121,11 +121,11 @@ namespace ts.server {
121121
122122 fs . stat ( watchedFile . fileName , ( err , stats ) => {
123123 if ( err ) {
124- watchedFile . callback ( watchedFile . fileName ) ;
124+ watchedFile . callback ( watchedFile . fileName , /* removed */ false ) ;
125125 }
126126 else if ( watchedFile . mtime . getTime ( ) !== stats . mtime . getTime ( ) ) {
127127 watchedFile . mtime = WatchedFileSet . getModifiedTime ( watchedFile . fileName ) ;
128- watchedFile . callback ( watchedFile . fileName ) ;
128+ watchedFile . callback ( watchedFile . fileName , watchedFile . mtime . getTime ( ) === 0 ) ;
129129 }
130130 } ) ;
131131 }
@@ -153,7 +153,7 @@ namespace ts.server {
153153 } , this . interval ) ;
154154 }
155155
156- addFile ( fileName : string , callback : ( fileName : string ) => void ) : WatchedFile {
156+ addFile ( fileName : string , callback : ( fileName : string , removed : boolean ) => void ) : WatchedFile {
157157 var file : WatchedFile = {
158158 fileName,
159159 callback,
@@ -170,7 +170,7 @@ namespace ts.server {
170170 removeFile ( file : WatchedFile ) {
171171 this . watchedFiles = WatchedFileSet . copyListRemovingItem ( file , this . watchedFiles ) ;
172172 }
173- }
173+ }
174174
175175 class IOSession extends Session {
176176 constructor ( host : ServerHost , logger : ts . server . Logger ) {
@@ -243,11 +243,11 @@ namespace ts.server {
243243 // TODO: check that this location is writable
244244
245245 var logger = createLoggerFromEnv ( ) ;
246-
246+
247247 // REVIEW: for now this implementation uses polling.
248248 // The advantage of polling is that it works reliably
249249 // on all os and with network mounted files.
250- // For 90 referenced files, the average time to detect
250+ // For 90 referenced files, the average time to detect
251251 // changes is 2*msInterval (by default 5 seconds).
252252 // The overhead of this is .04 percent (1/2500) with
253253 // average pause of < 1 millisecond (and max
@@ -271,4 +271,4 @@ namespace ts.server {
271271 } ) ;
272272 // Start listening
273273 ioSession . listen ( ) ;
274- }
274+ }
0 commit comments