On Sat, Jun 04, 2016 at 11:21:14AM -0700, Christian Hergert wrote:
> Being able to share these with Gedit is definitely a goal of ours. Like
> most of our upstream work has gone in the last couple years, I imagine
> we'll prototype first (which Matthew Leeds will be working on it), and
> then look to see how it can be abstracted into GSV (or alternatively the
> new library you've been starting for editors built on GSV).
Yes, re-use it in gedit, gCSVedit and company.
The new library, Gtef, would indeed be a good place since it can serve
as an incubator for GSV.
> We do intend to build the project-wide search/replace API on top of a
> simple refactoring engine, but I don't think it will be all that
> complex. I'm assuming something simple like:
>
> RefactoryCommand {
> gboolean (*do) (RefactoryCommand *, GError **error);
> gboolean (*undo) (RefactoryCommand *, GError **error);
> gboolean (*can_undo) (RefactoryCommand *);
> gboolean (*can_redo) (RefactoryCommand *);
> gchar *(*get_label)(RefactoryCommand *);
>
> /* this allows us to push multiple items on the stack but
> * undo them as a single operation.
> */
> gboolean (*chain) (RefactoryCommand *, RefactoryCommand *next);
> }
>
> Which is basically just your typical undo/redo stack item (although
> we'll likely need them to be async).
>
> I envision things like F2 to rename variables/symbols/classes will
> create a command like this and do refactory_engine.run(command)
For code reuse, the first step would be to take just the single-document
search and replace. That alone would be awesome. But of course the
project-wide search and replace would be useful too, but I guess it is
more complicated to make it libide-independent.
Anyway, I'm looking forward to Matthew's work!
--
Sébastien
_______________________________________________
Builder-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/builder-list