packages feed

wl-pprint-terminfo 0.6 → 0.7.0

raw patch · 3 files changed

+59/−18 lines, 3 filesdep −hscursesPVP ok

version bump matches the API change (PVP)

Dependencies removed: hscurses

API changes (from Hackage documentation)

Files

System/Console/Terminfo/PrettyPrint.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module System.Console.Terminfo.PrettyPrint   (    -- * Raw Effect (requires the effect be present)@@ -59,10 +60,12 @@ import Control.Applicative import Control.Monad import Control.Monad.Trans.State-import UI.HSCurses.Curses (initScr, scrSize, endWin) import Control.Monad.Trans.Class import Control.Exception (finally) import System.IO (stdout)+#ifdef Cursed+import System.Console.Terminfo.PrettyPrint.Curses+#endif   data ScopedEffect@@ -198,11 +201,15 @@ evalTermState s = liftM fst $ runStateT s []  kludgeWindowSize :: IO Int+#ifdef Cursed kludgeWindowSize = do    _ <- initScr-   s <- snd <$> scrSize+   s <- screenWidth    s <$ guard (s >= 30 && s < 320)  `finally` endWin+#else+kludgeWindowSize = fail "missing ncurses"+#endif  displayLn :: PrettyTerm t => t -> IO () displayLn t = displayDoc 0.6 (prettyTerm t <> linebreak)@@ -219,7 +226,7 @@ displayDoc' term ribbon doc = do   cols <- kludgeWindowSize `mplus`            return (maybe 80 id (getCapability term termColumns))-  displayDoc'' term ribbon cols doc+  displayDoc'' term ribbon (cols - 1) doc  displayDoc'' :: PrettyTerm t => Terminal -> Float -> Int -> t -> IO () displayDoc'' term ribbon cols doc = 
+ System/Console/Terminfo/PrettyPrint/Curses.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module System.Console.Terminfo.PrettyPrint.Curses+  ( initScr+  , screenWidth+  , endWin+  ) where++import Data.Functor+import Foreign.Marshal.Error (throwIfNull)+import Foreign.C.Types (CInt)+import Foreign.Ptr (Ptr)+import Foreign.Storable (peek)++type Window = Ptr ()++initScr :: IO Window+initScr = throwIfNull "initscr" initscr++foreign import ccall unsafe "curses.h initscr" initscr :: IO Window++screenWidth :: IO Int+screenWidth = fromIntegral <$> peek colsPtr++foreign import ccall "curses.h &COLS" colsPtr :: Ptr CInt+foreign import ccall unsafe "curses.h endwin" endWin :: IO CInt
wl-pprint-terminfo.cabal view
@@ -1,22 +1,26 @@-name:          wl-pprint-terminfo-category:      Control, Monads, Text-version:       0.6-cabal-version: >= 1.6-license:       BSD3-license-file:  LICENSE-author:        Edward A. Kmett-maintainer:    Edward A. Kmett <ekmett@gmail.com>-stability:     experimental-homepage:      git://github.com/ekmett/wl-pprint-terminfo/-copyright:     Copyright (C) 2011 Edward A. Kmett-synopsis:      A color pretty printer with terminfo support-description:   A color pretty printer with terminfo support-build-type:    Simple+name:               wl-pprint-terminfo+category:           Control, Monads, Text+version:            0.7.0+cabal-version:      >= 1.6+license:            BSD3+license-file:       LICENSE+author:             Edward A. Kmett+maintainer:         Edward A. Kmett <ekmett@gmail.com>+stability:          experimental+homepage:           git://github.com/ekmett/wl-pprint-terminfo/+copyright:          Copyright (C) 2011 Edward A. Kmett+synopsis:           A color pretty printer with terminfo support+description:        A color pretty printer with terminfo support+build-type:         Simple  source-repository head   type: git   location: git://github.com/ekmett/wl-pprint-terminfo.git +flag Cursed+  manual: False+  default: True+ library    build-depends: @@ -24,9 +28,14 @@     semigroups       >= 0.8   && < 0.9,     containers       >= 0.4   && < 0.5,     wl-pprint-extras >= 1.5   && < 1.6,-    hscurses         >= 1.4   && < 1.5,     terminfo         >= 0.3.2 && < 0.4,     transformers     >= 0.2.2 && < 0.3++  if flag(Cursed)+    extra-libraries: curses+    other-modules:+      System.Console.Terminfo.PrettyPrint.Curses+    cpp-options: -DCursed    exposed-modules:     System.Console.Terminfo.PrettyPrint