@@ -789,52 +789,43 @@ namespace Harness.LanguageService {
789789 return {
790790 module : ( ) => ( {
791791 create ( info : ts . server . PluginCreateInfo ) {
792- return info ;
793- } ,
794- changeSourceFiles ( ) {
795792 const clssf = ts . createLanguageServiceSourceFile ;
796793 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 => {
799797 if ( interested ( fileName ) ) {
800798 const wrapped = scriptSnapshot ;
801799 scriptSnapshot = {
802800 getChangeRange : old => wrapped . getChangeRange ( old ) ,
803801 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 ) ,
805803 } ;
806804 }
807805 var sourceFile = clssf ( fileName , scriptSnapshot , scriptTarget , version , setNodeParents , scriptKind ) ;
808- if ( interested ( fileName ) ) {
809- modifyVueSource ( sourceFile ) ;
810- }
811806 return sourceFile ;
812807 } ,
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 => {
814809 if ( interested ( sourceFile . fileName ) ) {
815810 const wrapped = scriptSnapshot ;
816811 scriptSnapshot = {
817812 getChangeRange : old => wrapped . getChangeRange ( old ) ,
818813 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 ) ,
820815 } ;
821816 }
822817 var sourceFile = ulssf ( sourceFile , scriptSnapshot , version , textChangeRange , aggressiveChecks ) ;
823- if ( interested ( sourceFile . fileName ) ) {
824- modifyVueSource ( sourceFile ) ;
825- }
826818 return sourceFile ;
827- }
828- }
819+ } ) ;
820+ return makeDefaultProxy ( info ) ;
829821
830822 function interested ( filename : string ) {
831823 return filename . length ;
832824 }
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, ' ' ) ;
838829 }
839830 } ,
840831 resolveModules ( ) {
@@ -846,7 +837,7 @@ namespace Harness.LanguageService {
846837 extension : ts . Extension . Ts ,
847838 isExternalLibraryImport : true ,
848839 // TODO: Fake this
849- resolvedFileName : path . join ( path . dirname ( containingFile ) , path . basename ( moduleName ) ) ,
840+ resolvedFileName : containingFile . slice ( 0 , containingFile . lastIndexOf ( "/" ) ) + "/" + moduleName ,
850841 }
851842 }
852843 }
@@ -855,7 +846,7 @@ namespace Harness.LanguageService {
855846 }
856847 } ;
857848 function importInterested ( filename : string ) {
858- return filename . length ;
849+ return filename . charAt ( 0 ) === "." && filename . slice ( - 4 ) === ".vue" ;
859850 }
860851 }
861852 } ) ,
0 commit comments