"Fossies" - the Fresh Open Source Software Archive

Member "nnn-4.4/src/icons.h" (23 Nov 2021, 18337 Bytes) of package /linux/misc/nnn-v4.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "icons.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: v4.3_vs_v4.4.

    1 #pragma once
    2 
    3 #if defined(ICONS)
    4 #include "icons-in-terminal.h"
    5 #elif defined(NERD)
    6 #include "icons-nerdfont.h"
    7 #endif
    8 
    9 struct icon_pair {
   10     const char *match;
   11     const char *icon;
   12     /*
   13      * Hex xterm 256 color code, 0 to follow file specific (if any)
   14      * Codes: https://jonasjacek.github.io/colors/
   15      * Spectrum sorted: https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg
   16      */
   17     const unsigned char color;
   18 };
   19 
   20 /*
   21  * Define a string to be printed before and after the icon
   22  * Adjust if the icons are not printed properly
   23  */
   24 
   25 #define ICON_PADDING_LEFT  ""
   26 #define ICON_PADDING_RIGHT " "
   27 
   28 #define COLOR_VIDEO        93  /* Purple */
   29 #define COLOR_AUDIO        220 /* Gold1 */
   30 #define COLOR_IMAGE        82  /* Chartreuse2 */
   31 #define COLOR_DOCS         202 /* OrangeRed1 */
   32 #define COLOR_ARCHIVE      209 /* Salmon1 */
   33 #define COLOR_C            81  /* SteelBlue1 */
   34 #define COLOR_JAVA         32  /* DeepSkyBlue3 */
   35 #define COLOR_JAVASCRIPT   47  /* SpringGreen2 */
   36 #define COLOR_REACT        39  /* DeepSkyBlue1 */
   37 #define COLOR_CSS          199 /* DeepPink1 */
   38 #define COLOR_PYTHON       227 /* LightGoldenrod1 */
   39 #define COLOR_LUA          19  /* Blue3 */
   40 #define COLOR_DOCUMENT     15  /* White */
   41 #define COLOR_FSHARP       31  /* DeepSkyBlue3 */
   42 #define COLOR_RUBY         160 /* Red3 */
   43 #define COLOR_SCALA        196 /* Red1 */
   44 #define COLOR_SHELL        47  /* SpringGreen2 */
   45 #define COLOR_VIM          28  /* Green4 */
   46 
   47 /*
   48  * Using symbols defined in icons-in-terminal.h, or even using icons-in-terminal is not necessary.
   49  * You can use whatever pathched font you like. You just have to put the desired icon as a string.
   50  * If you are using icons-in-terminal the creator recommends that you do use the symbols in the generated header.
   51  */
   52 
   53 #if defined(ICONS)
   54 static const struct icon_pair dir_icon  = {"", FA_FOLDER, 0};
   55 static const struct icon_pair file_icon = {"", FA_FILE_O, 0};
   56 static const struct icon_pair exec_icon = {"", FA_COG,    0};
   57 #elif defined(NERD)
   58 static const struct icon_pair dir_icon  = {"", ICON_DIRECTORY, 0};
   59 static const struct icon_pair file_icon = {"", ICON_FILE,      0};
   60 static const struct icon_pair exec_icon = {"", ICON_EXEC,      0};
   61 #endif
   62 
   63 /* All entries are case-insensitive */
   64 
   65 static const struct icon_pair icons_name[] = {
   66 #if defined(ICONS)
   67     {".git",         FA_GIT,        0},
   68     {"Desktop",      FA_DESKTOP,    0},
   69     {"Documents",    FA_BRIEFCASE,  0},
   70     {"Downloads",    FA_DOWNLOAD,   0},
   71     {"Music",        FA_MUSIC,      0},
   72     {"Pictures",     MD_CAMERA_ALT, 0},
   73     {"Public",       FA_INBOX,      0},
   74     {"Templates",    FA_PAPERCLIP,  0},
   75     {"Videos",       FA_FILM,       0},
   76     {"CHANGELOG",    FA_HISTORY,    COLOR_DOCS},
   77     {"configure",    FILE_CONFIG,   0},
   78     {"License",      FA_COPYRIGHT,  COLOR_DOCS},
   79     {"Makefile",     FILE_CMAKE,    0},
   80 #elif defined(NERD)
   81     {".git",         ICON_GIT,       0},
   82     {"Desktop",      ICON_DESKTOP,   0},
   83     {"Documents",    ICON_BRIEFCASE, 0},
   84     {"Downloads",    ICON_DOWNLOADS, 0},
   85     {"Music",        ICON_MUSIC,     0},
   86     {"Pictures",     ICON_PICTURES,  0},
   87     {"Public",       ICON_PUBLIC,    0},
   88     {"Templates",    ICON_TEMPLATES, 0},
   89     {"Videos",       ICON_VIDEOS,    0},
   90     {"CHANGELOG",    ICON_CHANGELOG, COLOR_DOCS},
   91     {"configure",    ICON_CONFIGURE, 0},
   92     {"License",      ICON_LICENSE,   COLOR_DOCS},
   93     {"Makefile",     ICON_MAKEFILE,  0},
   94 #endif
   95 };
   96 
   97 /*
   98  * New entries should bu added such that the first character of the extension is in the correct group .
   99  * This is done for performance reason so that the correct icon can be found faster.
  100  * All entries are case-insensitive
  101  */
  102 
  103 static const struct icon_pair icons_ext[] = {
  104 #if defined(ICONS)
  105     /* Numbers */
  106     {"1",        FILE_MANPAGE,         COLOR_DOCS},
  107     {"7z",       FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  108 
  109     /* A */
  110     {"a",        FILE_MANPAGE,         0},
  111     {"apk",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  112     {"asm",      FILE_NASM,            0},
  113     {"aup",      FA_FILE_AUDIO_O,      COLOR_AUDIO},
  114     {"avi",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  115 
  116     /* B */
  117     {"bat",      MFIZZ_SCRIPT,         0},
  118     {"bin",      OCT_FILE_BINARY,      0},
  119     {"bmp",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  120     {"bz2",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  121 
  122      /* C */
  123     {"c",        MFIZZ_C,              0},
  124     {"c++",      MFIZZ_CPLUSPLUS,      0},
  125     {"cab",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  126     {"cbr",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  127     {"cbz",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  128     {"cc",       MFIZZ_CPLUSPLUS,      0},
  129     {"class",    MFIZZ_JAVA,           0},
  130     {"clj",      MFIZZ_CLOJURE,        0},
  131     {"cljc",     MFIZZ_CLOJURE,        0},
  132     {"cljs",     MFIZZ_CLOJURE,        0},
  133     {"cmake",    FILE_CMAKE,           0},
  134     {"coffee",   MFIZZ_COFFEE_BEAN,    0},
  135     {"conf",     FA_COGS,              0},
  136     {"cpio",     FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  137     {"cpp",      MFIZZ_CPLUSPLUS,      0},
  138     {"css",      MFIZZ_CSS3,           0},
  139     {"cue",      FA_FILE_AUDIO_O,      COLOR_AUDIO},
  140     {"cvs",      FA_COGS,              0},
  141     {"cxx",      MFIZZ_CPLUSPLUS,      0},
  142 
  143     /* D */
  144     {"db",       MFIZZ_DATABASE_ALT2,  0},
  145     {"deb",      MFIZZ_DEBIAN,         COLOR_ARCHIVE},
  146     {"diff",     FILE_DIFF,            0},
  147     {"dll",      FILE_MANPAGE,         0},
  148     {"doc",      FILE_WORD,            0},
  149     {"docx",     FILE_WORD,            0},
  150 
  151      /* E */
  152     {"ejs",      FA_FILE_CODE_O,       0},
  153     {"elf",      FA_LINUX,             0},
  154     {"epub",     FA_FILE_PDF_O,        COLOR_DOCS},
  155     {"exe",      FA_WINDOWS,           0},
  156 
  157     /* F */
  158     {"f#",       DEV_FSHARP,           0},
  159     {"flac",     FA_FILE_AUDIO_O,      COLOR_AUDIO},
  160     {"flv",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  161     {"fs",       DEV_FSHARP,           0},
  162     {"fsi",      DEV_FSHARP,           0},
  163     {"fsscript", DEV_FSHARP,           0},
  164     {"fsx",      DEV_FSHARP,           0},
  165 
  166     /* G */
  167     {"gem",      FA_FILE_ARCHIVE_O,    0},
  168     {"gif",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  169     {"go",       MFIZZ_GO,             0},
  170     {"gz",       FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  171     {"gzip",     FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  172 
  173     /* H */
  174     {"h",        MFIZZ_C,              0},
  175     {"hh",       MFIZZ_CPLUSPLUS,      0},
  176     {"htaccess", FA_COGS,              0},
  177     {"htpasswd", FA_COGS,              0},
  178     {"htm",      FA_FILE_CODE_O,       0},
  179     {"html",     FA_FILE_CODE_O,       0},
  180     {"hxx",      MFIZZ_CPLUSPLUS,      0},
  181 
  182     /* I */
  183     {"ico",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  184     {"img",      LINEA_MUSIC_CD,       COLOR_ARCHIVE},
  185     {"ini",      FA_COGS,              0},
  186     {"iso",      LINEA_MUSIC_CD,       COLOR_ARCHIVE},
  187 
  188     /* J */
  189     {"jar",      MFIZZ_JAVA,           0},
  190     {"java",     MFIZZ_JAVA,           0},
  191     {"jl",       FA_COGS,              0},
  192     {"jpeg",     FA_FILE_IMAGE_O,      COLOR_IMAGE},
  193     {"jpg",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  194     {"js",       DEV_JAVASCRIPT_BADGE, 0},
  195     {"json",     MFIZZ_JAVASCRIPT,     0},
  196     {"jsx",      FILE_JSX,             0},
  197 
  198     /* K */
  199 
  200     /* L */
  201     {"lha",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  202     {"log",      FA_FILE_TEXT_O,       0},
  203     {"lua",      FILE_LUA,             COLOR_LUA},
  204     {"lzh",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  205     {"lzma",     FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  206 
  207     /* M */
  208     {"m4a",      FA_FILE_AUDIO_O,      COLOR_AUDIO},
  209     {"m4v",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  210     {"markdown", DEV_MARKDOWN,         COLOR_DOCS},
  211     {"md",       DEV_MARKDOWN,         COLOR_DOCS},
  212     {"mk",       FILE_CMAKE,           0},
  213     {"mkv",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  214     {"mov",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  215     {"mp3",      FA_FILE_AUDIO_O,      COLOR_AUDIO},
  216     {"mp4",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  217     {"mpeg",     FA_FILE_MOVIE_O,      COLOR_VIDEO},
  218     {"mpg",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  219     {"msi",      FA_WINDOWS,           0},
  220 
  221     /* N */
  222 
  223     /* O */
  224     {"o",          FILE_MANPAGE,       0},
  225     {"ogg",        FA_FILE_AUDIO_O,    COLOR_AUDIO},
  226     {"opdownload", FA_DOWNLOAD,        0},
  227     {"out",        FA_LINUX,           0},
  228 
  229     /* P */
  230     {"part",     FA_DOWNLOAD,          0},
  231     {"patch",    FILE_PATCH,           0},
  232     {"pdf",      FA_FILE_PDF_O,        COLOR_DOCS},
  233     {"php",      MFIZZ_PHP,            0},
  234     {"png",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  235     {"ppt",      FILE_POWERPOINT,      0},
  236     {"pptx",     FILE_POWERPOINT,      0},
  237     {"psb",      DEV_PHOTOSHOP,        0},
  238     {"psd",      DEV_PHOTOSHOP,        0},
  239     {"py",       MFIZZ_PYTHON,         0},
  240     {"pyc",      MFIZZ_PYTHON,         0},
  241     {"pyd",      MFIZZ_PYTHON,         0},
  242     {"pyo",      MFIZZ_PYTHON,         0},
  243 
  244     /* Q */
  245 
  246     /* R */
  247     {"rar",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  248     {"rb",       MFIZZ_RUBY,           COLOR_RUBY},
  249     {"rc",       FA_COGS,              0},
  250     {"rom",      FA_LOCK,              0},
  251     {"rpm",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  252     {"rss",      FA_RSS_SQUARE,        0},
  253     {"rtf",      FA_FILE_PDF_O,        0},
  254 
  255     /* S */
  256     {"so",       FILE_MANPAGE,         0},
  257     {"scala",    MFIZZ_SCALA,          0},
  258     {"sh",       MFIZZ_SCRIPT,         COLOR_SHELL},
  259     {"slim",     FA_FILE_CODE_O,       0},
  260     {"sln",      DEV_VISUALSTUDIO,     0},
  261     {"sql",      MFIZZ_MYSQL,          0},
  262     {"srt",      FA_COMMENTS_O,        0},
  263     {"sub",      FA_COMMENTS_O,        0},
  264     {"svg",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  265 
  266     /* T */
  267     {"tar",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  268     {"tex",      FILE_TEX,             0},
  269     {"tgz",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  270     {"ts",       FILE_TS,              0},
  271     {"tsx",      FILE_TSX,             0},
  272     {"txt",      FA_FILE_TEXT_O,       0},
  273     {"txz",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  274 
  275     /* U */
  276 
  277     /* V */
  278     {"vid",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  279     {"vim",      DEV_VIM,              0},
  280     {"vimrc",    DEV_VIM,              0},
  281     {"vtt",      FA_COMMENTS_O,        0},
  282 
  283     /* W */
  284     {"wav",      FA_FILE_AUDIO_O,      COLOR_AUDIO},
  285     {"webm",     FA_FILE_MOVIE_O,      COLOR_VIDEO},
  286     {"wma",      FA_FILE_AUDIO_O,      COLOR_AUDIO},
  287     {"wmv",      FA_FILE_MOVIE_O,      COLOR_VIDEO},
  288 
  289     /* X */
  290     {"xbps",     FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  291     {"xcf",      FA_FILE_IMAGE_O,      COLOR_IMAGE},
  292     {"xhtml",    FA_FILE_CODE_O,       0},
  293     {"xls",      FILE_EXCEL,           0},
  294     {"xlsx",     FILE_EXCEL,           0},
  295     {"xml",      FA_FILE_CODE_O,       0},
  296     {"xz",       FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  297 
  298     /* Y */
  299     {"yaml",     FA_COGS,              0},
  300     {"yml",      FA_COGS,              0},
  301 
  302     /* Z */
  303     {"zip",      FA_FILE_ARCHIVE_O,    COLOR_ARCHIVE},
  304 
  305     /* Other */
  306 #elif defined(NERD)
  307     /* Numbers */
  308     {"1",          ICON_EXT_1,         COLOR_DOCS},
  309     {"7z",         ICON_EXT_7Z,        COLOR_ARCHIVE},
  310 
  311     /* A */
  312     {"a",          ICON_EXT_A,         0},
  313     {"apk",        ICON_EXT_APK,       COLOR_ARCHIVE},
  314     {"asm",        ICON_EXT_ASM,       0},
  315     {"aup",        ICON_EXT_AUP,       COLOR_AUDIO},
  316     {"avi",        ICON_EXT_AVI,       COLOR_VIDEO},
  317 
  318     /* B */
  319     {"bat",        ICON_EXT_BAT,       0},
  320     {"bib",        ICON_EXT_BIB,       0},
  321     {"bin",        ICON_EXT_BIN,       0},
  322     {"bmp",        ICON_EXT_BMP,       COLOR_IMAGE},
  323     {"bz2",        ICON_EXT_BZ2,       COLOR_ARCHIVE},
  324 
  325      /* C */
  326     {"c",          ICON_EXT_C,         COLOR_C},
  327     {"c++",        ICON_EXT_CPLUSPLUS, COLOR_C},
  328     {"cabal",      ICON_EXT_CABAL,     COLOR_VIDEO},
  329     {"cab",        ICON_EXT_CAB,       COLOR_ARCHIVE},
  330     {"cbr",        ICON_EXT_CBR,       COLOR_ARCHIVE},
  331     {"cbz",        ICON_EXT_CBZ,       COLOR_ARCHIVE},
  332     {"cc",         ICON_EXT_CC,        COLOR_C},
  333     {"class",      ICON_EXT_CLASS,     COLOR_JAVA},
  334     {"clj",        ICON_EXT_CLJ,       0},
  335     {"cljc",       ICON_EXT_CLJC,      0},
  336     {"cljs",       ICON_EXT_CLJS,      0},
  337     {"cls",        ICON_EXT_CLS,       0},
  338     {"cmake",      ICON_EXT_CMAKE,     0},
  339     {"coffee",     ICON_EXT_COFFEE,    0},
  340     {"conf",       ICON_EXT_CONF,      0},
  341     {"cpio",       ICON_EXT_CPIO,      COLOR_ARCHIVE},
  342     {"cpp",        ICON_EXT_CPP,       COLOR_C},
  343     {"css",        ICON_EXT_CSS,       COLOR_CSS},
  344     {"cue",        ICON_EXT_CUE,       COLOR_AUDIO},
  345     {"cvs",        ICON_EXT_CVS,       0},
  346     {"cxx",        ICON_EXT_CXX,       COLOR_C},
  347 
  348     /* D */
  349     {"db",         ICON_EXT_DB,        0},
  350     {"deb",        ICON_EXT_DEB,       COLOR_ARCHIVE},
  351     {"diff",       ICON_EXT_DIFF,      0},
  352     {"dll",        ICON_EXT_DLL,       0},
  353     {"doc",        ICON_EXT_DOC,       COLOR_DOCUMENT},
  354     {"docx",       ICON_EXT_DOCX,      COLOR_DOCUMENT},
  355 
  356      /* E */
  357     {"ejs",        ICON_EXT_EJS,       COLOR_JAVASCRIPT},
  358     {"elf",        ICON_EXT_ELF,       0},
  359     {"epub",       ICON_EXT_EPUB,      COLOR_DOCS},
  360     {"exe",        ICON_EXT_EXE,       0},
  361 
  362     /* F */
  363     {"f#",         ICON_EXT_FSHARP,    COLOR_FSHARP},
  364     {"fen",        ICON_EXT_FEN,       0},
  365     {"flac",       ICON_EXT_FLAC,      COLOR_AUDIO},
  366     {"flv",        ICON_EXT_FLV,       COLOR_VIDEO},
  367     {"fs",         ICON_EXT_FS,        COLOR_FSHARP},
  368     {"fsi",        ICON_EXT_FSI,       COLOR_FSHARP},
  369     {"fsscript",   ICON_EXT_FSSCRIPT,  COLOR_FSHARP},
  370     {"fsx",        ICON_EXT_FSX,       COLOR_FSHARP},
  371 
  372     /* G */
  373     {"gem",        ICON_EXT_GEM,       COLOR_RUBY},
  374     {"gif",        ICON_EXT_GIF,       COLOR_IMAGE},
  375     {"go",         ICON_EXT_GO,        0},
  376     {"gpg",        ICON_EXT_GPG,       COLOR_ARCHIVE},
  377     {"gz",         ICON_EXT_GZ,        COLOR_ARCHIVE},
  378     {"gzip",       ICON_EXT_GZIP,      COLOR_ARCHIVE},
  379 
  380     /* H */
  381     {"h",          ICON_EXT_H,         COLOR_C},
  382     {"hh",         ICON_EXT_HH,        COLOR_C},
  383     {"hpp",        ICON_EXT_HPP,       COLOR_C},
  384     {"hs",         ICON_EXT_HS,        COLOR_VIM},
  385     {"htaccess",   ICON_EXT_HTACCESS,  0},
  386     {"htpasswd",   ICON_EXT_HTPASSWD,  0},
  387     {"htm",        ICON_EXT_HTM,       0},
  388     {"html",       ICON_EXT_HTML,      0},
  389     {"hxx",        ICON_EXT_HXX,       COLOR_C},
  390 
  391     /* I */
  392     {"ico",        ICON_EXT_ICO,       COLOR_IMAGE},
  393     {"img",        ICON_EXT_IMG,       COLOR_ARCHIVE},
  394     {"ini",        ICON_EXT_INI,       0},
  395     {"iso",        ICON_EXT_ISO,       COLOR_ARCHIVE},
  396 
  397     /* J */
  398     {"jar",        ICON_EXT_JAR,       COLOR_JAVA},
  399     {"java",       ICON_EXT_JAVA,      COLOR_JAVA},
  400     {"jl",         ICON_EXT_JL,        0},
  401     {"jpeg",       ICON_EXT_JPEG,      COLOR_IMAGE},
  402     {"jpg",        ICON_EXT_JPG,       COLOR_IMAGE},
  403     {"js",         ICON_EXT_JS,        COLOR_JAVASCRIPT},
  404     {"json",       ICON_EXT_JSON,      COLOR_JAVASCRIPT},
  405     {"jsx",        ICON_EXT_JSX,       COLOR_REACT},
  406 
  407     /* K */
  408 
  409     /* L */
  410     {"lha",        ICON_EXT_LHA,       COLOR_ARCHIVE},
  411     {"lhs",        ICON_EXT_LHS,       COLOR_VIM},
  412     {"log",        ICON_EXT_LOG,       0},
  413     {"lua",        ICON_EXT_LUA,       COLOR_LUA},
  414     {"lzh",        ICON_EXT_LZH,       COLOR_ARCHIVE},
  415     {"lzma",       ICON_EXT_LZMA,      COLOR_ARCHIVE},
  416 
  417     /* M */
  418     {"m",          ICON_EXT_M,         COLOR_C},
  419     {"m4a",        ICON_EXT_M4A,       COLOR_AUDIO},
  420     {"m4v",        ICON_EXT_M4V,       COLOR_VIDEO},
  421     {"markdown",   ICON_EXT_MD,        COLOR_DOCS},
  422     {"mat",        ICON_EXT_MAT,       COLOR_C},
  423     {"md",         ICON_EXT_MD,        COLOR_DOCS},
  424     {"mk",         ICON_EXT_MK,        0},
  425     {"mkv",        ICON_EXT_MKV,       COLOR_VIDEO},
  426     {"mov",        ICON_EXT_MOV,       COLOR_VIDEO},
  427     {"mp3",        ICON_EXT_MP3,       COLOR_AUDIO},
  428     {"mp4",        ICON_EXT_MP4,       COLOR_VIDEO},
  429     {"mpeg",       ICON_EXT_MPEG,      COLOR_VIDEO},
  430     {"mpg",        ICON_EXT_MPG,       COLOR_VIDEO},
  431     {"msi",        ICON_EXT_MSI,       0},
  432 
  433     /* N */
  434     {"nix",        ICON_EXT_NIX,       COLOR_FSHARP},
  435 
  436     /* O */
  437     {"o",          ICON_EXT_O,         0},
  438     {"ogg",        ICON_EXT_OGG,       COLOR_AUDIO},
  439     {"opdownload", ICON_EXT_ODOWNLOAD, 0},
  440     {"out",        ICON_EXT_OUT,       0},
  441 
  442     /* P */
  443     {"part",       ICON_EXT_PART,      0},
  444     {"patch",      ICON_EXT_PATCH,     0},
  445     {"pdf",        ICON_EXT_PDF,       COLOR_DOCS},
  446     {"pgn",        ICON_EXT_PGN,       0},
  447     {"php",        ICON_EXT_PHP,       0},
  448     {"png",        ICON_EXT_PNG,       COLOR_IMAGE},
  449     {"ppt",        ICON_EXT_PPT,       0},
  450     {"pptx",       ICON_EXT_PPTX,      0},
  451     {"psb",        ICON_EXT_PSB,       0},
  452     {"psd",        ICON_EXT_PSD,       0},
  453     {"py",         ICON_EXT_PY,        COLOR_PYTHON},
  454     {"pyc",        ICON_EXT_PYC,       COLOR_PYTHON},
  455     {"pyd",        ICON_EXT_PYD,       COLOR_PYTHON},
  456     {"pyo",        ICON_EXT_PYO,       COLOR_PYTHON},
  457 
  458     /* Q */
  459 
  460     /* R */
  461     {"rar",        ICON_EXT_RAR,       COLOR_ARCHIVE},
  462     {"rb",         ICON_EXT_RB,        COLOR_RUBY},
  463     {"rc",         ICON_EXT_RC,        0},
  464     {"rom",        ICON_EXT_ROM,       0},
  465     {"rpm",        ICON_EXT_RPM,       COLOR_ARCHIVE},
  466     {"rss",        ICON_EXT_RSS,       0},
  467     {"rtf",        ICON_EXT_RTF,       0},
  468 
  469     /* S */
  470     {"sass",       ICON_EXT_SASS,      COLOR_CSS},
  471     {"scss",       ICON_EXT_SCSS,      COLOR_CSS},
  472     {"so",         ICON_EXT_SO,        0},
  473     {"scala",      ICON_EXT_SCALA,     COLOR_SCALA},
  474     {"sh",         ICON_EXT_SH,        COLOR_SHELL},
  475     {"slim",       ICON_EXT_SLIM,      COLOR_DOCUMENT},
  476     {"sln",        ICON_EXT_SLN,       0},
  477     {"sql",        ICON_EXT_SQL,       0},
  478     {"srt",        ICON_EXT_SRT,       0},
  479     {"sty",        ICON_EXT_STY,       0},
  480     {"sub",        ICON_EXT_SUB,       0},
  481     {"svg",        ICON_EXT_SVG,       COLOR_IMAGE},
  482 
  483     /* T */
  484     {"tar",        ICON_EXT_TAR,       COLOR_ARCHIVE},
  485     {"tex",        ICON_EXT_TEX,       0},
  486     {"tgz",        ICON_EXT_TGZ,       COLOR_ARCHIVE},
  487     {"ts",         ICON_EXT_TS,        COLOR_JAVASCRIPT},
  488     {"tsx",        ICON_EXT_TSX,       COLOR_REACT},
  489     {"txt",        ICON_EXT_TXT,       COLOR_DOCUMENT},
  490     {"txz",        ICON_EXT_TXZ,       COLOR_ARCHIVE},
  491 
  492     /* U */
  493 
  494     /* V */
  495     {"vid",        ICON_EXT_VID,       COLOR_VIDEO},
  496     {"vim",        ICON_EXT_VIM,       COLOR_VIM},
  497     {"vimrc",      ICON_EXT_VIMRC,     COLOR_VIM},
  498     {"vtt",        ICON_EXT_SRT,       0},
  499 
  500     /* W */
  501     {"wav",        ICON_EXT_WAV,       COLOR_AUDIO},
  502     {"webm",       ICON_EXT_WEBM,      COLOR_VIDEO},
  503     {"wma",        ICON_EXT_WMA,       COLOR_AUDIO},
  504     {"wmv",        ICON_EXT_WMV,       COLOR_VIDEO},
  505 
  506     /* X */
  507     {"xbps",       ICON_EXT_XBPS,      COLOR_ARCHIVE},
  508     {"xcf",        ICON_EXT_XCF,       COLOR_IMAGE},
  509     {"xhtml",      ICON_EXT_XHTML,     0},
  510     {"xls",        ICON_EXT_XLS,       0},
  511     {"xlsx",       ICON_EXT_XLSX,      0},
  512     {"xml",        ICON_EXT_XML,       0},
  513     {"xz",         ICON_EXT_XZ,        COLOR_ARCHIVE},
  514 
  515     /* Y */
  516     {"yaml",       ICON_EXT_YAML,      COLOR_DOCUMENT},
  517     {"yml",        ICON_EXT_YML,       COLOR_DOCUMENT},
  518 
  519     /* Z */
  520     {"zip",        ICON_EXT_ZIP,       COLOR_ARCHIVE},
  521     {"zsh",        ICON_EXT_ZSH,       COLOR_SHELL},
  522     {"zst",        ICON_EXT_ZST,       COLOR_ARCHIVE},
  523 
  524     /* Other */
  525 #endif
  526 };