From e02773a1ad0ff05b4af5202c0a1c122fd73d3320 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 25 Nov 2025 11:34:17 +0100 Subject: [PATCH 01/16] Use LSP4J nightly builds in target platform, update version ranges --- org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF | 6 +++--- org.eclipse.lsp4e/META-INF/MANIFEST.MF | 4 ++-- .../target-platform-latest/target-platform-latest.target | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF b/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF index a6b57c107..e76bdf18a 100644 --- a/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF +++ b/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF @@ -10,9 +10,9 @@ Require-Bundle: org.eclipse.ui, org.eclipse.debug.core, org.eclipse.debug.ui, org.eclipse.jface, - org.eclipse.lsp4j.jsonrpc;bundle-version="[0.24.0,0.25.0)", - org.eclipse.lsp4j.jsonrpc.debug;bundle-version="[0.24.0,0.25.0)", - org.eclipse.lsp4j.debug;bundle-version="[0.24.0,0.25.0)", + org.eclipse.lsp4j.jsonrpc;bundle-version="[1.0.0,2.0.0)", + org.eclipse.lsp4j.jsonrpc.debug;bundle-version="[1.0.0,2.0.0)", + org.eclipse.lsp4j.debug;bundle-version="[1.0.0,2.0.0)", org.eclipse.ui.editors, org.eclipse.core.filesystem, org.eclipse.ui.ide;bundle-version="[3.16.0,4.0.0)", diff --git a/org.eclipse.lsp4e/META-INF/MANIFEST.MF b/org.eclipse.lsp4e/META-INF/MANIFEST.MF index 40bfd4fef..8974d720c 100644 --- a/org.eclipse.lsp4e/META-INF/MANIFEST.MF +++ b/org.eclipse.lsp4e/META-INF/MANIFEST.MF @@ -28,8 +28,8 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0", org.eclipse.tm4e.ui;resolution:=optional, org.eclipse.ui.editors, org.eclipse.ui.navigator;bundle-version="3.6.100", - org.eclipse.lsp4j;bundle-version="[0.24.0,0.25.0)", - org.eclipse.lsp4j.jsonrpc;bundle-version="[0.24.0,0.25.0)", + org.eclipse.lsp4j;bundle-version="[1.0.0,2.0.0)", + org.eclipse.lsp4j.jsonrpc;bundle-version="[1.0.0,2.0.0)", org.eclipse.ui.console, org.eclipse.ltk.core.refactoring, org.eclipse.core.expressions;bundle-version="3.5.0", diff --git a/target-platforms/target-platform-latest/target-platform-latest.target b/target-platforms/target-platform-latest/target-platform-latest.target index 50626e37e..945b99d33 100644 --- a/target-platforms/target-platform-latest/target-platform-latest.target +++ b/target-platforms/target-platform-latest/target-platform-latest.target @@ -8,7 +8,7 @@ - + From e0875b1b4fe402456eea402550ec089d7341e0ea Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 25 Nov 2025 15:56:50 +0100 Subject: [PATCH 02/16] Adapt to new LSP4J v. 1.0.0 API For the sake of simplicity, for now, we only use the left argument in Either tuples, i.e. the types that we used in earlier versions. --- .../test/diagnostics/DiagnosticsTest.java | 14 +++++------ .../lsp4e/test/edit/LSPEclipseUtilsTest.java | 23 ++++++++----------- .../lsp4e/IMarkerAttributeComputer.java | 6 +++-- .../org/eclipse/lsp4e/LSPEclipseUtils.java | 15 +++++++++--- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java index f6674f003..40dcaddac 100644 --- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java +++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java @@ -13,12 +13,10 @@ *******************************************************************************/ package org.eclipse.lsp4e.test.diagnostics; -import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.eclipse.lsp4e.test.utils.TestUtils.*; +import static org.hamcrest.CoreMatchers.*; +import static org.hamcrest.MatcherAssert.*; +import static org.junit.jupiter.api.Assertions.*; import java.io.File; import java.io.FileOutputStream; @@ -106,7 +104,7 @@ public void testDiagnostics() throws CoreException { assertEquals(markerCharStart, MarkerUtilities.getCharStart(marker.get())); assertEquals(markerCharEnd, MarkerUtilities.getCharEnd(marker.get())); assertEquals(markerLineIndex + 1, MarkerUtilities.getLineNumber(marker.get())); - assertEquals(diagnostic.getMessage() + " [" + diagnostic.getCode().get() + "]", + assertEquals(diagnostic.getMessage().getLeft() + " [" + diagnostic.getCode().get() + "]", MarkerUtilities.getMessage(marker.get())); } @@ -232,7 +230,7 @@ public void testDiagnosticsRangeAfterDocument() throws CoreException { Diagnostic diagnostic = diagnostics.get(i); IMarker marker = markers[i]; - assertEquals(diagnostic.getMessage() + " [" + diagnostic.getCode().get() + "]", + assertEquals(diagnostic.getMessage().getLeft() + " [" + diagnostic.getCode().get() + "]", MarkerUtilities.getMessage(marker)); assertEquals(content.length(), MarkerUtilities.getCharStart(marker)); assertEquals(content.length(), MarkerUtilities.getCharEnd(marker)); diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java index 51c70f724..7304ff251 100644 --- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java +++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java @@ -13,12 +13,8 @@ *******************************************************************************/ package org.eclipse.lsp4e.test.edit; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -138,8 +134,9 @@ public void testWorkspaceEdit_CreateAndPopulateFile() throws Exception { String uri = file.getLocation().toFile().toURI().toString(); edits.add(Either.forRight(new CreateFile(uri))); edits.add(Either.forLeft( - new TextDocumentEdit(new VersionedTextDocumentIdentifier(uri, null), List.of( - new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), "abcHere\nabcHere2"))))); + new TextDocumentEdit(new VersionedTextDocumentIdentifier(uri, null), + List.of(Either.forLeft( + new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), "abcHere\nabcHere2")))))); final var workspaceEdit = new WorkspaceEdit(edits); // they should be applied from bottom to top LSPEclipseUtils.applyWorkspaceEdit(workspaceEdit); @@ -358,8 +355,8 @@ public void testResourceOperations() throws Exception { assertTrue(targetFile.exists()); LSPEclipseUtils.applyWorkspaceEdit(new WorkspaceEdit(List.of(Either.forLeft( new TextDocumentEdit(new VersionedTextDocumentIdentifier(targetFile.getLocationURI().toString(), 1), - List.of( - new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), "hello"))))))); + List.of(Either.forLeft( + new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), "hello")))))))); assertEquals("hello", readContent(targetFile)); IFile otherFile = project.getFile("another/folder/file.lol"); LSPEclipseUtils.applyWorkspaceEdit(new WorkspaceEdit(List.of(Either.forRight( @@ -388,7 +385,7 @@ public void editExternalFile() throws Exception { te.setNewText("abc\ndef"); final var docEdit = new TextDocumentEdit( new VersionedTextDocumentIdentifier(file.toURI().toString(), null), - List.of(te)); + List.of(Either.forLeft(te))); final var we = new WorkspaceEdit(List.of(Either.forLeft(docEdit))); LSPEclipseUtils.applyWorkspaceEdit(we); assertTrue(file.isFile()); @@ -428,7 +425,7 @@ public void testTextEditDoesntAutomaticallySaveOpenResourceFiles() throws Except te.setNewText("abc\ndef"); final var docEdit = new TextDocumentEdit( new VersionedTextDocumentIdentifier(LSPEclipseUtils.toUri(targetFile).toString(), null), - List.of(te)); + List.of(Either.forLeft(te))); final var we = new WorkspaceEdit(List.of(Either.forLeft(docEdit))); LSPEclipseUtils.applyWorkspaceEdit(we); assertEquals("abc\ndef", ((StyledText) ((AbstractTextEditor) editor).getAdapter(Control.class)).getText()); @@ -444,7 +441,7 @@ public void testTextEditDoesntAutomaticallySaveOpenExternalFiles() throws Except te.setNewText("abc\ndef"); final var docEdit = new TextDocumentEdit( new VersionedTextDocumentIdentifier(file.toURI().toString(), null), - List.of(te)); + List.of(Either.forLeft(te))); final var we = new WorkspaceEdit(List.of(Either.forLeft(docEdit))); LSPEclipseUtils.applyWorkspaceEdit(we); assertEquals("abc\ndef", ((StyledText) ((AbstractTextEditor) editor).getAdapter(Control.class)).getText()); diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/IMarkerAttributeComputer.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/IMarkerAttributeComputer.java index 90c4ea3dc..805fc07bf 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/IMarkerAttributeComputer.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/IMarkerAttributeComputer.java @@ -16,6 +16,7 @@ import org.eclipse.core.resources.IResource; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jface.text.IDocument; +import org.eclipse.lsp4e.internal.NullSafetyHelper; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.jsonrpc.messages.Either; @@ -48,8 +49,9 @@ void addMarkerAttributesForDiagnostic(Diagnostic diagnostic, @Nullable IDocument */ default String computeMarkerMessage(Diagnostic diagnostic) { final Either code = diagnostic.getCode(); + String messageText = NullSafetyHelper.defaultIfNull(diagnostic.getMessage().getLeft(), ""); //$NON-NLS-1$ return code == null // - ? diagnostic.getMessage() - : diagnostic.getMessage() + " [" + code.get() + "]"; //$NON-NLS-1$//$NON-NLS-2$ + ? messageText + : messageText + " [" + code.get() + "]"; //$NON-NLS-1$//$NON-NLS-2$ } } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java index 7270449ba..6f41a4c29 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java @@ -21,7 +21,7 @@ *******************************************************************************/ package org.eclipse.lsp4e; -import static org.eclipse.lsp4e.internal.NullSafetyHelper.castNonNull; +import static org.eclipse.lsp4e.internal.NullSafetyHelper.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -121,6 +121,7 @@ import org.eclipse.lsp4j.RenameFile; import org.eclipse.lsp4j.ResourceOperation; import org.eclipse.lsp4j.SignatureHelpParams; +import org.eclipse.lsp4j.SnippetTextEdit; import org.eclipse.lsp4j.TextDocumentEdit; import org.eclipse.lsp4j.TextDocumentIdentifier; import org.eclipse.lsp4j.TextDocumentPositionParams; @@ -1078,7 +1079,8 @@ private static boolean applyWorkspaceEditIfSingleOpenFile(WorkspaceEdit wsEdit) .map(TextDocumentIdentifier::getUri) .map(LSPEclipseUtils::toUri) .forEach(documentUris::add); - firstDocumentEdits.addAll(wsEdit.getDocumentChanges().get(0).getLeft().getEdits()); + firstDocumentEdits.addAll(toTextEditList( + wsEdit.getDocumentChanges().get(0).getLeft().getEdits())); } } if (documentUris.size() != 1 || firstDocumentEdits.isEmpty()) { @@ -1140,7 +1142,7 @@ private static CompositeChange toCompositeChange(WorkspaceEdit wsEdit, String na TextDocumentEdit edit = action.getLeft(); VersionedTextDocumentIdentifier id = edit.getTextDocument(); URI uri = URI.create(id.getUri()); - List textEdits = edit.getEdits(); + List textEdits = toTextEditList(edit.getEdits()); change.add(toChanges(uri, textEdits)); collectChangedURI(uri, textEdits, collector); } else if (action.isRight()) { @@ -1238,6 +1240,13 @@ private static CompositeChange toCompositeChange(WorkspaceEdit wsEdit, String na return change; } + private static final List toTextEditList(List> textEdits) { + return textEdits.stream() + .filter(e -> e.isLeft()) + .map(e -> e.getLeft()) + .toList(); + } + private static final Range DEFAULT_RANGE = new Range(new Position(0, 0), new Position(0, 0)); /** From 9239d88460259bb903eb4bd58ee7b3d207cc17f7 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 25 Nov 2025 16:22:14 +0100 Subject: [PATCH 03/16] Bump plug-in versions --- org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF | 2 +- org.eclipse.lsp4e.test/META-INF/MANIFEST.MF | 2 +- org.eclipse.lsp4e.test/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF b/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF index e76bdf18a..ac0147c2f 100644 --- a/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF +++ b/org.eclipse.lsp4e.debug/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Debug Adapter client for Eclipse IDE (Incubation) Bundle-SymbolicName: org.eclipse.lsp4e.debug;singleton:=true Bundle-Vendor: Eclipse LSP4E -Bundle-Version: 0.16.1.qualifier +Bundle-Version: 0.16.2.qualifier Bundle-Activator: org.eclipse.lsp4e.debug.DSPPlugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, diff --git a/org.eclipse.lsp4e.test/META-INF/MANIFEST.MF b/org.eclipse.lsp4e.test/META-INF/MANIFEST.MF index 6369d95b0..4bdbc8c30 100644 --- a/org.eclipse.lsp4e.test/META-INF/MANIFEST.MF +++ b/org.eclipse.lsp4e.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Tests for language server bundle (Incubation) Bundle-SymbolicName: org.eclipse.lsp4e.test;singleton:=true -Bundle-Version: 0.16.4.qualifier +Bundle-Version: 0.16.5.qualifier Fragment-Host: org.eclipse.lsp4e Bundle-Vendor: Eclipse LSP4E Bundle-RequiredExecutionEnvironment: JavaSE-21 diff --git a/org.eclipse.lsp4e.test/pom.xml b/org.eclipse.lsp4e.test/pom.xml index c87cf3093..50051a8b9 100644 --- a/org.eclipse.lsp4e.test/pom.xml +++ b/org.eclipse.lsp4e.test/pom.xml @@ -8,7 +8,7 @@ org.eclipse.lsp4e.test eclipse-test-plugin - 0.16.4-SNAPSHOT + 0.16.5-SNAPSHOT From 120071f402b7ef2a4cf4ea6dcc688bdd9f6362de Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Wed, 19 Nov 2025 13:45:57 +0100 Subject: [PATCH 04/16] Use symbol tags in views to display visibility and other details Affected views - Outline view - Call hierarchy view - Type hierachy view (and quick type hierarchy dialog) --- .../lsp4e/test/symbols/SymbolsUtilTest.java | 88 +++++ .../lsp4e/test/utils/LSPImagesTest.java | 45 +++ .../icons/full/obj16/constructor.png | Bin 627 -> 5801 bytes .../icons/full/obj16/constructor@2x.png | Bin 1309 -> 7036 bytes .../icons/full/ovr16/abstract_co.png | Bin 0 -> 257 bytes .../icons/full/ovr16/abstract_co@2x.png | Bin 0 -> 488 bytes .../icons/full/ovr16/constr_ovr.png | Bin 0 -> 252 bytes .../icons/full/ovr16/constr_ovr@2x.png | Bin 0 -> 482 bytes .../icons/full/ovr16/declaration_co.png | Bin 0 -> 4454 bytes .../icons/full/ovr16/declaration_co@2x.png | Bin 0 -> 4633 bytes .../icons/full/ovr16/definition_co.png | Bin 0 -> 4231 bytes .../icons/full/ovr16/definition_co@2x.png | Bin 0 -> 4407 bytes .../icons/full/ovr16/deprecated.png | Bin 0 -> 180 bytes .../icons/full/ovr16/deprecated@2x.png | Bin 0 -> 425 bytes .../icons/full/ovr16/file_visable_co.png | Bin 0 -> 5309 bytes .../icons/full/ovr16/final_co.png | Bin 0 -> 152 bytes .../icons/full/ovr16/final_co@2x.png | Bin 0 -> 179 bytes .../icons/full/ovr16/implement_co.png | Bin 0 -> 214 bytes .../icons/full/ovr16/implement_co@2x.png | Bin 0 -> 413 bytes .../icons/full/ovr16/internal_co.png | Bin 0 -> 5199 bytes .../icons/full/ovr16/non_null_co.png | Bin 0 -> 5472 bytes .../icons/full/ovr16/nullable_co.png | Bin 0 -> 5381 bytes .../icons/full/ovr16/nullable_co@2x.png | Bin 0 -> 561 bytes .../icons/full/ovr16/override_co.png | Bin 0 -> 221 bytes .../icons/full/ovr16/override_co@2x.png | Bin 0 -> 396 bytes .../icons/full/ovr16/package_co.png | Bin 0 -> 5232 bytes .../icons/full/ovr16/private_co.png | Bin 0 -> 5266 bytes .../icons/full/ovr16/protected_co.png | Bin 0 -> 5324 bytes .../icons/full/ovr16/public_co.png | Bin 0 -> 5358 bytes .../icons/full/ovr16/read_only_co.png | Bin 0 -> 240 bytes .../icons/full/ovr16/read_only_co@2x.png | Bin 0 -> 454 bytes .../icons/full/ovr16/sealed_co.png | Bin 0 -> 209 bytes .../icons/full/ovr16/sealed_co@2x.png | Bin 0 -> 439 bytes .../icons/full/ovr16/static_co.png | Bin 0 -> 218 bytes .../icons/full/ovr16/static_co@2x.png | Bin 0 -> 419 bytes .../icons/full/ovr16/synch_co.png | Bin 0 -> 305 bytes .../icons/full/ovr16/synch_co@2x.png | Bin 0 -> 692 bytes .../icons/full/ovr16/transient_co.png | Bin 0 -> 180 bytes .../icons/full/ovr16/transient_co@2x.png | Bin 0 -> 205 bytes .../icons/full/ovr16/virtual_co.png | Bin 0 -> 8349 bytes .../icons/full/ovr16/volatile_co.png | Bin 0 -> 207 bytes .../icons/full/ovr16/volatile_co@2x.png | Bin 0 -> 370 bytes .../eclipse/lsp4e/LanguageServerPlugin.java | 9 +- .../CallHierarchyLabelProvider.java | 2 +- .../lsp4e/internal/SupportedFeatures.java | 7 +- .../lsp4e/operations/symbols/SymbolsUtil.java | 188 +++++++++++ .../TypeHierarchyItemLabelProvider.java | 2 +- .../lsp4e/outline/SymbolsLabelProvider.java | 99 +++--- .../src/org/eclipse/lsp4e/ui/LSPImages.java | 304 ++++++++++++++++++ 49 files changed, 685 insertions(+), 59 deletions(-) create mode 100644 org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsUtilTest.java create mode 100644 org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/abstract_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/abstract_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/constr_ovr@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/declaration_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/declaration_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/definition_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/definition_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/deprecated.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/deprecated@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/final_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/final_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/implement_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/implement_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/internal_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/nullable_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/nullable_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/override_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/override_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/package_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/private_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/protected_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/public_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/read_only_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/read_only_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/sealed_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/static_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/static_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/synch_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/synch_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/transient_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/transient_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/volatile_co.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/volatile_co@2x.png create mode 100644 org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/SymbolsUtil.java diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsUtilTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsUtilTest.java new file mode 100644 index 000000000..e954c4f38 --- /dev/null +++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsUtilTest.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2024 Advantest GmbH and others. + * This program and the accompanying materials are made + * available under the terms of the Eclipse Public License 2.0 + * which is available at https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Dietrich Travkin (Solunar GmbH) - initial implementation + *******************************************************************************/ +package org.eclipse.lsp4e.test.symbols; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.Arrays; +import java.util.List; + +import org.eclipse.lsp4e.operations.symbols.SymbolsUtil; +import org.eclipse.lsp4j.DocumentSymbol; +import org.eclipse.lsp4j.SymbolInformation; +import org.eclipse.lsp4j.SymbolTag; +import org.eclipse.lsp4j.WorkspaceSymbol; +import org.junit.jupiter.api.Test; + +public class SymbolsUtilTest { + + private static final List symbolTagsWithDeprecated = Arrays.asList( + SymbolTag.Package, SymbolTag.Deprecated, SymbolTag.ReadOnly); + private static final List symbolTagsWithoutDeprecated = Arrays.asList( + SymbolTag.Public, SymbolTag.Declaration, SymbolTag.Static); + + @Test + public void testDeprecatedCheckForSymbolInformation() { + var symbolInformation = new SymbolInformation(); + + assertFalse(SymbolsUtil.isDeprecated(symbolInformation)); + + symbolInformation.setDeprecated(true); + + assertTrue(SymbolsUtil.isDeprecated(symbolInformation)); + + symbolInformation = new SymbolInformation(); + symbolInformation.setTags(symbolTagsWithDeprecated); + + assertTrue(SymbolsUtil.isDeprecated(symbolInformation)); + + symbolInformation.setTags(symbolTagsWithoutDeprecated); + + assertFalse(SymbolsUtil.isDeprecated(symbolInformation)); + } + + @Test + public void testDeprecatedCheckForWorkspaceSymbol() { + var workspaceSymbol = new WorkspaceSymbol(); + + assertFalse(SymbolsUtil.isDeprecated(workspaceSymbol)); + + workspaceSymbol.setTags(symbolTagsWithDeprecated); + + assertTrue(SymbolsUtil.isDeprecated(workspaceSymbol)); + + workspaceSymbol.setTags(symbolTagsWithoutDeprecated); + + assertFalse(SymbolsUtil.isDeprecated(workspaceSymbol)); + } + + @Test + public void testDeprecatedCheckForDocumentSymbol() { + var documentSymbol = new DocumentSymbol(); + + assertFalse(SymbolsUtil.isDeprecated(documentSymbol)); + + documentSymbol.setDeprecated(true); + + assertTrue(SymbolsUtil.isDeprecated(documentSymbol)); + + documentSymbol = new DocumentSymbol(); + documentSymbol.setTags(symbolTagsWithDeprecated); + + assertTrue(SymbolsUtil.isDeprecated(documentSymbol)); + + documentSymbol.setTags(symbolTagsWithoutDeprecated); + + assertFalse(SymbolsUtil.isDeprecated(documentSymbol)); + } + +} diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java new file mode 100644 index 000000000..c85388aca --- /dev/null +++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2024 Advantest GmbH and others. + * This program and the accompanying materials are made + * available under the terms of the Eclipse Public License 2.0 + * which is available at https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Dietrich Travkin (Solunar GmbH) - initial implementation + *******************************************************************************/ +package org.eclipse.lsp4e.test.utils; + +import static org.junit.jupiter.api.Assertions.*; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.lsp4e.ui.LSPImages; +import org.eclipse.lsp4j.SymbolKind; +import org.eclipse.lsp4j.SymbolTag; +import org.eclipse.swt.graphics.Image; +import org.junit.jupiter.api.Test; + +public class LSPImagesTest { + + @Test + public void testAllImagesForSymbolKindAvailable() { + for (SymbolKind kind : SymbolKind.values()) { + Image img = LSPImages.imageFromSymbolKind(kind); + + assertNotNull(img); + } + } + + @Test + public void testAllOverlayImagesForSymbolTagAvailable() { + for (SymbolTag tag : SymbolTag.values()) { + ImageDescriptor descriptor = LSPImages.imageDescriptorOverlayFromSymbolTag(tag); + Image img = LSPImages.imageOverlayFromSymbolTag(tag); + + assertNotNull(descriptor); + assertNotNull(img); + } + } + +} diff --git a/org.eclipse.lsp4e/icons/full/obj16/constructor.png b/org.eclipse.lsp4e/icons/full/obj16/constructor.png index ab97bb71ed8fcad7d301b15f75a42dec98e5d9a3..71e5585552a574cbe7ceeda047f212ed83ab5eba 100644 GIT binary patch literal 5801 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 DV7?bB delta 603 zcmV-h0;K(^E%OABBYyw{b3#c}2nYxWdtL%LXu9=p?`ZV6`_A1qNF_4$+ldp z@X(y4vhCHicTN-CyZ86&5L;`TbnZEQe-A&N@AEwHh5sI+k{Aq}=&P?|459V{2qnxN zDeq2BhF|uTEzf-Ta41& z;w6(w?Dpkv2TG7~9O)~*!=YC!#O649>@?Z+4D0Kg6n~_WR|CeaKkLDu z*4XH2oq0V$)-uUjCZLGN<~eZC!0$IYfQJAZn-=fhKL1>bFg`Uqy<^+KWYWw;KFpMs zEPRcyx@K6Jt(y^>tDLbffZ0AjHy z?`Pl8)l}6}-9fn%V7i;{FR|I&4Y5NMi*@!%LrN_W*Q p)WTq(_nODE=RrB=6l@K_;x7nt#oubdL-_yz002ovPDHLkV1n~UCguPD diff --git a/org.eclipse.lsp4e/icons/full/obj16/constructor@2x.png b/org.eclipse.lsp4e/icons/full/obj16/constructor@2x.png index 92aab92e748fd5a4ab8b520e1034c6f4a8138974..bcae997b36d8823389360ae606dfe2a272400a2e 100644 GIT binary patch literal 7036 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 E0E6IRasU7T literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/abstract_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/abstract_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..94baae0f7aa7b545d4210af78c02d45f979a8e4c GIT binary patch literal 488 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 W$ot4vbo|eNUdWh~V%R%7x9op7kC)K^ literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/definition_co.png b/org.eclipse.lsp4e/icons/full/ovr16/definition_co.png new file mode 100644 index 0000000000000000000000000000000000000000..7642aaa5b0f02b5ce147bb4f65e26b8c83245846 GIT binary patch literal 4231 zcmeHKe{j?08CGB=AwU}l+1!$~s+vJ*kR{u)WeJ=7utRK!Qxkh6X~q#*{_LpnuUHCp zvbJe}(xh+&%C!e6u(VqTjEr)03>rq06j%yt$0+PrmoCTBLYIy<*R3nLOM>^w&d*!_ z$=&*2wdS{tb z!bQ+fIOq|40F~-O00mLOgCNnr`t3an&XFm@-WOg>>%33VEjW%Wk%sfpbsv9|CGPFM ze|FE%f4085WmoGprLCf3e!=z+$--AU|AH&Qsm6ml#LPb~J(0FV{K*?&WMQ`ht=d~k z+r z#RF~jUH#AzgQD?D)9Lbs;XAuB+Al0V0fu|7Bn=|IzOt1UU$6NTL6Wu#CX?N2GL4ae z6!t&8+h{qLn|WcQx2wZ|5}mVY?oiCXgQujjQ;S-A4W&DC99 zJ1_id%l5a9-Fs{^I+)a_)Gu$hG{@Ga;x2>!%kDEj-FYVR?4KUheDHY-LY;l`my2pt zdp2aue)AtD#g??RJ^R4>){;dBKl$f_tKR7?sC(tk+c||DEpI7qq&Iu_aqFAurbG16 zIiEeJ)syEP=NJC? z>hg{6oo);F_O-oS-B$bf-FGXCH& zx{2LuA1+VqQH80q=}hl_Z5&f`~*S%7{i840{O`!!QJ?Ce&&iR^Vb?K;oi!Kzu}o zNMM+O$cKfHBm@JfjLErzwUQCTU>+Uo&mXec#^D3vs0vUIBFcpbm69a0qK#+5QSEoeH=li?%=AA*XoKh>0aN$^aFHKjK>6Q?t|5jfpA{*>x5?(t$+WwWv7AYUs_YBd`%xnI^D zCIr#QxgGkTQ^SJ4#EaXOtx%}|pd9uEu9m7H&KS2C0vLaB8ghH>jToF-`! zrx@rEM(v?-lBTqP*1LI+OB;uh*MZHmTaB1TNlrxUK2Guk!+s-HBm`=s6A7o_2M&po zMN`o_N=0iJEk)~e8og$sXgvsv&~Qdftz;ObKAv#%>}m+eLEi{|&I^c8z#C7_fWV_uct|% z1}fT>P;wky40@yp7Y2D=NHReLO-O@28rOIE)NUeGKo*ZwYjKqdSL>WAnpH8ZipnNc zEJNv5Um zj9fEvO-q4k70val zjI));vsT=WT|ZhH8HvSymTWrl{_k%!oIE=cd$aV|$9H3~jyXm9n;YTr{DA{`8;W*3 zymIO4n?t{@@Y=KPS11%tvsq!Tiz+^U>7~=_vSP8=<SI8$3x|r$hHIeoq6_it*}AFT2O30mS4H~ EzfhPCxc~qF literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/definition_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/definition_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2ce9b170272416031a1f12c284b4fb1311de8c GIT binary patch literal 4407 zcmeHKdsGuw9v;Mkf+7gmRKbRURVhp+GkH!-1R9V;8)SJEbX}QDCSim;NCpy6S4C~1 zpp@ccWu-^#`dHymyVMuz0*dv$^|h;AEX!iGx?NEUYw4Ei-Xwr3ToR-O^kan)cYSuG( zG?y*1&|KQV=po4QH)C=~fM?jG!Ts-T<#u^q?B(g_g#Lc8^#c9pi232=zKuQ=xB5IJ z-eGY(&B4FcOv!3WIU0XGJ_g>my1gu*qTbJ-s8Z)$wnd5lvm`XetGb!Kr;S(@bmZ`E zV({Lj(m9{BobQuPn>qPLbT+4d;MeKQEi`Y{(lFclccZ^)TKn|MK08`CEpTc^MtS#+ zrjJk825>f)){DXm&#Mp1D$48!CYykBy8{nXFbShl>Fv>{?T$ zP@RblIlCft@1EdS=Bx70C)Y-o2It>=BdG4p1HnrR_{aNwYlIO9Z%avTTU+JXgB!}5 z8vPnexC0*DJZWUJs_gkSo1TwVFAw(o_<@qM z!Qa1nCw*C+GX2B5-^^a{r_O|;?cW`bNo=WU;&cU;8FrExWs=hUl6tSN*L3?wU3{aL z=sl)>HR3m4HFtkI>+6y;6F#4^^WjZ-eraYjd+2&wL(a~wb0imdyxD*+LQN`Im9uiO33^os}JMfFMVZ3=pHPBBQHL#q~ty*;@i#P>k# zhJOvTJ@2v~%~&9QIOmnSvEP*&*H%nezkGMr(MOM|4%3IwGeg%R^AAx|v+q~;7cVOh z@$l?uJzKCW_364xq1gi$-q(ClH7MM)dbT6xBlE=x%A>K5YdV(YzP^82Y)$i`PRRS+ z*39*Pyrt;;^2Qe(Erz8({s^r-X>Ev^bP)xno528cWoq7%QD!5L)S0z3&tbFx*Flgx z#$h3;T$<%-X#-iO~z+6VBfZrBr_!^6n&S6x=RywsfDUB-5r3f7yv%p90kO2ZC z&5~S)G0$X^ITWyqR|cM)%_z)uLD*acoT*9XD$Q1!E941zd?dla6yop#AFkZ0)5}ug z7Yf6B|C7B2leL9$|2nWMGUIS5ZK`F@x!-5uByKn&-mkD3s2ljeyh! z^25g9Sw{attTDMcBd&5rCjy2W;U9w@uH6L&D2+xIZ>9>IgR0{durpto&P*{nnd^}z zr5G+1^AVw5fFVMikVHsarvp#8m@g)zIF9j0QK?NfmNZeclM0aY7{DVIi3B*N(;|cx zmmorc4o9SzfItL%i2x(STD?dh8AY+g$^ciAd84y(Qt1GdgraDikcbgJiGdvSdM!c{ zdJ#h4BEATxXc30dE-L3d$l{XK3Ru8%=jUok&Ldg9*=kh4Z!x9<#|vm0W294A(kU7y z5eqSifRG4;QjtK6y#Qs*g+!IQcII!d+>5R$+*jFB|ZsKsP(1)Q@Y1GNBM zNvBN#v8x@FB2!vvk~Le?%;r1=>`csMY_8lr9V*5Kf<;cR54k;+&Ue4L&7a4(LR_xP zuriWz^V`TmTIU)A^mB)(9MWWJgn(=dq)BV+!!^s%|4~Km0*u-MKtFdI*jm6&g^p}hL#jE2{24z(v+*;I0I0_Y zc`1FzcHPAA$UwB@T3h>B&fL503roWCSvLFnrrYbQ z>eRn8?GEZFUbaOU71uuF*`qtV(6v1p-k~6PW#BJocD!?19(b)S<4IilAC}iwnLB0# zgr0l!?WHsIjZ`-0Sn6Nati_AqJ@*$rnOnnjAGxOTZpxb9Y}beXHXz~TYhH~9(+6-3&=hT$$L-*WH^b$hM(^5mrFV1mq$d|RDJAQw zwE^?xm34I8-gzxgH>MBV`@zET_1@z7YVDGcx!>o9eDbNN!=p+1^vhMU3_il#x z1xJxi9(sh+h?+@NLh(Qv^qUWz8v&`S*Q) q_`#B%sNiPajthb-4?eou(lu*BU!7|2YB3NSg478~@r`e0m;4tFT~y@& literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/deprecated.png b/org.eclipse.lsp4e/icons/full/ovr16/deprecated.png new file mode 100644 index 0000000000000000000000000000000000000000..f86a50f995910b53095d2c120934138717487c69 GIT binary patch literal 180 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 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/final_co.png b/org.eclipse.lsp4e/icons/full/ovr16/final_co.png new file mode 100644 index 0000000000000000000000000000000000000000..b337498bc008fad40efa03b36ad0d305b135f3e2 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgA|1s9@tFvEiC;v-fnYl}yV{|+YP7(XKttG}u=%HJvXu_;;ou+bz zlC-Ig@vr_I`!3AerWWY3Nb}is-g~+SrahV^%b(!ycs7(-p!*SXuBf}9<>!>o^8dy4 Y^`42hm%Gng0<@LE)78&qol`;+00N3RmH+?% literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/implement_co.png b/org.eclipse.lsp4e/icons/full/ovr16/implement_co.png new file mode 100644 index 0000000000000000000000000000000000000000..adc0f0edfb6b1c33c18bf2c779a70490e0c7afff GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@_Rj9978x} zCMPsB{r~^}_8%Z|42Vr7CL9D(xq5SJKH8e6{Ql3r-M*$t`^W$P`;RT1tiP{4a^27U z8JCX!pJ?O)x4sjvTMKfez$;s5{S>Un?szuoxu|Kr{M`4ZlX`2PO?^HH2x z-(LF8tp4|PMjF{%1_u9t3XPfh4ggK9XN{Ru!N@SvCv=g<`3+4#hcS4%`njxgN@xNA D5NTuI literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/implement_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/implement_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..569ac6972f5022ec83c8e3b6431d75d5d02c5965 GIT binary patch literal 413 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 L2Y3}Pj86G4vp?y) literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png b/org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png new file mode 100644 index 0000000000000000000000000000000000000000..797c15b991c5d071dffa9717a9a3a33b28f1e36b GIT binary patch literal 5472 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 h6FX}lcZ?Mb)-x~g#^q#%9+WH0i{;~X+;v&bHO zf^A(^mZFOV1;s^01Q8pEG!YAk1yI^I3D}-*|M)!L{xkDTX6BstzW1E>o_p`iMt?s~ zeO(J(6bhx!@^TMAuG+{sd9oJr@1W6vTr_GFK_T)0Faa%*iUn{igq9~sAT*Q+3s9)U z2Uk{vmbBaH4M!P=PW)+lb_d~?oiq9G4Kh~m`mJ7Y&Df(oO>73U30;L)L`>PUs_ z+XmXy*4+LTc+-f>N~413-fwgosyj=|XSGC#ZrTMIba_3G>|HtfQw8xwW&8H;>_6o^GHuf;=$%{k zR*XmTHHlwar@evM#F_radiB2CNP4FN=_T>7(DT|(yOp}AA^*6mPW^#*SP>d= ztFhyEYS{5r&pqW<3H2+B4sYJ=ddH$lVVa$K&0SmD*iarVTj)=A-=IG!EF)VJ*3F!_ zWFdJ#)|U07YgPW7Ycb2NvGNkRXlb}8HK`YnP{0z~F{9k+#P1!t0T z7VP&g+i+Ce>=4jW9OUf;)L#o#~o6XCd%&VjXGpJ?qzzF-sR%7S+2~h-IC*t?eRzEc`H($UiR%SnmKDXLz!pS zOR!pjeYnUi+_eiVf1;gv;!1sI{Tin#FWO*Vez)~VxRV2Tuj+>QQx!f$Y0o-73JZIkbK=mwGTBlJlFQPo?Byg7qTy}ev_5; zXqeg9<@sc%`|Vn0p?{(7bMAr$PR5$H8Sv!CinEV{RRC zf7%PaTk-xn-_S74)>WrAb>+?t3;8X!Od0!VXvSdMtODmAgTl?Zt)8p5zpzU>vf%34 zcMpR~o^W-8_uc7bpY@?QKhSzUDgW*T0IwO3%#r8X(eK)Re*9ixd+hHQx%JM3maA#g znlG(cRG4I&=Q}jHYZTbu+%zz1R`*9*^oZt%n(P#V&`5I>YCBFHTHf z>w(v*-DTbBP)b9-ISK6)j+=te=E)vt|`q;t2dnJ~0T^^gCsS6wNp1Jq^obwHJ z7*Cf`iezqCZ^|X83qmWnV4V)Hi0d1gQ8(Cg%k=@_yzG4F+4gSKc9il3 zi~#o~;}pmf6B8|$OBi^3LP7#AfrJxFqwqvJosK5}cmTj62&^ngBnK0*BAJbfVvNHb zlJTUlL=KBZXcZ^O701b$7!2Y^e~eEkVY5Hci)7;}AbQ{vK?$CSBjANX{Fg0ca*ud~ zWIUjMY#|FmwrqR=BooI;d5}juB$C^FN#V(2`+s6kr4$7VCF-OQ@xJPe&-;Xv#7Se- z7(NdV#X>@aREESy{0c9J1)s(GDmIlzoz9nmAl-f9{|fyvcQqJ6vDplFF)vQlDa)OS zQN_#Pi+M1gp}rOH2?BsXRV`2atosOfa9ef^R2|@@W zbps2*CX#UP>SB@IMR_ zfkLH|AsPV-(g-vx8KQt#kV__Esa!6P43fxn3YYvfyG$&QCxBAOH3~^`ED`jWG-!LZ zzVp7uCqzRk@dyAJOC(|eAc#m{I1m^lU;%;1AP_M4@s#nZ8T~P5NBsY&;;06Eu>>IP z#%##af~-{dPfOLfYAPZB#ozd7{EIyx)ZaV#CVjul^d7pT;HU?H-W!b z*Z)l}-OnF8kO+AXNbpGg0#G)hd3YDQyQ;byS1l0Zm zW{6Q+&SHCLKb>Nt1E62#dn`aq=5mh^xtmz1dS^zd-{l}aIsukPqgC&6!D&-X5l}PB z-8E?PT^^sq;douQUnt-Rj&TP@4<6jO?|oa@=%_S`-4$86cX!~ei+^7XiizUAZ!W)) zlhpAnPOsnEiOb;#y!hOKnvjlm&ea*lv&x5hnj^DL_cW89M#qfshOXYLcs)A0ZpAw5 zrCEy-dWbjn7N*X&u}w?M$jIorR&1HRaLX3G(T4oy%ku74+pH})8d}DXZI*{mFhC#z zBOHYKOv~dIo}S&3EIsc{x_XwUV|ldr*7~w_qoaL93YmP$aosSiiqz5E3^_(fLlA$! iIk}-|<6n9MD3o7bK$CWt$)8B7D3*txd;Vfh`hNjHMn#hV literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/nullable_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/nullable_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9046eb697210f86627d9480d532dec98bbc7d61d GIT binary patch literal 561 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 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/private_co.png b/org.eclipse.lsp4e/icons/full/ovr16/private_co.png new file mode 100644 index 0000000000000000000000000000000000000000..a817af69b3a4a2e6af7cde7f6ed027b093086283 GIT binary patch literal 5266 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 alr}rFG~WcD%^EJ81R}sEh^g^jnetx+jx&=0 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/read_only_co.png b/org.eclipse.lsp4e/icons/full/ovr16/read_only_co.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b738d34be4f84ea4872eeba9e58cac4021c701 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@|SzMIEHY{ ztnFXObtr&=;r&_G{f^6=KS;Bj-gWmU|1`-z{LLJTrm@cE`N+-EeKce19z`}mcB_)v z?`=PKh4b_A{Zn92TO8(}FwNnr1lz$MGE6rZDi@}UdYdy&*_NchBJjIZ-Rzjf(m4W` zKJ%}edt~M1xBQj1?``tL8T^jNG9U0t=?b#EopCs6ACtmFO@=b1;7#YH&u4$u-84xg mc)!}#OJ6@VPjD6 z1-C4vX!H*dbn4*bu0v@M9333|xPxMsXku)7?)mI+lb8?un0%)9eK^1OIp@6a-troo z+~?sj&vRKI4FurMJjb`?AD0Kuf}3B4QobV(bhVH7CO&;XKWeo6TA?Dl6)D#xl-twB z^c4!GQ%bfY<%p!qw$7@9Qromt7Ec6gYa3y4eJ2!U)A3a*i&Q$*c8SBEqaS^|T_E}5 zZ$M~qa}$~4UjTu6)GtG>UL}EDU=Sb>MU@1Y&a9&3Kcc9D6czrK@0l~0tBXr+u5U>s63j1Ts-S8CtA;Ug+I``Uo9kNu zqFsWNYfWBm w=ED`Q@35wDW&h70fbX0?2ZV2ds%HWC4|1@;fhr^NQ~&?~07*qoM6N<$f{ACuRsaA1 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png b/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png new file mode 100644 index 0000000000000000000000000000000000000000..00e64d6882f18922c019686187851a6378af9042 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJg zoM%vZS+KKkpS_{NT=zAL1TEgIDPQ%<%{6l6{FF&c>~-R|-kN#%vFY1u2%yF3!!$`T$LQ05OktCv|WUDBWloUfL8?s?R zu4Qc{8_7z9Oe|PfSRpdXtr_EPal&VTqnYF6+5K_l7CrMzSQUjhTND6Jhn=>vV(JTXjYWW|H8->C+Z^9`1Gdb! zHwDO=CPef^PNyW&F@m2q#B-2Tx#lqFYla}ek$ktv82S)$>OfM=Hyid=lZ|_>> zK04(^RY{Nk?N--gT|o|W+k2$B2C;@K0G!``72i=&YAjAP)MHf?mi7>$j+1|*LJg^kE4y2l~Kj2M1S;V_o`DZ!M OaSWcWelF{r5}E+wluzye literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/static_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/static_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9b36e70e8dafc010da722a65fbe0d8ec15e60a GIT binary patch literal 419 zcmV;U0bKrxP))KU;pZLKv2HZ%kU zZ52&HOJIB8(AKDnNHs=aSym7vYSGhIUxPmJ`SiEl!#(%hd%g=*MC4CIf?IJ-Lv29Q8)P@w9zJ_TUU>x0|+ZHvqr60!FSt;Cvr#Z5|6|V$vUy z)X1EaKl8QIzwYiOp^nSV*g{QHXrT1`j@s|RSxp1z91Wljc=#=T*EDCNu@w^!SC+Lc zv3E+#WdNXY0WOhz?**mqA}7^&fKqin-wba^$~CiAUkGBhct zYi5d%XpCh4G)jjGRK6TQ@8WE0_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@?UtmIEHY{ zO#bs92%4|YGxWJpH1XlD&HOySJ{{r-ZFJ-L#ihjKbNjq)O2^zCvk%5NHzmf+Gj86b zV&9y8I<2jn|DJ)t3~~Mc_NCXS{y)F}|G)gnHc$V5e!u_!^>r3M?e`SFu3r|-A8%|S zp|LgpRZ-1}nS#MvHUSJrMw4>m)CG+M*kqON$9Q@5I7|ai!-acRATzu`353fG^ zxB1WCXJ{bGKHEU&Rz=&xLub=@P9|>SnG-XI=XH5(iUzM?a)ReK!<2-SALlPvSDPO` zo^LPN^20)MR?r-Y7~iQ9691GN_3zgy75`^uu#+i$ow9J_MxdV=JYD@<);T3K0RXF~ Bf1wopSeg*W=+@xjY^47L!(Yb+RciH6pYGj6G2$v z!dw)ATNm9I(W2-AMg#^CiAfg|va*Ygg&9f*)Q&xB12pLZHXIddppJr_^nq_HU4Sh4nTH@hqE^Ktk) ze^X+-lM_3Zvt>!zc(J~%mrX}+6160&GrW|o&m@qR1VC$7Kc}ueqyA|x0M+IB8aoBal^_DkiO0qLQ1BHfZDNHN& zuh?u_itX#>qbW(ScFeuR(`AthnM zBy2*yn5m@!xE-H0v(7pfo9^KO8MVba#o zho%(slHG_kffR(2+-Pjari+-f<|UK2%8zA9&Q#sSrVDO8e2q|&Remp`q+kIqhntsT9*2g$B{c*^OytY?-4Pg0JulF{4|Q7O&64JTS3{D z?B7`h=FnCD2;ZC;6CwXo9|lK=T9Txx@i-l}3HN^% a|EHfFC@25{*n_?R0000pcem literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/transient_co.png b/org.eclipse.lsp4e/icons/full/ovr16/transient_co.png new file mode 100644 index 0000000000000000000000000000000000000000..3a5e1cd193613ff1e555b451b05b1163cac4bba8 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK^0Pf%978x} z)}A@Y+vFhPdhvU&l6A82mt@u)%|>0(3mu{nXHtZm{~0(J-DMKG_w7k6vzqLBi31ij z|DIemb3Gu_{9IzrzG~rS;pX%Q)ux+wt1wzFefq89n$c#jNqVnCyecQ(dsx(#?yoQX ahw;H#%jIzf6?1^rGI+ZBxvXh8+iJ*FE!3Itkxdi_=c1RhBJ|MSy*(o~DNw<32=Zv=vc zd+tik{t_<6#@2Q|qsfMcho>hZreV!HZEj^{W%*5SfadHsFfb@sob3{R{7?h)pP!$_ vr;D65dBmR@l_6tQ_ow&1o7$dD6$}g>NjB|{W;V${_b_<6`njxgN@xNA^W{y2 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png b/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1efcba467c89e8cbe0f7d59650eb3d3117c6d4 GIT binary patch literal 8349 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 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/volatile_co.png b/org.eclipse.lsp4e/icons/full/ovr16/volatile_co.png new file mode 100644 index 0000000000000000000000000000000000000000..1f22dfaa2da466d897348d192a67697b74ba797d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgy}ss9(~Z`R8rj<3*HS;rIm}N!`b2uojBhMP@ea2WxcV9sHrxzrb5#5B zoF_TqQugserV~BK&F4!0eNg{~_t!2_bDBlvuz=C+?%p+%rktsW*=~8jX_8&{uZZ<~YR+x|x`@Hk)z4*}Q$iB} Ds#{N# literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/volatile_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/volatile_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d930a9c71092dace2ee8ad769321f08fc5205807 GIT binary patch literal 370 zcmV-&0ge8NP))tz$#q`QBilyK3oagDB`o#c5M9$+W5fK@R zO42T0_o^-Ri~MJiF#4Mq^Wq{RV)u@}LH6MEXE8B0A|fJ{nWdJigppLH7Fw9*0=5DC za+Q4NAVz7P)^>1t-q^(`%|*ume!1$#Cj#^Wb%4rj4x=>1WQMT*O7!M)*^|X6&F%D} zlLDa6U7Z97Y>i?vgHf8hxmE7x*D*>{=pH7pH7Djizv}@v0FNtMO*oOJkVs>c=3#l$ zNfzj8tpTzCjUc4dKaNovqcqp4Q5r$$#EG`u0Q&$hN9IGchi6W@0zAjQ10kOKh9%Iw Qxc~qF07*qoM6N<$g774tYXATM literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerPlugin.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerPlugin.java index 0e95f700c..fe59b9bcb 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerPlugin.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerPlugin.java @@ -64,8 +64,13 @@ public void start(BundleContext context) throws Exception { @Override public void stop(BundleContext context) throws Exception { plugin = null; - LanguageServiceAccessor.shutdownAllDispatchers(); - super.stop(context); + try { + LanguageServiceAccessor.shutdownAllDispatchers(); + LSPImages.dispose(); + } + finally { + super.stop(context); + } } /** diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/callhierarchy/CallHierarchyLabelProvider.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/callhierarchy/CallHierarchyLabelProvider.java index cc874037c..ba671714c 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/callhierarchy/CallHierarchyLabelProvider.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/callhierarchy/CallHierarchyLabelProvider.java @@ -29,7 +29,7 @@ public class CallHierarchyLabelProvider extends LabelProvider implements IStyled public @Nullable Image getImage(final @Nullable Object element) { if (element instanceof CallHierarchyViewTreeNode treeNode) { CallHierarchyItem callContainer = treeNode.getCallContainer(); - Image res = LSPImages.imageFromSymbolKind(callContainer.getKind()); + Image res = LSPImages.getImageFor(callContainer.getKind(), callContainer.getTags()); if (res != null) { return res; } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/internal/SupportedFeatures.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/internal/SupportedFeatures.java index f674b4eed..f8c3615c8 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/internal/SupportedFeatures.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/internal/SupportedFeatures.java @@ -57,6 +57,8 @@ import org.eclipse.lsp4j.SymbolCapabilities; import org.eclipse.lsp4j.SymbolKind; import org.eclipse.lsp4j.SymbolKindCapabilities; +import org.eclipse.lsp4j.SymbolTag; +import org.eclipse.lsp4j.SymbolTagSupportCapabilities; import org.eclipse.lsp4j.SynchronizationCapabilities; import org.eclipse.lsp4j.TextDocumentClientCapabilities; import org.eclipse.lsp4j.TypeDefinitionCapabilities; @@ -120,6 +122,7 @@ public static TextDocumentClientCapabilities getTextDocumentClientCapabilities() final var documentSymbol = new DocumentSymbolCapabilities(); documentSymbol.setHierarchicalDocumentSymbolSupport(true); documentSymbol.setSymbolKind(new SymbolKindCapabilities(List.of(SymbolKind.values()))); + documentSymbol.setTagSupport(new SymbolTagSupportCapabilities(List.of(SymbolTag.values()))); textDocumentClientCapabilities.setDocumentSymbol(documentSymbol); final var foldingRangeCapabilities = new FoldingRangeCapabilities(); foldingRangeCapabilities.setLineFoldingOnly(true); @@ -153,7 +156,9 @@ public static WorkspaceClientCapabilities getWorkspaceClientCapabilities() { workspaceClientCapabilities.setApplyEdit(true); workspaceClientCapabilities.setConfiguration(true); workspaceClientCapabilities.setExecuteCommand(new ExecuteCommandCapabilities(true)); - workspaceClientCapabilities.setSymbol(new SymbolCapabilities(true)); + SymbolCapabilities symbolCapabilities = new SymbolCapabilities(true); + symbolCapabilities.setTagSupport(new SymbolTagSupportCapabilities(List.of(SymbolTag.values()))); + workspaceClientCapabilities.setSymbol(symbolCapabilities); workspaceClientCapabilities.setWorkspaceFolders(true); final var editCapabilities = new WorkspaceEditCapabilities(); diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/SymbolsUtil.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/SymbolsUtil.java new file mode 100644 index 000000000..884645904 --- /dev/null +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/SymbolsUtil.java @@ -0,0 +1,188 @@ +/******************************************************************************* + * Copyright (c) 2024 Advantest GmbH and others. + * This program and the accompanying materials are made + * available under the terms of the Eclipse Public License 2.0 + * which is available at https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Dietrich Travkin (Solunar GmbH) - initial implementation + *******************************************************************************/ +package org.eclipse.lsp4e.operations.symbols; + +import java.util.Collections; +import java.util.List; + +import org.eclipse.lsp4e.outline.SymbolsModel.DocumentSymbolWithURI; +import org.eclipse.lsp4j.DocumentSymbol; +import org.eclipse.lsp4j.SymbolInformation; +import org.eclipse.lsp4j.SymbolKind; +import org.eclipse.lsp4j.SymbolTag; +import org.eclipse.lsp4j.WorkspaceSymbol; + +public class SymbolsUtil { + + public static SymbolKind getKind(SymbolInformation symbolInformation) { + return symbolInformation.getKind(); + } + + public static SymbolKind getKind(WorkspaceSymbol workspaceSymbol) { + return workspaceSymbol.getKind(); + } + + public static SymbolKind getKind(DocumentSymbol documentSymbol) { + return documentSymbol.getKind(); + } + + public static SymbolKind getKind(DocumentSymbolWithURI documentSymbolWithUri) { + return getKind(documentSymbolWithUri.symbol); + } + + public static List getSymbolTags(SymbolInformation symbolInformation) { + if (symbolInformation.getTags() != null) { + return symbolInformation.getTags(); + } + + return Collections.emptyList(); + } + + public static List getSymbolTags(WorkspaceSymbol workspaceSymbol) { + if (workspaceSymbol.getTags() != null) { + return workspaceSymbol.getTags(); + } + + return Collections.emptyList(); + } + + public static List getSymbolTags(DocumentSymbol documentSymbol) { + if (documentSymbol.getTags() != null) { + return documentSymbol.getTags(); + } + + return Collections.emptyList(); + } + + public static List getSymbolTags(DocumentSymbolWithURI documentSymbolWithUri) { + return getSymbolTags(documentSymbolWithUri.symbol); + } + + public static boolean hasSymbolTag(List tagList, SymbolTag tag) { + return tagList.contains(tag); + } + + public static boolean hasSymbolTag(SymbolInformation symbolInformation, SymbolTag tag) { + return getSymbolTags(symbolInformation).contains(tag); + } + + public static boolean hasSymbolTag(WorkspaceSymbol workspaceSymbol, SymbolTag tag) { + return getSymbolTags(workspaceSymbol).contains(tag); + } + + public static boolean hasSymbolTag(DocumentSymbol documentSymbol, SymbolTag tag) { + return getSymbolTags(documentSymbol).contains(tag); + } + + public static boolean hasSymbolTag(DocumentSymbolWithURI documentSymbolWithUri, SymbolTag tag) { + return getSymbolTags(documentSymbolWithUri).contains(tag); + } + + public static boolean isDeprecated(SymbolInformation symbolInformation) { + boolean deprecated = isDeprecated(getSymbolTags(symbolInformation)); + return deprecated || (symbolInformation.getDeprecated() == null ? false: symbolInformation.getDeprecated()); + } + + public static boolean isDeprecated(WorkspaceSymbol workspaceSymbol) { + return isDeprecated(getSymbolTags(workspaceSymbol)); + } + + public static boolean isDeprecated(DocumentSymbol documentSymbol) { + boolean deprecated = isDeprecated(getSymbolTags(documentSymbol)); + return deprecated || (documentSymbol.getDeprecated() == null ? false: documentSymbol.getDeprecated()); + } + + public static boolean isDeprecated(DocumentSymbolWithURI documentSymbolWithUri) { + return isDeprecated(documentSymbolWithUri.symbol); + } + + public static boolean isDeprecated(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Deprecated); + } + + public static boolean isPrivate(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Private); + } + + public static boolean isPackage(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Package); + } + + public static boolean isProtected(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Protected); + } + + public static boolean isPublic(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Public); + } + + public static boolean isInternal(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Internal); + } + + public static boolean isFileVisible(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.File); + } + + public static boolean isStatic(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Static); + } + + public static boolean isAbstract(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Abstract); + } + + public static boolean isFinal(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Final); + } + + public static boolean isSealed(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Sealed); + } + + public static boolean isTransient(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Transient); + } + + public static boolean isVolatile(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Volatile); + } + + public static boolean isSynchronized(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Synchronized); + } + + public static boolean isVirtual(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Virtual); + } + + public static boolean isNullable(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Nullable); + } + + public static boolean isNonNull(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.NonNull); + } + + public static boolean isDeclaration(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Declaration); + } + + public static boolean isDefinition(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.Definition); + } + + public static boolean isReadOnly(List tags) { + return SymbolsUtil.hasSymbolTag(tags, SymbolTag.ReadOnly); + } + +} diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/typeHierarchy/TypeHierarchyItemLabelProvider.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/typeHierarchy/TypeHierarchyItemLabelProvider.java index 1cea86359..c4f4841cd 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/typeHierarchy/TypeHierarchyItemLabelProvider.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/typeHierarchy/TypeHierarchyItemLabelProvider.java @@ -29,7 +29,7 @@ public String getText(Object element) { @Override public @Nullable Image getImage(@Nullable Object element) { if (element instanceof TypeHierarchyItem item) { - return LSPImages.imageFromSymbolKind(item.getKind()); + return LSPImages.getImageFor(item.getKind(), item.getTags()); } return element == null ? null : super.getImage(element); } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java index 69720ffbc..b53341f7e 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java @@ -11,16 +11,15 @@ *******************************************************************************/ package org.eclipse.lsp4e.outline; -import static org.eclipse.lsp4e.LSPEclipseUtils.findResourceFor; -import static org.eclipse.lsp4e.internal.NullSafetyHelper.castNullable; +import static org.eclipse.lsp4e.LSPEclipseUtils.*; import java.net.URI; import java.util.Arrays; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; @@ -35,9 +34,7 @@ import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.viewers.DecorationOverlayIcon; import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider; -import org.eclipse.jface.viewers.IDecoration; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.LabelProviderChangedEvent; @@ -45,6 +42,7 @@ import org.eclipse.lsp4e.LSPEclipseUtils; import org.eclipse.lsp4e.LanguageServerPlugin; import org.eclipse.lsp4e.internal.StyleUtil; +import org.eclipse.lsp4e.operations.symbols.SymbolsUtil; import org.eclipse.lsp4e.outline.SymbolsModel.DocumentSymbolWithURI; import org.eclipse.lsp4e.ui.LSPImages; import org.eclipse.lsp4e.ui.Messages; @@ -87,11 +85,7 @@ public class SymbolsLabelProvider extends LabelProvider LanguageServerPlugin.logError(ex); } }; - /* - * key: initial object image - * value: array of images decorated with marker for severity (index + 1) - */ - private final Map overlays = new HashMap<>(); + private final Map resourceCache = new HashMap<>(); private final boolean showLocation; @@ -114,14 +108,16 @@ public SymbolsLabelProvider(boolean showLocation, boolean showKind) { public void dispose() { ResourcesPlugin.getWorkspace().removeResourceChangeListener(listener); InstanceScope.INSTANCE.getNode(LanguageServerPlugin.PLUGIN_ID).removePreferenceChangeListener(this); - overlays.values().stream().flatMap(Arrays::stream).filter(Objects::nonNull).forEach(Image::dispose); - overlays.clear(); super.dispose(); } @Override public @Nullable Image getImage(@Nullable Object element) { - if (element == null) { + // If needed, we could use more overlays like in org.eclipse.jdt.ui.JavaElementImageDescriptor, + // but this would demand more space in various views. + // See guidelines, Section "Icon Overlays": https://www.eclipse.org/articles/Article-UI-Guidelines/Contents.html + + if (element == null){ return null; } if (element instanceof PendingUpdateAdapter) { @@ -133,26 +129,48 @@ public void dispose() { if (element instanceof Either either) { element = either.get(); } + SymbolKind symbolKind = null; + List symbolTags = Collections.emptyList(); + boolean deprecated = false; + if (element instanceof SymbolInformation info) { + symbolKind = SymbolsUtil.getKind(info); + symbolTags = SymbolsUtil.getSymbolTags(info); + deprecated = SymbolsUtil.isDeprecated(info); + } else if (element instanceof WorkspaceSymbol symbol) { + symbolKind = SymbolsUtil.getKind(symbol); + symbolTags = SymbolsUtil.getSymbolTags(symbol); + deprecated = SymbolsUtil.isDeprecated(symbol); + } else if (element instanceof DocumentSymbol symbol) { + symbolKind = SymbolsUtil.getKind(symbol); + symbolTags = SymbolsUtil.getSymbolTags(symbol); + deprecated = SymbolsUtil.isDeprecated(symbol); + } else if (element instanceof DocumentSymbolWithURI symbolWithURI) { + symbolKind = SymbolsUtil.getKind(symbolWithURI); + symbolTags = SymbolsUtil.getSymbolTags(symbolWithURI); + deprecated = SymbolsUtil.isDeprecated(symbolWithURI); + } + + if (element != null && symbolKind != null) { + return LSPImages.getImageFor(symbolKind, symbolTags, deprecated, getMaxSeverity(element)); + } + + return null; + } - Image image = null; + private int getMaxSeverity(Object element) { IResource file = null; if (element instanceof SymbolInformation info) { - image = LSPImages.imageFromSymbolKind(info.getKind()); file = resourceCache.computeIfAbsent(info.getLocation().getUri(), uri -> findResourceFor((String) uri)); } else if (element instanceof WorkspaceSymbol symbol) { - image = LSPImages.imageFromSymbolKind(symbol.getKind()); file = resourceCache.computeIfAbsent(getUri(symbol), uri -> findResourceFor((String) uri)); - } else if (element instanceof DocumentSymbol symbol) { - image = LSPImages.imageFromSymbolKind(symbol.getKind()); } else if (element instanceof DocumentSymbolWithURI symbolWithURI) { - image = LSPImages.imageFromSymbolKind(symbolWithURI.symbol.getKind()); file = resourceCache.computeIfAbsent(symbolWithURI.uri, uri -> findResourceFor((URI) uri)); } /* * Implementation node: for problem decoration, maybe consider using a ILabelDecorator/IDelayedLabelDecorator? */ - if (file != null && image != null) { + if (file != null) { Range range = null; if (element instanceof SymbolInformation symbol) { range = symbol.getLocation().getRange(); @@ -163,6 +181,7 @@ public void dispose() { } else if (element instanceof DocumentSymbolWithURI symbolWithURI) { range = symbolWithURI.symbol.getRange(); } + if (range != null) { try { // use existing documents only to calculate the severity @@ -171,17 +190,14 @@ public void dispose() { IDocument doc = LSPEclipseUtils.getExistingDocument(file); if (doc != null) { - int maxSeverity = getMaxSeverity(file, doc, range); - if (maxSeverity > IMarker.SEVERITY_INFO) { - return getOverlay(image, maxSeverity); - } + return getMaxSeverity(file, doc, range); } } catch (CoreException | BadLocationException e) { LanguageServerPlugin.logError(e); } } } - return image; + return -1; } protected int getMaxSeverity(IResource resource, IDocument doc, Range range) @@ -228,24 +244,6 @@ private void refreshMarkersByLine(IResource resource) throws CoreException { severities.put(resource, rangeMap); } - private Image getOverlay(Image res, int maxSeverity) { - if (maxSeverity != 1 && maxSeverity != 2) { - throw new IllegalArgumentException("Severity " + maxSeverity + " not supported."); //$NON-NLS-1$ //$NON-NLS-2$ - } - Image[] currentOverlays = this.overlays.computeIfAbsent(res, key -> new Image [2]); - if (castNullable(currentOverlays[maxSeverity - 1]) == null) { - String overlayId = null; - if (maxSeverity == IMarker.SEVERITY_ERROR) { - overlayId = ISharedImages.IMG_DEC_FIELD_ERROR; - } else if (maxSeverity == IMarker.SEVERITY_WARNING) { - overlayId = ISharedImages.IMG_DEC_FIELD_WARNING; - } - currentOverlays[maxSeverity - 1] = new DecorationOverlayIcon(res, - LSPImages.getSharedImageDescriptor(overlayId), IDecoration.BOTTOM_LEFT).createImage(); - } - return currentOverlays[maxSeverity - 1]; - } - @Override public String getText(Object element) { return getStyledText(element).getString(); @@ -279,7 +277,7 @@ public StyledString getStyledText(@Nullable Object element) { if (element instanceof SymbolInformation symbolInformation) { name = symbolInformation.getName(); kind = symbolInformation.getKind(); - deprecated = isDeprecated(symbolInformation.getTags()) || symbolInformation.getDeprecated() != null && symbolInformation.getDeprecated(); + deprecated = SymbolsUtil.isDeprecated(symbolInformation); try { location = URI.create(symbolInformation.getLocation().getUri()); } catch (IllegalArgumentException e) { @@ -289,7 +287,7 @@ public StyledString getStyledText(@Nullable Object element) { name = workspaceSymbol.getName(); kind = workspaceSymbol.getKind(); String rawUri = getUri(workspaceSymbol); - deprecated = isDeprecated(workspaceSymbol.getTags()); + deprecated = SymbolsUtil.isDeprecated(workspaceSymbol); try { location = URI.create(rawUri); } catch (IllegalArgumentException e) { @@ -299,13 +297,13 @@ public StyledString getStyledText(@Nullable Object element) { name = documentSymbol.getName(); kind = documentSymbol.getKind(); detail = documentSymbol.getDetail(); - deprecated = isDeprecated(documentSymbol.getTags()) || documentSymbol.getDeprecated() != null && documentSymbol.getDeprecated(); + deprecated = SymbolsUtil.isDeprecated(documentSymbol); } else if (element instanceof DocumentSymbolWithURI symbolWithURI) { name = symbolWithURI.symbol.getName(); kind = symbolWithURI.symbol.getKind(); detail = symbolWithURI.symbol.getDetail(); location = symbolWithURI.uri; - deprecated = isDeprecated(symbolWithURI.symbol.getTags()) || symbolWithURI.symbol.getDeprecated() != null && symbolWithURI.symbol.getDeprecated(); + deprecated = SymbolsUtil.isDeprecated(symbolWithURI); } if (name != null) { if (deprecated) { @@ -332,13 +330,6 @@ public StyledString getStyledText(@Nullable Object element) { return res; } - private boolean isDeprecated(@Nullable List tags) { - if(tags != null){ - return tags.contains(SymbolTag.Deprecated); - } - return false; - } - @Override public void restoreState(final IMemento aMemento) { } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java index 88bb6bfcf..95707b61a 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java @@ -8,23 +8,35 @@ * * Contributors: * Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation + * Dietrich Travkin (Solunar GmbH) - add overlay images computation, dispose cached images *******************************************************************************/ package org.eclipse.lsp4e.ui; import java.net.URL; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.eclipse.core.resources.IMarker; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.jface.viewers.DecorationOverlayIcon; import org.eclipse.lsp4e.LSPEclipseUtils; import org.eclipse.lsp4e.LanguageServerPlugin; +import org.eclipse.lsp4e.operations.symbols.SymbolsUtil; import org.eclipse.lsp4j.CompletionItem; import org.eclipse.lsp4j.SymbolKind; +import org.eclipse.lsp4j.SymbolTag; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; @@ -40,10 +52,24 @@ private LSPImages() { } private static @Nullable ImageRegistry imageRegistry; + private static final Map colorToImageCache = new HashMap<>(); + + /** + * Cache for symbol images with various overlays and / or an underlay. + * + * First key: the element's kind (e.g. class or method); + * Second key: hash value calculated for a set of overlay image descriptors, + * see {@link #getImageWithOverlays(SymbolKind, ImageDescriptor[])}; + * Value: the base image with overlays and an optional underlay combined in one image. + */ + private static final Map> overlayImagesCache = new HashMap<>(); + private static final String ICONS_PATH = "$nl$/icons/full/"; //$NON-NLS-1$ private static final String OBJECT = ICONS_PATH + "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ private static final String ACTION = ICONS_PATH + "elcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ + private static final String OVERLAY = ICONS_PATH + "ovr16/"; // basic colors - size 7x8 and 14x16 //$NON-NLS-1$ + private static final Image EMPTY_IMAGE = new Image(UI.getDisplay(), 16, 16); public static final String IMG_MODULE = "IMG_MODULE"; //$NON-NLS-1$ @@ -80,6 +106,30 @@ private LSPImages() { public static final String IMG_SUPERTYPE = "IMG_SUPERTYPE"; //$NON-NLS-1$ public static final String IMG_SUBTYPE = "IMG_SUBTYPE"; //$NON-NLS-1$ + public static final String IMG_OVR_DEPRECATED = "IMG_OVR_DEPRECATED"; //$NON-NLS-1$ + public static final String IMG_OVR_PRIVATE = "IMG_OVR_PRIVATE"; //$NON-NLS-1$ + public static final String IMG_OVR_PACKAGE = "IMG_OVR_PACKAGE"; //$NON-NLS-1$ + public static final String IMG_OVR_PROTECTED = "IMG_OVR_PROTECTED"; //$NON-NLS-1$ + public static final String IMG_OVR_PUBLIC = "IMG_OVR_PUBLIC"; //$NON-NLS-1$ + public static final String IMG_OVR_INTERNAL = "IMG_OVR_INTERNAL"; //$NON-NLS-1$ + public static final String IMG_OVR_FILE_VIS = "IMG_OVR_FILE_VIS"; //$NON-NLS-1$ + public static final String IMG_OVR_ABSTRACT = "IMG_OVR_ABSTRACT"; //$NON-NLS-1$ + public static final String IMG_OVR_VIRTUAL = "IMG_OVR_VIRTUAL"; //$NON-NLS-1$ + public static final String IMG_OVR_FINAL = "IMG_OVR_FINAL"; //$NON-NLS-1$ + public static final String IMG_OVR_SEALED = "IMG_OVR_SEALED"; //$NON-NLS-1$ + public static final String IMG_OVR_STATIC = "IMG_OVR_STATIC"; //$NON-NLS-1$ + public static final String IMG_OVR_SYNC = "IMG_OVR_SYNC"; //$NON-NLS-1$ + public static final String IMG_OVR_TRANSIENT = "IMG_OVR_TRANSIENT"; //$NON-NLS-1$ + public static final String IMG_OVR_VOLATILE = "IMG_OVR_VOLATILE"; //$NON-NLS-1$ + public static final String IMG_OVR_NULLABLE = "IMG_OVR_NULLABLE"; //$NON-NLS-1$ + public static final String IMG_OVR_NON_NULL = "IMG_OVR_NON_NULL"; //$NON-NLS-1$ + public static final String IMG_OVR_DECLARATION = "IMG_OVR_DECLARATION"; //$NON-NLS-1$ + public static final String IMG_OVR_DEFINITION = "IMG_OVR_DEFINITION"; //$NON-NLS-1$ + public static final String IMG_OVR_READ_ONLY = "IMG_OVR_READ_ONLY"; //$NON-NLS-1$ + public static final String IMG_OVR_IMPLEMENT = "IMG_OVR_IMPLEMENT"; //$NON-NLS-1$ + public static final String IMG_OVR_OVERRIDE = "IMG_OVR_OVERRIDE"; //$NON-NLS-1$ + + public static void initalize(ImageRegistry registry) { imageRegistry = registry; @@ -116,6 +166,29 @@ public static void initalize(ImageRegistry registry) { declareRegistryImage(IMG_SUPERTYPE, ACTION + "super_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_SUBTYPE, ACTION + "sub_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_TERMINATE_CO, OBJECT + "terminate_co.png"); //$NON-NLS-1$ + + declareRegistryImage(IMG_OVR_DEPRECATED, OVERLAY + "deprecated.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PRIVATE, OVERLAY + "private_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PACKAGE, OVERLAY + "package_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PROTECTED, OVERLAY + "protected_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PUBLIC, OVERLAY + "public_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_INTERNAL, OVERLAY + "internal_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_FILE_VIS, OVERLAY + "file_visable_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_ABSTRACT, OVERLAY + "abstract_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_VIRTUAL, OVERLAY + "virtual_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_FINAL, OVERLAY + "final_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_SEALED, OVERLAY + "sealed_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_STATIC, OVERLAY + "static_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_SYNC, OVERLAY + "synch_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_TRANSIENT, OVERLAY + "transient_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_VOLATILE, OVERLAY + "volatile_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_NULLABLE, OVERLAY + "nullable_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_NON_NULL, OVERLAY + "non_null_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_DECLARATION, OVERLAY + "declaration_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_DEFINITION, OVERLAY + "definition_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_READ_ONLY, OVERLAY + "read_only_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_IMPLEMENT, OVERLAY + "implement_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_OVERRIDE, OVERLAY + "override_co.png"); //$NON-NLS-1$ } private static void declareRegistryImage(String key, String path) { @@ -235,6 +308,58 @@ public static ImageRegistry getImageRegistry() { }; } + public static @Nullable Image imageOverlayFromSymbolTag(SymbolTag symbolTag) { + return switch (symbolTag) { + case Deprecated -> getImage(IMG_OVR_DEPRECATED); + case Private -> getImage(IMG_OVR_PRIVATE); + case Package -> getImage(IMG_OVR_PACKAGE); + case Protected -> getImage(IMG_OVR_PROTECTED); + case Public -> getImage(IMG_OVR_PUBLIC); + case Internal -> getImage(IMG_OVR_INTERNAL); + case File -> getImage(IMG_OVR_FILE_VIS); + case Static -> getImage(IMG_OVR_STATIC); + case Abstract -> getImage(IMG_OVR_ABSTRACT); + case Final -> getImage(IMG_OVR_FINAL); + case Sealed -> getImage(IMG_OVR_SEALED); + case Transient -> getImage(IMG_OVR_TRANSIENT); + case Volatile -> getImage(IMG_OVR_VOLATILE); + case Synchronized -> getImage(IMG_OVR_SYNC); + case Virtual -> getImage(IMG_OVR_VIRTUAL); + case Nullable -> getImage(IMG_OVR_NULLABLE); + case NonNull -> getImage(IMG_OVR_NON_NULL); + case Declaration -> getImage(IMG_OVR_DECLARATION); + case Definition -> getImage(IMG_OVR_DEFINITION); + case ReadOnly -> getImage(IMG_OVR_READ_ONLY); + default -> null; + }; + } + + public static @Nullable ImageDescriptor imageDescriptorOverlayFromSymbolTag(SymbolTag symbolTag) { + return switch (symbolTag) { + case Deprecated -> getImageDescriptor(IMG_OVR_DEPRECATED); + case Private -> getImageDescriptor(IMG_OVR_PRIVATE); + case Package -> getImageDescriptor(IMG_OVR_PACKAGE); + case Protected -> getImageDescriptor(IMG_OVR_PROTECTED); + case Public -> getImageDescriptor(IMG_OVR_PUBLIC); + case Internal -> getImageDescriptor(IMG_OVR_INTERNAL); + case File -> getImageDescriptor(IMG_OVR_FILE_VIS); + case Static -> getImageDescriptor(IMG_OVR_STATIC); + case Abstract -> getImageDescriptor(IMG_OVR_ABSTRACT); + case Final -> getImageDescriptor(IMG_OVR_FINAL); + case Sealed -> getImageDescriptor(IMG_OVR_SEALED); + case Transient -> getImageDescriptor(IMG_OVR_TRANSIENT); + case Volatile -> getImageDescriptor(IMG_OVR_VOLATILE); + case Synchronized -> getImageDescriptor(IMG_OVR_SYNC); + case Virtual -> getImageDescriptor(IMG_OVR_VIRTUAL); + case Nullable -> getImageDescriptor(IMG_OVR_NULLABLE); + case NonNull -> getImageDescriptor(IMG_OVR_NON_NULL); + case Declaration -> getImageDescriptor(IMG_OVR_DECLARATION); + case Definition -> getImageDescriptor(IMG_OVR_DEFINITION); + case ReadOnly -> getImageDescriptor(IMG_OVR_READ_ONLY); + default -> null; + }; + } + private static @Nullable Image getImageForColor(CompletionItem completionItem) { String hexValue = null; @@ -269,4 +394,183 @@ public static ImageRegistry getImageRegistry() { return image; }); } + + private static final List VISIBILITY_PRECEDENCE = Arrays.asList(new SymbolTag[] { + SymbolTag.Public, SymbolTag.Protected, SymbolTag.Package, SymbolTag.Private, + SymbolTag.Internal, SymbolTag.File }); + + // precedence for remaining symbol tags (without visibility tags and deprecation tag) + private static final List ADDITIONAL_TAGS_PRECEDENCE = Arrays.asList(new SymbolTag[] { + SymbolTag.Static, SymbolTag.Abstract, SymbolTag.Virtual, SymbolTag.Final, SymbolTag.Sealed, + SymbolTag.Synchronized, SymbolTag.Transient, SymbolTag.Volatile, + SymbolTag.Nullable, SymbolTag.NonNull, SymbolTag.ReadOnly, + SymbolTag.Declaration, SymbolTag.Definition }); + + private static class VisibilitySymbolTagComparator implements Comparator { + @Override + public int compare(SymbolTag tag1, SymbolTag tag2) { + return VISIBILITY_PRECEDENCE.indexOf(tag1) - VISIBILITY_PRECEDENCE.indexOf(tag2); + } + } + + private static class AdditionalSymbolTagComparator implements Comparator { + @Override + public int compare(SymbolTag tag1, SymbolTag tag2) { + return ADDITIONAL_TAGS_PRECEDENCE.indexOf(tag1) - ADDITIONAL_TAGS_PRECEDENCE.indexOf(tag2); + } + } + + private static List getVisibilitySymbolTagsSorted(List symbolTags) { + return symbolTags.stream() + .filter(tag -> VISIBILITY_PRECEDENCE.contains(tag)) + .sorted(new VisibilitySymbolTagComparator()) + .collect(Collectors.toList()); + } + + private static List getAdditionalSymbolTagsSorted(List symbolTags) { + return symbolTags.stream() + .filter(tag -> ADDITIONAL_TAGS_PRECEDENCE.contains(tag)) + .sorted(new AdditionalSymbolTagComparator()) + .collect(Collectors.toList()); + } + + private static @Nullable ImageDescriptor getOverlayForVisibility(List symbolTags) { + List visibilityTags = getVisibilitySymbolTagsSorted(symbolTags); + + if (visibilityTags.isEmpty()) { + return null; + } + + SymbolTag highestPrioVisibilityTag = visibilityTags.get(0); + return LSPImages.imageDescriptorOverlayFromSymbolTag(highestPrioVisibilityTag); + } + + private static @Nullable ImageDescriptor getOverlayForMarkerSeverity(int severity) { + if (severity != IMarker.SEVERITY_WARNING && severity != IMarker.SEVERITY_ERROR) { + return null; + } + + String overlayId = null; + if (severity == IMarker.SEVERITY_ERROR) { + overlayId = ISharedImages.IMG_DEC_FIELD_ERROR; + } else if (severity == IMarker.SEVERITY_WARNING) { + overlayId = ISharedImages.IMG_DEC_FIELD_WARNING; + } + + if (overlayId != null) { + return LSPImages.getSharedImageDescriptor(overlayId); + } + return null; + } + + private static @Nullable ImageDescriptor getUnderlayForDeprecation(boolean deprecated) { + if (!deprecated) { + return null; + } + return LSPImages.imageDescriptorOverlayFromSymbolTag(SymbolTag.Deprecated); + } + + private static @Nullable Image getImageWithOverlays(SymbolKind symbolKind, ImageDescriptor @Nullable[] overlays) { + Image baseImage = LSPImages.imageFromSymbolKind(symbolKind); + + if (baseImage == null) { + return null; + } + + @SuppressWarnings("null") + long numOverlays = Arrays.stream(overlays) + // Despite the IDE's warning, this null check were not necessary, this check is needed, + // since the array entries could be null. + .filter(e -> e != null).count(); + if (numOverlays == 0) { + return baseImage; + } + + int hashCode = Arrays.hashCode(overlays); + + Map overlayImagesForSymbolKind = overlayImagesCache.computeIfAbsent(symbolKind, + kind -> new HashMap<>()); + + return overlayImagesForSymbolKind.computeIfAbsent(hashCode, + hash -> new DecorationOverlayIcon(baseImage, overlays).createImage()); + } + + /** + * Returns an image for the given arguments. + * + * @param symbolKind the kind of symbol + * @param symbolTags the symbol tags + * @return a new or cached image for the given symbol kind with overlay icons computed for the given arguments. + * + * @see #getImageFor(SymbolKind, List, boolean, int) + */ + public static @Nullable Image getImageFor(@Nullable SymbolKind symbolKind, @Nullable List symbolTags) { + return getImageFor(symbolKind, symbolTags, false, -1); + } + + /** + * Returns an image for the given arguments. + * Uses caching for all combinations of a symbol kind and a set of overlays. + * Deprecation is shown if the deprecated parameter is true + * or {@link SymbolTag#Deprecated} is in the set of symbol tags. + * + * @param symbolKind the kind of symbol + * @param symbolTags the symbol tags + * @param deprecated whether to add a deprecation overlay icon even if there is no {@link SymbolTag#Deprecated} in the tags. + * @param severity one of -1, {@link IMarker#SEVERITY_WARNING}, and {@link IMarker#SEVERITY_ERROR}. -1 indicates no overlay icon. + * @return a new or cached image for the given symbol kind with overlay icons computed for the given arguments. + */ + public static @Nullable Image getImageFor(@Nullable SymbolKind symbolKind, @Nullable List symbolTags, + boolean deprecated, int severity) { + + if (symbolKind == null) { + return EMPTY_IMAGE; + } + + if (symbolTags == null) { + symbolTags = Collections.emptyList(); + } + + ImageDescriptor severityImageDescriptor = getOverlayForMarkerSeverity(severity); + ImageDescriptor visibilityImageDescriptor = getOverlayForVisibility(symbolTags); + ImageDescriptor deprecatedImageDescriptor = getUnderlayForDeprecation(deprecated || SymbolsUtil.isDeprecated(symbolTags)); + + List additionalTags = getAdditionalSymbolTagsSorted(symbolTags); + ImageDescriptor topRightOverlayDescriptor = null; + ImageDescriptor bottomRightOverlayDescriptor = null; + + if (!additionalTags.isEmpty()) { + topRightOverlayDescriptor = LSPImages.imageDescriptorOverlayFromSymbolTag(additionalTags.get(0)); + + if (SymbolKind.Constructor.equals(symbolKind)) { + // constructor base image has a built-in overlay in the top right corner, use bottom right instead + bottomRightOverlayDescriptor = topRightOverlayDescriptor; + topRightOverlayDescriptor = null; + } else if (additionalTags.size() > 1) { + bottomRightOverlayDescriptor = LSPImages.imageDescriptorOverlayFromSymbolTag(additionalTags.get(1)); + } + } + + // array index: 0 = top left, 1 = top right, 2 = bottom left, 3 = bottom right, 4 = underlay + // see IDecoration.TOP_LEFT ... IDecoration.BOTTOM_RIGHT, IDecoration.UNDERLAY + ImageDescriptor @Nullable[] overlays = { + visibilityImageDescriptor, topRightOverlayDescriptor, + severityImageDescriptor, bottomRightOverlayDescriptor, + deprecatedImageDescriptor}; + + return getImageWithOverlays(symbolKind, overlays); + } + + public static final void dispose() { + Stream.concat( + colorToImageCache.values().stream(), + overlayImagesCache.values().stream() + .flatMap(map -> map.values().stream())) + .filter(Objects::nonNull) + .forEach(Image::dispose); + overlayImagesCache.values().stream() + .forEach(Map::clear); + overlayImagesCache.clear(); + colorToImageCache.clear(); + } } From 35727f37dd0cce3554275de1cb372f7b76d06301 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 9 Dec 2025 10:59:13 +0100 Subject: [PATCH 05/16] Add SVG and higher resolution PNG images from JDT UI plug-in --- .../icons/full/ovr16/abstract_co.svg | Bin 0 -> 252 bytes org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.svg | Bin 0 -> 262 bytes org.eclipse.lsp4e/icons/full/ovr16/deprecated.svg | Bin 0 -> 182 bytes org.eclipse.lsp4e/icons/full/ovr16/final_co.svg | Bin 0 -> 167 bytes .../icons/full/ovr16/implement_co.svg | Bin 0 -> 237 bytes .../icons/full/ovr16/nullable_co.svg | Bin 0 -> 276 bytes .../icons/full/ovr16/override_co.svg | Bin 0 -> 238 bytes org.eclipse.lsp4e/icons/full/ovr16/package_co.svg | Bin 0 -> 294 bytes .../icons/full/ovr16/package_co@2x.png | Bin 0 -> 536 bytes org.eclipse.lsp4e/icons/full/ovr16/private_co.svg | Bin 0 -> 290 bytes .../icons/full/ovr16/private_co@2x.png | Bin 0 -> 420 bytes .../icons/full/ovr16/protected_co.svg | Bin 0 -> 358 bytes .../icons/full/ovr16/protected_co@2x.png | Bin 0 -> 703 bytes org.eclipse.lsp4e/icons/full/ovr16/public_co.svg | Bin 0 -> 405 bytes .../icons/full/ovr16/public_co@2x.png | Bin 0 -> 783 bytes .../icons/full/ovr16/read_only_co.svg | Bin 0 -> 267 bytes org.eclipse.lsp4e/icons/full/ovr16/sealed_co.svg | Bin 0 -> 200 bytes org.eclipse.lsp4e/icons/full/ovr16/static_co.svg | Bin 0 -> 190 bytes org.eclipse.lsp4e/icons/full/ovr16/synch_co.svg | Bin 0 -> 313 bytes .../icons/full/ovr16/transient_co.svg | Bin 0 -> 176 bytes .../icons/full/ovr16/volatile_co.svg | Bin 0 -> 195 bytes 21 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/abstract_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/deprecated.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/final_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/implement_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/nullable_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/override_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/package_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/package_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/private_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/private_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/protected_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/protected_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/public_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/public_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/read_only_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/sealed_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/static_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/synch_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/transient_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/volatile_co.svg diff --git a/org.eclipse.lsp4e/icons/full/ovr16/abstract_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/abstract_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..1abd0656ddcbf152c378b128ae1f52a71329481b GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@;7_BIEHY{ z3_WAW%~;6L_VIhYar}WKLk-o^r8!1kH}Z_{ZCB_%QY1N3ce~UYpRRY(JC06`zA|-1 z@Tug0M>FefC#f9hn>6Fp7VjxX7`D~TV%BLEU0T?kx?vWx(IlfuNebGY>+C0_uDRVE z?$^NmVW;!2nt*v*ELGFPpL$w*%;&E=_-u!|eGbbt)4jKk1_s~$px|&!;wpFO*HyC7 z-E;X5Bt5?zfBqles!G0xs!R%dT&~zW=f2nI(jGTUa?d)T^BFu{{an^LB{Ts50{LOZ literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.svg b/org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.svg new file mode 100644 index 0000000000000000000000000000000000000000..0c11284368fa19e5fc5f825ee5f7daf9f13919f3 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK^7neWIEHY{ z%ssO(%ZX8@_2c{ZQ}1?qhF!nLW^^!ZA~&DTXT~{ZzENL!O9~ZEL~O|Tz{u8>X%KcK zX=k^Z?jr6@WrfEdtW$W?-G2DI%FTk0-+ur3cj|kQ^O2scWiFrh~^gu&C* K&t;ucLK6Veuy5M{ literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/deprecated.svg b/org.eclipse.lsp4e/icons/full/ovr16/deprecated.svg new file mode 100644 index 0000000000000000000000000000000000000000..0167d83280981c88d7ff39b9e160776b92ea6795 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfY1n$&iO*L^j;F>G?&Di?O->r@l=jOC7v|nHn|G`SH z`r3oe?KiJIYUDSMweDb36i+~mv}hT# c?!TqNmD|_+dC;GK8E7$sr>mdKI;Vst09evLd;kCd literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/final_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/final_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..9ad0a67b9222d0086f19ce1b6107245e081258f9 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJggCac7R2JpHAyfTM7ds(sFB#(=rcTIc2djfuM&G~0Fs zgB?rT#}yM>R95(W{=`=1mHT7;{99MUSN4`{R$-KATz{&dzH(BFywU^DdjY{RZa|wD NJYD@<);T3K0RWgHIXeIV literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/implement_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/implement_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..e1f5f54b0ea5d8858800e0b2c81e006431c3a135 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@|SqJIEHY{ zOg+1w%dwE*=*Q2yr`X@@5u4oW`%-Ob1!H&MnRyL&-|*Tr^4^q4+4*wS>LbECV%`3W z#WSYg;dK4*Ptop0W}$Kni;lZqxio3zMg$%BH4$!$Q6USxfbM1RboFyt=akR{0Q1{l)&Kwi literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/nullable_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/nullable_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..25a8942b3e8cfedd5c185da9b4bb243ae5507679 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@=trZIEHY{ ztUbC{uQ^fVz{mfV=O>FK@8n6GVD201Af1_%WDw!9_v6MdqRzqHdDE`D-}2RH}abj>dGM1}Bz%;^NP^w@&4H zb}sijk7(-Fu)m!S;wPLqa`JPVxXkC?$vL!iUww_79q;_}jfEkqD|#;Pee>v@mi;f* Y-FICJoXxs#0KLWF>FVdQ&MBb@0KWQkIsgCw literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/override_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/override_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..3b149248d757ec16922c008baf2b34468b426e25 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@|SwLIEHY{ zOg+1h&#{o9_2c_|^BA*>%K|i*4(GU;IDX-pln{5Mf`x_OVH2l_h)VfpPnU8Z0gbYL zrvv)6)=v-2UNT7~JZPRgt7re-;=sLDH5S_D>YUss7=jNRYySK)@B8t+KNm{s{+hFO z_k<_r#~yfkeBg0oneEP)W5xH)EAY%J#AzJ6g6C~j^d>)*d}KY#pW`2PI|!}sq$7?^(j zpUW3IM+jX#inGLH7jggo|Eq_Cll?yZt s=70Z#KK%TR&ASYYOiX{UN{ny-091-Y$b#eeJOBUy07*qoM6N<$f~)0(_5c6? literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/package_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/package_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b0967e86a2338d06c4727ddb15a0d9edbf2f089a GIT binary patch literal 536 zcmV+z0_XjSP)3{PJ7;d$+05)EVv;3InkW|Of`zhRXO%`sbhnTc zwkhniSg=u00^VSgsnVno3x9!ySXt>Gun3qUB)cjzBiTKljTWM0b`se%^T4UjJMVeU z1qLW6C@44uVLQ4%b>oG9nhrkk;x{)JA$TxwoJVIOKuWy?03o_ly|vXCt3cR_mPO=p zbMXRPTN`239iKq6qlx+PbS)gtovUGKVcrrk*TdFUb1VWuqp>c=%wL?FQE`%DYSKr= zpD@hoIhq}vw@>8>msh)WrTFzsHL$7^F2zZTI7v}*Z2EHeweAJMUi$IPhdiCRPJoqq z#zgLC9fS9fvZm+%jZvvHev?79?5{A%Xj?I399vGtcz1`hwc-t9db!T2d zd9_T79byN>bfXJ;yi`Bmir!g#|72$GzTC~y-T~1( zmwUpk-!{cmmy4O75_o*_q-BMFB+!YMZa3}Dlel7Hzopr0Nf07(*OVf literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/private_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/private_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..179469d6ba34da2395fb9b3989f99765ea3ae7fa GIT binary patch literal 420 zcmV;V0bBlwP)Y5Qg9T2#JyS0hb~MG=-R-U@MAc(B9u?E&c`(`~wPt zhgAX|r$NmHZf|GCLJ=GHb~TV@AK31_nTNR@7VvmHo+T651}~Fg=PwOT^85FH3tS8a z8;as_JBr_2n$JnEw`rb?CX@MZnb@}2Y81cj5BGY}&bC!vr;oTv(S-2$KYxrz2xFTxp>q0xxm`494^A9cEc(l`pdlQnxNH z0u%&mFGZ1~C~QB0gh8k7EwFkG1qjajyM61Eak- z(VLtg!P>J!W!sn4=|%?s-Y2Cc?)v%v^?Zi)pRD~itV}+nwxhHuN>Q3Ux_@rDO8=&5 zop#LZpHJq_)iQF~nedwBs!do~Uzv12hn`=a92*d{?Y@5Q-_FvHPqf?Q>(5?{ZFjjOzvU9Ssoxb6?IJK)U9JlJuz!mU(ii)eD){x(VxSA{=eTJ@1JK}@ZrNk z4Uv?jgrEQ4&)3<-sG;{kfB(;)_RP+AK7L-lulCpRvj-079tYtMFZIn2&(wat|L@=5 z=G_Sr20)PWGL$nlEj2nJQ~KD~|Mtv>KPqd3*|8P!f5l;dT+_dcWN8zfHk xe$?Evmv4I1oP=jS$=Ck!^69jM@?|nGT>ck6Rp7l%8Zh7(JYD@<);T3K0RR9spW6Tc literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/protected_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/protected_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9bed0fabeae8b6c1c90201fa4e05a898fc6df9d9 GIT binary patch literal 703 zcmV;w0zmzVP)3Nvt$g&T{a~G8aTUl@WdTu7W2^VUju?3CDQrRX4vLv#cd!;*QMFW5 z^?GBQ_e#8aW<0~4o`Pn9yMXPmyNb%%26o%i#Q)I?aI)!ChOMJ}q4%E{=)7InBqH~K z^R(o>ZWw>2#)abbo&FR}FM}3YtZ@kCIeS?B;0siJ$uEnR_-j zp(wTSY$B?G$DYEL&9xVmR&wOnaYTNPjx#G~OV<%GguT~XDNAX_43JS&T1iP+bu>Mu zCf+mJ-=k`&i0Xy|gMe=(xXRn{Q7qE|$iLvan@52lnjEbx~1u4#WH! zAuGJW(3>atKTUwh8XB%`X!Z5Sq8ry+(ADlL3#-|KYIaV}0m`e-VIT~?eni0ULy$#O z&(^n1_Qk3h_ha;-na5vVvS{Vq7y~QR<~KC?SYP!qQSAuKGN5tC4Rq5D=+YsMqsiSuiaN&y@N?~3p$6c7R&0E7S&0$d2hUPq(?uG%L6uvd1Oew;$e<1`E4X+lSvF_sM!w}6_0{<(Rp>So zd=>x*k&89QUM}Ykj#}~UwUSWu%!2y6qd%u_a~^NG$Y4$&00000NkvXXu0mjf;TEnn literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/public_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/public_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..67813cb9214e18038c79e7ceaa5770971d4f481e GIT binary patch literal 783 zcmV+q1MvKbP)o1=NgM5^O}ZcBA&D-cO>2sJ$e*3rH_Y4j zemgs}Gf-1aHT`3WKYp?=CYy6abql{UPkQot-25v5(evFq(L@h$1PFV&;zEhrlMVVE z`r`Jo1FY|h`DbRV8v=0>kN_dWpw6fBWj2qaRN3{VbmZ~WKs>Rm0MVYk_km-EuB+I_ z4Py7YHdclL0NAd}@c0KFjJ_dl<^Zw^XHTYoaAa8kq8GX^BE*$?e;sG{cM}bVe(7hs zE_a{5U^w{^U?g2Hw^#ZcdZpyey|ETh_WR!AzkL4Hlf4 z*}?H=3&qze0Vrji0K!{Wuc9N`RLLD(2o7)ARBQ-wx{|-F7*UC%0Gn4elgXKs=b9?l z#S2w7fTmD@kl`aYZ*?~H?CD%+E>s3Uw1UF1ZQf-vDCJ3Bs*6yib_pV6806+HgwR`n zY5m^PyK;r_czN1W<}8-u0wgo_bz@Zl=#IQ&>-Ob|tSNW28#D$3p2WrE z-T?r?aN=Xxyjk^sz#K|sgWc;Ilu}*kuO^*q*AVd6;q&=QMHY)Jmf^AYBqk;SQnn*c z<%bgassI3H54JxF&btQ+meuz5(`S5A5(x*_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@(+2sIEHY{ ztnJ$9<&?XvI#KmQ0yc`d*bDa8aAe%K&LCSSUqlcfL->!&E@7uX29c5T2 zb1OX&;nHn7^nYu|;&jWymIX}3A4)%)U7NzelB@5Q!%8M^6~l~3}Y?OT8Bd(}F%r`6_JBC?F@8UAZZ1r(lIE`1T` O8wO8TKbLh*2~7ZZqH8Mv literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..531a83d61dea6dd2166c004439e50189abe9b599 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgIe_?+5mfY8G11){7+dtravo`M**L%5Ypi>w;UHx3vIVCg!08j%;(f|Me literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/static_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/static_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..d0bc5024a0a0ea3f389b1f9260274c879118a363 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgzxGlYRS>7G55$?HgCUY2vRt{l1+) lM5jDymc*-RMZ#wfNb_sf8*SZsQvv7z22WQ%mvv4FO#pTCMnnJr literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/synch_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/synch_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..b9cf9534027bf0ab4650e0f6ce16b1aa1c739a50 GIT binary patch literal 313 zcmV-90mlA`P)Y5Dtf^p@@boXlN6f9FEquK4>cl zTpSvjtD&YWgv2Ik2y2M2p#*~<@{mlig3jgounxnw=P{CWao-@BEmC>&u|qv1;^WMY z3}6{!$lujzcpvO8&JgbHrrP|%UOI%cQcZxS)-%f9R`uFyYbd^@`ez_ciqDF!9Scxs zen$`9x1Rh!_S~i@RNnR2Y^mSb7NF_Xlv0;vm0oLP^W_=j4}KJ_MUr5KvTOl00000 LNkvXXu0mjf6#0i3 literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/transient_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/transient_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..a7e040f7563be37b15e7427748f6eea40dc1d7df GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK^3y$C978x} z=JqNIH3x_s`6R*DdHB(Uqm74)dbvcHg0E_q3hWnktX;;l=5CJJmEPZfm;zFz?oAgm zWjwjRr$0Q%e#Hug_yakwZci0bQ1aW?;jr|@ELDAd2CZD%#d5cJrbJ#0@xOBUD4&9; VmnRd8kuT6n22WQ%mvv4FO#sfrI9UJy literal 0 HcmV?d00001 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/volatile_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/volatile_co.svg new file mode 100644 index 0000000000000000000000000000000000000000..530d761f0488c27eb8842a9b25b9a7f3ee12dee1 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgK2R_J8XJT8ywT4S#LJwH(fBF)c|NHOPNhp1*`~A=t$O{zN zGiUF!|E|ps*7E$X`yaR~L*UQfr*BM8aMk_&{W*N@%T0wZY|A1~_K8oPZuIB>@BW8C kD|mW(dV*&}%*bbAxWLo1d~1FzKhPBnp00i_>zopr0LJH5?EnA( literal 0 HcmV?d00001 From d90c12e10d092be05c5d6bb357f4c7318242b600 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 9 Dec 2025 11:00:20 +0100 Subject: [PATCH 06/16] Remove default case Make the switch statement exhaustive --- org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java index 95707b61a..2d9ed193e 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java @@ -330,7 +330,6 @@ public static ImageRegistry getImageRegistry() { case Declaration -> getImage(IMG_OVR_DECLARATION); case Definition -> getImage(IMG_OVR_DEFINITION); case ReadOnly -> getImage(IMG_OVR_READ_ONLY); - default -> null; }; } @@ -356,7 +355,6 @@ public static ImageRegistry getImageRegistry() { case Declaration -> getImageDescriptor(IMG_OVR_DECLARATION); case Definition -> getImageDescriptor(IMG_OVR_DEFINITION); case ReadOnly -> getImageDescriptor(IMG_OVR_READ_ONLY); - default -> null; }; } From 29881ab087f0e052870c53f14aa8cfad5e114bfe Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 9 Dec 2025 11:01:09 +0100 Subject: [PATCH 07/16] Temporarily add SVG image to create other icons from it --- org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg | Bin 0 -> 218 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg diff --git a/org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg b/org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg new file mode 100644 index 0000000000000000000000000000000000000000..6ece861710d2b8fd19ba446507b1034d3422a16b GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>Ab+B#i(?4K z%+?cz+>DG2Z4a;S+^o4&dz*IIDV1&?v+mHYz`H5wso@e4Z$B~fY+s=r!=|&Vr1=l) z_nT|xeQeyXqN}pBE>LdWQ`U!pL2?Z))k?cfr^?&JPg>PB)ntWvm&tGK-!+}z+8TV! zdV^10EH59>G?*^lGRcJL2h(;pYX|0n{-r?2 OF?hQAxvX Date: Tue, 9 Dec 2025 11:12:44 +0100 Subject: [PATCH 08/16] Convert some ordinary tests to parameterized test --- .../lsp4e/test/utils/LSPImagesTest.java | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java index c85388aca..4356eed2b 100644 --- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java +++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java @@ -18,28 +18,27 @@ import org.eclipse.lsp4j.SymbolKind; import org.eclipse.lsp4j.SymbolTag; import org.eclipse.swt.graphics.Image; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.EnumSource; public class LSPImagesTest { - @Test - public void testAllImagesForSymbolKindAvailable() { - for (SymbolKind kind : SymbolKind.values()) { - Image img = LSPImages.imageFromSymbolKind(kind); - - assertNotNull(img); - } + @ParameterizedTest + @EnumSource(SymbolKind.class) + public void testAllImagesForSymbolKindAvailable(SymbolKind kind) { + Image img = LSPImages.imageFromSymbolKind(kind); + + assertNotNull(img); } - @Test - public void testAllOverlayImagesForSymbolTagAvailable() { - for (SymbolTag tag : SymbolTag.values()) { - ImageDescriptor descriptor = LSPImages.imageDescriptorOverlayFromSymbolTag(tag); - Image img = LSPImages.imageOverlayFromSymbolTag(tag); - - assertNotNull(descriptor); - assertNotNull(img); - } + @ParameterizedTest + @EnumSource(SymbolTag.class) + public void testAllOverlayImagesForSymbolTagAvailable(SymbolTag tag) { + ImageDescriptor descriptor = LSPImages.imageDescriptorOverlayFromSymbolTag(tag); + Image img = LSPImages.imageOverlayFromSymbolTag(tag); + + assertNotNull(descriptor); + assertNotNull(img); } } From e4474540501c3e190436c670ab0890e6216418b7 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 9 Dec 2025 12:27:44 +0100 Subject: [PATCH 09/16] Repalce PNG icons with SVG icons where available --- .../icons/full/ovr16/abstract_co.svg | Bin 252 -> 3021 bytes .../icons/full/ovr16/constr_ovr.svg | Bin 262 -> 7212 bytes .../icons/full/ovr16/deprecated.svg | Bin 182 -> 3482 bytes .../icons/full/ovr16/final_co.svg | Bin 167 -> 4556 bytes .../icons/full/ovr16/implement_co.svg | Bin 237 -> 24599 bytes .../icons/full/ovr16/nullable_co.svg | Bin 276 -> 5550 bytes .../icons/full/ovr16/override_co.svg | Bin 238 -> 24597 bytes .../icons/full/ovr16/read_only_co.svg | Bin 267 -> 8520 bytes .../icons/full/ovr16/sealed_co.svg | Bin 200 -> 2750 bytes .../icons/full/ovr16/static_co.svg | Bin 190 -> 2719 bytes .../icons/full/ovr16/synch_co.svg | Bin 313 -> 4746 bytes .../icons/full/ovr16/transient_co.svg | Bin 176 -> 3314 bytes .../icons/full/ovr16/volatile_co.svg | Bin 195 -> 2388 bytes .../src/org/eclipse/lsp4e/ui/LSPImages.java | 32 +++++++++--------- 14 files changed, 16 insertions(+), 16 deletions(-) diff --git a/org.eclipse.lsp4e/icons/full/ovr16/abstract_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/abstract_co.svg index 1abd0656ddcbf152c378b128ae1f52a71329481b..416c9365ffeffe0e804463fddf6d812e3610ee7f 100644 GIT binary patch literal 3021 zcmbVO+m72d5PjdTV3n6Fy1HAIrC6JX1}Op*D9|M6V?j%_twtgRlD_TNcZL#ad7Yp| z4J=li8P4VC@KEdb=e{FHCRHnV<;6kd5yorLw0u{2U%!0xR~}KC@`iSTv&!Sbd;k2f z{>k^rFOpHs8ggp&o_ylpR80p)-tM&?$}l{gPC+{v10i?eBk}#`hljN~?j8ssP?xK+ zsVi^VFdSrO0-HKy9qSp_DvX0T^seFcHN3{^?UB`@?*&(8Cs%J~!Lr%9Jv z6k(KvN#a9tjB#NRCeAgoXEvh_s0LAxWO*6)O%~>jde}F%?!5RW3 z4zgxjfRhEB>F~ps521DXQPAjSmd2v*(%iigPJ5;XS~C^eV6*?!HhN!qxmoO4yW8u^ zTbWhcR30FZn8l1Y@#vjic%-M>k4KTI;`R5g@kD@VeIx z+bVqRgkV8jEsO(P041aHS4o=|C^7~?n5|rku46UyOS==jC{xttx!s!P%hi+=(kd+m zn~VVEFCFxTMjtW?S-y!EIZapZj7b1!t-h4;JC~mjvE3>Lg`=6xzy(RtJcpAN;%xZ) z_iAahqFMB++AOgxHsU^JofS)5v2}Pm_1MDyMbS{T+)D;W>&-ij7Nv zt&d0&qAvqz!})@?Dc7h|Xh@3HsC39-)(@z!<}$rnkF9DqC@(W4AeK`w-r@s7#OW}_ zV|F}KO7IQ_F`Gw8S-VT1baXW=?wO_y)pX(jB)68_P6&5k`NxNkPMPYu{8Pwpc2+_# zfNsPAl+CFnDs)}qQKI^}?SZa%E&dF5IvgSAa5*p-L30Lx2GdHI1uryrL(RVdnz{#x z9a#8Tw_W!Mi#Sn3Y)#TuckJ2J)aG%junwm&CbbJ^Q?5gcfq}?;jLc}%(GBY=?>D3{ zx#Q7Jio?*023j`kwp0RSZ`f}1<+apAPrj3|M~nYJ_1@w#-8x&Cx18kU9WH!%=vc{) zjEkm$J3)$XtmN=LHa(B$ri_QPH6TymbFADPw4U4k7A-FUS0=6XdX_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@;7_BIEHY{ z3_WAW%~;6L_VIhYar}WKLk-o^r8!1kH}Z_{ZCB_%QY1N3ce~UYpRRY(JC06`zA|-1 z@Tug0M>FefC#f9hn>6Fp7VjxX7`D~TV%BLEU0T?kx?vWx(IlfuNebGY>+C0_uDRVE z?$^NmVW;!2nt*v*ELGFPpL$w*%;&E=_-u!|eGbbt)4jKk1_s~$px|&!;wpFO*HyC7 z-E;X5Bt5?zfBqles!G0xs!R%dT&~zW=f2nI(jGTUa?d)T^BFu{{an^LB{Ts50{LOZ diff --git a/org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.svg b/org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.svg index 0c11284368fa19e5fc5f825ee5f7daf9f13919f3..8c4fab3438ae600309dd6e80dd2d88123fd620d2 100644 GIT binary patch literal 7212 zcmdT}-;dk45q{5Kp*k-Kx{^tXlqko}J@jzJ0R;;567;dqO7gB6Su!MfZRfA=H%aKE_qVo4`y%&_W&h~?T7T-YbYFOH9{Ya3S}u>rV^EI5plKhL zZ$00C|LWDcdwO`~c^>wyyH%cT7UP8dp{2*cEl(EqTC~i%C73)HB+>d@8bL zw`=Oo%&fcDGvzkly2a@<$IvM8BuSP`EQRo);dke{Pfz~kRGjhFRKXZqVr<&v+q71v z3a+@NYYt;Zr!`j{+`q>^H^B;mt~s<>v4uN}pf395&mVqX+CiTMd7sagvEFyfT!o}g zcSW~Pv!YvCWi$U+=KbSl5u1m{qI`JlHw$f^%6zkc2ZVW;;f4>RW58E#garxrS{}wi z84Y{dRo-N@{brFNdVTw!=BW+HweJz_bzW>cin`~~e)J^G0EXbnB5nWPrg;g33`&FA z=t zGnsJ)7QtRflO-LUK7VXCervbEt;4czH_ecx<8JHarP;$7UhvXcY!)&S0p}`AoE;}f zL#=}-jKj!D&m6k34!Dlv0SI)86QtL=4`Vbw)@9#q7Kg5AeZbdr(yJ53k%Ng;JMbn$GHd5lfsQyuR`U?A5+tFjvA<{B*WlAAWImGAVUP% z1k zr3F86u6ThMs7R&NRp($^mgkkj($p7#XnG8*NB+LtBGham-t06~PChn5M7!CU>ah+) z81tdMBI)*q=Juv$i;kTKG1DkouFQU0F}7MC+O+P_Q0_L1UD~(h=?x2Xq!KAZeaGl; zdQ>7{AqzuwhaMu15-q~Fqtn+*YSJhj)~>^&_AY-ai{s!S^3Q$h`hk7=fZiRw7pnc% zd`1iIn>H_6I~1AE#n9NE4Y!qXZ5u>d)r~XUW^Rmkk7?cE3^+n)|fcEVgNd*pKb0+k(s+eCB!md5@<2bSBwo%Fx)8KqPuzuMeYpdc>9+Y- zT$PbuZosWU%H%XB0C~`|Eo`BCqPzIbuhx0C!`)_IEPw0Es``~Sal}dNV-_v@s+cu; z%klJM^p-Q@)=O);@r=3JBWgAutMtA=@c%*R_AIX5=tJ8a_PZv>Ne%EVfZ@=KMCd1y zGCwQ4cX-3@e9oi{!bpg>7Fb19mHWW%2 z((h^T0+0K&e*_C!bHL-o*nx~0C~+nQnmAJ|5b;d6HDn^ANbz{OgSDg^FfGt8hb|s# z+Q~+DwB<_{(3syIs$x|<6?KzS^L}NMA&eE@pRADte!RL_-5>gXF8gm&)+>OeXsy)w z%DID}@8OQ0$S`I~-3<|ul6#ql+JPY^5Fde(5pbnBgi*jEmUwtwVTb5v5_>9OEM~Ea z6eeCgRG8*to=CjUZfoMjF%p(}X28Q+1z6QLtq+EMO8Y|#kj<{m7oHv8w;=R+LAilD zY}R!dKGSX%(Jw4)qhwDdc@*NtGM&tLN&zHFhvcRt2$|C4q(GstjQ)ZvR47!UlRLmc zCff5k#v?8!NkuZQwF-@=GIFKjDp490+l&dBL?XU}oT~IQQ6l2V!x}8$QX_1N^dhY# zIT_VnD_cn1ixPu5lNT={%;waXI3vgc#$lTl(jw^Fv1Wi*p|S!diL*NxmU(MH=qyGE{0x3ZdNumT-9|Kq;selB|HRBP% zKBFfl1Sgnqjf#ZDIRL;ZOYk~6A^|8?gv7P@o@noq7QRA!lHKFJWC`xa65qE&2+*5_ z-*sePscy4mKz*AnFjhB{cZ38cqaZ|+Gt?9rCsQC9LOk$?h)iul8-VNt9uN-_nfk^C zek1gtCNUX?U@O1}VV63J7)6zS-H;G^2t3iSCsvihPzow06ChK7OvV&_h08ZsbQBN` zppU^jR8R-uE=X`vv^IDm6(ULylKGk3kQmg0Nn$?TNq!fSgoulfUK^X_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK^7neWIEHY{ z%ssO(%ZX8@_2c{ZQ}1?qhF!nLW^^!ZA~&DTXT~{ZzENL!O9~ZEL~O|Tz{u8>X%KcK zX=k^Z?jr6@WrfEdtW$W?-G2DI%FTk0-+ur3cj|kQ^O2scWiFrh~^gu&C* K&t;ucLK6Veuy5M{ diff --git a/org.eclipse.lsp4e/icons/full/ovr16/deprecated.svg b/org.eclipse.lsp4e/icons/full/ovr16/deprecated.svg index 0167d83280981c88d7ff39b9e160776b92ea6795..76431fe24314a39a4aea711191cff625dec0b33a 100644 GIT binary patch literal 3482 zcmd5|%i}3Um|nnUQE)h$IRm9ozZ!9a17C#SXID z0!0-B$sC+ZA7@6(Plu*PFNE=mwkykbJPVPwpk>u=R@URgXFIhJ7q~5PO z^1Lio)^MQPv05pXg-dGEkXCTlcYN0x)r(QRklw2oQqZQMEmtR7emPNQ<=PmR(dR~FPDP_hYfe8tdqawGAaD0L#lvMkJ$iViq0X(1z6StaQhDI}O2S=~E$;meY& zxqR^mNr#e(lmJ9fOoG`LhRX^-(kp@50JglKbxjHg7}tAzoq6f*qiWFxxfhciY(;H+~o7I zw=yb&GJfN2Vpu!t>)u>w3mrhS&bsR)Vjr9VhI&gzz8jBPV0dbJr%Qk1+BvSNIuL_KEDBT@aRa+gWjO~^vXeu#`{lT z`@L(@mvQOJcC5Oz>E*JKmoF9B_rXY%Jz=0LOnCl z&}aMAWU#HHlU9w~gVp7XoNsYS_baO(SCc96N-4ZgKX%eE^Rp9iae$`dq;cp+3*CIi z33G&QK&sOtKw zbYi-loR`XIC2FEuAh6sa`aYYbJ4tTo>eN+b)T%zYH8p-B^~(Atk&8~yw_$YGHME3C z6{t1vp`bI6i?N}qe`{F%uDlx?TIRwD7Xh@)A+!#QtuDu~k*y)k9KIEBX<{n16If2rT_o{ literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfY1n$&iO*L^j;F>G?&Di?O->r@l=jOC7v|nHn|G`SH z`r3oe?KiJIYUDSMweDb36i+~mv}hT# c?!TqNmD|_+dC;GK8E7$sr>mdKI;Vst09evLd;kCd diff --git a/org.eclipse.lsp4e/icons/full/ovr16/final_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/final_co.svg index 9ad0a67b9222d0086f19ce1b6107245e081258f9..61c5103a6ec5c5e3eb219e0143ba07b65cb56fa0 100644 GIT binary patch literal 4556 zcmc&&ZExE)5dNND!6{!FEPA)Cm)I$=1uY5;7_he3$AOV(Tc{)or2Lj&zdK4KWhdRz zVciTEk;vom?%{LK(OJGdHZ|EZAuHaloX`s#!rFqDRl8X^pFh2GQ-{c&wk553%T`Xy zowxT_%O6~q{45ylSxF96za<~qFS4K=BX72S-{ro4I2^oc9Q3%@_&3CL@2{?wa=*DE zguuS7%*$fsj0?J*sFh(^_^f6PYkTR3Ug$g4ys+j4?q2O#!JCG+Qmt&|^~6||YvUZF zImF5+%(Bc6B0q{;uyEz6?dj1yUkWk4v@{BWz=t`z$?L50V+~NeWUGQvv({%W0saoY zW`Q2?B;SdGtpQHvwXF9aK0Ww)(ha<_FDGs^`o_((BWY>FWJe1oeQm7PAF8t7uAD@@ zY+1G0_WG?VR}LT$si_HXLN%bht4sdm(U&X>l?A|0KA zTiNqYJ0rmNQw@RPpbH+k$gjg$LgVyK4RJuM>Q8xiXZ#bw*K5gO<6ttTumUG>l0aGc zm>Yinez!PC={&gDZQ@vOHh?~Ooop7F&6fUo)_t%S;HR!)zPHE7oxH@XdOEL!WT?wK%YyoOc75;);Wek%uRF}f}YUTrITQAJZEiL(BF>53|*H^f9gOy zk0%@(HyRj*15uV*;<2W~?xU_6c649K>JjyKf&_s}35CIPe1O(1?M8d_j-n%ZTSFph z@u0a&(;{=jR7K#1^|YitwY1eEiOvvi2>EXh?@S36MgBV%Uv#d7paFg4JCJ_UPOya) zIcg2<@2duwikF5T;l{J{?S%1x#t51j0L4JJ0&>B2Z~FK2hEx^}^q`LUAN#7VKj0>& zUQu$C)2gr8r0@7+^g}jFf0EqN*QqOH)D3OIo|-r!O`{vqqj~nRrn8Z-zdEm|A zu6g#+25|07)KH6kKGS0*1+5c;o)iXm8kxYG$UK}zL!w)g4+(BV_(tR3n1r_hJi9R% zsfUnYd&HrL#AXPeTr_<$D4}d2)DcLFYr!+>Q1G^eX)fGiC-$`831Eu75iN1;x8wQM z({}Cgj*4jq^m)f#5G|5)t~FkrI}8S4ngn*xo__+rgT@=&zaOt_>1VDAL5$aeS4JLr zS(43XnPvJAc?M+#caHBFxoeeMqYc{J(vCl{u_hWi~FlT0rk4yWdHyG literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJggCac7R2JpHAyfTM7ds(sFB#(=rcTIc2djfuM&G~0Fs zgB?rT#}yM>R95(W{=`=1mHT7;{99MUSN4`{R$-KATz{&dzH(BFywU^DdjY{RZa|wD NJYD@<);T3K0RWgHIXeIV diff --git a/org.eclipse.lsp4e/icons/full/ovr16/implement_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/implement_co.svg index e1f5f54b0ea5d8858800e0b2c81e006431c3a135..d1325bddf0293a7c4f41a4ee7ca2954abf9201a0 100644 GIT binary patch literal 24599 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 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/nullable_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/nullable_co.svg index 25a8942b3e8cfedd5c185da9b4bb243ae5507679..92bdf73668a104cccf930b52f7e6c4d3f730c11c 100644 GIT binary patch literal 5550 zcmds5ZExE)5dNNDp($S)EP9t^NwrgK3py0oFko#lU|$MaVr;FlXppoW_t)=^5-BNG zlCA|hpbi2{yd!yceD0p37q9NOwRNCeRIFLrf$Q5AZ3%~UOUG90uWx>9U$jf4BcN2DdUMt12@Mul9w2{IK+`zMY^`ciVaQEs!3%1>|MyQ#MxEv_+ z^3E)d)*K_H6l7WE`Joqv4rn;y)JSsgjHiN)Q&U6V_dSsHn|z*DE+C*g_&4f$z!hxI z3wj3uqHaT_cl++v(?Z90OIh}t`jo~&h|1^5;#0f_FZT2kH$L99(ESY6Ws3@7!GoP^q4&u^zh zX&js3`=t#L3|hxfuM0xphP~41p^^@c(n3S=v$&(blD!ZWX@0Kv#XFl@Xk011&h^P?uLC~@ z1HxH+HGmdkL*=7~DX5-|SD4P_p`ynYDj4S#G1%IXHB{f4@ul72qBCK|cuBbyLCpKG zx1#Q7TfXVm)=7@58o3XAG$98ZlmJd!!?0-)7qG{-IIDo^w>F$%#TZ)=_H8j@Yo{nq%lB-)q#GrH@qu zp0t?*1vxs~yHn6rDK&ND;Sz|@*;%x@>4?rpg&R_O462(`xA~CIHKz~5N2sh7?@jhyF;2%T}D58s6+)!F$xvvHUtL80fe#ymUa5L zIu;wjni@P+ac*np!fbrl)aoDGPrCMybO{~IFPI)mpL ziu-QMO0ZO6Und5fmU`C{9;rxj2)iolvONG*Y~Naj9D- zjZ4TOGtu-!x(!-oWkQn&fOBVh;0wB&mu<(FD_i>B_R2VH%nw3GlN~1iWFVaQ+V33! zSB6Q3vkZ356HSQ+Eg<$@on!gsGmd|=4zP^|dWHGs1db*$w0_{;bl#0sCUbA3GM#^8 zmB}1LmG3(b(Zfjy##7xVYM*2AE5WwfOQ|yt0jO>pDh2iE7v$q0@6-`)t(hCZbpc9U z;LqT$7|dr@?9KxpTF7gseHu*~5JKwAoop=B-EYAfxHL(|9cU>JMD95-EBq$Y-2{=z z*P6rigQ-iZ(;Bp%j~vCg8a#;q^M}{>D&ISlO;zNNWOJ|Z-2D(Q80U=s8I@@O8>njo z&%s}Qg@d*BV%njlJX*7rjfbqX3<=2Mr`AT#4 Y8^%=WdGNc24pNut>I?2M2T1pS0Z$4B;Q#;t literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@=trZIEHY{ ztUbC{uQ^fVz{mfV=O>FK@8n6GVD201Af1_%WDw!9_v6MdqRzqHdDE`D-}2RH}abj>dGM1}Bz%;^NP^w@&4H zb}sijk7(-Fu)m!S;wPLqa`JPVxXkC?$vL!iUww_79q;_}jfEkqD|#;Pee>v@mi;f* Y-FICJoXxs#0KLWF>FVdQ&MBb@0KWQkIsgCw diff --git a/org.eclipse.lsp4e/icons/full/ovr16/override_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/override_co.svg index 3b149248d757ec16922c008baf2b34468b426e25..ca6269a8668527e5a71d94e61592d10ec63c13b2 100644 GIT binary patch literal 24597 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 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@(+2sIEHY{ ztnJ$9<&?XvI#KmQ0yc`d*bDa8aAe%K&LCSSUqlcfL->!&E@7uX29c5T2 zb1OX&;nHn7^nYu|;&jWymIX}3A4)%)U7NzelB@5Q!%8M^6~l~3}Y?OT8Bd(}F%r`6_JBC?F@8UAZZ1r(lIE`1T` O8wO8TKbLh*2~7ZZqH8Mv diff --git a/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.svg index 531a83d61dea6dd2166c004439e50189abe9b599..b235e7d44c828d63497cb7746b1e1fdfbd6764a4 100644 GIT binary patch literal 2750 zcma)8OK;;g5WeSEu*xMtBZ-u#=i1prg9R4osokQ-f|eLtjU);rZO8lTJ41`Ilk5UD zU|62_eEepp)#ultCkLrbr^a=_A{r1mHmdE$?K=4D+n2Bmh_Pa9MXyG=4n`Gxe!N-z z5{BeAErpdWId*nOzK$=Z5tAf$J8P#pj*rJ<)Xl<3>1}*Z!tn9tW@QfB8$t-=9ZlUf z>tJ@6_PTe5Z4=904sx_6W)X{ni+OV~Z!mjzkc}D!H5%tRn%gU5-99hDv6^G*j967w zF-_tm3Be*Xr_qYn@U1J<_#@YZQW}HqlH~tc)dm2a;JcW6L1ffkH}V+(lF=w_{PgW9 z_R5e(t!*#KYLDj<<^#y17^Im*BTej$o&T|G?QR_u?$1tk+nx3Qx^^8vPl;1qF@ZUO zk5Vrh8dXWe$z9fpysVm(r4J;btO_X$8NYX4zJt0|4VDBMr08Y)PopBl?-7o4)yijs zM@tBnfd6CE^!_Dt3qqb_<16Y&GR*@;#i*TESz=)gOFS87-XDU0%=Ov~)OZ}YkiLRLgc&Wo)4 zpoM~HR8Y=1XXmrJ3JqB9aVo<7*jcjVtd#%x+7bgjrxS#Ve5@L4hxYdZX)q4-% zQueVMp`UQ3Nm}v`UC$PtJ1`3TefrtNwV3}z2_1&)XUajmc0>1FLXp1gr9v}`DctsI zBl>mlEP5aTQU!Rlm|%P7vm(TvCScv`31xFBXP%)Tsg{!=L=F>9j9YmAya+jTrrY!o z;tDOW9R&#AVhGSeX|p{>@4HbNHTKY|bDlZ9jCH+`+Hrl5RhCAP|rRNnYO86vkbyMb_0+aSJ$twcUSR6vBX$`3_)82 z5COw#=ml5QvU9HYblVItMU#yGv|ZnS#U%3xV}6`*2-?|RKDwOe$2r3)p4*s@F}~_@ z6?+UEMDD`4nuK0#B(UIjq&fM(l&x0#X;3Yc>?Xi75s-Z|5mt-QAU=3b@Yus`c1IsV zMtK&cd6L{O_{+w6T#P*-E#?JLvro^^c|ETm_b0sQjMeHz)+1b3f7ir|n_* zZOy$=D`3lNElv)<1ppin0yj`rKrz_^qZx(M;+)V28fAG_lEyt2G*1Xf7%%e-R8__+ z;s9b*T6#ebCRLFZMUp;H^o)2_RxAMzH0HEO!5eO3z^}NLIAuw|9~cu+=CXnvPdOv_ z%M%8v(Y4~K6TvSnX}XAdf}S}|;I44V(XA+poMSC6Dgb`Yp3&-Bf*G@X$>$j+1|*LJgIe_?+5mfY8G11){7+dtravo`M**L%5Ypi>w;UHx3vIVCg!08j%;(f|Me diff --git a/org.eclipse.lsp4e/icons/full/ovr16/static_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/static_co.svg index d0bc5024a0a0ea3f389b1f9260274c879118a363..a94d9c8227c6800aed3a2cdd2f2ef16f6a70fe3a 100644 GIT binary patch literal 2719 zcma)8OOM+&5WerPV6~S7T}jlFl45TTT?7cwQ=6j4f|h7oU5OM(+Fs|^XNDGK?`{gz zfMIFg^YNRZSD#i-F69%)toYCl+<+{ z(=<-g5G+D-mX^PSuU(&HDyE6 zl_8Bf+g+129?vDrJCG$Gg_(FOOze%F|EcfnejPCPvKResZ~a@}tpn&Ob*dXCBu?O? zG>e8tbwYHKv9xd&zS^c!EvAQP7EY%9r&SSR^$5qe>crOIF%p95@GTEW>{N?CI(Nrj zoUVo&ZiGuh$i#PW)`QaP;C|~qvtpxkC$v|U?(<5e0FU0DFYKOU&%|sn>Y}H>{-5a0 zo_FfB4lW2m2j2O+QsX+vlBi@=R$b7zQMWJaAWR~bWo4ONkiXSJK{R4CPx3r@rv)qz zI04~7_SUR}>E&%@?Llia82DKLChq5QWQ3T#I_)$fZS}zexRibBCG-={l&CWA_13`C zq+;*Nn?pc@RrO!)&|g98w`I?sBY)|~{=0w@-(hYfpTgasHhfqITRs2ZlpLT{=R7ld8Q^B2v}5`xEbqAGGshsfmoVQUY^3Ior!SX&q2sn~{#N?g_euyF z@Qpga_|85KnXYYMhm71l_9IXlm(;JYVOQ~0vBX$`3_)825COw#=mnS2vR!UBa@US9 zLz9UAwEZxA#U%3pV}6`)2-@30TrhB=c&>gvz4)fNRqR`L$haHfW;h1E5pejwBe%&r zg6*_AOrz?cQb&8wF#z<{7+B4vL0Is3;BkQK>H~cU6Pg!MR;KC41$NO|4~Ma5WW&4_ zn&i_K8gAyD<6gq6&RDIUMI+&E{B(J~DqoRNLxwENuC$xSuZ$=yN|yRTA;gaz0}ZRH z;_3q91{X9<(~|m$Bn0=G>!--m05+CryXGCZIgSWj>Brznx7qh3tTuCB#rWd zl_@J85?W9=tvo06fks7HRHSu}jFu?@Ns?D(0jj#lYvKS(>a6mD0ZeL^F_vZz6g{K7 zuIeNO4>Zmx%fK71TELIpN}RGH;17(6XyUShU7qC$!QVVhAT_$ydFDj$ODmc!qJf}i zNmIBWTyk_{6)SVB#YHVjs073X?8;jSW-Q7jdk%Llc8vitR%6>4t&1dewZZwj#`7E_ zV_cLBi!7ZxXL*^V40D4C7F95Ssj69WBLEdk&>P{-tHh7rWvL>u;L5u4Z`sMMlE4nD tbO=||k=uiYDe}u5R_FW|2+q0_xJlqvYt8a$P3!*<#5?$di5u+k?gu{r36%f< literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgzxGlYRS>7G55$?HgCUY2vRt{l1+) lM5jDymc*-RMZ#wfNb_sf8*SZsQvv7z22WQ%mvv4FO#pTCMnnJr diff --git a/org.eclipse.lsp4e/icons/full/ovr16/synch_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/synch_co.svg index b9cf9534027bf0ab4650e0f6ce16b1aa1c739a50..abea286be0dc914c2e3d00c6c1ab4efc6c9cb814 100644 GIT binary patch literal 4746 zcmc&%-;dii41T}ALd(6}VX-awx83CWuwp}j0Rz?+dmMDOl6ZCOKz1%k|N4=#CEJPH zT`>&H;gDFQNb2K9ie9}v?@RI`WK-1DdckbEAfn3Zyr{P8#ix%yTk(Q4Ew6H3)|FT< zs(SJE>2CFdWs#qx;H}8Xsc3iPef7D?_(70|UE3Z~$2px&cF`}|wcI+7#Im05?pDpq z_Kpw&eyb+Uv-P6ia5&0RDdw3YO0gGJ+c?Z-&SFr{2K5ZR7cU~K_xrkP)Xu88A1TXx zV~k@oCr>G{BuO0VI<9MhhSglEmY=QZR)}$Kt4k?$KsGpeomP4-0g5?Y6^xP&Hq!>+ zKfu4)pcm|>KFUmN08U|7qIKSVeCKGPMeV%JM`kqo#>`DhD!v!ZfoGy|w6fZND)M%> zUPS6)CyMQ^T`ywwROIUgAmFNp5pP&0?Gv6F3AGbOB=aISP#QYgG_Nys57sVKw)-=y zZ3OlSa=psMroo&Og5L1SR{{_Lj)KcyB+m=rN2dg8+HF>srN|&yUY_`+Q6ABbLO9(? z0gSkx+JMl4E;Q|MDvyKMH+HtY<4;x5HtWT)5%L4#_gnR;5k~9G)(bbbDfOdpFnxhl zE3iWv`vFY`Wp`E?RvGF>)P)Lk5SOnXA5fYG-5sji1lyXnK4`26l=G!T++ooIz-pP^ zZ`dZ^WN*|`4F@XPOWI`=-4ar7HjMySsR_Hw4Q@bRkqPm}n<7l7HUeX0()I)O*Rieh zHxpw1EH<0uIz)}kH{E)psLe_2&T9~kgfnh4A^Z(}wc8mBz+blE*A|9!=!nL6k3b6& zgYC+hX8GHs_*XR%dqX%F%+xW|!~omtYr>;8^}KLI1632D%@|D*I+V&8*gvDJY9gU= z61x5X$}}{M>p!-H+fy+QPyPC$p+OKO(N$vKjOe5@J6|=i=b1y?(07JMEcT-~xNMq@89-sX6;a2n9Zh07P(2ej0U`t-p(*D@DU zi$e98i24rGjT^mf%~rH(6O?d?SR*>WBl0b?h4d;e72nJ4%TPCBFzjM15&9&8|LeCBoOrqrN7L z<5N+=X{`Rv9SZMS!Q8`Xk^J5XQgs_jf;=iqEq2k6M1#XC(v`_;Y=P zo6qzGD3Cl$VFcUr_Nmwd9dRQ35yn|4AtNw0P#Hlp3vj`qSqW#sS-%JMxrF~y4)q%vBxr5Ig*P9J@Dnw2v;+{)2MSIDUGdo(na{8^Oi#jnU*qB%Rt zetkUb>l`9gq}IfTY)wesN?tVx3#JEtmhf)yK$jMyzHfV>>pmLTVM5bz^nK3E9B(#o zV3)bh(H^}--B>MMhPA~&+jHy1Z*myuC(kx1;VvjXhMbAk+ZSh~Ms!i+6!;;!yvC_%Up z6~N3N8jVSkA{4w@K3vWHIM+XZg<vT(NM1=4d5j>mG!a8$BTc} zMKxW80vED`rrV~z*1TrAm2_5_|C1yJlEFwBo^7>!(lgo2rmjVJKFF!1xBwInb{#9(B}dsr^?lT0@)o29ONil4766OV{?| dc#Qr30q3;w>CAiwx+`a^t|I(`8~g>n{syk$NzwoS literal 313 zcmV-90mlA`P)Y5Dtf^p@@boXlN6f9FEquK4>cl zTpSvjtD&YWgv2Ik2y2M2p#*~<@{mlig3jgounxnw=P{CWao-@BEmC>&u|qv1;^WMY z3}6{!$lujzcpvO8&JgbHrrP|%UOI%cQcZxS)-%f9R`uFyYbd^@`ez_ciqDF!9Scxs zen$`9x1Rh!_S~i@RNnR2Y^mSb7NF_Xlv0;vm0oLP^W_=j4}KJ_MUr5KvTOl00000 LNkvXXu0mjf6#0i3 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/transient_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/transient_co.svg index a7e040f7563be37b15e7427748f6eea40dc1d7df..5f98881e1f5264a9aafe6fd02614b25c11dfac2b 100644 GIT binary patch literal 3314 zcmd5;OOM+&5WerPV3kW2UA<*lQtZv4L5ctc3N#6NEVvSF3z0;Dq+j{^&7&6{@EZ@sTyKKg}6q@qJZJ3g?jH*oL$ zzM=NQFL0dsYBMWo()QdaS(^ztX|LRHF|GPtmb{s2dPgE^36h7G&^S;qdBKq zDK5)0jFK=(e9-Xabx`!;-yVe+UptyaQ51q~cJlAEs!In@yr!#z(bCywB?0~s{@ek( z5lDU%HQNE4EEt#yKYaNRTA?2WjcOKVEc(vOiz^vu&*VsJCPS;N&!5{y9k$+DFAl8T zAJo<>^r~&P9w3nD#ez5SBsCXaIY|_hF%faPPF7mOMq4$!M)zA!2|CCYZu^g#2MF#X z-1nwoJBjyB2zta-rUf7ZEEyF)3)za2Rt07?8o#|C-uh!1((R5uz#weJT zijUS90nT4L2o5)Wu*gOArd$_Aoxjst98hc3wTj<4`-Je_PBL&DE%r2CU<7<69tklw z{QlWn9%Vb4KJ&IPY@JQOPgWPsGUsd)-ex_8@Ly5XT&)g*L2bRcHLT&Z2x2HN#JP+A z5^ueEb%j+NWoeM+$;2$o=aSs$z$%Vb(XGzju;A;^D!KKJl8Mhq=wFAgk~wcy>kCp1 zs;4)s>!5$V^^*r6X_*&Axz6qlY?}}%raM|h4 zxPRiJVZw@X{oRNRm!|G(Y+Ev;RVR<2JHH~A2ioxS*0adDO8Cw>WSV6`0evfaA+9e# z)u2q{B3-3ZtuM>yiqd2iXIY-UI1AN##18ErC*a4+^T_I>5U9}6D+5gSS)8RtM;`cj zFAzT^j`o&Z)aQ19bbQl;fEML*(?-KKrgCL#;JFP*u*faVo(mzrto*B!J-xJj`<+3I zwnc250gT=9TwOy>@49J1fk?>bDOcU6ZQo>US=_ z*<1-h1^UE~(Bxd>#AaPrSXER#wmlFQN92z%-=T<{z}Y}$1kG&#G-y^pE;!uWv|7Fg zn!1N>JF@VzYP;?eI&u9CvDHRf)v-l~4Ndf>--V0hHla;jBctCV3+i|DiFI4=7i2DZ z!H~V+$Fb)PM5?)M*$KC$*Y<#(YtNfa^xy-dGu_1QE$qg>;f*d7cLf4Q*$fq2wLYFj zi7h5fA9x-I>m*&R%b5AmG^tTQh%J%?3O$Wh>GGHl}ug@+~jW7xeWfHHgG z|5t!E;oj81NY%lT$y}wrKzMn-eL2kY`@gwS2Q1*wllTE>35e%uPNIjHz(|GPT*D1Q zT=-@+iTs#+cP1>B2~c9*v?H+Q!vIX=!iSM^qUtE1^6Vf4N}9(qu%uzwBj6cO+s{pN LKmZ!!34Z_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK^3y$C978x} z=JqNIH3x_s`6R*DdHB(Uqm74)dbvcHg0E_q3hWnktX;;l=5CJJmEPZfm;zFz?oAgm zWjwjRr$0Q%e#Hug_yakwZci0bQ1aW?;jr|@ELDAd2CZD%#d5cJrbJ#0@xOBUD4&9; VmnRd8kuT6n22WQ%mvv4FO#sfrI9UJy diff --git a/org.eclipse.lsp4e/icons/full/ovr16/volatile_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/volatile_co.svg index 530d761f0488c27eb8842a9b25b9a7f3ee12dee1..979eda22c7d900314493fe8ead83f57bc5bdd37a 100644 GIT binary patch literal 2388 zcmbVO%Z}SN6y48Pu*xPutrsQRl44C39Rvu_Rhy#Af)+WpIua?6lppi;xuir|^9WE> zfMN5#c+cVCm3Ln*eTPm=s#fqiNTVb`j5mU|{7?sfeg7I30aBW9N;<(=9dHqRxxd@} z5{BqE$%tkYom+iG-}sYi$iUFYqt-(e$LI4oYG-347y@hx;bYyC@sq} zPH>EI2oa&Wa!oGb%T(y`y;PheNesT*CjTv}Qb6bcA0O@vkrJb9*dq|cBF=RD@ckin z&M=9nrnk*1$EPpzhGb59rUue56}w=Ye{QKh*1^^;j;uW#wOh5c4geFju7wg(Yj9O6 z?@6LEMKaB{cx@wGw-ptQ*}e`=qJyL9*guVk3|sebfIG?_l{rX+%!X!_2Pn2KU%{l) zQ_Ie`z&%mSZiCQ34shC?kah6k(LS?dFC=BsxiHz_X5{EZu$Nuu>SOOtguoywvtFgY6i zha+#bs)OP3CV!OD1a#!efDijM9T-CDD9#6ISk`iMEt6eFr5LTtF-*V0_6C5XZ?d$D8V1%b60q10XheR;$0Bm6xkk zanCfNM3b9#on`9~!n~>ec=&3<&9iHo>Te;R99D!(0NINXF6W$M<7iXCgy@OBZ+nod z89~3o{M^Mihp({%n<32`pn@qY0gD+mes(P9Ep2+Z9|Md3gnQe4Gn>qp)9i0!77c$q9 zaAjyQ#{)lM=CF^+Dom4n9c3GgKRMb5qK}RarLRT}j{vipr^sis2rt}uouln4 zfpw0;G}>l3StrFRLtz%>o1(~Z3SQ$W%QV@ht1v^)zLdH425+8bw@cu;Z3KrdwUA*m z$`jF}1TNgjg9|XfrT{5rMh`H1n(6U!*!`5vW}9G4U$eR3&NpfCVuQDcvMkvE)(}VK zrZ9*tbbyLC7~xeGt+!c$j1>dYX$9ePz#Q(AqxA|$+ijM=LkY}bH>(z6{Qs0#V%$3{ NKES^sb20DlegMm#!hrw) literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgK2R_J8XJT8ywT4S#LJwH(fBF)c|NHOPNhp1*`~A=t$O{zN zGiUF!|E|ps*7E$X`yaR~L*UQfr*BM8aMk_&{W*N@%T0wZY|A1~_K8oPZuIB>@BW8C kD|mW(dV*&}%*bbAxWLo1d~1FzKhPBnp00i_>zopr0LJH5?EnA( diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java index 2d9ed193e..6b431ffbf 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java @@ -167,28 +167,28 @@ public static void initalize(ImageRegistry registry) { declareRegistryImage(IMG_SUBTYPE, ACTION + "sub_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_TERMINATE_CO, OBJECT + "terminate_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_DEPRECATED, OVERLAY + "deprecated.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_PRIVATE, OVERLAY + "private_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_PACKAGE, OVERLAY + "package_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_PROTECTED, OVERLAY + "protected_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_PUBLIC, OVERLAY + "public_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_DEPRECATED, OVERLAY + "deprecated.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PRIVATE, OVERLAY + "private_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PACKAGE, OVERLAY + "package_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PROTECTED, OVERLAY + "protected_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_PUBLIC, OVERLAY + "public_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_INTERNAL, OVERLAY + "internal_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_FILE_VIS, OVERLAY + "file_visable_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_ABSTRACT, OVERLAY + "abstract_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_ABSTRACT, OVERLAY + "abstract_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_VIRTUAL, OVERLAY + "virtual_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_FINAL, OVERLAY + "final_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_SEALED, OVERLAY + "sealed_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_STATIC, OVERLAY + "static_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_SYNC, OVERLAY + "synch_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_TRANSIENT, OVERLAY + "transient_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_VOLATILE, OVERLAY + "volatile_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_NULLABLE, OVERLAY + "nullable_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_FINAL, OVERLAY + "final_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_SEALED, OVERLAY + "sealed_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_STATIC, OVERLAY + "static_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_SYNC, OVERLAY + "synch_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_TRANSIENT, OVERLAY + "transient_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_VOLATILE, OVERLAY + "volatile_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_NULLABLE, OVERLAY + "nullable_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_NON_NULL, OVERLAY + "non_null_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_DECLARATION, OVERLAY + "declaration_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_DEFINITION, OVERLAY + "definition_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_READ_ONLY, OVERLAY + "read_only_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_IMPLEMENT, OVERLAY + "implement_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_OVERRIDE, OVERLAY + "override_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_READ_ONLY, OVERLAY + "read_only_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_IMPLEMENT, OVERLAY + "implement_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_OVERRIDE, OVERLAY + "override_co.svg"); //$NON-NLS-1$ } private static void declareRegistryImage(String key, String path) { From 47c8055d9828daee1c55e4b49dbf6c2309decdc1 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 9 Dec 2025 17:15:40 +0100 Subject: [PATCH 10/16] Create new icons --- .../icons/full/ovr16/declaration_co.png | Bin 4454 -> 273 bytes .../icons/full/ovr16/declaration_co.svg | 1052 +++++++++++++++++ .../icons/full/ovr16/declaration_co@2x.png | Bin 4633 -> 0 bytes .../icons/full/ovr16/definition_co.png | Bin 4231 -> 281 bytes .../icons/full/ovr16/definition_co.svg | 1052 +++++++++++++++++ .../icons/full/ovr16/definition_co@2x.png | Bin 4407 -> 0 bytes .../icons/full/ovr16/file_visable_co.png | Bin 5309 -> 329 bytes .../icons/full/ovr16/file_visable_co.svg | 168 +++ .../icons/full/ovr16/focus_ovr.svg | Bin 218 -> 0 bytes .../icons/full/ovr16/internal_co.png | Bin 5199 -> 301 bytes .../icons/full/ovr16/internal_co.svg | 130 ++ .../icons/full/ovr16/non_null_co.png | Bin 5472 -> 342 bytes .../icons/full/ovr16/non_null_co.svg | 159 +++ .../icons/full/ovr16/virtual_co.png | Bin 8349 -> 246 bytes .../icons/full/ovr16/virtual_co.svg | 86 ++ 15 files changed, 2647 insertions(+) create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/declaration_co.svg delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/declaration_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/definition_co.svg delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/definition_co@2x.png create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.svg delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/internal_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/non_null_co.svg create mode 100644 org.eclipse.lsp4e/icons/full/ovr16/virtual_co.svg diff --git a/org.eclipse.lsp4e/icons/full/ovr16/declaration_co.png b/org.eclipse.lsp4e/icons/full/ovr16/declaration_co.png index 84e009cc4214d13599067dc8a9159fbc5c81d014..70dad94a85a4ff46aba4ef578cb22209a2a6e4df 100644 GIT binary patch delta 245 zcmV_dG7fe1Xk?rSJ2sDsE}Y+OqhxEr2GHq^{Geu2mYNRhDUL v+dE19axup^4v(S$*p5EyIHoDf5diuDm7iaMt1*j9ocX(rVu5=U!POiIxBS*<2IgOSuY*pO&UZPHBRRPg%l9U!#%hne^v zJF~aDzu)hD-rw`Q&%SfpU@w@HlANB5AV`We-%<##iSSHH8UufIKl?(t9IJJd$c0=O z^#^@U$qi7s#t%>sk(>w;x$3cZrW{Ad^|;ooU$*r9%*Ujncb=4c(r@oj-LhU;HDy)c zO565uWE>gDKk^>-wk2<)>a)#%D*x(I;rvVKyI*cSdAx#8$u-@+x~5}FU~xis>;6~9 zS1efI?s!$z;bW%OB?;KVuHM|HWq7Xo;?hsBz1!OM)%4Cfplw^p9{k$*KXMX?Jl?XEGRmp6&Tg~Qv zHjqQp(ha8k<2jR0EGc^X50f65nIAZ9-#TOUq`>9r6W^S*YtrH>^2qmN8)+4;UcbDu zz5VqQyH~6|(DGQza`f(~F12A=Ykos?UNX*S8vb$W=*zDk4KKU+y!QO9Muh&L;*aA4 znoTcF8vX89=Cl>5shhTdbJoJ~+iraQbk?7*<<#B z_Kf**X;*5-+3DXJzddaIx$4({Z|(Z-$uE~5Pq;8{%gxJ~fz>55yRf-?3f8)}HSv-CHgd*nvW4{JSj>k{f;+Og=+H+O_i?>6MV z>-t>Zy^NHy?oHp2~{-5sx3*4nZ=rBYsY(1TxA4m*h2JcaFAUs3e-OVx5h&`OTnQ%C8NAqS^w7 zP+KV&MJzijIWxjS01uEkG~#i4Lu|x^#c)}8uY?Hi_jR2MuMaWio#(99;)%mTm<)q zo>3s;7#0u`f|6gBd|p(+@NBjHp_-(cUcyFjr1*iuR;rxU~O%fgtF?d8s z&Z~wXeGUESh>!!mq(mVI`Kp2f$g2ik`I*5GbF4P|0D?lvC3*ZYQc%1hlZnDWoxdvR zj@5_)0o=d?K|`=V&5(Loay}4iNN-9eMrUv%aJm8fA=UldW5uw_W@9Zrp-P$5YB6C- zzpUsJB$18X>WzTb3q~H-Q3f4Oiv|+s3_1$ek&Hpdi&};UU=Wnm8jLo2?z2*VT>6n^qA7-F1low}wFU-iOHw!|IB8sO zFfb&bfQI4YN)Dihd`>yc1wpP0l8h5U5tLB}t5U_#`Qs7xjPyIM4AsBq@+MuLWA%01S-4!yrdL1d^1VrT>RyCZTLw{R^8( z{NK{Y3kL0TP@H%S?w@cwCIag2VZo+3;*ne;rH6~_mIu-TW<_MZ;k~yfow;%7g+b6gONx5`HMmb zGIoM;jzSun(qJ%Aw%YO%Z;nk*P0u*^;>oXJXuZ{v>qzPl%HVM~8m%*pR_{~IxE<}- zQylJ%Mz<%L_n$l2U3c(<-sro@V)^Ep^#d zzer0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/org.eclipse.lsp4e/icons/full/ovr16/declaration_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/declaration_co@2x.png deleted file mode 100644 index a39e21966be70688c3a88cbd3f8bf48134e8f1b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4633 zcmeHKdsGuw8Xr^ygCe3gJc2$bychi zjmJl6wXot5ds^MfQCHWa^-)E%R;{I7TwRwf%WAjQYPDK-rK`x^NkHLj|KXhaAIX`_ zo$r44_kG{*`^`PM6{#t6he%$QKoB&NlK(_`hTvGFYzX!hdT2 zG_KSa8Fkj2cV*k^SM$vLoV@q#6FlV;QVO>JvUt~$p_WNmpZ)#Ho%W?QLswT-|4|@5 z-V=3k;aA^3{kQeoQMD(N*SD3Vy|!uU{#VG3H?J)IGAHYbJE@8lePc`cG zUFCoxwk_YROKwOQdp0Ni!<{3;XC@bZo?0`bd}QI}X(MW9?;g3>C;Q}KR5dvfm2N1@ zudm;D_T$xogL|X*mcead*QM&IN0Tc$=1WkER(O{Qy`pO9;ojrYfY;JVOHe>mY@b#r!p z+^(Ss)ko*GKoRRsWvx1JRoC)O)3xT4w#Du3(2C=py7^=p^g6}398#Kf zSvaZR;Rd>cAZ@(gO*8qN09!a4@6;jpj-5ncp4B0l3X{y_)^m0~xzxj@m!_DR(tJk4 zBJr~%T0aE<9GpPIen)}ROZjz35SIdD(TpK*&_&4CAz7wWSnu+1FexRaGBnB07ZJ!T z39R+7Rw~UfrxOA^=@7dhxG4-PE-sc9%cU-l4Z}4W4JIQnf>Md~!v>$bPCx{Rs z3ovhfaguqZ%Yk65xw3r@4B(qfg7a*kBUlz2CY1s)!#k}l|;l?cU(Pz=Kn8kG{2(KyJ# zYPF!W#;QOyghHku7*2uXTo6j^1C^L+)FE}TL~Oxm81nFm1+{TXjCkq zTEoa#PNh;3Oiy&L%PJJp9xl-aiVPJ3hp2(41o@rX)4$lxiR8%$1&ZS+p)}(v3fE9_ z`E(gh$z%xj;)_&iXc|aI0iw%jlw>#@1#*(37LMU8R+SZ3s8v0a{w<0m6cn!RS)>*d zx2>+mYO()oeaNBPJ_pDN*}(n@wqxwse%#5LsFoM_>6F|Hi~ykfg7k{tKDzqo>Jm-pjXa)>iW&-k~}}raZd1OuNa)yKDcxH7jV`aXqi9P0CkAp9Vd2G0?QzG z@**z;MGY6PFsORlXkd&GjHaZBTTw5^jESum#=+n~pI|g3nx{0r*OWN_bnfVgpE_PT zK1f1fNvEGk5_90==c6S>RWbfZZ2Xe}0cyY!WVYpJkQ2$RK zIeWp?!s!=h?&WmD-Y7xaYF5#$ADQ1SsjT?nQA%C-@b$I(ZXcO3qV-zQm{S+;wLF<7 znEwEOIeOsQu%vfdH=KJ6mDX;8#Af?l^2l9bC!N{k{)fHQq0HXtcw_zAjh803 zjEmR_5BR!d;x=_OQMNKrw6sFKVP@d1DzjwXp71Rx`wS~QTN|4eO6P8%+v3(d4bS;z W$ot4vbo|eNUdWh~V%R%7x9op7kC)K^ diff --git a/org.eclipse.lsp4e/icons/full/ovr16/definition_co.png b/org.eclipse.lsp4e/icons/full/ovr16/definition_co.png index 7642aaa5b0f02b5ce147bb4f65e26b8c83245846..eb15ed31f13d0f75879a354ec2af4b9726f96ce3 100644 GIT binary patch delta 253 zcmV>;wFS{f5bBNh)N`m(It7 z()6Te6scG)50p=i9EXl+vW;Va{?DPg=dnwY9{}hLi_?E*o>#Bc00000NkvXXu0mjf DX8>*N literal 4231 zcmeHKe{j?08CGB=AwU}l+1!$~s+vJ*kR{u)WeJ=7utRK!Qxkh6X~q#*{_LpnuUHCp zvbJe}(xh+&%C!e6u(VqTjEr)03>rq06j%yt$0+PrmoCTBLYIy<*R3nLOM>^w&d*!_ z$=&*2wdS{tb z!bQ+fIOq|40F~-O00mLOgCNnr`t3an&XFm@-WOg>>%33VEjW%Wk%sfpbsv9|CGPFM ze|FE%f4085WmoGprLCf3e!=z+$--AU|AH&Qsm6ml#LPb~J(0FV{K*?&WMQ`ht=d~k z+r z#RF~jUH#AzgQD?D)9Lbs;XAuB+Al0V0fu|7Bn=|IzOt1UU$6NTL6Wu#CX?N2GL4ae z6!t&8+h{qLn|WcQx2wZ|5}mVY?oiCXgQujjQ;S-A4W&DC99 zJ1_id%l5a9-Fs{^I+)a_)Gu$hG{@Ga;x2>!%kDEj-FYVR?4KUheDHY-LY;l`my2pt zdp2aue)AtD#g??RJ^R4>){;dBKl$f_tKR7?sC(tk+c||DEpI7qq&Iu_aqFAurbG16 zIiEeJ)syEP=NJC? z>hg{6oo);F_O-oS-B$bf-FGXCH& zx{2LuA1+VqQH80q=}hl_Z5&f`~*S%7{i840{O`!!QJ?Ce&&iR^Vb?K;oi!Kzu}o zNMM+O$cKfHBm@JfjLErzwUQCTU>+Uo&mXec#^D3vs0vUIBFcpbm69a0qK#+5QSEoeH=li?%=AA*XoKh>0aN$^aFHKjK>6Q?t|5jfpA{*>x5?(t$+WwWv7AYUs_YBd`%xnI^D zCIr#QxgGkTQ^SJ4#EaXOtx%}|pd9uEu9m7H&KS2C0vLaB8ghH>jToF-`! zrx@rEM(v?-lBTqP*1LI+OB;uh*MZHmTaB1TNlrxUK2Guk!+s-HBm`=s6A7o_2M&po zMN`o_N=0iJEk)~e8og$sXgvsv&~Qdftz;ObKAv#%>}m+eLEi{|&I^c8z#C7_fWV_uct|% z1}fT>P;wky40@yp7Y2D=NHReLO-O@28rOIE)NUeGKo*ZwYjKqdSL>WAnpH8ZipnNc zEJNv5Um zj9fEvO-q4k70val zjI));vsT=WT|ZhH8HvSymTWrl{_k%!oIE=cd$aV|$9H3~jyXm9n;YTr{DA{`8;W*3 zymIO4n?t{@@Y=KPS11%tvsq!Tiz+^U>7~=_vSP8=<SI8$3x|r$hHIeoq6_it*}AFT2O30mS4H~ EzfhPCxc~qF diff --git a/org.eclipse.lsp4e/icons/full/ovr16/definition_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/definition_co.svg new file mode 100644 index 000000000..b106c342e --- /dev/null +++ b/org.eclipse.lsp4e/icons/full/ovr16/definition_co.svg @@ -0,0 +1,1052 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/org.eclipse.lsp4e/icons/full/ovr16/definition_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/definition_co@2x.png deleted file mode 100644 index 6e2ce9b170272416031a1f12c284b4fb1311de8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4407 zcmeHKdsGuw9v;Mkf+7gmRKbRURVhp+GkH!-1R9V;8)SJEbX}QDCSim;NCpy6S4C~1 zpp@ccWu-^#`dHymyVMuz0*dv$^|h;AEX!iGx?NEUYw4Ei-Xwr3ToR-O^kan)cYSuG( zG?y*1&|KQV=po4QH)C=~fM?jG!Ts-T<#u^q?B(g_g#Lc8^#c9pi232=zKuQ=xB5IJ z-eGY(&B4FcOv!3WIU0XGJ_g>my1gu*qTbJ-s8Z)$wnd5lvm`XetGb!Kr;S(@bmZ`E zV({Lj(m9{BobQuPn>qPLbT+4d;MeKQEi`Y{(lFclccZ^)TKn|MK08`CEpTc^MtS#+ zrjJk825>f)){DXm&#Mp1D$48!CYykBy8{nXFbShl>Fv>{?T$ zP@RblIlCft@1EdS=Bx70C)Y-o2It>=BdG4p1HnrR_{aNwYlIO9Z%avTTU+JXgB!}5 z8vPnexC0*DJZWUJs_gkSo1TwVFAw(o_<@qM z!Qa1nCw*C+GX2B5-^^a{r_O|;?cW`bNo=WU;&cU;8FrExWs=hUl6tSN*L3?wU3{aL z=sl)>HR3m4HFtkI>+6y;6F#4^^WjZ-eraYjd+2&wL(a~wb0imdyxD*+LQN`Im9uiO33^os}JMfFMVZ3=pHPBBQHL#q~ty*;@i#P>k# zhJOvTJ@2v~%~&9QIOmnSvEP*&*H%nezkGMr(MOM|4%3IwGeg%R^AAx|v+q~;7cVOh z@$l?uJzKCW_364xq1gi$-q(ClH7MM)dbT6xBlE=x%A>K5YdV(YzP^82Y)$i`PRRS+ z*39*Pyrt;;^2Qe(Erz8({s^r-X>Ev^bP)xno528cWoq7%QD!5L)S0z3&tbFx*Flgx z#$h3;T$<%-X#-iO~z+6VBfZrBr_!^6n&S6x=RywsfDUB-5r3f7yv%p90kO2ZC z&5~S)G0$X^ITWyqR|cM)%_z)uLD*acoT*9XD$Q1!E941zd?dla6yop#AFkZ0)5}ug z7Yf6B|C7B2leL9$|2nWMGUIS5ZK`F@x!-5uByKn&-mkD3s2ljeyh! z^25g9Sw{attTDMcBd&5rCjy2W;U9w@uH6L&D2+xIZ>9>IgR0{durpto&P*{nnd^}z zr5G+1^AVw5fFVMikVHsarvp#8m@g)zIF9j0QK?NfmNZeclM0aY7{DVIi3B*N(;|cx zmmorc4o9SzfItL%i2x(STD?dh8AY+g$^ciAd84y(Qt1GdgraDikcbgJiGdvSdM!c{ zdJ#h4BEATxXc30dE-L3d$l{XK3Ru8%=jUok&Ldg9*=kh4Z!x9<#|vm0W294A(kU7y z5eqSifRG4;QjtK6y#Qs*g+!IQcII!d+>5R$+*jFB|ZsKsP(1)Q@Y1GNBM zNvBN#v8x@FB2!vvk~Le?%;r1=>`csMY_8lr9V*5Kf<;cR54k;+&Ue4L&7a4(LR_xP zuriWz^V`TmTIU)A^mB)(9MWWJgn(=dq)BV+!!^s%|4~Km0*u-MKtFdI*jm6&g^p}hL#jE2{24z(v+*;I0I0_Y zc`1FzcHPAA$UwB@T3h>B&fL503roWCSvLFnrrYbQ z>eRn8?GEZFUbaOU71uuF*`qtV(6v1p-k~6PW#BJocD!?19(b)S<4IilAC}iwnLB0# zgr0l!?WHsIjZ`-0Sn6Nati_AqJ@*$rnOnnjAGxOTZpxb9Y}beXHXz~TYhH~9(+6-3&=hT$$L-*WH^b$hM(^5mrFV1mq$d|RDJAQw zwE^?xm34I8-gzxgH>MBV`@zET_1@z7YVDGcx!>o9eDbNN!=p+1^vhMU3_il#x z1xJxi9(sh+h?+@NLh(Qv^qUWz8v&`S*Q) q_`#B%sNiPajthb-4?eou(lu*BU!7|2YB3NSg478~@r`e0m;4tFT~y@& diff --git a/org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.png b/org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.png index a0baa39780506d1b4b8c6081a3617f3173ab1841..0de21fa022a174b0b460ff4a53bd02e818d0bf47 100644 GIT binary patch delta 303 zcmdn1d6H>@ay+o-I9e=*|6o|L^_v4ZQPeYpa<4@!S4Y!u8+er)X{4bmyGL-K*QbuHG}_ zF}rW2A4tQo|NkXj{9=9|`StNMkJvH$`W!pMKMzy()QRU^k7nevTe*F{(TsnFhGzxp zem@mnJjZ~!c@GB|-+y0!|G%-ZY#PX6%_ZUIkKC_`;mr3H`B{;_|Hr|528V<^4B6txHRMZ&YDoe;hc8GvL0BZmN0Tq==G6@l~Fd0Z#L`19$)wrOt zxK^Pkt}P0P8=xQs*=iM#MUlEtil)LXV5@f$aC>h5_&m4&OrAM2^PTs+=lkCC%~`eu z2l|{*{Oy^Hpnx~F2) z#HzsJn^()c(UrYWoqeNq(dvl9J%X-3*F<#gS=4{0{bul#6Q_^N`p?*^pxPVLXWG6M z_}3pUTNG$l`rEHr^Vclq`0%g%kzZm|6`OHs;}u(zfX52-{WWVlXs3U54ONVh27<2J zHW$xL%PbGrlPR0i2&Nts%(vCAj7*O{))+i($38c7y2kXl!ag=-wpn>;)*@o-KuTew z@%bE4VJCY&0ky@pr@yY}>%l3^w2}57Ftx9Y)(_MggrqD^OHDr4;n!-LH83gK)a|6( zK4#TrjEi6pO|uSL=lR#dzA|&Eudh|Mm+y|KGK@Ws*iyHwVCkWb?9J%Ka3|w?YC}|H zVTe7{i`(Qum-gFuC0ZJsGswo2r1FkEr*W0Hc2z0toxu#!tb&(LrK63#-F_>~SFC1S ztRtv7fcIq1%$`Wv$cx!w9(vba+>d?f7~MSik#Th$sx3CR%$*&mm+OO>k$n5-4Hm!B zP+K2%*ji5~Mo-?RvAE57;;)aj)CV(n8untQ?)oFj%+75$3d+`#*6jCJIHauU7pUL^ z2e4+Hc6Hc#rh05!;4<&_EM@oWhsPt1q?%5TdO1JSx@Kd}aUZMoQ~zC4M7nkQ+rX=a zJ5J?M7I5}f^o9D9#7i7RBMs*dUU1`kHCnBO%InuY+Ww@~X?6M0)a_2!GN)(l4}*Sj zv=sT7P{Yrhe8Mp)xEu8fU(!}mu-|RTnXi;x`E!#8IzpSaP&*{AlQ(RlcAVA-);WK( zg&M=Z!fj>*{`qj~Hy3QxgX&F_EGW|&Pw!E<=gdCXe)Ac+$+&eIve?j&zwOb>8V{gxYX7y$PEmLFh45FYfpr4oEtUE|qc2Z;#dVFHJMD65YbsT< zdUONr?&?{SuQ^T*QWjS}vStJaHL8u0XHB}LataQywuTIhsyl@RB^S?R{U=H~+!Jup z=5E7!(~_1mqP$I+p`tO)P<`p#&8wD8IdY?7_n}~~jZteSX?(lmldPG!a}KRyt}g0J zSzbhl&m{hlRPxkqFUe_b51RJd zQhr$0o|n2k;9h!AA^221w%5oj$zeISX{f0A5Uga-dzWo7aO%$YSv$%&eCH{vW|>?5 zlyk>R9S(*oDM3rxTe9bBrpGV*KFH!w>bh$VRVl-lJnus{$2!}dc#HOSncc4*V1(2b zwGGZ&QktzAK2=eAC;e+_Oml^i|EYS77?NgY>H;9_dqz za*nE76N<$V^Y$HBlx#70F<5i5B!Ux|WW9V*p*}?U@ z+5Xj@Hn-M>7NmvEamMxTI>uV@FU$D5juyuj7g?@MAeIkd@+fu=E;}<~D=XEvPHoEi z;jHP|4D5(r@4&+o&v5o{2o5D%haZ;Bdojo!?ABX+@iwJcV$%#iSbFnYp5s+V!!<2C z^x$u;%yL)M9JIUD0;P6U*WRx%Zd$i~u&L#^(AjXrr+0-gho&*q3>8Y`-3v@FTsb}c zh`Bl!_UiRJ>ooUzd}F!u%Z6RKOB>9$Y`qm_?!;~Qy^!PXYZFdA^!w)QTF0mO#+4Tu z`v2%7Ocf681JC|s!HApPykvewyeLM(Ge?XI>qSNVDN z(B$!5&DrdSkdbvNSrD3N@4=m)Z_wTJEWg$BEx!5Uli~25+UJvZojBV|zfn1#n0I_& zc*cvtn8DwAT!-JJq2xtS;c)tf?~%o4h8S67BDqUhe3`@r5Xg9-i%KF#79kYM-9se@ z_^}|2<$)rxl#P2)aUF*h3)r{_DwoKWdxJ4z|6~XZO%4p>C&%)c0-VPpw7ZIh5J*56 zz^Wv1QUy!J#_4!j$g|c=z+rU|IF^lzFOebLbArd4K!pAKXux}zlGU3qQ zwors2Yc(MRRLBw_KIoeWN@3fNDf|Ms!S5NgA&JBixh^O~yiYn4@ZaO)2~eC4Bj6Lj zI8cI+DiHrjpWtD!@Pk;N_@=GVh4Zl^NO$k~KS95XT?a-`TrSH;#!t|88sNjmY5iph zWPGuJrF-NtKr)#K0C=M% zga=?U0S3sV;{`lA15W{&G(3Y2@bDA{l_(_fDFA~Z{D>k55+hj&#C`0QmP&w7Q7JU0 zD~}H1$qaykrvM}>o=ImC@q7k_3etphlB+9UN2MJHmRE298|Ugm{9p-=17M*HlCW`0 z#nJ@Thl((<1Pp}%t!N~=E167VP-rw7o#M)%e*lGpkOE0KHjeDVWV(!pE#R{_2qA#v zjaUMRK!RK<(zVcz3JZw^(G}39DMGBXBcZUoArOFNP?$^>$Hr-0)g?C8eSA3l#R{Y{ zNt^2v*&YhUkH3v4f1FrXg~jR;mId&~`4vDSDA4tRv>UJD#{g0hh4#<45$^4NT%RPBs`fMMk2B(Bo>k8L_|s=jxZ52LHk9&i`kv$4R2Eby1?`Xbk7Dezg~FWL2f zlMDUfumehweUK74%G~uJJw}c}hPS;9kfP_ zMsNVv*XS8$#uNv`{rfOW5z|cAHxl-iNwj-rlx{Bv3b0Bs9D~*F(8xB zG9=y4t2S0&4K^=cSHDl)h#O&*NgL7*v{|0-qHcPVvD4~kc5O^*BC0vL`n(mcl>=eU z&4xC#**l*I%Ss-~zMg3A6hj@w#@D21iyEr=Izc;KUb^rhX diff --git a/org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.svg new file mode 100644 index 000000000..1f56b59cc --- /dev/null +++ b/org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg b/org.eclipse.lsp4e/icons/full/ovr16/focus_ovr.svg deleted file mode 100644 index 6ece861710d2b8fd19ba446507b1034d3422a16b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>Ab+B#i(?4K z%+?cz+>DG2Z4a;S+^o4&dz*IIDV1&?v+mHYz`H5wso@e4Z$B~fY+s=r!=|&Vr1=l) z_nT|xeQeyXqN}pBE>LdWQ`U!pL2?Z))k?cfr^?&JPg>PB)ntWvm&tGK-!+}z+8TV! zdV^10EH59>G?*^lGRcJL2h(;pYX|0n{-r?2 OF?hQAxvXpF8FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H10J=#;K~xBtb&s(Q0WkoE|F$PN%ON%k?gc!PL@Wl6 z(8OexSPdcuk6<);0E2~?kchi;<+R#sO~m3Gzv=ska}NI??SJZET`E^@pR6t(c{^brvTu6%61nstm~xJOzh}e`@2F2A?`=K Z0cdkyHDCl*rVIc8002ovPDHLkV1kP*ai#zO literal 5199 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 L2Y3}Pj86G4vp?y) diff --git a/org.eclipse.lsp4e/icons/full/ovr16/internal_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/internal_co.svg new file mode 100644 index 000000000..c6812a413 --- /dev/null +++ b/org.eclipse.lsp4e/icons/full/ovr16/internal_co.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png b/org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png index 797c15b991c5d071dffa9717a9a3a33b28f1e36b..d64bcf54bbe84539c0eee077305febd89a52ea66 100644 GIT binary patch delta 316 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 h6FX}lcZ?Mb)-x~g#^q#%9+WH0i{;~X+;v& + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png b/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png index 8b1efcba467c89e8cbe0f7d59650eb3d3117c6d4..2f0e3ba82af893c8034071950b54fac7478f4414 100644 GIT binary patch delta 219 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 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.svg new file mode 100644 index 000000000..eb3e4d528 --- /dev/null +++ b/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + From c860fe7cd18fff39f9aa2fd579457b453b74d00d Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Tue, 9 Dec 2025 17:16:26 +0100 Subject: [PATCH 11/16] Create visibility icons for overlay based on icons from JDT --- .../icons/full/ovr16/package_co.png | Bin 5232 -> 260 bytes .../icons/full/ovr16/package_co.svg | Bin 294 -> 4105 bytes .../icons/full/ovr16/package_co@2x.png | Bin 536 -> 0 bytes .../icons/full/ovr16/private_co.png | Bin 5266 -> 263 bytes .../icons/full/ovr16/private_co.svg | Bin 290 -> 130354 bytes .../icons/full/ovr16/private_co@2x.png | Bin 420 -> 0 bytes .../icons/full/ovr16/protected_co.png | Bin 5324 -> 337 bytes .../icons/full/ovr16/protected_co.svg | Bin 358 -> 5215 bytes .../icons/full/ovr16/protected_co@2x.png | Bin 703 -> 0 bytes .../icons/full/ovr16/public_co.png | Bin 5358 -> 332 bytes .../icons/full/ovr16/public_co.svg | Bin 405 -> 4301 bytes .../icons/full/ovr16/public_co@2x.png | Bin 783 -> 0 bytes 12 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/package_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/private_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/protected_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/public_co@2x.png diff --git a/org.eclipse.lsp4e/icons/full/ovr16/package_co.png b/org.eclipse.lsp4e/icons/full/ovr16/package_co.png index 8f58b6c9e4a43ca3b5ab6d8e85196916991d4bb1..e29caa7fa248fbe95cd2fa127dc9bbbcd3c807dc 100644 GIT binary patch delta 233 zcmVpF8FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H10Fg;VK~xBtWBmXBKLakn1YS`=)td}| zzI|0&49vJse;J;A{>9|X!p8D%J_{=w>klS|r!Ywt jMg|u4|G(!j;`0gsT#+dZrQB7|00000NkvXXu0mjfSp8tA literal 5232 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 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/package_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/package_co.svg index 16497caea589800d9ebfef347a1fe934c8a88788..dee689a3ba40506e38bfafef9983a7a936d652d8 100644 GIT binary patch literal 4105 zcma(U*>2-D@I7C_Dlb{ol1SZB>=bAhTP#qZKzA2?ENF?g)ySei$+4ZU?~o!X`3O)u zLBhE>_Y9Z6oc0ZRW1_ElyK;z!9mLv_S9QBxIX}LCaWe|*%IJ}H(S?CIdQ zsCe1ZJ($ta@|AAcKPC6zrtzYh9e?Ggm4gvRDblK#%h;*oVsJNg!)_#W?I^*RTWI1_ z)zvE}PcGHg$nzWtL1_EJ@UNVYd?>H(L3h^shFA$7`Hh*D-vGRxA4JJE5C-P8Z16vS z|Lhy2i@j>7W@1ha$hIFB7bx8R+z#~Qw*BLzN>P@Uvy{16zp;|<_q^?u`j^DjMBE)jqbRD=F}YVWxS2s~>o0Xc1J`xq*z7 zK)2)#7sX>l(v)tV6^KK)>)~9GXJx6<1M$tKXHYMA22)i7LZU2!BKD=~@^f|DjB3ow zk;)46qBIF&5=1k}cQhnXOtM=IKfLyih=kFg%KnFuW7&^-&eRXAkxT#5+oS0p1;wIFU9-dhV^gD#44LV33E8mx5IoP2{91*XU?++lj24$cv*mjpGS=2B;f*3C0P| z!|Bf8E-^se%!{Icq{-Niq!+e2-F~$7(65|B&%`&`6aH*}^h`Tt>B~G->1*n|kjT`k889Gi6E!#L*O0{?l)8!7n-_eR6 zSI*e)p?nPUJLmhA6XsrMQq`hL=+mK>MLEu_cPHd|<-}e@NPGtgBj6w_+&zr$>rU4? zl?NdtK|{|>K#b)dlY{+^AGbofZV(6KI(zZ4Zov{)kG3FAZtT?*X5Nu7Hc46f=|Z#S~rAdEZ|d7pPsN6q&W^l94@f@ zPDhY~y*LbTw#Z4~VIU*pk}6xf9+P(!(}hGx7!o&hiA!uqmsS-+6h=6M)qM(@mJIuA zQ#__&nrF$gJh(cyVZZ1H!CzVN80Rrd29UXS&3OiYoExaj2zbvF>%%b2VgK^FEg-p>Fi>@9py>`pWMCDA9xDXo z7TnF|&~ec!uz^kP-%|m7cVvJ!2J{Jc4X>1~;D@#$!#o`5QFoBokIl)1GD_p?NLcB1_ zoqG#VMqIaz{I$kZTVVNf5?)Hfzqd%s1c$X&%@=pHH(kp?o%G&I>E9T%niISOrxA63yka`h0ej; z)Jn-0fEvXR^ltrk+d>HRj4;ho)j;3?b1F_jS|Ar25{K!6;3)U9ES}nj^^g_kmaxe% a;mV+5FNUp3F8RpL$)boFzSet_Y literal 294 zcmV+>0oneEP)W5xH)EAY%J#AzJ6g6C~j^d>)*d}KY#pW`2PI|!}sq$7?^(j zpUW3IM+jX#inGLH7jggo|Eq_Cll?yZt s=70Z#KK%TR&ASYYOiX{UN{ny-091-Y$b#eeJOBUy07*qoM6N<$f~)0(_5c6? diff --git a/org.eclipse.lsp4e/icons/full/ovr16/package_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/package_co@2x.png deleted file mode 100644 index b0967e86a2338d06c4727ddb15a0d9edbf2f089a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 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 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfyN>bfXJ;yi`Bmir!g#|72$GzTC~y-T~1( zmwUpk-!{cmmy4O75_o*_q-BMFB+!YMZa3}Dlel7Hzopr0Nf07(*OVf diff --git a/org.eclipse.lsp4e/icons/full/ovr16/private_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/private_co@2x.png deleted file mode 100644 index 179469d6ba34da2395fb9b3989f99765ea3ae7fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBlwP)Y5Qg9T2#JyS0hb~MG=-R-U@MAc(B9u?E&c`(`~wPt zhgAX|r$NmHZf|GCLJ=GHb~TV@AK31_nTNR@7VvmHo+T651}~Fg=PwOT^85FH3tS8a z8;as_JBr_2n$JnEw`rb?CX@MZnb@}2Y81cj5BGY}&bC!vr;oTv(S-2$KYxrz2xFTxp>q0xxm`494^A9cEc(l`pdlQnxNH z0u%&mFGZ1~C~QB0gh8k7EwFkG1qjajyM61pF8FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H10NzPNK~xBtWBmXBKLakn!oa}5uzj*BJ2Nxex_|%v zTQf2-&2-PYQqI7@z`(S9vMM_hGuv)i6&(k+&@_I2VX@4e(|>d(GcYhPFz%eHwN*|< z$5F%3nv;Qnf#Ki3e+;MgZ~FA{-K!Z)|Ni{3Q56&C{QvAO!~bV@85m#OXE4>!;rsvR zcLoz96YGrASFU{e$F0P`z@x&zz@x%&>+!4aj7+SD8UO$P&#+^%_C$U`i3BsNAii7I zj{bP`@Y0!o|1f^KFv7gDbBa#q|Ns9o7#W!l|NH+V*faO`PXKiKR_sgC?SudT002ov JPDHLkV1ijJo&^8^ literal 5324 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 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/protected_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/protected_co@2x.png deleted file mode 100644 index 9bed0fabeae8b6c1c90201fa4e05a898fc6df9d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 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 alr}rFG~WcD%^EJ81R}sEh^g^jnetx+jx&=0 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/public_co.svg b/org.eclipse.lsp4e/icons/full/ovr16/public_co.svg index ec1f84ac9fd5c146361bd5696db3b42347287e83..c72adc5901166e4ae586981d44dc1094acd2497d 100644 GIT binary patch literal 4301 zcmd5AYj2}Q@Oyp*C90IDS=e1324bgDd%EhRN|kzd>c?sgYnukM2ykrQukXylE;w1FsebNq(MacR*Y{24`^V$aD@UNG+O2=@5b|_$v+Q2BH;w~b zMZa6Q3m0E@vfS?am7D0dvRJu5#r4ZfH#T5Lq1g-*dfd5_>kXA@NFN+dc|<7uCHI=8 z1A7|yWrfOXu?I7n!@4T-zjNimLBlzvJpQ6iE0;RdSvaF6<}7(?RNIqHS;^M|ntBjm zjLk;cQ_++wH;pfq9+Brc5<*aSnc-i#?|BeU?i!KH&Nswb_`q+BwEPC(b?VUOasxq- zUM+k7!T7hIQtBJ8j;g&tGR>?SC0?Oy zi_JAkeKzGj=L9H7cdmPJB6W8=sgmWn<;*cN%NLoe{a)3bR{xT?n24K0TWN|S_hlvb zvhF*ddCYg8AT^hT+;o_tj)Q55Z=ps23Opr6`&%oD5|{=e$2s$r8^(~4l*dEHBJ&BL zL6UgEf<=+m8lh(fw2QzCQx**wr)dF-v=I%%A$<_K9nbk%mwmT#51nj3V>0|vf9<4| zh)Q1S6{I{R(~&xY*{+q~=-W$5Mi*&97)eP$79=JKJW=>fR+zNQa#d9_hl&-|QJgz_ zyixK?E9wq1ZohK(qHoL79rbuZ6TVoa4-~)SYZ^Te#+euMC`let%Df;7DZ6(aAKm}1 zm*3j?zV?G45Y_dnF=29`t(_}q1qdWyk7~2qMYI+R@u)!xoLlzij6GWG97k<7odmP# z45r%^2w^m#lthGs3lqXAcrXO-!J{?ijSh3(Si3v|=cj~+z!$>f&;-#Dv%|e9oL9{V zSt7#Xl^O3Vam5iL%%dcIEn)JV@xzoFLw%s<&=2SXw1k2YXb4A}tOiT}GVyew`B+=} z$@HcS8(#4Ojd?g2owXJ=*&DHi3WvBsB5(9(49Z%yg=`Hf)}IU17}{apjj~OrN2wN1 zVIE$=cRNw2mcLyrdrEF-_z2wcz}`a$_%G=^}oM zgu!*d&O{DF^*5(C?1#2Rf=Zkvcw`%gf$1pSP93)`darK}rd3#_j%5wTkZ~UKD1Kw| zNMVLF3lbCd*Ftc7zE*7H2J3?N*!JR7?#piyG&Jm5=R;XYXm!`L-Xe~y*Eq4S;k#Ni zWLv4Vs8;SqR5oj@%6I|>+XT~`YzcIJ?PUHe+qDwyOgT#e>OGr0izt50Y_KHgcvCn1 zxq*grIwNd!(@-`D2-48x1eAJPZp(V+P6Glr8bzV>u|?HefEmwP7_d&TDQSkTy0qhe zDluJod)bRZ^kS+v16dfuVE$%*e)wp6YMy6*srK2J=r~9q*6ILVa^%6@wJh=s=Yi;- z$~|};H-w*HJ6QS?!pcBm^pypG02JHGVU@9iem=X4d=Krqk^bkttg26Vh;2A>7Z> zwudcnB<`nasUIuYtM4cbMjAjzh&jJE-XC>yoEghBU>7M30vebBYhFPP^`d}N7_f|c zFy(Q;8t49(VqB7TRtF@y0N zT(xv|C|q|cc?W0Cd}+mR6trS}R90iwSC1NU)c2eVPzQZ4V}S?bmN%zI%nCAe+Kln& z$ANDn_GNX>KEqP=SjoPZEg5S+qrh~8fp-BITs{oNcU)e>b#4|bJssq!hp_=yz;XA2 zva#;INV)&B?Uxm%t@;+GnAmECfutwuRn< zp`SyCWiF!zX3KMyA48EhqTk`39m7HgzY9DrH?YdX>I0Q`iNOH{rg%wcHwP?5XzIYj jy)=Q|5KT87jRBq!6T`nCri8SOV0h4t0p{5Y^oM@|qutjM literal 405 zcmV;G0c!q-na5vVvS{Vq7y~QR<~KC?SYP!qQSAuKGN5tC4Rq5D=+YsMqsiSuiaN&y@N?~3p$6c7R&0E7S&0$d2hUPq(?uG%L6uvd1Oew;$e<1`E4X+lSvF_sM!w}6_0{<(Rp>So zd=>x*k&89QUM}Ykj#}~UwUSWu%!2y6qd%u_a~^NG$Y4$&00000NkvXXu0mjf;TEnn diff --git a/org.eclipse.lsp4e/icons/full/ovr16/public_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/public_co@2x.png deleted file mode 100644 index 67813cb9214e18038c79e7ceaa5770971d4f481e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 783 zcmV+q1MvKbP)o1=NgM5^O}ZcBA&D-cO>2sJ$e*3rH_Y4j zemgs}Gf-1aHT`3WKYp?=CYy6abql{UPkQot-25v5(evFq(L@h$1PFV&;zEhrlMVVE z`r`Jo1FY|h`DbRV8v=0>kN_dWpw6fBWj2qaRN3{VbmZ~WKs>Rm0MVYk_km-EuB+I_ z4Py7YHdclL0NAd}@c0KFjJ_dl<^Zw^XHTYoaAa8kq8GX^BE*$?e;sG{cM}bVe(7hs zE_a{5U^w{^U?g2Hw^#ZcdZpyey|ETh_WR!AzkL4Hlf4 z*}?H=3&qze0Vrji0K!{Wuc9N`RLLD(2o7)ARBQ-wx{|-F7*UC%0Gn4elgXKs=b9?l z#S2w7fTmD@kl`aYZ*?~H?CD%+E>s3Uw1UF1ZQf-vDCJ3Bs*6yib_pV6806+HgwR`n zY5m^PyK;r_czN1W<}8-u0wgo_bz@Zl=#IQ&>-Ob|tSNW28#D$3p2WrE z-T?r?aN=Xxyjk^sz#K|sgWc;Ilu}*kuO^*q*AVd6;q&=QMHY)Jmf^AYBqk;SQnn*c z<%bgassI3H54JxF&btQ+meuz5(`S5A5(x* Date: Tue, 9 Dec 2025 18:30:15 +0100 Subject: [PATCH 12/16] Add completion item kind images tests --- .../eclipse/lsp4e/test/utils/LSPImagesTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java index 4356eed2b..23d806786 100644 --- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java +++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/LSPImagesTest.java @@ -15,11 +15,14 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.lsp4e.ui.LSPImages; +import org.eclipse.lsp4j.CompletionItem; +import org.eclipse.lsp4j.CompletionItemKind; import org.eclipse.lsp4j.SymbolKind; import org.eclipse.lsp4j.SymbolTag; import org.eclipse.swt.graphics.Image; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.EnumSource; +import org.junit.jupiter.params.provider.EnumSource.Mode; public class LSPImagesTest { @@ -40,5 +43,16 @@ public void testAllOverlayImagesForSymbolTagAvailable(SymbolTag tag) { assertNotNull(descriptor); assertNotNull(img); } + + @ParameterizedTest + @EnumSource(value=CompletionItemKind.class, mode=Mode.EXCLUDE, names= { "Color", "Event", "Operator" }) + public void testAllImagesForCompletionItemKindAvailable(CompletionItemKind kind) { + CompletionItem item = new CompletionItem(); + item.setKind(kind); + + Image img = LSPImages.imageFromCompletionItem(item); + + assertNotNull(img); + } } From 7b1aa5097d1b52074d70021ad9602c16a190b28f Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Wed, 10 Dec 2025 10:03:33 +0100 Subject: [PATCH 13/16] Add overlay icon for constructors to image registry --- org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java index 6b431ffbf..c4dc66d42 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java @@ -106,6 +106,7 @@ private LSPImages() { public static final String IMG_SUPERTYPE = "IMG_SUPERTYPE"; //$NON-NLS-1$ public static final String IMG_SUBTYPE = "IMG_SUBTYPE"; //$NON-NLS-1$ + public static final String IMG_OVR_CONSTRUCTOR = "IMG_OVR_CONSTRUCTOR"; //$NON-NLS-1$ public static final String IMG_OVR_DEPRECATED = "IMG_OVR_DEPRECATED"; //$NON-NLS-1$ public static final String IMG_OVR_PRIVATE = "IMG_OVR_PRIVATE"; //$NON-NLS-1$ public static final String IMG_OVR_PACKAGE = "IMG_OVR_PACKAGE"; //$NON-NLS-1$ @@ -167,6 +168,7 @@ public static void initalize(ImageRegistry registry) { declareRegistryImage(IMG_SUBTYPE, ACTION + "sub_co.png"); //$NON-NLS-1$ declareRegistryImage(IMG_TERMINATE_CO, OBJECT + "terminate_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_CONSTRUCTOR, OVERLAY + "constr_ovr.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_DEPRECATED, OVERLAY + "deprecated.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_PRIVATE, OVERLAY + "private_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_PACKAGE, OVERLAY + "package_co.svg"); //$NON-NLS-1$ From 6ddf6ed21b71046ee474975503644eccb5ecb4cd Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Wed, 10 Dec 2025 10:10:33 +0100 Subject: [PATCH 14/16] Replace remaining PNG overlay icons with SVG versions --- .../src/org/eclipse/lsp4e/ui/LSPImages.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java index c4dc66d42..b066e3b92 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ui/LSPImages.java @@ -174,10 +174,10 @@ public static void initalize(ImageRegistry registry) { declareRegistryImage(IMG_OVR_PACKAGE, OVERLAY + "package_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_PROTECTED, OVERLAY + "protected_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_PUBLIC, OVERLAY + "public_co.svg"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_INTERNAL, OVERLAY + "internal_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_FILE_VIS, OVERLAY + "file_visable_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_INTERNAL, OVERLAY + "internal_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_FILE_VIS, OVERLAY + "file_visable_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_ABSTRACT, OVERLAY + "abstract_co.svg"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_VIRTUAL, OVERLAY + "virtual_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_VIRTUAL, OVERLAY + "virtual_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_FINAL, OVERLAY + "final_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_SEALED, OVERLAY + "sealed_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_STATIC, OVERLAY + "static_co.svg"); //$NON-NLS-1$ @@ -185,9 +185,9 @@ public static void initalize(ImageRegistry registry) { declareRegistryImage(IMG_OVR_TRANSIENT, OVERLAY + "transient_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_VOLATILE, OVERLAY + "volatile_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_NULLABLE, OVERLAY + "nullable_co.svg"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_NON_NULL, OVERLAY + "non_null_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_DECLARATION, OVERLAY + "declaration_co.png"); //$NON-NLS-1$ - declareRegistryImage(IMG_OVR_DEFINITION, OVERLAY + "definition_co.png"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_NON_NULL, OVERLAY + "non_null_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_DECLARATION, OVERLAY + "declaration_co.svg"); //$NON-NLS-1$ + declareRegistryImage(IMG_OVR_DEFINITION, OVERLAY + "definition_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_READ_ONLY, OVERLAY + "read_only_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_IMPLEMENT, OVERLAY + "implement_co.svg"); //$NON-NLS-1$ declareRegistryImage(IMG_OVR_OVERRIDE, OVERLAY + "override_co.svg"); //$NON-NLS-1$ From 6b870627b619ddaf5dd36a8c61347c84bf791156 Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Wed, 10 Dec 2025 10:47:41 +0100 Subject: [PATCH 15/16] Replace constructor icon with new SVG version --- .../icons/full/obj16/constructor.svg | 101 ++++++++++++------ 1 file changed, 68 insertions(+), 33 deletions(-) diff --git a/org.eclipse.lsp4e/icons/full/obj16/constructor.svg b/org.eclipse.lsp4e/icons/full/obj16/constructor.svg index c1fdb7378..4a229c816 100644 --- a/org.eclipse.lsp4e/icons/full/obj16/constructor.svg +++ b/org.eclipse.lsp4e/icons/full/obj16/constructor.svg @@ -2,23 +2,23 @@ + inkscape:export-ydpi="96" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + inkscape:window-y="58" + inkscape:window-maximized="0" + inkscape:showpageshadow="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050"> + snapvisiblegridlinesonly="true" + originx="0" + originy="0" + spacingy="1" + spacingx="1" + units="px" /> @@ -467,19 +475,46 @@ id="tspan4209" x="4.8992257" y="938.64496" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.14256096px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#ffffff;fill-opacity:1">M - + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.14256px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#ffffff;fill-opacity:1">M + + + id="path4163-4-0" + d="m 15.347633,1041.4132 v 0.5002 c 0,0 -0.532599,1.0498 -1.506129,1.0498 h -1.188536 c -0.515959,0 -1.124963,-0.7698 -1.124963,-0.9276 l -0.148438,-0.6884 v -0.8854" + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.01003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + + + + + From e771942c3df96b9486510c804e9f54e5b5e1124c Mon Sep 17 00:00:00 2001 From: Dietrich Travkin Date: Wed, 10 Dec 2025 13:46:55 +0100 Subject: [PATCH 16/16] Remove obsolete overlay icon PNG files --- .../icons/full/ovr16/abstract_co.png | Bin 257 -> 0 bytes .../icons/full/ovr16/abstract_co@2x.png | Bin 488 -> 0 bytes .../icons/full/ovr16/constr_ovr.png | Bin 252 -> 0 bytes .../icons/full/ovr16/constr_ovr@2x.png | Bin 482 -> 0 bytes .../icons/full/ovr16/declaration_co.png | Bin 273 -> 0 bytes .../icons/full/ovr16/definition_co.png | Bin 281 -> 0 bytes .../icons/full/ovr16/deprecated.png | Bin 180 -> 0 bytes .../icons/full/ovr16/deprecated@2x.png | Bin 425 -> 0 bytes .../icons/full/ovr16/file_visable_co.png | Bin 329 -> 0 bytes org.eclipse.lsp4e/icons/full/ovr16/final_co.png | Bin 152 -> 0 bytes .../icons/full/ovr16/final_co@2x.png | Bin 179 -> 0 bytes .../icons/full/ovr16/implement_co.png | Bin 214 -> 0 bytes .../icons/full/ovr16/implement_co@2x.png | Bin 413 -> 0 bytes .../icons/full/ovr16/internal_co.png | Bin 301 -> 0 bytes .../icons/full/ovr16/non_null_co.png | Bin 342 -> 0 bytes .../icons/full/ovr16/nullable_co.png | Bin 5381 -> 0 bytes .../icons/full/ovr16/nullable_co@2x.png | Bin 561 -> 0 bytes .../icons/full/ovr16/override_co.png | Bin 221 -> 0 bytes .../icons/full/ovr16/override_co@2x.png | Bin 396 -> 0 bytes .../icons/full/ovr16/package_co.png | Bin 260 -> 0 bytes .../icons/full/ovr16/private_co.png | Bin 263 -> 0 bytes .../icons/full/ovr16/protected_co.png | Bin 337 -> 0 bytes org.eclipse.lsp4e/icons/full/ovr16/public_co.png | Bin 332 -> 0 bytes .../icons/full/ovr16/read_only_co.png | Bin 240 -> 0 bytes .../icons/full/ovr16/read_only_co@2x.png | Bin 454 -> 0 bytes org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png | Bin 209 -> 0 bytes .../icons/full/ovr16/sealed_co@2x.png | Bin 439 -> 0 bytes org.eclipse.lsp4e/icons/full/ovr16/static_co.png | Bin 218 -> 0 bytes .../icons/full/ovr16/static_co@2x.png | Bin 419 -> 0 bytes org.eclipse.lsp4e/icons/full/ovr16/synch_co.png | Bin 305 -> 0 bytes .../icons/full/ovr16/synch_co@2x.png | Bin 692 -> 0 bytes .../icons/full/ovr16/transient_co.png | Bin 180 -> 0 bytes .../icons/full/ovr16/transient_co@2x.png | Bin 205 -> 0 bytes .../icons/full/ovr16/virtual_co.png | Bin 246 -> 0 bytes .../icons/full/ovr16/volatile_co.png | Bin 207 -> 0 bytes .../icons/full/ovr16/volatile_co@2x.png | Bin 370 -> 0 bytes 36 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/abstract_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/abstract_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/constr_ovr.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/constr_ovr@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/declaration_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/definition_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/deprecated.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/deprecated@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/file_visable_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/final_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/final_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/implement_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/implement_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/internal_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/nullable_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/nullable_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/override_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/override_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/package_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/private_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/protected_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/public_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/read_only_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/read_only_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/sealed_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/static_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/static_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/synch_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/synch_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/transient_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/transient_co@2x.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/volatile_co.png delete mode 100644 org.eclipse.lsp4e/icons/full/ovr16/volatile_co@2x.png diff --git a/org.eclipse.lsp4e/icons/full/ovr16/abstract_co.png b/org.eclipse.lsp4e/icons/full/ovr16/abstract_co.png deleted file mode 100644 index b4447e7746dfd2857da3dbc59f49e82bc0379ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@^^T;IEHY{ zEIp{`&y>i}@bG#*%i@bi?rhl=nYVbOq^{6ijXuMTLO*!(TxQSiOxhxm*nInf;Q=SX zryWLa)*RwTt~-3IWC-AvKfN>k?4-Z?06GoG|~s?%$u*4!jC0*bju-NDDpn z@0=`nVCyVy2g|c&zb79R@BPem_a?&wfgL;ta_97TY&I3=H`lo&I{Ce(gXq;?pXd5N z77v|0*ZqC9ZYZ-u`Y*4KDohJ1WG?=zVNUR$TK|V}US3R#WU%5bpdT1KUHx3vIVCg! E0E6IRasU7T diff --git a/org.eclipse.lsp4e/icons/full/ovr16/abstract_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/abstract_co@2x.png deleted file mode 100644 index 94baae0f7aa7b545d4210af78c02d45f979a8e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcmVP)NklU zk>e7OIXw%gcK$ooyE~i&K0wqsDJ%dqx;y;wPq=@3gz@1ly}+l|+3p)95=wG_8GvuC z8YW}*(Ijv4bC`_pyVa2IgdwGpox=GRp3F0sdyYwz+(tZ?0zfJrig&b6>%imM)if{0 zrf{-(M(>Q^9`4aT==Oz_4nqMbxphoN@2}6}&kJ!EitQS?yAPv~QpEPN)~rNpNS?K3 zCEjN_9fopx7EpE@n2e22UwM$ZM_8Zu@{X#v#c|N%=FklQCt63%+vc}_jFZhrB7p1Z zAzqG6(+hky+#gXr60SDOn2h<{EJ?hde2vLi{aGFquAk5M;pv+J;j8gy$>+xvNg7~Y e0?FTTY5W8Hz31M;ALa=F0000_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@;7_BIEHY{ zOg*=M)j>vvqaXFdCwlHrGPt0-*nPqthS?uj*e=i2F}lmRy~LgW0ppZI+9y&rMLdbW z6HvE5{)zwbC)az=mrT2C$#7=P(xT=`kG@V3+W#^-{my-c9gO?h?yphjesxo8-irT= zFRg8@@cPQ-WoA5S$=ghI&!SoXS!>%S+cLD7ANaE?Idh$6ztoM(%nW+Z19qSIm+!A4 zux#poMX^66j0%|vac_RV+A*4lMWxY2Rfg@)78&qol`;+08mh8 A_;z0d4!?c!BjOk@DCw8i~_QQqF0pexg*0PMDLc5{voJIgpfD!3&FZClux z=C?*OxBijihS!#(+K;A{z+O09}YZ8z)xCn9q7LPntb zqDJ5xH;%2nV#C>_{_OzAJ7jC>3mu7R-CQkgr>F-a(HS)wqa5ro8z zn8YMJ9(>5;=!<`E5s?KEk!nzrl2?|JSC+D0l@q)_bqEo8CL#wX#70DZiOBPFjD3mx Y1xtU-#UmgR>;M1&07*qoM6N<$f_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprU!6E{-7_GgHqlrQ_ys9-*A$j0b9Z}WE>y<;_vXB(Ej|GY*kFZ0x` zO+U8iHmFTnvhMQgb)iy=L#JhC-M04pTV#0Lg0FuO!;L<>*A~k(PYW{qVw}2Y%I9|m S)3*a%%HZkh=d#Wzp$P!u3~3So diff --git a/org.eclipse.lsp4e/icons/full/ovr16/definition_co.png b/org.eclipse.lsp4e/icons/full/ovr16/definition_co.png deleted file mode 100644 index eb15ed31f13d0f75879a354ec2af4b9726f96ce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprU1-E{-7_GgJE(avfq|aOqbx zk}W$d@yPrQ^PiT#ZC8^5E@ngu-dU7T?3TEuL!qweXj*Waf`p4pZJVVd4?Fw&cNUCH z%N$-l-Y>ME^Yx~We{CQ9Ias*X?fj;Q_J^z)PcBT@x(k&)d~?_S>C4>sN9{$ zADSDzIqdX~`1Q`7S}A9zpF7@s>C2Kdk(Cj8{8Rku diff --git a/org.eclipse.lsp4e/icons/full/ovr16/deprecated.png b/org.eclipse.lsp4e/icons/full/ovr16/deprecated.png deleted file mode 100644 index f86a50f995910b53095d2c120934138717487c69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf$+fZhPVJIj#km?MafPykbhG7^Epet|# zrJ(R%6$htu3b026|46c=G`s`&TfKd|k_kMDb50lY_#MDC0OU!Az!zKy5rwnM7ZBVu z@FLAXe8IoU>J`$-i!?)?q?mbu?+%+Tc%Eb*P913Bq`vKf*Pu&h8Q`4LFt~U-?YRtR zkF0Rkf_NT3qsR6J4#0j0g%Huctkwj$8-rUfK&9t0+-d9!8SC3|3r&Nr1aFlu`cUa=MX z)PVy4Rfg{l8;}9pSL(LQQgUElR%@O0s-r;%e%^3TP`p@7)Eh!6aQCj@Ku-&7Eg2R4 zSwtpRs_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprUJ@E{-7_Gn4=P|8LK%ci_;0 z0|ypZRT};NE?+o-I9e=*|6o|L^_v4ZQPeYpa<4@!S4Y z!r$blXl>hc=bXmftJ}Y>-ZSGdyKki*Nd2+@|0P}gVtya__3<>1*fIP196Q554^#Hk ziRWF9X5_P5xqZITjDLoPX9enhKNVg)$AGzc4+j|Ee_wz9zp=4w8pvJECE@3f+^>n@ z%=Z=fS&_g0$HBip?n>(UnTfm22w$?h+Ir?c!<0YiDHdl=o)oLGHvg{9kYpGXS^8A@ Q6wrqZp00i_>zopr0E97)6951J diff --git a/org.eclipse.lsp4e/icons/full/ovr16/final_co.png b/org.eclipse.lsp4e/icons/full/ovr16/final_co.png deleted file mode 100644 index b337498bc008fad40efa03b36ad0d305b135f3e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgA|1s9@tFvEiC;v-fnYl}yV{|+YP7(XKttG}u=%HJvXu_;;ou+bz zlC-Ig@vr_I`!3AerWWY3Nb}is-g~+SrahV^%b(!ycs7(-p!*SXuBf}9<>!>o^8dy4 Y^`42hm%Gng0<@LE)78&qol`;+00N3RmH+?% diff --git a/org.eclipse.lsp4e/icons/full/ovr16/implement_co.png b/org.eclipse.lsp4e/icons/full/ovr16/implement_co.png deleted file mode 100644 index adc0f0edfb6b1c33c18bf2c779a70490e0c7afff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@_Rj9978x} zCMPsB{r~^}_8%Z|42Vr7CL9D(xq5SJKH8e6{Ql3r-M*$t`^W$P`;RT1tiP{4a^27U z8JCX!pJ?O)x4sjvTMKfez$;s5{S>Un?szuoxu|Kr{M`4ZlX`2PO?^HH2x z-(LF8tp4|PMjF{%1_u9t3XPfh4ggK9XN{Ru!N@SvCv=g<`3+4#hcS4%`njxgN@xNA D5NTuI diff --git a/org.eclipse.lsp4e/icons/full/ovr16/implement_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/implement_co@2x.png deleted file mode 100644 index 569ac6972f5022ec83c8e3b6431d75d5d02c5965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmV;O0b>4%P)I)6o%h6Len&EX@~v;1`%B}kiM2>9^)p!D&P<>Z&}Yw4n*-+Ezs2z<|6j^{+alL$zWRqf7JqGJ=-K+ z<*>~(QcRER>mYg|kJqWdY`r{Q=ZB}=T^kzhit6etp^93!hNkLdn+Y6p5WW0WRBx13 zmMYIOr2_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprT!#E{-7_GfVq7@-Z4RwEf?v zZh2bKjQbs{&14rHw*Cu8Ql>@lDzWt^m{c+}x6YW*vAg)`mRs4rM;=M&DjyrAQmum|pNV=ee9oSDkl#sDH27B8%a9Leo$rKi*C}pSl#kwX&HF(N6ZGB-ezq~m3boMvK5dpALjXg>or*6;>rZ|xIk)EG^y4`W7gylDbU*fO9m7(8A5T-G@yGywoWnQ~zO diff --git a/org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png b/org.eclipse.lsp4e/icons/full/ovr16/non_null_co.png deleted file mode 100644 index d64bcf54bbe84539c0eee077305febd89a52ea66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmV-c0jd6pP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10OLtS zK~xBtWBmXBKLaknc!h!C;whhiN4HEZy}p0_!oBfBa&+bLFD(iSsw)SRSaTgs4rN!5~{*!tj)fi{bL?Hw_9N)$ o_b-eboIL+!pFi2@JZBmY0D&o1+Y$vM1^@s607*qoM6N<$g0AqG1^@s6 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/nullable_co.png b/org.eclipse.lsp4e/icons/full/ovr16/nullable_co.png deleted file mode 100644 index 4b61ebb3259347e9919c4dc6ab39a053209f0371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5381 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 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/nullable_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/nullable_co@2x.png deleted file mode 100644 index 9046eb697210f86627d9480d532dec98bbc7d61d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561 zcmV-10?z%3P)>AmeMq7hhiIrSR@E_5Ji&QdmQ4uR@2$DotN{x z&&N6Nze_eYvDn3S*L+Vax=)pDA|j}K6LH^J0piyaiRC6>bmYt>TrLP$n=!bmYQ&^7 zsVl=i@Z_npmlZt^(AL&U-=PEac6R}gFBEzHVw%sDiucEZOlsno#N+3JRo7WXuzGvC zh(!l5#`sLNTAj?DyW|&&{+p`oH&vW0g4Np6(gbo{m-J+o{6djPXPEXK+dY3tqsm@@ zBZm(*G2O~eQCM7J_pY6sjt_C-c>nKYbdN2t74SWIp!8&x!r~I4jvzzP0RjP=a5#jB zpsJSLl%DI7y?5Vd8i@@O2sDjhKz@4Z)oOK8>D$cC%@gVfHi1@FN~kKJYKyY0LeI-r zubG{j_nAC-8|%^2XN^=bpX@ERee_4Y`o3IVlX7{DNN0Fcd2eRkQu^=_0Na>BlT41S z+F~Ai1CHykzW&t*R4QLcTuU>Rd)Nq6BzNQL`1GHXi;q4Ll|HYxtj1~_$NfufCN_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@~3#ZIEHY{ zOipNM`v3p`?LR=`7!aFEOgIRna`om`eN@)Yxcr}eyM0ZQX2P%k|M#DK8mwP#{^VV9 z`sF?60;Kjge}6c)fBC=v|JNU=`1qtdpSSY2g{aXvgAXffQ!2{CdLI7dvTd8kIxk;R zIVb%8{}2DHnWgm)&6+PSDQWVhRZ;?I&;OZ>>v|(0vS^ Lu6{1-oD!M3_FPCfhsf*0Y^(i#XBL)-VcBzJ-?qfuR{tN+0000_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprVPME{-7_Gn4=P|8LK%cYr0? zz{tp;OI2^q;S(ngbSP?0-lh}o7NX&#R_ZC&wIt({O*U0#^mGMR-NBL5Ve ztlux8_V4GX(3gj<&gQA#R~wp?lKwJ10SKOS&su-#@TYQldG5tLXLk74OU|qPcl61b zL&rYl+i`14zvfqKTW;Vf=Ef%W?f?Gg29G{-F~m&N diff --git a/org.eclipse.lsp4e/icons/full/ovr16/private_co.png b/org.eclipse.lsp4e/icons/full/ovr16/private_co.png deleted file mode 100644 index d43144b8d3e8be44eb4317c1ee362cebaf96a937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprR?BE{-7_GfU6y_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprU)8E{-7_Gn4=P|8LK%ci_;0 z0|z$LZql+gHom>9{{O#dVu z85;n>yE&`2hWfc44?KKf*5t;<#)tR!*Yhm@mjCO^$GfW~eg6OZvoTOq`1zmzZ}blT zPcN60h`*C=aP`8&-~XSNvk5B;zwWslzOLri@wG<|99Rr=$l^l_E)H!3HEvS)PI@&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprV_eE{-7_GfNK|`Y}0*usx`+ z*t|hcOT))8+3ezxb1n-*^b%HN?qEHwdnb8Dfbb*MEhZB$Wo*3Nz~W?}rdRmvt)2gY z@0x-K?W7payjWNMppt)@<(dh8Mz0r@{;>%?`(m4T#nX=qie=}_y)q$h|HmIzr_1WM z`7giw+4KLiRi%ki0SvG9@fU}DwF{fQZCl^r??+|kpVsGKQDT}dzTwP5HQ&sK;d;J* zCAhe}7*D_D_n1CuQnAe0ORn2abBFLV|0(L*UNUdvmdKI;Vst0HE!LTmS$7 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/read_only_co.png b/org.eclipse.lsp4e/icons/full/ovr16/read_only_co.png deleted file mode 100644 index d3b738d34be4f84ea4872eeba9e58cac4021c701..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@|SzMIEHY{ ztnFXObtr&=;r&_G{f^6=KS;Bj-gWmU|1`-z{LLJTrm@cE`N+-EeKce19z`}mcB_)v z?`=PKh4b_A{Zn92TO8(}FwNnr1lz$MGE6rZDi@}UdYdy&*_NchBJjIZ-Rzjf(m4W` zKJ%}edt~M1xBQj1?``tL8T^jNG9U0t=?b#EopCs6ACtmFO@=b1;7#YH&u4$u-84xg mc)!}#OJ6@VPjD6 z1-C4vX!H*dbn4*bu0v@M9333|xPxMsXku)7?)mI+lb8?un0%)9eK^1OIp@6a-troo z+~?sj&vRKI4FurMJjb`?AD0Kuf}3B4QobV(bhVH7CO&;XKWeo6TA?Dl6)D#xl-twB z^c4!GQ%bfY<%p!qw$7@9Qromt7Ec6gYa3y4eJ2!U)A3a*i&Q$*c8SBEqaS^|T_E}5 zZ$M~qa}$~4UjTu6)GtG>UL}EDU=Sb>MU@1Y&a9&3Kcc9D6czrK@0l~0tBXr+u5U>s63j1Ts-S8CtA;Ug+I``Uo9kNu zqFsWNYfWBm w=ED`Q@35wDW&h70fbX0?2ZV2ds%HWC4|1@;fhr^NQ~&?~07*qoM6N<$f{ACuRsaA1 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png b/org.eclipse.lsp4e/icons/full/ovr16/sealed_co.png deleted file mode 100644 index 00e64d6882f18922c019686187851a6378af9042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJg zoM%vZS+KKkpS_{NT=zAL1TEgIDPQ%<%{6l6{FF&c>~-R|-kN#%vFY1u2%yF3!!$`T$LQ05OktCv|WUDBWloUfL8?s?R zu4Qc{8_7z9Oe|PfSRpdXtr_EPal&VTqnYF6+5K_l7CrMzSQUjhTND6Jhn=>vV(JTXjYWW|H8->C+Z^9`1Gdb! zHwDO=CPef^PNyW&F@m2q#B-2Tx#lqFYla}ek$ktv82S)$>OfM=Hyid=lZ|_>> zK04(^RY{Nk?N--gT|o|W+k2$B2C;@K0G!``72i=&YAjAP)MHf?mi7>$j+1|*LJg^kE4y2l~Kj2M1S;V_o`DZ!M OaSWcWelF{r5}E+wluzye diff --git a/org.eclipse.lsp4e/icons/full/ovr16/static_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/static_co@2x.png deleted file mode 100644 index 6e9b36e70e8dafc010da722a65fbe0d8ec15e60a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmV;U0bKrxP))KU;pZLKv2HZ%kU zZ52&HOJIB8(AKDnNHs=aSym7vYSGhIUxPmJ`SiEl!#(%hd%g=*MC4CIf?IJ-Lv29Q8)P@w9zJ_TUU>x0|+ZHvqr60!FSt;Cvr#Z5|6|V$vUy z)X1EaKl8QIzwYiOp^nSV*g{QHXrT1`j@s|RSxp1z91Wljc=#=T*EDCNu@w^!SC+Lc zv3E+#WdNXY0WOhz?**mqA}7^&fKqin-wba^$~CiAUkGBhct zYi5d%XpCh4G)jjGRK6TQ@8WE0_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK@?UtmIEHY{ zO#bs92%4|YGxWJpH1XlD&HOySJ{{r-ZFJ-L#ihjKbNjq)O2^zCvk%5NHzmf+Gj86b zV&9y8I<2jn|DJ)t3~~Mc_NCXS{y)F}|G)gnHc$V5e!u_!^>r3M?e`SFu3r|-A8%|S zp|LgpRZ-1}nS#MvHUSJrMw4>m)CG+M*kqON$9Q@5I7|ai!-acRATzu`353fG^ zxB1WCXJ{bGKHEU&Rz=&xLub=@P9|>SnG-XI=XH5(iUzM?a)ReK!<2-SALlPvSDPO` zo^LPN^20)MR?r-Y7~iQ9691GN_3zgy75`^uu#+i$ow9J_MxdV=JYD@<);T3K0RXF~ Bf1wopSeg*W=+@xjY^47L!(Yb+RciH6pYGj6G2$v z!dw)ATNm9I(W2-AMg#^CiAfg|va*Ygg&9f*)Q&xB12pLZHXIddppJr_^nq_HU4Sh4nTH@hqE^Ktk) ze^X+-lM_3Zvt>!zc(J~%mrX}+6160&GrW|o&m@qR1VC$7Kc}ueqyA|x0M+IB8aoBal^_DkiO0qLQ1BHfZDNHN& zuh?u_itX#>qbW(ScFeuR(`AthnM zBy2*yn5m@!xE-H0v(7pfo9^KO8MVba#o zho%(slHG_kffR(2+-Pjari+-f<|UK2%8zA9&Q#sSrVDO8e2q|&Remp`q+kIqhntsT9*2g$B{c*^OytY?-4Pg0JulF{4|Q7O&64JTS3{D z?B7`h=FnCD2;ZC;6CwXo9|lK=T9Txx@i-l}3HN^% a|EHfFC@25{*n_?R0000pcem diff --git a/org.eclipse.lsp4e/icons/full/ovr16/transient_co.png b/org.eclipse.lsp4e/icons/full/ovr16/transient_co.png deleted file mode 100644 index 3a5e1cd193613ff1e555b451b05b1163cac4bba8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@mSQK*5Dp-y;YjHK^0Pf%978x} z)}A@Y+vFhPdhvU&l6A82mt@u)%|>0(3mu{nXHtZm{~0(J-DMKG_w7k6vzqLBi31ij z|DIemb3Gu_{9IzrzG~rS;pX%Q)ux+wt1wzFefq89n$c#jNqVnCyecQ(dsx(#?yoQX ahw;H#%jIzf6?1^rGI+ZBxvXh8+iJ*FE!3Itkxdi_=c1RhBJ|MSy*(o~DNw<32=Zv=vc zd+tik{t_<6#@2Q|qsfMcho>hZreV!HZEj^{W%*5SfadHsFfb@sob3{R{7?h)pP!$_ vr;D65dBmR@l_6tQ_ow&1o7$dD6$}g>NjB|{W;V${_b_<6`njxgN@xNA^W{y2 diff --git a/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png b/org.eclipse.lsp4e/icons/full/ovr16/virtual_co.png deleted file mode 100644 index 2f0e3ba82af893c8034071950b54fac7478f4414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJganMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;`-E{-7_Gh0t8@--zexPP>l zZ@nnlXz6$0&W@(Z#g&Zu3qrX?nI5RIY`*AL!1j@8TK*57bG=LUfBVLg@Tp^EzVzP@ z^=)wrvNBXXuU^pl(sZ7+%Xfcroc;!V?^`K3zik~}GJHHy;mJQ!{>$j+1|*LJgy}ss9(~Z`R8rj<3*HS;rIm}N!`b2uojBhMP@ea2WxcV9sHrxzrb5#5B zoF_TqQugserV~BK&F4!0eNg{~_t!2_bDBlvuz=C+?%p+%rktsW*=~8jX_8&{uZZ<~YR+x|x`@Hk)z4*}Q$iB} Ds#{N# diff --git a/org.eclipse.lsp4e/icons/full/ovr16/volatile_co@2x.png b/org.eclipse.lsp4e/icons/full/ovr16/volatile_co@2x.png deleted file mode 100644 index d930a9c71092dace2ee8ad769321f08fc5205807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmV-&0ge8NP))tz$#q`QBilyK3oagDB`o#c5M9$+W5fK@R zO42T0_o^-Ri~MJiF#4Mq^Wq{RV)u@}LH6MEXE8B0A|fJ{nWdJigppLH7Fw9*0=5DC za+Q4NAVz7P)^>1t-q^(`%|*ume!1$#Cj#^Wb%4rj4x=>1WQMT*O7!M)*^|X6&F%D} zlLDa6U7Z97Y>i?vgHf8hxmE7x*D*>{=pH7pH7Djizv}@v0FNtMO*oOJkVs>c=3#l$ zNfzj8tpTzCjUc4dKaNovqcqp4Q5r$$#EG`u0Q&$hN9IGchi6W@0zAjQ10kOKh9%Iw Qxc~qF07*qoM6N<$g774tYXATM