I've been working on Neovide for a couple months, it supports ligatures, emoji, and a nifty smear animated cursor. Maybe some folks here would find it useful or interesting.
Technically it uses Vulkan and is based on Google's Skia rendering library. Further it uses HarfBuzz for shaping and Winit for window management.
That cursor animation is a surprisingly strong selling point.
That's interesting that you say that. To you is it the nifty-ness of it or the functionality? I'm considering new features now that the issue tidal wave has calmed down and trying to prioritize which ideas to tackle next.
Both. Nifty-ness feels somehow fun, or rather enjoyable to watch. Functionally this solves a very small but ever-present issue with using vim; perhaps most importantly, the animation is sufficiently fast to be actually unobtrusive, a very rare feat for most such UX changes, and absolutely vital to it's potential to be useful.
It is perhaps the single most impressive text editing visual design change I've ever seen (maybe second to kakoune's verb-noun reordering allowing selection-before-editing visualization). But while most such changes are functional but dull (eg sublime multiline editting), I can confidently say I like looking at this thing go (and the utility is minor, but obvious and good)...
Just from looking at the animation, the 'transition'/jump from on the buffer to the minibuffer looks very useful. And in general, it looks a useful way of drawing attention to the cursor if you don't know where the cursor is going to be.
You have no idea how happy that makes me. I appreciate the kind words :)
I was like "must be typical HN hype" but seeing in action makes me want to download this as soon as I get to my computer. Its so often in vim where I don't know where my cursor is.
Let me know how it goes if you do try it
Thanks for making! My distro doesn't have a package yet so waiting...
I've only got a windows box, so its probably unlikely for me to be able to make a package for whatever distro you are using. Building should be very easy though and I would love some help working out any issues in building for any particular distro
No, that's not your job-- you're already doing all the hard work. I'm kinda occupied but if I get time I'll see if I can package it. Thank you, you're very kind. I hope you have a great professional life.
Once Skia rolls out a Metal backend, would there be anything preventing a switch to Metal on macOS?
An alternate solution that I am considering and will try if and when it becomes available is to create a new or even parameterized renderer. Druid-Shell is an up and coming option by Raph Levien and company. I've also considered pathfinder. There will be more options as time goes on and I would like to make the system modular enough to explore them.
I would need to build the equivalent of https://github.com/aclysma/skulpin for metal. This would be very difficult for me personally to do as I don't have easy access to a modern macos machine. The total amount of code is relatively low though