{-# options_haddock prune #-}
-- |Selection Data Type, Internal
module Helic.Data.Selection where

data Selection =
  Clipboard
  |
  Primary
  |
  Secondary
  deriving stock (Selection -> Selection -> Bool
(Selection -> Selection -> Bool)
-> (Selection -> Selection -> Bool) -> Eq Selection
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Selection -> Selection -> Bool
$c/= :: Selection -> Selection -> Bool
== :: Selection -> Selection -> Bool
$c== :: Selection -> Selection -> Bool
Eq, Int -> Selection -> ShowS
[Selection] -> ShowS
Selection -> String
(Int -> Selection -> ShowS)
-> (Selection -> String)
-> ([Selection] -> ShowS)
-> Show Selection
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Selection] -> ShowS
$cshowList :: [Selection] -> ShowS
show :: Selection -> String
$cshow :: Selection -> String
showsPrec :: Int -> Selection -> ShowS
$cshowsPrec :: Int -> Selection -> ShowS
Show)

toXString :: Selection -> Text
toXString :: Selection -> Text
toXString = \case
  Selection
Clipboard -> Text
"CLIPBOARD"
  Selection
Primary -> Text
"PRIMARY"
  Selection
Secondary -> Text
"SECONDARY"