Tanagram Updates

Subscribe
Archives
January 6, 2024

Tanagram Roadmap: January 2024

Tanagram remains a nights-and-weekends project. My progress pace during December averaged a bit under 1.0 workdays per week; I was on vacation for much of the month

Results: December 2023

I spent December implementing the search UI that I sketched last month. It looks like this (click through for a video):

A first draft of the search UI — you can search for symbols using a variety of conditions, all keyboard-navigable. Or search for paths through a project’s reference graph. pic.twitter.com/1xLtMitrIt

— Tanagram (@tanagram_) January 7, 2024

The search tokens input looks simple, but involves a lot of custom AppKit code:

  • The tokens are custom views rendered inline in an NSTextView.
  • I wanted the tokens to be transparently navigable via arrow keys — users can use the arrow keys to move the cursor between the outer text view and the text fields inside each token. I prototyped this earlier in December, and have refined it since then.
  • Users can press ⌘↩ in either the outer text view or the inner text fields to submit the search.
  • The autocomplete suggestions are rendered in a custom NSWindow whose position is calculated to match the cursor's position. Arrow keys can be used to select suggestions.

Roadmap: January 2024

In January, I'll spend a bit of time fixing some bugs and rough edges with the search UI. Most of my time will go towards revisiting the foundation of how I work with Xcode projects and SourceKit-LSP. My current implementation is brittle and requires a lot of manual effort from users, which has limited potential users' ability to try using Tanagram. I'm not sure how I can make this better yet; that's part of what I'll have to figure out.

Don't miss what's next. Subscribe to Tanagram Updates:
This email brought to you by Buttondown, the easiest way to start and grow your newsletter.