On 03/04/2015 09:22 PM, Christian Hergert wrote: > For those that are curious, I've been implementing this over the last > day, and it is wonderful. > > Some things are still going to be a bit annoying to implement, but the > vast majority flows together well. > > Very declarative, and very easy to see what we support and what we don't > (yet). Also, its going to be many thousands of lines removed in exchange > for few lines that non-C programmers can contribute to. > > https://git.gnome.org/browse/gnome-builder/plain/data/keybindings/vim.css?h=wip/libide
If you have the wip/libide branch and want to test this, check out the `test-ide-source-view` program. ./test-ide-source-view libide/ide.c --vim ./test-ide-source-view libide/ide.c --emacs The test program will load the project from configure.ac, so you get all the project management features in the test editor. - Line tracking comes from IdeGitVcs. - Diagnostics come from IdeClangDiagnosticProvider. - Build flags come from IdeAutotoolsBuildSystem/IdeMakecache. We try to avoid recalculating line diffs except for certain scenarios we know will invalidate the cache. This helps saves a bunch of battery. IdeMakecache is pretty neat, it's based on ideas from gnome-code-assistance to extract build flags from makefiles (using make -p -n -s and make -s -i -n -W). However, we go a bit further and cache the output into a large text file, mmap() it, and aggressively cache results. It's doing wonders for my battery. IdeUnsavedFiles is used to track unsaved file buffers. This means less copies of the contents of a GtkTextBuffer passed around. We can coalesce those into a single GBytes. Also, it allows us to save to drafts upon close. This will help us get rid of close dialogs. There is a *bunch* of other stuff in libide, but that isn't that relevant to what this email started as (testing the source-view). -- Christian _______________________________________________ Builder-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/builder-list
