shoebot / plugin-shoebot

Integrate shoebot into editors and IDEs
0 stars 0 forks source link

Support gedit forks .. Xed, Pluma #5

Open stuaxo opened 6 years ago

stuaxo commented 6 years ago

Need some info on what they are...

rlafuente commented 6 years ago

This is great stuff -- I almost forgot Pluma existed, and didn't know about Xed. With Gedit development going slow, these look like a good home for our Gedit plugin.

Leaving the links for each here:

stuaxo commented 5 years ago

So, Xed now works, Pluma may not be far behind.

Xed is basically the new Gedit, so everything works. At least Pluma is Gtk3, so we won't need to take along too much of the dodgy old code.

As a status update..

Preferences code is the dodgyest bit, it use something like an MVC model to separate the settings backend from the GUI, but it's a bit messy right now.

Choosing a virtualenv works almost as well as our old extension, and is good enough for now.

The installer seems kind of magical now it works.. the setup.py puts everything in the right place for different editors.

Started building out some helper code that will eventually help out the IDE, but probably a way to go.

Existing helper code, is some Gio SimpleAction stuff (basically making it easy to wire up toggle actions right now).

I'm not super keen on the existing Gtk3 menu code, since it works differently to our Gio menu code; I'll probably bring it over to get Pluma and the IDE examples menus.

Building the console widget looks like it could take a while to get right... I wonder how hard it is to embed VTE and run shoebot in that instead ?

If we did that we could probably swap out the current ide<->shoebot communication layer with something more sane than special messages on stdin/stdout.

stuaxo commented 5 years ago

Some notes to myself:

Pluma is missing most of the things Gedit and Xed has, so its plugins access libpeas APIs.

The thing here would be to write polyfills, so that everything uses an API that looks like the most "complete" editior.

To make this manageable next time I look at this, I need to start documenting this somewhere.

stuaxo commented 5 years ago

@rlafuente do you use Mint (I have a vague memory of this, but maybe it's wrong?)

rlafuente commented 5 years ago

Not for a long time sadly, been using Debian Testing for some years now. Can I help here somehow?

stuaxo commented 5 years ago

Hm, not really sure until I get something working.

I keep thinking like a developer when this question is asked and come up with tiny tasks.

Do you have any idea of the how many people use Pluma vs Xed ? I might get just Xed working at first as it's most similar to Gedit 3.12 and above.

stuaxo commented 5 years ago

AFAICT it looks like Xed is aiming to replace Pluma, so I'll just go for Xed at first, though all this is overkill for just two editors :man_shrugging: but kind of fun to get working anyway.

rlafuente commented 5 years ago

Go wild, I'm not super keen about focusing on "useful" features, but rather hacking on what's fun.

I'm for prioritising Xed fwiw!

stuaxo commented 5 years ago

Yeah, I'll probably get Xed working just to land get this plugin thing sorted.

Will start ticket to LGM discussion

stuaxo commented 5 years ago

Hey @rlafuente this is now working (for some value of working) in Xed.

With the latest shoebot from git and the latest plugin_shoebot installed from git - AND running xed in the shoebot directory (and a bit of luck in the venv chooser (I think the "default option) you can get the examples menu in Xed.

There are still lots of little things broken (duplication in venv menu in editor, shoebot disconnects from editor), but it's at a fixing-bugs stage now.

It would be great if you could have a play and try to breaking it :)

stuaxo commented 5 years ago

OK, looks like Pluma is out for the moment as it's plugin support is not working https://github.com/mate-desktop/pluma/issues/305