sarsi 0.0.0.0 → 0.0.0.2
raw patch · 3 files changed
+12/−8 lines, 3 filesdep ~machinesdep ~sarsi
Dependency ranges changed: machines, sarsi
Files
- sarsi-nvim/NVIM/Client.hs +2/−2
- sarsi.cabal +5/−4
- src/Sarsi/Consumer.hs +5/−2
sarsi-nvim/NVIM/Client.hs view
@@ -36,5 +36,5 @@ Request 0 (Text.pack "vim_call_function") $ Vector.fromList $ [ toObject m , toObject $ Vector.fromList xs ]- unpack (Response _ a) = [a]- unpack _ = []+ unpack (Right (Response _ a)) = [a]+ unpack _ = []
sarsi.cabal view
@@ -1,5 +1,5 @@ name: sarsi-version: 0.0.0.0+version: 0.0.0.2 synopsis: A universal quickfix toolkit and his protocol. description:@@ -66,7 +66,7 @@ other-modules: build-depends: base- , sarsi+ , sarsi == 0.0.0.2 , machines , machines-io , machines-process@@ -88,7 +88,8 @@ -- NVIM.Info build-depends: base- , sarsi+ , sarsi == 0.0.0.2+ , machines , binary , bytestring , containers@@ -110,7 +111,7 @@ other-modules: build-depends: base- , sarsi+ , sarsi == 0.0.0.2 , machines , machines-io , machines-process
src/Sarsi/Consumer.hs view
@@ -3,7 +3,7 @@ import Codec.Sarsi (Event, getEvent) import Data.Binary.Machine (streamGet)-import Data.Machine ((<~), runT_)+import Data.Machine ((<~), asParts, auto, runT_) import Network.Socket (Socket, accept, bind, listen, close, socketToHandle) import Sarsi (mkSocket, mkSockAddr') import System.IO (IOMode(ReadMode), hClose)@@ -22,6 +22,9 @@ serve sock sink = do (conn, _) <- accept sock h <- socketToHandle conn ReadMode- runT_ $ sink <~ streamGet getEvent <~ sourceHandle (byChunk) h+ runT_ $ sink <~ asParts <~ auto unpack <~ streamGet getEvent <~ sourceHandle (byChunk) h hClose h serve sock sink+ where+ unpack (Right e) = [e]+ unpack (Left _) = []