| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Effectful.Terminal.Static
Description
Provides a static terminal effect.
Since: 0.1
Synopsis
- data Terminal (a :: Type -> Type) b
- putStr :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => String -> Eff es ()
- putStrLn :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => String -> Eff es ()
- putBinary :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => ByteString -> Eff es ()
- getChar :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Char
- getLine :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es String
- getContents' :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es String
- getTerminalSize :: forall a (es :: [Effect]). (HasCallStack, Integral a, Terminal :> es) => Eff es (Window a)
- supportsPretty :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Bool
- runTerminal :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (Terminal ': es) a -> Eff es a
- print :: forall a (es :: [Effect]). (Show a, HasCallStack, Terminal :> es) => a -> Eff es ()
- putText :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Text -> Eff es ()
- putTextLn :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Text -> Eff es ()
- getTextLine :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Text
- getTextContents' :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Text
- getTerminalWidth :: forall a (es :: [Effect]). (HasCallStack, Integral a, Terminal :> es) => Eff es a
- getTerminalHeight :: forall a (es :: [Effect]). (HasCallStack, Integral a, Terminal :> es) => Eff es a
- data Window a = Window {}
- data Text
Effect
data Terminal (a :: Type -> Type) b Source #
Static terminal effect.
Since: 0.1
Instances
| type DispatchOf Terminal Source # | |
Defined in Effectful.Terminal.Static | |
| data StaticRep Terminal Source # | |
Defined in Effectful.Terminal.Static | |
putStr :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => String -> Eff es () Source #
Lifted putStr.
Since: 0.1
putStrLn :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => String -> Eff es () Source #
Lifted putStrLn.
Since: 0.1
putBinary :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => ByteString -> Eff es () Source #
Lifted putStr.
Since: 0.1
getChar :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Char Source #
Lifted getChar.
Since: 0.1
getLine :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es String Source #
Lifted getLine.
Since: 0.1
getContents' :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es String Source #
Lifted getContents'.
Since: 0.1
getTerminalSize :: forall a (es :: [Effect]). (HasCallStack, Integral a, Terminal :> es) => Eff es (Window a) Source #
Retrieves the terminal size.
Since: 0.1
supportsPretty :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Bool Source #
Determines if we support ANSI styling.
Since: 0.1
Handlers
runTerminal :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (Terminal ': es) a -> Eff es a Source #
Functions
print :: forall a (es :: [Effect]). (Show a, HasCallStack, Terminal :> es) => a -> Eff es () Source #
Since: 0.1
Text
getTextLine :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Text Source #
Since: 0.1
getTextContents' :: forall (es :: [Effect]). (HasCallStack, Terminal :> es) => Eff es Text Source #
Since: 0.1
Window
getTerminalWidth :: forall a (es :: [Effect]). (HasCallStack, Integral a, Terminal :> es) => Eff es a Source #
Retrieves the terminal width.
Since: 0.1
getTerminalHeight :: forall a (es :: [Effect]). (HasCallStack, Integral a, Terminal :> es) => Eff es a Source #
Retrieves the terminal height.
Since: 0.1
Re-exports
Terminal window width and height
Instances
| Functor Window Source # | |||||
| Foldable Window Source # | |||||
Defined in System.Console.Terminal.Common Methods fold :: Monoid m => Window m -> m # foldMap :: Monoid m => (a -> m) -> Window a -> m # foldMap' :: Monoid m => (a -> m) -> Window a -> m # foldr :: (a -> b -> b) -> b -> Window a -> b # foldr' :: (a -> b -> b) -> b -> Window a -> b # foldl :: (b -> a -> b) -> b -> Window a -> b # foldl' :: (b -> a -> b) -> b -> Window a -> b # foldr1 :: (a -> a -> a) -> Window a -> a # foldl1 :: (a -> a -> a) -> Window a -> a # elem :: Eq a => a -> Window a -> Bool # maximum :: Ord a => Window a -> a # minimum :: Ord a => Window a -> a # | |||||
| Traversable Window Source # | |||||
| Generic1 Window Source # | |||||
Defined in System.Console.Terminal.Common Associated Types
| |||||
| Data a => Data (Window a) Source # | |||||
Defined in System.Console.Terminal.Common Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Window a -> c (Window a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Window a) # toConstr :: Window a -> Constr # dataTypeOf :: Window a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Window a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Window a)) # gmapT :: (forall b. Data b => b -> b) -> Window a -> Window a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Window a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Window a -> r # gmapQ :: (forall d. Data d => d -> u) -> Window a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Window a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Window a -> m (Window a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Window a -> m (Window a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Window a -> m (Window a) # | |||||
| Generic (Window a) Source # | |||||
Defined in System.Console.Terminal.Common Associated Types
| |||||
| Read a => Read (Window a) Source # | |||||
| Show a => Show (Window a) Source # | |||||
| Eq a => Eq (Window a) Source # | |||||
| type Rep1 Window Source # | |||||
Defined in System.Console.Terminal.Common type Rep1 Window = D1 ('MetaData "Window" "System.Console.Terminal.Common" "terminal-size-0.3.4-66d8cddaa48f37c4d19889a67a93422e834e8b135a9849e68b61d130e9d8d6bc" 'False) (C1 ('MetaCons "Window" 'PrefixI 'True) (S1 ('MetaSel ('Just "height") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Just "width") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)) | |||||
| type Rep (Window a) Source # | |||||
Defined in System.Console.Terminal.Common type Rep (Window a) = D1 ('MetaData "Window" "System.Console.Terminal.Common" "terminal-size-0.3.4-66d8cddaa48f37c4d19889a67a93422e834e8b135a9849e68b61d130e9d8d6bc" 'False) (C1 ('MetaCons "Window" 'PrefixI 'True) (S1 ('MetaSel ('Just "height") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "width") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))) | |||||
A space efficient, packed, unboxed Unicode text type.
Instances
| PrintfArg Text # | Since: text-1.2.2.0 |
Defined in Data.Text | |
| Binary Text # | Since: text-1.2.1.0 |
| NFData Text # | |
| Monoid Text # | |
| Semigroup Text # | Beware: Since: text-1.2.2.0 |
| Data Text # | This instance preserves data abstraction at the cost of inefficiency. We omit reflection services for the sake of data abstraction. This instance was created by copying the updated behavior of
The original discussion is archived here: could we get a Data instance for Data.Text.Text? The followup discussion that changed the behavior of |
Defined in Data.Text Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Text -> c Text # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Text # dataTypeOf :: Text -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Text) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Text) # gmapT :: (forall b. Data b => b -> b) -> Text -> Text # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Text -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Text -> r # gmapQ :: (forall d. Data d => d -> u) -> Text -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Text -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Text -> m Text # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Text -> m Text # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Text -> m Text # | |
| IsString Text # | Performs replacement on invalid scalar values:
|
Defined in Data.Text Methods fromString :: String -> Text # | |
| IsList Text # | Performs replacement on invalid scalar values:
Since: text-1.2.0.0 |
| Read Text # | |
| Show Text # | |
| Eq Text # | |
| Ord Text # | |
| Pretty Text Source # | |
| Lift Text # | Since: text-1.2.4.0 |
| type Item Text # | |