This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 7d757d79a4fa97069bfd849297718076c088a963
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sat Jul 19 15:13:17 2025 +1000

    tweak regex
---
 .../main/groovy/org/apache/groovy/groovysh/Main.groovy  | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git 
a/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/Main.groovy
 
b/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/Main.groovy
index e6a0630649..3bbb795949 100644
--- 
a/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/Main.groovy
+++ 
b/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/Main.groovy
@@ -179,7 +179,7 @@ class Main {
         try {
             Supplier<Path> workDir = () -> 
Paths.get(System.getProperty('user.dir'))
             DefaultParser parser = new DefaultParser(
-                regexCommand: /\/?[a-zA-Z!]+\S*/,
+                regexCommand: /\/?[a-zA-Z!]\S*/,
                 eofOnUnclosedQuote: true,
                 eofOnEscapedNewLine: true
             )
@@ -288,22 +288,25 @@ class Main {
             println render(messages['startup_banner.1'])
             println '-' * (terminal.width - 1)
 // for debugging
-//            def index = 0
-//            def lines = ['println \\', 'new Date()',
-//                         '/q']
+            def index = 0
+            def lines = ['/slurp 
/Users/paulk/Projects/groovy/subprojects/groovy-json/src/test/resources/groovy9802.json',
+                         'println _',
+                         'x = /slurp 
/Users/paulk/Projects/groovy/subprojects/groovy-json/src/test/resources/groovy9802.json',
+                        'println x',
+                         '/q']
             // REPL-loop
             while (true) {
                 try {
                     systemRegistry.cleanUp() // delete temporary variables and 
reset output streams
 // for debugging
-//                    String line = lines[index++]
-                    String line = reader.readLine("groovy> ")
+                    String line = lines[index++]
+//                    String line = reader.readLine("groovy> ")
                     line = line.readLines().collect{ s ->
                         // remove Groovy continuation character for repl not 
Groovy's sake
                         s.endsWith(' \\') ? s[0..-3] : s
                     }.collect {s ->
                         // repl command parsing assumes whitespace around '='
-                        s.matches(/[a-zA-Z0-9._]*=\S.*/) ? s.replaceFirst('=', 
' = ') : s
+                        s.matches(/[a-zA-Z][a-zA-Z0-9_]* = \S.*/) ? 
s.replaceFirst(' = ', '=') : s
                     }.join('\n')
                     line = parser.getCommand(line).startsWith("/!") ? 
line.replaceFirst("/!", "/! ") : line
                     if (line.startsWith(':')) {

Reply via email to