Hi everybody.
Just to let people know - as this might also be of interest to
other IDEs out there - I've submitted a Gerrit patch with my
first draft of an asynchronous Auto-Save implementation I've
been working on:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=487653#c16
To recap from the last discussion on Auto-Save, I mentioned I
was looking specifically at the ability to automatically save
editor buffers *immediately* after the editor is modified.
This in turn implied that such an auto-save needed to be done
asynchronously: the UI-thread could not block on the save, as
it currently does. The motivation for this was to be able to
use external tools for on-the-fly compilation (in IDEs such as
RustDT, Goclipse, DDT, etc). You can see an example demo this
on-the-fly external compilation here:
https://twitter.com/brunodomedeiros/status/712327368157876225
(note that even though the editor shows the dirty sign, it
is actually being saved to the disk automatically)
I'm hoping to get feedback on the patch, so that any issues can
be addressed. It is a very complex patch, it changes a lot of
core Eclipse code, and potentially breaks things (even if
auto-save is not enabled), but there is no way this
functionality could be implemented without big changes. I've
made sure the current Platform Text tests pass on it, and also
added my own tests, but for more than that, I need feedback and
other people trying/testing it. The patch will also need some
very simple follow-up changes to PlatformUI projects, but I want
get started on validating the core implementation.
Cheers