дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-08 19:02:17 +02:00
The changes tree in the Commit and Local Changes views now gives test files a light green background, so test changes stand out from production ones. A file counts as a test when it lies under a test source root (detected or marked by hand) or is named like a test (`*.test.ts`, `*Test.java`, …), the same check the project tree uses; folders under a test root get the tint too. Hover and selection still win. The colour is a new `--bg-file-tests` token derived from `--success` and `--bg-island`, so every theme gets a matching tint, and it follows test roots as they are marked or unmarked. Fixes #931. Co-authored-by: jaw52 <[email protected]>
334 рядки
6.1 KiB
CSS
334 рядки
6.1 KiB
CSS
.root {
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
.count {
|
||
color: var(--fg-subtle);
|
||
font-size: var(--fs-tiny);
|
||
}
|
||
.split {
|
||
flex: 1;
|
||
min-height: 0;
|
||
}
|
||
.changes {
|
||
height: 100%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-height: 0;
|
||
}
|
||
.toolbar {
|
||
flex: none;
|
||
height: 32px;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 2px;
|
||
padding: 0 6px;
|
||
}
|
||
.sep {
|
||
width: 1px;
|
||
height: 16px;
|
||
margin: 0 4px;
|
||
background: var(--border);
|
||
}
|
||
.treeWrap {
|
||
flex: 1;
|
||
min-height: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
.empty {
|
||
color: var(--fg-subtle);
|
||
}
|
||
.check {
|
||
flex: none;
|
||
width: 14px;
|
||
height: 14px;
|
||
margin-right: 2px;
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
border-radius: 3px;
|
||
background: var(--bg-checkbox, var(--bg-input));
|
||
box-shadow: inset 0 0 0 1px var(--control-off);
|
||
color: var(--fg-on-accent);
|
||
--icon-color: currentColor;
|
||
}
|
||
.checkOn {
|
||
background: var(--accent);
|
||
box-shadow: none;
|
||
}
|
||
.icon {
|
||
flex: none;
|
||
}
|
||
.label {
|
||
flex: 0 0 auto;
|
||
max-width: 75%;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
.groupLabel {
|
||
color: var(--fg-strong);
|
||
font-weight: 600;
|
||
}
|
||
.detail {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
color: var(--fg-subtle);
|
||
}
|
||
.partial {
|
||
flex: none;
|
||
padding: 0 4px;
|
||
border-radius: var(--radius-small);
|
||
background: color-mix(in srgb, var(--vcs-modified) 16%, transparent);
|
||
color: var(--vcs-modified);
|
||
font-size: var(--fs-tiny);
|
||
line-height: 14px;
|
||
}
|
||
.commit {
|
||
height: 100%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-height: 0;
|
||
border-top: 1px solid var(--border);
|
||
}
|
||
.tabs {
|
||
min-width: 0;
|
||
border: 0;
|
||
background: none;
|
||
}
|
||
.commitBar {
|
||
flex: none;
|
||
height: 32px;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 4px;
|
||
padding: 0 6px 0 12px;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
}
|
||
.grow {
|
||
flex: 1;
|
||
}
|
||
.lineLen {
|
||
color: var(--fg-faint);
|
||
font-family: var(--font-mono);
|
||
font-size: var(--fs-tiny);
|
||
}
|
||
.lineLenWarn {
|
||
color: var(--warning);
|
||
}
|
||
.message {
|
||
--pad: 10px;
|
||
flex: 1;
|
||
min-height: 40px;
|
||
margin: 0;
|
||
padding: 6px var(--pad);
|
||
resize: none;
|
||
border: 0;
|
||
border-top: 1px solid var(--border);
|
||
outline: none;
|
||
color: var(--fg-strong);
|
||
font-family: var(--font-mono);
|
||
font-size: var(--fs-code);
|
||
line-height: var(--lh-code);
|
||
-webkit-user-select: text;
|
||
user-select: text;
|
||
/* Right margin guide at the subject length limit. */
|
||
background:
|
||
linear-gradient(
|
||
to right,
|
||
transparent calc(var(--pad) + var(--guide)),
|
||
var(--border) calc(var(--pad) + var(--guide)),
|
||
var(--border) calc(var(--pad) + var(--guide) + 1px),
|
||
transparent calc(var(--pad) + var(--guide) + 1px)
|
||
)
|
||
no-repeat,
|
||
var(--bg-island, var(--bg-app));
|
||
}
|
||
.message::placeholder {
|
||
color: var(--fg-subtle);
|
||
font-family: var(--font-ui);
|
||
font-size: var(--fs-ui);
|
||
}
|
||
/* IDEA: Commit and Commit and Push… on one row under the message, the gear at its end. */
|
||
.commitActions {
|
||
flex: none;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
padding: 8px 6px 10px 10px;
|
||
white-space: nowrap;
|
||
}
|
||
.commitActions > button {
|
||
flex: none;
|
||
}
|
||
.commitActions > .pushButton {
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
}
|
||
.pushButton > span {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
.hint {
|
||
margin-left: auto;
|
||
color: var(--fg-faint);
|
||
font-family: var(--font-keys);
|
||
font-size: var(--fs-small);
|
||
}
|
||
.stashList {
|
||
flex: 1;
|
||
}
|
||
.stashRow {
|
||
flex: 1;
|
||
min-width: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
.stashMessage {
|
||
flex: 1;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
/* Settings › Commit › Show right margin off. */
|
||
.noMargin {
|
||
background: var(--bg-island, var(--bg-app));
|
||
}
|
||
.inspections {
|
||
flex: none;
|
||
padding: 2px 10px 0;
|
||
color: var(--warning);
|
||
font-size: var(--fs-small);
|
||
line-height: 1.4;
|
||
}
|
||
/* A change list group or file row (drag source / drop target between lists). */
|
||
.nodeRow {
|
||
flex: 1;
|
||
min-width: 0;
|
||
align-self: stretch;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 4px;
|
||
border-radius: var(--radius-small);
|
||
}
|
||
/* Test files and the folders under a test root, as IDEA's green "Tests" file colour; hover and selection win. */
|
||
.testFile:not(:hover):not([aria-selected="true"]) {
|
||
background: var(--bg-file-tests);
|
||
}
|
||
.dropTarget {
|
||
box-shadow: inset 0 0 0 1px var(--accent);
|
||
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
||
}
|
||
/* Only the active change list is bold, as in IDEA. */
|
||
.inactiveList {
|
||
font-weight: 400;
|
||
}
|
||
.messageError {
|
||
box-shadow: inset 0 0 0 1px var(--danger);
|
||
}
|
||
.inspectionError {
|
||
color: var(--danger);
|
||
}
|
||
/* Commit Options popup (gear next to Commit). */
|
||
.options {
|
||
width: 340px;
|
||
max-height: min(560px, 80vh);
|
||
overflow: auto;
|
||
padding: 4px 16px 12px;
|
||
}
|
||
.optFocus {
|
||
outline: none;
|
||
}
|
||
.optSection + .optSection {
|
||
margin-top: 6px;
|
||
}
|
||
.optTitle {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
margin: 10px 0 6px;
|
||
color: var(--fg-strong);
|
||
font-size: var(--fs-ui);
|
||
font-weight: 400;
|
||
}
|
||
.optTitle::after {
|
||
content: "";
|
||
flex: 1;
|
||
height: 1px;
|
||
background: var(--border);
|
||
}
|
||
.optBody {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 6px;
|
||
padding-left: 16px;
|
||
}
|
||
.optRow {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
.optField {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
color: var(--fg);
|
||
}
|
||
.optField > :last-child {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
.optLink {
|
||
padding: 0;
|
||
border: 0;
|
||
background: none;
|
||
color: var(--link);
|
||
font: inherit;
|
||
cursor: pointer;
|
||
}
|
||
.optLink:hover {
|
||
color: var(--link-hover);
|
||
text-decoration: underline;
|
||
}
|
||
/* Failed before-commit checks (IDEA's commit checks failure panel). */
|
||
.checkProblems {
|
||
flex: none;
|
||
display: flex;
|
||
gap: 6px;
|
||
max-height: 120px;
|
||
overflow: auto;
|
||
padding: 4px 10px 0;
|
||
color: var(--fg-secondary);
|
||
font-size: var(--fs-small);
|
||
line-height: 1.4;
|
||
}
|
||
.checkProblemsIcon {
|
||
flex: none;
|
||
margin-top: 1px;
|
||
color: var(--warning);
|
||
}
|
||
.checkProblemsList {
|
||
min-width: 0;
|
||
}
|
||
.checkProblemTitle {
|
||
color: var(--fg);
|
||
}
|
||
.checkProblemLink {
|
||
padding: 0;
|
||
border: 0;
|
||
background: none;
|
||
color: var(--accent);
|
||
font: inherit;
|
||
cursor: pointer;
|
||
}
|
||
.checkProblemLink:hover {
|
||
text-decoration: underline;
|
||
}
|