1. 28 Jun, 2020 1 commit
  2. 13 May, 2020 1 commit
  3. 12 May, 2020 1 commit
  4. 11 May, 2020 2 commits
  5. 18 Mar, 2020 2 commits
  6. 17 Jan, 2020 1 commit
    • Christian Hergert's avatar
      copyright: add copyright plugin that can update copyrights · 809e0cd8
      Christian Hergert authored
      This plugin, when enabled, can update copyright lines in the headers of
      your project. A toggle is provided in Preferences and defaults to false.
      
      This works by scanning for your real name, provided by g_get_real_name(),
      and then looking for years using a 4 digit regex. If a range is found,
      the range will be updated. Otherwise the first number will be updated.
      
      There are certainly things this will break on, but the limited set of
      things I've tested on work well. If you have something it breaks on, let
      me know and I'm sure we can accommodate.
      809e0cd8
  7. 16 Jan, 2020 1 commit
    • Christian Hergert's avatar
      update-manager: add update manager plugin · 5dce429c
      Christian Hergert authored
      This provides a notification when there is an update to Builder. The
      notification will be displayed to the user on the current workbench,
      including an action to update Builder automatically using libportal.
      5dce429c
  8. 04 Jan, 2020 1 commit
  9. 14 Dec, 2019 2 commits
  10. 27 Nov, 2019 1 commit
  11. 07 Aug, 2019 1 commit
  12. 07 May, 2019 1 commit
  13. 03 May, 2019 1 commit
    • Christian Hergert's avatar
      vagrant: prototype a vagrant runtime · 1752c11b
      Christian Hergert authored
      This still needs work on various fronts, but it's good enough to
      iterate upon now. To make some things we need fast we will need
      to capture some information at load time.
      
      For example, we expect "contains_program_in_path" to be fast, so
      we will want to ls /usr/bin, /bin, etc and cache the result.
      
      We also wont have the ability to pass FDs across the process
      boundary, so we'll have to introduce new API in
      IdeSubprocessLauncher for something like "can_pass_fd". That way
      subsystems like GDB can use alternate strategies to spawn a
      debugger.
      
      Furthermore, we need to extend the build pipeline to sync code
      to the domain. We can look at adding an IDE_BUILD_PHASE_PUSH
      that happens before IDE_BUILD_PHASE_CONFIGURE. A vagrant plugin
      would likely want to rsync code here.
      
      There will be fallout for a number of other things too, such as
      how do we do exports, execution with display, etc.
      
      We might also want to add a Containers project-tree node so that
      some basic management of containers can be done.
      1752c11b
  14. 23 Apr, 2019 1 commit
  15. 13 Mar, 2019 1 commit
  16. 21 Feb, 2019 1 commit
    • Christian Hergert's avatar
      waf: add initial support for waf build system · 56bdcf9f
      Christian Hergert authored
      This does the minimal build pipeline setup and is provided by
      Alex Mitchell. It is modified to also try to sniff the requested
      python version from the waf file.
      
      We still need to add support for locating build configuration flags
      based on the compilation database (when supported).
      56bdcf9f
  17. 19 Feb, 2019 2 commits
  18. 10 Jan, 2019 2 commits
  19. 09 Jan, 2019 4 commits
  20. 01 Nov, 2018 1 commit
    • Christian Hergert's avatar
      ls: add simple directory view · 45707133
      Christian Hergert authored
      This is handy for users of vim that are used to being able to open a
      directory and get a list of files. You can quickly type-ahead search and
      press enter to open the target file.
      45707133
  21. 30 Oct, 2018 1 commit
    • Christian Hergert's avatar
      grep: add plugin to grep through project tree · 239fdc0c
      Christian Hergert authored
      This plugin provides a grep backend that can optionally use git-grep when
      the current project is using Git.
      
      You can search for files from the project-tree by selecting "Find in Files".
      That will limit the search results to the directory that has been selected.
      
      If the selected node is a File (instead of a directory), then only results
      from that file will be shown.
      
      You can search using regular expressions supported by the particular grep
      implementation. We don't currently guarantee options here (or validate them
      for correctness). Some effort could be done here using GRegex in the future.
      
      As we already have support for performing edits across a number of files in
      the background, the grep plugin allows you to select matches and replace them
      with new text. In the future we could extend this to try to preserve casing
      of the replacement.
      
      To avoid lots of small strings and numerous copies of them, a custom
      GtkTreeModel was used. Instead we have a single large buffer of results that
      were obtained from grep, and keep an index to the start of each line in the
      buffer. A \0 replaces the \n that we received from grep.
      
      I expect additional work will be needed here, but this seems like a reasonable
      first attempt at the feature. Larger projects may need additional performance
      tweaks.
      239fdc0c
  22. 20 Oct, 2018 1 commit
    • Christian Hergert's avatar
      glade: add basic support for working with glade documents · 68011f51
      Christian Hergert authored
      I'm not sure the lifetime of the glade plugin, because we know that
      we'll have to write something new for gtk4. But we have a couple of more
      releases with gtk3, so we can use this for now.
      
      There is still much more to do, but this is basic enough that it works
      to a degree that is useful.
      
      Some of the missing parts include:
      
       * Better visibility of what is going on
       * Toolbar for various palette widgets
       * Hooking up signals to source code
       * Missing icons which are in the works
      
      and probably a bunch more.
      68011f51
  23. 10 Oct, 2018 1 commit
    • Christian Hergert's avatar
      sysmon: remove sysmon plugin · 8f5b7c82
      Christian Hergert authored
      We already have CPU graphs as part of our profiler based on Sysprof. We
      don't really need the additional overhead of this, and that can be pretty
      great on Wayland with cairo_image_surface_t due to the texture uploads.
      Especially at 60fps which we can usually hit.
      
      Instead, we'll just rely on the profiler and add additional probes there
      for the other features we care about long term (mem/net/disk).
      8f5b7c82
  24. 26 Sep, 2018 1 commit
    • Christian Hergert's avatar
      build: add network_tests build option · dd1238d6
      Christian Hergert authored
      This allows disabling network for tests on build systems that do not
      allow network during unit tests such as Debian.
      
      Configuring with -Dnetwork_tests=false will disable appstream validation
      by using the --nonet option.
      
      Fixes #626
      dd1238d6
  25. 19 Sep, 2018 1 commit
  26. 28 Aug, 2018 1 commit
  27. 09 Aug, 2018 1 commit
  28. 31 Jul, 2018 1 commit
    • Jamey Sharp's avatar
      Allow packagers to specify the Python libprefix. · 43494ce8
      Jamey Sharp authored
      When packaging for Nix, the directory that pygobject finds its overrides
      in is not writable. It'll usually look something like this, and can only
      contain files built by the pygobject package itself:
      
      /nix/store/58qam3zgdcvvsz4g081pp98kg9i5v7rb-python3.6-pygobject-3.26.1/lib/python3.6/site-packages/gi/overrides
      
      This makes Builder's pygobject_override_dir heuristic fail, because
      Builder's libdir is not a prefix of pygobject's libdir.
      
      Fortunately, what Builder actually needs is for its overrides to be on
      the Python import path when it runs, and that's easier to arrange. We
      just need to be sure that Ide.py gets installed to
      
      <libdir>/python<version>/site-packages/gi/overrides
      
      So this patch allows packagers to optionally specify the
      "python<version>" portion of the path, and just constructs the rest of
      the path using Builder's libdir.
      
      The existing auto-detection code is still used unless the
      -Dpython_libprefix option is explicitly specified to override it.
      43494ce8
  29. 17 Jul, 2018 1 commit
    • Christian Hergert's avatar
      doc: remove documentation card plugin · 4f1ecf7c
      Christian Hergert authored
      This is handled via hover providers now, so we can drop the popover control
      and documentation resolvers. We may bring the documentation provider back
      at some point, depending how we do plumbing for parameter completion.
      4f1ecf7c
  30. 26 Jun, 2018 1 commit
  31. 08 Jun, 2018 2 commits
    • Christian Hergert's avatar
      words: port word completion to new completion engine · 9b3d3ced
      Christian Hergert authored
      This moves the word completion provider to the new storage engine. It only
      shows results when the user has requested completion (ctrl+space) since
      otherwise we'd be doing an awful lot of unnecessary buffer scanning.
      
      We may change that in the future to just do delayed buffer scanning unless
      requested by the user.
      9b3d3ced
    • Christian Hergert's avatar
      snippets: add new snippets plugin · d6becac6
      Christian Hergert authored
      This moves the completion related bits of the snippet system into a plugin
      so that only the snippet mechanics are left internally in libide.
      
      We may want to, in the future, move the snippetstorage out of IdeContext
      and into the plugin as well.
      d6becac6