@@ -80,8 +80,9 @@ module Harness.LanguageService {
80
80
return JSON . stringify ( this . lineMap . lineStarts ( ) ) ;
81
81
}
82
82
83
- public getTextChangeRangeSinceVersion ( scriptVersion : number ) : string {
84
- var range = this . scriptInfo . getTextChangeRangeBetweenVersions ( scriptVersion , this . version ) ;
83
+ public getChangeRange ( oldScript : ts . ScriptSnapshotShim ) : string {
84
+ var oldShim = < ScriptSnapshotShim > oldScript ;
85
+ var range = this . scriptInfo . getTextChangeRangeBetweenVersions ( oldShim . version , this . version ) ;
85
86
if ( range === null ) {
86
87
return null ;
87
88
}
@@ -101,50 +102,14 @@ module Harness.LanguageService {
101
102
}
102
103
}
103
104
104
- class ScriptSnapshotShimAdapter implements TypeScript . IScriptSnapshot {
105
- private lineStartPositions : number [ ] = null ;
106
- constructor ( private scriptSnapshotShim : ts . ScriptSnapshotShim ) { }
107
- getText ( start : number , end : number ) : string { return this . scriptSnapshotShim . getText ( start , end ) ; }
108
- getLength ( ) : number { return this . scriptSnapshotShim . getLength ( ) ; }
109
- getLineStartPositions ( ) : number [ ] { return JSON . parse ( this . scriptSnapshotShim . getLineStartPositions ( ) ) ; }
110
- getTextChangeRangeSinceVersion ( scriptVersion : number ) : TypeScript . TextChangeRange {
111
- var encoded = this . scriptSnapshotShim . getTextChangeRangeSinceVersion ( scriptVersion ) ;
112
- if ( encoded == null ) {
113
- return null ;
114
- }
115
-
116
- var decoded : { span : { start : number ; length : number ; } ; newLength : number ; } = JSON . parse ( encoded ) ;
117
- return new TypeScript . TextChangeRange (
118
- new TypeScript . TextSpan ( decoded . span . start , decoded . span . length ) , decoded . newLength ) ;
119
- }
120
- }
121
-
122
- class LanguageServiceShimHostAdapter implements ts . LanguageServiceHost {
123
- constructor ( private shimHost : ts . LanguageServiceShimHost ) { }
124
- information ( ) : boolean { return this . shimHost . information ( ) ; }
125
- debug ( ) : boolean { return this . shimHost . debug ( ) ; }
126
- warning ( ) : boolean { return this . shimHost . warning ( ) ; }
127
- error ( ) : boolean { return this . shimHost . error ( ) ; }
128
- fatal ( ) : boolean { return this . shimHost . fatal ( ) ; }
129
- log ( s : string ) : void { this . shimHost . log ( s ) ; }
130
- getCompilationSettings ( ) : ts . CompilerOptions { return JSON . parse ( this . shimHost . getCompilationSettings ( ) ) ; }
131
- getScriptFileNames ( ) : string [ ] { return JSON . parse ( this . shimHost . getScriptFileNames ( ) ) ; }
132
- getScriptSnapshot ( fileName : string ) : TypeScript . IScriptSnapshot { return new ScriptSnapshotShimAdapter ( this . shimHost . getScriptSnapshot ( fileName ) ) ; }
133
- getScriptVersion ( fileName : string ) : number { return this . shimHost . getScriptVersion ( fileName ) ; }
134
- getScriptIsOpen ( fileName : string ) : boolean { return this . shimHost . getScriptIsOpen ( fileName ) ; }
135
- getLocalizedDiagnosticMessages ( ) : any { JSON . parse ( this . shimHost . getLocalizedDiagnosticMessages ( ) ) ; }
136
- getCancellationToken ( ) : ts . CancellationToken { return this . shimHost . getCancellationToken ( ) ; }
137
- }
138
-
139
105
export class NonCachingDocumentRegistry implements ts . DocumentRegistry {
140
-
141
106
public static Instance : ts . DocumentRegistry = new NonCachingDocumentRegistry ( ) ;
142
107
143
108
public acquireDocument (
144
109
fileName : string ,
145
110
compilationSettings : ts . CompilerOptions ,
146
111
scriptSnapshot : TypeScript . IScriptSnapshot ,
147
- version : number ,
112
+ version : string ,
148
113
isOpen : boolean ) : ts . SourceFile {
149
114
return ts . createSourceFile ( fileName , scriptSnapshot . getText ( 0 , scriptSnapshot . getLength ( ) ) , compilationSettings . target , version , isOpen ) ;
150
115
}
@@ -154,7 +119,7 @@ module Harness.LanguageService {
154
119
fileName : string ,
155
120
compilationSettings : ts . CompilerOptions ,
156
121
scriptSnapshot : TypeScript . IScriptSnapshot ,
157
- version : number ,
122
+ version : string ,
158
123
isOpen : boolean ,
159
124
textChangeRange : TypeScript . TextChangeRange
160
125
) : ts . SourceFile {
@@ -252,8 +217,8 @@ module Harness.LanguageService {
252
217
return new ScriptSnapshotShim ( this . getScriptInfo ( fileName ) ) ;
253
218
}
254
219
255
- public getScriptVersion ( fileName : string ) : number {
256
- return this . getScriptInfo ( fileName ) . version ;
220
+ public getScriptVersion ( fileName : string ) : string {
221
+ return this . getScriptInfo ( fileName ) . version . toString ( ) ;
257
222
}
258
223
259
224
public getScriptIsOpen ( fileName : string ) : boolean {
@@ -270,7 +235,7 @@ module Harness.LanguageService {
270
235
public getLanguageService ( ) : ts . LanguageServiceShim {
271
236
var ls = new TypeScript . Services . TypeScriptServicesFactory ( ) . createLanguageServiceShim ( this ) ;
272
237
this . ls = ls ;
273
- var hostAdapter = new LanguageServiceShimHostAdapter ( this ) ;
238
+ var hostAdapter = new ts . LanguageServiceShimHostAdapter ( this ) ;
274
239
275
240
this . newLS = ts . createLanguageService ( hostAdapter , NonCachingDocumentRegistry . Instance ) ;
276
241
return ls ;
0 commit comments