You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2025/08/24 03:41:53 UTC
(groovy) branch master updated: GROOVY-11742: posix commands should support variable assignment
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
The following commit(s) were added to refs/heads/master by this push:
new 6275ad3fde GROOVY-11742: posix commands should support variable assignment
6275ad3fde is described below
commit 6275ad3fdea3896ff43b973e059533c75d5f98f3
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sun Aug 24 13:41:43 2025 +1000
GROOVY-11742: posix commands should support variable assignment
---
.../main/groovy/org/apache/groovy/groovysh/Main.groovy | 17 ++++++++++++-----
.../groovy/groovysh/jline/GroovyPosixCommands.java | 1 +
2 files changed, 13 insertions(+), 5 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 ffaa9a217c..236e44cd5b 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
@@ -165,7 +165,7 @@ class Main {
private void cd(CommandInput input) {
try {
parseOptions(adjustUsage('cd', '/cd'), input.args())
- PosixCommands.cd(posix.context, ['/cd', *input.args()] as String[], { Path newPath ->
+ PosixCommands.cd(context(input), ['/cd', *input.args()] as String[], { Path newPath ->
posix.context.currentDir = newPath
scriptEngine.put('PWD', newPath)
})
@@ -176,7 +176,7 @@ class Main {
private void ls(CommandInput input) {
try {
- GroovyPosixCommands.ls(posix.context, ['/ls', *input.args()] as String[])
+ GroovyPosixCommands.ls(context(input), ['/ls', *input.args()] as String[])
} catch (Exception e) {
saveException(e)
}
@@ -184,15 +184,21 @@ class Main {
private void grepcmd(CommandInput input) {
try {
- GroovyPosixCommands.grep(posix.context, ['/grep', *input.args()] as String[])
+ GroovyPosixCommands.grep(context(input), ['/grep', *input.args()] as String[])
} catch (Exception e) {
saveException(e)
}
}
+ private GroovyPosixContext context(CommandInput input) {
+ GroovyPosixContext ctx = new GroovyPosixContext(input.in(), input.out(), input.err(),
+ posix.context.currentDir(), input.terminal(), scriptEngine::get)
+ ctx
+ }
+
private void cat(CommandInput input) {
try {
- GroovyPosixCommands.cat(posix.context, ['/cat', *input.args()] as String[])
+ GroovyPosixCommands.cat(context(input), ['/cat', *input.args()] as String[])
} catch (Exception e) {
saveException(e)
}
@@ -209,7 +215,8 @@ class Main {
private void posix(String[] usage, CommandInput input) {
try {
parseOptions(usage, input.args())
- posix.execute(input.command(), [input.command(), *input.args()] as String[])
+ PosixCommands."${input.command()[1..-1]}"(context(input), [input.command(), *input.args()] as String[])
+// posix.execute(input.command(), [input.command(), *input.args()] as String[])
} catch (Exception e) {
saveException(e)
}
diff --git a/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/jline/GroovyPosixCommands.java b/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/jline/GroovyPosixCommands.java
index 4019daabd5..0bbf4c2370 100644
--- a/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/jline/GroovyPosixCommands.java
+++ b/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/jline/GroovyPosixCommands.java
@@ -753,6 +753,7 @@ public class GroovyPosixCommands extends PosixCommands {
}
match |= nb > 0;
}
+ context.out().flush();
}
}
}