Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gtksourceview gtksourceview
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • gtksourceviewgtksourceview
  • Issues
  • #9
Closed
Open
Issue created Jun 09, 2018 by Christian Hergert@chergertMaintainer

Investigate what can be upstreamed from Builder's new completion engine

Back when I was working on some tweaks to GtkSourceView's completion engine, I was told that it would be better to prototype it outside of GtkSourceView due to the likely intrusiveness of those changes.

Now that we are starting to approach the time for an API/ABI break with Gtk4, I took the time to make an implementation in hopes that it could inform the completion API in upcoming GSV releases.

I wrote up a blog post to describe the design decisions in the new implementation and why I think those decisions matter in terms of CPU and memory performance, styling, and convenience in haven written a large number of completion providers using the GSV API.

  • https://blogs.gnome.org/chergert/2018/06/09/a-new-completion-engine-for-builder/
  • https://gitlab.gnome.org/GNOME/gnome-builder/tree/master/src/libide/completion

There are a number of things that won't make it a quick drop-in, but if any of it informs new APIs, that would make me happy.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking