about summary refs log tree commit diff
path: root/pkgs/profpatsch/execline/e.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/profpatsch/execline/e.nix')
-rw-r--r--pkgs/profpatsch/execline/e.nix18
1 files changed, 4 insertions, 14 deletions
diff --git a/pkgs/profpatsch/execline/e.nix b/pkgs/profpatsch/execline/e.nix
index 90b235a4..4c569bcd 100644
--- a/pkgs/profpatsch/execline/e.nix
+++ b/pkgs/profpatsch/execline/e.nix
@@ -1,4 +1,4 @@
-{ writeExecline, getBins, pkgs }:
+{ writeExecline, getBins, pkgs, writeRustSimple }:
 let
 
   bins = getBins pkgs.rlwrap [ "rlwrap" ]
@@ -28,20 +28,10 @@ let
     if [ $# -eq 0 ]; then
       ${shell}
     else
-      cmd=
-      # substitute "[" and "]" to execline’s "{" and "}"
-      for arg in "$@"; do
-        if [ "$arg" = "[" ]; then
-          cmd="$cmd {"
-        else if [ "$arg" = "]" ]; then
-          cmd="$cmd }"
-        else
-          cmd="$cmd $arg"
-        fi; fi
-      done
-      # call execlineb with the arguments as script
-      ${bins.execlineb} -Pc "$cmd"
+      export EXECLINE_STRICT=2
+      ${run-cmd-line-block} "$@"
     fi
   '';
 
+  run-cmd-line-block = writeRustSimple "run-cmd-line-block" {} ./run-cmd-line-block.rs;
 in { inherit e; }