parent
							
								
									aac08e0438
								
							
						
					
					
						commit
						a08af77b70
					
				| @ -26,51 +26,50 @@ export function create(info: any /* ts.server.PluginCreateInfo */): ts.LanguageS | ||||
|   const proxy: ts.LanguageService = Object.create(null); | ||||
|   let oldLS: ts.LanguageService = info.languageService; | ||||
| 
 | ||||
|   function tryCall<T>(fileName: string | undefined, callback: () => T): T { | ||||
|   function tryCall<T>(fileName: string | undefined, callback: () => T): T|undefined { | ||||
|     if (fileName && !oldLS.getProgram() !.getSourceFile(fileName)) { | ||||
|       return undefined as any as T; | ||||
|       return undefined; | ||||
|     } | ||||
|     try { | ||||
|       return callback(); | ||||
|     } catch (e) { | ||||
|       return undefined as any as T; | ||||
|     } catch { | ||||
|       return undefined; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   function tryFilenameCall<T>(m: (fileName: string) => T): (fileName: string) => T { | ||||
|   function tryFilenameCall<T>(m: (fileName: string) => T): (fileName: string) => T | undefined { | ||||
|     return fileName => tryCall(fileName, () => <T>(m.call(ls, fileName))); | ||||
|   } | ||||
| 
 | ||||
|   function tryFilenameOneCall<T, P>(m: (fileName: string, p: P) => T): (filename: string, p: P) => | ||||
|       T { | ||||
|       T | undefined { | ||||
|     return (fileName, p) => tryCall(fileName, () => <T>(m.call(ls, fileName, p))); | ||||
|   } | ||||
| 
 | ||||
|   function tryFilenameTwoCall<T, P1, P2>(m: (fileName: string, p1: P1, p2: P2) => T): ( | ||||
|       filename: string, p1: P1, p2: P2) => T { | ||||
|       filename: string, p1: P1, p2: P2) => T | undefined { | ||||
|     return (fileName, p1, p2) => tryCall(fileName, () => <T>(m.call(ls, fileName, p1, p2))); | ||||
|   } | ||||
| 
 | ||||
|   function tryFilenameThreeCall<T, P1, P2, P3>(m: (fileName: string, p1: P1, p2: P2, p3: P3) => T): | ||||
|       (filename: string, p1: P1, p2: P2, p3: P3) => T { | ||||
|       (filename: string, p1: P1, p2: P2, p3: P3) => T | undefined { | ||||
|     return (fileName, p1, p2, p3) => tryCall(fileName, () => <T>(m.call(ls, fileName, p1, p2, p3))); | ||||
|   } | ||||
| 
 | ||||
|   function tryFilenameFourCall<T, P1, P2, P3, P4>( | ||||
|       m: (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4) => | ||||
|           T): (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4) => T { | ||||
|           T): (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4) => T | undefined { | ||||
|     return (fileName, p1, p2, p3, p4) => | ||||
|                tryCall(fileName, () => <T>(m.call(ls, fileName, p1, p2, p3, p4))); | ||||
|   } | ||||
| 
 | ||||
|   function tryFilenameFiveCall<T, P1, P2, P3, P4, P5>( | ||||
|       m: (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => | ||||
|           T): (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => T { | ||||
|           T): (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => T | undefined { | ||||
|     return (fileName, p1, p2, p3, p4, p5) => | ||||
|                tryCall(fileName, () => <T>(m.call(ls, fileName, p1, p2, p3, p4, p5))); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   function typescriptOnly(ls: ts.LanguageService): ts.LanguageService { | ||||
|     const languageService: ts.LanguageService = { | ||||
|       cleanupSemanticCache: () => ls.cleanupSemanticCache(), | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user