Sysmagine / SemanticDiff

Community support for SemanticDiff, the programming language aware diff for Visual Studio Code and GitHub.
https://semanticdiff.com
40 stars 0 forks source link

Editor action icon does not respect icon.foreground #57

Open grgar opened 4 months ago

grgar commented 4 months ago

Describe the Bug The theme colour icon.foreground is not respected by the editor action icon.

To Reproduce Steps to reproduce the behavior:

  1. Apply the following example to settings.json

    "workbench.colorCustomizations": {
        "icon.foreground": "#ff0000",
    }
  2. Open a diff
  3. Screenshot 2024-03-29 at 5 02 30 PM

Expected Behavior Icon to be red matching given colour.

VS Code's UX Guidelines for Editor Actions (https://code.visualstudio.com/api/ux-guidelines/editor-actions) should be respected:

❌ Don't

  • Add custom colors

Actual Behavior Icon is inaccessible green-ish.

Rest of the bug template **Screenshots** Above **Source Code** n/a **SemanticDiff Version** v0.8.9 **VS Code Information** ``` Version: 1.88.0-insider Commit: 46b756b8434730593b3c911fd1ca43366b29eb03 Date: 2024-03-28T10:55:27.479Z Electron: 28.2.8 ElectronBuildId: 27744544 Chromium: 120.0.6099.291 Node.js: 18.18.2 V8: 12.0.267.19-electron.0 OS: Darwin arm64 23.4.0 ``` **Additional Context** n/a
slackner commented 2 months ago

Thanks for reporting this issue. We've just released SemanticDiff 0.8.10 which should fix this issue (mostly, more on that below).

Previously, we shipped various *.svg icons. We've now converted them to a font file, meaning they will use the correct theme colors. Based on my understanding, this is the recommended way going forward, since image-based icons will be deprecated at some point (see https://github.com/microsoft/vscode/issues/190679).

There is one exception though. We fear it might be too confusing for existing users when the SemanticDiff icon (to open a diff) changes colors from one version to the next. That's why we've decided to introduce a config variable semanticdiff.colorIcon. For now, we've kept the default as true (i.e., the icon is green, as before), but it can be set to false to use the font icon. It will then also use the theme colors.

In the long term, we may consider changing the default to false, but this requires updating various documentations etc. to make sure users aren't too confused.