Skip to content

More granular options to ss01 and alternatives for (== and != and === and !==) #375

@DominoPivot

Description

@DominoPivot

The ss01 option includes these ligatures seemingly inspired by Fira Code's liga:

  • == becomes a wide equal sign with no visible gap
  • != adds a slash across this ==
  • === becomes a stack of three dashes
  • !== adds a slash across this ===

I was never fond of this, as it makes = and == less distinguishable and obfuscates the meaning of ===. Thankfully, Fira Code offers an alternative via ss08:

  • == merges somewhat but retains a small gap
  • != adds a slash across this == but the gap remains noticeable
  • === merges somewhat but retains small gaps
  • !== adds a slash across the middle = of this ===

It would be nice if these were also available in Monaspace.

That said, this draws attention to a bigger issue: ss01 includes many unrelated ligatures that you wouldn't want enabled in all contexts. For instance, the substitutions for !~, ~~, =~ and ~~ would make no sense in languages where ~ is the binary inverse operator, yet you can't leave them out if you want to enable the substitutions for != and !==.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions