This Week at Zed Industries: #4

May 25th, 2023

This week has been one of iteration and planning, with a focus on the little details and the large-scale vision. We remain excited about what Zed is today and what we hope for it to become in the future. With that said, let's find out what everyone's been working on this week!


My focus this week has been on building out more charts to give us a better picture of how Zed is doing in the wild and where we need to focus our attention to improve it. I'm continuing to pick up more SQL syntax as I build these more complex charts, but I have a lot of help from my good friend ChatGPT. Additionally, I've been thumbing through Jono Bacon's "People Powered" to try to gather some ideas for how to tweak and improve our community experience.


I started the week by adding some new editor actions for moving by paragraph, which is a feature I've personally wanted in Zed for a while. Once that was wrapped up I spent most of the rest of the week tying up loose ends of a set of performance improvements Max and I worked on last week. We have a large set of robust unit and integration tests to help prevent bugs from making their way into releases and they were of much help once again!


My plan was to dedicate the whole week to LSP-related improvements. I was able to get some done and we now support OnTypeFormat request which makes working with Rust in Zed even more pleasant. I'm better oriented in the collaboration and protocol code now as a result!

Alas, no further progress on LSP front; the history in the file search panel I've added brought a nasty bug that challenged my current knowledge quite well. I'm still getting through the final moments of that fix, but I was able to fix another small bug in the project panel file management along the way.


This week has all been about getting back to basics. More git bugs to squash, more panels stuff to get used to, etc. etc. Externally to Zed, I've also been working more on that paper about remote working tools and practices and /wow/ things are rough out there for remote work. Excited to make Zed available to more people ๐Ÿ˜„


It's a blue sky kinda week. I've been doing some deep vision exploration with Nathan and Antonio this week on some amalgamation conversations, AI, multibuffers, and just the way we want to do product development in general. We are trying to figure out what the Zed way to do AI is and how we imagine designing and building software will be like. It is really fun to be back in the land of highly conceptual design, as this is where I live and breathe and get my energy from. I'm excited to show you all what we are tinkering on in the near future!

On the theme side, we kicked off getting a new consultant on board to pick up some of the TypeScript development on the theme and push the features we've wanted to build for the new system more incrementally. I have a bad habit as a designer who codes to bite off just a bit too much to try to ship all at once. They are currently detangling my mess, and hopefully, we'll see some of those theme updates soon when that is done. Maybe they'll pop in here and introduce themselves at some point!


This week I continued to refine my thinking on how Zed's vision for interleaving conversations and code connects to large language models, which Nate discussed a bit above. I'm really excited for what is emerging, and I'll plan to share more of it CDE Universe next week.

In the meantime, we're cooking up a pretty slick interface to OpenAI's chat APIs that's baked into a new assistant panel. The first version is pretty barebones, but it's already my preferred way of communing with GPT-4 due to the ability to edit any message in the conversation and have full control over the context I'm passing with each call. I'm excited to get this in a more shippable state, but I find myself running my branch from source just to have access to it. Seems like a good sign!