Hi Eugene,
Many thanks for your feedback!
I have started to implement my idea with TypeScript Editor and it starts working great, in other words when I edit a big ts file, I have a very fast performance because I don't use an AST:
* syntax coloration is done with Eclipse ITokenScanner (I have reused the JSDT JavaCodeScanner)
* code folding that I'm implementing is done according tabulation
My conclusion is to create an AST only on background and not when a ts file is editing like JSDT does today. This AST should be used only for inference engineckgr (or filll outline on background) and not for features like syntax coloration, code folding, etc (it's the idea of VSCode which is so fast).
My TypeScript Editor is a lightweigt editor that it could be used for _javascript_ too. In my case the build of AST is done on background with tsserver. Hyperlink, completion, validation, hover call the tsserver (inference engine) with a timeout and if it takes too time, it doesn't freeze Eclipse. User has not available result of completion when inference engine takes too time the first time but eclipse doesn't freeze. When inference engine has finished to compute AST and other inference jobs, completion is available. If JSDT could provide a lightweiht editor, tern.java could be very fast too.
Perhaps I have missed something, but today my TypeScript Editor is very fast with large file when user open a big ts file.
Regard's Angelo