I hope this is not a repost. Che-dev gave me a bounce on the first send.
Pavel:
Hello. Thanks for taking your time to provide some thoughts.
In the current and past versions of Che we have had a mixture of client side and server side abstract tree processing. We have found that the performance was substandard.
In 4.x we have been working on a cleaner set of abstractions that are only server side. We will make it possible for language analysis to be portably injected into a workspace machine and that process can operate against the set of files there. In our latest tests the performance is significantly better than our current web worker and server side approach.
As a result we do not have plans to support a switcher that would let the processing take place in different locations. It would be incumbent upon client-side developers to ignore the workspace dev machine services in favor of their own.
We have auto save of the files and the clients that work on files can do batch updates of changes to minimize the impact of having to trigger too many requests to the server side.
Also by doing any sort of processing on the client side it is easy to create an inconsistent view between two parties in the same workspace if the state machine is assessing a different syntax state at any given point in time.