"Fossies" - the Fresh Open Source Software Archive

Member "nnn-4.2/src/icons.h" (21 Jul 2021, 17680 Bytes) of package /linux/misc/nnn-v4.2.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.1.1_vs_v4.2.

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