1. 25 Sep, 2017 1 commit
  2. 24 Sep, 2017 1 commit
    • Christian Hergert's avatar
      style-guide: use #pragma once header guards · 4de226ea
      Christian Hergert authored
      This changes most of the code base to using #pragma once instead
      of the old style #ifndef FOO_H header guards. I hear that the
      old style is still slightly faster, but I don't care much about
      that. I'm sure GCC will continue to optimize for this going
      forward.
      
      Also, we're already using a bunch of other C11 features, so
      might as well use this too.
      4de226ea
  3. 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
  4. 13 Mar, 2017 1 commit
  5. 10 Feb, 2017 1 commit
    • Christian Hergert's avatar
      pipeline: add IdeBuildPipeline · 7b9075ea
      Christian Hergert authored
      The new IdeBuildPipeline provides a pluggable pipeline with phases. Stages
      are attached within a given stage. When the pipeline is executed, it tries
      to avoid performing unnecessary work so that we can speed up the rate at
      which some user-actions can be performed (such as running).
      
      You can invalidate phases for which those stages will need to be
      re-executed next time the pipeline advances to that phase.
      
      Stages can override some of this behavior by attaching to the ::query
      signal to determine their "completed" status. If work needs to be
      performed asynchronously, it can put a "hold" on the stage and release
      the hold after the asynchronous work is completed. The pipeline will
      pause to wait for thie operation to complete.
      
      You likely want to use some of the pre-created build stage subclasses
      such as for creating directories, launching subprocesses, or performing
      transfers.
      7b9075ea