aboutsummaryrefslogtreecommitdiff
path: root/tools/emojis.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tools/emojis.hs')
-rwxr-xr-xtools/emojis.hs36
1 files changed, 0 insertions, 36 deletions
diff --git a/tools/emojis.hs b/tools/emojis.hs
deleted file mode 100755
index 9926a9047..000000000
--- a/tools/emojis.hs
+++ /dev/null
@@ -1,36 +0,0 @@
--- Script to generate the list of emojis in T.P.Emoji.hs.
--- to run:
--- curl https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json -o emoji.json
--- stack script --resolver lts-13.17 --package aeson --package bytestring --package text --package containers tools/emojis.hs < emoji.json
-
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE OverloadedStrings #-}
-import Data.Aeson
-import qualified Data.ByteString.Lazy as B
-import Data.Text (Text)
-import Data.Map as M
-
-data Emoji = Emoji Text [Text]
- deriving Show
-
-instance FromJSON Emoji where
- parseJSON = withObject "Emoji" $ \v -> Emoji
- <$> v .: "emoji"
- <*> v .: "aliases"
-
-main :: IO ()
-main = do
- bs <- B.getContents
- case eitherDecode bs of
- Left e -> error e
- Right (emoji :: [Emoji]) -> do
- let emojis = M.fromList $
- [(alias, txt) | Emoji txt aliases <- emoji, alias <- aliases]
- putStrLn $ prettify $ dropWhile (/='[') $ show emojis
-
-prettify :: String -> String
-prettify [] = ""
-prettify ('[':xs) = '\n':' ':' ':'[':prettify xs
-prettify (']':xs) = '\n':' ':' ':']':prettify xs
-prettify (',':'(':xs) = '\n':' ':' ':',':'(':prettify xs
-prettify (x:xs) = x:prettify xs