diff options
| -rw-r--r-- | default.nix | 48 |
1 files changed, 17 insertions, 31 deletions
diff --git a/default.nix b/default.nix index 160dcc7..6e792e9 100644 --- a/default.nix +++ b/default.nix | |||
| @@ -6,37 +6,23 @@ rec { | |||
| 6 | # haskellPackages = pkgs.haskell.packages."${compilerName}"; | 6 | # haskellPackages = pkgs.haskell.packages."${compilerName}"; |
| 7 | haskellPackages = pkgs.haskell.packages."${compilerName}".override { | 7 | haskellPackages = pkgs.haskell.packages."${compilerName}".override { |
| 8 | overrides = self: super: { | 8 | overrides = self: super: { |
| 9 | Shellac = pkgs.haskell.lib.appendPatch super.Shellac (pkgs.writeText "build.patch" '' | 9 | Shellac = pkgs.stdenv.lib.overrideDerivation super.Shellac (oldAttrs: { |
| 10 | From 20e394aa3ea287fcaacde9c076c9f49929b28ece Mon Sep 17 00:00:00 2001 | 10 | src = pkgs.fetchFromGitHub { |
| 11 | From: Gregor Kleen <gkleen@yggdrasil.li> | 11 | owner = "pngwjpgh"; |
| 12 | Date: Sat, 11 Jun 2016 22:06:36 +0200 | 12 | repo = "shellac"; |
| 13 | Subject: [PATCH] Allow modification of state in beforePrompt | 13 | rev = "b88a92bace5106e7446bc81688d675994f829282"; |
| 14 | 14 | sha256 = "1qpnbnclz1xwisg9wgs4yl8y0ral01pqy8jnq6g7z1xbc8p6qn0i"; | |
| 15 | --- | 15 | }; |
| 16 | src/System/Console/Shell/RunShell.hs | 6 ++++-- | 16 | }); |
| 17 | 1 file changed, 4 insertions(+), 2 deletions(-) | 17 | Shellac-haskeline = pkgs.stdenv.lib.overrideDerivation super.Shellac-haskeline (oldAttrs: { |
| 18 | 18 | src = pkgs.fetchFromGitHub { | |
| 19 | diff --git a/src/System/Console/Shell/RunShell.hs b/src/System/Console/Shell/RunShell.hs | 19 | owner = "pngwjpgh"; |
| 20 | index 79ffb54..3e0b95b 100644 | 20 | repo = "shellac"; |
| 21 | --- a/src/System/Console/Shell/RunShell.hs | 21 | rev = "b88a92bace5106e7446bc81688d675994f829282"; |
| 22 | +++ b/src/System/Console/Shell/RunShell.hs | 22 | sha256 = "1qpnbnclz1xwisg9wgs4yl8y0ral01pqy8jnq6g7z1xbc8p6qn0i"; |
| 23 | @@ -217,9 +217,11 @@ shellLoop desc backend iss = loop | 23 | }; |
| 24 | bst = backendState iss | 24 | unpackPhase = "cp -r $src/shellac-haskeline/. ."; |
| 25 | 25 | }); | |
| 26 | loop st = do | ||
| 27 | - flushOutput backend bst | ||
| 28 | + flushOutput backend bst | ||
| 29 | + | ||
| 30 | + runSh st (outputString backend bst) (beforePrompt desc) >>= loop' . fst | ||
| 31 | |||
| 32 | - runSh st (outputString backend bst) (beforePrompt desc) | ||
| 33 | + loop' st = do | ||
| 34 | setAttemptedCompletionFunction backend bst | ||
| 35 | (completionFunction desc backend bst st) | ||
| 36 | |||
| 37 | -- | ||
| 38 | 2.8.3 | ||
| 39 | ''); | ||
| 40 | }; | 26 | }; |
| 41 | }; | 27 | }; |
| 42 | sequence = haskellPackages.callPackage ./sequence.nix {}; | 28 | sequence = haskellPackages.callPackage ./sequence.nix {}; |
