1. 22 Mar, 2018 2 commits
  2. 26 Jan, 2018 2 commits
  3. 11 Oct, 2017 1 commit
  4. 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
  5. 23 Jan, 2017 1 commit
  6. 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
  7. 25 Jan, 2016 1 commit
  8. 22 Dec, 2015 1 commit
    • Christian Hergert's avatar
      build: drop support for GJS scripting · e279e953
      Christian Hergert authored
      Managing multiple language runtimes is a recipe for disaster. We can get
      into situations where we have reference counting leaks between the
      runtimes. So for now, we will use Python since we are relying on Python
      plugins.
      e279e953
  9. 17 Dec, 2015 2 commits
  10. 30 Oct, 2015 1 commit
  11. 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
  12. 01 Sep, 2015 1 commit
  13. 23 Aug, 2015 1 commit
    • Christian Hergert's avatar
      plugins: move build systems and miners to plugins · cbbab048
      Christian Hergert authored
      This touches a lot of components, so splitting things up would not allow
      us to be in a buildable state.
      
      In particular:
      
       - IdeBuildSystem made an interface
       - IdeProjectMiner made an interface
       - Autotools plugin created, with build system and miner
       - Fallback plugin created, with directory fallback build system
       - Context updated to take this into account
       - IdeObject can now be used to create build systems from plugins
      
      We should follow this up by moving version control to plugins as well.
      cbbab048
  14. 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
  15. 20 Jun, 2015 2 commits
    • Christian Hergert's avatar
      git: remove git search provider · 8a1fe04e
      Christian Hergert authored
      The file-search plugin is replacing this, as it is backend agnostic.
      8a1fe04e
    • Christian Hergert's avatar
      search: refactor search into PeasExtension · 8f068d3e
      Christian Hergert authored
      This moves the devhelp search provider to be implemented as a peas
      extension. We had to change the interfaces a bit to be able to do this,
      but should be much easier to bridge the libide<->ui stuff going forward.
      
      We still need to update the git index as well, but we don't want that to
      be git based going forward (it needs to crawl the filesystem) so that it
      works with regular directory trees too.
      8f068d3e
  16. 16 May, 2015 1 commit
  17. 12 May, 2015 3 commits
  18. 06 May, 2015 1 commit
  19. 24 Apr, 2015 1 commit
  20. 23 Apr, 2015 3 commits
    • Christian Hergert's avatar
      6ebef49f
    • Christian Hergert's avatar
      thread-pool: introduce IdeThreadPool helpers · 0e9dcc48
      Christian Hergert authored
      While working on workbench restoration, I got into a situation where
      all the files would try to immediately start compiling. While we should
      put throttles on this in other places as well, we can also help mitigate
      starvation of other important tasks by limiting the number of active
      compilation requests.
      
      This simple thread pool abstraction allows us to perform minimal changes
      to task execution (g_task_run_in_thread()) while giving us the ability
      to run the task in a special run queue.
      
      This uses the "compiler" run queue for makecache and clang work items.
      0e9dcc48
    • Christian Hergert's avatar
      libide: stub out IdeValaLanguage · 55886759
      Christian Hergert authored
      If anyone wants to start on this, have at it. This should get you the
      hooks you need to get loaded.
      55886759
  21. 08 Apr, 2015 2 commits
  22. 30 Mar, 2015 1 commit
    • Christian Hergert's avatar
      libide is a GPL-3.0 shared library · 7d137ac9
      Christian Hergert authored
      Typically I use LGPL-2.1+ for shared libraries. However, due to the
      nature of libide being the "guts" of Builder, I do intend for this to
      be GPL-3.0. Additionally, it simplifies what we can include in the
      library without worrying about staying LGPL safe.
      
      Exceptions will of course be made for upstreaming into libraries such as
      GtkSourceView. Just ask if you want something in particular.
      7d137ac9
  23. 23 Mar, 2015 9 commits