Why are copilot and some other functions not extensions? #11856
-
It appears that the current approach may lead to increased coupling, which could limit the system’s modularity and flexibility. To enhance the architecture, it would be beneficial to develop an API that allows for seamless integration with various suggestion services. This would not only promote a more decoupled design but also enable easier maintenance and scalability. If my understanding hot it works is correct, of course |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
Mainly due to the fact that extensions are very immature and their first working prototype appeared much later than any Copilot-related one. Right now, extension API is very limited and is more about defining language capabilities rather than editor-related capabilities. Until somebody designs those bits, copilot most probably stays inside Zed codebase. Another reason is the fact that it's faster to evolve the code without worrying about the compatibility — it would be harder to pull off something like #10788 with Copilot being an extension. |
Beta Was this translation helpful? Give feedback.
-
I agree in that for many use cases the collaborative features or IA of Zed are not needed. For instance, I usually work alone in my code, and I don't have any Open IA/Copilot key. So these features are useless for my use case. So definitely, I would love theses features to be moved to extensions or make them optional. |
Beta Was this translation helpful? Give feedback.
Mainly due to the fact that extensions are very immature and their first working prototype appeared much later than any Copilot-related one.
Right now, extension API is very limited and is more about defining language capabilities rather than editor-related capabilities.
IIRC, there's no editor-related APIs at all now, so no plugin can adjust the text or add any graphical adjustment around it.
Until somebody designs those bits, copilot most probably stays inside Zed codebase.
Another reason is the fact that it's faster to evolve the code without worrying about the compatibility — it would be harder to pull off something like #10788 with Copilot being an extension.