1. 21 Jan, 2019 1 commit
  2. 11 Jan, 2019 2 commits
  3. 10 Jan, 2019 1 commit
    • Christian Hergert's avatar
      ctags: port to new libide-core · d48afaa2
      Christian Hergert authored
      This alters the ctags plugin design a bit to integrate better with the new
      libide-core design. We no longer use a service, but simply add an object
      onto the IdeContext object graph. We also use IdeNotification to propagate
      information about the process to the UI which is monitoring notifications.
      d48afaa2
  4. 09 Jan, 2019 2 commits
  5. 26 Jul, 2018 1 commit
  6. 26 Jun, 2018 1 commit
    • Christian Hergert's avatar
      ctags: nice the ctags process · d60ffef2
      Christian Hergert authored
      Anything we can do to reduce the priority here.
      
      It would be nice if we could cgroup things, but we don't really have that
      level of control.
      
      Unsure of what we can do on FreeBSD, but I presume that nice will work
      too (if someone can verify).
      d60ffef2
  7. 19 Jun, 2018 1 commit
    • Christian Hergert's avatar
      plugins: use dzl_clear_pointer() · eb551e22
      Christian Hergert authored
      This uses the new dzl_clear_pointer() to free data instead of
      g_clear_pointer() because it allows us better type checking of
      the callback parameter and the data to be freed.
      
      We want to keep using this going forward so that we catch errors
      sooner from miss-use of incorrect callbacks.
      eb551e22
  8. 16 Jun, 2018 1 commit
  9. 22 Mar, 2018 1 commit
  10. 21 Mar, 2018 1 commit
  11. 25 Jan, 2018 1 commit
  12. 18 Dec, 2017 1 commit
  13. 21 Nov, 2017 1 commit
  14. 11 Oct, 2017 1 commit
  15. 21 Sep, 2017 1 commit
    • Christian Hergert's avatar
      source tree reorganization · 9b9db776
      Christian Hergert authored
      As the project has grown, we've let things get a bit out of their
      logical place. This does a bit of cleanup and tries to bring some
      of the embedded resources closer to where they are used.
      
      But more importantly, this allows us to clean some things up to
      the point that we can move forward statically linking a bunch of
      the plugins into libide. The plan here is to speed up the initial
      loading by avoiding lots of disk I/O stats which are currently
      hurting us.
      9b9db776
  16. 18 May, 2017 1 commit
  17. 21 Apr, 2017 1 commit
  18. 19 Mar, 2017 2 commits
    • Christian Hergert's avatar
      ctags: perform more incremental ctags updates · 04204e93
      Christian Hergert authored
      This changes how we do ctags indexes to be a bit more friendly on larger
      codebases. Now, we do a single index pass at startup of the project to
      update all our ctags indexes. Then, when a file is saved, we only reindex
      that directory, ignoring the other directories.
      
      When reloading the indexes, we only pop the cache if the mtime is newer
      so that old indexes shouldn't get reloaded/replaced.
      
      In practice, if i save a file like src/foo.c, only src/tags will get
      reloaded. Note that src/tags is actually based on the tags directory
      in ~/.cache/gnome-builder/tags/$project_id, not the actual source tree.
      
      I think there is a bunch more we can still improve, but this should make
      things a bit better.
      04204e93
    • Christian Hergert's avatar
      ctags: bundle ctags in the flatpak bundle · 6b441f86
      Christian Hergert authored
      We no longer need to run on the host as we can bundle ctags in the bundle
      to ensure we have access to it.
      6b441f86
  19. 01 Mar, 2017 1 commit
  20. 28 Feb, 2017 2 commits
  21. 03 Feb, 2017 1 commit
    • Christian Hergert's avatar
      ctags: override TMPDIR for persistent storage · 3c221bcc
      Christian Hergert authored
      We wan't persistent storage for TMPDIR when generating tags because
      it can result in large files being created (which can exhaust ram if
      /tmp is tmpfs).
      
      This should also be safe on BSD since we are just using ~/.cache/...
      3c221bcc
  22. 17 Jun, 2016 1 commit
    • Christian Hergert's avatar
      build: reorganize libide · d0121822
      Christian Hergert authored
      The libide/ directory was getting a bit out of control. The number of files
      in the directory was simply too much to make it easy for newcomers to
      find what they are looking for.
      
      This breaks things up into a bunch of, somewhat logical, directories.
      
      We no longer use a bunch of crazy include paths with -I, and instead
      include the directory name when including as such:
      
        #include "buffers/ide-buffer.h"
      
      This will hopefully make it easier to navigate, and basically the same to
      open files if you use fuzzy search to open files.
      d0121822
  23. 18 Feb, 2016 3 commits
  24. 28 Oct, 2015 1 commit
    • Ray Strode's avatar
      change naming convention for global variables · d9922c15
      Ray Strode authored
      Right now global variables start with a g and use
      camel case.
      
      Those conventions are inconsistent with the rest of the
      coding style which uses underscores and no hungarian
      prefixes.
      
      This commit does a giant sed over the codebase with some
      manual tweaks to fix it up.
      d9922c15
  25. 12 Oct, 2015 1 commit
  26. 13 Jul, 2015 1 commit
    • Christian Hergert's avatar
      plugins: massive refactor to use interfaces and plugins · b530baea
      Christian Hergert authored
      This commit moves many features from libide which were provided by
      extension points to instead be plugins. Doing so required changing
      how we perform our dependency injection. In particular, we want to
      be able to reload extensions when plugins are enabled/disabled.
      
      This is provided by IdeExtensionAdapter and IdeExtensionSetAdapter.
      
      IdeExtensionAdapter provides access to an extension that may be
      reloaded or changed during plugin loading based on a match key
      and value. The key should be an "X-Foo" style external data key
      in a libpeas plugin. The value is the value that should be matched.
      The key's value in the plugin file can have multiple values specified
      separated by a comma (,).
      
      This patch also lets us remove IdeLanguage, as it becomes fairly
      useless now that we can load things via plugins with match keys.
      Longer term, I'd like to cleanup IdeFile to subclass GtkSourceFile.
      
      I've started to put language specific stuff into "language pack"
      plugins.
      b530baea
  27. 28 May, 2015 1 commit
  28. 17 May, 2015 2 commits