Bläddra i källkod

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.
hasecilu 2 år sedan
förälder
incheckning
8d17115dee
2 ändrade filer med 218 tillägg och 12 borttagningar
  1. 10 1
      src/info/filetype.rs
  2. 208 11
      src/output/icons.rs

+ 10 - 1
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

+ 208 - 11
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,       // 