diff --git a/src/Haskell/Ide/Engine/Transport/LspStdio.hs b/src/Haskell/Ide/Engine/Transport/LspStdio.hs index 330cdb1a0..a9709cab0 100644 --- a/src/Haskell/Ide/Engine/Transport/LspStdio.hs +++ b/src/Haskell/Ide/Engine/Transport/LspStdio.hs @@ -265,8 +265,8 @@ updatePositionMap uri changes = pluginGetFile "updatePositionMap: " uri $ \file ModuleCached cm _ -> do let n2oOld = newPosToOld cm o2nOld = oldPosToNew cm - (n2o,o2n) = foldr go (n2oOld, o2nOld) changes - go (J.TextDocumentContentChangeEvent (Just r) _ txt) (n2o', o2n') = + (n2o,o2n) = foldl' go (n2oOld, o2nOld) changes + go (n2o', o2n') (J.TextDocumentContentChangeEvent (Just r) _ txt) = (n2o' <=< newToOld r txt, oldToNew r txt <=< o2n') go _ _ = (const Nothing, const Nothing) let cm' = cm {newPosToOld = n2o, oldPosToNew = o2n} diff --git a/submodules/haskell-lsp b/submodules/haskell-lsp index 82a5128e6..46680c5b9 160000 --- a/submodules/haskell-lsp +++ b/submodules/haskell-lsp @@ -1 +1 @@ -Subproject commit 82a5128e66ea8e4a82fa96826eca2d94f729d8c5 +Subproject commit 46680c5b90585c62d1e826249cdbe096b504278c