From 83361fe2a080a8a7d39f813029c1acf7a7f43e24 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Mon, 8 Nov 2021 16:49:00 +0100
Subject: [PATCH] Allow spaces around equals sign in :let

---
 CHANGELOG.md                                            | 2 +-
 notebooks/tests/let.ipynb                               | 2 +-
 src/main/java/de/prob2/jupyter/commands/LetCommand.java | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2fa39f0..1f4ae41 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@
 * Added support for Java 17.
 * Updated ProB 2 to version 4.0.0-SNAPSHOT.
 * Added a `:language` command to allow changing the language used to parse user input. For example `:language event_b` can be used to switch to Event-B syntax when a non-Event-B machine is loaded (or no machine at all).
-* Made `:let` syntax more flexible: both `:let name value` and `:let name=value` are now allowed.
+* Made `:let` syntax more flexible: both `:let name value` and `:let name = value` are now allowed.
 * Improved the performance of loading machines by reusing the existing instance of ProB instead of starting a new one for each machine.
 * Improved error highlighting for machines loaded from files and not from the notebook.
 * Local variables (created using `:let`) are now discarded when a new machine is loaded. Previously local variables would be remembered even across machine loads, which could lead to confusing behavior and errors.
diff --git a/notebooks/tests/let.ipynb b/notebooks/tests/let.ipynb
index 9315c64..7739a36 100644
--- a/notebooks/tests/let.ipynb
+++ b/notebooks/tests/let.ipynb
@@ -408,7 +408,7 @@
     }
    ],
    "source": [
-    ":let y=2"
+    ":let y = 2"
    ]
   },
   {
diff --git a/src/main/java/de/prob2/jupyter/commands/LetCommand.java b/src/main/java/de/prob2/jupyter/commands/LetCommand.java
index e591444..fb7c44d 100644
--- a/src/main/java/de/prob2/jupyter/commands/LetCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/LetCommand.java
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
 public final class LetCommand implements Command {
 	private static final @NotNull Parameter.RequiredSingle NAME_AND_EXPRESSION = Parameter.requiredRemainder("nameAndExpression");
 	
-	private static final @NotNull Pattern NAME_AND_EXPRESSION_SPLIT_PATTERN = Pattern.compile("=|\\s+");
+	private static final @NotNull Pattern NAME_AND_EXPRESSION_SPLIT_PATTERN = Pattern.compile("\\s*[\\s=]\\s*");
 	
 	private final @NotNull Provider<@NotNull ProBKernel> kernelProvider;
 	private final @NotNull AnimationSelector animationSelector;
-- 
GitLab