https://bugs.kde.org/show_bug.cgi?id=519805

            Bug ID: 519805
           Summary: Breeze Dark: BracketMatching background equals
                    Function foreground ( #8e44ad), making bracket glyphs
                    invisible when matched
    Classification: Frameworks and Libraries
           Product: frameworks-syntax-highlighting
      Version First 6.25.0
       Reported In:
          Platform: Manjaro
                OS: Linux
            Status: REPORTED
          Severity: minor
          Priority: NOR
         Component: theme
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 192052
  --> https://bugs.kde.org/attachment.cgi?id=192052&action=edit
Screenshot showing the color clash

# Description
In the Breeze Dark theme shipped with KSyntaxHighlighting, the
editor-colors.BracketMatching value is identical to the
text-styles.Function.text-color value. Both are #8e44ad.
Source reference (master, revision 10):
https://invent.kde.org/frameworks/syntax-highlighting/-/blob/master/data/themes/breeze-dark.theme
Relevant excerpt:

Because BracketMatching is applied as a background highlight while the
underlying glyph keeps its syntax foreground, any bracket character whose token
resolves to the Function style renders as #8e44ad foreground on #8e44ad
background — i.e. invisible — whenever the cursor is positioned next to its
match. This affects every syntax that maps a bracket-bearing element to the
Function style.

# Steps to reproduce (Markdown):

- Open Kate with the Breeze Dark color theme selected.
- Create a new file with Markdown highlighting.
- Type a heading containing brackets, e.g. # Section (intro).
- Move the cursor adjacent to either parenthesis.

# Expected
The matched bracket remains legible; the highlight background contrasts with
the glyph foreground.

# Actual
The matched bracket disappears. Only the bracket-matching rectangle is visible,
with no glyph inside it.

# Also reproducible with:

C/C++: place cursor on the parenthesis of a function call, e.g. foo(bar) — the
matched paren becomes invisible because function names use the Function style.
Any other language that maps an element containing brackets to the Function
text-style.

# Suggested fix:
Change editor-colors.BracketMatching in breeze-dark.theme to a color that does
not collide with any default text-styles.*.text-color entry. A neutral,
desaturated value (e.g. a dark grey-blue around #3a4a5a) would preserve
visibility of the matching indicator without overlapping any syntax foreground
in the theme.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to