I’ve spent a number of posts talking about Tree-sitter
We’ve been telling a series of stories about all the different ways that Tree-sitter can improve the editing experience in Pulsar. Today’s story about symbols-view
starts a bit slowly, but it’s got a great ending: the addition of a major new feature to Pulsar 1.113.
One annoying thing that software developers do is insist on writing in more than one language at once. Web developers are espeically obnoxious about this — routinely, for instance, putting CSS inside their HTML, or HTML inside their JavaScript, or CSS inside their HTML inside their JavaScript.
Code editors like Pulsar need to roll with this, so today we’ll talk about how the modern Tree-sitter system handles what we call injections.
Last time we looked at Tree-sitter’s query system and showed how it can be used
Today we’ll look at two other systems — indentation hinting and code folding — and I’ll explain how queries can be used to support each one.
Last time I laid out the case
Today I’d like to show you the specific problems that we had to solve in order to pull that off.
In
Today I’ll try to illustrate what that system looks like and why it’s important.
The last few releases of Pulsar have been bragging about a feature that arguably isn’t even new: our experimental “modern” Tree-sitter implementation. You might’ve read that phrase a few times now without fully understanding what it means, and an explanation is long overdue.
How did I decide to start working on tree-sitter, and all preparations to modernize it on Pulsar