дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 03:05:40 +02:00
Find Usages mixed reads and writes of a Java field, including Lombok getter and setter calls, because jdtls has no read/write classification in its references. The usages popup and Find window now have Read and Write toggles. Read-write accesses stay visible in either mode and unclassified results are kept. Classification comes from a jdtls extension in `plugins/java-usages`, embedded as a jar and installed beside the other bundles. The checked-in jar was rebuilt from source with ECJ and matches byte for byte. Any extension failure falls back to standard references, so a jdtls upgrade can lose the filter but not Find Usages; rebuilding the jar on an upgrade is manual and described in the plugin README. Older installed jars are removed. Other languages keep their plain result count. Co-authored-by: NingYuanLin <[email protected]>
158 рядки
2.8 KiB
CSS
158 рядки
2.8 KiB
CSS
.view {
|
|
height: 100%;
|
|
display: flex;
|
|
min-height: 0;
|
|
}
|
|
.tabs {
|
|
min-width: 0;
|
|
border: 0;
|
|
background: none;
|
|
}
|
|
.toolbar {
|
|
flex: none;
|
|
width: 32px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 2px;
|
|
padding: 4px 0;
|
|
border-right: 1px solid var(--border);
|
|
}
|
|
.toolbarSep {
|
|
width: 16px;
|
|
height: 1px;
|
|
margin: 3px 0;
|
|
background: var(--border);
|
|
}
|
|
.summary {
|
|
height: 26px;
|
|
flex: none;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 0 10px;
|
|
font-size: var(--fs-ui);
|
|
color: var(--fg-subtle);
|
|
white-space: nowrap;
|
|
}
|
|
.groupLabel {
|
|
color: var(--fg);
|
|
}
|
|
.error {
|
|
color: var(--danger);
|
|
}
|
|
.body {
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.body > * {
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
.body > [role="toolbar"] {
|
|
flex: 0 0 auto;
|
|
}
|
|
.row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
min-width: 0;
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
}
|
|
.icon {
|
|
flex: none;
|
|
}
|
|
.file {
|
|
color: var(--fg);
|
|
}
|
|
.muted,
|
|
.count {
|
|
flex: none;
|
|
color: var(--fg-subtle);
|
|
}
|
|
.line {
|
|
flex: none;
|
|
min-width: 3ch;
|
|
text-align: right;
|
|
font-family: var(--font-mono);
|
|
font-size: var(--fs-ui);
|
|
color: var(--fg-line-number);
|
|
}
|
|
.preview {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
font-family: var(--font-mono);
|
|
font-size: var(--fs-ui);
|
|
color: var(--fg);
|
|
}
|
|
.match {
|
|
background: var(--bg-search-match);
|
|
color: var(--fg-search-match, inherit);
|
|
border-radius: 2px;
|
|
}
|
|
/* Lezer classHighlighter tokens of usage lines (same colours as Find in Files results). */
|
|
.preview :global(.tok-keyword),
|
|
.preview :global(.tok-modifier),
|
|
.preview :global(.tok-controlKeyword),
|
|
.preview :global(.tok-operatorKeyword) {
|
|
color: var(--syn-keyword);
|
|
}
|
|
.preview :global(.tok-string),
|
|
.preview :global(.tok-string2) {
|
|
color: var(--syn-string);
|
|
}
|
|
.preview :global(.tok-number),
|
|
.preview :global(.tok-bool),
|
|
.preview :global(.tok-atom) {
|
|
color: var(--syn-number);
|
|
}
|
|
.preview :global(.tok-typeName),
|
|
.preview :global(.tok-className),
|
|
.preview :global(.tok-namespace) {
|
|
color: var(--syn-type);
|
|
}
|
|
.preview :global(.tok-comment) {
|
|
color: var(--syn-comment);
|
|
}
|
|
.preview :global(.tok-meta),
|
|
.preview :global(.tok-macroName) {
|
|
color: var(--syn-annotation);
|
|
}
|
|
.preview :global(.tok-propertyName) {
|
|
color: var(--syn-property);
|
|
}
|
|
.preview :global(.tok-variableName.tok-definition) {
|
|
color: var(--syn-function);
|
|
}
|
|
|
|
.note {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
font-size: var(--fs-small);
|
|
font-style: italic;
|
|
color: var(--fg-subtle);
|
|
}
|
|
.excluded .preview,
|
|
.excluded .file,
|
|
.excluded .line {
|
|
opacity: 0.5;
|
|
text-decoration: line-through;
|
|
}
|
|
.panel {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
}
|
|
.panel > * {
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|