Did another round of cpu/memory optimizations around startup of Builder today. Lowered the load time for some larger projects quite a bit.
Test projects were mesa/webkit.
Webkit has some malicious JS that seems to cause ctags to break. Need to figure out how to deal with that still.
P.S. (I'm ambivalent in this thought experiment)
I'm somewhat curious (thought experiment-wise) how people would feel about a clause in the *GPL licenses that basically stated that the software cannot be distributed to jurisdictions where the share-alike of the license cannot be judiciously remedied upon failure to comply.
Made a completion provider for header includes this evening, based on the extracted build flags for the project. A bit of convenience now and then.
Builder gained support for Sublime keybindings today, thanks to Philip Chimento!
https://gitlab.gnome.org/GNOME/gnome-builder/merge_requests/65
Made a replacement for g_clear_pointer() today that preserves type-checking. Caught some bugs. Nice.
Sadly it can't be used upstream because it'd break previously compiling code.
https://gitlab.gnome.org/GNOME/libdazzle/blob/master/src/util/dzl-macros.h#L45
Started playing around this evening with a companion guide to Builder. Not a bad way to write a book, should I choose to keep working on that.
It's hard to have a side project with something like Builder as a primary. Every 30 seconds I find something else I need to fix in Builder.
Although, that has resulted in lots of performance fixes the past couple of days.
A real reason for GNOME/Gtk C programmers to use Builder. Added a helper to reformat blocks of declarations in our most beautiful style. Handles pre/post attributes reasonably well too.
Builder Nightly users should have an exciting update now :)
Builder's Flatpak Nightly has synced, for anyone wanting to beta test the new completion engine.
The nitty gritty details of the new completion engine. Long form.
https://blogs.gnome.org/chergert/2018/06/09/a-new-completion-engine-for-builder/
diffstat: 177 files changed, 13793 insertions(+), 8448 deletions(-)
New completion engine has landed!
CI artifacts: https://gitlab.gnome.org/GNOME/gnome-builder/commit/d3fa52b437de9d525174fed2d4f5f67fbf95e8ad/pipelines?ref=master
Some details on what it supports and why it was necessary: https://gitlab.gnome.org/GNOME/gnome-builder/commit/3cd417a3529048ce3ad6b3bb2286284483369e34
Tomorrow is patch bomb Friday, where I land the new completion engine for our Nightly users.
Ported our Python Jedi plugin over to the new completion engine. Getting close to having this merged.
Hopefully I'll be merging the new completion engine in the next few days.
Lightweight #GNOME-based color schemes for #Firefox using Firefox Color:
• Adwaita Duotone (light + dark): https://color.firefox.com/?theme=XQAAAALsAAAAAAAAAABBqYhm849SCiazH1KEGccwS-xNVAWBvcAhsgfp0AlQbJO-hguK42nbD-GtPmNC-bk-1S27wZ-gLh6opy-zcGf0ZbURZAsrODFrkHF24CNL3vArzhyX8p5wqZttXXDztZMTuLtc9Cv1fuSfoTvkEPsrTNWyPw8HDf9bqROuW0ON3Jv1PekwKscCKHNnXzE7gq5c4jC9l3Sig3jcScxkfq8dT0WPhLkSR1zU-f_SuCAA
(Be sure to first install Firefox Color @ color.firefox.com)
I could really use someone more familiar with the libvala DataType APIs to help implement better visitors for completion suggestions as well as doing some "eval" based on the current line of text as libvala does not seem to handle "broken code" very well (which is essential to writing excellent as-you-type completion's since it's by necessity broken).
Started revamping the Vala completion provider last night. The new completion engine I've created for Builder should allow us to do some more interesting things going forward.
Just a few more completion providers to port until I can land things.
Longer term, having the API in Builder's LibIDE will allow us to iterate on things like parameter completion and documentation too.