backport: 18.0.0

This commit is contained in:
FalsePattern 2024-10-17 10:24:19 +02:00
parent 7d73c9285d
commit c0f84df37e
Signed by: falsepattern
GPG key ID: E930CDEC50C50E23
7 changed files with 49 additions and 13 deletions

View file

@ -17,10 +17,17 @@ Changelog structure reference:
## [Unreleased] ## [Unreleased]
## [18.0.0]
### Added
- Zig
- Labeled switch statements
### Changed ### Changed
- LSP - LSP
- Updated to LSP4IJ 0.6.1-20241003-152535 - Updated to LSP4IJ 0.7.0
## [17.3.0] ## [17.3.0]

View file

@ -40,7 +40,7 @@ val clionVersion = properties("clionVersion").get()
val clionPlugins = listOf("com.intellij.clion", "com.intellij.cidr.lang", "com.intellij.cidr.base", "com.intellij.nativeDebug") val clionPlugins = listOf("com.intellij.clion", "com.intellij.cidr.lang", "com.intellij.cidr.base", "com.intellij.nativeDebug")
val lsp4jVersion = "0.21.1" val lsp4jVersion = "0.21.1"
val lsp4ijVersion = "0.6.1-20241003-152535" val lsp4ijVersion = "0.7.0"
val lsp4ijNightly = lsp4ijVersion.contains("-") val lsp4ijNightly = lsp4ijVersion.contains("-")
val lsp4ijDepString = "${if (lsp4ijNightly) "nightly." else ""}com.jetbrains.plugins:com.redhat.devtools.lsp4ij:$lsp4ijVersion" val lsp4ijDepString = "${if (lsp4ijNightly) "nightly." else ""}com.jetbrains.plugins:com.redhat.devtools.lsp4ij:$lsp4ijVersion"

View file

@ -11,7 +11,7 @@ baseIDE=clion
ideaVersion=2024.1.6 ideaVersion=2024.1.6
clionVersion=2024.1.5 clionVersion=2024.1.5
pluginVersion=17.3.1-dev001 pluginVersion=18.0.0
# Gradle Releases -> https://github.com/gradle/gradle/releases # Gradle Releases -> https://github.com/gradle/gradle/releases
gradleVersion=8.10.2 gradleVersion=8.10.2

View file

@ -74,7 +74,7 @@ public class ZigModuleBuilder extends ModuleBuilder {
@Override @Override
public JComponent getComponent() { public JComponent getComponent() {
return withBorderIfNeeded(peer.getComponent()); return withBorderIfNeeded(peer.createComponent());
} }
@Override @Override

View file

@ -64,7 +64,7 @@ public class ZigNewProjectWizard implements LanguageGeneratorNewProjectWizard {
@Override @Override
public void setupUI(@NotNull Panel builder) { public void setupUI(@NotNull Panel builder) {
builder.row((JLabel) null, (r) -> { builder.row((JLabel) null, (r) -> {
r.cell(peer.getComponent()) r.cell(peer.createComponent())
.align(AlignX.FILL); .align(AlignX.FILL);
return null; return null;
}); });

View file

@ -16,29 +16,59 @@
package com.falsepattern.zigbrains.project.ide.newproject; package com.falsepattern.zigbrains.project.ide.newproject;
import com.intellij.ide.util.projectWizard.SettingsStep;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.openapi.ui.ValidationInfo;
import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Disposer;
import com.intellij.platform.GeneratorPeerImpl; import com.intellij.platform.ProjectGeneratorPeer;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.JComponent; import javax.swing.JComponent;
import static com.falsepattern.zigbrains.common.util.dsl.JavaPanel.newPanel; import static com.falsepattern.zigbrains.common.util.dsl.JavaPanel.newPanel;
public class ZigProjectGeneratorPeer extends GeneratorPeerImpl<ZigProjectConfigurationData> { public class ZigProjectGeneratorPeer implements ProjectGeneratorPeer<ZigProjectConfigurationData> {
private final ZigNewProjectPanel newProjectPanel; private final ZigNewProjectPanel newProjectPanel;
private volatile JComponent myComponent;
public ZigProjectGeneratorPeer(boolean handleGit) { public ZigProjectGeneratorPeer(boolean handleGit) {
newProjectPanel = new ZigNewProjectPanel(handleGit); newProjectPanel = new ZigNewProjectPanel(handleGit);
} }
@Override
public @NotNull JComponent getComponent() {
return createComponent();
}
@Override
public void buildUI(@NotNull SettingsStep settingsStep) {
}
@Override @Override
public @NotNull ZigProjectConfigurationData getSettings() { public @NotNull ZigProjectConfigurationData getSettings() {
return newProjectPanel.getData(); return newProjectPanel.getData();
} }
@Override @Override
public @NotNull JComponent getComponent() { public @Nullable ValidationInfo validate() {
return newPanel(newProjectPanel::attachPanelTo); return null;
}
@Override
public boolean isBackgroundJobRunning() {
return false;
}
public @NotNull JComponent createComponent() {
if (myComponent == null) {
synchronized (this) {
if (myComponent == null) {
return myComponent = newPanel(newProjectPanel::attachPanelTo);
}
}
}
return myComponent;
} }
public void dispose() { public void dispose() {

View file

@ -197,7 +197,6 @@ Statement
| KEYWORD_ERRDEFER Payload? BlockExprStatement | KEYWORD_ERRDEFER Payload? BlockExprStatement
| IfStatement | IfStatement
| LabeledStatement | LabeledStatement
| SwitchExpr
| VarDeclExprStatement | VarDeclExprStatement
ComptimeStatement ComptimeStatement
@ -211,7 +210,7 @@ private ZB_IfStatement_Body
::= BlockExpr ( KEYWORD_ELSE Payload? Statement )? ::= BlockExpr ( KEYWORD_ELSE Payload? Statement )?
| AssignExpr ( SEMICOLON | KEYWORD_ELSE Payload? Statement ) | AssignExpr ( SEMICOLON | KEYWORD_ELSE Payload? Statement )
LabeledStatement ::= BlockLabel? (Block | LoopStatement) LabeledStatement ::= BlockLabel? (Block | LoopStatement | SwitchExpr)
LoopStatement ::= KEYWORD_INLINE? (ForStatement | WhileStatement) LoopStatement ::= KEYWORD_INLINE? (ForStatement | WhileStatement)
@ -273,7 +272,7 @@ PrimaryExpr
| KEYWORD_BREAK BreakLabel? Expr? | KEYWORD_BREAK BreakLabel? Expr?
| KEYWORD_COMPTIME Expr | KEYWORD_COMPTIME Expr
| KEYWORD_NOSUSPEND Expr | KEYWORD_NOSUSPEND Expr
| KEYWORD_CONTINUE BreakLabel? | KEYWORD_CONTINUE BreakLabel? Expr?
| KEYWORD_RESUME Expr | KEYWORD_RESUME Expr
| KEYWORD_RETURN Expr? | KEYWORD_RETURN Expr?
| BlockLabel? LoopExpr | BlockLabel? LoopExpr
@ -336,7 +335,6 @@ PrimaryTypeExpr
| KEYWORD_ANYFRAME | KEYWORD_ANYFRAME
| KEYWORD_UNREACHABLE | KEYWORD_UNREACHABLE
| StringLiteral | StringLiteral
| SwitchExpr
ContainerDecl ::= (KEYWORD_EXTERN | KEYWORD_PACKED)? ContainerDeclAuto ContainerDecl ::= (KEYWORD_EXTERN | KEYWORD_PACKED)? ContainerDeclAuto
@ -349,6 +347,7 @@ IfTypeExpr ::= IfPrefix TypeExpr (KEYWORD_ELSE Payload? TypeExpr)?
LabeledTypeExpr LabeledTypeExpr
::= BlockLabel Block ::= BlockLabel Block
| BlockLabel? LoopTypeExpr | BlockLabel? LoopTypeExpr
| BlockLabel? SwitchExpr
LoopTypeExpr ::= KEYWORD_INLINE? (ForTypeExpr | WhileTypeExpr) LoopTypeExpr ::= KEYWORD_INLINE? (ForTypeExpr | WhileTypeExpr)