def get_icon_from_name_and_type(file_name: str, is_folder: bool): # nerd font icons my beloved if not is_folder: match file_name: case "Makefile": return "\ue673" case "Dockerfile" | "Containerfile": return "\ue7b0" case "requirements.txt": return "\ue73c" case "LICENSE": return "\uf1f9" case "Cargo.lock" | "Cargo.toml": return "\ue7a8" if "." in file_name: extension = file_name[file_name.find(".")+1:] match extension: case 'c' | 'h': return "\ue61e" case 'cpp': return "\ue61d" case 'py': return "\ue73c" case 'js': return "\ue781" case 'json': return "\ueb0f" case 'gitignore' | 'gitmodules': return "\ue702" case 'html' | 'htm': return "\ue736" case 'css' | 'tcss': return "\ue749" case 'svg': return "\ue698" case 'ico': return "\ue623" case 'go': return "\ue65e" case 'rs': return "\ue7a8" case 'grnd' | 'sols': return "\uf44f" case 'md': return "\ueb1d" case 'fish': return "\uee41" case 'sh': return "\ue760" case 'bat': return "\ue70f" case 'png' | 'jpg' | 'jpeg' | 'avif': return "\uf03e" case 'lua': return "\ue620" case 'zip' | 'tar' | 'gz' | "7z": return "\ue6aa" case "rb": return "\ue605" case "kt": return "\ue634" case "java": return "\ue738" case _: # unrecognized file type return "\uf15b" else: # has no dot in the name return "\uf15b" else: # is a folder return "\ue5ff"