clutcher / bh

Issue tracker for Better Highlights Intellij IDEA plugin
6 stars 0 forks source link

Particular symbol doesn't work #106

Open danwilliams opened 3 months ago

danwilliams commented 3 months ago

I have a range of Nerd Font symbols that I have configured for highlighting, and all work fine - except one: 󰭅

It won't render on Github, but it's f0b45 - you can see it here if you search for "resistor node":

https://www.nerdfonts.com/cheat-sheet

Every time I start up the IDE I have to go to settings, remove the config entry (which will be showing no icon or colours), and then add the icon as a new entry again. Until then it blocks all styles from rendering, and once I've done this it's fine until the next time I restart.

clutcher commented 3 months ago

@danwilliams Looks like I need more info. I copied symbol from your meesage, used it in Comment Tokens, checked that comment line is highlighted, restarted intellij and everything looks good. I used Intellij IDEA 2024.1 and latest version of plugin on Linux system. Do I need to do anything else to reproduce the issue? And what exact font are you using, I'll install it and check with it?

danwilliams commented 2 months ago

@clutcher that's strange. I am using RustRover, rather than IntelliJ, so that might make a difference? But I am seeing this behaviour on multiple systems - I have RustRover installed on Linux, Windows, Intel Macbook, and Apple Silicon Macbook, and I get the same problem across all of them.

As a font, I am using "Consolas NF", which is a NerdFont-patched version of Consolas. It can be obtained here:

https://github.com/wclr/my-nerd-fonts/tree/master/Consolas%20NF

If it helps... when I add the symbol, it works. Then when I restart, no highlighting works, and in settings the entry for that symbol shows up without a symbol and without any colours applied. I have to remove the entry and add it again, and then all the highlighting works again.

I have been using BetterHighlights for over a year, and I've had to redo my config a couple of times when updates broke or lost it - most recently I had to do it from scratch last week after installing RustRover on a new machine (the second Mac) at which point it lost all my BetterHighlights settings, so I entered them all in again rather than import a backup, just out of curiosity in case anything odd had built up over time. So my config is essentially "fresh" now - yet the problem still occurs.

Is there anything else I can provide? Screenshots? Logs? I do get a fair few errors from BetterHighlights showing up in notifications. Not sure if they are related.

clutcher commented 2 months ago

@danwilliams I'll check with RustRover and that exact font, hopefully would be able to reproduce and there would be no need for additional info.

Just in case, how you enter this symbol? If you would copy-paste it from your first message in this bug - you would be able to reproduce that issue?

P.S. You can send here errors, which you see in notifications, I'll check them just in case.

clutcher commented 2 months ago

@danwilliams I found out how to reproduce. In next version I'll add fix to highlighting "non-broken" symbols.

As for "󰭅" - it looks like a bug in intellij platform. I created a ticket for them - https://youtrack.jetbrains.com/issue/IJPL-148533/PersistentStateComponent-doesnt-serialize-Unicode-characters-in-Strings

clutcher commented 2 months ago

@danwilliams Meantime you can use a small hack.

  1. Close IDEA
  2. Find configuration file find ~ -name "highlightTokenConfiguration-v3.xml"
  3. Edit that file manually to replace <option value="" /> with <option value="󰭅" /> in highlightTokenMap for COMMENT entry :
    <application>
    <component name="HighlightTokenConfiguration">
    <highlightTokenMap>
      <map>
        <entry key="COMMENT">
          <value>
            <list>
              <option value="󰭅" />
           </list>
          </value>
        </entry>
      </map>
    </highlightTokenMap>
    </component>
    </application>
  4. Start IDE

P.S. Above is just example, so you could match section. Don't replace all your config with example above. P.P.S. You would need to do that manual things each time you modify IDE settings untill fix from Jetbrains side.