pulsar-edit / pulsar

A Community-led Hyper-Hackable Text Editor
https://pulsar-edit.dev
Other
3.24k stars 137 forks source link

Pulsar Regular Release 1.121.0 #1095

Open DeeDeeG opened 1 week ago

DeeDeeG commented 1 week ago

Regular Release 1.121.0

confused-Techie commented 1 week ago

Thanks a ton for those helping on this release! Sorry I haven't been as available as intended.

For what it's worth, I'll try to help with throwing a blurb together, and feel free to ignore if one is already being created on Discord.

## Pulsar v1.121.0: Never has indentation been so easy

This time around, Pulsar contains all the general bug fixes that's expected, with a focus on grammar indentation, and CLI usage across the board.

On Linux and macOS using `pulsar -p` is able to invoke `ppm` without taking the time and resources to launch Pulsar first. Also on Linux, the `pulsar` script now has improved capability to find a Pulsar installation. Meanwhile, on Windows the ability to add Pulsar to the PATH has been removed from within the editor and added to the installer, this means it should work much more reliably, and is able to clean up the user's PATH during an uninstall. 

While talking about CLI improvements, `ppm rebuild` has been fixed on ARM (Apple Silicon) Macs, meaning that community packages with native modules should work much more reliably!

Moving onto the numerous grammar improvements we've got this month, our base `web-tree-sitter` version has been bumped to `0.23.0`, while `language-css`, `language-gfm`, `language-javascript`, `language-html`, and `language-typescript` have all had their `tree-sitter` grammars updated as well.

As for the focus on grammar indentation, @savetheclocktower wanted to take a chance to try and reduce complexity of indentation logic for those creating modern tree-sitter grammars, or those having to reason about them. As such that means indentation logic is helpfully encapsulated on it's own as an `IndentResolver` class, with quite a few improvements. Such as new captures and query predicates along with some reworked directives all aim to make things more clear, usable, and ultimately hackable for any Modern Tree-sitter grammar authors taking the plunge with this new system.

That's everything for this time around, and as always a gracious thank you to our wonderful community, and all those that help make Pulsar possible through donations, bug reports, or helping to support other users.

Until next time, happy coding, and see you amongst the stars!
\- The Pulsar team
savetheclocktower commented 1 week ago

For what it's worth, I'll try to help with throwing a blurb together, and feel free to ignore if one is already being created on Discord.

It's not fair to expect someone else to summarize new Tree-sitter features that I've explained poorly in the first place, so I made an editing pass on this:

## Pulsar v1.121.0: CLI quality-of-life and updated language support

This time around, Pulsar contains all the bug fixes you’d expect, but with particular focus on CLI usage and up-to-date language support.

The `pulsar -p` command has existed for a while; it’s an alternative to using `ppm` directly. Some distribution methods make it much easier to route all CLI access through one executable instead of two.

In this release, `pulsar -p` usage on Linux and macOS will now invoke `ppm` directly without having to launch Pulsar first. (We shipped the equivalent enhancement for Windows in the last release.)

The Linux CLI has some further enhancements. It’s now much better at detecting where your Pulsar installation is on disk; this should help those users who are running the “manual” `.tar.gz` version. (We hope we can make CLI usage easier for our AppImage users in the next release.)

Speaking of the CLI: we’ve fixed an issue with `ppm rebuild` that was affecting only users with Apple Silicon Macs. Community packages with native module dependencies — `x-terminal-reloaded` and `autocomplete-paths`, to name just two examples — wouldn’t install correctly and would need manual fixing from the terminal.

But now, those packages will build and rebuild successfully on your ARM64 machine.

Inside the editor we’ve got a number of improvements to language grammars. Our underlying `web-tree-sitter` library has been bumped to the latest stable version, as have our grammars for CSS, Markdown, JavaScript, TypeScript, and HTML.

Under the hood, there’s been a major refactor of how Tree-sitter indentation logic is organized in our codebase. This doesn’t have direct effects on the user, but should make it easier to iterate on indentation logic and deliver more features to the indentation hinting system.

In fact, there’s one new feature for indentation: a new `@match.next` capture. It’s not something that a grammar author would commonly need, but it allows them to do things that weren’t possible before — for instance, to move the indentation level to its proper place after a “hanging indent.”

In the coming releases, some built-in grammars may take advantage of this feature to deliver indentation hinting options that come closer to reading your mind.

As always, thanks go to our contributors and to our wonderful community — all those that help make Pulsar possible through donations, bug reports, or helping to support other users.

Until next time, happy coding, and see you amongst the stars!
\- The Pulsar team
DeeDeeG commented 1 week ago

How's about a third pass? I cherry-picked stuff I liked from both, unified them here and there, added my own phrasing if I felt it could use it.

Not sure about the tagline, lol.

## Pulsar v1.121.0: Living on the CLI, with Modern Linguistics

For this edition of Pulsar, along with the usual bug fixes, we've particularly focused on CLI usage and up-to-date language support.

On Linux and macOS, the `pulsar -p` command (via the `pulsar.sh` launcher script) will now invoke `ppm` directly without having to launch Pulsar first. (We shipped the equivalent enhancement for Windows in the last release.)

The Linux CLI has some further enhancements. It’s now much better at detecting where your Pulsar installation is on disk; this should help those who have extracted Pulsar from the `.tar.gz` tarball distribution. (Building on this, we hope we can make CLI usage easier for our AppImage users in the next release.)

Speaking of the CLI: we’ve fixed an issue with `ppm` that was affecting only users with Apple Silicon Macs. An old, hard-coded value in `ppm`, from before Apple Silicon existed, broke several community packages with native C/C++ module dependencies -- `x-terminal-reloaded` and `autocomplete-paths`, to name just two examples. Before now, these packages wouldn’t install correctly on Apple Silicon macs, and would need manual fixing from the terminal. But now, those packages will build and rebuild successfully on your ARM64 machine.

Meanwhile on Windows, the ability to add Pulsar to the PATH has been moved from the settings menu to the installer. This approach should work much more reliably, and is able to clean up the user's PATH during an uninstall.

Inside the editor we’ve got a number of improvements to language grammars. Our underlying `web-tree-sitter` library has been bumped to the latest stable version, as have our grammars for CSS, Markdown, JavaScript, TypeScript, and HTML.

Under the hood, there’s been a major refactor of how Tree-sitter indentation logic is organized in our codebase. This doesn’t have direct effects on the user, but should make it easier to iterate on indentation logic and deliver more features to the indentation hinting system.

In fact, there’s one new feature for indentation: a new `@match.next` capture. It’s not something that a grammar author would commonly need, but it allows them to do things that weren’t possible before — for instance, to move the indentation level to its proper place after a “hanging indent.”

In the coming releases, some built-in grammars may take advantage of this feature to deliver indentation hinting options that come closer to _"reading your mind"_.

That's everything this time around, and as always a gracious thank you to our wonderful community, all those that contribute to issues, discussions and pull requests, and help make Pulsar possible through donations, bug reports, and helping to support other users.

Until next time, happy coding, and see you amongst the stars!
\- The Pulsar team

EDIT: New tagline "Pulsar v1.121.0: CLI improvements? Now you're speaking my language."

savetheclocktower commented 1 week ago

Not sure about the tagline, lol.

Nor am I! I didn't even try to summon the characteristic whimsy.

Anyway, your version works for me.

DeeDeeG commented 1 week ago

GitHub Release is live.

Chocolatey update is pushed out for them, pending moderation on their end. Will wait to check that off until someone (probably myself) can confirm it's live and got through their process over there.

DeeDeeG commented 1 week ago

Proposed Discord version of the blurb? UPDATE: Posted on Discord announcements channel.

@Updates

# Pulsar v1.121.0: CLI improvements? Now you're speaking my language.

For this release, we've got multiple CLI improvements, as well as updated support for several programming languages.

On Linux and macOS, the `pulsar -p` command (via the `pulsar.sh` launcher script) will now invoke `ppm` directly without having to launch Pulsar first. `pulsar.sh` is also better at detecting where your Pulsar installation is on disk on Linux -- Useful for the `.tar.gz` tarball distribution.

Thanks to a fix in `ppm`, packages with native C/C++ module dependencies can now build and rebuild successfully on your Apple Silicon (ARM) Mac machines.

Meanwhile on Windows, the ability to add Pulsar to the PATH has been moved from the settings menu to the installer. This should be more reliable, and can be automatically cleaned up during uninstall.

Our underlying `web-tree-sitter` library has been bumped to the latest stable version, as have our grammars for CSS, Markdown, JavaScript, TypeScript, and HTML.

Under the hood, Tree-sitter indentation logic got a major refactor (no user-facing change here).

There’s also one new feature for indentation: a new `@match.next` capture. It allows grammar authors to, for example, move the indentation level to its proper place after a “hanging indent.” In the coming releases, some built-in grammars may take advantage of this feature to deliver indentation hinting options that come closer to _"reading your mind"_.

As always, a gracious thank you to our wonderful community, all those that contribute to issues, discussions and pull requests, and help make Pulsar possible through donations, bug reports, and helping to support other users.

Until next time, happy coding, and see you amongst the stars!
- The Pulsar team
confused-Techie commented 1 week ago

Mastodon link posted