1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-11 11:42:12 +02:00
lazygit/pkg/gui/presentation/icons/file_icons.go
hasecilu 8ec37f80b7 Let users to define custom icons and color for files on the config file
Co-authored-by: Stefan Haller <stefan@haller-berlin.de>
2025-03-25 09:48:12 +01:00

794 lines
52 KiB
Go

package icons
import (
"path/filepath"
"strings"
"github.com/jesseduffield/lazygit/pkg/config"
)
// NOTE: Visit next links for inspiration:
// https://github.com/eza-community/eza/blob/main/src/output/icons.rs
// https://github.com/nvim-tree/nvim-web-devicons/blob/master/lua/nvim-web-devicons/icons-default.lua
var (
DEFAULT_FILE_ICON = IconProperties{Icon: "\uf15b", Color: "#878787"} // 
DEFAULT_SUBMODULE_ICON = IconProperties{Icon: "\U000f02a2", Color: "#FF4F00"} // 󰊢
DEFAULT_DIRECTORY_ICON = IconProperties{Icon: "\uf07b", Color: "#878787"} // 
)
var nameIconMap = map[string]IconProperties{
".atom": {Icon: "\ue764", Color: "#EED9B7"}, // 
".babelrc": {Icon: "\ue639", Color: "#FED836"}, // 
".bash_profile": {Icon: "\ue615", Color: "#89E051"}, // 
".bashprofile": {Icon: "\ue615", Color: "#89E051"}, // 
".bashrc": {Icon: "\ue795", Color: "#89E051"}, // 
".clang-format": {Icon: "\ue615", Color: "#86806D"}, // 
".clang-tidy": {Icon: "\ue615", Color: "#86806D"}, // 
".codespellrc": {Icon: "\U000f04c6", Color: "#35DA60"}, // 󰓆
".condarc": {Icon: "\ue715", Color: "#43B02A"}, // 
".dockerignore": {Icon: "\U000f0868", Color: "#458EE6"}, // 󰡨
".ds_store": {Icon: "\uf302", Color: "#78919C"}, // 
".editorconfig": {Icon: "\ue652", Color: "#FFFFFF"}, // 
".env": {Icon: "\U000f066a", Color: "#FBC02D"}, // 󰙪
".eslintignore": {Icon: "\U000f0c7a", Color: "#3F52B5"}, // 󰱺
".eslintrc": {Icon: "\U000f0c7a", Color: "#3F52B5"}, // 󰱺
".git": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
".git-blame-ignore-revs": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
".gitattributes": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
".gitconfig": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
".github": {Icon: "\uf408", Color: "#333333"}, // 
".gitignore": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
".gitlab-ci.yml": {Icon: "\uf296", Color: "#F54D27"}, // 
".gitmodules": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
".gtkrc-2.0": {Icon: "\uf362", Color: "#FFFFFF"}, // 
".gvimrc": {Icon: "\ue62b", Color: "#019833"}, // 
".idea": {Icon: "\ue7b5", Color: "#626262"}, // 
".justfile": {Icon: "\uf0ad", Color: "#6D8086"}, // 
".luacheckrc": {Icon: "\ue615", Color: "#868F9D"}, // 
".luaurc": {Icon: "\ue615", Color: "#00A2FF"}, // 
".mailmap": {Icon: "\U000f01ee", Color: "#42A5F5"}, // 󰇮
".nanorc": {Icon: "\ue838", Color: "#440077"}, // 
".npmignore": {Icon: "\ued0e", Color: "#CC3837"}, // 
".npmrc": {Icon: "\ued0e", Color: "#CC3837"}, // 
".nuxtrc": {Icon: "\U000f1106", Color: "#00C58E"}, // 󱄆
".nvmrc": {Icon: "\ued0d", Color: "#4CAF51"}, // 
".pre-commit-config.yaml": {Icon: "\U000f06e2", Color: "#F8B424"}, // 󰛢
".prettierignore": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".prettierrc": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".prettierrc.json": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".prettierrc.json5": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".prettierrc.toml": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".prettierrc.yaml": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".prettierrc.yml": {Icon: "\ue6b4", Color: "#4285F4"}, // 
".pylintrc": {Icon: "\ue615", Color: "#968F6D"}, // 
".rvm": {Icon: "\ue21e", Color: "#D70000"}, // 
".settings.json": {Icon: "\ue70c", Color: "#854CC7"}, // 
".SRCINFO": {Icon: "\uf129", Color: "#0F94D2"}, // 
".tmux.conf": {Icon: "\uebc8", Color: "#14BA19"}, // 
".tmux.conf.local": {Icon: "\uebc8", Color: "#14BA19"}, // 
".Trash": {Icon: "\uf1f8", Color: "#ACBCEF"}, // 
".vimrc": {Icon: "\ue62b", Color: "#019833"}, // 
".vscode": {Icon: "\ue70c", Color: "#854CC7"}, // 
".Xauthority": {Icon: "\uf369", Color: "#E54D18"}, // 
".Xresources": {Icon: "\uf369", Color: "#E54D18"}, // 
".xinitrc": {Icon: "\uf369", Color: "#E54D18"}, // 
".xsession": {Icon: "\uf369", Color: "#E54D18"}, // 
".zprofile": {Icon: "\ue615", Color: "#89E051"}, // 
".zshenv": {Icon: "\ue615", Color: "#89E051"}, // 
".zshrc": {Icon: "\ue795", Color: "#89E051"}, // 
"_gvimrc": {Icon: "\ue62b", Color: "#019833"}, // 
"_vimrc": {Icon: "\ue62b", Color: "#019833"}, // 
"AUTHORS": {Icon: "\uedca", Color: "#A172FF"}, // 
"AUTHORS.txt": {Icon: "\uedca", Color: "#A172FF"}, // 
"bin": {Icon: "\U000f12a7", Color: "#25A79A"}, // 󱊧
"brewfile": {Icon: "\ue791", Color: "#701516"}, // 
"bspwmrc": {Icon: "\uf355", Color: "#2F2F2F"}, // 
"BUILD": {Icon: "\ue63a", Color: "#89E051"}, // 
"build.gradle": {Icon: "\ue660", Color: "#005F87"}, // 
"build.zig.zon": {Icon: "\ue6a9", Color: "#F69A1B"}, // 
"bun.lockb": {Icon: "\ue76f", Color: "#EADCD1"}, // 
"cantorrc": {Icon: "\uf373", Color: "#1C99F3"}, // 
"Cargo.lock": {Icon: "\ue7a8", Color: "#DEA584"}, // 
"Cargo.toml": {Icon: "\ue7a8", Color: "#DEA584"}, // 
"checkhealth": {Icon: "\U000f04d9", Color: "#75B4FB"}, // 󰓙
"cmakelists.txt": {Icon: "\ue794", Color: "##DCE3EB"}, // 
"CODE_OF_CONDUCT": {Icon: "\uf4ae", Color: "#E41662"}, // 
"CODE_OF_CONDUCT.md": {Icon: "\uf4ae", Color: "#E41662"}, // 
"CODE-OF-CONDUCT.md": {Icon: "\uf4ae", Color: "#E41662"}, // 
"commit_editmsg": {Icon: "\ue702", Color: "#F54D27"}, // 
"COMMIT_EDITMSG": {Icon: "\ue702", Color: "#E54D18"}, // 
"commitlint.config.js": {Icon: "\U000f0718", Color: "#039688"}, // 
"commitlint.config.ts": {Icon: "\U000f0718", Color: "#039688"}, // 
"compose.yaml": {Icon: "\uf21f", Color: "#0088C9"}, // 
"compose.yml": {Icon: "\uf21f", Color: "#0088C9"}, // 
"config": {Icon: "\uf013", Color: "#696969"}, // 
"containerfile": {Icon: "\uf21f", Color: "#0088C9"}, // 
"copying": {Icon: "\U000f0124", Color: "#FF5821"}, // 󰄤
"copying.lesser": {Icon: "\ue60a", Color: "#CBCB41"}, // 
"docker-compose.yaml": {Icon: "\uf21f", Color: "#0088C9"}, // 
"docker-compose.yml": {Icon: "\uf21f", Color: "#0088C9"}, // 
"dockerfile": {Icon: "\uf21f", Color: "#0088C9"}, // 
"Dockerfile": {Icon: "\uf308", Color: "#458EE6"}, // 
"ds_store": {Icon: "\uf179", Color: "#DDDDDD"}, // 
"eslint.config.cjs": {Icon: "\U000f0c7a", Color: "#3F52B5"}, // 󰱺
"eslint.config.js": {Icon: "\U000f0c7a", Color: "#3F52B5"}, // 󰱺
"eslint.config.mjs": {Icon: "\U000f0c7a", Color: "#3F52B5"}, // 󰱺
"eslint.config.ts": {Icon: "\U000f0c7a", Color: "#3F52B5"}, // 󰱺
"ext_typoscript_setup.txt": {Icon: "\ue772", Color: "#FF8700"}, // 
"favicon.ico": {Icon: "\ue623", Color: "#CBCB41"}, // 
"fp-info-cache": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
"fp-lib-table": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
"FreeCAD.conf": {Icon: "\uf336", Color: "#CB333B"}, // 
"gemfile$": {Icon: "\ue791", Color: "#701516"}, // 
"gitignore_global": {Icon: "\U000f02a2", Color: "#E64A19"}, // 󰊢
"gnumakefile": {Icon: "\ueba2", Color: "#EF5351"}, // 
"GNUmakefile": {Icon: "\ue779", Color: "#6D8086"}, // 
"go.mod": {Icon: "\ue627", Color: "#02ACC1"}, // 
"go.sum": {Icon: "\ue627", Color: "#02ACC1"}, // 
"go.work": {Icon: "\ue627", Color: "#02ACC1"}, // 
"gradle": {Icon: "\ue660", Color: "#005F87"}, // 
"gradle-wrapper.properties": {Icon: "\ue660", Color: "#005F87"}, // 
"gradle.properties": {Icon: "\ue660", Color: "#005F87"}, // 
"gradlew": {Icon: "\ue660", Color: "#005F87"}, // 
"gruntfile.babel.js": {Icon: "\ue611", Color: "#E37933"}, // 
"gruntfile.coffee": {Icon: "\ue611", Color: "#E37933"}, // 
"gruntfile.js": {Icon: "\ue611", Color: "#E37933"}, // 
"gruntfile.ls": {Icon: "\ue611", Color: "#E37933"}, // 
"gruntfile.ts": {Icon: "\ue611", Color: "#E37933"}, // 
"gtkrc": {Icon: "\uf362", Color: "#FFFFFF"}, // 
"gulpfile.babel.js": {Icon: "\ue610", Color: "#CC3E44"}, // 
"gulpfile.coffee": {Icon: "\ue610", Color: "#CC3E44"}, // 
"gulpfile.js": {Icon: "\ue610", Color: "#CC3E44"}, // 
"gulpfile.ls": {Icon: "\ue610", Color: "#CC3E44"}, // 
"gulpfile.ts": {Icon: "\ue610", Color: "#CC3E44"}, // 
"hidden": {Icon: "\uf023", Color: "#555555"}, // 
"hypridle.conf": {Icon: "\uf359", Color: "#00AAAE"}, // 
"hyprland.conf": {Icon: "\uf359", Color: "#00AAAE"}, // 
"hyprlock.conf": {Icon: "\uf359", Color: "#00AAAE"}, // 
"hyprpaper.conf": {Icon: "\uf359", Color: "#00AAAE"}, // 
"i3blocks.conf": {Icon: "\uf35a", Color: "#E8EBEE"}, // 
"i3status.conf": {Icon: "\uf35a", Color: "#E8EBEE"}, // 
"include": {Icon: "\ue5fc", Color: "#EEEEEE"}, // 
"index.theme": {Icon: "\uee72", Color: "#2DB96F"}, // 
"ionic.config.json": {Icon: "\ue66b", Color: "#508FF7"}, // 
"justfile": {Icon: "\uf0ad", Color: "#6D8086"}, // 
"kalgebrarc": {Icon: "\uf373", Color: "#1C99F3"}, // 
"kdeglobals": {Icon: "\uf373", Color: "#1C99F3"}, // 
"kdenlive-layoutsrc": {Icon: "\uf33c", Color: "#83B8F2"}, // 
"kdenliverc": {Icon: "\uf33c", Color: "#83B8F2"}, // 
"kritadisplayrc": {Icon: "\uf33d", Color: "#F245FB"}, // 
"kritarc": {Icon: "\uf33d", Color: "#F245FB"}, // 
"lib": {Icon: "\U000f1517", Color: "#8BC34A"}, // 󱔗
"LICENSE": {Icon: "\uf02d", Color: "#EDEDED"}, // 
"LICENSE.md": {Icon: "\uf02d", Color: "#EDEDED"}, // 
"localized": {Icon: "\uf179", Color: "#DDDDDD"}, // 
"lxde-rc.xml": {Icon: "\uf363", Color: "#909090"}, // 
"lxqt.conf": {Icon: "\uf364", Color: "#0192D3"}, // 
"Makefile": {Icon: "\ue673", Color: "#FEFEFE"}, // 
"mix.lock": {Icon: "\ue62d", Color: "#A074C4"}, // 
"mpv.conf": {Icon: "\uf36e", Color: "#3B1342"}, // 
"node_modules": {Icon: "\ue718", Color: "#E8274B"}, // 
"npmignore": {Icon: "\ue71e", Color: "#E8274B"}, // 
"nuxt.config.cjs": {Icon: "\U000f1106", Color: "#00C58E"}, // 󱄆
"nuxt.config.js": {Icon: "\U000f1106", Color: "#00C58E"}, // 󱄆
"nuxt.config.mjs": {Icon: "\U000f1106", Color: "#00C58E"}, // 󱄆
"nuxt.config.ts": {Icon: "\U000f1106", Color: "#00C58E"}, // 󱄆
"package-lock.json": {Icon: "\ued0d", Color: "#F54436"}, // 
"package.json": {Icon: "\ued0d", Color: "#4CAF51"}, // 
"PKGBUILD": {Icon: "\uf303", Color: "#0F94D2"}, // 
"platformio.ini": {Icon: "\ue682", Color: "#F6822B"}, // 
"pom.xml": {Icon: "\U000f06d3", Color: "#FF7043"}, // 󰛓
"prettier.config.cjs": {Icon: "\ue6b4", Color: "#4285F4"}, // 
"prettier.config.js": {Icon: "\ue6b4", Color: "#4285F4"}, // 
"prettier.config.mjs": {Icon: "\ue6b4", Color: "#4285F4"}, // 
"prettier.config.ts": {Icon: "\ue6b4", Color: "#4285F4"}, // 
"PrusaSlicer.ini": {Icon: "\uf351", Color: "#EC6B23"}, // 
"PrusaSlicerGcodeViewer.ini": {Icon: "\uf351", Color: "#EC6B23"}, // 
"py.typed": {Icon: "\ue606", Color: "#ffbc03"}, // 
"QtProject.conf": {Icon: "\uf375", Color: "#40CD52"}, // 
"R": {Icon: "\U000f07d4", Color: "#2266BA"}, // 󰟔
"README": {Icon: "\U000f00ba", Color: "#EDEDED"}, // 󰂺
"README.md": {Icon: "\U000f00ba", Color: "#EDEDED"}, // 󰂺
"robots.txt": {Icon: "\U000f06a9", Color: "#5D7096"}, // 󰚩
"rubydoc": {Icon: "\ue73b", Color: "#F32C24"}, // 
"SECURITY": {Icon: "\U000f0483", Color: "#BEC4C9"}, // 󰒃
"SECURITY.md": {Icon: "\U000f0483", Color: "#BEC4C9"}, // 󰒃
"settings.gradle": {Icon: "\ue660", Color: "#005F87"}, // 
"svelte.config.js": {Icon: "\ue697", Color: "#FF5821"}, // 
"sxhkdrc": {Icon: "\uf355", Color: "#2F2F2F"}, // 
"sym-lib-table": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
"tailwind.config.js": {Icon: "\U000f13ff", Color: "#4DB6AC"}, // 󱏿
"tailwind.config.mjs": {Icon: "\U000f13ff", Color: "#4DB6AC"}, // 󱏿
"tailwind.config.ts": {Icon: "\U000f13ff", Color: "#4DB6AC"}, // 󱏿
"tmux.conf": {Icon: "\uebc8", Color: "#14BA19"}, // 
"tmux.conf.local": {Icon: "\uebc8", Color: "#14BA19"}, // 
"tsconfig.json": {Icon: "\ue628", Color: "#0188D1"}, // 
"unlicense": {Icon: "\ue60a", Color: "#D0BF41"}, // 
"vagrantfile$": {Icon: "\uf2b8", Color: "#1868F2"}, // 
"vlcrc": {Icon: "\U000f057c", Color: "#E85E00"}, // 󰕼
"webpack": {Icon: "\U000f072b", Color: "#519ABA"}, // 󰜫
"weston.ini": {Icon: "\uf367", Color: "#FFBB01"}, // 
"WORKSPACE": {Icon: "\ue63a", Color: "#89E051"}, // 
"WORKSPACE.bzlmod": {Icon: "\ue63a", Color: "#89E051"}, // 
"xmobarrc": {Icon: "\uf35e", Color: "#FD4D5D"}, // 
"xmobarrc.hs": {Icon: "\uf35e", Color: "#FD4D5D"}, // 
"xmonad.hs": {Icon: "\uf35e", Color: "#FD4D5D"}, // 
"xorg.conf": {Icon: "\uf369", Color: "#E54D18"}, // 
"xsettingsd.conf": {Icon: "\uf369", Color: "#E54D18"}, // 
"yarn.lock": {Icon: "\ue6a7", Color: "#0188D1"}, // 
}
var extIconMap = map[string]IconProperties{
".3gp": {Icon: "\uf03d", Color: "#F6822B"}, // 
".3mf": {Icon: "\U000f01a7", Color: "#888888"}, // 󰆧
".7z": {Icon: "\uf410", Color: "#ECA517"}, // 
".DS_store": {Icon: "\uf179", Color: "#A2AAAD"}, // 
".a": {Icon: "\U000f1517", Color: "#8BC34A"}, // 󱔗
".aac": {Icon: "\uf001", Color: "#20C2E3"}, // 
".adb": {Icon: "\ue6b5", Color: "#22FFFF"}, // 
".ads": {Icon: "\ue6b5", Color: "#22FFFF"}, // 
".ai": {Icon: "\ue7b4", Color: "#D0BF41"}, // 
".aif": {Icon: "\uf001", Color: "#00AFFF"}, // 
".aiff": {Icon: "\U000f0386", Color: "#EE534F"}, // 󰎆
".android": {Icon: "\ue70e", Color: "#66AF3D"}, // 
".ape": {Icon: "\uf001", Color: "#00AFFF"}, // 
".apk": {Icon: "\ue70e", Color: "#8BC34A"}, // 
".app": {Icon: "\ueae8", Color: "#9F0500"}, // 
".apple": {Icon: "\ue635", Color: "#A2AAAD"}, // 
".applescript": {Icon: "\uf302", Color: "#78919C"}, // 
".asc": {Icon: "\U000f0306", Color: "#25A79A"}, // 󰌆
".asm": {Icon: "\ue637", Color: "#0091BD"}, // 
".ass": {Icon: "\U000f0a16", Color: "#FFB713"}, // 󰨖
".astro": {Icon: "\ue6b3", Color: "#FF6D00"}, // 
".avi": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".avif": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".avro": {Icon: "\ue60b", Color: "#965824"}, // 
".awk": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".azcli": {Icon: "\uebd8", Color: "#2088E5"}, // 
".bak": {Icon: "\U000f006f", Color: "#6D8086"}, // 󰁯
".bash": {Icon: "\uebca", Color: "#FF7043"}, // 
".bash_history": {Icon: "\ue795", Color: "#8DC149"}, // 
".bash_profile": {Icon: "\ue795", Color: "#8DC149"}, // 
".bashrc": {Icon: "\ue795", Color: "#8DC149"}, // 
".bat": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".bats": {Icon: "\U000f0b5f", Color: "#D2D2D2"}, // 󰭟
".bazel": {Icon: "\ue63a", Color: "#44A047"}, // 
".bib": {Icon: "\U000f1517", Color: "#8BC34A"}, // 󱔗
".bicep": {Icon: "\U000f0fd7", Color: "#FBC02D"}, // 󰿗
".bicepparam": {Icon: "\ue63b", Color: "#797DAC"}, // 
".blade.php": {Icon: "\uf2f7", Color: "#FF5252"}, // 
".blend": {Icon: "\U000f00ab", Color: "#ED8F30"}, // 󰂫
".blp": {Icon: "\U000f0ebe", Color: "#458EE6"}, // 󰺾
".bmp": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".brep": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".bz": {Icon: "\uf410", Color: "#ECA517"}, // 
".bz2": {Icon: "\uf410", Color: "#ECA517"}, // 
".bz3": {Icon: "\uf410", Color: "#ECA517"}, // 
".bzl": {Icon: "\ue63a", Color: "#44A047"}, // 
".c": {Icon: "\ue61e", Color: "#0188D1"}, // 
".c++": {Icon: "\ue61d", Color: "#0188D1"}, // 
".cab": {Icon: "\ue70f", Color: "#626262"}, // 
".cache": {Icon: "\uf49b", Color: "#FFFFFF"}, // 
".cast": {Icon: "\uf03d", Color: "#EA8220"}, // 
".cbl": {Icon: "\u2699", Color: "#005CA5"}, // ⚙
".cc": {Icon: "\ue61d", Color: "#0188D1"}, // 
".ccm": {Icon: "\ue61d", Color: "#F34B7D"}, // 
".cfg": {Icon: "\uf013", Color: "#42A5F5"}, // 
".cjs": {Icon: "\ue60c", Color: "#CBCB41"}, // 
".class": {Icon: "\uf0f4", Color: "#2088E5"}, // 
".clj": {Icon: "\ue642", Color: "#2AB6F6"}, // 
".cljc": {Icon: "\ue642", Color: "#2AB6F6"}, // 
".cljd": {Icon: "\ue76a", Color: "#519ABA"}, // 
".cljs": {Icon: "\ue642", Color: "#2AB6F6"}, // 
".cls": {Icon: "\ue69b", Color: "#4B5163"}, // 
".cmake": {Icon: "\ue794", Color: "##DCE3EB"}, // 
".cmd": {Icon: "\uebc4", Color: "#FF7043"}, // 
".cob": {Icon: "\u2699", Color: "#005CA5"}, // ⚙
".cobol": {Icon: "\u2699", Color: "#005CA5"}, // ⚙
".coffee": {Icon: "\ue61b", Color: "#6F4E38"}, // 
".conda": {Icon: "\ue715", Color: "#43B02A"}, // 
".conf": {Icon: "\uf013", Color: "#696969"}, // 
".config.ru": {Icon: "\ue791", Color: "#701516"}, // 
".cp": {Icon: "\ue646", Color: "#0188D1"}, // 
".cpio": {Icon: "\uf410", Color: "#ECA517"}, // 
".cpp": {Icon: "\ue61d", Color: "#0188D1"}, // 
".cppm": {Icon: "\ue61d", Color: "#519ABA"}, // 
".cpy": {Icon: "\u2699", Color: "#005CA5"}, // ⚙
".cr": {Icon: "\ue62f", Color: "#CFD8DD"}, // 
".crdownload": {Icon: "\uf019", Color: "#44CDA8"}, // 
".cs": {Icon: "\U000f031b", Color: "#0188D1"}, // 󰌛
".csh": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".cshtml": {Icon: "\uf486", Color: "#42A5F5"}, // 
".cson": {Icon: "\ue61b", Color: "#6F4E38"}, // 
".csproj": {Icon: "\U000f0610", Color: "#AB48BC"}, // 󰘐
".css": {Icon: "\ue749", Color: "#42A5F5"}, // 
".csv": {Icon: "\U000f021b", Color: "#8BC34A"}, // 󰈛
".csx": {Icon: "\U000f031b", Color: "#0188D1"}, // 󰌛
".cts": {Icon: "\ue628", Color: "#519ABA"}, // 
".cu": {Icon: "\ue64b", Color: "#89E051"}, // 
".cue": {Icon: "\U000f0cb9", Color: "#ED95AE"}, // 󰲹
".cuh": {Icon: "\ue64b", Color: "#A074C4"}, // 
".cxx": {Icon: "\ue646", Color: "#0188D1"}, // 
".cxxm": {Icon: "\ue61d", Color: "#519ABA"}, // 
".d": {Icon: "\ue7af", Color: "#B03931"}, // 
".d.ts": {Icon: "\ue628", Color: "#0188D1"}, // 
".dart": {Icon: "\ue64c", Color: "#59B6F0"}, // 
".db": {Icon: "\uf1c0", Color: "#FFCA29"}, // 
".dconf": {Icon: "\ue706", Color: "#DAD8D8"}, // 
".deb": {Icon: "\uebc5", Color: "#D80651"}, // 
".desktop": {Icon: "\uf108", Color: "#56347C"}, // 
".diff": {Icon: "\uf4d2", Color: "#4262A2"}, // 
".djvu": {Icon: "\uf02d", Color: "#624262"}, // 
".dll": {Icon: "\U000f107c", Color: "#42A5F5"}, // 󱁼
".doc": {Icon: "\U000f022c", Color: "#0188D1"}, // 󰈬
".docx": {Icon: "\U000f022c", Color: "#0188D1"}, // 󰈬
".dot": {Icon: "\U000f1049", Color: "#005F87"}, // 󱁉
".download": {Icon: "\uf019", Color: "#44CDA8"}, // 
".drl": {Icon: "\ue28c", Color: "#FFAFAF"}, // 
".dropbox": {Icon: "\ue707", Color: "#2E63FF"}, // 
".ds_store": {Icon: "\uf179", Color: "#A2AAAD"}, // 
".dump": {Icon: "\uf1c0", Color: "#DAD8D8"}, // 
".dwg": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".dxf": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".ebook": {Icon: "\ue28b", Color: "#EAB16D"}, // 
".ebuild": {Icon: "\uf30d", Color: "#4C416E"}, // 
".editorconfig": {Icon: "\ue615", Color: "#626262"}, // 
".edn": {Icon: "\ue76a", Color: "#519ABA"}, // 
".eex": {Icon: "\ue62d", Color: "#9575CE"}, // 
".ejs": {Icon: "\ue618", Color: "#CBCB41"}, // 
".el": {Icon: "\ue632", Color: "#805EB7"}, // 
".elc": {Icon: "\ue632", Color: "#805EB7"}, // 
".elf": {Icon: "\ueae8", Color: "#9F0500"}, // 
".elm": {Icon: "\ue62c", Color: "#60B6CC"}, // 
".eln": {Icon: "\ue632", Color: "#8172BE"}, // 
".env": {Icon: "\uf462", Color: "#FAF743"}, // 
".eot": {Icon: "\ue659", Color: "#F54436"}, // 
".epp": {Icon: "\ue631", Color: "#FFA61A"}, // 
".epub": {Icon: "\ue28b", Color: "#EAB16D"}, // 
".erb": {Icon: "\U000f0d2d", Color: "#F54436"}, // 󰴭
".erl": {Icon: "\uf23f", Color: "#F54436"}, // 
".ex": {Icon: "\ue62d", Color: "#9575CE"}, // 
".exe": {Icon: "\uf2d0", Color: "#E64A19"}, // 
".exs": {Icon: "\ue62d", Color: "#9575CE"}, // 
".f#": {Icon: "\ue7a7", Color: "#519ABA"}, // 
".f3d": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".f90": {Icon: "\U000f121a", Color: "#FF7043"}, // 󱈚
".fbx": {Icon: "\uea8c", Color: "#2AB6F6"}, // 
".fcbak": {Icon: "\uf336", Color: "#6D8086"}, // 
".fcmacro": {Icon: "\uf336", Color: "#CB333B"}, // 
".fcmat": {Icon: "\uf336", Color: "#CB333B"}, // 
".fcparam": {Icon: "\uf336", Color: "#CB333B"}, // 
".fcscript": {Icon: "\uf336", Color: "#CB333B"}, // 
".fcstd": {Icon: "\uf336", Color: "#CB333B"}, // 
".fcstd1": {Icon: "\uf336", Color: "#CB333B"}, // 
".fctb": {Icon: "\uf336", Color: "#CB333B"}, // 
".fctl": {Icon: "\uf336", Color: "#CB333B"}, // 
".fdmdownload": {Icon: "\uf019", Color: "#44CDA8"}, // 
".fish": {Icon: "\U000f023a", Color: "#FF7043"}, // 󰈺
".flac": {Icon: "\U000f0386", Color: "#EE534F"}, // 󰎆
".flc": {Icon: "\uf031", Color: "#ECECEC"}, // 
".flf": {Icon: "\uf031", Color: "#ECECEC"}, // 
".flv": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".fnl": {Icon: "\ue6af", Color: "#FFF3D7"}, // 
".fodg": {Icon: "\uf379", Color: "#FFFB57"}, // 
".fodp": {Icon: "\uf37a", Color: "#FE9C45"}, // 
".fods": {Icon: "\uf378", Color: "#78FC4E"}, // 
".fodt": {Icon: "\uf37c", Color: "#2DCBFD"}, // 
".font": {Icon: "\ue659", Color: "#F54436"}, // 
".fs": {Icon: "\ue7a7", Color: "#31B9DB"}, // 
".fsi": {Icon: "\ue7a7", Color: "#31B9DB"}, // 
".fsscript": {Icon: "\ue7a7", Color: "#519ABA"}, // 
".fsx": {Icon: "\ue7a7", Color: "#31B9DB"}, // 
".gcode": {Icon: "\U000f0af4", Color: "#505075"}, // 󰫴
".gd": {Icon: "\ue65f", Color: "#42A5F5"}, // 
".gdoc": {Icon: "\uf1c2", Color: "#01D000"}, // 
".gem": {Icon: "\ue21e", Color: "#C90F02"}, // 
".gemfile": {Icon: "\ueb48", Color: "#E63936"}, // 
".gemspec": {Icon: "\ue21e", Color: "#C90F02"}, // 
".gform": {Icon: "\uf298", Color: "#01D000"}, // 
".gif": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".git": {Icon: "\U000f02a2", Color: "#EC6B23"}, // 󰊢
".glb": {Icon: "\uf1b2", Color: "#FFA61A"}, // 
".gnumakefile": {Icon: "\ueba2", Color: "#EF5351"}, // 
".go": {Icon: "\ue627", Color: "#02ACC1"}, // 
".godot": {Icon: "\ue65f", Color: "#42A5F5"}, // 
".gpr": {Icon: "\ue6b5", Color: "#22FFFF"}, // 
".gql": {Icon: "\U000f0877", Color: "#EC417A"}, // 󰡷
".gradle": {Icon: "\ue660", Color: "#0397A7"}, // 
".graphql": {Icon: "\U000f0877", Color: "#EC417A"}, // 󰡷
".gresource": {Icon: "\uf362", Color: "#FFFFFF"}, // 
".groovy": {Icon: "\ue775", Color: "#005F87"}, // 
".gsheet": {Icon: "\uf1c3", Color: "#97BA6A"}, // 
".gslides": {Icon: "\uf1c4", Color: "#FFFF00"}, // 
".guardfile": {Icon: "\ue21e", Color: "#626262"}, // 
".gv": {Icon: "\U000f1049", Color: "#005F87"}, // 󱁉
".gz": {Icon: "\uf410", Color: "#ECA517"}, // 
".h": {Icon: "\uf0fd", Color: "##A074C4"}, // 
".haml": {Icon: "\ue664", Color: "#F4521E"}, // 
".hbs": {Icon: "\U000f15de", Color: "#FF7043"}, // 󱗞
".hc": {Icon: "\U000f00a2", Color: "#FAF743"}, // 󰂢
".heex": {Icon: "\ue62d", Color: "#9575CE"}, // 
".hex": {Icon: "\U000f12a7", Color: "#25A79A"}, // 󱊧
".hh": {Icon: "\uf0fd", Color: "##A074C4"}, // 
".hpp": {Icon: "\uf0fd", Color: "##A074C4"}, // 
".hrl": {Icon: "\ue7b1", Color: "#B83998"}, // 
".hs": {Icon: "\ue61f", Color: "#FFA726"}, // 
".htm": {Icon: "\uf13b", Color: "#E44E27"}, // 
".html": {Icon: "\uf13b", Color: "#E44E27"}, // 
".huff": {Icon: "\U000f0858", Color: "#CFD8DD"}, // 󰡘
".hurl": {Icon: "\uf0ec", Color: "#FF0288"}, // 
".hx": {Icon: "\ue666", Color: "#F68713"}, // 
".hxx": {Icon: "\uf0fd", Color: "##A074C4"}, // 
".ical": {Icon: "\uf073", Color: "#2B9EF3"}, // 
".icalendar": {Icon: "\uf073", Color: "#2B9EF3"}, // 
".ico": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".ics": {Icon: "\U000f01ee", Color: "#42A5F5"}, // 󰇮
".ifb": {Icon: "\uf073", Color: "#2B9EF3"}, // 
".ifc": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".ige": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".iges": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".igs": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".image": {Icon: "\uf1c5", Color: "#CBCB41"}, // 
".img": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".iml": {Icon: "\U000f022e", Color: "#8BC34A"}, // 󰈮
".import": {Icon: "\uf0c6", Color: "#ECECEC"}, // 
".info": {Icon: "\uf129", Color: "#FFF3D7"}, // 
".ini": {Icon: "\uf013", Color: "#42A5F5"}, // 
".ino": {Icon: "\uf34b", Color: "#01979D"}, // 
".ipynb": {Icon: "\ue80f", Color: "#F57D01"}, // 
".iso": {Icon: "\uede9", Color: "#B1BEC5"}, // 
".ixx": {Icon: "\ue61d", Color: "#519ABA"}, // 
".j2c": {Icon: "\uf1c5", Color: "#4B5163"}, // 
".j2k": {Icon: "\uf1c5", Color: "#4B5163"}, // 
".jad": {Icon: "\ue256", Color: "#F19210"}, // 
".jar": {Icon: "\U000f06ca", Color: "#F19210"}, // 󰛊
".java": {Icon: "\uf0f4", Color: "#F19210"}, // 
".jfi": {Icon: "\uf1c5", Color: "#626262"}, // 
".jfif": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".jif": {Icon: "\uf1c5", Color: "#626262"}, // 
".jl": {Icon: "\ue624", Color: "#338A23"}, // 
".jmd": {Icon: "\uf48a", Color: "#519ABA"}, // 
".jp2": {Icon: "\uf1c5", Color: "#626262"}, // 
".jpe": {Icon: "\uf1c5", Color: "#626262"}, // 
".jpeg": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".jpg": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".jpx": {Icon: "\uf1c5", Color: "#626262"}, // 
".js": {Icon: "\U000f031e", Color: "#FFCA29"}, // 󰌞
".json": {Icon: "\ue60b", Color: "#FAA825"}, // 
".json5": {Icon: "\ue60b", Color: "#FAA825"}, // 
".jsonc": {Icon: "\ue60b", Color: "#FAA825"}, // 
".jsx": {Icon: "\ued46", Color: "#FFCA29"}, // 
".jwmrc": {Icon: "\uf35b", Color: "#007AC2"}, // 
".jxl": {Icon: "\uf1c5", Color: "#727252"}, // 
".kbx": {Icon: "\U000f0bc4", Color: "#537662"}, // 󰯄
".kdb": {Icon: "\uf23e", Color: "#529B34"}, // 
".kdbx": {Icon: "\uf23e", Color: "#529B34"}, // 
".kdenlive": {Icon: "\uf33c", Color: "#83B8F2"}, // 
".kdenlivetitle": {Icon: "\uf33c", Color: "#83B8F2"}, // 
".kicad_dru": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_mod": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_pcb": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_prl": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_pro": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_sch": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_sym": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".kicad_wks": {Icon: "\uf34c", Color: "#FFFFFF"}, // 
".ko": {Icon: "\uf17c", Color: "#DDDDDD"}, // 
".kpp": {Icon: "\uf33d", Color: "#F245FB"}, // 
".kra": {Icon: "\uf33d", Color: "#F245FB"}, // 
".krz": {Icon: "\uf33d", Color: "#F245FB"}, // 
".ksh": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".kt": {Icon: "\ue634", Color: "#1A95D9"}, // 
".kts": {Icon: "\ue634", Color: "#1A95D9"}, // 
".latex": {Icon: "\ue69b", Color: "#626262"}, // 
".lck": {Icon: "\ue672", Color: "#BBBBBB"}, // 
".leex": {Icon: "\ue62d", Color: "#9575CE"}, // 
".less": {Icon: "\ued48", Color: "#0277BD"}, // 
".lff": {Icon: "\uf031", Color: "#ECECEC"}, // 
".lhs": {Icon: "\ue777", Color: "#A074C4"}, // 
".license": {Icon: "\U000f0124", Color: "#FFCA29"}, // 󰄤
".liquid": {Icon: "\uf043", Color: "#2AB6F6"}, // 
".localized": {Icon: "\uf179", Color: "#A2AAAD"}, // 
".lock": {Icon: "\uf023", Color: "#FFD550"}, // 
".log": {Icon: "\uf0f6", Color: "#ECA517"}, // 
".lrc": {Icon: "\U000f0a16", Color: "#FFA61A"}, // 󰨖
".lua": {Icon: "\ue620", Color: "#42A5F5"}, // 
".luac": {Icon: "\ue620", Color: "#519ABA"}, // 
".luau": {Icon: "\ue620", Color: "#519ABA"}, // 
".lz": {Icon: "\uf410", Color: "#ECA517"}, // 
".lz4": {Icon: "\uf410", Color: "#ECA517"}, // 
".lzh": {Icon: "\uf410", Color: "#ECA517"}, // 
".lzma": {Icon: "\uf410", Color: "#ECA517"}, // 
".lzo": {Icon: "\uf410", Color: "#ECA517"}, // 
".m": {Icon: "\ue61e", Color: "#599EFF"}, // 
".m3u": {Icon: "\U000f0cb9", Color: "#ED95AE"}, // 󰲹
".m3u8": {Icon: "\U000f0cb9", Color: "#ED95AE"}, // 󰲹
".m4a": {Icon: "\U000f0386", Color: "#EE534F"}, // 󰎆
".m4v": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".magnet": {Icon: "\uf076", Color: "#9F0500"}, // 
".makefile": {Icon: "\ue673", Color: "#FEFEFE"}, // 
".markdown": {Icon: "\ueb1d", Color: "#42A5F5"}, // 
".material": {Icon: "\U000f0509", Color: "#B83998"}, // 󰔉
".md": {Icon: "\ueb1d", Color: "#42A5F5"}, // 
".md5": {Icon: "\U000f0565", Color: "#8C86AF"}, // 󰕥
".mdx": {Icon: "\ueb1d", Color: "#FFCA29"}, // 
".mint": {Icon: "\ue7a4", Color: "#44A047"}, // 
".mjs": {Icon: "\U000f031e", Color: "#FFCA29"}, // 󰌞
".mk": {Icon: "\ue795", Color: "#626262"}, // 
".mkd": {Icon: "\uf48a", Color: "#519ABA"}, // 
".mkv": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".ml": {Icon: "\ue67a", Color: "#FF9800"}, // 
".mli": {Icon: "\ue67a", Color: "#FF9800"}, // 
".mm": {Icon: "\ue61d", Color: "#599EFF"}, // 
".mo": {Icon: "\U000f05ca", Color: "#7986CB"}, // 󰗊
".mobi": {Icon: "\ue28b", Color: "#EAB16D"}, // 
".mojo": {Icon: "\ue780", Color: "#FF7043"}, // 
".mov": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".mp3": {Icon: "\U000f0386", Color: "#EE534F"}, // 󰎆
".mp4": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".mpp": {Icon: "\ue61d", Color: "#519ABA"}, // 
".msf": {Icon: "\uf370", Color: "#137BE1"}, // 
".msi": {Icon: "\uf2d0", Color: "#E64A19"}, // 
".mts": {Icon: "\ue628", Color: "#519ABA"}, // 
".mustache": {Icon: "\U000f15de", Color: "#FF7043"}, // 󱗞
".nfo": {Icon: "\uf129", Color: "#FFF3D7"}, // 
".nim": {Icon: "\ue677", Color: "#FFCA29"}, // 
".nix": {Icon: "\uf313", Color: "#5175C2"}, // 
".node": {Icon: "\U000f0399", Color: "#E8274B"}, // 󰎙
".npmignore": {Icon: "\ue71e", Color: "#E8274B"}, // 
".nswag": {Icon: "\ue60b", Color: "#85EA2D"}, // 
".nu": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".o": {Icon: "\uea8c", Color: "#2AB6F6"}, // 
".obj": {Icon: "\uea8c", Color: "#2AB6F6"}, // 
".odin": {Icon: "\U000f07e2", Color: "#3882D2"}, // 󰟢
".odf": {Icon: "\uf37b", Color: "#FF5A96"}, // 
".odg": {Icon: "\uf379", Color: "#FFFB57"}, // 
".odp": {Icon: "\uf37a", Color: "#FE9C45"}, // 
".ods": {Icon: "\uf378", Color: "#78FC4E"}, // 
".odt": {Icon: "\uf37c", Color: "#2DCBFD"}, // 
".ogg": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".ogv": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".opus": {Icon: "\U000f0223", Color: "#EA8220"}, // 󰈣
".org": {Icon: "\ue633", Color: "#56B6C2"}, // 
".otf": {Icon: "\ue659", Color: "#F54436"}, // 
".out": {Icon: "\ueae8", Color: "#9F0500"}, // 
".part": {Icon: "\uf43a", Color: "#628262"}, // 
".patch": {Icon: "\uf440", Color: "#4262A2"}, // 
".pck": {Icon: "\uf487", Color: "#5D8096"}, // 
".pdf": {Icon: "\uf1c1", Color: "#EF5351"}, // 
".php": {Icon: "\U000f031f", Color: "#2088E5"}, // 󰌟
".pl": {Icon: "\U000f03d2", Color: "#EF5351"}, // 󰏒
".pls": {Icon: "\U000f0cb9", Color: "#ED95AE"}, // 󰲹
".ply": {Icon: "\U000f01a7", Color: "#888888"}, // 󰆧
".pm": {Icon: "\ue769", Color: "#9575CE"}, // 
".png": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".po": {Icon: "\U000f05ca", Color: "#7986CB"}, // 󰗊
".pot": {Icon: "\U000f05ca", Color: "#7986CB"}, // 󰗊
".pp": {Icon: "\ue631", Color: "#FFA61A"}, // 
".ppt": {Icon: "\U000f0227", Color: "#D14525"}, // 󰈧
".pptx": {Icon: "\U000f0227", Color: "#D14525"}, // 󰈧
".prisma": {Icon: "\ue684", Color: "#00BFA5"}, // 
".pro": {Icon: "\U000f03d2", Color: "#EF5351"}, // 󰏒
".procfile": {Icon: "\ue607", Color: "#6964BA"}, // 
".properties": {Icon: "\uf013", Color: "#42A5F5"}, // 
".ps1": {Icon: "\U000f0a0a", Color: "#04A9F4"}, // 󰨊
".psb": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".psd": {Icon: "\ue7b8", Color: "#25A6A0"}, // 
".psd1": {Icon: "\U000f0a0a", Color: "#04A9F4"}, // 󰨊
".psm1": {Icon: "\U000f0a0a", Color: "#04A9F4"}, // 󰨊
".pub": {Icon: "\U000f0306", Color: "#25A79A"}, // 󰌆
".pxd": {Icon: "\ue606", Color: "#00AFFF"}, // 
".pxi": {Icon: "\ue606", Color: "#00AFFF"}, // 
".pxm": {Icon: "\uf1c5", Color: "#626262"}, // 
".py": {Icon: "\ued1b", Color: "#FED836"}, // 
".pyc": {Icon: "\ue606", Color: "#FFA61A"}, // 
".pyd": {Icon: "\ue606", Color: "#E3C58E"}, // 
".pyi": {Icon: "\ue606", Color: "#FFA61A"}, // 
".pyo": {Icon: "\ue606", Color: "#E3C58E"}, // 
".pyw": {Icon: "\ue606", Color: "#00AFFF"}, // 
".pyx": {Icon: "\ue606", Color: "#00AFFF"}, // 
".qm": {Icon: "\U000f05ca", Color: "#2596BE"}, // 󰗊
".qml": {Icon: "\uf375", Color: "#42CD52"}, // 
".qrc": {Icon: "\uf375", Color: "#40CD52"}, // 
".qss": {Icon: "\uf375", Color: "#40CD52"}, // 
".query": {Icon: "\ue21c", Color: "#90A850"}, // 
".r": {Icon: "\ue68a", Color: "#1976D3"}, // 
".rake": {Icon: "\ue791", Color: "#701516"}, // 
".rakefile": {Icon: "\ue21e", Color: "#C90F02"}, // 
".rar": {Icon: "\uf410", Color: "#ECA517"}, // 
".razor": {Icon: "\uf1fa", Color: "#207245"}, // 
".rb": {Icon: "\U000f0d2d", Color: "#F54436"}, // 󰴭
".rdata": {Icon: "\uf25d", Color: "#458EE6"}, // 
".rdb": {Icon: "\ue76d", Color: "#C90F02"}, // 
".rdoc": {Icon: "\uf48a", Color: "#519ABA"}, // 
".rds": {Icon: "\uf25d", Color: "#458EE6"}, // 
".readme": {Icon: "\uf05a", Color: "#42A5F5"}, // 
".res": {Icon: "\ue688", Color: "#EF5351"}, // 
".resi": {Icon: "\ue688", Color: "#FFB300"}, // 
".rlib": {Icon: "\ue7a8", Color: "#DEA584"}, // 
".rmd": {Icon: "\ue68a", Color: "#1976D3"}, // 
".rpm": {Icon: "\ue7bb", Color: "#EE0000"}, // 
".rproj": {Icon: "\U000f05c6", Color: "#358A5B"}, // 󰗆
".rs": {Icon: "\ue68b", Color: "#FF7043"}, // 
".rspec": {Icon: "\ue21e", Color: "#C90F02"}, // 
".rspec_parallel": {Icon: "\ue21e", Color: "#C90F02"}, // 
".rspec_status": {Icon: "\ue21e", Color: "#C90F02"}, // 
".rss": {Icon: "\uf09e", Color: "#965824"}, // 
".rtf": {Icon: "\U000f022c", Color: "#0188D1"}, // 󰈬
".ru": {Icon: "\ue21e", Color: "#C90F02"}, // 
".rubydoc": {Icon: "\ue73b", Color: "#C90F02"}, // 
".s": {Icon: "\ue637", Color: "#0091BD"}, // 
".sass": {Icon: "\ue603", Color: "#EC417A"}, // 
".sbt": {Icon: "\ue68d", Color: "#0277BD"}, // 
".sc": {Icon: "\ue68e", Color: "#F54436"}, // 
".scad": {Icon: "\uf34e", Color: "#F9D72C"}, // 
".scala": {Icon: "\ue68e", Color: "#F54436"}, // 
".scm": {Icon: "\U000f0627", Color: "#F54436"}, // 󰘧
".scss": {Icon: "\ue603", Color: "#EC417A"}, // 
".sh": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".sha1": {Icon: "\U000f0565", Color: "#8C86AF"}, // 󰕥
".sha224": {Icon: "\U000f0565", Color: "#8C86AF"}, // 󰕥
".sha256": {Icon: "\U000f0565", Color: "#8C86AF"}, // 󰕥
".sha384": {Icon: "\U000f0565", Color: "#8C86AF"}, // 󰕥
".sha512": {Icon: "\U000f0565", Color: "#8C86AF"}, // 󰕥
".shell": {Icon: "\ue795", Color: "#89E051"}, // 
".sig": {Icon: "\u03bb", Color: "#DC682E"}, // Λ
".signature": {Icon: "\u03bb", Color: "#DC682E"}, // Λ
".skp": {Icon: "\uea8c", Color: "#2AB6F6"}, // 
".sldasm": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".sldprt": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".slim": {Icon: "\ue692", Color: "#F57F19"}, // 
".sln": {Icon: "\U000f0610", Color: "#AB48BC"}, // 󰘐
".slvs": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".sml": {Icon: "\u03bb", Color: "#DC682E"}, // Λ
".so": {Icon: "\U000f107c", Color: "#42A5F5"}, // 󱁼
".sol": {Icon: "\ue656", Color: "#0188D1"}, // 
".spec.js": {Icon: "\uf499", Color: "#FFCA29"}, // 
".spec.jsx": {Icon: "\uf499", Color: "#FFCA29"}, // 
".spec.ts": {Icon: "\uf499", Color: "#519ABA"}, // 
".spec.tsx": {Icon: "\uf499", Color: "#0188D1"}, // 
".sql": {Icon: "\uf1c0", Color: "#CFCA99"}, // 
".sqlite": {Icon: "\uf1c0", Color: "#CFCA99"}, // 
".sqlite3": {Icon: "\uf1c0", Color: "#CFCA99"}, // 
".srt": {Icon: "\U000f0a16", Color: "#FFA61A"}, // 󰨖
".ssa": {Icon: "\U000f0a16", Color: "#FFA61A"}, // 󰨖
".ste": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".step": {Icon: "\U000f0eeb", Color: "#839463"}, // 󰻫
".stl": {Icon: "\uea8c", Color: "#2AB6F6"}, // 
".stp": {Icon: "\uea8c", Color: "#2AB6F6"}, // 
".strings": {Icon: "\U000f05ca", Color: "#2596BE"}, // 󰗊
".sty": {Icon: "\ue69b", Color: "#42A5F5"}, // 
".styl": {Icon: "\ue759", Color: "#C0CA33"}, // 
".stylus": {Icon: "\ue600", Color: "#83C837"}, // 
".sub": {Icon: "\U000f0a16", Color: "#FFA61A"}, // 󰨖
".sublime": {Icon: "\ue7aa", Color: "#DC682E"}, // 
".suo": {Icon: "\U000f0610", Color: "#AB48BC"}, // 󰘐
".sv": {Icon: "\U000f035b", Color: "#FF7043"}, // 󰍛
".svelte": {Icon: "\ue697", Color: "#FF5821"}, // 
".svg": {Icon: "\U000f0721", Color: "#FFB300"}, // 󰜡
".svh": {Icon: "\U000f035b", Color: "#FF7043"}, // 󰍛
".swift": {Icon: "\U000f06e5", Color: "#FE5E2F"}, // 󰛥
".t": {Icon: "\ue769", Color: "#519ABA"}, // 
".tar": {Icon: "\uf410", Color: "#ECA517"}, // 
".taz": {Icon: "\uf410", Color: "#ECA517"}, // 
".tbc": {Icon: "\U000f06d3", Color: "#005CA5"}, // 󰛓
".tbz": {Icon: "\uf410", Color: "#ECA517"}, // 
".tbz2": {Icon: "\uf410", Color: "#ECA517"}, // 
".tcl": {Icon: "\U000f06d3", Color: "#EF5351"}, // 󰛓
".templ": {Icon: "\U000f05c0", Color: "#FFD550"}, // 󰗀
".terminal": {Icon: "\uf489", Color: "#14BA19"}, // 
".test.js": {Icon: "\uf499", Color: "#FFCA29"}, // 
".test.jsx": {Icon: "\uf499", Color: "#FFCA29"}, // 
".test.ts": {Icon: "\uf499", Color: "#519ABA"}, // 
".test.tsx": {Icon: "\uf499", Color: "#0188D1"}, // 
".tex": {Icon: "\ue69b", Color: "#42A5F5"}, // 
".tf": {Icon: "\ue69a", Color: "#5D6BC0"}, // 
".tfvars": {Icon: "\ue69a", Color: "#5D6BC0"}, // 
".tgz": {Icon: "\uf410", Color: "#ECA517"}, // 
".tiff": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".tlz": {Icon: "\uf410", Color: "#ECA517"}, // 
".tmux": {Icon: "\uebc8", Color: "#14BA19"}, // 
".toml": {Icon: "\ue6b2", Color: "#9C4221"}, // 
".torrent": {Icon: "\ue275", Color: "##4C90E8"}, // 
".tres": {Icon: "\ue65f", Color: "#42A5F5"}, // 
".ts": {Icon: "\U000f06e6", Color: "#0188D1"}, // 󰛦
".tscn": {Icon: "\ue65f", Color: "#42A5F5"}, // 
".tsconfig": {Icon: "\ue772", Color: "#EA8220"}, // 
".tsv": {Icon: "\U000f021b", Color: "#8BC34A"}, // 󰈛
".tsx": {Icon: "\ued46", Color: "#04BCD4"}, // 
".ttf": {Icon: "\ue659", Color: "#F54436"}, // 
".twig": {Icon: "\ue61c", Color: "#9BB92F"}, // 
".txt": {Icon: "\U000f0219", Color: "#42A5F5"}, // 󰈙
".txz": {Icon: "\uf410", Color: "#ECA517"}, // 
".typ": {Icon: "\uf37f", Color: "#0DBCC0"}, // 
".typoscript": {Icon: "\ue772", Color: "#EA8220"}, // 
".tz": {Icon: "\uf410", Color: "#ECA517"}, // 
".tzo": {Icon: "\uf410", Color: "#ECA517"}, // 
".ui": {Icon: "\uf2d0", Color: "#015BF0"}, // 
".v": {Icon: "\ue6ac", Color: "#009CE5"}, // 
".vala": {Icon: "\ue8d1", Color: "#7B3DB9"}, // 
".vh": {Icon: "\U000f035b", Color: "#009900"}, // 󰍛
".vhd": {Icon: "\U000f035b", Color: "#FF7043"}, // 󰍛
".vhdl": {Icon: "\U000f035b", Color: "#009900"}, // 󰍛
".video": {Icon: "\uf03d", Color: "#626262"}, // 
".vi": {Icon: "\ue81e", Color: "#FEC60A"}, // 
".vim": {Icon: "\ue62b", Color: "#44A047"}, // 
".vsh": {Icon: "\ue6ac", Color: "#5D87BF"}, // 
".vsix": {Icon: "\U000f0a1e", Color: "#2296F3"}, // 󰨞
".vue": {Icon: "\ue6a0", Color: "#40B883"}, // 
".war": {Icon: "\ue256", Color: "#F54436"}, // 
".wasm": {Icon: "\ue6a1", Color: "#7D4DFF"}, // 
".wav": {Icon: "\U000f0386", Color: "#76B900"}, // 󰎆
".webm": {Icon: "\U000f0381", Color: "#FF9800"}, // 󰎁
".webmanifest": {Icon: "\ue60b", Color: "#CBCB41"}, // 
".webp": {Icon: "\U000f021f", Color: "#25A6A0"}, // 󰈟
".webpack": {Icon: "\U000f072b", Color: "#519ABA"}, // 󰜫
".windows": {Icon: "\uf17a", Color: "#00A4EF"}, // 
".wma": {Icon: "\U000f0386", Color: "#EE534F"}, // 󰎆
".woff": {Icon: "\ue659", Color: "#F54436"}, // 
".woff2": {Icon: "\ue659", Color: "#F54436"}, // 
".wrl": {Icon: "\U000f01a7", Color: "#778899"}, // 󰆧
".wrz": {Icon: "\U000f01a7", Color: "#778899"}, // 󰆧
".wv": {Icon: "\uf001", Color: "#00AFFF"}, // 
".wvc": {Icon: "\uf001", Color: "#00AFFF"}, // 
".x": {Icon: "\ue691", Color: "#599EFF"}, // 
".xaml": {Icon: "\U000f0673", Color: "#42A5F5"}, // 󰙳
".xcf": {Icon: "\uf338", Color: "#635b46"}, // 
".xcplayground": {Icon: "\ue755", Color: "#DC682E"}, // 
".xcstrings": {Icon: "\U000f05ca", Color: "#2596BE"}, // 󰗊
".xhtml": {Icon: "\uf13b", Color: "#E44E27"}, // 
".xls": {Icon: "\U000f021b", Color: "#8BC34A"}, // 󰈛
".xlsx": {Icon: "\U000f021b", Color: "#8BC34A"}, // 󰈛
".xm": {Icon: "\ue691", Color: "#519ABA"}, // 
".xml": {Icon: "\U000f022e", Color: "#8BC34A"}, // 󰈮
".xpi": {Icon: "\ueae6", Color: "#375A8E"}, // 
".xul": {Icon: "\uf121", Color: "#DC682E"}, // 
".xz": {Icon: "\uf410", Color: "#ECA517"}, // 
".yaml": {Icon: "\ue6a8", Color: "#a074b3"}, // 
".yml": {Icon: "\ue6a8", Color: "#a074b3"}, // 
".zig": {Icon: "\ue6a9", Color: "#FAA825"}, // 
".zip": {Icon: "\uf410", Color: "#ECA517"}, // 
".zsh": {Icon: "\U000f018d", Color: "#FF7043"}, // 󰆍
".zsh-theme": {Icon: "\ue795", Color: "#89E051"}, // 
".zshrc": {Icon: "\ue795", Color: "#89E051"}, // 
".zst": {Icon: "\uf410", Color: "#ECA517"}, // 
}
func patchFileIconsForNerdFontsV2() {
extIconMap[".cs"] = IconProperties{Icon: "\uf81a", Color: "#FEDECA"} // 
extIconMap[".csproj"] = IconProperties{Icon: "\uf81a", Color: "#AB48BC"} // 
extIconMap[".csx"] = IconProperties{Icon: "\uf81a", Color: "#0188D1"} // 
extIconMap[".license"] = IconProperties{Icon: "\uf718", Color: "#626262"} // 
extIconMap[".node"] = IconProperties{Icon: "\uf898", Color: "#E8274B"} // 
extIconMap[".rtf"] = IconProperties{Icon: "\uf718", Color: "#626262"} // 
extIconMap[".vue"] = IconProperties{Icon: "\ufd42", Color: "#89e051"} // ﵂
}
func IconForFile(name string, isSubmodule bool, isLinkedWorktree bool, isDirectory bool, customIconsConfig *config.CustomIconsConfig) IconProperties {
base := filepath.Base(name)
if icon, ok := customIconsConfig.Filenames[base]; ok {
return IconProperties{Color: icon.Color, Icon: icon.Icon}
}
if icon, ok := nameIconMap[base]; ok {
return icon
}
ext := strings.ToLower(filepath.Ext(name))
if icon, ok := customIconsConfig.Extensions[ext]; ok {
return IconProperties{Color: icon.Color, Icon: icon.Icon}
}
if icon, ok := extIconMap[ext]; ok {
return icon
}
if isSubmodule {
return DEFAULT_SUBMODULE_ICON
} else if isLinkedWorktree {
return IconProperties{LINKED_WORKTREE_ICON, "#4E4E4E"}
} else if isDirectory {
return DEFAULT_DIRECTORY_ICON
}
return DEFAULT_FILE_ICON
}