Firacode: .- ligature looks strange in the middle of words

Created on 26 Jul 2020  路  11Comments  路  Source: tonsky/FiraCode

In German, we really like hyphenated words. They sometimes also contain periods because they contain abbreviations or numbers, which looks strange (see attached screenshot taken with Fira Code 5.2).

Would it make sense to only enable the .- ligature if it is surrounded by whitespace?

Bildschirmfoto von 2020-07-26 22-38-28

conflict

Most helpful comment

Space won鈥檛 work, but it was originally intended for Clojure. Maybe it鈥檚 not worth keeping鈥攍ooks strange anyways

All 11 comments

Space won鈥檛 work, but it was originally intended for Clojure. Maybe it鈥檚 not worth keeping鈥攍ooks strange anyways

FYI, it also kinda conflicts with Julia where .- indicates minus operator with syntactic loop fusion.

I don't know how much work this is, but would it be a compromise to turn this ligature into a stylistic set? (Since, at least anecdotally, it seems to be annoying in more situations than it is useful, it's probably better disabled by default, but either choice would be a strict improvement.)

In scala, there are no operators. All "operators" are just functions that use inline operator syntax, so a.fn(b) becomes a fn b. 3 - 3 can be written as 3.-(3). If the ligature applies, and it becomes 3路-(3), it's hard to read.

FWIW I like it in Julia

@pjentsch0 Really? Doesn't it bug you that it's only for .- (and .=), so a .= 伪.*b .+ c .- d is not consistent?

(What would be perfect would be a stylistic set that aligned . + 'operator' consistently, but how would you choose which operators to include?)

@clason It does, and I agree that a set is better, but I'd prefer to only have a ligature for .- than no ligatures.

Could we not align . and +-=/ ? Of course you can broadcast almost anything in Julia, but I think that covers a lot of the common use cases. Usually I use the @. macro for long broadcast chains.

I'm not sure what a stylistic set is, I assume it's like a set of ligatures that can be enabled/disabled?

@clason It does, and I agree that a set is better, but I'd prefer to only have a ligature for .- than no ligatures.

Interesting.

Could we not align . and +-=/ ?

That would be a reasonable default, yes, but I'd add *.

Usually I use the @. macro for long broadcast chains.

That works (unless there are enough operations that are _not_ supposed to be broadcasted (but that is getting beside the point here).

I'm not sure what a stylistic set is, I assume it's like a set of ligatures that can be enabled/disabled?

https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets

That would be a reasonable default, yes, but I'd add *.

Definitely, I forgot that one.

https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets

cool, thanks

Another (real-world) example: MwSt.-Nr.
Screenshot 2020-09-16 at 21 46 20

Will be disabled in v6 by default. Linked: #860

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alis0nc picture alis0nc  路  3Comments

iyzana picture iyzana  路  3Comments

aryairani picture aryairani  路  3Comments

ulope picture ulope  路  4Comments

hatched picture hatched  路  3Comments