mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-08 08:52:12 +00:00
Icon themes could only map files by exact name or extension and folders by name. Themes can now match by regular expression or path (patterns that could backtrack badly, lookaround, inline flags and named groups are refused at install), ship dark variants, replace built-in UI and symbol (PSI) icons, and offer packs (groups) and variants (choices). A theme describes its own options page in Settings › Plugins as sections of items naming options the IDE implements (hide file/folder/UI/PSI icons, hollow folders, accent, monochrome, saturation, opacity, icon size, row height); values are stored per theme in appearance.fileIconThemeOptions. Existing themes are unchanged. Closes #1096 Co-authored-by: pdasilem <[email protected]>
63 lines
1.2 KiB
CSS
63 lines
1.2 KiB
CSS
.icon {
|
|
flex: none;
|
|
display: block;
|
|
}
|
|
|
|
.mono {
|
|
color: var(--icon-color, currentColor);
|
|
}
|
|
|
|
/* Coloured icons carry both variants; the light one shows only in the light theme. */
|
|
.light {
|
|
display: none;
|
|
}
|
|
|
|
:global(:root[data-theme="light"]) .light {
|
|
display: inline;
|
|
}
|
|
|
|
:global(:root[data-theme="light"]) .dark {
|
|
display: none;
|
|
}
|
|
|
|
.symbol {
|
|
flex: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 12px;
|
|
font-family: var(--font-mono);
|
|
font-size: var(--fs-ui);
|
|
line-height: 1;
|
|
color: var(--fg-subtle);
|
|
}
|
|
|
|
:global(:root[data-oi-icon-filter]) .icon {
|
|
filter: var(--oi-icon-filter);
|
|
}
|
|
|
|
:global(:root[data-oi-icon-opacity]) .icon {
|
|
opacity: var(--oi-icon-opacity);
|
|
}
|
|
|
|
.icon [data-themed="true"][fill] {
|
|
fill: var(--oi-icon-accent, var(--accent));
|
|
}
|
|
|
|
.icon [data-themed="true"][stroke] {
|
|
stroke: var(--oi-icon-accent, var(--accent));
|
|
}
|
|
|
|
:global(:root[data-oi-accent]) .icon [data-tint="true"][fill] {
|
|
fill: var(--oi-icon-accent);
|
|
}
|
|
|
|
:global(:root[data-oi-accent]) .icon [data-tint="true"][stroke] {
|
|
stroke: var(--oi-icon-accent);
|
|
}
|
|
|
|
:global(:root[data-oi-tree-icon-size]) :global([role="tree"]) .icon {
|
|
width: var(--oi-tree-icon-size);
|
|
height: var(--oi-tree-icon-size);
|
|
}
|