wacom-daemon-0.1.0.0: System/Wacom/Util.hs
module System.Wacom.Util where
import Data.Char
import Data.List
import qualified Data.ByteString as B
-- | Trim spaces from right and left
trim :: String -> String
trim = \xs -> rtrim $ ltrim xs
where
ltrim = dropWhile isSpace
rtrim [] = []
rtrim xs = if isSpace $ last xs
then rtrim $ init xs
else xs
-- | Trim double quotes from right and left
trimQuotes :: String -> String
trimQuotes [] = []
trimQuotes ('"' : xs) = rtrim xs
where
rtrim [] = []
rtrim xs = case last xs of
'"' -> init xs
_ -> xs
dropLastWord :: String -> String
dropLastWord = init . dropWhileEnd (not . isSpace)
fromBS :: B.ByteString -> String
fromBS = map (chr . fromIntegral) . B.unpack
isWacom :: String -> Bool
isWacom dev = "Wacom" `isInfixOf` dev