From cee7c4cac20f9bc4dd984bdc28b42bd782b299d2 Mon Sep 17 00:00:00 2001 From: flytreeleft Date: Mon, 9 Jun 2025 14:37:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?nop-idea-plugin:=20=E5=8E=BB=E6=8E=89=20App?= =?UTF-8?q?lication=20=E7=B1=BB=E5=9E=8B=E7=9A=84=20XLangRunConfiguration?= =?UTF-8?q?=EF=BC=8C=E4=BB=85=E4=BF=9D=E7=95=99=20XLangDebuggerRunner?= =?UTF-8?q?=EF=BC=8C=E4=BB=8E=E8=80=8C=E6=94=AF=E6=8C=81=E5=AF=B9=20Applic?= =?UTF-8?q?ation=20=E5=92=8C=20JUnit=20=E7=B1=BB=E5=9E=8B=E7=9A=84=20Confi?= =?UTF-8?q?guraiton=20=E7=9A=84=20XLang=20=E8=B0=83=E8=AF=95=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E5=8F=AF=E4=BB=A5=E5=AF=B9=20main=20?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E5=92=8C=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=20XLang=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/debugger/XLangDebugProcess.java | 20 +- .../plugin/debugger/XLangDebuggerRunner.java | 13 +- .../debugger/config/XLangRunCommandState.java | 24 - .../config/XLangRunConfiguration.java | 35 - .../XLangRunnerConfigurationFactory.java | 43 - .../config/XLangRunnerConfigurationType.java | 53 - .../plugin/execution/XLangDebugExecutor.java | 9 +- .../XLangRunnerConfigurationProducer.java | 22 - .../io/nop/idea/plugin/icons/NopIcons.java | 29 +- .../nop/idea/plugin/lang/XLangFileType.java | 4 +- .../src/main/resources/META-INF/plugin.xml | 14 +- .../main/resources/META-INF/pluginIcon.svg | 1135 ++++++++++++++--- .../src/main/resources/actions/xlangDebug.svg | 22 + .../src/main/resources/icons/type.svg | 17 +- 14 files changed, 1016 insertions(+), 424 deletions(-) delete mode 100644 nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunCommandState.java delete mode 100644 nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunConfiguration.java delete mode 100644 nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationFactory.java delete mode 100644 nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationType.java delete mode 100644 nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangRunnerConfigurationProducer.java create mode 100644 nop-idea-plugin/src/main/resources/actions/xlangDebug.svg diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebugProcess.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebugProcess.java index ed798a1c2..e80b15757 100644 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebugProcess.java +++ b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebugProcess.java @@ -50,28 +50,30 @@ import static com.intellij.xdebugger.impl.ui.DebuggerUIUtil.invokeLater; */ public class XLangDebugProcess extends JavaDebugProcess { static final Logger LOG = LoggerFactory.getLogger(XLangDebugProcess.class); - private XLangBreakpointHandler myBreakPointHandler; - private JavaCommandLineState state; - private XLangDebuggerEditorsProvider myEditorsProvider; + private final XLangBreakpointHandler myBreakPointHandler; + private final JavaCommandLineState state; + private final XLangDebuggerEditorsProvider myEditorsProvider; boolean isDisconnected = false; private IDebuggerAsync debugger; //private final AtomicBoolean breakpointsInitiated = new AtomicBoolean(); - private XLangDebugConnector connector; + private final XLangDebugConnector connector; public XLangDebugProcess(@NotNull final XDebugSession session, - @NotNull final RunProfileState state, + @NotNull final JavaCommandLineState state, final DebuggerSession javaSession, int debugPort ) { super(session, javaSession); - this.state = (JavaCommandLineState) state; - myEditorsProvider = new XLangDebuggerEditorsProvider(); - myBreakPointHandler = new XLangBreakpointHandler(this); - javaSession.getProcess().setXDebugProcess(this); + this.state = state; + + this.myEditorsProvider = new XLangDebuggerEditorsProvider(); + this.myBreakPointHandler = new XLangBreakpointHandler(this); this.connector = new XLangDebugConnector(debugPort, this::debuggerNotification, this::onSocketConnected); + + javaSession.getProcess().setXDebugProcess(this); session.addSessionListener(new XDebugSessionListener() { @Override public void breakpointsMuted(boolean muted) { diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebuggerRunner.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebuggerRunner.java index e092f9551..3162fd5de 100644 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebuggerRunner.java +++ b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/XLangDebuggerRunner.java @@ -13,6 +13,7 @@ import com.intellij.debugger.DefaultDebugEnvironment; import com.intellij.debugger.impl.DebuggerSession; import com.intellij.debugger.impl.GenericDebuggerRunner; import com.intellij.execution.ExecutionException; +import com.intellij.execution.JavaRunConfigurationBase; import com.intellij.execution.configurations.JavaCommandLineState; import com.intellij.execution.configurations.JavaParameters; import com.intellij.execution.configurations.RemoteConnection; @@ -28,7 +29,6 @@ import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.XDebuggerManager; import io.nop.api.core.exceptions.NopException; import io.nop.api.core.util.FutureHelper; -import io.nop.idea.plugin.debugger.config.XLangRunConfiguration; import io.nop.idea.plugin.execution.XLangDebugExecutor; import org.jetbrains.annotations.NotNull; @@ -61,7 +61,10 @@ public class XLangDebuggerRunner extends GenericDebuggerRunner { @Override public boolean canRun(@NotNull String executorId, @NotNull RunProfile profile) { - return executorId.equals(XLangDebugExecutor.EXECUTOR_ID) && profile instanceof XLangRunConfiguration; + return executorId.equals(XLangDebugExecutor.EXECUTOR_ID) // 与 XLangDebugExecutor 绑定 + // 同时支持 Application 和 JUnit 类型的 Run Configuration, + // 即,可对 main() 函数和单元测试进行 XLang 调试 + && profile instanceof JavaRunConfigurationBase; } @Override @@ -75,9 +78,9 @@ public class XLangDebuggerRunner extends GenericDebuggerRunner { throw NopException.adapt(e); } - JavaCommandLineState javaCommandLine = (JavaCommandLineState) state; + JavaCommandLineState javaCommandLineState = (JavaCommandLineState) state; - JavaParameters javaParameters = javaCommandLine.getJavaParameters(); + JavaParameters javaParameters = javaCommandLineState.getJavaParameters(); // Making the assumption that it's JVM 7 onwards javaParameters.getVMParametersList().addParametersString(XDEBUG); // Debugger port @@ -105,7 +108,7 @@ public class XLangDebuggerRunner extends GenericDebuggerRunner { @Override public XDebugProcess start(@NotNull XDebugSession xDebugSession) throws ExecutionException { debuggerSession.getContextManager().addListener(new XLangDebugContextListener(xDebugSession, debuggerSession)); - XLangDebugProcess process = new XLangDebugProcess(xDebugSession, state, debuggerSession, + XLangDebugProcess process = new XLangDebugProcess(xDebugSession, javaCommandLineState, debuggerSession, ports[1]); return process; } diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunCommandState.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunCommandState.java deleted file mode 100644 index 76054fb62..000000000 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunCommandState.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) 2017-2024 Nop Platform. All rights reserved. - * Author: canonical_entropy@163.com - * Blog: https://www.zhihu.com/people/canonical-entropy - * Gitee: https://gitee.com/canonical-entropy/nop-entropy - * Github: https://github.com/entropy-cloud/nop-entropy - */ -package io.nop.idea.plugin.debugger.config; - -import com.intellij.execution.application.ApplicationCommandLineState; -import com.intellij.execution.runners.ExecutionEnvironment; -import org.jetbrains.annotations.NotNull; - -public class XLangRunCommandState extends ApplicationCommandLineState { - public XLangRunCommandState(@NotNull XLangRunConfiguration configuration, - @NotNull ExecutionEnvironment environment) { - super(configuration, environment); - } - - @Override - protected boolean isProvidedScopeIncluded() { - return myConfiguration.isProvidedScopeIncluded(); - } -} diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunConfiguration.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunConfiguration.java deleted file mode 100644 index 0d4e2f77c..000000000 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunConfiguration.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (c) 2017-2024 Nop Platform. All rights reserved. - * Author: canonical_entropy@163.com - * Blog: https://www.zhihu.com/people/canonical-entropy - * Gitee: https://gitee.com/canonical-entropy/nop-entropy - * Github: https://github.com/entropy-cloud/nop-entropy - */ -package io.nop.idea.plugin.debugger.config; - -import com.intellij.execution.ExecutionException; -import com.intellij.execution.Executor; -import com.intellij.execution.application.ApplicationConfiguration; -import com.intellij.execution.configurations.ConfigurationFactory; -import com.intellij.execution.configurations.JavaCommandLineState; -import com.intellij.execution.configurations.JavaRunConfigurationModule; -import com.intellij.execution.configurations.RunProfileState; -import com.intellij.execution.filters.TextConsoleBuilderFactory; -import com.intellij.execution.runners.ExecutionEnvironment; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; - -public class XLangRunConfiguration extends ApplicationConfiguration { - public XLangRunConfiguration(String name, @NotNull Project project, ConfigurationFactory factory) { - super(name, project, factory); - } - - @Override - public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException { - final JavaCommandLineState state = new XLangRunCommandState(this, env); - JavaRunConfigurationModule module = getConfigurationModule(); - state.setConsoleBuilder(TextConsoleBuilderFactory.getInstance().createBuilder(getProject(), module.getSearchScope())); - return state; - } - -} \ No newline at end of file diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationFactory.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationFactory.java deleted file mode 100644 index f85246a58..000000000 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2017-2024 Nop Platform. All rights reserved. - * Author: canonical_entropy@163.com - * Blog: https://www.zhihu.com/people/canonical-entropy - * Gitee: https://gitee.com/canonical-entropy/nop-entropy - * Github: https://github.com/entropy-cloud/nop-entropy - */ -package io.nop.idea.plugin.debugger.config; - -import com.intellij.execution.application.JvmMainMethodRunConfigurationOptions; -import com.intellij.execution.configurations.ConfigurationFactory; -import com.intellij.execution.configurations.ConfigurationType; -import com.intellij.execution.configurations.RunConfiguration; -import com.intellij.openapi.components.BaseState; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.NotNull; - -public class XLangRunnerConfigurationFactory extends ConfigurationFactory { - public static XLangRunnerConfigurationFactory INSTANCE = new XLangRunnerConfigurationFactory(XLangRunnerConfigurationType.INSTANCE); - - public XLangRunnerConfigurationFactory(@NotNull ConfigurationType type) { - super(type); - } - - public boolean isEditableInDumbMode() { - return true; - } - - public Class getOptionsClass() { - return JvmMainMethodRunConfigurationOptions.class; - } - - @Override - public @NotNull RunConfiguration createTemplateConfiguration(@NotNull Project project) { - return new XLangRunConfiguration("", project, this); - } - - public @NotNull @NonNls String getId() { - return getType().getDisplayName(); - } - -} diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationType.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationType.java deleted file mode 100644 index 432273bd9..000000000 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/debugger/config/XLangRunnerConfigurationType.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright (c) 2017-2024 Nop Platform. All rights reserved. - * Author: canonical_entropy@163.com - * Blog: https://www.zhihu.com/people/canonical-entropy - * Gitee: https://gitee.com/canonical-entropy/nop-entropy - * Github: https://github.com/entropy-cloud/nop-entropy - */ -package io.nop.idea.plugin.debugger.config; - -import com.intellij.execution.configurations.ConfigurationFactory; -import com.intellij.execution.configurations.ConfigurationType; -import io.nop.idea.plugin.icons.NopIcons; -import org.jetbrains.annotations.NotNull; - -import javax.swing.*; - -public class XLangRunnerConfigurationType implements ConfigurationType { - static final String XLANG_RUNNER = "XLang Runner"; - static final String RUNNER_ID = "XLangRunner"; - - public static XLangRunnerConfigurationType INSTANCE = new XLangRunnerConfigurationType(); - - public XLangRunnerConfigurationType() { - - } - - @Override - public String getDisplayName() { - return XLANG_RUNNER; - } - - @Override - public String getConfigurationTypeDescription() { - return XLANG_RUNNER; - } - - @Override - public Icon getIcon() { - return NopIcons.MODULE_TYPE; - } - - @Override - @NotNull - public String getId() { - return RUNNER_ID; - } - - @Override - public ConfigurationFactory[] getConfigurationFactories() { - XLangRunnerConfigurationFactory factory = new XLangRunnerConfigurationFactory(this); - return new ConfigurationFactory[]{factory}; - } -} diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangDebugExecutor.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangDebugExecutor.java index eede9945c..be6a4fa39 100644 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangDebugExecutor.java +++ b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangDebugExecutor.java @@ -9,15 +9,14 @@ package io.nop.idea.plugin.execution; import com.intellij.execution.Executor; import com.intellij.execution.ExecutorRegistry; -import com.intellij.icons.AllIcons; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.wm.ToolWindowId; import com.intellij.xdebugger.XDebuggerBundle; +import io.nop.idea.plugin.icons.NopIcons; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -import javax.swing.*; - +import javax.swing.Icon; public class XLangDebugExecutor extends Executor { @NonNls @@ -32,13 +31,13 @@ public class XLangDebugExecutor extends Executor { @NotNull @Override public Icon getToolWindowIcon() { - return AllIcons.RunConfigurations.RemoteDebug; + return NopIcons.XLangDebug; } @Override @NotNull public Icon getIcon() { - return AllIcons.Actions.StartDebugger; + return NopIcons.StartXLangDebugger; } @Override diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangRunnerConfigurationProducer.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangRunnerConfigurationProducer.java deleted file mode 100644 index fbd95c4ce..000000000 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/execution/XLangRunnerConfigurationProducer.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2017-2024 Nop Platform. All rights reserved. - * Author: canonical_entropy@163.com - * Blog: https://www.zhihu.com/people/canonical-entropy - * Gitee: https://gitee.com/canonical-entropy/nop-entropy - * Github: https://github.com/entropy-cloud/nop-entropy - */ -package io.nop.idea.plugin.execution; - -import com.intellij.execution.application.AbstractApplicationConfigurationProducer; -import com.intellij.execution.application.ApplicationConfiguration; -import com.intellij.execution.configurations.ConfigurationFactory; -import io.nop.idea.plugin.debugger.config.XLangRunnerConfigurationFactory; -import org.jetbrains.annotations.NotNull; - -public class XLangRunnerConfigurationProducer extends AbstractApplicationConfigurationProducer { - @NotNull - @Override - public ConfigurationFactory getConfigurationFactory() { - return XLangRunnerConfigurationFactory.INSTANCE; - } -} diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/icons/NopIcons.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/icons/NopIcons.java index 46fabc5b4..f6d549749 100644 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/icons/NopIcons.java +++ b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/icons/NopIcons.java @@ -7,8 +7,6 @@ */ package io.nop.idea.plugin.icons; -import com.intellij.icons.AllIcons; - import javax.swing.*; import static com.intellij.openapi.util.IconLoader.getIcon; @@ -27,31 +25,10 @@ import static com.intellij.openapi.util.IconLoader.getIcon; */ public class NopIcons { - public static final Icon MODULE_TYPE = getIcon("/icons/type.svg", NopIcons.class); - - public static final Icon FUNCTOR = AllIcons.Nodes.Artifact; - public static final Icon LET = AllIcons.Nodes.Variable; - public static final Icon VAL = AllIcons.Nodes.Variable; - public static final Icon ATTRIBUTE = AllIcons.Nodes.Property; - public static final Icon FUNCTION = AllIcons.Nodes.Function; - public static final Icon METHOD = AllIcons.Nodes.Method; - public static final Icon CLASS = AllIcons.Nodes.Class; - public static final Icon EXCEPTION = AllIcons.Nodes.ExceptionClass; - public static final Icon EXTERNAL = AllIcons.Nodes.Enum; - public static final Icon OBJECT = AllIcons.Json.Object; - - public static final Icon VIRTUAL_NAMESPACE = AllIcons.Actions.GroupByPackage; - public static final Icon OPEN = AllIcons.Actions.GroupByModule; - public static final Icon INCLUDE = AllIcons.Actions.GroupByModule; - - public static final Icon OVERLAY_MANDATORY = AllIcons.Ide.ErrorPoint; - public static final Icon OVERLAY_EXECUTE = AllIcons.Nodes.RunnableMark; - - public static final Icon RESET = getIcon("/icons/reset.svg", NopIcons.class); - - // REPL + public static final Icon XLangFileType = getIcon("/icons/type.svg", NopIcons.class); - public static final Icon REPL = AllIcons.Nodes.Console; + public static final Icon XLangDebug = getIcon("/actions/xlangDebug.svg", NopIcons.class); + public static final Icon StartXLangDebugger = XLangDebug; private NopIcons() { } diff --git a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/lang/XLangFileType.java b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/lang/XLangFileType.java index 314165661..c3cf39a7d 100644 --- a/nop-idea-plugin/src/main/java/io/nop/idea/plugin/lang/XLangFileType.java +++ b/nop-idea-plugin/src/main/java/io/nop/idea/plugin/lang/XLangFileType.java @@ -42,7 +42,7 @@ public class XLangFileType extends XmlLikeFileType { @Nullable @Override public Icon getIcon() { - return NopIcons.MODULE_TYPE; + return NopIcons.XLangFileType; } @NotNull @@ -50,4 +50,4 @@ public class XLangFileType extends XmlLikeFileType { public String toString() { return getName(); } -} \ No newline at end of file +} diff --git a/nop-idea-plugin/src/main/resources/META-INF/plugin.xml b/nop-idea-plugin/src/main/resources/META-INF/plugin.xml index 0b697215d..317738858 100644 --- a/nop-idea-plugin/src/main/resources/META-INF/plugin.xml +++ b/nop-idea-plugin/src/main/resources/META-INF/plugin.xml @@ -99,23 +99,13 @@ - - - - - - - - - + - - \ No newline at end of file + diff --git a/nop-idea-plugin/src/main/resources/META-INF/pluginIcon.svg b/nop-idea-plugin/src/main/resources/META-INF/pluginIcon.svg index dca30632f..b12e57e6f 100644 --- a/nop-idea-plugin/src/main/resources/META-INF/pluginIcon.svg +++ b/nop-idea-plugin/src/main/resources/META-INF/pluginIcon.svg @@ -1,185 +1,954 @@ image/svg+xml - - - - - - - - - - - - - - - - - \ No newline at end of file + version="1.1" + width="128" + height="72" + style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision" + id="svg131" + xmlns="http://www.w3.org/2000/svg"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nop-idea-plugin/src/main/resources/actions/xlangDebug.svg b/nop-idea-plugin/src/main/resources/actions/xlangDebug.svg new file mode 100644 index 000000000..f99f5537c --- /dev/null +++ b/nop-idea-plugin/src/main/resources/actions/xlangDebug.svg @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/nop-idea-plugin/src/main/resources/icons/type.svg b/nop-idea-plugin/src/main/resources/icons/type.svg index 6b1bf782d..2cdce654d 100644 --- a/nop-idea-plugin/src/main/resources/icons/type.svg +++ b/nop-idea-plugin/src/main/resources/icons/type.svg @@ -1,6 +1,13 @@ - - - - - + + + -- Gitee From 553706252502d652678c74c80a724660d8c7aa48 Mon Sep 17 00:00:00 2001 From: flytreeleft Date: Mon, 9 Jun 2025 14:37:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Nop=20=E5=92=8C=20XLan?= =?UTF-8?q?g=20=E7=9A=84=20svg=20=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nop-logo.svg | 955 +++++++++++++++++++++++++++++++++++++++++++++++++ xlang-logo.svg | 35 ++ 2 files changed, 990 insertions(+) create mode 100644 nop-logo.svg create mode 100644 xlang-logo.svg diff --git a/nop-logo.svg b/nop-logo.svg new file mode 100644 index 000000000..990120e02 --- /dev/null +++ b/nop-logo.svg @@ -0,0 +1,955 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xlang-logo.svg b/xlang-logo.svg new file mode 100644 index 000000000..4d27f824d --- /dev/null +++ b/xlang-logo.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + -- Gitee