Posts in category dev

Modern Tree-sitter, part 6: reinventing symbols-view

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.

savetheclocktower dev modernization tree-sitter
Unlucky for some, but not us. Our 13th release, Pulsar 1.113.0, is available now!

Pulsar 1.113.0 is available now!

Daeraxa dev release
Hotfix: Pulsar v1.112.1

Hotfix: Pulsar 1.112.1 is available now!

DeeDeeG dev release
Christmas has come early

Pulsar 1.112.0 is available now!

Daeraxa dev release
If you're API and you know it, clap your hands!

Pulsar 1.111.0 is available now!

Daeraxa dev release
Modern Tree-sitter, part 5: injections

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.

savetheclocktower dev modernization tree-sitter
Modern Tree-sitter, part 4: indentation and code folding

Last time we looked at Tree-sitter’s query system and showed how it can be used to make a syntax highlighting engine in Pulsar. But syntax highlighting is simply the most visible of the various tasks that a language package performs.

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.

savetheclocktower dev modernization tree-sitter
Armed with a big ol' can of Raid: Pulsar 1.110.0 is available now!

Armed with a big ol' can of Raid: Pulsar 1.110.0 is available now!

Daeraxa dev release
Modern Tree-sitter, part 3: syntax highlighting via queries

Last time I laid out the case for why we chose to embrace TextMate-style scope names, even in newer Tree-sitter grammars. I set a difficult challenge for Pulsar: make it so that a Tree-sitter grammar can do anything a TextMate grammar can do.

Today I’d like to show you the specific problems that we had to solve in order to pull that off.

savetheclocktower dev modernization tree-sitter
Modern Tree-sitter, part 2: why scopes matter

In the last post, I tried to explain why the new Tree-sitter integration was worth writing about in the first place: because we needed to integrate it into a system defined by TextMate grammars, and we had to solve some challenging problems along the way.

Today I’ll try to illustrate what that system looks like and why it’s important.

savetheclocktower dev modernization tree-sitter
Modern Tree-sitter, part 1: the new old feature

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.

savetheclocktower dev modernization tree-sitter
Going the whole nine yards: Get Pulsar 1.109.0 now!

Going the whole nine yards: Get Pulsar 1.109.0 now!

Daeraxa dev release
Pulsar's CI

How Pulsar's CI has recently changed.

confused-Techie dev ci
Great Scott! A new Pulsar release. Pulsar 1.108.0 is available now!

Great Scott! A new Pulsar release. Pulsar 1.108.0 is available now!

Daeraxa dev release
Hotfix: Pulsar v1.107.1

Hotfix: Pulsar 1.107.1 is available now!

Daeraxa dev release
Fresh off the CI press: Pulsar 1.107.0 is available now!

Fresh off the CI press: Pulsar 1.107.0 is available now!

Daeraxa dev release
Pulsar v1.106.0: A Focus on Grammars

Welcome to our latest release, Pulsar 1.106.0 is available now!

Daeraxa dev release
Welcome to a rad new release, Pulsar 1.105.0 is available now!

Welcome to a rad new release, Pulsar 1.105.0 is available now!

Daeraxa dev release
Get Ready for another fantastically essential release, Pulsar 1.104.0 is now available!

Check out our newest Regular Release for Pulsar! Available Now!

Daeraxa dev release
Meet PON (Pulsar Object Notation)

The release of PON!

confused-Techie dev joke