From 8d17115deec645574434cd5683fe61555c6df856 Mon Sep 17 00:00:00 2001 From: hasecilu Date: Tue, 12 Dec 2023 15:13:23 -0600 Subject: [PATCH] feat(icons): add new icons, extensive list Bugfix - Remove `.acc` extension, fix typo. - Add icon for `.aac` extension, audio. Audio compression format from MPEG. New glyphs from Nerd Font 3.2.0 release - Update icon for extensions `.qml`, `.qrc` & `.qss` and some config files, Qt. - Add KDE icon for some config files from KDE applications New glyphs from Nerd Font 3.1.0 release - Update icon for extension `.xcf` file, GIMP file. - Add icon for extension `.scad`, OpenSCAD file. Parametric CAD software. - Add icon for extension `.kdenlive` and `.kdenlivetitle` and some config files. Kdenlive, non linear video editing software. - Add icon for extension `.ino`, Arduino file. Arduino is an open-source electronics platform that consists of both hardware and software. - Add icon for extension `.msf`, Thunderbird. Mail summary file used by the Mozilla Thunderbird mail client. - Add icon for extension `.toml`. - Add icon for `.gtkrc-2.0`, `gtkrc` config files and `.gresource` file extension. GTK. - Add icon for `.tmux.conf`, `tmux.conf.local` config files and `.tmux` file extension. tmux. - Add icon for `lxde-rc.xml` file. LXDE config file. - Add icon for `lxqt.conf` file. LXQt config file. - Add icon for `sxhkdrc` file, update `bspwmrc` file icon. bspwm and sxhkd config files. - Add icon for `hypr{idle,land,lock}.conf` file. Hyprland config file. - Add icon for `i3{blocks,status}.conf` files. i3 config files. - Add icon for `mpv.conf` file. mpv config file. - Add icon for `.jwmrc` and system.jwmrc` files. JWM config files. - Add icon for `xmobarrc*` and `xmonad.hs` files. Xmonad config files. - Add icon for `weston.ini` file. Weston config file. - Add icon for `.kpp`, `.kra` and `.krz` extensions and some config files. Krita, free software for digital illustration and animation. - Add icon for Prusa Slicer `PrusaSlicer.ini` and `PrusaSlicerGcodeViewer.ini` config files. - Add icon for several KiCad file extensions. Free software suite for electronic design automation (EDA). - `.kicad_pro` Project file, containing settings that are shared between the schematic and PCB. - `.kicad_sch` Schematic files containing all info and the components themselves. - `.kicad_sym` Schematic symbol library file, containing the component descriptions: graphic shape, pins, fields. - `.kicad_pcb` Board file containing all info but the page layout. - `.kicad_mod` Footprint files, containing one footprint description each. - `.kicad_dru` Design rules file, containing custom design rules for a certain .kicad_pcb file. - `.kicad_prl` Local settings for the current project; helps Kicad remember the last used settings such as layer visibility or selection filter. - `.kicad_wks` Page layout (drawing border and title block) description file. - `sym-lib-table` Symbol library table: list of symbol libraries available in the schematic editor.Board editor files and folders. - `fp-lib-table` Footprint library table: list of footprint libraries available in the board editor. - `fp-info-cache` Cache to speed up loading of footprint libraries. - Note: Legacy file extensions were ignored, also `.net` and `.cmp` extensions (kind of generic). - Add icon for several FreeCAD file extensions. General-purpose parametric 3D computer-aided design (CAD) modeler. - `.fcstd` FreeCAD native format. - `.fcmacro` FreeCAD macro (Python code). - `.fcmat` FreeCAD material card. - `.fcparam` FreeCAD parameter file. - `.fcscript` FreeCAD script (Python code). - `.fctb` Path tool bit file (JSON format). - `.fctl` Path tool library file (JSON format). - `.fcbak` FreeCAD Backup file. - `.fcstd1` FreeCAD Backup file. - `FreeCAD.conf` Configuration file. Glyphs that were already available - Add icon for CODE_OF_CONDUCT{,.md} files. - Add icon for SECURITY{,.md} files. - Add icon for README.md file. - Add icon for `.aliases` and `.bash_aliases` files. SHELL. - Add icon for `.envrc` file. - Add icon for `.git-blame-ignore-revs` file. GIT. - Add icon for `.parentlock`, `.lck` & `lock` files. Files used to prevent an action in a program. LOCK. - Add icon for `.cow` extension. Cowfiles from cowsay program. - Add icon for `.xpi `extension, Mozilla extension. - Add icon for `.cache` extension, Cache files. CACHE. - Add icon for `.dconf` extension. Simple database file format. DATABASE. - Add icon for `.editorconfig` extension. - Add icon for `.mo`, `.po`, `.pot` and `.qm` extensions. Extensions used for translation files. TRANSLATION. - Add icon for `.ass` extension, subtitles. Subtitles file created with Aegisub. SUBTITLES. - Add icon for `.sf2` and `.sfz` extensions. File format that uses sample-based synthesis to play MIDI files. - Add icon for `.vsix` extension, Visual Studio. Visual Studio extensions. - Add icon for `.lff` extension, font. LibreCAD font format. FONT. - Add icon for `fonts.conf` file`, font. FONT. - Add icon for `.flc` and `.flf` extensions. FIGlet font format. FONT. - Add icon for `.pls` extension. Multimedia playlist. - Add icon for `.sv`, `.svh` & `.vhdl` extensions. System Verilog, VHDL. - Add icon for `.tcb`, `.tcl` extensions. Tcl. - Add bible icon to `.hc` extension, HolyC programming language. - Add window icon for `.ui` extension. - Add Arch Linux icon for `.SRCINFO` file. - Add SQLite icon for extensions `.db3`, `.s3db`, `.sl3`, `.sqlite`. - Create GRAPH category for `.dot` and `.gv` files. - Create LANG_LUA category for `.lua`, `.luac` and `.lua` files. - Create LOG category for `log`, `LOG` and `*.log` files. - Add `LOCK` file to LOCK category. - Add `.3g2`, `.3gp`, `.3gp2`, `.3gpp` and `.3gpp2` extensions to VIDEO. - Add `.docm` to DOCUMENT category. - Add `.info`, `.nfo` extensions to INFO category. - Add `.app` extension to BINARY category. - Add `.applescript` extension to OS_APPLE category. - Add `COMMIT_EDITMSG` extension to GIT category. - Add `.odb` extension to DATABASE category. - Add `.cast` extension to VIDEO, recording of terminal sessions (asciinema) - Add `.wrl` & `.wrz` to MODEL_3D category, Virtual Reality Modeling Language - Add icon for `vlcrc` config file, VLC. - Add icon for `favicon.ico` file, star. - Add icon for `pyvenv.cfg` file and `.pyw` extension, Python. - Add `.json5`, `.jsonc` extensions to JSON category. - Add icon for CAD file extensions. - `.ige`, `.iges`, `.igs`, `.ste`, `.step` and `.stp`. Common file extensions used for CAD data exchange. - Add icon for `.ifc` extension. Description of architectural, building and construction industry data. - Add icon for `.slvs` extension. SolveSpace. FOSS CAD program. - Add icon for `.skp` extension, SketchUp. 3D modeling program. - Add icon for `.sldasm` and `.sldprt` extensions, SolidWorks. - Add icon for `.3dm` extension, Rhinoceros 3D. - Add icon for `.123dx` extension, 123D. - Add icon for `.psm` extension, SolidEdge. `.par` and `.asm` extensions are already in use. - Add icon for `.x_b` and `.x_t` extensions, Parasolid. CAD kernel. - Add icon for `.catpart` and `.catproduct` extensions, CATIA. - Add icon for `.f3d` and `.f3z` extensions, Autodesk Fusion 360. - Add icon for `.iam` and `.ipt` extensions, Autodesk Inventor. - Add icon for `.dwg` and `.dxf` extensions, AutoCAD. - Add icon for `.brep` extension, CAD. Boundary representation. - Add icons for EDA schematic and EDA PCB files. - Add icons for `.brd`, `.lbr` and `.sch` extensions, EAGLE. - Add icons for `.schdoc`, `.pcbdoc` and `.prjpcb` extensions, Altium Designer. - Add icon for `.lpp` extension, LibrePCB. - Add icon for Gerber format. Multiple file extensions used to save Gerber files. --- src/info/filetype.rs | 11 ++- src/output/icons.rs | 219 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 218 insertions(+), 12 deletions(-) diff --git a/src/info/filetype.rs b/src/info/filetype.rs index e71c2eb68..e908c8e8b 100644 --- a/src/info/filetype.rs +++ b/src/info/filetype.rs @@ -118,6 +118,8 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! { "jpg" => FileType::Image, "jpx" => FileType::Image, "jxl" => FileType::Image, + "kra" => FileType::Image, + "krz" => FileType::Image, "nef" => FileType::Image, "odg" => FileType::Image, "orf" => FileType::Image, @@ -266,6 +268,8 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! { "bkp" => FileType::Temp, "crdownload" => FileType::Temp, "download" => FileType::Temp, + "fcbak" => FileType::Temp, + "fcstd1" => FileType::Temp, "fdmdownload"=> FileType::Temp, "part" => FileType::Temp, "swn" => FileType::Temp, @@ -293,7 +297,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! { "pyo" => FileType::Compiled, // Python optimized code "so" => FileType::Compiled, // Unix shared library "zwc" => FileType::Compiled, // zsh compiled file - /* Source code */ + /* Source code files */ "applescript"=> FileType::Source, // Apple script "as" => FileType::Source, // Action script "asa" => FileType::Source, // asp @@ -327,6 +331,8 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! { "exs" => FileType::Source, // Elixir "f" => FileType::Source, // Fortran "f90" => FileType::Source, // Fortran + "fcmacro" => FileType::Source, // FreeCAD macro + "fcscript" => FileType::Source, // FreeCAD script "fnl" => FileType::Source, // Fennel "for" => FileType::Source, // Fortran "fs" => FileType::Source, // F# @@ -342,11 +348,13 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! { "h++" => FileType::Source, // C/C++ header "hh" => FileType::Source, // C/C++ header "hpp" => FileType::Source, // C/C++ header + "hc" => FileType::Source, // HolyC "hs" => FileType::Source, // Haskell "htc" => FileType::Source, // JavaScript "hxx" => FileType::Source, // C/C++ header "inc" => FileType::Source, "inl" => FileType::Source, // C/C++ Microsoft + "ino" => FileType::Source, // Arduino "ipynb" => FileType::Source, // Jupyter Notebook "ixx" => FileType::Source, // C/C++ module "java" => FileType::Source, // Java @@ -388,6 +396,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! { "sass" => FileType::Source, // Sass "scala" => FileType::Source, // Scala "scm" => FileType::Source, // Scheme + "scad" => FileType::Source, // OpenSCAD "scss" => FileType::Source, // Sass "sld" => FileType::Source, // Scheme Library Definition "sql" => FileType::Source, // SQL diff --git a/src/output/icons.rs b/src/output/icons.rs index 4376624f8..095d18ec9 100644 --- a/src/output/icons.rs +++ b/src/output/icons.rs @@ -18,6 +18,8 @@ impl Icons { const BINARY: char = '\u{eae8}'; //  const BOOK: char = '\u{e28b}'; //  const CALENDAR: char = '\u{eab0}'; //  + const CACHE: char = '\u{f49b}'; //  + const CAD: char = '\u{f0eeb}'; // 󰻫 const CLOCK: char = '\u{f43a}'; //  const COMPRESSED: char = '\u{f410}'; //  const CONFIG: char = '\u{e615}'; //  @@ -28,6 +30,8 @@ impl Icons { const DOCKER: char = '\u{e650}'; //  const DOCUMENT: char = '\u{f1c2}'; //  const DOWNLOAD: char = '\u{f01da}'; // 󰇚 + const EDA_SCH: char = '\u{f0b45}'; // 󰭅 + const EDA_PCB: char = '\u{eabe}'; //  const EMACS: char = '\u{e632}'; //  const ESLINT: char = '\u{e655}'; //  const FILE: char = '\u{f15b}'; //  @@ -42,19 +46,28 @@ impl Icons { const FOLDER_NPM: char = '\u{e5fa}'; //  const FOLDER_OPEN: char = '\u{f115}'; //  const FONT: char = '\u{f031}'; //  + const FREECAD: char = '\u{f336}'; //  + const GIMP: char = '\u{f338}'; //  const GIST_SECRET: char = '\u{eafa}'; //  const GIT: char = '\u{f1d3}'; //  const GODOT: char = '\u{e65f}'; //  const GRADLE: char = '\u{e660}'; //  + const GRAPH: char = '\u{f1049}'; // 󱁉 const GRAPHQL: char = '\u{e662}'; //  const GRUNT: char = '\u{e611}'; //  + const GTK: char = '\u{f362}'; //  const GULP: char = '\u{e610}'; //  const HTML5: char = '\u{f13b}'; //  const IMAGE: char = '\u{f1c5}'; //  + const INFO: char = '\u{f129}'; //  const INTELLIJ: char = '\u{e7b5}'; //  const JSON: char = '\u{e60b}'; //  const KEY: char = '\u{eb11}'; //  + const KDENLIVE: char = '\u{f33c}'; //  const KEYPASS: char = '\u{f23e}'; //  + const KICAD: char = '\u{f34c}'; //  + const KRITA: char = '\u{f33d}'; //  + const LANG_ARDUINO: char = '\u{f34b}'; //  const LANG_ASSEMBLY: char = '\u{e637}'; //  const LANG_C: char = '\u{e61e}'; //  const LANG_CPP: char = '\u{e61d}'; //  @@ -68,9 +81,12 @@ impl Icons { const LANG_GO: char = '\u{e65e}'; //  const LANG_GROOVY: char = '\u{e775}'; //  const LANG_HASKELL: char = '\u{e777}'; //  + const LANG_HDL: char = '\u{f035b}'; // 󰍛 + const LANG_HOLYC: char = '\u{f00a2}'; // 󰂢 const LANG_JAVA: char = '\u{e256}'; //  const LANG_JAVASCRIPT: char = '\u{e74e}'; //  const LANG_KOTLIN: char = '\u{e634}'; //  + const LANG_LUA: char = '\u{e620}'; //  const LANG_NIM: char = '\u{e677}'; //  const LANG_OCAML: char = '\u{e67a}'; //  const LANG_PERL: char = '\u{e67e}'; //  @@ -89,6 +105,7 @@ impl Icons { const LIBRARY: char = '\u{eb9c}'; //  const LICENSE: char = '\u{f02d}'; //  const LOCK: char = '\u{f023}'; //  + const LOG: char = '\u{f18d}'; //  const MAKE: char = '\u{e673}'; //  const MARKDOWN: char = '\u{f48a}'; //  const MUSTACHE: char = '\u{e60f}'; //  @@ -103,6 +120,7 @@ impl Icons { const POWERSHELL: char = '\u{ebc7}'; //  const PRIVATE_KEY: char = '\u{f0306}'; // 󰌆 const PUBLIC_KEY: char = '\u{f0dd6}'; // 󰷖 + const QT: char = '\u{f375}'; //  const RAZOR: char = '\u{f1fa}'; //  const REACT: char = '\u{e7ba}'; //  const README: char = '\u{f00ba}'; // 󰂺 @@ -114,11 +132,15 @@ impl Icons { const SHIELD_LOCK: char = '\u{f099d}'; // 󰦝 const SIGNED_FILE: char = '\u{f19c3}'; // 󱧃 const SLIDE: char = '\u{f1c4}'; //  + const SQLITE: char = '\u{e7c4}'; //  const SUBLIME: char = '\u{e7aa}'; //  const SUBTITLE: char = '\u{f0a16}'; // 󰨖 const TERRAFORM: char = '\u{f1062}'; // 󱁢 const TEXT: char = '\u{f15c}'; //  const TYPST: char = '\u{f37f}'; //  + const TMUX: char = '\u{ebc8}'; //  + const TOML: char = '\u{e6b2}'; //  + const TRANSLATION: char = '\u{f05ca}'; // 󰗊 const UNITY: char = '\u{e721}'; //  const VECTOR: char = '\u{f0559}'; // 󰕙 const VIDEO: char = '\u{f03d}'; //  @@ -172,8 +194,10 @@ const DIRECTORY_ICONS: Map<&'static str, char> = phf_map! { /// Mapping from full filenames to file icon. This mapping should also contain /// all the "dot" files that have a custom icon. const FILENAME_ICONS: Map<&'static str, char> = phf_map! { + ".aliases" => Icons::SHELL, // 󱆃 ".atom" => '\u{e764}', //  ".bashrc" => Icons::SHELL, // 󱆃 + ".bash_aliases" => Icons::SHELL, // 󱆃 ".bash_history" => Icons::SHELL, // 󱆃 ".bash_logout" => Icons::SHELL, // 󱆃 ".bash_profile" => Icons::SHELL, // 󱆃 @@ -185,6 +209,7 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { ".cshrc" => Icons::SHELL, // 󱆃 ".DS_Store" => Icons::OS_APPLE, //  ".emacs" => Icons::EMACS, //  + ".envrc" => '\u{f462}', //  ".eslintrc.cjs" => Icons::ESLINT, //  ".eslintrc.js" => Icons::ESLINT, //  ".eslintrc.json" => Icons::ESLINT, //  @@ -192,11 +217,13 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { ".eslintrc.yml" => Icons::ESLINT, //  ".fennelrc" => Icons::CONFIG, //  ".gitattributes" => Icons::GIT, //  + ".git-blame-ignore-revs" => Icons::GIT, //  ".gitconfig" => Icons::GIT, //  ".gitignore" => Icons::GIT, //  ".gitignore_global" => Icons::GIT, //  ".gitlab-ci.yml" => '\u{f296}', //  ".gitmodules" => Icons::GIT, //  + ".gtkrc-2.0" => Icons::GTK, //  ".htaccess" => Icons::CONFIG, //  ".htpasswd" => Icons::CONFIG, //  ".idea" => Icons::INTELLIJ, //  @@ -215,12 +242,14 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { ".npmrc" => Icons::NPM, //  ".pre-commit-config.yaml" => '\u{f06e2}', // 󰛢 ".prettierrc" => '\u{e6b4}', //  + ".parentlock" => Icons::LOCK, //  ".profile" => Icons::SHELL, // 󱆃 ".pylintrc" => Icons::CONFIG, //  ".python_history" => Icons::LANG_PYTHON, //  ".rustfmt.toml" => Icons::LANG_RUST, //  ".rvm" => Icons::LANG_RUBY, //  ".rvmrc" => Icons::LANG_RUBY, //  + ".SRCINFO" => '\u{f303}', //  ".tcshrc" => Icons::SHELL, // 󱆃 ".viminfo" => Icons::VIM, //  ".vimrc" => Icons::VIM, //  @@ -241,13 +270,16 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "AUTHORS" => '\u{edca}', //  "AUTHORS.txt" => '\u{edca}', //  "bashrc" => Icons::SHELL, // 󱆃 - "bspwmrc" => Icons::CONFIG, //  + "bspwmrc" => '\u{f355}', //  "build.gradle.kts" => Icons::GRADLE, //  "build.zig.zon" => '\u{e6a9}', //  "bun.lockb" => '\u{e76f}', //  + "cantorrc" => '\u{f373}', //  "Cargo.lock" => Icons::LANG_RUST, //  "Cargo.toml" => Icons::LANG_RUST, //  "CMakeLists.txt" => '\u{e794}', //  + "CODE_OF_CONDUCT" => '\u{f4ae}', //  + "CODE_OF_CONDUCT.md" => '\u{f4ae}', //  "composer.json" => Icons::LANG_PHP, //  "composer.lock" => Icons::LANG_PHP, //  "config" => Icons::CONFIG, //  @@ -271,7 +303,13 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "dune" => Icons::LANG_OCAML, //  "dune-project" => Icons::WRENCH, //  "Earthfile" => '\u{f0ac}', //  + "COMMIT_EDITMSG" => Icons::GIT, //  "environment" => Icons::CONFIG, //  + "favicon.ico" => '\u{e623}', //  + "fonts.conf" => Icons::FONT, //  + "fp-info-cache" => Icons::KICAD, //  + "fp-lib-table" => Icons::KICAD, //  + "FreeCAD.conf" => Icons::FREECAD, //  "GNUmakefile" => Icons::MAKE, //  "go.mod" => Icons::LANG_GO, //  "go.sum" => Icons::LANG_GO, //  @@ -285,11 +323,18 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "gruntfile.js" => Icons::GRUNT, //  "gruntfile.ls" => Icons::GRUNT, //  "gshadow" => Icons::LOCK, //  + "gtkrc" => Icons::GTK, //  "gulpfile.coffee" => Icons::GULP, //  "gulpfile.js" => Icons::GULP, //  "gulpfile.ls" => Icons::GULP, //  "heroku.yml" => '\u{e77b}', //  "hostname" => Icons::CONFIG, //  + "hypridle.conf" => '\u{f359}', //  + "hyprland.conf" => '\u{f359}', //  + "hyprlock.conf" => '\u{f359}', //  + "hyprpaper.conf" => '\u{f359}', //  + "i3blocks.conf" => '\u{f35a}', //  + "i3status.conf" => '\u{f35a}', //  "id_dsa" => Icons::PRIVATE_KEY, // 󰌆 "id_ecdsa" => Icons::PRIVATE_KEY, // 󰌆 "id_ecdsa_sk" => Icons::PRIVATE_KEY, // 󰌆 @@ -302,7 +347,13 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "jsconfig.json" => Icons::LANG_JAVASCRIPT,//  "Justfile" => Icons::WRENCH, //  "justfile" => Icons::WRENCH, //  + "kalgebrarc" => '\u{f373}', //  + "kdeglobals" => '\u{f373}', //  + "kdenlive-layoutsrc" => Icons::KDENLIVE, //  + "kdenliverc" => Icons::KDENLIVE, //  "known_hosts" => '\u{f08c0}', // 󰣀 + "kritadisplayrc" => Icons::KRITA, //  + "kritarc" => Icons::KRITA, //  "LICENCE" => Icons::LICENSE, //  "LICENCE.md" => Icons::LICENSE, //  "LICENCE.txt" => Icons::LICENSE, //  @@ -313,6 +364,12 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "LICENSE.txt" => Icons::LICENSE, //  "localized" => Icons::OS_APPLE, //  "localtime" => Icons::CLOCK, //  + "lock" => Icons::LOCK, //  + "LOCK" => Icons::LOCK, //  + "log" => Icons::LOG, //  + "LOG" => Icons::LOG, //  + "lxde-rc.xml" => '\u{f363}', //  + "lxqt.conf" => '\u{f364}', //  "Makefile" => Icons::MAKE, //  "makefile" => Icons::MAKE, //  "Makefile.ac" => Icons::MAKE, //  @@ -320,6 +377,7 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "Makefile.in" => Icons::MAKE, //  "MANIFEST" => Icons::LANG_PYTHON, //  "MANIFEST.in" => Icons::LANG_PYTHON, //  + "mpv.conf" => '\u{f36e}', //  "npm-shrinkwrap.json" => Icons::NPM, //  "npmrc" => Icons::NPM, //  "package-lock.json" => Icons::NPM, //  @@ -331,22 +389,40 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { "pom.xml" => '\u{e674}', //  "Procfile" => '\u{e77b}', //  "profile" => Icons::SHELL, // 󱆃 + "PrusaSlicer.ini" => '\u{f351}', //  + "PrusaSlicerGcodeViewer.ini" => '\u{f351}', //  + "pyvenv.cfg" => Icons::LANG_PYTHON, //  "pyproject.toml" => Icons::LANG_PYTHON, //  + "qt5ct.conf" => Icons::QT, //  + "qt6ct.conf" => Icons::QT, //  + "QtProject.conf" => Icons::QT, //  "Rakefile" => Icons::LANG_RUBY, //  "README" => Icons::README, // 󰂺 + "README.md" => Icons::README, // 󰂺 "release.toml" => Icons::LANG_RUST, //  "requirements.txt" => Icons::LANG_PYTHON, //  "robots.txt" => '\u{f06a9}', // 󰚩 "rubydoc" => Icons::LANG_RUBYRAILS, //  "rvmrc" => Icons::LANG_RUBY, //  + "SECURITY" => '\u{f0483}', // 󰒃 + "SECURITY.md" => '\u{f0483}', // 󰒃 "settings.gradle.kts" => Icons::GRADLE, //  "shadow" => Icons::LOCK, //  "shells" => Icons::CONFIG, //  "sudoers" => Icons::LOCK, //  + "sxhkdrc" => Icons::CONFIG, //  + "sym-lib-table" => Icons::KICAD, //  "timezone" => Icons::CLOCK, //  + "tmux.conf" => Icons::TMUX, //  + "tmux.conf.local" => Icons::TMUX, //  "tsconfig.json" => Icons::LANG_TYPESCRIPT,//  "Vagrantfile" => '\u{2371}', // ⍱ + "vlcrc" => '\u{f057c}', // 󰕼 "webpack.config.js" => '\u{f072b}', // 󰜫 + "weston.ini" => '\u{f367}', //  + "xmobarrc" => '\u{f35e}', //  + "xmobarrc.hs" => '\u{f35e}', //  + "xmonad.hs" => '\u{f35e}', //  "yarn.lock" => Icons::YARN, //  "zlogin" => Icons::SHELL, // 󱆃 "zlogout" => Icons::SHELL, // 󱆃 @@ -358,10 +434,17 @@ const FILENAME_ICONS: Map<&'static str, char> = phf_map! { /// Mapping from lowercase file extension to icons. If an image, video, or audio extension is add /// also update the extension filetype map. const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { + "123dx" => Icons::CAD, // 󰻫 + "3dm" => Icons::CAD, // 󰻫 + "3g2" => Icons::VIDEO, //  + "3gp" => Icons::VIDEO, //  + "3gp2" => Icons::VIDEO, //  + "3gpp" => Icons::VIDEO, //  + "3gpp2" => Icons::VIDEO, //  "3mf" => Icons::FILE_3D, // 󰆧 "7z" => Icons::COMPRESSED, //  "a" => Icons::OS_LINUX, //  - "acc" => Icons::AUDIO, //  + "aac" => Icons::AUDIO, //  "acf" => '\u{f1b6}', //  "age" => Icons::SHIELD_LOCK, // 󰦝 "ai" => '\u{e7b4}', //  @@ -372,6 +455,8 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "android" => Icons::OS_ANDROID, //  "ape" => Icons::AUDIO, //  "apk" => Icons::OS_ANDROID, //  + "app" => Icons::BINARY, //  + "applescript" => Icons::OS_APPLE, //  "apple" => Icons::OS_APPLE, //  "ar" => Icons::COMPRESSED, //  "arj" => Icons::COMPRESSED, //  @@ -379,6 +464,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "asc" => Icons::SHIELD_LOCK, // 󰦝 "asm" => Icons::LANG_ASSEMBLY, //  "asp" => '\u{f121}', //  + "ass" => Icons::SUBTITLE, // 󰨖 "avi" => Icons::VIDEO, //  "avif" => Icons::IMAGE, //  "avro" => Icons::JSON, //  @@ -392,6 +478,8 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "blend" => '\u{f00ab}', // 󰂫 "bmp" => Icons::IMAGE, //  "br" => Icons::COMPRESSED, //  + "brd" => Icons::EDA_PCB, //  + "brep" => Icons::CAD, // 󰻫 "bst" => Icons::LANG_TEX, //  "bundle" => Icons::OS_APPLE, //  "bz" => Icons::COMPRESSED, //  @@ -400,6 +488,10 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "c" => Icons::LANG_C, //  "c++" => Icons::LANG_CPP, //  "cab" => Icons::OS_WINDOWS, //  + "cache" => Icons::CACHE, //  + "cast" => Icons::VIDEO, //  + "catpart" => Icons::CAD, // 󰻫 + "catproduct" => Icons::CAD, // 󰻫 "cbr" => Icons::IMAGE, //  "cbz" => Icons::IMAGE, //  "cc" => Icons::LANG_CPP, //  @@ -417,6 +509,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "conda" => '\u{e715}', //  "conf" => Icons::CONFIG, //  "config" => Icons::CONFIG, //  + "cow" => '\u{f019a}', // 󰆚 "cp" => Icons::LANG_CPP, //  "cpio" => Icons::COMPRESSED, //  "cpp" => Icons::LANG_CPP, //  @@ -438,6 +531,8 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "d" => Icons::LANG_D, //  "dart" => '\u{e798}', //  "db" => Icons::DATABASE, //  + "db3" => Icons::SQLITE, //  + "dconf" => Icons::DATABASE, //  "deb" => '\u{e77d}', //  "desktop" => '\u{ebd1}', //  "di" => Icons::LANG_D, //  @@ -447,18 +542,21 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "dll" => Icons::LIBRARY, //  "dmg" => Icons::DISK_IMAGE, //  "doc" => Icons::DOCUMENT, //  + "docm" => Icons::DOCUMENT, //  "docx" => Icons::DOCUMENT, //  - "dot" => '\u{f1049}', // 󱁉 + "dot" => Icons::GRAPH, // 󱁉 "download" => Icons::DOWNLOAD, // 󰇚 "dockerfile" => Icons::DOCKER, //  "dockerignore" => Icons::DOCKER, //  "drawio" => '\u{ebba}', //  "dump" => Icons::DATABASE, //  "dvi" => Icons::IMAGE, //  + "dwg" => Icons::CAD, // 󰻫 + "dxf" => Icons::CAD, // 󰻫 "dylib" => Icons::OS_APPLE, //  "ebook" => Icons::BOOK, //  "ebuild" => '\u{f30d}', //  - "editorconfig" => Icons::CONFIG, //  + "editorconfig" => '\u{e652}', //  "ejs" => '\u{e618}', //  "el" => Icons::EMACS, //  "elc" => Icons::EMACS, //  @@ -475,11 +573,24 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "exe" => Icons::OS_WINDOWS_CMD, //  "exs" => Icons::LANG_ELIXIR, //  "f" => Icons::LANG_FORTRAN, // 󱈚 + "f3d" => Icons::CAD, // 󰻫 + "f3z" => Icons::CAD, // 󰻫 "f90" => Icons::LANG_FORTRAN, // 󱈚 "fbx" => Icons::FILE_3D, // 󰆧 "fdmdownload" => Icons::DOWNLOAD, // 󰇚 + "fcbak" => Icons::FREECAD, //  + "fcmacro" => Icons::FREECAD, //  + "fcmat" => Icons::FREECAD, //  + "fcparam" => Icons::FREECAD, //  + "fcscript" => Icons::FREECAD, //  + "fcstd" => Icons::FREECAD, //  + "fcstd1" => Icons::FREECAD, //  + "fctb" => Icons::FREECAD, //  + "fctl" => Icons::FREECAD, //  "fish" => Icons::SHELL_CMD, //  "flac" => Icons::AUDIO, //  + "flc" => Icons::FONT, //  + "flf" => Icons::FONT, //  "flv" => Icons::VIDEO, //  "fnl" => Icons::LANG_FENNEL, //  "fnt" => Icons::FONT, //  @@ -495,6 +606,11 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "fsproj" => Icons::LANG_FSHARP, //  "fsx" => Icons::LANG_FSHARP, //  "gba" => '\u{f1393}', // 󱎓 + "gbl" => Icons::EDA_PCB, //  + "gbo" => Icons::EDA_PCB, //  + "gbp" => Icons::EDA_PCB, //  + "gbr" => Icons::EDA_PCB, //  + "gbs" => Icons::EDA_PCB, //  "gcode" => '\u{f0af4}', // 󰫴 "gd" => Icons::GODOT, //  "gdoc" => Icons::DOCUMENT, //  @@ -505,17 +621,24 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "gif" => Icons::IMAGE, //  "git" => Icons::GIT, //  "gleam" => Icons::LANG_GLEAM, // 󰦥 + "gm1" => Icons::EDA_PCB, //  + "gml" => Icons::EDA_PCB, //  "go" => Icons::LANG_GO, //  "godot" => Icons::GODOT, //  "gpg" => Icons::SHIELD_LOCK, // 󰦝 "gql" => Icons::GRAPHQL, //  "gradle" => Icons::GRADLE, //  "graphql" => Icons::GRAPHQL, //  + "gresource" => Icons::GTK, //  "groovy" => Icons::LANG_GROOVY, //  "gsheet" => Icons::SHEET, //  "gslides" => Icons::SLIDE, //  + "gtl" => Icons::EDA_PCB, //  + "gto" => Icons::EDA_PCB, //  + "gtp" => Icons::EDA_PCB, //  + "gts" => Icons::EDA_PCB, //  "guardfile" => Icons::LANG_RUBY, //  - "gv" => '\u{f1049}', // 󱁉 + "gv" => Icons::GRAPH, // 󱁉 "gvy" => Icons::LANG_GROOVY, //  "gz" => Icons::COMPRESSED, //  "h" => Icons::LANG_C, //  @@ -523,6 +646,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "h264" => Icons::VIDEO, //  "haml" => '\u{e664}', //  "hbs" => Icons::MUSTACHE, //  + "hc" => Icons::LANG_HOLYC, // 󰂢 "heic" => Icons::IMAGE, //  "heics" => Icons::VIDEO, //  "heif" => Icons::IMAGE, //  @@ -533,23 +657,32 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "htm" => Icons::HTML5, //  "html" => Icons::HTML5, //  "hxx" => Icons::LANG_CPP, //  + "iam" => Icons::CAD, // 󰻫 "ical" => Icons::CALENDAR, //  "icalendar" => Icons::CALENDAR, //  "ico" => Icons::IMAGE, //  "ics" => Icons::CALENDAR, //  "ifb" => Icons::CALENDAR, //  + "ifc" => Icons::CAD, // 󰻫 + "ige" => Icons::CAD, // 󰻫 + "iges" => Icons::CAD, // 󰻫 + "igs" => Icons::CAD, // 󰻫 "image" => Icons::DISK_IMAGE, //  "img" => Icons::DISK_IMAGE, //  "iml" => Icons::INTELLIJ, //  + "info" => Icons::INFO, //  "ini" => Icons::CONFIG, //  "inl" => Icons::LANG_C, //  "ipynb" => '\u{e80f}', //  + "ino" => Icons::LANG_ARDUINO, //  + "ipt" => Icons::CAD, // 󰻫 "iso" => Icons::DISK_IMAGE, //  "j2c" => Icons::IMAGE, //  "j2k" => Icons::IMAGE, //  "jad" => Icons::LANG_JAVA, //  "jar" => Icons::LANG_JAVA, //  "java" => Icons::LANG_JAVA, //  + "jwmrc" => '\u{f35b}', //  "jfi" => Icons::IMAGE, //  "jfif" => Icons::IMAGE, //  "jif" => Icons::IMAGE, //  @@ -563,28 +696,50 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "jpx" => Icons::IMAGE, //  "js" => Icons::LANG_JAVASCRIPT, //  "json" => Icons::JSON, //  + "json5" => Icons::JSON, //  + "jsonc" => Icons::JSON, //  "jsx" => Icons::REACT, //  "jxl" => Icons::IMAGE, //  "kbx" => Icons::SHIELD_KEY, // 󰯄 "kdb" => Icons::KEYPASS, //  "kdbx" => Icons::KEYPASS, //  + "kdenlive" => Icons::KDENLIVE, //  + "kdenlivetitle" => Icons::KDENLIVE, //  "key" => Icons::KEY, //  + "kicad_dru" => Icons::KICAD, //  + "kicad_mod" => Icons::KICAD, //  + "kicad_pcb" => Icons::KICAD, //  + "kicad_prl" => Icons::KICAD, //  + "kicad_pro" => Icons::KICAD, //  + "kicad_sch" => Icons::KICAD, //  + "kicad_sym" => Icons::KICAD, //  + "kicad_wks" => Icons::KICAD, //  "ko" => Icons::OS_LINUX, //  + "kpp" => Icons::KRITA, //  + "kra" => Icons::KRITA, //  + "krz" => Icons::KRITA, //  "ksh" => Icons::SHELL_CMD, //  "kt" => Icons::LANG_KOTLIN, //  "kts" => Icons::LANG_KOTLIN, //  "latex" => Icons::LANG_TEX, //  + "lbr" => Icons::LIBRARY, //  + "lck" => Icons::LOCK, //  "ldb" => Icons::DATABASE, //  "less" => '\u{e758}', //  + "lff" => Icons::FONT, //  "lhs" => Icons::LANG_HASKELL, //  "lib" => Icons::LIBRARY, //  "license" => Icons::LICENSE, //  "lisp" => '\u{f0172}', // 󰅲 "localized" => Icons::OS_APPLE, //  "lock" => Icons::LOCK, //  - "log" => '\u{f18d}', //  + "log" => Icons::LOG, //  + "lpp" => Icons::EDA_PCB, //  + "lrc" => Icons::SUBTITLE, // 󰨖 "ltx" => Icons::LANG_TEX, //  - "lua" => '\u{e620}', //  + "lua" => Icons::LANG_LUA, //  + "luac" => Icons::LANG_LUA, //  + "luau" => Icons::LANG_LUA, //  "lz" => Icons::COMPRESSED, //  "lz4" => Icons::COMPRESSED, //  "lzh" => Icons::COMPRESSED, //  @@ -613,6 +768,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "mll" => Icons::LANG_OCAML, //  "mly" => Icons::LANG_OCAML, //  "mm" => Icons::LANG_CPP, //  + "mo" => Icons::TRANSLATION, // 󰗊 "mobi" => Icons::BOOK, //  "mov" => Icons::VIDEO, //  "mp2" => Icons::AUDIO, //  @@ -620,10 +776,12 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "mp4" => Icons::VIDEO, //  "mpeg" => Icons::VIDEO, //  "mpg" => Icons::VIDEO, //  + "msf" => '\u{f370}', //  "msi" => Icons::OS_WINDOWS, //  "mts" => Icons::LANG_TYPESCRIPT, //  "mustache" => Icons::MUSTACHE, //  "nef" => Icons::IMAGE, //  + "nfo" => Icons::INFO, //  "nim" => Icons::LANG_NIM, //  "nimble" => Icons::LANG_NIM, //  "nims" => Icons::LANG_NIM, //  @@ -654,6 +812,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "part" => Icons::DOWNLOAD, // 󰇚 "patch" => Icons::DIFF, //  "pbm" => Icons::IMAGE, //  + "pcbdoc" => Icons::EDA_PCB, //  "pcm" => Icons::AUDIO, //  "pdf" => '\u{f1c1}', //  "pem" => Icons::KEY, //  @@ -664,18 +823,22 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "pkg" => '\u{eb29}', //  "pl" => Icons::LANG_PERL, //  "plist" => Icons::OS_APPLE, //  + "pls" => Icons::PLAYLIST, // 󰲹 "plx" => Icons::LANG_PERL, //  "ply" => Icons::FILE_3D, // 󰆧 "pm" => Icons::LANG_PERL, //  "png" => Icons::IMAGE, //  "pnm" => Icons::IMAGE, //  + "po" => Icons::TRANSLATION, // 󰗊 "pod" => Icons::LANG_PERL, //  + "pot" => Icons::TRANSLATION, // 󰗊 "pp" => '\u{e631}', //  "ppm" => Icons::IMAGE, //  "pps" => Icons::SLIDE, //  "ppsx" => Icons::SLIDE, //  "ppt" => Icons::SLIDE, //  "pptx" => Icons::SLIDE, //  + "prjpcb" => Icons::EDA_PCB, //  "properties" => Icons::JSON, //  "prql" => Icons::DATABASE, //  "ps" => Icons::VECTOR, // 󰕙 @@ -683,6 +846,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "psd" => '\u{e7b8}', //  "psd1" => Icons::POWERSHELL, //  "psf" => Icons::FONT, //  + "psm" => Icons::CAD, // 󰻫 "psm1" => Icons::POWERSHELL, //  "pub" => Icons::PUBLIC_KEY, // 󰷖 "purs" => '\u{e630}', //  @@ -692,8 +856,13 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "pyd" => Icons::LANG_PYTHON, //  "pyi" => Icons::LANG_PYTHON, //  "pyo" => Icons::LANG_PYTHON, //  + "pyw" => Icons::LANG_PYTHON, //  "qcow" => Icons::DISK_IMAGE, //  "qcow2" => Icons::DISK_IMAGE, //  + "qm" => Icons::TRANSLATION, // 󰗊 + "qml" => Icons::QT, //  + "qrc" => Icons::QT, //  + "qss" => Icons::QT, //  "r" => Icons::LANG_R, //  "rar" => Icons::COMPRESSED, //  "raw" => Icons::IMAGE, //  @@ -719,13 +888,19 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "ru" => Icons::LANG_RUBY, //  "rubydoc" => Icons::LANG_RUBYRAILS, //  "s" => Icons::LANG_ASSEMBLY, //  + "s3db" => Icons::SQLITE, //  "sal" => '\u{f147b}', // 󱑻 "sass" => Icons::LANG_SASS, //  "sbt" => Icons::SUBTITLE, // 󰨖 + "scad" => '\u{f34e}', //  "scala" => '\u{e737}', //  "scm" => Icons::LANG_SCHEME, //  + "sch" => Icons::EDA_SCH, // 󰭅 + "schdoc" => Icons::EDA_SCH, // 󰭅 "scss" => Icons::LANG_SASS, //  "service" => '\u{eba2}', //  + "sf2" => '\u{f0f70}', // 󰽰 + "sfz" => '\u{f0f70}', // 󰽰 "sh" => Icons::SHELL_CMD, //  "sha1" => Icons::SHIELD_CHECK, // 󰕥 "sha224" => Icons::SHIELD_CHECK, // 󰕥 @@ -737,16 +912,25 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "sig" => Icons::SIGNED_FILE, // 󱧃 "signature" => Icons::SIGNED_FILE, // 󱧃 "sld" => Icons::LANG_SCHEME, //  + "skp" => Icons::CAD, // 󰻫 + "sl3" => Icons::SQLITE, //  + "sldasm" => Icons::CAD, // 󰻫 + "sldprt" => Icons::CAD, // 󰻫 "slim" => Icons::LANG_RUBYRAILS, //  "sln" => '\u{e70c}', //  + "slvs" => Icons::CAD, // 󰻫 "so" => Icons::OS_LINUX, //  "sql" => Icons::DATABASE, //  - "sqlite3" => '\u{e7c4}', //  + "sqlite" => Icons::SQLITE, //  + "sqlite3" => Icons::SQLITE, //  "sr" => '\u{f147b}', // 󱑻 "srt" => Icons::SUBTITLE, // 󰨖 "ss" => Icons::LANG_SCHEME, //  "ssa" => Icons::SUBTITLE, // 󰨖 "stl" => Icons::FILE_3D, // 󰆧 + "ste" => Icons::CAD, // 󰻫 + "step" => Icons::CAD, // 󰻫 + "stp" => Icons::CAD, // 󰻫 "sty" => Icons::LANG_TEX, //  "styl" => Icons::LANG_STYLUS, //  "stylus" => Icons::LANG_STYLUS, //  @@ -762,15 +946,20 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "sublime-snippet"=> Icons::SUBLIME, //  "sublime-theme" => Icons::SUBLIME, //  "svelte" => '\u{e697}', //  + "sv" => Icons::LANG_HDL, // 󰍛 "svg" => Icons::VECTOR, // 󰕙 + "svh" => Icons::LANG_HDL, // 󰍛 "swf" => Icons::AUDIO, //  "swift" => '\u{e755}', //  "t" => Icons::LANG_PERL, //  + "tape" => '\u{F0A1B}', // 󰨛 "tar" => Icons::COMPRESSED, //  "taz" => Icons::COMPRESSED, //  + "tbc" => '\u{f06d3}', // 󰛓 "tbz" => Icons::COMPRESSED, //  "tbz2" => Icons::COMPRESSED, //  "tc" => Icons::DISK_IMAGE, //  + "tcl" => '\u{f06d3}', // 󰛓 "tex" => Icons::LANG_TEX, //  "tf" => Icons::TERRAFORM, // 󱁢 "tfstate" => Icons::TERRAFORM, // 󱁢 @@ -780,7 +969,8 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "tiff" => Icons::IMAGE, //  "tlz" => Icons::COMPRESSED, //  "tml" => Icons::CONFIG, //  - "toml" => Icons::CONFIG, //  + "tmux" => Icons::TMUX, //  + "toml" => Icons::TOML, //  "torrent" => '\u{e275}', //  "tres" => Icons::GODOT, //  "ts" => Icons::LANG_TYPESCRIPT, //  @@ -795,6 +985,7 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "txz" => Icons::COMPRESSED, //  "tz" => Icons::COMPRESSED, //  "tzo" => Icons::COMPRESSED, //  + "ui" => '\u{f2d0}', //  "unity" => Icons::UNITY, //  "unity3d" => Icons::UNITY, //  "v" => Icons::LANG_V, //  @@ -802,12 +993,13 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "vdi" => Icons::DISK_IMAGE, //  "vhd" => Icons::DISK_IMAGE, //  "vhs" => '\u{F0A1B}', // 󰨛 - "tape" => '\u{F0A1B}', // 󰨛 "vi" => '\u{e81e}', //  + "vhdl" => Icons::LANG_HDL, // 󰍛 "video" => Icons::VIDEO, //  "vim" => Icons::VIM, //  "vmdk" => Icons::DISK_IMAGE, //  "vob" => Icons::VIDEO, //  + "vsix" => '\u{f0a1e}', // 󰨞 "vue" => '\u{f0844}', // 󰡄 "war" => Icons::LANG_JAVA, //  "wav" => Icons::AUDIO, //  @@ -820,19 +1012,24 @@ const EXTENSION_ICONS: Map<&'static str, char> = phf_map! { "wmv" => Icons::VIDEO, //  "woff" => Icons::FONT, //  "woff2" => Icons::FONT, //  + "wrl" => Icons::FILE_3D, // 󰆧 + "wrz" => Icons::FILE_3D, // 󰆧 "wv" => Icons::AUDIO, //  "xaml" => '\u{f0673}', // 󰙳 + "xcf" => Icons::GIMP, //  "xci" => '\u{F07E1}', // 󰟡 - "xcf" => Icons::IMAGE, //  "xhtml" => Icons::HTML5, //  "xlr" => Icons::SHEET, //  "xls" => Icons::SHEET, //  "xlsm" => Icons::SHEET, //  "xlsx" => Icons::SHEET, //  "xml" => Icons::XML, // 󰗀 + "xpi" => '\u{eae6}', //  "xpm" => Icons::IMAGE, //  "xul" => Icons::XML, // 󰗀 "xz" => Icons::COMPRESSED, //  + "x_b" => Icons::CAD, // 󰻫 + "x_t" => Icons::CAD, // 󰻫 "yaml" => Icons::YAML, //  "yml" => Icons::YAML, //  "z" => Icons::COMPRESSED, // 