nvim-neorg / neorg

Modernity meets insane extensibility. The future of organizing your life in Neovim.
GNU General Public License v3.0
6.51k stars 214 forks source link

[Suggestion] More font-friendly todo items status icons #535

Open Anrock opened 2 years ago

Anrock commented 2 years ago

Issues

Feature description

So I've found out that some TODO items status icons aren't displaying properly on my machine and it seems like that's because they're from private space of unicode intended to be used with nerdfont (nerdfont requirement wasn't listed anywhere, I believe?).

So I've tried to pick icons from public unicode space, here's result

    ["core.norg.concealer"] = {
      config = {
        icons = {
          todo = {
            done = { icon = "✓" },
            pending = { icon = "▶" },
            uncertain = { icon = "⁇" },
            on_hold = { icon = "⏸" },
            cancelled = { icon = "⏏" },
            undone = { icon = "■" },
          },
        },
      },
    },

Help

Yes

Implementation help

I guess I'll need only an approval from somebody from core team to replace icons or approval for adding new concealer preset

vhyrro commented 2 years ago

They don't actually look that bad - well, apart from the pause icon which renders in half on my machine :p. I'm not sure about the undone icon, i think i'd rather have it be empty than a stop symbol.

The problem here is that complexity will rise pretty quickly in terms of preset choices (each existing preset would need a basic and nerd-font version). I'll have to make a system that will merge different presets together. I'll keep you updated when I get around to it :)

Anrock commented 2 years ago

The reason why I went for player metaphor was that some original icons from nerdfont were actually monochromed emojis and if in public unicode space they were 1) colored 2) double-width. So instead I took player symbols since they're 1) have simple form 2) are universally monochrome.

Didn't expect pause to be double width, tho. Could it be that you're using font not specialized to terminals? I had similar issue with Iosevka but then I discovered Iosevka Term which was specifically tailored for terminal usage with all double-width symbols thinned to single-width