module Ribosome.Menu.Data.MenuAction where
import qualified Text.Show as Show (show)
import Ribosome.Menu.Data.MenuEvent (QuitReason)
import Ribosome.Menu.Prompt.Data.Prompt (Prompt)
data m a =
Quit (QuitReason m a)
|
Continue
|
Execute (m ())
|
Render Bool
|
UpdatePrompt Prompt
instance Show (MenuAction m a) where
show :: MenuAction m a -> String
show (Quit QuitReason m a
r) =
String
"Quit(" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> QuitReason m a -> String
forall b a. (Show a, IsString b) => a -> b
show QuitReason m a
r String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
")"
show MenuAction m a
Continue =
String
"Continue"
show (Execute m ()
_) =
String
"Execute"
show (Render Bool
changed) =
String
"Render(" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> Bool -> String
forall b a. (Show a, IsString b) => a -> b
show Bool
changed String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
")"
show (UpdatePrompt Prompt
prompt) =
String
"UpdatePrompt(" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> Prompt -> String
forall b a. (Show a, IsString b) => a -> b
show Prompt
prompt String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
")"