@@ -789,52 +789,43 @@ namespace Harness.LanguageService {
789
789
return {
790
790
module : ( ) => ( {
791
791
create ( info : ts . server . PluginCreateInfo ) {
792
- return info ;
793
- } ,
794
- changeSourceFiles ( ) {
795
792
const clssf = ts . createLanguageServiceSourceFile ;
796
793
const ulssf = ts . updateLanguageServiceSourceFile ;
797
- return {
798
- createLanguageServiceSourceFile ( fileName : string , scriptSnapshot : ts . IScriptSnapshot , scriptTarget : ts . ScriptTarget , version : string , setNodeParents : boolean , scriptKind ?: ts . ScriptKind ) : ts . SourceFile {
794
+ ts . overrideCreateupdateLanguageServiceSourceFile (
795
+
796
+ ( fileName : string , scriptSnapshot : ts . IScriptSnapshot , scriptTarget : ts . ScriptTarget , version : string , setNodeParents : boolean , scriptKind ?: ts . ScriptKind ) : ts . SourceFile => {
799
797
if ( interested ( fileName ) ) {
800
798
const wrapped = scriptSnapshot ;
801
799
scriptSnapshot = {
802
800
getChangeRange : old => wrapped . getChangeRange ( old ) ,
803
801
getLength : ( ) => wrapped . getLength ( ) ,
804
- getText : ( start , end ) => parse ( fileName , wrapped . getText ( 0 , wrapped . getLength ( ) ) ) . slice ( start , end ) ,
802
+ getText : ( start , end ) => parse ( wrapped . getText ( 0 , wrapped . getLength ( ) ) ) . slice ( start , end ) ,
805
803
} ;
806
804
}
807
805
var sourceFile = clssf ( fileName , scriptSnapshot , scriptTarget , version , setNodeParents , scriptKind ) ;
808
- if ( interested ( fileName ) ) {
809
- modifyVueSource ( sourceFile ) ;
810
- }
811
806
return sourceFile ;
812
807
} ,
813
- updateLanguageServiceSourceFile ( sourceFile : ts . SourceFile , scriptSnapshot : ts . IScriptSnapshot , version : string , textChangeRange : ts . TextChangeRange , aggressiveChecks ?: boolean ) : ts . SourceFile {
808
+ ( sourceFile : ts . SourceFile , scriptSnapshot : ts . IScriptSnapshot , version : string , textChangeRange : ts . TextChangeRange , aggressiveChecks ?: boolean ) : ts . SourceFile => {
814
809
if ( interested ( sourceFile . fileName ) ) {
815
810
const wrapped = scriptSnapshot ;
816
811
scriptSnapshot = {
817
812
getChangeRange : old => wrapped . getChangeRange ( old ) ,
818
813
getLength : ( ) => wrapped . getLength ( ) ,
819
- getText : ( start , end ) => parse ( sourceFile . fileName , wrapped . getText ( 0 , wrapped . getLength ( ) ) ) . slice ( start , end ) ,
814
+ getText : ( start , end ) => parse ( wrapped . getText ( 0 , wrapped . getLength ( ) ) ) . slice ( start , end ) ,
820
815
} ;
821
816
}
822
817
var sourceFile = ulssf ( sourceFile , scriptSnapshot , version , textChangeRange , aggressiveChecks ) ;
823
- if ( interested ( sourceFile . fileName ) ) {
824
- modifyVueSource ( sourceFile ) ;
825
- }
826
818
return sourceFile ;
827
- }
828
- }
819
+ } ) ;
820
+ return makeDefaultProxy ( info ) ;
829
821
830
822
function interested ( filename : string ) {
831
823
return filename . length ;
832
824
}
833
- function modifyVueSource ( sourcefile : ts . SourceFile ) {
834
- return sourcefile ;
835
- }
836
- function parse ( filename : string , text : string ) {
837
- return interested ( filename ) ? text : text ;
825
+ function parse ( text : string ) {
826
+ const start = text . indexOf ( "<script>" ) + "<script>" . length ;
827
+ const end = text . indexOf ( "</script>" ) ;
828
+ return text . slice ( 0 , start ) . replace ( / ./ g, ' ' ) + text . slice ( start , end ) + text . slice ( end ) . replace ( / ./ g, ' ' ) ;
838
829
}
839
830
} ,
840
831
resolveModules ( ) {
@@ -846,7 +837,7 @@ namespace Harness.LanguageService {
846
837
extension : ts . Extension . Ts ,
847
838
isExternalLibraryImport : true ,
848
839
// TODO: Fake this
849
- resolvedFileName : path . join ( path . dirname ( containingFile ) , path . basename ( moduleName ) ) ,
840
+ resolvedFileName : containingFile . slice ( 0 , containingFile . lastIndexOf ( "/" ) ) + "/" + moduleName ,
850
841
}
851
842
}
852
843
}
@@ -855,7 +846,7 @@ namespace Harness.LanguageService {
855
846
}
856
847
} ;
857
848
function importInterested ( filename : string ) {
858
- return filename . length ;
849
+ return filename . charAt ( 0 ) === "." && filename . slice ( - 4 ) === ".vue" ;
859
850
}
860
851
}
861
852
} ) ,
0 commit comments