elementary / elementary/code

Plugin system redesign

オープン
#201 コメント 6 件 リアクション 2 件 担当者 0 名 GitHub で見る
Priority: Low Status: In Progress
主要言語
Vala
スター
521
フォーク
118
平均マージ
1日 8時間
マージ済み PR(30日)
14

説明

Currently Scratch in it's plugin interface exposes a few methods that "hook" it's widgets which can then be processed by the plugin in order to add additional functionality to e.g: HeaderBar, sidebar or the bottom bar.

While this works with current set of plugins, it will get harder and harder to introduce new ones that further improve the experience. An example of this would be the Outline plugin; for Vala it displays the symbol structure in the current opened document. There is the problem though, what if we want to also have Vala autocompletion? We probably need to create another plugin just for this, but we end up with two Vala compilers processing the same exact document that's opened both for completion and symbol visiting.

As a proposal, Scratch should expose those widgets, but in a different manner. Hooking widgets should be optional, and instead Scratch should expose and implement a set of different interfaces for common code functionalities like e.g: autocompletion, file manager and others. Currently those widgets are provided by the plugins themselves and there is no way to communicate between plugins. "Vala" or "C" should be one plugin that provides all the functionality that belongs to this language.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/48693024-plugin-system-redesign?utm_campaign=plugin&utm_content=tracker%2F61917289&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F61917289&utm_medium=issues&utm_source=github).

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。