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
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions