IJPL-150231 Move icon mappings from json to icon generator

GitOrigin-RevId: 4d4576fc7eeb92ec43c36abec2d62d271b45d9a4
This commit is contained in:
Alexander Lobas
2024-06-15 13:38:25 +02:00
committed by intellij-monorepo-bot
parent 65b5af76bd
commit 89d58ee436
112 changed files with 1389 additions and 1041 deletions

View File

@@ -43,7 +43,6 @@
<registryKey key="ide.images.show.grid.only.when.zoom.factor.equal.or.more.than" defaultValue="3" description="Hide grid if zoom factor is less than value"/> <registryKey key="ide.images.show.grid.only.when.zoom.factor.equal.or.more.than" defaultValue="3" description="Hide grid if zoom factor is less than value"/>
<registryKey key="ide.images.show.grid.after.every.x.pixels" defaultValue="1" description="Pixels between grid lines"/> <registryKey key="ide.images.show.grid.after.every.x.pixels" defaultValue="1" description="Pixels between grid lines"/>
<registryKey key="ide.images.change.background.action.enabled" defaultValue="false" description="Show action for changing background in the editor toolbar"/> <registryKey key="ide.images.change.background.action.enabled" defaultValue="false" description="Show action for changing background in the editor toolbar"/>
<iconMapper mappingFile="ImagesIconMappings.json"/>
</extensions> </extensions>
<actions> <actions>

View File

@@ -14,8 +14,11 @@ public final class ImagesIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, ImagesIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, ImagesIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, ImagesIcons.class.getClassLoader(), cacheKey, flags);
}
/** 75x86 */ public static final @NotNull Icon ThumbnailBlank = load("org/intellij/images/icons/ThumbnailBlank.png", 0, 2); /** 75x86 */ public static final @NotNull Icon ThumbnailBlank = load("org/intellij/images/icons/ThumbnailBlank.png", 0, 2);
/** 75x82 */ public static final @NotNull Icon ThumbnailDirectory = load("org/intellij/images/icons/ThumbnailDirectory.png", 0, 0); /** 75x82 */ public static final @NotNull Icon ThumbnailDirectory = load("org/intellij/images/icons/ThumbnailDirectory.png", 0, 0);
/** 13x13 */ public static final @NotNull Icon ThumbnailToolWindow = load("org/intellij/images/icons/ThumbnailToolWindow.svg", 32430216, 2); /** 13x13 */ public static final @NotNull Icon ThumbnailToolWindow = load("org/intellij/images/icons/ThumbnailToolWindow.svg", 32430216, 2);
/** 16x16 */ public static final @NotNull Icon ToggleTransparencyChessboard = load("org/intellij/images/icons/ToggleTransparencyChessboard.svg", -1782881253, 2); /** 16x16 */ public static final @NotNull Icon ToggleTransparencyChessboard = load("org/intellij/images/icons/ToggleTransparencyChessboard.svg", "org/intellij/images/icons/expui/chessboard.svg", -1782881253, 2);
} }

View File

@@ -14,6 +14,9 @@ public final class JavaUIIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, JavaUIIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, JavaUIIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JavaUIIcons.class.getClassLoader(), cacheKey, flags);
}
/** 40x40 */ public static final @NotNull Icon IdeaUltimatePromo = load("icons/idea-ultimate-promo.svg", 597316087, 0); /** 40x40 */ public static final @NotNull Icon IdeaUltimatePromo = load("icons/idea-ultimate-promo.svg", 597316087, 0);
/** 16x16 */ public static final @NotNull Icon SpringPromo = load("icons/spring-promo.svg", -1690195316, 0); /** 16x16 */ public static final @NotNull Icon SpringPromo = load("icons/spring-promo.svg", "icons/newui/spring-promo.svg", -1690195316, 0);
} }

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -2794,7 +2794,6 @@
<spellchecker.dictionary.checker implementation="com.intellij.java.frameworks.MavenDictionaryChecker"/> <spellchecker.dictionary.checker implementation="com.intellij.java.frameworks.MavenDictionaryChecker"/>
<iconMapper mappingFile="JavaUIIconsMapping.json"/>
<optionController implementation="com.intellij.compiler.JavaCompilerConfiguration$Provider"/> <optionController implementation="com.intellij.compiler.JavaCompilerConfiguration$Provider"/>
<pluginSuggestionProvider implementation="com.intellij.ide.ant.AntSuggestionProvider"/> <pluginSuggestionProvider implementation="com.intellij.ide.ant.AntSuggestionProvider"/>

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -11,11 +11,11 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class OpenapiIcons { public final class OpenapiIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, OpenapiIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, OpenapiIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon MavenBind = load("icons/mavenBind.svg", 788091473, 0); /** 16x16 */ public static final @NotNull Icon MavenBind = load("icons/mavenBind.svg", "icons/expui/mavenBind.svg", 788091473, 0);
/** 16x16 */ public static final @NotNull Icon MavenBindChecksum = load("icons/mavenBindChecksum.svg", -1392642240, 0); /** 16x16 */ public static final @NotNull Icon MavenBindChecksum = load("icons/mavenBindChecksum.svg", "icons/expui/mavenBindChecksum.svg", -1392642240, 0);
/** 16x16 */ public static final @NotNull Icon MavenChecksum = load("icons/mavenChecksum.svg", 1918529723, 0); /** 16x16 */ public static final @NotNull Icon MavenChecksum = load("icons/mavenChecksum.svg", "icons/expui/mavenChecksum.svg", 1918529723, 0);
/** 16x16 */ public static final @NotNull Icon RepositoryLibraryLogo = load("icons/repositoryLibraryLogo.svg", -1087643985, 0); /** 16x16 */ public static final @NotNull Icon RepositoryLibraryLogo = load("icons/repositoryLibraryLogo.svg", "icons/expui/maven.svg", -1087643985, 0);
} }

View File

@@ -45,6 +45,5 @@
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<moduleType id="JAVA_MODULE" classpathProvider="true" implementationClass="com.intellij.openapi.module.JavaModuleType"/> <moduleType id="JAVA_MODULE" classpathProvider="true" implementationClass="com.intellij.openapi.module.JavaModuleType"/>
<moduleType id="GENERAL_MODULE" implementationClass="com.intellij.ide.projectWizard.GeneralModuleTypeForIdea"/> <moduleType id="GENERAL_MODULE" implementationClass="com.intellij.ide.projectWizard.GeneralModuleTypeForIdea"/>
<iconMapper mappingFile="JavaMavenIconMappings.json"/>
</extensions> </extensions>
</idea-plugin> </idea-plugin>

View File

@@ -10,9 +10,9 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class JupyterCoreIcons { public final class JupyterCoreIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, JupyterCoreIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JupyterCoreIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon JupyterNotebook = load("icons/org.jetbrains.plugins.notebooks.jupyter/jupyterNotebook.svg", 1303434450, 0); /** 16x16 */ public static final @NotNull Icon JupyterNotebook = load("icons/org.jetbrains.plugins.notebooks.jupyter/jupyterNotebook.svg", "icons/org.jetbrains.plugins.notebooks.jupyter/expui/jupyterNotebook.svg", 1303434450, 0);
/** 16x16 */ public static final @NotNull Icon ResultIncorrect = load("icons/org.jetbrains.plugins.notebooks.jupyter/resultIncorrect.svg", 1020334393, 2); /** 16x16 */ public static final @NotNull Icon ResultIncorrect = load("icons/org.jetbrains.plugins.notebooks.jupyter/resultIncorrect.svg", "icons/org.jetbrains.plugins.notebooks.jupyter/expui/resultIncorrect.svg", 1020334393, 2);
} }

View File

@@ -6,6 +6,5 @@
extensions="ipynb" extensions="ipynb"
implementationClass="com.intellij.jupyter.core.jupyter.JupyterFileType" implementationClass="com.intellij.jupyter.core.jupyter.JupyterFileType"
fieldName="INSTANCE"/> fieldName="INSTANCE"/>
<iconMapper mappingFile="JupyterCoreIconMappings.json"/>
</extensions> </extensions>
</idea-plugin> </idea-plugin>

View File

@@ -12,7 +12,6 @@ import com.intellij.util.io.directoryStreamIfExists
import com.intellij.util.xml.dom.readXmlAsModel import com.intellij.util.xml.dom.readXmlAsModel
import it.unimi.dsi.fastutil.ints.IntOpenHashSet import it.unimi.dsi.fastutil.ints.IntOpenHashSet
import org.jetbrains.intellij.build.images.sync.dotnet.DotnetIconClasses import org.jetbrains.intellij.build.images.sync.dotnet.DotnetIconClasses
import org.jetbrains.jps.model.JpsSimpleElement
import org.jetbrains.jps.model.java.JavaResourceRootType import org.jetbrains.jps.model.java.JavaResourceRootType
import org.jetbrains.jps.model.java.JavaSourceRootProperties import org.jetbrains.jps.model.java.JavaSourceRootProperties
import org.jetbrains.jps.model.java.JavaSourceRootType import org.jetbrains.jps.model.java.JavaSourceRootType
@@ -30,7 +29,6 @@ import java.util.concurrent.CopyOnWriteArrayList
import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.atomic.AtomicInteger
import javax.xml.stream.XMLStreamException import javax.xml.stream.XMLStreamException
import kotlin.io.path.exists import kotlin.io.path.exists
import kotlin.io.path.invariantSeparatorsPathString
@JvmRecord @JvmRecord
internal data class ModifiedClass( internal data class ModifiedClass(
@@ -45,6 +43,7 @@ internal data class IconClassInfo(
@JvmField val className: String, @JvmField val className: String,
@JvmField val outFile: Path, @JvmField val outFile: Path,
@JvmField val images: Collection<ImageInfo>, @JvmField val images: Collection<ImageInfo>,
@JvmField val mappings: Map<String, String>? = null,
@JvmField val isInternal: Boolean = false, @JvmField val isInternal: Boolean = false,
) )
@@ -106,17 +105,8 @@ internal open class IconsClassGenerator(
val images = imageCollector.collect(module = module, includePhantom = true) val images = imageCollector.collect(module = module, includePhantom = true)
imageCollector.printUsedIconRobots() imageCollector.printUsedIconRobots()
val (expUi, others) = images.partition { it.id.startsWith("/expui/") } val (allImages, mappings) = imageCollector.mergeImages(images, module)
return listOf( return listOf(IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = allImages, mappings = mappings))
IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = others),
IconClassInfo(
packageName = packageName,
className = "ExpUiIcons",
outFile = dir.resolve("ExpUiIcons.java"),
images = expUi.map { it.trimPrefix("/expui") },
isInternal = true,
),
)
} }
"intellij.android.artwork" -> { "intellij.android.artwork" -> {
val packageName = "icons" val packageName = "icons"
@@ -171,7 +161,8 @@ internal open class IconsClassGenerator(
?: existingIconsClass?.className ?: existingIconsClass?.className
?: "${directoryName(module).removeSuffix("Icons")}Icons" ?: "${directoryName(module).removeSuffix("Icons")}Icons"
val outFile = targetRoot.resolve("$className.java") val outFile = targetRoot.resolve("$className.java")
val info = IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = images, isInternal = className.contains("Impl")) val (allImages, mappings) = imageCollector.mergeImages(images, module)
val info = IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = allImages, mappings = mappings, isInternal = className.contains("Impl"))
return transformIconClassInfo(info, module) return transformIconClassInfo(info, module)
} }
} }
@@ -344,9 +335,18 @@ internal open class IconsClassGenerator(
result.append(" final") result.append(" final")
} }
result.append(" class ").append(info.className).append(" {\n") result.append(" class ").append(info.className).append(" {\n")
append(result, "private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {", 1)
append(result, "return $ICON_MANAGER_CODE.loadRasterizedIcon(path, ${info.className}.class.getClassLoader(), cacheKey, flags);", 2) if (info.mappings.isNullOrEmpty() || info.images.find { !info.mappings.containsKey(it.sourceCodeParameterName) } != null) {
append(result, "}", 1) append(result, "private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {", 1)
append(result, "return $ICON_MANAGER_CODE.loadRasterizedIcon(path, ${info.className}.class.getClassLoader(), cacheKey, flags);", 2)
append(result, "}", 1)
}
if (!info.mappings.isNullOrEmpty() && info.images.find { info.mappings.containsKey(it.sourceCodeParameterName) } != null) {
append(result, "private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {", 1)
append(result, "return $ICON_MANAGER_CODE.loadRasterizedIcon(path, expUIPath, ${info.className}.class.getClassLoader(), cacheKey, flags);", 2)
append(result, "}", 1)
}
val customExternalLoad = images.any { it.deprecation?.replacementContextClazz != null } val customExternalLoad = images.any { it.deprecation?.replacementContextClazz != null }
if (customExternalLoad) { if (customExternalLoad) {
@@ -357,7 +357,7 @@ internal open class IconsClassGenerator(
} }
val inners = StringBuilder() val inners = StringBuilder()
processIcons(images, inners, depth = 0) processIcons(images, info.mappings, inners, depth = 0)
if (inners.isEmpty()) { if (inners.isEmpty()) {
return null return null
} }
@@ -367,7 +367,7 @@ internal open class IconsClassGenerator(
return result return result
} }
private fun processIcons(images: Collection<ImageInfo>, result: StringBuilder, depth: Int) { private fun processIcons(images: Collection<ImageInfo>, mappings: Map<String, String>?, result: StringBuilder, depth: Int) {
val level = depth + 1 val level = depth + 1
val nodeMap = HashMap<String, MutableList<ImageInfo>>(images.size / 2) val nodeMap = HashMap<String, MutableList<ImageInfo>>(images.size / 2)
@@ -402,7 +402,7 @@ internal open class IconsClassGenerator(
val oldLength = result.length val oldLength = result.length
val className = className(key) val className = className(key)
if (isInlineClass(className)) { if (isInlineClass(className)) {
processIcons(group, result, depth + 1) processIcons(group, mappings, result, depth + 1)
} }
else { else {
// if first in block, do not add yet another extra newline // if first in block, do not add yet another extra newline
@@ -411,7 +411,7 @@ internal open class IconsClassGenerator(
} }
append(result, "public static final class $className {", level) append(result, "public static final class $className {", level)
val lengthBeforeBody = result.length val lengthBeforeBody = result.length
processIcons(group, result, depth + 1) processIcons(group, mappings, result, depth + 1)
if (lengthBeforeBody == result.length) { if (lengthBeforeBody == result.length) {
result.setLength(oldLength) result.setLength(oldLength)
} }
@@ -428,7 +428,7 @@ internal open class IconsClassGenerator(
innerClassWasBefore = false innerClassWasBefore = false
result.append('\n') result.append('\n')
} }
appendImage(image, result, level, hasher) appendImage(image, mappings, result, level, hasher)
} }
} }
} }
@@ -436,7 +436,7 @@ internal open class IconsClassGenerator(
protected open fun isInlineClass(name: CharSequence): Boolean = protected open fun isInlineClass(name: CharSequence): Boolean =
DotnetIconClasses.isInlineClass(name) DotnetIconClasses.isInlineClass(name)
private fun appendImage(image: ImageInfo, result: StringBuilder, level: Int, hasher: IconHasher) { private fun appendImage(image: ImageInfo, mappings: Map<String, String>?, result: StringBuilder, level: Int, hasher: IconHasher) {
val file = image.basicFile ?: return val file = image.basicFile ?: return
if (!image.phantom && !isIcon(file)) { if (!image.phantom && !isIcon(file)) {
return return
@@ -465,16 +465,6 @@ internal open class IconsClassGenerator(
append(result, "@ScheduledForRemoval", level) append(result, "@ScheduledForRemoval", level)
} }
val sourceRoot = image.sourceRoot
var rootPrefix = "/"
if (sourceRoot.rootType == JavaSourceRootType.SOURCE) {
@Suppress("UNCHECKED_CAST")
val packagePrefix = (sourceRoot.properties as JpsSimpleElement<JavaSourceRootProperties>).data.packagePrefix
if (packagePrefix.isNotEmpty()) {
rootPrefix += packagePrefix.replace('.', '/') + "/"
}
}
// backward compatibility - use a streaming camel case for StudioIcons // backward compatibility - use a streaming camel case for StudioIcons
val iconName = generateIconFieldName(file) val iconName = generateIconFieldName(file)
val deprecation = image.deprecation val deprecation = image.deprecation
@@ -489,7 +479,7 @@ internal open class IconsClassGenerator(
return return
} }
val rootDir = Path.of(JpsPathUtil.urlToPath(sourceRoot.url)) val rootDir = Path.of(JpsPathUtil.urlToPath(image.sourceRoot.url))
val imageFile: Path val imageFile: Path
if (deprecation?.replacement == null) { if (deprecation?.replacement == null) {
imageFile = file imageFile = file
@@ -526,10 +516,9 @@ internal open class IconsClassGenerator(
key = 0 key = 0
} }
val relativePath = rootPrefix + rootDir.relativize(imageFile).invariantSeparatorsPathString val imagePathCodeParameter = image.sourceCodeParameterName
assert(relativePath.startsWith("/"))
append(result, "${javaDoc}public static final @NotNull Icon $iconName = " + append(result, "${javaDoc}public static final @NotNull Icon $iconName = " +
"load(\"${relativePath.removePrefix("/")}\", $key, ${image.getFlags()});", level) "load(\"$imagePathCodeParameter\", ${appendExpUIPath(imagePathCodeParameter, mappings)}$key, ${image.getFlags()});", level)
val oldName = deprecatedIconFieldNameMap[iconName] val oldName = deprecatedIconFieldNameMap[iconName]
if (oldName != null) { if (oldName != null) {
@@ -537,6 +526,19 @@ internal open class IconsClassGenerator(
} }
} }
private fun appendExpUIPath(imagePathCodeParameter: String, mappings: Map<String, String>?): String {
if (mappings != null) {
val expUIPath = mappings[imagePathCodeParameter]
if (expUIPath != null) {
if (expUIPath.endsWith("/$imagePathCodeParameter")) {
return "\"${expUIPath.substring(0, expUIPath.length - imagePathCodeParameter.length)}\", "
}
return "\"$expUIPath\", "
}
}
return ""
}
private fun append(result: StringBuilder, text: String, level: Int) { private fun append(result: StringBuilder, text: String, level: Int) {
if (text.isNotBlank()) { if (text.isNotBlank()) {
repeat(level) { repeat(level) {
@@ -749,7 +751,7 @@ private class IconHasher(expectedSize: Int) {
// so, add filename to image id to support such a scenario // so, add filename to image id to support such a scenario
fun hash(data: ByteArray, fileName: String): Int { fun hash(data: ByteArray, fileName: String): Int {
val hash = hashStream.reset().putByteArray(data).putString(fileName).asInt val hash = hashStream.reset().putByteArray(data).putString(fileName).asInt
check(uniqueGuard.add(hash)) check(uniqueGuard.add(hash)) { "uniqueGuard check failed: $fileName | $hash" }
return hash return hash
} }
} }

View File

@@ -1,20 +1,26 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.intellij.build.images package org.jetbrains.intellij.build.images
import com.google.gson.GsonBuilder
import com.google.gson.JsonObject
import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.io.FileUtil
import com.intellij.ui.icons.ImageDescriptor import com.intellij.ui.icons.ImageDescriptor
import com.intellij.util.containers.ContainerUtil import com.intellij.util.containers.ContainerUtil
import org.jetbrains.jps.model.JpsSimpleElement
import org.jetbrains.jps.model.java.JavaResourceRootType import org.jetbrains.jps.model.java.JavaResourceRootType
import org.jetbrains.jps.model.java.JavaSourceRootProperties
import org.jetbrains.jps.model.java.JavaSourceRootType
import org.jetbrains.jps.model.module.JpsModule import org.jetbrains.jps.model.module.JpsModule
import org.jetbrains.jps.model.module.JpsModuleSourceRoot import org.jetbrains.jps.model.module.JpsModuleSourceRoot
import org.jetbrains.jps.util.JpsPathUtil
import java.io.File import java.io.File
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.NoSuchFileException import java.nio.file.NoSuchFileException
import java.nio.file.Path import java.nio.file.Path
import java.nio.file.attribute.BasicFileAttributes import java.nio.file.attribute.BasicFileAttributes
import java.util.*
import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentHashMap
import java.util.regex.Pattern import java.util.regex.Pattern
import kotlin.io.path.invariantSeparatorsPathString
import kotlin.io.path.listDirectoryEntries import kotlin.io.path.listDirectoryEntries
internal const val ROBOTS_FILE_NAME = "icon-robots.txt" internal const val ROBOTS_FILE_NAME = "icon-robots.txt"
@@ -85,6 +91,34 @@ internal class ImageInfo(
val scheduledForRemoval: Boolean by lazy { val scheduledForRemoval: Boolean by lazy {
flags.deprecation?.comment?.contains("to be removed") == true flags.deprecation?.comment?.contains("to be removed") == true
} }
val sourceCodeParameterName: String by lazy {
var rootPrefix = "/"
if (sourceRoot.rootType == JavaSourceRootType.SOURCE) {
@Suppress("UNCHECKED_CAST")
val packagePrefix = (sourceRoot.properties as JpsSimpleElement<JavaSourceRootProperties>).data.packagePrefix
if (packagePrefix.isNotEmpty()) {
rootPrefix += packagePrefix.replace('.', '/') + "/"
}
}
val rootDir = Path.of(JpsPathUtil.urlToPath(sourceRoot.url))
val deprecation = this.deprecation
val imageFile: Path
if (deprecation?.replacement == null) {
imageFile = basicFile!!
}
else {
imageFile = rootDir.resolve(deprecation.replacement.removePrefix("/").removePrefix(File.separator))
assert(isIcon(imageFile)) {
"Invalid deprecation replacement '${deprecation.replacement}': $imageFile is not an icon"
}
}
val relativePath = rootPrefix + rootDir.relativize(imageFile).invariantSeparatorsPathString
assert(relativePath.startsWith("/"))
relativePath.removePrefix("/")
}
} }
internal data class ImageFlags(@JvmField val used: Boolean, @JvmField val deprecation: DeprecationData?) internal data class ImageFlags(@JvmField val used: Boolean, @JvmField val deprecation: DeprecationData?)
@@ -107,7 +141,9 @@ internal class ImageCollector(
// files processed in parallel, so, concurrent data structures must be used // files processed in parallel, so, concurrent data structures must be used
private val icons = ConcurrentHashMap<String, ImageInfo>() private val icons = ConcurrentHashMap<String, ImageInfo>()
private val phantomIcons = ConcurrentHashMap<String, ImageInfo>() private val phantomIcons = ConcurrentHashMap<String, ImageInfo>()
private val mergeRoots: MutableSet<String> = ContainerUtil.newConcurrentSet()
private val usedIconRobots: MutableSet<Path> = ContainerUtil.newConcurrentSet() private val usedIconRobots: MutableSet<Path> = ContainerUtil.newConcurrentSet()
private var mappingFile: Path? = null
fun collect(module: JpsModule, includePhantom: Boolean = false): Collection<ImageInfo> { fun collect(module: JpsModule, includePhantom: Boolean = false): Collection<ImageInfo> {
for (sourceRoot in module.sourceRoots) { for (sourceRoot in module.sourceRoots) {
@@ -116,6 +152,7 @@ internal class ImageCollector(
} }
val rootDir = sourceRoot.path val rootDir = sourceRoot.path
collectMappingFile(rootDir)
val iconDirectory = moduleConfig?.iconDirectory val iconDirectory = moduleConfig?.iconDirectory
if (iconDirectory != null) { if (iconDirectory != null) {
@@ -200,6 +237,10 @@ internal class ImageCollector(
if (Files.isDirectory(file)) { if (Files.isDirectory(file)) {
val childRobotData = robotData.fork(file, rootDir) val childRobotData = robotData.fork(file, rootDir)
val childPrefix = "$prefix/${file.fileName}" val childPrefix = "$prefix/${file.fileName}"
if (childRobotData.mergeToRoot) {
childRobotData.mergeToRoot = false
mergeRoots.add(childPrefix)
}
processDirectory(file, rootDir, sourceRoot, childRobotData, childPrefix, level + 1) processDirectory(file, rootDir, sourceRoot, childRobotData, childPrefix, level + 1)
if (childRobotData != robotData) { if (childRobotData != robotData) {
@@ -242,7 +283,7 @@ internal class ImageCollector(
} }
private fun downToRoot(root: Path, file: Path, isDirectory: Boolean, common: Path?, robotData: IconRobotsData, level: Int): Path? { private fun downToRoot(root: Path, file: Path, isDirectory: Boolean, common: Path?, robotData: IconRobotsData, level: Int): Path? {
if (robotData.isSkipped(file)) { if (robotData.isSkipped(file) || robotData.mergeToRoot) {
return common return common
} }
else if (isDirectory) { else if (isDirectory) {
@@ -281,6 +322,100 @@ internal class ImageCollector(
private fun isBlacklistedTopDirectory(name: String): Boolean = private fun isBlacklistedTopDirectory(name: String): Boolean =
name == "META-INF" || name == "intentionDescriptions" || name == "inspectionDescriptions" || name == "fileTemplates" name == "META-INF" || name == "intentionDescriptions" || name == "inspectionDescriptions" || name == "fileTemplates"
private fun collectMappingFile(rootDir: Path) {
if (mappingFile == null) {
val mappings = rootDir.listDirectoryEntries("*Mapping*.json")
if (mappings.size == 1) {
mappings.isNotEmpty()
mappingFile = mappings[0]
}
}
}
fun mergeImages(images: Collection<ImageInfo>, module: JpsModule): Pair<Collection<ImageInfo>, Map<String, String>> {
val mappings = getMappings()
if (mappings.isEmpty() && mergeRoots.isNotEmpty()) {
println("*** Module: ${module.name} contains rule for merge new icons but icon mapping file not found ***")
}
else if (mappings.isNotEmpty() && mergeRoots.isEmpty()) {
println("*** Module: ${module.name} contains icon mapping file but rule for merge new icons not found ***")
}
if (mergeRoots.isNotEmpty()) {
val allImages = ArrayList<ImageInfo>()
mainLoop@for (image in images) {
val root = mergeRoots.find { image.id.startsWith("$it/") }
if (root == null) {
allImages.add(image)
}
else {
for (entry in mappings.entries) {
if (image.sourceCodeParameterName == entry.value && images.find { it.sourceCodeParameterName == entry.key } != null) {
continue@mainLoop
}
}
val equalOldName = image.id.substring(root.length)
val equalOldImage = images.find { it.id == equalOldName }
if (equalOldImage != null) {
mappings[equalOldImage.sourceCodeParameterName] = image.sourceCodeParameterName
continue@mainLoop
}
allImages.add(image.trimPrefix(root))
}
}
return allImages to mappings
}
return images to mappings
}
private fun getMappings(): HashMap<String, String> {
val mappings = HashMap<String, String>()
val file = mappingFile
if (file != null && Files.exists(file)) {
val json = GsonBuilder().create().fromJson(Files.readString(file), JsonObject::class.java)
for (key in json.keySet()) {
val element = json.get(key)
if (element.isJsonPrimitive) {
mappings[element.asString] = key
}
else if (element.isJsonArray) {
for (childElement in element.asJsonArray) {
mappings[childElement.asString] = key
}
}
else {
parseMappings(element.asJsonObject, mappings, key)
}
}
}
return mappings
}
private fun parseMappings(json: JsonObject, mappings: HashMap<String, String>, path: String) {
for (key in json.keySet()) {
val subPath = "$path/$key"
val element = json.get(key)
if (element.isJsonObject) {
parseMappings(element.asJsonObject, mappings, subPath)
}
else if (element.isJsonArray) {
for (childElement in element.asJsonArray) {
mappings[childElement.asString] = subPath
}
}
else {
mappings[element.asString] = subPath
}
}
}
} }
private data class DeprecatedEntry(val matcher: Pattern, val data: DeprecationData) private data class DeprecatedEntry(val matcher: Pattern, val data: DeprecationData)
@@ -297,6 +432,8 @@ internal class IconRobotsData(
private val skipSync = ArrayList<Pattern>() private val skipSync = ArrayList<Pattern>()
private val forceSync = ArrayList<Pattern>() private val forceSync = ArrayList<Pattern>()
var mergeToRoot = false
private val ownDeprecatedIcons = ArrayList<OwnDeprecatedIcon>() private val ownDeprecatedIcons = ArrayList<OwnDeprecatedIcon>()
fun getImageFlags(file: Path): ImageFlags { fun getImageFlags(file: Path): ImageFlags {
@@ -334,6 +471,7 @@ internal class IconRobotsData(
parse(robots, parse(robots,
RobotFileHandler("skip:") { value -> answer.skip.add(compilePattern(dir, root, value)) }, RobotFileHandler("skip:") { value -> answer.skip.add(compilePattern(dir, root, value)) },
RobotFileHandler("used:") { value -> answer.used.add(compilePattern(dir, root, value)) }, RobotFileHandler("used:") { value -> answer.used.add(compilePattern(dir, root, value)) },
RobotFileHandler("merge") { answer.mergeToRoot = true },
RobotFileHandler("deprecated:") { value -> RobotFileHandler("deprecated:") { value ->
val comment = value.substringAfter(";", "").trim().takeIf { it.isNotEmpty() } val comment = value.substringAfter(";", "").trim().takeIf { it.isNotEmpty() }
val valueWithoutComment = value.substringBefore(";") val valueWithoutComment = value.substringBefore(";")

View File

@@ -53,6 +53,12 @@ abstract class ImageSanityCheckerBase(private val projectHome: Path, private val
} }
private val excludedFromSizeCheck = setOf( private val excludedFromSizeCheck = setOf(
"/cdi/newui/cdi@14x14",
"/cdi/newui/event@14x14",
"/javaee/newui/jpaFacet@14x14",
"/javaee/newui/persistenceId@14x14",
"/javaee/newui/persistenceRelationship@14x14",
"/newui/renderKit",
"/expui/run/rerun", "/expui/run/rerun",
"/expui/toolbar/unknown@20x20", "/expui/toolbar/unknown@20x20",
"/expui/welcome/open", "/expui/welcome/open",

View File

@@ -6,7 +6,7 @@ import org.jetbrains.intellij.build.images.IconClassInfo
internal object DotnetIconClasses { internal object DotnetIconClasses {
fun transformIconClassInfo(riderIconClassInfo: IconClassInfo): List<IconClassInfo> = fun transformIconClassInfo(riderIconClassInfo: IconClassInfo): List<IconClassInfo> =
splitRiderAndReSharper(riderIconClassInfo).removeExpUi() splitRiderAndReSharper(riderIconClassInfo)
fun isInlineClass(name: CharSequence): Boolean = fun isInlineClass(name: CharSequence): Boolean =
// inline redundant classes ReSharperIcons.Resharper and RiderIcons.Rider // inline redundant classes ReSharperIcons.Resharper and RiderIcons.Rider
@@ -23,8 +23,4 @@ internal object DotnetIconClasses {
className = className, className = className,
outFile = info.outFile.parent.resolve("${className}.java"), outFile = info.outFile.parent.resolve("${className}.java"),
images = info.images.filter { it.id.startsWith(imageIdPrefix) }) images = info.images.filter { it.id.startsWith(imageIdPrefix) })
private fun Iterable<IconClassInfo>.removeExpUi() = map { info ->
info.copy(images = info.images.filterNot { it.id.contains("/expui/", true) || it.id.contains("\\expui\\", true) })
}
} }

View File

@@ -14,9 +14,12 @@ public final class CollaborationToolsIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, CollaborationToolsIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, CollaborationToolsIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon AddEmoji = load("icons/addEmoji.svg", -1387552992, 0); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, CollaborationToolsIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon AddEmoji = load("icons/addEmoji.svg", "icons/expui/addEmoji.svg", -1387552992, 0);
/** 16x16 */ public static final @NotNull Icon AddEmojiHovered = load("icons/addEmojiHovered.svg", 1679333898, 0); /** 16x16 */ public static final @NotNull Icon AddEmojiHovered = load("icons/addEmojiHovered.svg", 1679333898, 0);
/** 16x16 */ public static final @NotNull Icon Comment = load("icons/comment.svg", 585242443, 0); /** 16x16 */ public static final @NotNull Icon Comment = load("icons/comment.svg", "icons/expui/comment.svg", 585242443, 0);
/** 16x16 */ public static final @NotNull Icon Delete = load("icons/delete.svg", -26771446, 0); /** 16x16 */ public static final @NotNull Icon Delete = load("icons/delete.svg", -26771446, 0);
/** 16x16 */ public static final @NotNull Icon DeleteHovered = load("icons/deleteHovered.svg", -505177250, 0); /** 16x16 */ public static final @NotNull Icon DeleteHovered = load("icons/deleteHovered.svg", -505177250, 0);
/** 16x16 */ public static final @NotNull Icon PullRequestClosed = load("icons/pullRequestClosed.svg", 1915762689, 0); /** 16x16 */ public static final @NotNull Icon PullRequestClosed = load("icons/pullRequestClosed.svg", 1915762689, 0);
@@ -26,11 +29,11 @@ public final class CollaborationToolsIcons {
/** 16x16 */ public static final @NotNull Icon BranchCurrent = load("icons/review/branchCurrent.svg", -1058941099, 0); /** 16x16 */ public static final @NotNull Icon BranchCurrent = load("icons/review/branchCurrent.svg", -1058941099, 0);
/** 16x16 */ public static final @NotNull Icon CommentHovered = load("icons/review/commentHovered.svg", 2035016330, 0); /** 16x16 */ public static final @NotNull Icon CommentHovered = load("icons/review/commentHovered.svg", 2035016330, 0);
/** 16x16 */ public static final @NotNull Icon CommentReadMany = load("icons/review/commentReadMany.svg", -653630789, 2); /** 16x16 */ public static final @NotNull Icon CommentReadMany = load("icons/review/commentReadMany.svg", -653630789, 2);
/** 16x16 */ public static final @NotNull Icon CommentUnread = load("icons/review/commentUnread.svg", 1972289510, 0); /** 16x16 */ public static final @NotNull Icon CommentUnread = load("icons/review/commentUnread.svg", "icons/expui/review/commentUnread.svg", 1972289510, 0);
/** 16x16 */ public static final @NotNull Icon CommentUnreadMany = load("icons/review/commentUnreadMany.svg", 2062007617, 2); /** 16x16 */ public static final @NotNull Icon CommentUnreadMany = load("icons/review/commentUnreadMany.svg", 2062007617, 2);
/** 16x16 */ public static final @NotNull Icon CommentUnresolved = load("icons/review/commentUnresolved.svg", 75435315, 0); /** 16x16 */ public static final @NotNull Icon CommentUnresolved = load("icons/review/commentUnresolved.svg", "icons/expui/comment.svg", 75435315, 0);
/** 16x16 */ public static final @NotNull Icon DefaultAvatar = load("icons/review/defaultAvatar.svg", -5156320, 0); /** 16x16 */ public static final @NotNull Icon DefaultAvatar = load("icons/review/defaultAvatar.svg", -5156320, 0);
/** 16x16 */ public static final @NotNull Icon FileUnread = load("icons/review/fileUnread.svg", 776396787, 0); /** 16x16 */ public static final @NotNull Icon FileUnread = load("icons/review/fileUnread.svg", "icons/expui/review/fileUnread.svg", 776396787, 0);
/** 16x16 */ public static final @NotNull Icon NonMergeable = load("icons/review/nonMergeable.svg", 717316511, 0); /** 16x16 */ public static final @NotNull Icon NonMergeable = load("icons/review/nonMergeable.svg", 717316511, 0);
/** @deprecated use DvcsImplIcons.BranchLabel instead */ /** @deprecated use DvcsImplIcons.BranchLabel instead */

View File

@@ -4,7 +4,6 @@
<module name="intellij.platform.vcs.log.impl"/> <module name="intellij.platform.vcs.log.impl"/>
</dependencies> </dependencies>
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<iconMapper mappingFile="CollaborationToolsIconMappings.json"/>
<themeMetadataProvider path="/META-INF/CollaborationTools.themeMetadata.json"/> <themeMetadataProvider path="/META-INF/CollaborationTools.themeMetadata.json"/>
<statistics.notificationIdsHolder implementation="com.intellij.collaboration.ui.notification.CollaborationToolsNotificationIdsHolder"/> <statistics.notificationIdsHolder implementation="com.intellij.collaboration.ui.notification.CollaborationToolsNotificationIdsHolder"/>
<notificationGroup id="VCS Hosting Integrations" <notificationGroup id="VCS Hosting Integrations"

View File

@@ -0,0 +1 @@
merge

View File

@@ -84,8 +84,6 @@
</projectListeners> </projectListeners>
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<iconMapper mappingFile="DvcsIconMappings.json"/>
<changesGroupingPolicy key="repository" id="repository" weight="30" <changesGroupingPolicy key="repository" id="repository" weight="30"
implementationClass="com.intellij.dvcs.ui.RepositoryChangesGroupingPolicy$Factory"/> implementationClass="com.intellij.dvcs.ui.RepositoryChangesGroupingPolicy$Factory"/>

View File

@@ -15,28 +15,21 @@ public final class DvcsImplIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, DvcsImplIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, DvcsImplIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon BranchLabel = load("icons/branchLabel.svg", -1698488445, 2); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
/** 16x16 */ public static final @NotNull Icon CherryPick = load("icons/cherryPick.svg", 1780252840, 2); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, DvcsImplIcons.class.getClassLoader(), cacheKey, flags);
/** 16x16 */ public static final @NotNull Icon CurrentBranchFavoriteLabel = load("icons/currentBranchFavoriteLabel.svg", -981571394, 0); }
/** 16x16 */ public static final @NotNull Icon CurrentBranchLabel = load("icons/currentBranchLabel.svg", -2118095280, 0); /** 16x16 */ public static final @NotNull Icon BranchLabel = load("icons/branchLabel.svg", "icons/new/branchLabel.svg", -1698488445, 2);
/** 16x16 */ public static final @NotNull Icon Incoming = load("icons/incoming.svg", 1815652245, 2); /** 16x16 */ public static final @NotNull Icon CherryPick = load("icons/cherryPick.svg", "icons/new/cherryPick.svg", 1780252840, 2);
/** 16x16 */ public static final @NotNull Icon CurrentBranchFavoriteLabel = load("icons/currentBranchFavoriteLabel.svg", "icons/new/currentBranchFavoriteLabel.svg", -981571394, 0);
/** 16x16 */ public static final @NotNull Icon CurrentBranchLabel = load("icons/currentBranchLabel.svg", "icons/new/currentBranchLabel.svg", -2118095280, 0);
/** 16x16 */ public static final @NotNull Icon Incoming = load("icons/incoming.svg", "icons/new/changesUpdate@12x12.svg", 1815652245, 2);
/** 16x16 */ public static final @NotNull Icon IncomingLayer = load("icons/incomingLayer.svg", -1820973940, 2); /** 16x16 */ public static final @NotNull Icon IncomingLayer = load("icons/incomingLayer.svg", -1820973940, 2);
/** 16x16 */ public static final @NotNull Icon IncomingOutgoing = load("icons/incomingOutgoing.svg", -418121726, 2); /** 16x16 */ public static final @NotNull Icon IncomingOutgoing = load("icons/incomingOutgoing.svg", -418121726, 2);
/** 16x16 */ public static final @NotNull Icon IncomingOutgoingLayer = load("icons/incomingOutgoingLayer.svg", -948079475, 2); /** 16x16 */ public static final @NotNull Icon IncomingOutgoingLayer = load("icons/incomingOutgoingLayer.svg", -948079475, 2);
/** 16x16 */ public static final @NotNull Icon IncomingUpdate = load("icons/new/incomingUpdate.svg", -1410651252, 2);
public static final class New { /** 16x16 */ public static final @NotNull Icon Outgoing = load("icons/outgoing.svg", "icons/new/changesPush@12x12.svg", -1956407103, 2);
/** 16x16 */ public static final @NotNull Icon BranchLabel = load("icons/new/branchLabel.svg", 2143717139, 2);
/** 12x12 */ public static final @NotNull Icon ChangesPush_12x12 = load("icons/new/changesPush@12x12.svg", -266337537, 2);
/** 12x12 */ public static final @NotNull Icon ChangesUpdate_12x12 = load("icons/new/changesUpdate@12x12.svg", -149869512, 2);
/** 16x16 */ public static final @NotNull Icon CherryPick = load("icons/new/cherryPick.svg", 1502403259, 2);
/** 16x16 */ public static final @NotNull Icon CurrentBranchFavoriteLabel = load("icons/new/currentBranchFavoriteLabel.svg", -1372615443, 2);
/** 16x16 */ public static final @NotNull Icon CurrentBranchLabel = load("icons/new/currentBranchLabel.svg", 1396233135, 2);
/** 16x16 */ public static final @NotNull Icon IncomingUpdate = load("icons/new/incomingUpdate.svg", -1410651252, 2);
/** 16x16 */ public static final @NotNull Icon OutgoingPush = load("icons/new/outgoingPush.svg", 1327071653, 2);
/** 16x16 */ public static final @NotNull Icon ResolveContinue = load("icons/new/resolveContinue.svg", -2074983376, 10);
/** 16x16 */ public static final @NotNull Icon SkipCommit = load("icons/new/skipCommit.svg", -560367291, 10);
}
/** 16x16 */ public static final @NotNull Icon Outgoing = load("icons/outgoing.svg", -1956407103, 2);
/** 16x16 */ public static final @NotNull Icon OutgoingLayer = load("icons/outgoingLayer.svg", -1345792370, 2); /** 16x16 */ public static final @NotNull Icon OutgoingLayer = load("icons/outgoingLayer.svg", -1345792370, 2);
/** 16x16 */ public static final @NotNull Icon OutgoingPush = load("icons/new/outgoingPush.svg", 1327071653, 2);
/** 16x16 */ public static final @NotNull Icon ResolveContinue = load("icons/new/resolveContinue.svg", -2074983376, 10);
/** 16x16 */ public static final @NotNull Icon SkipCommit = load("icons/new/skipCommit.svg", -560367291, 10);
} }

View File

@@ -0,0 +1,29 @@
{
"expui": {
"build": {
"task.svg": "icons/task.svg"
},
"fileTypes": {
"angularJS.svg": "icons/AngularJS.svg",
"cucumber.svg": "org/jetbrains/plugins/cucumber/icons/cucumber.svg",
"freemaker.svg": "icons/freemarker-icon.svg",
"jest.svg": "icons/fileTypes/jestSnapshot.svg",
"less.svg": "icons/less.svg",
"react.svg": "org/jetbrains/kotlin/idea/icons/wizard/react.svg",
"scala.svg": "org/jetbrains/plugins/scala/images/scala16.png",
"vueJs.svg": "icons/vue.svg",
"yarn.svg": "icons/nodejs/yarn.svg"
},
"run": {
"forceRunToCursor.svg": "icons/actions/force_run_to_cursor.svg",
"forceStepInto.svg": "icons/actions/force_step_into.svg",
"forceStepOver.svg": "icons/actions/force_step_over.svg"
},
"toolwindow": {
"dependencies.svg": [
"icons/artifact.svg",
"icons/artifactSmall.svg"
]
}
}
}

View File

@@ -0,0 +1,3 @@
merge
skip: /**/*20x20.svg
skip: /**/*14x14.svg

View File

@@ -110,8 +110,13 @@ class CoreIconManager : IconManager, CoreAwareIconManager {
} }
override fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon { override fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon {
return loadRasterizedIcon(path, null, classLoader, cacheKey, flags)
}
override fun loadRasterizedIcon(path: String, expUIPath: String?, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon {
assert(!path.startsWith('/')) assert(!path.startsWith('/'))
return loadRasterizedIcon(path = path, return loadRasterizedIcon(path = path,
expUIPath = expUIPath,
classLoader = classLoader, classLoader = classLoader,
cacheKey = cacheKey, cacheKey = cacheKey,
flags = flags, flags = flags,

View File

@@ -18,6 +18,7 @@ import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.editor.colors.EditorColorsManager import com.intellij.openapi.editor.colors.EditorColorsManager
import com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl import com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.util.IconLoader import com.intellij.openapi.util.IconLoader
import com.intellij.openapi.util.IconPathPatcher import com.intellij.openapi.util.IconPathPatcher
import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.SystemInfo
@@ -33,6 +34,7 @@ private val LOG: Logger
* @author Konstantin Bulenkov * @author Konstantin Bulenkov
*/ */
private class ExperimentalUIImpl : ExperimentalUI() { private class ExperimentalUIImpl : ExperimentalUI() {
private val epIconMapperSuppressor = ExtensionPointName<Any>("com.intellij.iconMapperSuppressor")
private var shouldUnsetNewUiSwitchKey: Boolean = true private var shouldUnsetNewUiSwitchKey: Boolean = true
private val isIconPatcherSet = AtomicBoolean() private val isIconPatcherSet = AtomicBoolean()
private val isFirstCheck = AtomicBoolean(true) private val isFirstCheck = AtomicBoolean(true)
@@ -40,7 +42,7 @@ private class ExperimentalUIImpl : ExperimentalUI() {
override fun earlyInitValue(): Boolean { override fun earlyInitValue(): Boolean {
val prevNewUI = super.earlyInitValue() && !forcedSwitchedUi val prevNewUI = super.earlyInitValue() && !forcedSwitchedUi
val newUi = !IconMapperBean.EP_NAME_REVERSE.hasAnyExtensions() val newUi = !epIconMapperSuppressor.hasAnyExtensions()
if (isFirstCheck.compareAndSet(true, false)) { if (isFirstCheck.compareAndSet(true, false)) {
changeValue(prevNewUI, newUi) changeValue(prevNewUI, newUi)
@@ -110,7 +112,7 @@ private class ExperimentalUIImpl : ExperimentalUI() {
installIconPatcher { createPathPatcher(it) } installIconPatcher { createPathPatcher(it) }
} }
else { else {
installIconPatcher { createReversePathPatcher(it) } service<IconMapLoader>().loadIconMapping() // reset mappings
} }
} }
@@ -212,17 +214,7 @@ private fun patchUiDefaultsForNewUi() {
} }
} }
private fun createReversePathPatcher(map: Map<ClassLoader, Map<String, String>>): IconPathPatcher { private const val reflectivePathPrefix = "com.intellij.icons.AllIcons."
return object : IconPathPatcher() {
override fun patchPath(path: String, classLoader: ClassLoader?): String? {
return map.get(classLoader)?.get(path)
}
override fun getContextClassLoader(path: String, originalClassLoader: ClassLoader?) = originalClassLoader
}
}
private const val reflectivePathPrefix = "com.intellij.icons.ExpUiIcons."
private const val iconPathPrefix = "expui/" private const val iconPathPrefix = "expui/"
private fun createPathPatcher(paths: Map<ClassLoader, Map<String, String>>): IconPathPatcher { private fun createPathPatcher(paths: Map<ClassLoader, Map<String, String>>): IconPathPatcher {

View File

@@ -23,7 +23,7 @@ class IconMapLoader {
private val cachedResult = AtomicReference<Map<ClassLoader, Map<String, String>>>() private val cachedResult = AtomicReference<Map<ClassLoader, Map<String, String>>>()
internal suspend fun preloadIconMapping() { internal suspend fun preloadIconMapping() {
if (!IconMapperBean.EP_NAME.hasAnyExtensions() && !IconMapperBean.EP_NAME_REVERSE.hasAnyExtensions()) { if (!IconMapperBean.EP_NAME.hasAnyExtensions()) {
cachedResult.compareAndSet(null, emptyMap()) cachedResult.compareAndSet(null, emptyMap())
return return
} }
@@ -41,15 +41,6 @@ class IconMapLoader {
@OptIn(ExperimentalCoroutinesApi::class) @OptIn(ExperimentalCoroutinesApi::class)
suspend fun doLoadIconMapping(): MutableMap<ClassLoader, MutableMap<String, String>> { suspend fun doLoadIconMapping(): MutableMap<ClassLoader, MutableMap<String, String>> {
val list = coroutineScope { val list = coroutineScope {
val reverseIterator = IconMapperBean.EP_NAME_REVERSE.filterableLazySequence().iterator()
if (reverseIterator.hasNext()) {
return@coroutineScope listOf(async {
loadFromExtension(reverseIterator.next()) { data, result ->
StringUtil.splitByLines(String(data)).forEach { result[it] = it }
}
})
}
val jsonFactory = JsonFactory() val jsonFactory = JsonFactory()
IconMapperBean.EP_NAME.filterableLazySequence().map { extension -> IconMapperBean.EP_NAME.filterableLazySequence().map { extension ->
async { async {

View File

@@ -14,9 +14,6 @@ public final class IconMapperBean {
@ApiStatus.Internal @ApiStatus.Internal
public static final ExtensionPointName<IconMapperBean> EP_NAME = new ExtensionPointName<>("com.intellij.iconMapper"); public static final ExtensionPointName<IconMapperBean> EP_NAME = new ExtensionPointName<>("com.intellij.iconMapper");
@ApiStatus.Internal
public static final ExtensionPointName<IconMapperBean> EP_NAME_REVERSE = new ExtensionPointName<>("com.intellij.iconMapperReverse");
@Attribute("mappingFile") @Attribute("mappingFile")
@RequiredElement @RequiredElement
public @NonNls String mappingFile; public @NonNls String mappingFile;

View File

@@ -408,7 +408,8 @@
<extensionPoint name="themeRemapper" interface="com.intellij.ide.ui.laf.UiThemeRemapper" dynamic="true"/> <extensionPoint name="themeRemapper" interface="com.intellij.ide.ui.laf.UiThemeRemapper" dynamic="true"/>
<extensionPoint name="themeMetadataProvider" beanClass="com.intellij.ide.ui.UIThemeMetadataProvider" dynamic="true"/> <extensionPoint name="themeMetadataProvider" beanClass="com.intellij.ide.ui.UIThemeMetadataProvider" dynamic="true"/>
<extensionPoint name="iconMapper" beanClass="com.intellij.ide.ui.IconMapperBean" dynamic="true"/> <extensionPoint name="iconMapper" beanClass="com.intellij.ide.ui.IconMapperBean" dynamic="true"/>
<extensionPoint name="iconMapperReverse" beanClass="com.intellij.ide.ui.IconMapperBean" dynamic="false"/> <!--suppress PluginXmlDynamicPlugin -->
<extensionPoint name="iconMapperSuppressor" beanClass="java.lang.Object" dynamic="false"/>
<extensionPoint name="uiChangeListener" interface="com.intellij.ui.ExperimentalUI$Listener" dynamic="true"/> <extensionPoint name="uiChangeListener" interface="com.intellij.ui.ExperimentalUI$Listener" dynamic="true"/>
<extensionPoint name="tree.CustomLanguageASTComparator" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true"> <extensionPoint name="tree.CustomLanguageASTComparator" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">

View File

@@ -655,7 +655,7 @@
<themeProvider id="JetBrainsHighContrastTheme" path="/themes/HighContrast.theme.json"/> <themeProvider id="JetBrainsHighContrastTheme" path="/themes/HighContrast.theme.json"/>
<bundledColorScheme id="High contrast" path="themes/highContrastScheme.xml"/> <bundledColorScheme id="High contrast" path="themes/highContrastScheme.xml"/>
<iconMapper mappingFile="PlatformIconMappings.json"/> <iconMapper mappingFile="CrossModuleIcons.json"/>
<themeMetadataProvider path="/themes/metadata/IntelliJPlatform.themeMetadata.json"/> <themeMetadataProvider path="/themes/metadata/IntelliJPlatform.themeMetadata.json"/>
<themeMetadataProvider path="/themes/metadata/JDK.themeMetadata.json"/> <themeMetadataProvider path="/themes/metadata/JDK.themeMetadata.json"/>

View File

@@ -63,6 +63,9 @@ interface IconManager {
@Internal @Internal
fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon
@ApiStatus.Internal
fun loadRasterizedIcon(path: String, expUIPath: String?, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon
fun createEmptyIcon(icon: Icon): Icon = icon fun createEmptyIcon(icon: Icon): Icon = icon
fun createOffsetIcon(icon: Icon): Icon = icon fun createOffsetIcon(icon: Icon): Icon = icon
@@ -116,6 +119,10 @@ private object DummyIconManager : IconManager {
override fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon = DummyIconImpl(path) override fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon = DummyIconImpl(path)
override fun loadRasterizedIcon(path: String, expUIPath: String?, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon {
return loadRasterizedIcon(path, classLoader, cacheKey, flags)
}
override fun createLayeredIcon(instance: Iconable, icon: Icon, flags: Int): RowIcon { override fun createLayeredIcon(instance: Iconable, icon: Icon, flags: Int): RowIcon {
val icons = arrayOfNulls<Icon>(2) val icons = arrayOfNulls<Icon>(2)
icons[0] = icon icons[0] = icon

View File

@@ -1,6 +1,8 @@
c:com.intellij.icons.AllIcons c:com.intellij.icons.AllIcons
- sf:Empty:javax.swing.Icon
- sf:Icon:javax.swing.Icon - sf:Icon:javax.swing.Icon
- sf:Idea_logo_welcome:javax.swing.Icon - sf:Idea_logo_welcome:javax.swing.Icon
- sf:Stub:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Actions f:com.intellij.icons.AllIcons$Actions
- sf:AddFile:javax.swing.Icon - sf:AddFile:javax.swing.Icon
@@ -19,6 +21,7 @@ f:com.intellij.icons.AllIcons$Actions
- sf:CheckOut:javax.swing.Icon - sf:CheckOut:javax.swing.Icon
- sf:Checked:javax.swing.Icon - sf:Checked:javax.swing.Icon
- sf:Checked_selected:javax.swing.Icon - sf:Checked_selected:javax.swing.Icon
- sf:ClearCash:javax.swing.Icon
- sf:Close:javax.swing.Icon - sf:Close:javax.swing.Icon
- sf:CloseDarkGrey:javax.swing.Icon - sf:CloseDarkGrey:javax.swing.Icon
- sf:CloseHovered:javax.swing.Icon - sf:CloseHovered:javax.swing.Icon
@@ -209,6 +212,17 @@ f:com.intellij.icons.AllIcons$Actions
- sf:WordsHovered:javax.swing.Icon - sf:WordsHovered:javax.swing.Icon
- sf:WordsSelected:javax.swing.Icon - sf:WordsSelected:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Breakpoints
- sf:BreakpointFieldUnsuspendentDisabled:javax.swing.Icon
- sf:BreakpointMethodUnsuspendentDisabled:javax.swing.Icon
- sf:BreakpointUnsuspendentDisabled:javax.swing.Icon
- sf:MultipleBreakpointsDisabled:javax.swing.Icon
- sf:MultipleBreakpointsMuted:javax.swing.Icon
- <init>():V
f:com.intellij.icons.AllIcons$Build
- sf:Task:javax.swing.Icon
- sf:ToggleSkipTestsMode:javax.swing.Icon
- <init>():V
f:com.intellij.icons.AllIcons$Chooser f:com.intellij.icons.AllIcons$Chooser
- sf:Bottom:javax.swing.Icon - sf:Bottom:javax.swing.Icon
- sf:Left:javax.swing.Icon - sf:Left:javax.swing.Icon
@@ -257,6 +271,7 @@ f:com.intellij.icons.AllIcons$CodeWithMe
- sf:CwmScreenOff:javax.swing.Icon - sf:CwmScreenOff:javax.swing.Icon
- sf:CwmScreenOn:javax.swing.Icon - sf:CwmScreenOn:javax.swing.Icon
- sf:CwmShared:javax.swing.Icon - sf:CwmShared:javax.swing.Icon
- sf:CwmSharingAvatarOn:javax.swing.Icon
- sf:CwmTerminate:javax.swing.Icon - sf:CwmTerminate:javax.swing.Icon
- sf:CwmVerified:javax.swing.Icon - sf:CwmVerified:javax.swing.Icon
- sf:Users:javax.swing.Icon - sf:Users:javax.swing.Icon
@@ -376,6 +391,7 @@ f:com.intellij.icons.AllIcons$Duplicates
f:com.intellij.icons.AllIcons$FileTypes f:com.intellij.icons.AllIcons$FileTypes
- sf:AS:javax.swing.Icon - sf:AS:javax.swing.Icon
- sf:AddAny:javax.swing.Icon - sf:AddAny:javax.swing.Icon
- sf:AngularJS:javax.swing.Icon
- sf:Any_type:javax.swing.Icon - sf:Any_type:javax.swing.Icon
- sf:Archive:javax.swing.Icon - sf:Archive:javax.swing.Icon
- sf:Aspectj:javax.swing.Icon - sf:Aspectj:javax.swing.Icon
@@ -383,9 +399,14 @@ f:com.intellij.icons.AllIcons$FileTypes
- sf:Contexts:javax.swing.Icon - sf:Contexts:javax.swing.Icon
- sf:ContextsModifier:javax.swing.Icon - sf:ContextsModifier:javax.swing.Icon
- sf:Css:javax.swing.Icon - sf:Css:javax.swing.Icon
- sf:Csv:javax.swing.Icon
- sf:Cucumber:javax.swing.Icon
- sf:Custom:javax.swing.Icon - sf:Custom:javax.swing.Icon
- sf:Diagram:javax.swing.Icon - sf:Diagram:javax.swing.Icon
- sf:Dtd:javax.swing.Icon - sf:Dtd:javax.swing.Icon
- sf:Font:javax.swing.Icon
- sf:Freemaker:javax.swing.Icon
- sf:Gitignore:javax.swing.Icon
- sf:Hprof:javax.swing.Icon - sf:Hprof:javax.swing.Icon
- sf:Htaccess:javax.swing.Icon - sf:Htaccess:javax.swing.Icon
- sf:Html:javax.swing.Icon - sf:Html:javax.swing.Icon
@@ -395,23 +416,32 @@ f:com.intellij.icons.AllIcons$FileTypes
- sf:JavaClass:javax.swing.Icon - sf:JavaClass:javax.swing.Icon
- sf:JavaOutsideSource:javax.swing.Icon - sf:JavaOutsideSource:javax.swing.Icon
- sf:JavaScript:javax.swing.Icon - sf:JavaScript:javax.swing.Icon
- sf:Jest:javax.swing.Icon
- sf:Jfr:javax.swing.Icon - sf:Jfr:javax.swing.Icon
- sf:Json:javax.swing.Icon - sf:Json:javax.swing.Icon
- sf:JsonSchema:javax.swing.Icon - sf:JsonSchema:javax.swing.Icon
- sf:Jsp:javax.swing.Icon - sf:Jsp:javax.swing.Icon
- sf:Jspx:javax.swing.Icon - sf:Jspx:javax.swing.Icon
- sf:Less:javax.swing.Icon
- sf:Manifest:javax.swing.Icon - sf:Manifest:javax.swing.Icon
- sf:MicrosoftWindows:javax.swing.Icon - sf:MicrosoftWindows:javax.swing.Icon
- sf:Perl:javax.swing.Icon
- sf:Properties:javax.swing.Icon - sf:Properties:javax.swing.Icon
- sf:React:javax.swing.Icon
- sf:Regexp:javax.swing.Icon - sf:Regexp:javax.swing.Icon
- sf:Sbt:javax.swing.Icon
- sf:Scala:javax.swing.Icon
- sf:SourceMap:javax.swing.Icon
- sf:Text:javax.swing.Icon - sf:Text:javax.swing.Icon
- sf:UiForm:javax.swing.Icon - sf:UiForm:javax.swing.Icon
- sf:Unknown:javax.swing.Icon - sf:Unknown:javax.swing.Icon
- sf:VueJs:javax.swing.Icon
- sf:WsdlFile:javax.swing.Icon - sf:WsdlFile:javax.swing.Icon
- sf:Xhtml:javax.swing.Icon - sf:Xhtml:javax.swing.Icon
- sf:Xml:javax.swing.Icon - sf:Xml:javax.swing.Icon
- sf:XsdFile:javax.swing.Icon - sf:XsdFile:javax.swing.Icon
- sf:Yaml:javax.swing.Icon - sf:Yaml:javax.swing.Icon
- sf:Yarn:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$General f:com.intellij.icons.AllIcons$General
- sf:ActualZoom:javax.swing.Icon - sf:ActualZoom:javax.swing.Icon
@@ -435,6 +465,7 @@ f:com.intellij.icons.AllIcons$General
- sf:Beta:javax.swing.Icon - sf:Beta:javax.swing.Icon
- sf:ButtonDropTriangle:javax.swing.Icon - sf:ButtonDropTriangle:javax.swing.Icon
- sf:ChevronDown:javax.swing.Icon - sf:ChevronDown:javax.swing.Icon
- sf:ChevronDownLargeWhite:javax.swing.Icon
- sf:ChevronLeft:javax.swing.Icon - sf:ChevronLeft:javax.swing.Icon
- sf:ChevronRight:javax.swing.Icon - sf:ChevronRight:javax.swing.Icon
- sf:ChevronUp:javax.swing.Icon - sf:ChevronUp:javax.swing.Icon
@@ -448,6 +479,7 @@ f:com.intellij.icons.AllIcons$General
- sf:DropPlace:javax.swing.Icon - sf:DropPlace:javax.swing.Icon
- sf:Dropdown:javax.swing.Icon - sf:Dropdown:javax.swing.Icon
- sf:DropdownGutter:javax.swing.Icon - sf:DropdownGutter:javax.swing.Icon
- sf:EditorPreviewVertical:javax.swing.Icon
- sf:Ellipsis:javax.swing.Icon - sf:Ellipsis:javax.swing.Icon
- sf:Error:javax.swing.Icon - sf:Error:javax.swing.Icon
- sf:ErrorDialog:javax.swing.Icon - sf:ErrorDialog:javax.swing.Icon
@@ -461,6 +493,7 @@ f:com.intellij.icons.AllIcons$General
- sf:GearHover:javax.swing.Icon - sf:GearHover:javax.swing.Icon
- sf:GearPlain:javax.swing.Icon - sf:GearPlain:javax.swing.Icon
- sf:GreenCheckmark:javax.swing.Icon - sf:GreenCheckmark:javax.swing.Icon
- sf:Groups:javax.swing.Icon
- sf:HideToolWindow:javax.swing.Icon - sf:HideToolWindow:javax.swing.Icon
- sf:ImplementingMethod:javax.swing.Icon - sf:ImplementingMethod:javax.swing.Icon
- sf:Information:javax.swing.Icon - sf:Information:javax.swing.Icon
@@ -488,6 +521,7 @@ f:com.intellij.icons.AllIcons$General
- sf:InspectionsTypos:javax.swing.Icon - sf:InspectionsTypos:javax.swing.Icon
- sf:InspectionsWarning:javax.swing.Icon - sf:InspectionsWarning:javax.swing.Icon
- sf:InspectionsWarningEmpty:javax.swing.Icon - sf:InspectionsWarningEmpty:javax.swing.Icon
- sf:Keyboard:javax.swing.Icon
- sf:Layout:javax.swing.Icon - sf:Layout:javax.swing.Icon
- sf:LayoutEditorOnly:javax.swing.Icon - sf:LayoutEditorOnly:javax.swing.Icon
- sf:LayoutEditorPreview:javax.swing.Icon - sf:LayoutEditorPreview:javax.swing.Icon
@@ -509,6 +543,9 @@ f:com.intellij.icons.AllIcons$General
- sf:OpenInToolWindow:javax.swing.Icon - sf:OpenInToolWindow:javax.swing.Icon
- sf:OverridenMethod:javax.swing.Icon - sf:OverridenMethod:javax.swing.Icon
- sf:OverridingMethod:javax.swing.Icon - sf:OverridingMethod:javax.swing.Icon
- sf:PinHovered:javax.swing.Icon
- sf:PinSelected:javax.swing.Icon
- sf:PinSelectedHovered:javax.swing.Icon
- sf:Pin_tab:javax.swing.Icon - sf:Pin_tab:javax.swing.Icon
- sf:Print:javax.swing.Icon - sf:Print:javax.swing.Icon
- sf:ProjectConfigurable:javax.swing.Icon - sf:ProjectConfigurable:javax.swing.Icon
@@ -558,6 +595,8 @@ f:com.intellij.icons.AllIcons$Gutter
- sf:Colors:javax.swing.Icon - sf:Colors:javax.swing.Icon
- sf:DataSchema:javax.swing.Icon - sf:DataSchema:javax.swing.Icon
- sf:ExtAnnotation:javax.swing.Icon - sf:ExtAnnotation:javax.swing.Icon
- sf:Fold:javax.swing.Icon
- sf:FoldBottom:javax.swing.Icon
- sf:ImplementedMethod:javax.swing.Icon - sf:ImplementedMethod:javax.swing.Icon
- sf:ImplementingFunctionalInterface:javax.swing.Icon - sf:ImplementingFunctionalInterface:javax.swing.Icon
- sf:ImplementingMethod:javax.swing.Icon - sf:ImplementingMethod:javax.swing.Icon
@@ -572,6 +611,7 @@ f:com.intellij.icons.AllIcons$Gutter
- sf:SiblingInheritedMethod:javax.swing.Icon - sf:SiblingInheritedMethod:javax.swing.Icon
- sf:SuggestedRefactoringBulb:javax.swing.Icon - sf:SuggestedRefactoringBulb:javax.swing.Icon
- sf:SuggestedRefactoringBulbDisabled:javax.swing.Icon - sf:SuggestedRefactoringBulbDisabled:javax.swing.Icon
- sf:Unfold:javax.swing.Icon
- sf:Unique:javax.swing.Icon - sf:Unique:javax.swing.Icon
- sf:WriteAccess:javax.swing.Icon - sf:WriteAccess:javax.swing.Icon
- <init>():V - <init>():V
@@ -749,6 +789,16 @@ f:com.intellij.icons.AllIcons$Mac$Touchbar
- sf:PopoverArrow:javax.swing.Icon - sf:PopoverArrow:javax.swing.Icon
- sf:PopoverClose:javax.swing.Icon - sf:PopoverClose:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$MeetNewUi
- sf:DarkTheme:javax.swing.Icon
- sf:DarkThemeSelected:javax.swing.Icon
- sf:DensityCompact:javax.swing.Icon
- sf:DensityDefault:javax.swing.Icon
- sf:LightTheme:javax.swing.Icon
- sf:LightThemeSelected:javax.swing.Icon
- sf:SystemTheme:javax.swing.Icon
- sf:SystemThemeSelected:javax.swing.Icon
- <init>():V
f:com.intellij.icons.AllIcons$Modules f:com.intellij.icons.AllIcons$Modules
- sf:AddExcludedRoot:javax.swing.Icon - sf:AddExcludedRoot:javax.swing.Icon
- sf:Annotation:javax.swing.Icon - sf:Annotation:javax.swing.Icon
@@ -842,7 +892,9 @@ f:com.intellij.icons.AllIcons$Nodes
- sf:ModelClass:javax.swing.Icon - sf:ModelClass:javax.swing.Icon
- sf:Models:javax.swing.Icon - sf:Models:javax.swing.Icon
- sf:Module:javax.swing.Icon - sf:Module:javax.swing.Icon
- sf:Module8x8:javax.swing.Icon
- sf:ModuleGroup:javax.swing.Icon - sf:ModuleGroup:javax.swing.Icon
- sf:ModuleJava:javax.swing.Icon
- sf:MultipleTypeDefinitions:javax.swing.Icon - sf:MultipleTypeDefinitions:javax.swing.Icon
- sf:NativeLibrariesFolder:javax.swing.Icon - sf:NativeLibrariesFolder:javax.swing.Icon
- sf:NewParameter:javax.swing.Icon - sf:NewParameter:javax.swing.Icon
@@ -915,6 +967,7 @@ f:com.intellij.icons.AllIcons$Nodes
- sf:WebFolder:javax.swing.Icon - sf:WebFolder:javax.swing.Icon
- sf:Weblistener:javax.swing.Icon - sf:Weblistener:javax.swing.Icon
- sf:Word:javax.swing.Icon - sf:Word:javax.swing.Icon
- sf:Workspace:javax.swing.Icon
- sf:WriteAccess:javax.swing.Icon - sf:WriteAccess:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Nodes$Jsf f:com.intellij.icons.AllIcons$Nodes$Jsf
@@ -1067,6 +1120,15 @@ f:com.intellij.icons.AllIcons$Providers
- sf:Vertica:javax.swing.Icon - sf:Vertica:javax.swing.Icon
- sf:Yugabyte:javax.swing.Icon - sf:Yugabyte:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Run
- sf:ForceRunToCursor:javax.swing.Icon
- sf:ForceStepInto:javax.swing.Icon
- sf:ForceStepOver:javax.swing.Icon
- <init>():V
f:com.intellij.icons.AllIcons$Run$Widget
- sf:Build:javax.swing.Icon
- sf:Restart:javax.swing.Icon
- <init>():V
f:com.intellij.icons.AllIcons$RunConfigurations f:com.intellij.icons.AllIcons$RunConfigurations
- sf:Applet:javax.swing.Icon - sf:Applet:javax.swing.Icon
- sf:Application:javax.swing.Icon - sf:Application:javax.swing.Icon
@@ -1124,6 +1186,7 @@ f:com.intellij.icons.AllIcons$Scope
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Status f:com.intellij.icons.AllIcons$Status
- sf:FailedInProgress:javax.swing.Icon - sf:FailedInProgress:javax.swing.Icon
- sf:Success:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Table f:com.intellij.icons.AllIcons$Table
- sf:Pagination:javax.swing.Icon - sf:Pagination:javax.swing.Icon
@@ -1153,6 +1216,14 @@ f:com.intellij.icons.AllIcons$ToolbarDecorator
- sf:ExportSmall:javax.swing.Icon - sf:ExportSmall:javax.swing.Icon
- sf:Import:javax.swing.Icon - sf:Import:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Toolwindow
- sf:Changes:javax.swing.Icon
- sf:Dependencies:javax.swing.Icon
- sf:MeetNewUi:javax.swing.Icon
- sf:Repositories:javax.swing.Icon
- sf:Task:javax.swing.Icon
- sf:ToolWindowInternal:javax.swing.Icon
- <init>():V
f:com.intellij.icons.AllIcons$Toolwindows f:com.intellij.icons.AllIcons$Toolwindows
- sf:Documentation:javax.swing.Icon - sf:Documentation:javax.swing.Icon
- sf:ErrorEvents:javax.swing.Icon - sf:ErrorEvents:javax.swing.Icon
@@ -1217,6 +1288,7 @@ f:com.intellij.icons.AllIcons$Ultimate
- sf:PycharmPromo:javax.swing.Icon - sf:PycharmPromo:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Vcs f:com.intellij.icons.AllIcons$Vcs
- sf:Abort:javax.swing.Icon
- sf:Arrow_left:javax.swing.Icon - sf:Arrow_left:javax.swing.Icon
- sf:Arrow_right:javax.swing.Icon - sf:Arrow_right:javax.swing.Icon
- sf:Author:javax.swing.Icon - sf:Author:javax.swing.Icon
@@ -1272,10 +1344,12 @@ f:com.intellij.icons.AllIcons$Welcome$RecentProjects
- sf:RemoveHover:javax.swing.Icon - sf:RemoveHover:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.icons.AllIcons$Windows f:com.intellij.icons.AllIcons$Windows
- sf:Close:javax.swing.Icon
- sf:CloseActive:javax.swing.Icon - sf:CloseActive:javax.swing.Icon
- sf:CloseHover:javax.swing.Icon - sf:CloseHover:javax.swing.Icon
- sf:CloseInactive:javax.swing.Icon - sf:CloseInactive:javax.swing.Icon
- sf:CloseSmall:javax.swing.Icon - sf:CloseSmall:javax.swing.Icon
- sf:Collapse:javax.swing.Icon
- sf:Help:javax.swing.Icon - sf:Help:javax.swing.Icon
- sf:HelpButton:javax.swing.Icon - sf:HelpButton:javax.swing.Icon
- sf:HelpButtonInactive:javax.swing.Icon - sf:HelpButtonInactive:javax.swing.Icon

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@ package com.intellij.ui.icons
import com.intellij.diagnostic.StartUpMeasurer import com.intellij.diagnostic.StartUpMeasurer
import com.intellij.openapi.diagnostic.thisLogger import com.intellij.openapi.diagnostic.thisLogger
import com.intellij.ui.IconManager import com.intellij.ui.IconManager
import com.intellij.ui.NewUiValue
import com.intellij.ui.scale.DerivedScaleType import com.intellij.ui.scale.DerivedScaleType
import com.intellij.ui.scale.ScaleContext import com.intellij.ui.scale.ScaleContext
import com.intellij.ui.svg.SvgCacheClassifier import com.intellij.ui.svg.SvgCacheClassifier
@@ -24,18 +25,30 @@ import javax.swing.Icon
// a reflective path is not supported, a result is not cached // a reflective path is not supported, a result is not cached
@ApiStatus.Internal @ApiStatus.Internal
fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int, toolTip: Supplier<String?>?): Icon { fun loadRasterizedIcon(path: String, expUIPath: String?, classLoader: ClassLoader, cacheKey: Int, flags: Int, toolTip: Supplier<String?>?): Icon {
assert(!path.startsWith('/')) assert(!path.startsWith('/'))
return CachedImageIcon(loader = RasterizedImageDataLoader(path = path, return CachedImageIcon(loader = RasterizedImageDataLoader(path = path,
expUIPath = convertExpUIPath(path, expUIPath),
classLoaderRef = WeakReference(classLoader), classLoaderRef = WeakReference(classLoader),
cacheKey = cacheKey, cacheKey = cacheKey,
flags = flags), flags = flags),
toolTip = toolTip) toolTip = toolTip)
} }
private fun convertExpUIPath(path: String, expUIPath: String?): String? {
if (expUIPath == null) {
return null
}
if (expUIPath.endsWith("/")) {
return "$expUIPath$path"
}
return expUIPath
}
@Serializable @Serializable
private data class RasterizedImageDataLoaderDescriptor( private data class RasterizedImageDataLoaderDescriptor(
@JvmField val path: String, @JvmField val path: String,
@JvmField val expUIPath: String?,
@JvmField val pluginId: String, @JvmField val pluginId: String,
@JvmField val moduleId: String?, @JvmField val moduleId: String?,
@JvmField val cacheKey: Int, @JvmField val cacheKey: Int,
@@ -43,11 +56,12 @@ private data class RasterizedImageDataLoaderDescriptor(
) : ImageDataLoaderDescriptor { ) : ImageDataLoaderDescriptor {
override fun createIcon(): ImageDataLoader? { override fun createIcon(): ImageDataLoader? {
val classLoader = IconManager.getInstance().getClassLoader(pluginId, moduleId) ?: return null val classLoader = IconManager.getInstance().getClassLoader(pluginId, moduleId) ?: return null
return RasterizedImageDataLoader(path = path, classLoaderRef = WeakReference(classLoader), cacheKey = cacheKey, flags = flags) return RasterizedImageDataLoader(path = path, expUIPath = expUIPath, classLoaderRef = WeakReference(classLoader), cacheKey = cacheKey, flags = flags)
} }
} }
private class RasterizedImageDataLoader(override val path: String, private class RasterizedImageDataLoader(override val path: String,
private val expUIPath: String?,
private val classLoaderRef: WeakReference<ClassLoader>, private val classLoaderRef: WeakReference<ClassLoader>,
private val cacheKey: Int, private val cacheKey: Int,
override val flags: Int) : ImageDataLoader { override val flags: Int) : ImageDataLoader {
@@ -58,6 +72,7 @@ private class RasterizedImageDataLoader(override val path: String,
val pluginInfo = IconManager.getInstance().getPluginAndModuleId(classLoader) val pluginInfo = IconManager.getInstance().getPluginAndModuleId(classLoader)
return RasterizedImageDataLoaderDescriptor( return RasterizedImageDataLoaderDescriptor(
path = path, path = path,
expUIPath = expUIPath,
pluginId = pluginInfo.first, pluginId = pluginInfo.first,
moduleId = pluginInfo.second, moduleId = pluginInfo.second,
flags = flags, flags = flags,
@@ -94,8 +109,11 @@ private class RasterizedImageDataLoader(override val path: String,
get() = classLoaderRef.get()?.getResource(path) get() = classLoaderRef.get()?.getResource(path)
override fun patch(transform: IconTransform): ImageDataLoader? { override fun patch(transform: IconTransform): ImageDataLoader? {
if (!NewUiValue.isEnabled()) {
return null
}
val classLoader = classLoaderRef.get() ?: return null val classLoader = classLoaderRef.get() ?: return null
val patched = transform.patchPath(path = path, classLoader = classLoader) val patched = if (expUIPath == null) transform.patchPath(path = path, classLoader = classLoader) else Pair(expUIPath, classLoader)
if (patched == null) { if (patched == null) {
return null return null
} }

View File

@@ -15,12 +15,10 @@ public final class PlatformVcsImplIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, PlatformVcsImplIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, PlatformVcsImplIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
public static final class New { return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, PlatformVcsImplIcons.class.getClassLoader(), cacheKey, flags);
/** 16x16 */ public static final @NotNull Icon Stash = load("icons/new/stash.svg", -380414361, 2);
/** 16x16 */ public static final @NotNull Icon Vcs = load("icons/new/vcs.svg", 1023462254, 2);
} }
/** 16x16 */ public static final @NotNull Icon Shelve = load("icons/Shelve.svg", "icons/new/stash.svg", -1645293825, 2);
/** 16x16 */ public static final @NotNull Icon Shelve = load("icons/Shelve.svg", -1645293825, 2); /** 16x16 */ public static final @NotNull Icon Stash = load("icons/Stash.svg", "icons/new/stash.svg", -451629034, 2);
/** 16x16 */ public static final @NotNull Icon Stash = load("icons/Stash.svg", -451629034, 2); /** 16x16 */ public static final @NotNull Icon Vcs = load("icons/new/vcs.svg", 1023462254, 2);
} }

View File

@@ -0,0 +1 @@
merge

View File

@@ -8,8 +8,6 @@
<xi:include href="/META-INF/VcsActions.xml"/> <xi:include href="/META-INF/VcsActions.xml"/>
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<iconMapper mappingFile="VcsIconMappings.json"/>
<fileType language="IgnoreLang" extensions="ignore" fieldName="INSTANCE" name="IgnoreLang file" <fileType language="IgnoreLang" extensions="ignore" fieldName="INSTANCE" name="IgnoreLang file"
implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreFileType"/> implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreFileType"/>
<psi.referenceContributor language="IgnoreLang" <psi.referenceContributor language="IgnoreLang"

View File

@@ -36,7 +36,7 @@ internal open class GetFromVersionControlAction : DumbAwareAction() {
} }
} }
else { else {
presentation.icon = if (ExperimentalUI.isNewUI() && (ActionPlaces.PROJECT_WIDGET_POPUP == e.place)) PlatformVcsImplIcons.New.Vcs else null presentation.icon = if (ExperimentalUI.isNewUI() && (ActionPlaces.PROJECT_WIDGET_POPUP == e.place)) PlatformVcsImplIcons.Vcs else null
} }
} }

View File

@@ -707,9 +707,6 @@ e:com.intellij.vcs.log.impl.VcsLogErrorHandler$Source
f:com.intellij.vcs.log.impl.VcsLogIcons f:com.intellij.vcs.log.impl.VcsLogIcons
- sf:IntelliSort:javax.swing.Icon - sf:IntelliSort:javax.swing.Icon
- <init>():V - <init>():V
f:com.intellij.vcs.log.impl.VcsLogIcons$New
- sf:IntelliSort:javax.swing.Icon
- <init>():V
f:com.intellij.vcs.log.impl.VcsLogIcons$Process f:com.intellij.vcs.log.impl.VcsLogIcons$Process
- sf:Dots_1:javax.swing.Icon - sf:Dots_1:javax.swing.Icon
- sf:Dots_2:javax.swing.Icon - sf:Dots_2:javax.swing.Icon

View File

@@ -14,11 +14,10 @@ public final class VcsLogIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, VcsLogIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, VcsLogIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon IntelliSort = load("icons/IntelliSort.svg", -1276475056, 2); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, VcsLogIcons.class.getClassLoader(), cacheKey, flags);
public static final class New {
/** 16x16 */ public static final @NotNull Icon IntelliSort = load("icons/new/intelliSort.svg", -392506529, 2);
} }
/** 16x16 */ public static final @NotNull Icon IntelliSort = load("icons/IntelliSort.svg", "icons/new/intelliSort.svg", -1276475056, 2);
public static final class Process { public static final class Process {
/** 16x16 */ public static final @NotNull Icon Dots_1 = load("icons/process/dots_1.svg", -2127224195, 0); /** 16x16 */ public static final @NotNull Icon Dots_1 = load("icons/process/dots_1.svg", -2127224195, 0);

View File

@@ -0,0 +1 @@
merge

View File

@@ -24,8 +24,6 @@
</extensionPoints> </extensionPoints>
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<iconMapper mappingFile="VcsLogIconMappings.json"/>
<changesViewContent tabName="Log" <changesViewContent tabName="Log"
className="com.intellij.vcs.log.impl.VcsLogContentProvider" className="com.intellij.vcs.log.impl.VcsLogContentProvider"
predicateClassName="com.intellij.vcs.log.impl.VcsLogContentProvider$VcsLogVisibilityPredicate" predicateClassName="com.intellij.vcs.log.impl.VcsLogContentProvider$VcsLogVisibilityPredicate"

View File

@@ -89,7 +89,6 @@ To use the <b>Ant</b> tool window, select <b>View > Tool Windows > Ant</b>.
<externalSystemUnlinkedProjectAware implementation="com.intellij.lang.ant.config.impl.AntUnlinkedProjectAware"/> <externalSystemUnlinkedProjectAware implementation="com.intellij.lang.ant.config.impl.AntUnlinkedProjectAware"/>
<externalTextProvider implementation="com.intellij.lang.ant.config.impl.AntTextProvider"/> <externalTextProvider implementation="com.intellij.lang.ant.config.impl.AntTextProvider"/>
<iconMapper mappingFile="antIconMappings.json"/>
<buildProcess.parametersProvider implementation="com.intellij.lang.ant.AntBuildParametersProvider"/> <buildProcess.parametersProvider implementation="com.intellij.lang.ant.AntBuildParametersProvider"/>
</extensions> </extensions>

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -14,8 +14,11 @@ public final class AntIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, AntIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, AntIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon AntBuildXml = load("icons/AntBuildXml.svg", 1994930586, 2); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
/** 16x16 */ public static final @NotNull Icon Build = load("icons/build.svg", 2113580401, 0); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, AntIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon AntBuildXml = load("icons/AntBuildXml.svg", "icons/expui/ant.svg", 1994930586, 2);
/** 16x16 */ public static final @NotNull Icon Build = load("icons/build.svg", "icons/expui/ant.svg", 2113580401, 0);
/** 16x16 */ public static final @NotNull Icon LogDebug = load("icons/logDebug.svg", 1226967148, 0); /** 16x16 */ public static final @NotNull Icon LogDebug = load("icons/logDebug.svg", 1226967148, 0);
/** 16x16 */ public static final @NotNull Icon LogVerbose = load("icons/logVerbose.svg", -1085984365, 0); /** 16x16 */ public static final @NotNull Icon LogVerbose = load("icons/logVerbose.svg", -1085984365, 0);
/** 16x16 */ public static final @NotNull Icon MetaTarget = load("icons/metaTarget.svg", 1565197878, 0); /** 16x16 */ public static final @NotNull Icon MetaTarget = load("icons/metaTarget.svg", 1565197878, 0);

View File

@@ -16,6 +16,7 @@
<depends>com.intellij.modules.lang</depends> <depends>com.intellij.modules.lang</depends>
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<iconMapperReverse mappingFile="IconMappings.txt"/> <!--suppress PluginXmlDynamicPlugin -->
<iconMapperSuppressor/>
</extensions> </extensions>
</idea-plugin> </idea-plugin>

View File

@@ -11,18 +11,18 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class DevKitIcons { public final class DevKitIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, DevKitIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, DevKitIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Add_sdk = load("icons/add_sdk.svg", 641117830, 2); /** 16x16 */ public static final @NotNull Icon Add_sdk = load("icons/add_sdk.svg", "icons/expui/addSDK.svg", 641117830, 2);
public static final class Gutter { public static final class Gutter {
/** 12x12 */ public static final @NotNull Icon DescriptionFile = load("icons/gutter/descriptionFile.svg", 1318760137, 2); /** 12x12 */ public static final @NotNull Icon DescriptionFile = load("icons/gutter/descriptionFile.svg", "icons/expui/gutter/descriptionFile@14x14.svg", 1318760137, 2);
/** 12x12 */ public static final @NotNull Icon Diff = load("icons/gutter/diff.svg", 124039984, 2); /** 12x12 */ public static final @NotNull Icon Diff = load("icons/gutter/diff.svg", "icons/expui/gutter/diff@14x14.svg", 124039984, 2);
/** 12x12 */ public static final @NotNull Icon Plugin = load("icons/gutter/plugin.svg", 1850322899, 2); /** 12x12 */ public static final @NotNull Icon Plugin = load("icons/gutter/plugin.svg", "icons/expui/gutter/plugin@14x14.svg", 1850322899, 2);
/** 12x12 */ public static final @NotNull Icon Properties = load("icons/gutter/properties.svg", -818710709, 2); /** 12x12 */ public static final @NotNull Icon Properties = load("icons/gutter/properties.svg", "icons/expui/gutter/properties@14x14.svg", -818710709, 2);
} }
/** 16x16 */ public static final @NotNull Icon RemoteMapping = load("icons/remoteMapping.svg", 1371307852, 2); /** 16x16 */ public static final @NotNull Icon RemoteMapping = load("icons/remoteMapping.svg", "icons/expui/remoteMapping.svg", 1371307852, 2);
/** 16x16 */ public static final @NotNull Icon Sdk_closed = load("icons/sdk_closed.svg", -1355048140, 2); /** 16x16 */ public static final @NotNull Icon Sdk_closed = load("icons/sdk_closed.svg", "icons/expui/sdkClosed.svg", -1355048140, 2);
} }

View File

@@ -597,8 +597,6 @@
<registryKey key="intellij.commit.message.validation.enabled" defaultValue="false" <registryKey key="intellij.commit.message.validation.enabled" defaultValue="false"
description="Enables commit messages validation for intellij project"/> description="Enables commit messages validation for intellij project"/>
<iconMapper mappingFile="DevkitIconMappings.json"/>
<!-- INTERNAL --> <!-- INTERNAL -->
<consoleFilterProvider implementation="org.jetbrains.idea.devkit.run.ModulePathFilterProvider"/> <consoleFilterProvider implementation="org.jetbrains.idea.devkit.run.ModulePathFilterProvider"/>
</extensions> </extensions>

View File

@@ -20,7 +20,7 @@ final class GitRebaseContinue extends GitAbstractRebaseAction {
@Override @Override
public @NotNull Icon getMainToolbarIcon() { public @NotNull Icon getMainToolbarIcon() {
return DvcsImplIcons.New.ResolveContinue; return DvcsImplIcons.ResolveContinue;
} }
@Override @Override

View File

@@ -20,7 +20,7 @@ final class GitRebaseSkip extends GitAbstractRebaseAction {
@Override @Override
public @NotNull Icon getMainToolbarIcon() { public @NotNull Icon getMainToolbarIcon() {
return DvcsImplIcons.New.SkipCommit; return DvcsImplIcons.SkipCommit;
} }
@Override @Override

View File

@@ -74,7 +74,7 @@ public class GitResolveConflictsAction extends DumbAwareAction {
presentation.setEnabledAndVisible(isEnabled(project)); presentation.setEnabledAndVisible(isEnabled(project));
if (presentation.isVisible() && e.getPlace().equals(GitMergeRebaseWidgetKt.GIT_MERGE_REBASE_WIDGET_PLACE)) { if (presentation.isVisible() && e.getPlace().equals(GitMergeRebaseWidgetKt.GIT_MERGE_REBASE_WIDGET_PLACE)) {
presentation.setIcon(DvcsImplIcons.New.ResolveContinue); presentation.setIcon(DvcsImplIcons.ResolveContinue);
// Hide "Resolve Conflicts" action in case when "Continue Rebase" is available // Hide "Resolve Conflicts" action in case when "Continue Rebase" is available
Collection<GitRepository> rebasingRepositories = GitUtil.getRepositoriesInStates(project, Repository.State.REBASING); Collection<GitRepository> rebasingRepositories = GitUtil.getRepositoriesInStates(project, Repository.State.REBASING);

View File

@@ -14,13 +14,16 @@ public final class GithubIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, GithubIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, GithubIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, GithubIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon GithubWarning = load("org/jetbrains/plugins/github/githubWarning.svg", -1077307434, 2); /** 16x16 */ public static final @NotNull Icon GithubWarning = load("org/jetbrains/plugins/github/githubWarning.svg", -1077307434, 2);
/** 16x16 */ public static final @NotNull Icon IssueClosed = load("org/jetbrains/plugins/github/issueClosed.svg", 1521176788, 0); /** 16x16 */ public static final @NotNull Icon IssueClosed = load("org/jetbrains/plugins/github/issueClosed.svg", 1521176788, 0);
/** 16x16 */ public static final @NotNull Icon IssueOpened = load("org/jetbrains/plugins/github/issueOpened.svg", 873410228, 0); /** 16x16 */ public static final @NotNull Icon IssueOpened = load("org/jetbrains/plugins/github/issueOpened.svg", 873410228, 0);
/** 16x16 */ public static final @NotNull Icon LocalBranch = load("org/jetbrains/plugins/github/localBranch.svg", 1596019706, 2); /** 16x16 */ public static final @NotNull Icon LocalBranch = load("org/jetbrains/plugins/github/localBranch.svg", 1596019706, 2);
/** 16x16 */ public static final @NotNull Icon PullRequestDraft = load("org/jetbrains/plugins/github/pullRequestDraft.svg", 1604718817, 0); /** 16x16 */ public static final @NotNull Icon PullRequestDraft = load("org/jetbrains/plugins/github/pullRequestDraft.svg", 1604718817, 0);
/** 16x16 */ public static final @NotNull Icon PullRequestMerged = load("org/jetbrains/plugins/github/pullRequestMerged.svg", 240330859, 0); /** 16x16 */ public static final @NotNull Icon PullRequestMerged = load("org/jetbrains/plugins/github/pullRequestMerged.svg", 240330859, 0);
/** 13x13 */ public static final @NotNull Icon PullRequestsToolWindow = load("org/jetbrains/plugins/github/pullRequestsToolWindow.svg", -198411003, 2); /** 13x13 */ public static final @NotNull Icon PullRequestsToolWindow = load("org/jetbrains/plugins/github/pullRequestsToolWindow.svg", "org/jetbrains/plugins/github/expui/pullRequests.svg", -198411003, 2);
/** 16x16 */ public static final @NotNull Icon Review = load("org/jetbrains/plugins/github/review.svg", -352327129, 0); /** 16x16 */ public static final @NotNull Icon Review = load("org/jetbrains/plugins/github/review.svg", -352327129, 0);
/** 16x16 */ public static final @NotNull Icon ReviewAccepted = load("org/jetbrains/plugins/github/reviewAccepted.svg", 1063742228, 0); /** 16x16 */ public static final @NotNull Icon ReviewAccepted = load("org/jetbrains/plugins/github/reviewAccepted.svg", 1063742228, 0);
/** 16x16 */ public static final @NotNull Icon ReviewRejected = load("org/jetbrains/plugins/github/reviewRejected.svg", -1652779952, 0); /** 16x16 */ public static final @NotNull Icon ReviewRejected = load("org/jetbrains/plugins/github/reviewRejected.svg", -1652779952, 0);

View File

@@ -56,8 +56,6 @@
<registryKey defaultValue="5000" <registryKey defaultValue="5000"
description="Milliseconds margin used when comparing known last seen date with last updated at date for PRs" description="Milliseconds margin used when comparing known last seen date with last updated at date for PRs"
key="github.last.seen.state.margin.millis"/> key="github.last.seen.state.margin.millis"/>
<iconMapper mappingFile="GithubIconMappings.json"/>
</extensions> </extensions>
<extensions defaultExtensionNs="Git4Idea"> <extensions defaultExtensionNs="Git4Idea">

View File

@@ -14,7 +14,10 @@ public final class GitlabIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, GitlabIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, GitlabIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, GitlabIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon GitLabLogo = load("org/jetbrains/plugins/gitlab/gitLabLogo.svg", -65367349, 0); /** 16x16 */ public static final @NotNull Icon GitLabLogo = load("org/jetbrains/plugins/gitlab/gitLabLogo.svg", -65367349, 0);
/** 13x13 */ public static final @NotNull Icon GitLabToolWindow = load("org/jetbrains/plugins/gitlab/gitLabToolWindow.svg", 858067490, 2); /** 13x13 */ public static final @NotNull Icon GitLabToolWindow = load("org/jetbrains/plugins/gitlab/gitLabToolWindow.svg", "org/jetbrains/plugins/gitlab/expui/gitLabToolWindow.svg", 858067490, 2);
/** 16x16 */ public static final @NotNull Icon GitLabWarning = load("org/jetbrains/plugins/gitlab/gitLabWarning.svg", -1126375822, 2); /** 16x16 */ public static final @NotNull Icon GitLabWarning = load("org/jetbrains/plugins/gitlab/gitLabWarning.svg", -1126375822, 2);
} }

View File

@@ -69,7 +69,6 @@
<diff.DiffExtension implementation="org.jetbrains.plugins.gitlab.mergerequest.diff.GitLabMergeRequestDiffExtension"/> <diff.DiffExtension implementation="org.jetbrains.plugins.gitlab.mergerequest.diff.GitLabMergeRequestDiffExtension"/>
<fileIconProvider implementation="org.jetbrains.plugins.gitlab.ui.GitlabCiIconProvider"/> <fileIconProvider implementation="org.jetbrains.plugins.gitlab.ui.GitlabCiIconProvider"/>
<fileTypeUsageSchemaDescriptor schema="gitlab" implementationClass="org.jetbrains.plugins.gitlab.ui.GitlabFileTypeSchemaProvider"/> <fileTypeUsageSchemaDescriptor schema="gitlab" implementationClass="org.jetbrains.plugins.gitlab.ui.GitlabFileTypeSchemaProvider"/>
<iconMapper mappingFile="GitlabIconMappings.json"/>
<vcsAnnotationGutterActionProvider implementation="org.jetbrains.plugins.gitlab.ui.action.GitLabAnnotationGutterActionProvider"/> <vcsAnnotationGutterActionProvider implementation="org.jetbrains.plugins.gitlab.ui.action.GitLabAnnotationGutterActionProvider"/>

View File

@@ -1 +1,2 @@
skip: * merge
skip: *20x20.svg

View File

@@ -14,10 +14,13 @@ public final class GradleIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, GradleIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, GradleIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Gradle = load("icons/gradle.svg", 1785193254, 2); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
/** 16x16 */ public static final @NotNull Icon GradleFile = load("icons/gradleFile.svg", -392919783, 0); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, GradleIcons.class.getClassLoader(), cacheKey, flags);
/** 16x16 */ public static final @NotNull Icon GradleLoadChanges = load("icons/gradleLoadChanges.svg", -927115520, 2); }
/** 16x16 */ public static final @NotNull Icon GradleNavigate = load("icons/gradleNavigate.svg", 2045411481, 2); /** 16x16 */ public static final @NotNull Icon Gradle = load("icons/gradle.svg", "icons/expui/gradle.svg", 1785193254, 2);
/** 16x16 */ public static final @NotNull Icon GradleFile = load("icons/gradleFile.svg", "icons/expui/gradle.svg", -392919783, 0);
/** 16x16 */ public static final @NotNull Icon GradleLoadChanges = load("icons/gradleLoadChanges.svg", "icons/expui/gradleLoadChanges.svg", -927115520, 2);
/** 16x16 */ public static final @NotNull Icon GradleNavigate = load("icons/gradleNavigate.svg", "icons/expui/gradleNavigate.svg", 2045411481, 2);
/** 16x16 */ public static final @NotNull Icon GradleSubproject = load("icons/gradleSubproject.svg", -908281194, 2); /** 16x16 */ public static final @NotNull Icon GradleSubproject = load("icons/gradleSubproject.svg", -908281194, 2);
/** 13x13 */ public static final @NotNull Icon ToolWindowGradle = load("icons/toolWindowGradle.svg", 661706798, 2); /** 13x13 */ public static final @NotNull Icon ToolWindowGradle = load("icons/toolWindowGradle.svg", "icons/expui/gradle.svg", 661706798, 2);
} }

View File

@@ -220,7 +220,6 @@
<warmupConfigurator implementation="org.jetbrains.plugins.gradle.GradleWarmupConfigurator"/> <warmupConfigurator implementation="org.jetbrains.plugins.gradle.GradleWarmupConfigurator"/>
<notificationGroup id="Gradle Notification Group" displayType="STICKY_BALLOON" bundle="messages.GradleBundle" key="notification.group.gradle"/> <notificationGroup id="Gradle Notification Group" displayType="STICKY_BALLOON" bundle="messages.GradleBundle" key="notification.group.gradle"/>
<statistics.notificationIdsHolder implementation="org.jetbrains.plugins.gradle.service.project.GradleNotificationIdsHolder"/> <statistics.notificationIdsHolder implementation="org.jetbrains.plugins.gradle.service.project.GradleNotificationIdsHolder"/>
<iconMapper mappingFile="GradleIconMappings.json"/>
<!--advanced settings--> <!--advanced settings-->
<advancedSetting id="gradle.download.sources" default="false" bundle="messages.GradleBundle" groupKey="advanced.settings.gradle"/> <advancedSetting id="gradle.download.sources" default="false" bundle="messages.GradleBundle" groupKey="advanced.settings.gradle"/>

View File

@@ -1 +1,2 @@
skip: * merge
skip: *20x20.svg

View File

@@ -14,29 +14,32 @@ public final class JetgroovyIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, JetgroovyIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, JetgroovyIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JetgroovyIcons.class.getClassLoader(), cacheKey, flags);
}
public static final class Groovy { public static final class Groovy {
/** 16x16 */ public static final @NotNull Icon AbstractClass = load("icons/groovy/abstractClass.svg", -301657417, 0); /** 16x16 */ public static final @NotNull Icon AbstractClass = load("icons/groovy/abstractClass.svg", "icons/groovy/newui/abstractClass.svg", -301657417, 0);
/** 16x16 */ public static final @NotNull Icon AbstractField = load("icons/groovy/abstractField.svg", -1200808497, 0); /** 16x16 */ public static final @NotNull Icon AbstractField = load("icons/groovy/abstractField.svg", "icons/groovy/newui/abstractField.svg", -1200808497, 0);
/** 16x16 */ public static final @NotNull Icon AbstractMethod = load("icons/groovy/abstractMethod.svg", -260045576, 1); /** 16x16 */ public static final @NotNull Icon AbstractMethod = load("icons/groovy/abstractMethod.svg", "icons/groovy/newui/abstractMethod.svg", -260045576, 1);
/** 16x16 */ public static final @NotNull Icon AbstractProperty = load("icons/groovy/abstractProperty.svg", -1328690153, 0); /** 16x16 */ public static final @NotNull Icon AbstractProperty = load("icons/groovy/abstractProperty.svg", "icons/groovy/newui/abstractProperty.svg", -1328690153, 0);
/** 16x16 */ public static final @NotNull Icon AnnotationType = load("icons/groovy/annotationType.svg", -1226391325, 0); /** 16x16 */ public static final @NotNull Icon AnnotationType = load("icons/groovy/annotationType.svg", "icons/groovy/newui/annotationType.svg", -1226391325, 0);
/** 16x16 */ public static final @NotNull Icon Class = load("icons/groovy/class.svg", -800643239, 0); /** 16x16 */ public static final @NotNull Icon Class = load("icons/groovy/class.svg", "icons/groovy/newui/class.svg", -800643239, 0);
/** 16x16 */ public static final @NotNull Icon ClassInitializer = load("icons/groovy/classInitializer.svg", 2127832236, 0); /** 16x16 */ public static final @NotNull Icon ClassInitializer = load("icons/groovy/classInitializer.svg", "icons/groovy/newui/classInitializer.svg", 2127832236, 0);
/** 16x16 */ public static final @NotNull Icon Enum = load("icons/groovy/enum.svg", 1141726372, 1); /** 16x16 */ public static final @NotNull Icon Enum = load("icons/groovy/enum.svg", "icons/groovy/newui/enum.svg", 1141726372, 1);
/** 16x16 */ public static final @NotNull Icon Field = load("icons/groovy/field.svg", 1116773381, 0); /** 16x16 */ public static final @NotNull Icon Field = load("icons/groovy/field.svg", "icons/groovy/newui/field.svg", 1116773381, 0);
/** 16x16 */ public static final @NotNull Icon Gant_16x16 = load("icons/groovy/gant_16x16.svg", 1111404670, 2); /** 16x16 */ public static final @NotNull Icon Gant_16x16 = load("icons/groovy/gant_16x16.svg", 1111404670, 2);
/** 16x16 */ public static final @NotNull Icon Gant_sdk = load("icons/groovy/gant_sdk.svg", 235320671, 0); /** 16x16 */ public static final @NotNull Icon Gant_sdk = load("icons/groovy/gant_sdk.svg", 235320671, 0);
/** 16x16 */ public static final @NotNull Icon Gant_target = load("icons/groovy/gant_target.svg", -1323048368, 0); /** 16x16 */ public static final @NotNull Icon Gant_target = load("icons/groovy/gant_target.svg", -1323048368, 0);
/** 13x13 */ public static final @NotNull Icon Groovy_13x13 = load("icons/groovy/groovy_13x13.svg", -17816213, 0); /** 13x13 */ public static final @NotNull Icon Groovy_13x13 = load("icons/groovy/groovy_13x13.svg", -17816213, 0);
/** 16x16 */ public static final @NotNull Icon Groovy_16x16 = load("icons/groovy/groovy_16x16.svg", 1379649070, 0); /** 16x16 */ public static final @NotNull Icon Groovy_16x16 = load("icons/groovy/groovy_16x16.svg", "icons/groovy/newui/groovy.svg", 1379649070, 0);
/** 16x16 */ public static final @NotNull Icon Groovy_outsideSources = load("icons/groovy/groovy_outsideSources.svg", 156285681, 0); /** 16x16 */ public static final @NotNull Icon Groovy_outsideSources = load("icons/groovy/groovy_outsideSources.svg", "icons/groovy/newui/groovy.svg", 156285681, 0);
/** 16x16 */ public static final @NotNull Icon GroovyFile = load("icons/groovy/groovyFile.svg", -1207609712, 0); /** 16x16 */ public static final @NotNull Icon GroovyFile = load("icons/groovy/groovyFile.svg", "icons/groovy/newui/groovy.svg", -1207609712, 0);
/** 16x16 */ public static final @NotNull Icon Interface = load("icons/groovy/interface.svg", 1051857627, 1); /** 16x16 */ public static final @NotNull Icon Interface = load("icons/groovy/interface.svg", "icons/groovy/newui/interface.svg", 1051857627, 1);
/** 16x16 */ public static final @NotNull Icon Method = load("icons/groovy/method.svg", -1356927261, 1); /** 16x16 */ public static final @NotNull Icon Method = load("icons/groovy/method.svg", "icons/groovy/newui/method.svg", -1356927261, 1);
/** 16x16 */ public static final @NotNull Icon Property = load("icons/groovy/property.svg", -943164105, 0); /** 16x16 */ public static final @NotNull Icon Property = load("icons/groovy/property.svg", "icons/groovy/newui/property.svg", -943164105, 0);
/** 16x16 */ public static final @NotNull Icon Record = load("icons/groovy/record.svg", 670467351, 0); /** 16x16 */ public static final @NotNull Icon Record = load("icons/groovy/record.svg", "icons/groovy/newui/record.svg", 670467351, 0);
/** 16x16 */ public static final @NotNull Icon Trait = load("icons/groovy/trait.svg", -1834103852, 0); /** 16x16 */ public static final @NotNull Icon Trait = load("icons/groovy/trait.svg", "icons/groovy/newui/trait.svg", -1834103852, 0);
/** 16x16 */ public static final @NotNull Icon Variable = load("icons/groovy/variable.svg", -1232158411, 0); /** 16x16 */ public static final @NotNull Icon Variable = load("icons/groovy/variable.svg", "icons/groovy/newui/variable.svg", -1232158411, 0);
} }
} }

View File

@@ -1355,7 +1355,6 @@
<internal.statistic.libraryUsageImportProcessor language="Groovy" <internal.statistic.libraryUsageImportProcessor language="Groovy"
implementationClass="org.jetbrains.plugins.groovy.stats.GroovyLibraryUsageImportProcessor"/> implementationClass="org.jetbrains.plugins.groovy.stats.GroovyLibraryUsageImportProcessor"/>
<iconMapper mappingFile="GroovyIconMappings.json"/>
<lang.dumb.mode.supported language="Groovy" implementationClass="org.jetbrains.plugins.groovy.GroovyLanguageDumbAware"/> <lang.dumb.mode.supported language="Groovy" implementationClass="org.jetbrains.plugins.groovy.GroovyLanguageDumbAware"/>
</extensions> </extensions>

View File

@@ -209,7 +209,6 @@
key="feature.suggester.enable.suggesters" restartRequired="true"/> key="feature.suggester.enable.suggesters" restartRequired="true"/>
<notificationGroup id="IDE Feature Suggester" displayType="STICKY_BALLOON" isLogByDefault="false" <notificationGroup id="IDE Feature Suggester" displayType="STICKY_BALLOON" isLogByDefault="false"
bundle="messages.FeatureSuggesterBundle" key="notification.group.feature.suggester"/> bundle="messages.FeatureSuggesterBundle" key="notification.group.feature.suggester"/>
<iconMapper mappingFile="FeaturesTrainerIconMappings.json"/>
<newProject.onboarding.tips implementation="training.onboarding.NewProjectOnboardingTipsImpl"/> <newProject.onboarding.tips implementation="training.onboarding.NewProjectOnboardingTipsImpl"/>
<postStartupActivity implementation="training.onboarding.InstallOnboardingTooltip"/> <postStartupActivity implementation="training.onboarding.InstallOnboardingTooltip"/>

View File

@@ -1 +1,2 @@
skip: * merge
skip: /**/*20x20.svg

View File

@@ -14,9 +14,12 @@ public final class FeaturesTrainerIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, FeaturesTrainerIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, FeaturesTrainerIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Checkmark = load("img/checkmark.svg", 1210931315, 2); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
/** 16x16 */ public static final @NotNull Icon FeatureTrainer = load("img/featureTrainer.svg", 1806467053, 2); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, FeaturesTrainerIcons.class.getClassLoader(), cacheKey, flags);
/** 13x13 */ public static final @NotNull Icon FeatureTrainerToolWindow = load("img/featureTrainerToolWindow.svg", -68627899, 2); }
/** 16x16 */ public static final @NotNull Icon Checkmark = load("img/checkmark.svg", "img/expui/checkmark.svg", 1210931315, 2);
/** 16x16 */ public static final @NotNull Icon FeatureTrainer = load("img/featureTrainer.svg", "img/expui/toolwindow/learn.svg", 1806467053, 2);
/** 13x13 */ public static final @NotNull Icon FeatureTrainerToolWindow = load("img/featureTrainerToolWindow.svg", "img/expui/toolwindow/learn.svg", -68627899, 2);
/** 16x16 */ public static final @NotNull Icon PluginIcon = load("img/pluginIcon.svg", -1574300806, 0); /** 16x16 */ public static final @NotNull Icon PluginIcon = load("img/pluginIcon.svg", -1574300806, 0);
/** 16x16 */ public static final @NotNull Icon ResetLesson = load("img/resetLesson.svg", 1838614018, 2); /** 16x16 */ public static final @NotNull Icon ResetLesson = load("img/resetLesson.svg", "img/expui/resetLesson.svg", 1838614018, 2);
} }

View File

@@ -1 +1,2 @@
skip: * merge
skip: /**/*20x20.svg

View File

@@ -14,52 +14,55 @@ public final class KotlinBaseResourcesIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, KotlinBaseResourcesIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, KotlinBaseResourcesIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Abstract_extension_function = load("org/jetbrains/kotlin/idea/icons/abstract_extension_function.svg", -1910530652, 0); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
/** 16x16 */ public static final @NotNull Icon AbstractClassKotlin = load("org/jetbrains/kotlin/idea/icons/abstractClassKotlin.svg", 1508251405, 0); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, KotlinBaseResourcesIcons.class.getClassLoader(), cacheKey, flags);
/** 16x16 */ public static final @NotNull Icon Actual = load("org/jetbrains/kotlin/idea/icons/actual.svg", 1960841178, 0); }
/** 16x16 */ public static final @NotNull Icon AnnotationKotlin = load("org/jetbrains/kotlin/idea/icons/annotationKotlin.svg", 489633918, 0); /** 16x16 */ public static final @NotNull Icon Abstract_extension_function = load("org/jetbrains/kotlin/idea/icons/abstract_extension_function.svg", "org/jetbrains/kotlin/idea/icons/expui/abstractExtensionFunction.svg", -1910530652, 0);
/** 16x16 */ public static final @NotNull Icon ClassInitializerKotlin = load("org/jetbrains/kotlin/idea/icons/classInitializerKotlin.svg", -1725872107, 0); /** 16x16 */ public static final @NotNull Icon AbstractClassKotlin = load("org/jetbrains/kotlin/idea/icons/abstractClassKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/abstractClassKotlin.svg", 1508251405, 0);
/** 16x16 */ public static final @NotNull Icon ClassKotlin = load("org/jetbrains/kotlin/idea/icons/classKotlin.svg", 1177556502, 0); /** 16x16 */ public static final @NotNull Icon Actual = load("org/jetbrains/kotlin/idea/icons/actual.svg", "org/jetbrains/kotlin/idea/icons/expui/actual.svg", 1960841178, 0);
/** 16x16 */ public static final @NotNull Icon AnnotationKotlin = load("org/jetbrains/kotlin/idea/icons/annotationKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/annotationKotlin.svg", 489633918, 0);
/** 16x16 */ public static final @NotNull Icon ClassInitializerKotlin = load("org/jetbrains/kotlin/idea/icons/classInitializerKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/classInitializerKotlin.svg", -1725872107, 0);
/** 16x16 */ public static final @NotNull Icon ClassKotlin = load("org/jetbrains/kotlin/idea/icons/classKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/classKotlin.svg", 1177556502, 0);
/** 12x12 */ public static final @NotNull Icon DslMarkerAnnotation = load("org/jetbrains/kotlin/idea/icons/dslMarkerAnnotation.svg", 1428361791, 2); /** 12x12 */ public static final @NotNull Icon DslMarkerAnnotation = load("org/jetbrains/kotlin/idea/icons/dslMarkerAnnotation.svg", 1428361791, 2);
/** 16x16 */ public static final @NotNull Icon EnumKotlin = load("org/jetbrains/kotlin/idea/icons/enumKotlin.svg", -520927741, 0); /** 16x16 */ public static final @NotNull Icon EnumKotlin = load("org/jetbrains/kotlin/idea/icons/enumKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/enumKotlin.svg", -520927741, 0);
/** 16x16 */ public static final @NotNull Icon Expect = load("org/jetbrains/kotlin/idea/icons/expect.svg", 1991409675, 1); /** 16x16 */ public static final @NotNull Icon Expect = load("org/jetbrains/kotlin/idea/icons/expect.svg", "org/jetbrains/kotlin/idea/icons/expui/expect.svg", 1991409675, 1);
/** 16x16 */ public static final @NotNull Icon Field_value = load("org/jetbrains/kotlin/idea/icons/field_value.svg", 2009637888, 0); /** 16x16 */ public static final @NotNull Icon Field_value = load("org/jetbrains/kotlin/idea/icons/field_value.svg", "org/jetbrains/kotlin/idea/icons/expui/fieldValue.svg", 2009637888, 0);
/** 16x16 */ public static final @NotNull Icon Field_variable = load("org/jetbrains/kotlin/idea/icons/field_variable.svg", 2129703570, 0); /** 16x16 */ public static final @NotNull Icon Field_variable = load("org/jetbrains/kotlin/idea/icons/field_variable.svg", "org/jetbrains/kotlin/idea/icons/expui/fieldVariable.svg", 2129703570, 0);
/** 16x16 */ public static final @NotNull Icon Fir = load("org/jetbrains/kotlin/idea/icons/fir.svg", 352888378, 0); /** 16x16 */ public static final @NotNull Icon Fir = load("org/jetbrains/kotlin/idea/icons/fir.svg", 352888378, 0);
/** 16x16 */ public static final @NotNull Icon Fir_xmas = load("org/jetbrains/kotlin/idea/icons/fir_xmas.svg", 833016773, 0); /** 16x16 */ public static final @NotNull Icon Fir_xmas = load("org/jetbrains/kotlin/idea/icons/fir_xmas.svg", 833016773, 0);
/** 16x16 */ public static final @NotNull Icon InterfaceKotlin = load("org/jetbrains/kotlin/idea/icons/interfaceKotlin.svg", -1253463148, 1); /** 16x16 */ public static final @NotNull Icon InterfaceKotlin = load("org/jetbrains/kotlin/idea/icons/interfaceKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/interfaceKotlin.svg", -1253463148, 1);
/** 16x16 */ public static final @NotNull Icon Kotlin = load("org/jetbrains/kotlin/idea/icons/kotlin.svg", 684582806, 0); /** 16x16 */ public static final @NotNull Icon Kotlin = load("org/jetbrains/kotlin/idea/icons/kotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlin.svg", 684582806, 0);
/** 13x13 */ public static final @NotNull Icon Kotlin13 = load("org/jetbrains/kotlin/idea/icons/kotlin13.svg", -767022652, 0); /** 13x13 */ public static final @NotNull Icon Kotlin13 = load("org/jetbrains/kotlin/idea/icons/kotlin13.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinToolWindow.svg", -767022652, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_file = load("org/jetbrains/kotlin/idea/icons/kotlin_file.svg", -235839515, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_file = load("org/jetbrains/kotlin/idea/icons/kotlin_file.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlin.svg", -235839515, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_gradle_script = load("org/jetbrains/kotlin/idea/icons/kotlin_gradle_script.svg", 1067630729, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_gradle_script = load("org/jetbrains/kotlin/idea/icons/kotlin_gradle_script.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinGradleScript.svg", 1067630729, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_js = load("org/jetbrains/kotlin/idea/icons/kotlin_js.svg", -1870737901, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_js = load("org/jetbrains/kotlin/idea/icons/kotlin_js.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinJs.svg", -1870737901, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_launch_configuration = load("org/jetbrains/kotlin/idea/icons/kotlin_launch_configuration.svg", -2053924550, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_launch_configuration = load("org/jetbrains/kotlin/idea/icons/kotlin_launch_configuration.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlin.svg", -2053924550, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_multiplatform_project = load("org/jetbrains/kotlin/idea/icons/kotlin_multiplatform_project.svg", 559610482, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_multiplatform_project = load("org/jetbrains/kotlin/idea/icons/kotlin_multiplatform_project.svg", 559610482, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_native = load("org/jetbrains/kotlin/idea/icons/kotlin_native.svg", 1061636937, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_native = load("org/jetbrains/kotlin/idea/icons/kotlin_native.svg", 1061636937, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_script = load("org/jetbrains/kotlin/idea/icons/kotlin_script.svg", -562591727, 0); /** 16x16 */ public static final @NotNull Icon Kotlin_script = load("org/jetbrains/kotlin/idea/icons/kotlin_script.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinScript.svg", -562591727, 0);
/** 16x16 */ public static final @NotNull Icon Lambda = load("org/jetbrains/kotlin/idea/icons/lambda.svg", 831186306, 0); /** 16x16 */ public static final @NotNull Icon Lambda = load("org/jetbrains/kotlin/idea/icons/lambda.svg", "org/jetbrains/kotlin/idea/icons/expui/lambda.svg", 831186306, 0);
/** 16x16 */ public static final @NotNull Icon LoadScriptConfiguration = load("org/jetbrains/kotlin/idea/icons/loadScriptConfiguration.svg", 1127384104, 2); /** 16x16 */ public static final @NotNull Icon LoadScriptConfiguration = load("org/jetbrains/kotlin/idea/icons/loadScriptConfiguration.svg", 1127384104, 2);
/** 16x16 */ public static final @NotNull Icon ObjectKotlin = load("org/jetbrains/kotlin/idea/icons/objectKotlin.svg", -379018474, 0); /** 16x16 */ public static final @NotNull Icon ObjectKotlin = load("org/jetbrains/kotlin/idea/icons/objectKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/objectKotlin.svg", -379018474, 0);
/** 12x12 */ public static final @NotNull Icon SuspendCall = load("org/jetbrains/kotlin/idea/icons/suspendCall.svg", -306297354, 2); /** 12x12 */ public static final @NotNull Icon SuspendCall = load("org/jetbrains/kotlin/idea/icons/suspendCall.svg", "org/jetbrains/kotlin/idea/icons/expui/suspendCall@14x14.svg", -306297354, 2);
/** 16x16 */ public static final @NotNull Icon TypeAlias = load("org/jetbrains/kotlin/idea/icons/typeAlias.svg", 755828205, 0); /** 16x16 */ public static final @NotNull Icon TypeAlias = load("org/jetbrains/kotlin/idea/icons/typeAlias.svg", "org/jetbrains/kotlin/idea/icons/expui/typeAlias.svg", 755828205, 0);
/** 16x16 */ public static final @NotNull Icon Value = load("org/jetbrains/kotlin/idea/icons/value.svg", -1592522359, 0); /** 16x16 */ public static final @NotNull Icon Value = load("org/jetbrains/kotlin/idea/icons/value.svg", "org/jetbrains/kotlin/idea/icons/expui/value.svg", -1592522359, 0);
public static final class Wizard { public static final class Wizard {
/** 16x16 */ public static final @NotNull Icon Android = load("org/jetbrains/kotlin/idea/icons/wizard/android.svg", -874848589, 0); /** 16x16 */ public static final @NotNull Icon Android = load("org/jetbrains/kotlin/idea/icons/wizard/android.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/android.svg", -874848589, 0);
/** 16x16 */ public static final @NotNull Icon Compose = load("org/jetbrains/kotlin/idea/icons/wizard/compose.svg", 1503909269, 0); /** 16x16 */ public static final @NotNull Icon Compose = load("org/jetbrains/kotlin/idea/icons/wizard/compose.svg", 1503909269, 0);
/** 16x16 */ public static final @NotNull Icon Console = load("org/jetbrains/kotlin/idea/icons/wizard/console.svg", -1956068639, 0); /** 16x16 */ public static final @NotNull Icon Console = load("org/jetbrains/kotlin/idea/icons/wizard/console.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/console.svg", -1956068639, 0);
/** 16x16 */ public static final @NotNull Icon Ios = load("org/jetbrains/kotlin/idea/icons/wizard/ios.svg", 10617527, 0); /** 16x16 */ public static final @NotNull Icon Ios = load("org/jetbrains/kotlin/idea/icons/wizard/ios.svg", 10617527, 0);
/** 16x16 */ public static final @NotNull Icon JS = load("org/jetbrains/kotlin/idea/icons/wizard/js.svg", -1870738420, 0); /** 16x16 */ public static final @NotNull Icon JS = load("org/jetbrains/kotlin/idea/icons/wizard/js.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/js.svg", -1870738420, 0);
/** 16x16 */ public static final @NotNull Icon Jvm = load("org/jetbrains/kotlin/idea/icons/wizard/jvm.svg", 313494095, 0); /** 16x16 */ public static final @NotNull Icon Jvm = load("org/jetbrains/kotlin/idea/icons/wizard/jvm.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/jvm.svg", 313494095, 0);
/** 16x16 */ public static final @NotNull Icon Linux = load("org/jetbrains/kotlin/idea/icons/wizard/linux.svg", 2111726531, 0); /** 16x16 */ public static final @NotNull Icon Linux = load("org/jetbrains/kotlin/idea/icons/wizard/linux.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/linux.svg", 2111726531, 0);
/** 16x16 */ public static final @NotNull Icon MacOS = load("org/jetbrains/kotlin/idea/icons/wizard/macOS.svg", 187037767, 0); /** 16x16 */ public static final @NotNull Icon MacOS = load("org/jetbrains/kotlin/idea/icons/wizard/macOS.svg", 187037767, 0);
/** 16x16 */ public static final @NotNull Icon Multiplatform = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatform.svg", 313067932, 0); /** 16x16 */ public static final @NotNull Icon Multiplatform = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatform.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatform.svg", 313067932, 0);
/** 16x16 */ public static final @NotNull Icon MultiplatformLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformLibrary.svg", 1284998225, 0); /** 16x16 */ public static final @NotNull Icon MultiplatformLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformLibrary.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatformLibrary.svg", 1284998225, 0);
/** 16x16 */ public static final @NotNull Icon MultiplatformMobile = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobile.svg", 1619387367, 0); /** 16x16 */ public static final @NotNull Icon MultiplatformMobile = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobile.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatformMobile.svg", 1619387367, 0);
/** 16x16 */ public static final @NotNull Icon MultiplatformMobileLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobileLibrary.svg", -1108066251, 0); /** 16x16 */ public static final @NotNull Icon MultiplatformMobileLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobileLibrary.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatformMobileLibrary.svg", -1108066251, 0);
/** 16x16 */ public static final @NotNull Icon Native = load("org/jetbrains/kotlin/idea/icons/wizard/native.svg", 1401630099, 0); /** 16x16 */ public static final @NotNull Icon Native = load("org/jetbrains/kotlin/idea/icons/wizard/native.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/native.svg", 1401630099, 0);
/** 16x16 */ public static final @NotNull Icon Nodejs = load("org/jetbrains/kotlin/idea/icons/wizard/nodejs.svg", 1707175375, 2); /** 16x16 */ public static final @NotNull Icon Nodejs = load("org/jetbrains/kotlin/idea/icons/wizard/nodejs.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/nodejs.svg", 1707175375, 2);
/** 16x16 */ public static final @NotNull Icon PpWeb = load("org/jetbrains/kotlin/idea/icons/wizard/ppWeb.svg", 1025138221, 0); /** 16x16 */ public static final @NotNull Icon PpWeb = load("org/jetbrains/kotlin/idea/icons/wizard/ppWeb.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/ppWeb.svg", 1025138221, 0);
/** 16x16 */ public static final @NotNull Icon React = load("org/jetbrains/kotlin/idea/icons/wizard/react.svg", -2298240, 0); /** 16x16 */ public static final @NotNull Icon React = load("org/jetbrains/kotlin/idea/icons/wizard/react.svg", -2298240, 0);
/** 16x16 */ public static final @NotNull Icon Windows = load("org/jetbrains/kotlin/idea/icons/wizard/windows.svg", 767860923, 0); /** 16x16 */ public static final @NotNull Icon Windows = load("org/jetbrains/kotlin/idea/icons/wizard/windows.svg", 767860923, 0);
} }

View File

@@ -263,8 +263,6 @@
id="kotlinSkipAutopopupInStrings" id="kotlinSkipAutopopupInStrings"
order="after propertyKeys"/> order="after propertyKeys"/>
<iconMapper mappingFile="KotlinIconMappings.json"/>
<pluginSuggestionProvider order="first" implementation="org.jetbrains.kotlin.idea.suggestions.KotlinNotebookSuggestionProvider"/> <pluginSuggestionProvider order="first" implementation="org.jetbrains.kotlin.idea.suggestions.KotlinNotebookSuggestionProvider"/>
</extensions> </extensions>

View File

@@ -10,15 +10,15 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class LombokIcons { public final class LombokIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, LombokIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, LombokIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Config = load("icons/config.svg", -951082075, 0); /** 16x16 */ public static final @NotNull Icon Config = load("icons/config.svg", "icons/expui/config.svg", -951082075, 0);
/** 16x16 */ public static final @NotNull Icon Lombok = load("icons/lombok.svg", 1713619590, 0); /** 16x16 */ public static final @NotNull Icon Lombok = load("icons/lombok.svg", "icons/expui/lombok.svg", 1713619590, 0);
public static final class Nodes { public static final class Nodes {
/** 16x16 */ public static final @NotNull Icon LombokClass = load("icons/nodes/lombokClass.svg", 192706796, 0); /** 16x16 */ public static final @NotNull Icon LombokClass = load("icons/nodes/lombokClass.svg", "icons/expui/nodes/lombokClass.svg", 192706796, 0);
/** 16x16 */ public static final @NotNull Icon LombokField = load("icons/nodes/lombokField.svg", -2139677246, 0); /** 16x16 */ public static final @NotNull Icon LombokField = load("icons/nodes/lombokField.svg", "icons/expui/nodes/lombokField.svg", -2139677246, 0);
/** 16x16 */ public static final @NotNull Icon LombokMethod = load("icons/nodes/lombokMethod.svg", 646423920, 1); /** 16x16 */ public static final @NotNull Icon LombokMethod = load("icons/nodes/lombokMethod.svg", "icons/expui/nodes/lombokMethod.svg", 646423920, 1);
} }
} }

View File

@@ -244,8 +244,6 @@
<dependencySupport coordinate="org.projectlombok:lombok" kind="java" displayName="Lombok"/> <dependencySupport coordinate="org.projectlombok:lombok" kind="java" displayName="Lombok"/>
<iconMapper mappingFile="LombokIconMappings.json"/>
<jvm.logging implementation="de.plushnikov.intellij.plugin.logging.LombokSlf4jLogger"/> <jvm.logging implementation="de.plushnikov.intellij.plugin.logging.LombokSlf4jLogger"/>
<jvm.logging implementation="de.plushnikov.intellij.plugin.logging.LombokLog4j2Logger"/> <jvm.logging implementation="de.plushnikov.intellij.plugin.logging.LombokLog4j2Logger"/>
<jvm.logging implementation="de.plushnikov.intellij.plugin.logging.LombokLog4jLogger"/> <jvm.logging implementation="de.plushnikov.intellij.plugin.logging.LombokLog4jLogger"/>

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -14,28 +14,31 @@ public final class MarkdownIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, MarkdownIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, MarkdownIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, MarkdownIcons.class.getClassLoader(), cacheKey, flags);
}
public static final class EditorActions { public static final class EditorActions {
/** 16x16 */ public static final @NotNull Icon AddColumnLeft = load("icons/editor_actions/addColumnLeft.svg", 1600544429, 2); /** 16x16 */ public static final @NotNull Icon AddColumnLeft = load("icons/editor_actions/addColumnLeft.svg", "icons/expui/editorActions/addColumnLeft.svg", 1600544429, 2);
/** 16x16 */ public static final @NotNull Icon AddColumnRight = load("icons/editor_actions/addColumnRight.svg", -928503198, 2); /** 16x16 */ public static final @NotNull Icon AddColumnRight = load("icons/editor_actions/addColumnRight.svg", "icons/expui/editorActions/addColumnRight.svg", -928503198, 2);
/** 16x16 */ public static final @NotNull Icon AddRowAbove = load("icons/editor_actions/addRowAbove.svg", -1135327274, 2); /** 16x16 */ public static final @NotNull Icon AddRowAbove = load("icons/editor_actions/addRowAbove.svg", "icons/expui/editorActions/addRowAbove.svg", -1135327274, 2);
/** 16x16 */ public static final @NotNull Icon AddRowBelow = load("icons/editor_actions/addRowBelow.svg", -144109156, 2); /** 16x16 */ public static final @NotNull Icon AddRowBelow = load("icons/editor_actions/addRowBelow.svg", "icons/expui/editorActions/addRowBelow.svg", -144109156, 2);
/** 16x16 */ public static final @NotNull Icon Bold = load("icons/editor_actions/Bold.svg", 1113796502, 2); /** 16x16 */ public static final @NotNull Icon Bold = load("icons/editor_actions/Bold.svg", "icons/expui/editorActions/bold.svg", 1113796502, 2);
/** 16x16 */ public static final @NotNull Icon BulletList = load("icons/editor_actions/bulletList.svg", -237954291, 2); /** 16x16 */ public static final @NotNull Icon BulletList = load("icons/editor_actions/bulletList.svg", "icons/expui/editorActions/bulletList.svg", -237954291, 2);
/** 16x16 */ public static final @NotNull Icon CenterAlign = load("icons/editor_actions/centerAlign.svg", 669294033, 2); /** 16x16 */ public static final @NotNull Icon CenterAlign = load("icons/editor_actions/centerAlign.svg", "icons/expui/editorActions/centerAlign.svg", 669294033, 2);
/** 16x16 */ public static final @NotNull Icon CheckmarkList = load("icons/editor_actions/checkmarkList.svg", 470139305, 2); /** 16x16 */ public static final @NotNull Icon CheckmarkList = load("icons/editor_actions/checkmarkList.svg", "icons/expui/editorActions/checkmarkList.svg", 470139305, 2);
/** 16x16 */ public static final @NotNull Icon Code_span = load("icons/editor_actions/Code_span.svg", 368492179, 2); /** 16x16 */ public static final @NotNull Icon Code_span = load("icons/editor_actions/Code_span.svg", "icons/expui/editorActions/codeSpan.svg", 368492179, 2);
/** 16x16 */ public static final @NotNull Icon Header_level_down = load("icons/editor_actions/Header_level_down.svg", -1433728030, 2); /** 16x16 */ public static final @NotNull Icon Header_level_down = load("icons/editor_actions/Header_level_down.svg", "icons/expui/editorActions/headerLevelDown.svg", -1433728030, 2);
/** 16x16 */ public static final @NotNull Icon Header_level_up = load("icons/editor_actions/Header_level_up.svg", -524853215, 2); /** 16x16 */ public static final @NotNull Icon Header_level_up = load("icons/editor_actions/Header_level_up.svg", "icons/expui/editorActions/headerLevelUp.svg", -524853215, 2);
/** 16x16 */ public static final @NotNull Icon Italic = load("icons/editor_actions/Italic.svg", -1040589874, 2); /** 16x16 */ public static final @NotNull Icon Italic = load("icons/editor_actions/Italic.svg", "icons/expui/editorActions/italic.svg", -1040589874, 2);
/** 16x16 */ public static final @NotNull Icon LeftAlign = load("icons/editor_actions/leftAlign.svg", -194323511, 2); /** 16x16 */ public static final @NotNull Icon LeftAlign = load("icons/editor_actions/leftAlign.svg", "icons/expui/editorActions/leftAlign.svg", -194323511, 2);
/** 16x16 */ public static final @NotNull Icon Link = load("icons/editor_actions/Link.svg", -861207690, 2); /** 16x16 */ public static final @NotNull Icon Link = load("icons/editor_actions/Link.svg", "icons/expui/editorActions/link.svg", -861207690, 2);
/** 16x16 */ public static final @NotNull Icon NumberedList = load("icons/editor_actions/numberedList.svg", -311192714, 2); /** 16x16 */ public static final @NotNull Icon NumberedList = load("icons/editor_actions/numberedList.svg", "icons/expui/editorActions/numberedList.svg", -311192714, 2);
/** 16x16 */ public static final @NotNull Icon RightAlign = load("icons/editor_actions/rightAlign.svg", 884734930, 2); /** 16x16 */ public static final @NotNull Icon RightAlign = load("icons/editor_actions/rightAlign.svg", "icons/expui/editorActions/rightAlign.svg", 884734930, 2);
/** 16x16 */ public static final @NotNull Icon Strike_through = load("icons/editor_actions/Strike_through.svg", 438972438, 2); /** 16x16 */ public static final @NotNull Icon Strike_through = load("icons/editor_actions/Strike_through.svg", "icons/expui/editorActions/strikeThrough.svg", 438972438, 2);
/** 16x16 */ public static final @NotNull Icon Table = load("icons/editor_actions/table.svg", -231839910, 2); /** 16x16 */ public static final @NotNull Icon Table = load("icons/editor_actions/table.svg", "icons/expui/editorActions/table.svg", -231839910, 2);
} }
/** 12x12 */ public static final @NotNull Icon ImageGutter = load("icons/imageGutter.svg", 2010654469, 2); /** 12x12 */ public static final @NotNull Icon ImageGutter = load("icons/imageGutter.svg", 2010654469, 2);
/** 16x16 */ public static final @NotNull Icon MarkdownPlugin = load("icons/MarkdownPlugin.svg", -1740905249, 0); /** 16x16 */ public static final @NotNull Icon MarkdownPlugin = load("icons/MarkdownPlugin.svg", "icons/expui/markdown.svg", -1740905249, 0);
} }

View File

@@ -356,7 +356,6 @@
<advancedSetting id="markdown.squash.multiple.dashes.in.header.anchors" default="false" groupKey="markdown.settings.name"/> <advancedSetting id="markdown.squash.multiple.dashes.in.header.anchors" default="false" groupKey="markdown.settings.name"/>
<statistics.counterUsagesCollector implementationClass="org.intellij.plugins.markdown.MarkdownUsageCollector"/> <statistics.counterUsagesCollector implementationClass="org.intellij.plugins.markdown.MarkdownUsageCollector"/>
<iconMapper mappingFile="MarkdownCoreIconMappings.json"/>
</extensions> </extensions>
<applicationListeners> <applicationListeners>

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -14,20 +14,23 @@ public final class MavenIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, MavenIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, MavenIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon ChildrenProjects = load("images/childrenProjects.svg", 399507071, 2); private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, MavenIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon ChildrenProjects = load("images/childrenProjects.svg", "images/expui/build/mavenChildrenProjects.svg", 399507071, 2);
/** 16x16 */ public static final @NotNull Icon ExecuteMavenGoal = load("images/executeMavenGoal.svg", 1709385426, 2); /** 16x16 */ public static final @NotNull Icon ExecuteMavenGoal = load("images/executeMavenGoal.svg", 1709385426, 2);
/** 16x16 */ public static final @NotNull Icon MavenIgnored = load("images/mavenIgnored.svg", -1578112873, 2); /** 16x16 */ public static final @NotNull Icon MavenIgnored = load("images/mavenIgnored.svg", "images/expui/fileTypes/mavenIgnored.svg", -1578112873, 2);
/** 16x16 */ public static final @NotNull Icon MavenLoadChanges = load("images/mavenLoadChanges.svg", 15449020, 2); /** 16x16 */ public static final @NotNull Icon MavenLoadChanges = load("images/mavenLoadChanges.svg", "images/expui/build/mavenLoadChanges.svg", 15449020, 2);
/** 16x16 */ public static final @NotNull Icon MavenModule = load("images/mavenModule.svg", -1526380836, 2); /** 16x16 */ public static final @NotNull Icon MavenModule = load("images/mavenModule.svg", -1526380836, 2);
/** 16x16 */ public static final @NotNull Icon MavenPlugin = load("images/mavenPlugin.svg", 660249577, 0); /** 16x16 */ public static final @NotNull Icon MavenPlugin = load("images/mavenPlugin.svg", "images/expui/build/mavenPlugin.svg", 660249577, 0);
/** 16x16 */ public static final @NotNull Icon MavenProject = load("images/mavenProject.svg", -1399986903, 0); /** 16x16 */ public static final @NotNull Icon MavenProject = load("images/mavenProject.svg", "images/expui/build/mavenProject.svg", -1399986903, 0);
/** 16x16 */ public static final @NotNull Icon MavenRepoFolder = load("images/mavenRepoFolder.svg", 205206251, 0); /** 16x16 */ public static final @NotNull Icon MavenRepoFolder = load("images/mavenRepoFolder.svg", "images/expui/build/mavenProfiles.svg", 205206251, 0);
/** 16x16 */ public static final @NotNull Icon MavenRepoLocal = load("images/mavenRepoLocal.svg", -1519797757, 0); /** 16x16 */ public static final @NotNull Icon MavenRepoLocal = load("images/mavenRepoLocal.svg", "images/expui/build/mavenProject.svg", -1519797757, 0);
/** 16x16 */ public static final @NotNull Icon MavenRepoRemote = load("images/mavenRepoRemote.svg", 1551467989, 0); /** 16x16 */ public static final @NotNull Icon MavenRepoRemote = load("images/mavenRepoRemote.svg", 1551467989, 0);
/** 16x16 */ public static final @NotNull Icon ModulesClosed = load("images/modulesClosed.svg", -1412181772, 0); /** 16x16 */ public static final @NotNull Icon ModulesClosed = load("images/modulesClosed.svg", "images/expui/build/mavenModule.svg", -1412181772, 0);
/** 16x16 */ public static final @NotNull Icon ParentProject = load("images/parentProject.svg", -863135840, 2); /** 16x16 */ public static final @NotNull Icon ParentProject = load("images/parentProject.svg", "images/expui/build/mavenParentProjects.svg", -863135840, 2);
/** 16x16 */ public static final @NotNull Icon PluginGoal = load("images/pluginGoal.svg", 1879670671, 0); /** 16x16 */ public static final @NotNull Icon PluginGoal = load("images/pluginGoal.svg", "images/expui/build/mavenPluginGoal.svg", 1879670671, 0);
/** 16x16 */ public static final @NotNull Icon ProfilesClosed = load("images/profilesClosed.svg", -801368669, 0); /** 16x16 */ public static final @NotNull Icon ProfilesClosed = load("images/profilesClosed.svg", "images/expui/build/mavenProfiles.svg", -801368669, 0);
/** 13x13 */ public static final @NotNull Icon ToolWindowMaven = load("images/toolWindowMaven.svg", 1575083751, 2); /** 13x13 */ public static final @NotNull Icon ToolWindowMaven = load("images/toolWindowMaven.svg", "images/expui/toolwindow/maven.svg", 1575083751, 2);
/** 16x16 */ public static final @NotNull Icon UpdateFolders = load("images/updateFolders.svg", 1611888062, 2); /** 16x16 */ public static final @NotNull Icon UpdateFolders = load("images/updateFolders.svg", "images/expui/build/updateFolders.svg", 1611888062, 2);
} }

View File

@@ -425,7 +425,6 @@
<workspace.subprojectHandler implementation="org.jetbrains.idea.maven.workspace.MavenSubprojectHandler"/> <workspace.subprojectHandler implementation="org.jetbrains.idea.maven.workspace.MavenSubprojectHandler"/>
<externalSystem.dependencyModifier implementation="org.jetbrains.idea.maven.dsl.MavenDependencyModificator"/> <externalSystem.dependencyModifier implementation="org.jetbrains.idea.maven.dsl.MavenDependencyModificator"/>
<iconMapper mappingFile="MavenIconMappings.json"/>
<referencesSearch implementation="org.jetbrains.idea.maven.search.MavenModuleReferenceSearcher"/> <referencesSearch implementation="org.jetbrains.idea.maven.search.MavenModuleReferenceSearcher"/>
</extensions> </extensions>

View File

@@ -1 +1,2 @@
skip: * merge
skip: /**/*20x20.svg

View File

@@ -48,7 +48,6 @@
<settingsEntryPointIconCustomizer implementation="com.intellij.settingsSync.config.SettingsSyncStatusAction$IconCustomizer"/> <settingsEntryPointIconCustomizer implementation="com.intellij.settingsSync.config.SettingsSyncStatusAction$IconCustomizer"/>
<statistics.applicationUsagesCollector implementation="com.intellij.settingsSync.statistics.SettingsSyncStateStatistics"/> <statistics.applicationUsagesCollector implementation="com.intellij.settingsSync.statistics.SettingsSyncStateStatistics"/>
<statistics.counterUsagesCollector implementationClass="com.intellij.settingsSync.statistics.SettingsSyncEventsStatistics"/> <statistics.counterUsagesCollector implementationClass="com.intellij.settingsSync.statistics.SettingsSyncEventsStatistics"/>
<iconMapper mappingFile="SettingsSyncIconMappings.json"/>
</extensions> </extensions>

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -10,12 +10,12 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class SettingsSyncIcons { public final class SettingsSyncIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, SettingsSyncIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, SettingsSyncIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Conflict = load("icons/conflict.svg", -1642917434, 0); /** 16x16 */ public static final @NotNull Icon Conflict = load("icons/conflict.svg", "icons/expui/conflict.svg", -1642917434, 0);
/** 16x16 */ public static final @NotNull Icon LocalChanges = load("icons/localChanges.svg", -455323487, 0); /** 16x16 */ public static final @NotNull Icon LocalChanges = load("icons/localChanges.svg", "icons/expui/localChanges.svg", -455323487, 0);
/** 16x16 */ public static final @NotNull Icon RemoteChanges = load("icons/remoteChanges.svg", 287889654, 0); /** 16x16 */ public static final @NotNull Icon RemoteChanges = load("icons/remoteChanges.svg", "icons/expui/remoteChanges.svg", 287889654, 0);
/** 16x16 */ public static final @NotNull Icon StatusDisabled = load("icons/statusDisabled.svg", -1854758088, 2); /** 16x16 */ public static final @NotNull Icon StatusDisabled = load("icons/statusDisabled.svg", "icons/expui/statusDisabled.svg", -1854758088, 2);
/** 16x16 */ public static final @NotNull Icon StatusEnabled = load("icons/statusEnabled.svg", 1900690067, 0); /** 16x16 */ public static final @NotNull Icon StatusEnabled = load("icons/statusEnabled.svg", "icons/expui/statusEnabled.svg", 1900690067, 0);
} }

View File

@@ -43,7 +43,6 @@
</extensions> </extensions>
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<iconMapper mappingFile="StreamDebuggerIconMappings.json"/>
</extensions> </extensions>
<actions> <actions>

View File

@@ -1 +1 @@
skip: * merge

View File

@@ -11,8 +11,8 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class JavaDebuggerStreamsIcons { public final class JavaDebuggerStreamsIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, JavaDebuggerStreamsIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JavaDebuggerStreamsIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon Stream_debugger = load("icons/stream_debugger.svg", 740832238, 2); /** 16x16 */ public static final @NotNull Icon Stream_debugger = load("icons/stream_debugger.svg", "icons/expui/traceStream.svg", 740832238, 2);
} }

View File

@@ -14,10 +14,13 @@ public final class TasksCoreIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, TasksCoreIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, TasksCoreIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, TasksCoreIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon Asana = load("icons/asana.svg", 1079827175, 0); /** 16x16 */ public static final @NotNull Icon Asana = load("icons/asana.svg", 1079827175, 0);
/** 16x16 */ public static final @NotNull Icon Assembla = load("icons/assembla.svg", 776506254, 2); /** 16x16 */ public static final @NotNull Icon Assembla = load("icons/assembla.svg", 776506254, 2);
/** 16x16 */ public static final @NotNull Icon Bugzilla = load("icons/bugzilla.svg", 644193743, 0); /** 16x16 */ public static final @NotNull Icon Bugzilla = load("icons/bugzilla.svg", 644193743, 0);
/** 13x13 */ public static final @NotNull Icon Clock = load("icons/clock.svg", -1071466953, 2); /** 13x13 */ public static final @NotNull Icon Clock = load("icons/clock.svg", "icons/expui/toolWindowTimer.svg", -1071466953, 2);
/** 16x16 */ public static final @NotNull Icon Fogbugz = load("icons/fogbugz.svg", -305019715, 0); /** 16x16 */ public static final @NotNull Icon Fogbugz = load("icons/fogbugz.svg", -305019715, 0);
/** 16x16 */ public static final @NotNull Icon Gitlab = load("icons/gitlab.svg", 802755203, 0); /** 16x16 */ public static final @NotNull Icon Gitlab = load("icons/gitlab.svg", 802755203, 0);
/** 16x16 */ public static final @NotNull Icon Jira = load("icons/jira.svg", -1857924451, 0); /** 16x16 */ public static final @NotNull Icon Jira = load("icons/jira.svg", -1857924451, 0);
@@ -27,8 +30,8 @@ public final class TasksCoreIcons {
/** 16x16 */ public static final @NotNull Icon Redmine = load("icons/redmine.svg", -1916337797, 0); /** 16x16 */ public static final @NotNull Icon Redmine = load("icons/redmine.svg", -1916337797, 0);
/** 16x16 */ public static final @NotNull Icon SavedContext = load("icons/savedContext.svg", -1605394617, 0); /** 16x16 */ public static final @NotNull Icon SavedContext = load("icons/savedContext.svg", -1605394617, 0);
/** 16x16 */ public static final @NotNull Icon Sprintly = load("icons/sprintly.svg", -1270774795, 0); /** 16x16 */ public static final @NotNull Icon Sprintly = load("icons/sprintly.svg", -1270774795, 0);
/** 16x16 */ public static final @NotNull Icon StartTimer = load("icons/startTimer.svg", 126461142, 2); /** 16x16 */ public static final @NotNull Icon StartTimer = load("icons/startTimer.svg", "icons/expui/startTimer.svg", 126461142, 2);
/** 16x16 */ public static final @NotNull Icon StopTimer = load("icons/stopTimer.svg", 2121315925, 2); /** 16x16 */ public static final @NotNull Icon StopTimer = load("icons/stopTimer.svg", "icons/expui/stopTimer.svg", 2121315925, 2);
/** 16x16 */ public static final @NotNull Icon Trac = load("icons/trac.svg", 959738233, 0); /** 16x16 */ public static final @NotNull Icon Trac = load("icons/trac.svg", 959738233, 0);
/** 16x16 */ public static final @NotNull Icon Trello = load("icons/trello.svg", 1425271377, 0); /** 16x16 */ public static final @NotNull Icon Trello = load("icons/trello.svg", 1425271377, 0);
/** 16x16 */ public static final @NotNull Icon Youtrack = load("icons/youtrack.svg", 842371061, 0); /** 16x16 */ public static final @NotNull Icon Youtrack = load("icons/youtrack.svg", 842371061, 0);

View File

@@ -156,7 +156,5 @@
<statistics.counterUsagesCollector implementationClass="com.intellij.tasks.impl.TaskManagementUsageCollector"/> <statistics.counterUsagesCollector implementationClass="com.intellij.tasks.impl.TaskManagementUsageCollector"/>
<statistics.projectUsagesCollector implementation="com.intellij.tasks.impl.TaskManagementConfigurationCollector"/> <statistics.projectUsagesCollector implementation="com.intellij.tasks.impl.TaskManagementConfigurationCollector"/>
<statistics.projectUsagesCollector implementation="com.intellij.tasks.core.fus.TasksStateCollector"/> <statistics.projectUsagesCollector implementation="com.intellij.tasks.core.fus.TasksStateCollector"/>
<iconMapper mappingFile="TasksIconMappings.json"/>
</extensions> </extensions>
</idea-plugin> </idea-plugin>

View File

@@ -1 +1,2 @@
skip: * merge
skip: *20x20.svg

View File

@@ -39,7 +39,6 @@
<terminal.shellCommandHandler implementation="org.jetbrains.plugins.terminal.RunAnythingTerminalBridge"/> <terminal.shellCommandHandler implementation="org.jetbrains.plugins.terminal.RunAnythingTerminalBridge"/>
<terminal.shellCommandHandler implementation="org.jetbrains.plugins.terminal.OpenFileShellCommandHandler"/> <terminal.shellCommandHandler implementation="org.jetbrains.plugins.terminal.OpenFileShellCommandHandler"/>
<selectInTarget implementation="org.jetbrains.plugins.terminal.view.SelectInTerminal"/> <selectInTarget implementation="org.jetbrains.plugins.terminal.view.SelectInTerminal"/>
<iconMapper mappingFile="TerminalIconMappings.json"/>
<advancedSetting id="terminal.show.application.title" default="false" groupKey="group.advanced.settings.terminal"/> <advancedSetting id="terminal.show.application.title" default="false" groupKey="group.advanced.settings.terminal"/>
<actionPromoter implementation="org.jetbrains.plugins.terminal.action.TerminalCtrlCActionsPromoter"/> <actionPromoter implementation="org.jetbrains.plugins.terminal.action.TerminalCtrlCActionsPromoter"/>

View File

@@ -1 +1,2 @@
skip: * merge
skip: /**/*20x20.svg

View File

@@ -14,8 +14,11 @@ public final class TerminalIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, TerminalIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, TerminalIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, TerminalIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon Command = load("icons/command.svg", 957086477, 2); /** 16x16 */ public static final @NotNull Icon Command = load("icons/command.svg", 957086477, 2);
/** 13x13 */ public static final @NotNull Icon OpenTerminal_13x13 = load("icons/OpenTerminal_13x13.svg", 1939257758, 2); /** 13x13 */ public static final @NotNull Icon OpenTerminal_13x13 = load("icons/OpenTerminal_13x13.svg", "icons/expui/toolwindow/terminal.svg", 1939257758, 2);
/** 16x16 */ public static final @NotNull Icon Option = load("icons/option.svg", -1363443188, 2); /** 16x16 */ public static final @NotNull Icon Option = load("icons/option.svg", -1363443188, 2);
/** 16x16 */ public static final @NotNull Icon Other = load("icons/other.svg", 2034971647, 2); /** 16x16 */ public static final @NotNull Icon Other = load("icons/other.svg", 2034971647, 2);
/** 16x16 */ public static final @NotNull Icon OtherFile = load("icons/otherFile.svg", 1021254284, 2); /** 16x16 */ public static final @NotNull Icon OtherFile = load("icons/otherFile.svg", 1021254284, 2);

View File

@@ -10,8 +10,8 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead * DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/ */
public final class TomlIcons { public final class TomlIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, TomlIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, TomlIcons.class.getClassLoader(), cacheKey, flags);
} }
/** 16x16 */ public static final @NotNull Icon TomlFile = load("icons/toml-file.svg", -1826996194, 2); /** 16x16 */ public static final @NotNull Icon TomlFile = load("icons/toml-file.svg", "icons/newui/toml.svg", -1826996194, 2);
} }

View File

@@ -72,6 +72,5 @@
</intentionAction> </intentionAction>
<registryKey key="org.toml.json.schema" defaultValue="true" description="JSON schemas support for TOML"/> <registryKey key="org.toml.json.schema" defaultValue="true" description="JSON schemas support for TOML"/>
<iconMapper mappingFile="TomlIconMappings.json"/>
</extensions> </extensions>
</idea-plugin> </idea-plugin>

View File

@@ -14,13 +14,16 @@ public final class XpathIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, XpathIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, XpathIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, XpathIcons.class.getClassLoader(), cacheKey, flags);
}
/** 16x16 */ public static final @NotNull Icon Association = load("icons/association.svg", -708606974, 0); /** 16x16 */ public static final @NotNull Icon Association = load("icons/association.svg", -708606974, 0);
/** 16x16 */ public static final @NotNull Icon Association_small = load("icons/association_small.svg", -1753879133, 2); /** 16x16 */ public static final @NotNull Icon Association_small = load("icons/association_small.svg", -1753879133, 2);
/** 16x16 */ public static final @NotNull Icon Function = load("icons/function.svg", 1095555051, 0); /** 16x16 */ public static final @NotNull Icon Function = load("icons/function.svg", 1095555051, 0);
/** 16x16 */ public static final @NotNull Icon Namespace = load("icons/namespace.svg", 1849515194, 1); /** 16x16 */ public static final @NotNull Icon Namespace = load("icons/namespace.svg", 1849515194, 1);
/** 16x16 */ public static final @NotNull Icon Template = load("icons/template.svg", 414204381, 0); /** 16x16 */ public static final @NotNull Icon Template = load("icons/template.svg", 414204381, 0);
/** 16x16 */ public static final @NotNull Icon Xml = load("icons/xml.png", 0, 2); /** 16x16 */ public static final @NotNull Icon Xml = load("icons/xml.png", 0, 2);
/** 16x16 */ public static final @NotNull Icon Xpath = load("icons/xpath.svg", -220283778, 0); /** 16x16 */ public static final @NotNull Icon Xpath = load("icons/xpath.svg", "icons/expui/xpath.svg", -220283778, 0);
/** 16x16 */ public static final @NotNull Icon XsltFiletypeOverlay = load("icons/xslt-filetype-overlay.svg", -935948328, 0); /** 16x16 */ public static final @NotNull Icon XsltFiletypeOverlay = load("icons/xslt-filetype-overlay.svg", -935948328, 0);
/** 16x16 */ public static final @NotNull Icon Xslt = load("icons/xslt.svg", 1017401713, 0); /** 16x16 */ public static final @NotNull Icon Xslt = load("icons/xslt.svg", 1017401713, 0);
} }

View File

@@ -187,8 +187,6 @@
<projectService serviceInterface="org.intellij.lang.xpath.xslt.associations.FileAssociationsManager" <projectService serviceInterface="org.intellij.lang.xpath.xslt.associations.FileAssociationsManager"
serviceImplementation="org.intellij.lang.xpath.xslt.associations.impl.FileAssociationsManagerImpl"/> serviceImplementation="org.intellij.lang.xpath.xslt.associations.impl.FileAssociationsManagerImpl"/>
<iconMapper mappingFile="XpathIconMappings.json"/>
</extensions> </extensions>
<extensions defaultExtensionNs="XPathView"> <extensions defaultExtensionNs="XPathView">

View File

@@ -14,25 +14,28 @@ public final class PythonIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) { private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, PythonIcons.class.getClassLoader(), cacheKey, flags); return IconManager.getInstance().loadRasterizedIcon(path, PythonIcons.class.getClassLoader(), cacheKey, flags);
} }
private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, PythonIcons.class.getClassLoader(), cacheKey, flags);
}
public static final class Cython { public static final class Cython {
/** 16x16 */ public static final @NotNull Icon CythonFile = load("icons/com/jetbrains/pythonCore/cython/cythonFile.svg", -1709759022, 0); /** 16x16 */ public static final @NotNull Icon CythonFile = load("icons/com/jetbrains/pythonCore/cython/cythonFile.svg", -1709759022, 0);
} }
public static final class Python { public static final class Python {
/** 16x16 */ public static final @NotNull Icon Anaconda = load("icons/com/jetbrains/pythonCore/python/anaconda.svg", -520915032, 0); /** 16x16 */ public static final @NotNull Icon Anaconda = load("icons/com/jetbrains/pythonCore/python/anaconda.svg", "icons/com/jetbrains/pythonCore/python/expui/anaconda.svg", -520915032, 0);
/** 16x16 */ public static final @NotNull Icon AttachDebugger = load("icons/com/jetbrains/pythonCore/python/attachDebugger.svg", 1845469384, 2); /** 16x16 */ public static final @NotNull Icon AttachDebugger = load("icons/com/jetbrains/pythonCore/python/attachDebugger.svg", "icons/com/jetbrains/pythonCore/python/expui/attachDebugger.svg", 1845469384, 2);
/** 16x16 */ public static final @NotNull Icon CommandQueue = load("icons/com/jetbrains/pythonCore/python/commandQueue.svg", -183748339, 2); /** 16x16 */ public static final @NotNull Icon CommandQueue = load("icons/com/jetbrains/pythonCore/python/commandQueue.svg", "icons/com/jetbrains/pythonCore/python/expui/commandQueue.svg", -183748339, 2);
/** 16x16 */ public static final @NotNull Icon Condaenv = load("icons/com/jetbrains/pythonCore/python/condaenv.svg", -1473092825, 0); /** 16x16 */ public static final @NotNull Icon Condaenv = load("icons/com/jetbrains/pythonCore/python/condaenv.svg", "icons/com/jetbrains/pythonCore/python/expui/condaEnv.svg", -1473092825, 0);
/** 13x13 */ public static final @NotNull Icon DataView = load("icons/com/jetbrains/pythonCore/python/DataView.svg", 1534347386, 2); /** 13x13 */ public static final @NotNull Icon DataView = load("icons/com/jetbrains/pythonCore/python/DataView.svg", "icons/com/jetbrains/pythonCore/python/expui/sciView.svg", 1534347386, 2);
public static final class Debug { public static final class Debug {
/** 16x16 */ public static final @NotNull Icon SpecialVar = load("icons/com/jetbrains/pythonCore/python/debug/specialVar.svg", 670495800, 0); /** 16x16 */ public static final @NotNull Icon SpecialVar = load("icons/com/jetbrains/pythonCore/python/debug/specialVar.svg", "icons/com/jetbrains/pythonCore/python/expui/debug/specialVar.svg", 670495800, 0);
/** 16x16 */ public static final @NotNull Icon StepIntoMyCode = load("icons/com/jetbrains/pythonCore/python/debug/StepIntoMyCode.svg", -1301661836, 2); /** 16x16 */ public static final @NotNull Icon StepIntoMyCode = load("icons/com/jetbrains/pythonCore/python/debug/StepIntoMyCode.svg", "icons/com/jetbrains/pythonCore/python/expui/debug/stepIntoMyCode.svg", -1301661836, 2);
} }
/** 16x16 */ public static final @NotNull Icon ExecuteCurrentStatement = load("icons/com/jetbrains/pythonCore/python/executeCurrentStatement.svg", -43244894, 2); /** 16x16 */ public static final @NotNull Icon ExecuteCurrentStatement = load("icons/com/jetbrains/pythonCore/python/executeCurrentStatement.svg", "icons/com/jetbrains/pythonCore/python/expui/executeCurrentStatement.svg", -43244894, 2);
/** 16x16 */ public static final @NotNull Icon Function = load("icons/com/jetbrains/pythonCore/python/function.svg", 1027695397, 0); /** 16x16 */ public static final @NotNull Icon Function = load("icons/com/jetbrains/pythonCore/python/function.svg", "icons/com/jetbrains/pythonCore/python/expui/function.svg", 1027695397, 0);
/** 16x16 */ public static final @NotNull Icon Jython = load("icons/com/jetbrains/pythonCore/python/jython.svg", -359107473, 0); /** 16x16 */ public static final @NotNull Icon Jython = load("icons/com/jetbrains/pythonCore/python/jython.svg", -359107473, 0);
/** 16x16 */ public static final @NotNull Icon NumPy = load("icons/com/jetbrains/pythonCore/python/numPy.svg", 205590373, 2); /** 16x16 */ public static final @NotNull Icon NumPy = load("icons/com/jetbrains/pythonCore/python/numPy.svg", 205590373, 2);
/** 16x16 */ public static final @NotNull Icon Origami = load("icons/com/jetbrains/pythonCore/python/origami.svg", 81945933, 2); /** 16x16 */ public static final @NotNull Icon Origami = load("icons/com/jetbrains/pythonCore/python/origami.svg", 81945933, 2);
@@ -40,16 +43,16 @@ public final class PythonIcons {
/** 16x16 */ public static final @NotNull Icon Polars = load("icons/com/jetbrains/pythonCore/python/polars.svg", 1700660876, 2); /** 16x16 */ public static final @NotNull Icon Polars = load("icons/com/jetbrains/pythonCore/python/polars.svg", 1700660876, 2);
/** 16x16 */ public static final @NotNull Icon Pycharm = load("icons/com/jetbrains/pythonCore/python/pycharm.svg", 2014186643, 0); /** 16x16 */ public static final @NotNull Icon Pycharm = load("icons/com/jetbrains/pythonCore/python/pycharm.svg", 2014186643, 0);
/** 16x16 */ public static final @NotNull Icon Pypy = load("icons/com/jetbrains/pythonCore/python/pypy.svg", 186053200, 0); /** 16x16 */ public static final @NotNull Icon Pypy = load("icons/com/jetbrains/pythonCore/python/pypy.svg", 186053200, 0);
/** 16x16 */ public static final @NotNull Icon PythonClosed = load("icons/com/jetbrains/pythonCore/python/pythonClosed.svg", -663368800, 0); /** 16x16 */ public static final @NotNull Icon PythonClosed = load("icons/com/jetbrains/pythonCore/python/pythonClosed.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonClosed.svg", -663368800, 0);
/** 16x16 */ public static final @NotNull Icon PythonConsole = load("icons/com/jetbrains/pythonCore/python/pythonConsole.svg", 2125468440, 0); /** 16x16 */ public static final @NotNull Icon PythonConsole = load("icons/com/jetbrains/pythonCore/python/pythonConsole.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonConsole.svg", 2125468440, 0);
/** 13x13 */ public static final @NotNull Icon PythonConsoleToolWindow = load("icons/com/jetbrains/pythonCore/python/pythonConsoleToolWindow.svg", 1833337589, 2); /** 13x13 */ public static final @NotNull Icon PythonConsoleToolWindow = load("icons/com/jetbrains/pythonCore/python/pythonConsoleToolWindow.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonConsoleToolWindow.svg", 1833337589, 2);
/** 13x13 */ public static final @NotNull Icon PythonPackages = load("icons/com/jetbrains/pythonCore/python/pythonPackages.svg", 272044150, 2); /** 13x13 */ public static final @NotNull Icon PythonPackages = load("icons/com/jetbrains/pythonCore/python/pythonPackages.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonPackages.svg", 272044150, 2);
/** 16x16 */ public static final @NotNull Icon PythonTests = load("icons/com/jetbrains/pythonCore/python/pythonTests.svg", 1252990498, 0); /** 16x16 */ public static final @NotNull Icon PythonTests = load("icons/com/jetbrains/pythonCore/python/pythonTests.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonTests.svg", 1252990498, 0);
/** 16x16 */ public static final @NotNull Icon RemoteInterpreter = load("icons/com/jetbrains/pythonCore/python/RemoteInterpreter.svg", 60369309, 0); /** 16x16 */ public static final @NotNull Icon RemoteInterpreter = load("icons/com/jetbrains/pythonCore/python/RemoteInterpreter.svg", "icons/com/jetbrains/pythonCore/python/expui/remoteInterpreter.svg", 60369309, 0);
/** 16x16 */ public static final @NotNull Icon Ssh = load("icons/com/jetbrains/pythonCore/python/ssh.svg", 1941773502, 0); /** 16x16 */ public static final @NotNull Icon Ssh = load("icons/com/jetbrains/pythonCore/python/ssh.svg", "icons/com/jetbrains/pythonCore/python/expui/ssh.svg", 1941773502, 0);
/** 16x16 */ public static final @NotNull Icon TemplateRoot = load("icons/com/jetbrains/pythonCore/python/templateRoot.svg", 6261950, 0); /** 16x16 */ public static final @NotNull Icon TemplateRoot = load("icons/com/jetbrains/pythonCore/python/templateRoot.svg", "icons/com/jetbrains/pythonCore/python/expui/templateRoot.svg", 6261950, 0);
/** 16x16 */ public static final @NotNull Icon TensorFlow = load("icons/com/jetbrains/pythonCore/python/tensorFlow.svg", 1673568687, 2); /** 16x16 */ public static final @NotNull Icon TensorFlow = load("icons/com/jetbrains/pythonCore/python/tensorFlow.svg", 1673568687, 2);
/** 16x16 */ public static final @NotNull Icon Vagrant = load("icons/com/jetbrains/pythonCore/python/vagrant.svg", -820295927, 0); /** 16x16 */ public static final @NotNull Icon Vagrant = load("icons/com/jetbrains/pythonCore/python/vagrant.svg", "icons/com/jetbrains/pythonCore/python/expui/vagrant.svg", -820295927, 0);
/** 16x16 */ public static final @NotNull Icon Virtualenv = load("icons/com/jetbrains/pythonCore/python/virtualenv.svg", 758230626, 0); /** 16x16 */ public static final @NotNull Icon Virtualenv = load("icons/com/jetbrains/pythonCore/python/virtualenv.svg", "icons/com/jetbrains/pythonCore/python/expui/virtualEnv.svg", 758230626, 0);
} }
} }

View File

@@ -1 +1,2 @@
skip: * merge
skip: /**/*20x20.svg

Some files were not shown because too many files have changed in this diff Show More