warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
21.11k stars 360 forks source link

Font Ligatures + Prettify Symbols Mode? #239

Open harrisj opened 3 years ago

harrisj commented 3 years ago

Describe the solution you'd like?

This is obviously not urgent, but would it be possible to add a toggle to enable something like Emacs prettify-symbols mode for the terminal. This is a display mode that translates things like -> or != into Unicode characters for things like right arrow or the not-equals sign. Obviously, people might want to tweak this in different ways and it's a complicated feature, but it is pretty too!

Is your feature request related to a problem? Please describe.

No

Additional context

gagata commented 2 years ago

Duplicate of #260

fbartho commented 2 years ago

I have a Monospace font that supports Ligatures Monoid HalfTight, and it is installed in my User's Font Book. Screenshot of the Font Book displaying some ligatures rendered in Monoid HalfTight

This font is not selectable in the Font picker in Warp. It would be lovely if available fonts could be selected!

emliunix commented 2 years ago

Also, fonts may have ligation sets to choose from. eg. ss07, HSKL of Iosevka: https://typeof.net/Iosevka/

VSCode allows settings like: "editor.fontLigatures": "'ss07', 'HSKL'", in addition to true/false. WezTerm allows settings like:

{
    family = "Iosevka Term",
    harfbuzz_features = {"calt=1", "clig=1", "liga=1", "ss07", "HSKL"},
}
Amparose commented 2 years ago

How is this not driving the devs mad. Assuming this is the reason n/vim looks like arse in Warp:

CleanShot 2022-06-04 at 14 25 23@2x

Top: Warp Bottom: Kitty

Padding on RH in Warp is weird as well and messes up the bufferline.

I hope the devs making a modern terminal aren't full-time VSCode users...

elviskahoro commented 2 years ago

No eta on ligatures.

@Amparose there are people on our team who use Vim. There are some vim improvements in the works. We're primarily tracking them in other issues thouugh.

blakedietz commented 1 year ago

I don't mean to beat a dead horse and be that guy that just says "want this", but this feature is table stakes for me and will be the reason why I continue to use iterm2 instead.

diegoulloao commented 1 year ago

I don't mean to beat a dead horse and be that guy that just says "want this", but this feature is table stakes for me and will be the reason why I continue to use iterm2 instead.

same here, in 2023 still waiting for those improvements...

elviskahoro commented 1 year ago

@vorporeal will work on this eventually

thezacharytaylor commented 1 year ago

Any progress on this? Using things like Neovim and LazyGit is kinda awkward if you're used to ligature support.

diegoulloao commented 1 year ago

finally I decided to switched to iterm2 again ๐Ÿ‘€

dannyneira commented 1 year ago

hey folks, this is on our radar, no promise on the eta, but we're aware of the request and trying to make it a reality ๐Ÿคž

image

sandzhaj commented 12 months ago

Please, support cyrillic symbols over SSH image

zoedsoupe commented 10 months ago

any updates here? i know thatโ€™s kinda only a โ€œahesticalโ€ issue but it really helps people who have dislexya and vision issues

also what @emliunix said a good points as some fonts like Ioveska, Fira Code and the new one Monaspace GitHub family fonts define custom sets of ligatures to enable/disable

degouville commented 10 months ago

It's been already 2 years guys...๐Ÿ‘€

itokun99 commented 10 months ago

Hi guys, any update for this?

walid-mos commented 10 months ago

2 years and 3 weeks now lol

More seriously as a developer this feature would be very appreciable, and more than only aestetical :)

juanlopez4691 commented 10 months ago

2 years, 3 weeks and 2 days.

Seriously considering going back to iTerm2.

dannyneira commented 10 months ago

We've completed some early work on ligature support, but there is still no ETA on the release. We'll be sure to update this thread when we have more to share.

carlosvigil commented 9 months ago

Take your time, it's an awesome terminal.

daUnknownCoder commented 8 months ago

image

how's it going? its ~6 months

clumsy commented 8 months ago

I'm not sure how but Fira Code ligature font is now selectable for me and I was able to use it just fine. Thanks Warp team!

Screenshot 2024-02-03 at 4 19 20โ€ฏPM
zoedsoupe commented 8 months ago

yeah, fira code works fine on the warp UI, but as soon as you try to use neovim or helix it stops to render ligatures. also so strange that only fira code is โ€œsupportedโ€.

clumsy commented 8 months ago

Right @zoedsoupe , same with my helix and even echo output:

Screenshot 2024-02-03 at 8 17 27โ€ฏPM

So it's just the terminal input that is working then (and the font being selectable).

daUnknownCoder commented 8 months ago

Only fira code works, and fonts patched with nerd symbols and icons and ligatures do not work either

daUnknownCoder commented 8 months ago

this is the whole thing: 2024-02-04-110328_hyprshot 2024-02-04-110322_hyprshot 2024-02-04-110239_hyprshot left kitty, right warp -> 2024-02-04-105936_hyprshot

EvanCarroll commented 7 months ago

Screenshot_2024-02-22_16-00-12

This whole project is stupid. Warp is calling their terminal "modern" and doesn't even support the fonts of the gods with ligatures. My terminal will never be closed source. If you want a Rust terminal use alacritty, or use Kitty like god intended. If those aren't modern enough for you, you get a one way ticket to a gulag in Cupertino, Siberia. Free Software #RideOrDie And seriously, who opens a project on GitHub for a closed-source product just to use the issue-tracker so their wanna-be fad-riding userbase can pretend like they're not squares using a corporately owned terminal. This marketing is straight up Oracle 2.0.

Respect yourself. Install Debian: apt install kitty.

igorsantos07 commented 7 months ago

Damn, that guy must be very angry with something in his own life.


Anyway, I should mention FiraCode wasn't selectable for me, but I can confirm that it shows ligatures only on input, and not all of them - e.g. != stayed that way, but === got joined together.

EvanCarroll commented 7 months ago

I'm not angry. I use Kitty and last night the light of heaven shown upon me so brightly I awoke from my slumber and came to spread the good word.

Hallowed is the Fira Code with Nerd font extensions and blessed are all those that use it. May their powerlevel10k forever inform them with font icons. May they forever use open source terminals lest their session be riddled with spyware that invades commercial closed source products. And may their not-equals always render as a single glyph without an exclamation point, which is always a mere punctuation mark as taught in grade school. Amen.

adriangalilea commented 5 months ago

Lovely terminal, but not supporting ligatures after so much time is odd.

juanlopez4691 commented 5 months ago

Update after update and we still don't get properly working ligatures? Really? ๐Ÿ˜“

sandikata commented 5 months ago

It's a kind of joke, but however they're pushing a lot of emails with Description "How cool is warp terminal over anything else". I don't know what is cool in closed source, and missing features (available even in minimalistic solutions).

juanlopez4691 commented 5 months ago

I waited long enough for this. I am back to good old Iterm2. Perhaps I will check Kitty, see how it behaves. Bye, Warp.

igorsantos07 commented 5 months ago

Oh, the drama of the people that don't understand THEY'RE NOTIFYING EVERYONE about their drama.

Please, freaking stop commenting +1 or "omg I don't love warp anymore /cry". If you're a real tech-savvy person, you should know how GitHub works. People got subscribed to the issue not because they want to hear you bashing the tool, but because they want to get actual updates about the problem. The devs probably have other stuff to do than working on your precious little ligatures. If you're a senior developer, you definitely should know how prioritization on projects sometimes get odd.

If you're crying over a non-working feature, either thumb-up the issue or message support. Don't comment over and over and over again on the thread many people subscribed to.

sandikata commented 5 months ago

Oh, the drama of the people that don't understand THEY'RE NOTIFYING EVERYONE about their drama.

Please, freaking stop commenting +1 or "omg I don't love warp anymore /cry". If you're a real tech-savvy person, you should know how GitHub works. People got subscribed to the issue not because they want to hear you bashing the tool, but because they want to get actual updates about the problem. The devs probably have other stuff to do than working on your precious little ligatures. If you're a senior developer, you definitely should know how prioritization on projects sometimes get odd.

If you're crying over a non-working feature, either thumb-up the issue or message support. Don't comment over and over and over again on the thread many people subscribed to.

Who cares about your rage comment?

If a fully open source project with just one developer can support all the features without any tickets or so. We don't like to be spammed like hell for something which we tried once to see it doesn't feet any needs, but they keep spam our emails with how great is this thing.

adriangalilea commented 5 months ago

@igorsantos07 I kind of agree with you, but this is the places for feature request they have enabled and is logically the place people both bump and complain about.

Also, just to expand your tech-savviness ๐Ÿ˜ , customize the notifications on the issue and make it only notify you when it's closed.

RodEsp commented 4 months ago

Please ๐Ÿ™๐Ÿผ We need these everywhere, not just the terminal input.

image

FradSer commented 4 months ago

Please ๐Ÿ™๐Ÿผ

gcstr commented 3 months ago

Pretty please?

degouville commented 1 month ago

๐Ÿ‘€

MichalCiechanowski commented 3 weeks ago

ok, it has been 1346 days since this topic was open can someone tell me is there any effort being made in order to bring ligatures in to warp? and how it works in the terminal input but not in editors like vim/neovim?

image image
degouville commented 3 weeks ago

how it works in the terminal input

Wait... How does it work on your terminal ??? ๐Ÿ‘€๐Ÿ˜ฏ

daUnknownCoder commented 3 weeks ago

how it works in the terminal input

Wait... Hoe does it work on your terminal ??? ๐Ÿ‘€๐Ÿ˜ฏ

i works while we type >= or == or something, when we press enter to send the command, it reverts to the non ligaturized form and it doesnt work in text editors