{-# LANGUAGE OverloadedStrings #-}

module Config (-- * Icons!

               fileIcon,
               directoryIcon, 
               iconConfig) where

import Data.Map ( fromList, Map )
import Colors

-- | Icon to be displayed when the file has no extension or the extension 

--   is not in the hashmap

fileIcon :: String
fileIcon :: String
fileIcon = String -> String
bgreen String
"\983578"

-- | Icon to be displayed when the object is a directory

directoryIcon :: String
directoryIcon :: String
directoryIcon = String -> String
byellow String
"\60035"

-- | Config hashmap for icons for file extensions

--   There must be a colors function for every icon in the tuples, 

--   otherwise formatting will not work correctly.

--   Use white and bwhite in case if you want white icons.

--   If you want an empty icon, use exactly one space.

iconConfig :: Map String String
iconConfig :: Map String String
iconConfig = forall k a. Ord k => [(k, a)] -> Map k a
fromList [
    (String
".bz",            String -> String
cyan    String
"\61894"),
    (String
".c",             String -> String
blue    String
"\58910"),
    (String
".cl",            String -> String
blue    String
"\984615"),
    (String
".class",         String -> String
red     String
"\57942"),
    (String
".cs",            String -> String
magenta String
"\983835"),
    (String
".css",           String -> String
blue    String
"\59209"),
    (String
".cpp",           String -> String
blue    String
"\58909"),
    (String
".dart",          String -> String
blue    String
"\58956"),
    (String
".deb",           String -> String
bred    String
"\62214"),
    --("dockerfile", "\62216"),       -- SPOILERS ??

    (String
".fasl",          String -> String
blue    String
"\984615"),
    (String
".gitignore",     String -> String
bcyan String
"\58973"),
    (String
".gitattributes", String -> String
bcyan String
"\58973"),
    (String
".gz",            String -> String
cyan    String
"\61894"),
    (String
".h",             String -> String
magenta String
"\58910"),
    (String
".hi",            String -> String
magenta String
"\986258"),
    (String
".hs",            String -> String
magenta String
"\986258"),
    (String
".html",          String -> String
red     String
"\61755"),
    (String
".java",          String -> String
red     String
"\57942"),
    (String
".jar",           String -> String
red     String
"\57942"),
    (String
".jpeg",          String -> String
bgreen  String
"\983631"),
    (String
".jpg",           String -> String
bgreen  String
"\983631"),
    (String
".js",            String -> String
byellow String
"\983838"),
    (String
".json",          String -> String
byellow String
"\58891"),
    (String
".kt",            String -> String
yellow  String
"\987673"),
    (String
".l",             String -> String
blue    String
"\984615"),
    (String
".lisp",          String -> String
blue    String
"\984615"),
    (String
".lsp",           String -> String
blue    String
"\984615"),
    (String
".lock",          String -> String
blue    String
"\983870"),
    (String
".lua",           String -> String
blue    String
"\58912"),
    (String
".md",            String -> String
cyan    String
"\58889"),
    (String
".mp3",           String -> String
magenta String
"\983942"),
    (String
".mp4",           String -> String
bred    String
"\61764"),
    (String
".out",           String -> String
white   String
"\58898"),
    (String
".pl",            String -> String
cyan    String
"\59006"),
    (String
".png",           String -> String
bgreen  String
"\983631"),
    (String
".py",            String -> String
blue    String
"\58886"),
    (String
".rar",           String -> String
cyan    String
"\61894"),
    --("robots", "\984745"),

    (String
".toml",          String -> String
blue    String
"\61459"),
    (String
".ts",            String -> String
blue    String
"\984806"),
    (String
".ttf",           String -> String
red     String
"\61489"),
    (String
".rb",            String -> String
bred    String
"\59193"),
    (String
".rpm",           String -> String
bred    String
"\62230"),
    (String
".vue",           String -> String
bgreen  String
"\985156"),
    (String
".woff",          String -> String
red     String
"\61489"),
    (String
".woff2",         String -> String
red     String
"\61489"),
    (String
".xml",           String -> String
cyan    String
"\984512"),
    (String
".xz",            String -> String
cyan    String
"\61894"),
    (String
".yaml",          String -> String
magenta String
"\59048"),
    (String
".yml",           String -> String
magenta String
"\59048"),
    (String
".zip",           String -> String
cyan    String
"\61894")
    ]