[python] PY-84203 Reuse PythonParserIcons.PythonFile icon everywhere

GitOrigin-RevId: c485c76e41659f33bd8d86de2470b27be684411d
This commit is contained in:
Yuriy Artamonov
2025-09-14 23:47:27 +00:00
committed by intellij-monorepo-bot
parent 64512e8d6c
commit 2cf790a9d6
20 changed files with 34 additions and 42 deletions
@@ -72,7 +72,6 @@ class IntellijIconClassGeneratorConfig : IconClasses() {
iconDirectory = "icons/com/jetbrains/python/psi",
)
"intellij.python" -> IntellijIconClassGeneratorModuleConfig(
className = "PythonUltimateIcons",
packageName = "com.intellij.python.pro.icons",
@@ -5,7 +5,7 @@ import com.intellij.openapi.util.NlsSafe
import com.jetbrains.python.PyBundle
import com.jetbrains.python.newProjectWizard.PyV3ProjectBaseGenerator
import com.jetbrains.python.newProjectWizard.collector.PyProjectTypeValidationRule
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
import org.jetbrains.annotations.ApiStatus.Internal
import org.jetbrains.annotations.Nls
import javax.swing.Icon
@@ -19,7 +19,7 @@ class PyV3EmptyProjectGenerator : PyV3ProjectBaseGenerator<PyV3EmptyProjectSetti
) {
override fun getName(): @Nls String = PyBundle.message("pure.python.project")
override fun getLogo(): Icon = PythonPsiApiIcons.Python
override fun getLogo(): Icon = PythonParserIcons.PythonFile
override val projectTypeForStatistics: @NlsSafe String = PyProjectTypeValidationRule.EMPTY_PROJECT_TYPE_ID
}
@@ -8,7 +8,7 @@ import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import com.jetbrains.python.sdk.PythonSdkType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NonNls;
@@ -53,6 +53,6 @@ public final class JavaPythonFacetType extends FacetType<JavaPythonFacet, JavaPy
@Override
public Icon getIcon() {
return PythonPsiApiIcons.Python;
return PythonParserIcons.PythonFile;
}
}
@@ -7,7 +7,7 @@ import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportProvider;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleType;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
@@ -20,7 +20,7 @@ final class PythonFrameworkSupportProvider extends FrameworkSupportProvider {
@Override
public Icon getIcon() {
return PythonPsiApiIcons.Python;
return PythonParserIcons.PythonFile;
}
@Override
@@ -9,7 +9,7 @@ import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.PyNames;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import com.jetbrains.python.sdk.PythonSdkType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NonNls;
@@ -56,6 +56,6 @@ public final class MinorPythonFacetType extends FacetType<MinorPythonFacet, Pyth
@Override
public Icon getIcon() {
return PythonPsiApiIcons.Python;
return PythonParserIcons.PythonFile;
}
}
@@ -25,6 +25,5 @@ public final class PythonPsiApiIcons {
/** 16x16 */ public static final @NotNull Icon PropertyDeleter = load("icons/com/jetbrains/python/psi/propertyDeleter.svg", 474832287, 2);
/** 16x16 */ public static final @NotNull Icon PropertyGetter = load("icons/com/jetbrains/python/psi/propertyGetter.svg", 1495604199, 2);
/** 16x16 */ public static final @NotNull Icon PropertySetter = load("icons/com/jetbrains/python/psi/propertySetter.svg", -1451064081, 2);
/** 16x16 */ public static final @NotNull Icon Python = load("icons/com/jetbrains/python/psi/python.svg", 2008591516, 8);
/** 32x32 */ public static final @NotNull Icon Python_32x32 = load("icons/com/jetbrains/python/psi/python@32x32.svg", -2111231783, 2);
}
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-opacity=".9" transform="translate(1 1)">
<path fill="#40A0CF" d="M6.91022782,0.0258929487 C6.37000109,0.0264652608 5.83075904,0.0719962659 5.2980847,0.162014559 C3.87043029,0.411472936 3.61125094,0.933622118 3.61125094,1.89655803 L3.61125094,3.1683132 L6.98491847,3.1683132 L6.98491847,3.5922176 L2.34509057,3.5922176 C1.32502959,3.56974186 0.436201508,4.28320156 0.237499481,5.28397479 C-0.0791784114,6.39223146 -0.0791784114,7.56702328 0.237499481,8.67527995 C0.330009274,9.60726159 1.09474199,10.3288099 2.03052265,10.3670511 L3.19043766,10.3670511 L3.19043766,8.84246671 C3.22234371,7.69765451 4.15284456,6.78248066 5.29802875,6.76959139 L8.6678079,6.76959139 C9.1164415,6.76870271 9.54631584,6.58948597 9.86271951,6.27142682 C10.1791232,5.95336768 10.3560942,5.52256395 10.3546417,5.07393182 L10.3546417,1.89655803 C10.2917932,0.983846775 9.57841181,0.250288445 8.6678079,0.162014559 C8.08672368,0.068085904 7.49884511,0.0225557014 6.91022782,0.0258929487 Z M5.08567792,1.04873523 C5.34294325,1.04759898 5.57554486,1.20159413 5.67496446,1.43887557 C5.77438406,1.67615701 5.72102999,1.949966 5.53979414,2.13255928 C5.3585583,2.31515256 5.08515505,2.37054826 4.84713837,2.27290199 C4.60912168,2.17525572 4.45339517,1.94380967 4.45261173,1.68654303 C4.45189759,1.33584511 4.73498444,1.05063797 5.08567792,1.04873523 Z"/>
<path fill="#FFC900" d="M10.7754409,5.07395919 C10.7562488,6.23123984 9.82504854,7.16601208 8.66784986,7.18963478 L5.29807071,7.18963478 C4.36858581,7.20292244 3.61967392,7.95575276 3.61123695,8.88529435 L3.61123695,12.0626542 C3.72150753,12.9461818 4.41513055,13.643434 5.29807071,13.7583137 C6.39569633,14.0976882 7.57022424,14.0976882 8.66784986,13.7583137 C9.55558536,13.6532156 10.2542196,12.950926 10.3546836,12.0626542 L10.3546836,10.7909689 L6.98493245,10.7909689 L6.98493245,10.3670645 L12.0415733,10.3670645 C13.0220629,10.3670645 13.3874457,9.6906246 13.7284071,8.67529334 C14.0745871,7.57136148 14.0745871,6.38792004 13.7284071,5.28398818 C13.674705,4.37470095 12.9506997,3.64857649 12.0415733,3.592217 L10.7754409,3.592217 L10.7754409,5.07395919 Z M8.88020069,11.6388057 C9.13781865,11.6376679 9.37066703,11.7920816 9.46986085,12.0298397 C9.56905467,12.2675977 9.51499058,12.5417128 9.33295012,12.7240026 C9.15090967,12.9062924 8.87686891,12.9607317 8.63897529,12.8618634 C8.40108167,12.7629952 8.24634933,12.5303584 8.24713449,12.2727391 C8.24694519,12.1047081 8.31355397,11.9434925 8.43229119,11.8245979 C8.55102841,11.7057033 8.71215558,11.638881 8.8801867,11.6388477 L8.88020069,11.6388057 Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

@@ -17,8 +17,8 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.PatternUtil;
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import com.jetbrains.python.psi.LanguageLevel;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.run.CommandLinePatcher;
import com.jetbrains.python.sdk.*;
import org.jetbrains.annotations.ApiStatus;
@@ -443,7 +443,7 @@ public abstract class PythonSdkFlavor<D extends PyFlavorData> {
}
public @NotNull Icon getIcon() {
return PythonPsiApiIcons.Python;
return PythonParserIcons.PythonFile;
}
@ApiStatus.Internal
@@ -14,8 +14,8 @@ import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiFile;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import com.jetbrains.python.psi.PyFile;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.run.PythonRunConfiguration;
import com.jetbrains.python.run.PythonRunConfigurationProducer;
import org.jetbrains.annotations.NotNull;
@@ -27,7 +27,7 @@ public class PyRunFileInConsoleAction extends AnAction implements DumbAware {
public PyRunFileInConsoleAction() {
super(PyBundle.messagePointer("acton.run.file.in.python.console.title"),
PyBundle.messagePointer("action.run.file.in.python.console.description"), PythonPsiApiIcons.Python);
PyBundle.messagePointer("action.run.file.in.python.console.description"), PythonParserIcons.PythonFile);
}
@Override
@@ -76,7 +76,7 @@ import com.jetbrains.python.debugger.PyDebugValue;
import com.jetbrains.python.debugger.PyVariableViewSettings;
import com.jetbrains.python.debugger.ValuesPolicy;
import com.jetbrains.python.debugger.settings.PyDebuggerSettings;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import com.jetbrains.python.remote.PyRemotePathMapper;
import com.jetbrains.python.remote.PyRemoteSdkAdditionalDataBase;
import com.jetbrains.python.remote.PyRemoteSocketToLocalHostProvider;
@@ -1262,7 +1262,7 @@ public class PydevConsoleRunnerImpl implements PydevConsoleRunner {
final ServerSocket serverSocket = PythonCommandLineState.createServerSocket();
return XDebuggerManager.getInstance(myProject).
startSessionAndShowTab(PyBundle.message("pydev.console.runner.python.console.debugger"), PythonPsiApiIcons.Python, null, true,
startSessionAndShowTab(PyBundle.message("pydev.console.runner.python.console.debugger"), PythonParserIcons.PythonFile, null, true,
new XDebugProcessStarter() {
@Override
public @NotNull XDebugProcess start(final @NotNull XDebugSession session) {
@@ -6,7 +6,7 @@ import com.jetbrains.python.icons.PythonIcons
import com.jetbrains.python.packaging.common.PythonPackage
import com.jetbrains.python.packaging.common.PythonPackageDetails
import com.jetbrains.python.packaging.repository.PyPackageRepository
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
import javax.swing.Icon
class CondaPackage(
@@ -15,7 +15,7 @@ class CondaPackage(
val installedWithPip: Boolean = false,
) : PythonPackage(name, version, editableMode) {
override val sourceRepoIcon: Icon = if (installedWithPip) {
PythonPsiApiIcons.Python
PythonParserIcons.PythonFile
} else {
PythonIcons.Python.Anaconda
}
@@ -12,14 +12,14 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.projectRoots.Sdk
import com.jetbrains.python.packaging.PyPackageName
import com.jetbrains.python.packaging.management.PythonPackageManager
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
fun completePackageNames(project: Project, sdk: Sdk, result: CompletionResultSet) {
val repositoryManager = PythonPackageManager.forSdk(project, sdk).repositoryManager
val packages = repositoryManager.allPackages()
val maxPriority = packages.size
packages.asSequence().map {
LookupElementBuilder.create(it.lowercase()).withIcon(PythonPsiApiIcons.Python)
LookupElementBuilder.create(it.lowercase()).withIcon(PythonParserIcons.PythonFile)
}.mapIndexed { index, lookupElementBuilder ->
PrioritizedLookupElement.withPriority(lookupElementBuilder, (maxPriority - index).toDouble())
}.forEach { result.addElement(it) }
@@ -7,7 +7,7 @@ import com.intellij.execution.configurations.ConfigurationTypeUtil;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.openapi.project.Project;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -50,7 +50,7 @@ public final class PythonConfigurationType implements ConfigurationType {
@Override
public Icon getIcon() {
return PythonPsiApiIcons.Python;
return PythonParserIcons.PythonFile;
}
@Override
@@ -6,7 +6,7 @@ import com.jetbrains.python.PyBundle
import com.jetbrains.python.packaging.management.PythonPackageManager
import com.jetbrains.python.packaging.repository.PyPIPackageRepository
import com.jetbrains.python.packaging.repository.PyPackageRepository
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
import javax.swing.Icon
class PyRunAnythingPipProvider : PyRunAnythingPackageProvider() {
@@ -19,11 +19,11 @@ class PyRunAnythingPipProvider : PyRunAnythingPackageProvider() {
override fun getCompletionGroupTitle() = PyBundle.message("python.run.anything.pip.provider")
override fun getIcon(value: String): Icon {
return PythonPsiApiIcons.Python
return PythonParserIcons.PythonFile
}
override fun getHelpIcon(): Icon {
return PythonPsiApiIcons.Python
return PythonParserIcons.PythonFile
}
override fun getDefaultCommands(): Sequence<String> {
@@ -34,8 +34,8 @@ import com.intellij.util.concurrency.annotations.RequiresBackgroundThread;
import com.intellij.util.containers.ContainerUtil;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.PyNames;
import com.jetbrains.python.parser.icons.PythonParserIcons;
import com.jetbrains.python.psi.LanguageLevel;
import com.jetbrains.python.psi.icons.PythonPsiApiIcons;
import com.jetbrains.python.remote.PyCredentialsContribution;
import com.jetbrains.python.remote.PyRemoteInterpreterUtil;
import com.jetbrains.python.remote.PyRemoteSdkAdditionalDataBase;
@@ -95,7 +95,7 @@ public final class PythonSdkType extends SdkType {
@Override
public Icon getIcon() {
return PythonPsiApiIcons.Python;
return PythonParserIcons.PythonFile;
}
@Override
@@ -15,10 +15,10 @@ import com.intellij.openapi.util.UserDataHolder
import com.intellij.util.concurrency.annotations.RequiresEdt
import com.jetbrains.python.PySdkBundle
import com.jetbrains.python.newProject.collector.InterpreterStatisticsInfo
import com.jetbrains.python.parser.icons.PythonParserIcons
import com.jetbrains.python.pathValidation.PlatformAndRoot
import com.jetbrains.python.pathValidation.ValidationRequest
import com.jetbrains.python.pathValidation.validateEmptyDir
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.sdk.PyDetectedSdk
import com.jetbrains.python.sdk.PySdkToInstall
import com.jetbrains.python.sdk.configuration.findPreferredVirtualEnvBaseSdk
@@ -36,7 +36,7 @@ abstract class PyAddSdkPanel : JPanel(), PyAddSdkView {
get() = this
abstract override val panelName: String
override val icon: Icon = PythonPsiApiIcons.Python
override val icon: Icon = PythonParserIcons.PythonFile
open val sdk: Sdk? = null
open val nameExtensionComponent: JComponent? = null
open var newProjectPath: String? = null
@@ -31,7 +31,7 @@ import com.jetbrains.python.Result
import com.jetbrains.python.errorProcessing.PyResult
import com.jetbrains.python.icons.PythonIcons
import com.jetbrains.python.newProject.collector.InterpreterStatisticsInfo
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
import com.jetbrains.python.sdk.*
import com.jetbrains.python.sdk.pipenv.PIPENV_ICON
import com.jetbrains.python.sdk.poetry.POETRY_ICON
@@ -126,7 +126,7 @@ enum class PythonSupportedEnvironmentManagers(val nameKey: String, val icon: Ico
PIPENV("sdk.create.custom.pipenv", PIPENV_ICON),
UV("sdk.create.custom.uv", UV_ICON),
HATCH("sdk.create.custom.hatch", PythonHatchIcons.Logo),
PYTHON("sdk.create.custom.python", PythonPsiApiIcons.Python)
PYTHON("sdk.create.custom.python", PythonParserIcons.PythonFile)
}
enum class PythonInterpreterSelectionMode(val nameKey: String) {
@@ -38,7 +38,7 @@ import com.intellij.util.SystemProperties
import com.intellij.util.ui.JBUI
import com.jetbrains.python.PyBundle.message
import com.jetbrains.python.errorProcessing.ErrorSink
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
import com.jetbrains.python.sdk.add.v2.PythonInterpreterSelectionMethod.CREATE_NEW
import com.jetbrains.python.sdk.add.v2.PythonInterpreterSelectionMethod.SELECT_EXISTING
import com.jetbrains.python.sdk.add.v2.PythonInterpreterSelectionMode.CUSTOM
@@ -158,7 +158,7 @@ internal fun SimpleColoredComponent.customizeForPythonInterpreter(isLoading: Boo
when (interpreter) {
is DetectedSelectableInterpreter, is ManuallyAddedSelectableInterpreter -> {
icon = IconLoader.getTransparentIcon(interpreter.ui?.icon ?: PythonPsiApiIcons.Python)
icon = IconLoader.getTransparentIcon(interpreter.ui?.icon ?: PythonParserIcons.PythonFile)
val title = interpreter.ui?.title ?: message("sdk.rendering.detected.grey.text")
append(String.format("Python %-4s", interpreter.languageLevel))
append(" (" + replaceHomePathToTilde(interpreter.homePath) + ") $title", SimpleTextAttributes.GRAYED_SMALL_ATTRIBUTES)
@@ -169,7 +169,7 @@ internal fun SimpleColoredComponent.customizeForPythonInterpreter(isLoading: Boo
append(" " + message("sdk.rendering.installable.grey.text"), SimpleTextAttributes.GRAYED_SMALL_ATTRIBUTES)
}
is ExistingSelectableInterpreter -> {
icon = PythonPsiApiIcons.Python
icon = PythonParserIcons.PythonFile
// This is a dirty hack, but version string might be null for invalid pythons
// We must fix it after PythonInterpreterService will make sdk needless
append(interpreter.sdk.versionString ?: "broken interpreter")
@@ -11,7 +11,7 @@ import com.intellij.openapi.options.Configurable
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.NlsSafe
import com.jetbrains.python.PyBundle
import com.jetbrains.python.psi.icons.PythonPsiApiIcons
import com.jetbrains.python.parser.icons.PythonParserIcons
import org.jetbrains.annotations.Nls
import java.util.function.Supplier
import javax.swing.Icon
@@ -20,7 +20,7 @@ class PythonLanguageRuntimeType : LanguageRuntimeType<PythonLanguageRuntimeConfi
override val displayName: @NlsSafe String = "Python"
override val icon: Icon
get() = PythonPsiApiIcons.Python
get() = PythonParserIcons.PythonFile
override val configurableDescription: @Nls String
get() = PyBundle.message("python.language.configure.label")