Chris Oakman ported the parinfer algorithm to Lua [1]. I used this to write a parinfer plugin for Neovim [2]. I use Fennel (a Lisp that compiles to Lua) for all of my Neovim config and so use parinfer everyday. It works exceptionally well (there are occasional hiccups, but no showstoppers).
Neither my plugin nor Chris' script have been updated in 2+ years. That's because it just keeps working. I owe a lot to Shaun and Chris for their work (my plugin is just a little glue code for interacting with the editor, they did all of the hard work).
Apple Terminal has a lot of problems. As others have mentioned, it lacks support for 24 bit color, enforces minimum contrast ratios without any ability to disable them (meaning you cannot set arbitrary color themes), is hopelessly bad at Unicode rendering (particularly with multi-codepoint graphemes, see [1]), and in general misbehaves in other myriad ways [2][3][4].
With both Ghostty and iTerm2 now freely available, there's really no reason to use Terminal.app.
Terminals do have a concept of a cursor (there are dedicated control sequences for cursor management). There's no fundamental reason a terminal emulator couldn't implement an animated cursor like this, my guess as to why no one has done it is simply that it's not a very commonly requested feature.
>Zig gives buffer overflow safety and null pointer safety but not use after free, double free
It can provide the latter two through the use of the `GeneralPurposeAllocator`, which tracks UAF and double free.
Stack pointer escape safety is being actively researched (there are a few tracking issues, see [1]). I'm personally interested in this, I've written a decent-ish amount of Zig for toy/personal projects, and anecdotally stack pointer escape is the only type of memory error that has bitten me more than once (though to be fair, one of these cases was calling into a C API, so even Rust wouldn't have helped).
More broadly, the ability to catch all forms of UB in Debug/safety builds is an accepted proposal [2], though whether or not it will be possible in practice is a different (and interesting!) question.
As a long time Vim user I’m extremely thankful for Bram’s creation and stewardship of an incredible piece of software. He gave the world an amazing gift.
I’ve interacted with Bram a few times personally in the process of submitting changes to Vim, and I’ve observed many more interactions with others. I always had an immense amount of respect for the way he led the Vim project and interacted with the community. It is not uncommon to see open source software maintainers become burnt out or frustrated, particularly with a piece of software as quirky and complicated as Vim. But Bram was almost always respectful and patient with users and contributors, even when they were not.
This is a loss for the software world. Bram, you will be missed.
I wondered this too. In my experience, "fabric" typically refers to the programmable logic region in a FPGA-based SoC (such as the Xilinx Zynq). I'm assuming the M1 does not have this, so I'm not sure what it means in this context.
I use a similar setup. I'm curious what you use for msmtp for though: most Mutt setup guides I've read recommend using msmtp as well, but I've always just used Mutt's native SMTP client and it works fine, so I've never understood the need for a separate SMTP program.
> And when was the last time you needed to charge it and listen to music at the same time?
Not music, but phone calls. Working remotely means I spend a lot more time on the phone, and only recently I was frustrated by the fact that I could not charge my phone and use headphones on a call at the same time.
If you have a domain name registered, sometimes your registrar will offer built in email. For example, I have a domain registered with Gandi and they provide a free email service.
Neither my plugin nor Chris' script have been updated in 2+ years. That's because it just keeps working. I owe a lot to Shaun and Chris for their work (my plugin is just a little glue code for interacting with the editor, they did all of the hard work).
[1]: https://github.com/oakmac/parinfer-lua
[2]: https://github.com/gpanders/nvim-parinfer/