• dejected_warp_core@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    6 months ago

    One nit: whatever IDE is displaying single-character surrogates for == and != needs to stop. In a world where one could literally type those Unicode symbols in, and break a build, I think everyone is better off seeing the actual syntax.

    • PlexSheep@infosec.pub
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      I think it’s a lineature. FiraCide does that for example, and I like it very much. My compiler and lsp will tell me if there is a bad char there. Besides, the linea tires take the same space as two regular characters, so you can tell the difference.

      It’s not the 90s anymore. My editor can look nice.

    • JK_Flip_Flop@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      I love ligatures but much prefer the ones that preserve the proper width of all the characters for this exact reason

    • Oinks@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      If your build fails because you can’t track down the literal in the code I would recommend just looking at the compiler error. I understand the concerns about == vs = more but the vast majority of LSPs (and some compilers) will catch that too.

      I have also yet to see any IDE enable ligatures by default, at least VS Code and the JetBrains suite both require opting into them even though their default fonts support them.

    • Tekhne@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      In a world where your IDE and maybe also compiler should warn you about using unicode literals in source code, that’s not much of a concern.

      VSCode (and I’m sure other modern IDEs, but haven’t tested) will call out if you’re using a Unicode char that could be confused with a source code symbol (e.g. i and ℹ️, which renders in some fonts as a styled lowercase i without color). I’m sure it does the same on the long equals sign.

      Any compiler will complain (usually these days with a decent error message) if someone somehow accidentally inserts an invalid Unicode character instead of typing ==.