An idea for easier language server usage and integration. #1898
Replies: 1 comment
-
We could add support for external language servers, but we don't. The reason is that different language servers have different implementations for the language support. For example, a language server for Java may maintain an in-memory index of the Java symbols from Jar files while a language server for Kotlin may maintain its own copy. This introduces significant CPU and memory overhead. However, by providing a unified languages API for the IDE, we could re-use a lot of information that we fetch from the Gradle project. The IDE could index the required files itself and the language implementations only have to fetch this information from the IDE, hence reusing a lot of stuff. This is important, specially in case of AndroidIDE which runs on mobile devices as these devices often have limited resources (and that too, restricted by the system). The indexing API is still a work in progress for AndroidIDE and may take some time to be implemented. If this answers you question, please close this discussion. If not, let me know. |
Beta Was this translation helpful? Give feedback.
-
I don't know much about the project's code so feel free to correct me if I say anything wrong.
I believe it might be easier to do language servers the same way Nvim and Micro do it. If AndroidIDE has the ability to use language server executables on the app's terminal, there wouldn't be a need to integrate the server for each language.
Anyone can get the language servers they need online on their own.
Beta Was this translation helpful? Give feedback.
All reactions