Skip to content

Commit 1afdec3

Browse files
committed
Nix.Builtins: replaceStrings: m refactor: explain, simplify
1 parent d53cb65 commit 1afdec3

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/Nix/Builtins.hs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -959,27 +959,28 @@ replaceStrings tfrom tto ts =
959959

960960
finish = makeNixString . LazyText.toStrict . Builder.toLazyText
961961

962-
go orig result ctx = case lookupPrefix orig of
962+
go orig resultAccum ctx = case lookupPrefix orig of
963963
Nothing ->
964964
maybe
965-
(finish result)
966-
(\(h, t) -> go t (result <> Builder.singleton h))
965+
(finish resultAccum)
966+
(\(h, t) -> go t (resultAccum <> Builder.singleton h))
967967
(Text.uncons orig)
968968
ctx
969969
Just (prefix, replacementNS, rest) ->
970-
(case prefix of
971-
"" ->
970+
(if prefix == mempty
971+
then
972972
maybe
973-
(finish (result <> Builder.fromText replacement))
974-
(\(h,t) -> go t (mconcat [ result
975-
, Builder.fromText replacement
976-
, Builder.singleton h ]))
973+
(finish (resultAccum <> Builder.fromText replacement))
974+
(\(h,t) -> go t (mconcat [ resultAccum
975+
, Builder.fromText replacement
976+
, Builder.singleton h ]))
977977
(Text.uncons rest)
978-
_prefix ->
979-
go rest (result <> Builder.fromText replacement)) (ctx <> newCtx)
980-
where
981-
replacement = stringIgnoreContext replacementNS
982-
newCtx = NixString.getContext replacementNS
978+
else
979+
go rest (resultAccum <> Builder.fromText replacement))
980+
(ctx <> newCtx)
981+
where
982+
replacement = stringIgnoreContext replacementNS
983+
newCtx = NixString.getContext replacementNS
983984
toValue
984985
$ go (stringIgnoreContext ns) mempty
985986
$ NixString.getContext ns

0 commit comments

Comments
 (0)