module Graphics.Vty.Platform.Windows.WindowsCapabilities
( getStringCapability,
getIntCapability
) where
import qualified Data.Map as M
getStringCapability :: String -> Maybe String
getStringCapability :: String -> Maybe String
getStringCapability String
cap = String -> Map String String -> Maybe String
forall k a. Ord k => k -> Map k a -> Maybe a
M.lookup String
cap Map String String
windowsStringCaps
getIntCapability :: String -> Maybe Int
getIntCapability :: String -> Maybe Int
getIntCapability String
cap = String -> Map String Int -> Maybe Int
forall k a. Ord k => k -> Map k a -> Maybe a
M.lookup String
cap Map String Int
windowsIntCaps
esc :: String -> String
esc :: String -> String
esc String
code = Char
'\ESC' Char -> String -> String
forall a. a -> [a] -> [a]
: String
code
csi :: String -> String
csi :: String -> String
csi String
code = String -> String
esc (String -> String) -> String -> String
forall a b. (a -> b) -> a -> b
$ Char
'[' Char -> String -> String
forall a. a -> [a] -> [a]
: String
code
windowsStringCaps :: M.Map String String
windowsStringCaps :: Map String String
windowsStringCaps = [(String, String)] -> Map String String
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList
[ (String
"sgr0", String -> String
csi String
"0m")
, (String
"bold", String -> String
csi String
"1m")
, (String
"dim", String -> String
csi String
"2m")
, (String
"sitm", String -> String
csi String
"3m")
, (String
"smul", String -> String
csi String
"4m")
, (String
"rev", String -> String
csi String
"7m")
, (String
"invis", String -> String
csi String
"8m")
, (String
"smxx", String -> String
csi String
"9m")
, (String
"ritm", String -> String
csi String
"23m")
, (String
"rmul", String -> String
csi String
"24m")
, (String
"rmso", String -> String
csi String
"27m")
, (String
"rmxx", String -> String
csi String
"29m")
, (String
"clear", String -> String
csi String
"H" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String -> String
csi String
"J")
, (String
"cup", String -> String
csi String
"%i%p1%d;%p2%dH")
, (String
"civis", String -> String
csi String
"?25l")
, (String
"cnorm", String -> String
csi String
"?25h")
, (String
"home", String -> String
csi String
"H")
, (String
"ed", String -> String
csi String
"J")
, (String
"el", String -> String
csi String
"K")
, (String
"kbs", String
"^H")
, (String
"setab", String -> String
csi String
"%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m")
, (String
"setaf", String -> String
csi String
"%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m")
, (String
"sgr", String -> String
csi String
"0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m")
, (String
"smcup", String -> String
csi String
"?1049h")
, (String
"rmcup", String -> String
csi String
"?1049l")
]
windowsIntCaps :: M.Map String Int
windowsIntCaps :: Map String Int
windowsIntCaps = [(String, Int)] -> Map String Int
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList
[ (String
"colors", Int
256)
]