getDirContents :: FilePath -> IO [FilePath]
getDirContents dirPath = do
        names <- replaceSpecialChars <$> getDirectoryContents dirPath
        return $ filter (not . specialFiles) names
    where specialFiles f = "." `isPrefixOf` f || f `elem` [".", ".."]
getDirContents :: FilePath -> IO [FilePath]
getDirContents dirPath = do
        names <- replaceSpecialChars <$> getDirectoryContents dirPath
        return $ filter (not . specialFiles) names
    where specialFiles f = "." `isPrefixOf` f || f `elem` [".", ".."]
getDirContents dirPath = do
        names <- replaceSpecialChars <$> getDirectoryContents dirPath
        return $ filter (not . specialFiles) names
    where specialFiles f = "." `isPrefixOf` f || f `elem` [".", ".."]