Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ligatures starting with a pipe in the terminal only render correctly if selected #239853

Open
LucasOe opened this issue Feb 6, 2025 · 3 comments
Assignees
Labels
new release Issues found in a recent release of VS Code

Comments

@LucasOe
Copy link

LucasOe commented Feb 6, 2025

Does this issue occur when all extensions are disabled?: Yes/No

  • VS Code Version: 1.97.0
  • OS Version: Windows 10 (22H2)

Steps to Reproduce:

  1. Open the integrated terminal. I'm using pwsh v7.4.6
  2. Enable terminal.integrated.fontLigatures.enabled in the settings
  3. Use a font that supports ligatures. I'm using the Fira Code Nerd Font
  4. Type |== and |=== and |--- and |-> in the terminal
  5. The ligatures only render correctly if the text is selected

Image
Image

I haven't tested this issue with different fonts and different shells.

@vs-code-engineering vs-code-engineering bot added the new release Issues found in a recent release of VS Code label Feb 6, 2025
@meganrogge meganrogge assigned Tyriar and unassigned meganrogge Feb 7, 2025
@albertosantini
Copy link

Same setup (pwsh 7.5.0). With Cascadia font it works fine.

Don't forget

Ligatures are now temporarily disabled while the cursor or the selection is within the ligature.

https://code.visualstudio.com/updates/v1_97#_ligature-support

@LucasOe
Copy link
Author

LucasOe commented Feb 7, 2025

Same setup (pwsh 7.5.0). With Cascadia font it works fine.

Trying the same setup using Cascadia Code results in the same result for me. As you can see, the => renders correctly in the screenshots below. I also updated pwsh to 7.5.0 and the problem remains. The same ligatures render correctly in the Windows Terminal.

Image
Image

Ligatures are now temporarily disabled while the cursor or the selection is within the ligature.

This isn't what's causing the problem here. Other ligatures render correctly with the same setup and cursor/selection placement, as seen in the screenshots attached. From my testing only ligatures starting with a pipe are affected, I haven't tested all of them, however.

Image
Image

The same text in a blank editor for reference. Both use the Fira Code Nerd Font in this example.

@albertosantini
Copy link

Sorry, I misunderstood the issue and I tried the ligature without starting a pipe.
Indeed I reproduced the issue, even if only |=== works fine, the rest of your examples are not a ligature here.

No idea, I would say it is related to the font.

Pipe character is like "arrow support" in Cascadia: https://github.com/microsoft/cascadia-code?tab=readme-ov-file#font-features

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new release Issues found in a recent release of VS Code
Projects
None yet
Development

No branches or pull requests

4 participants