icons.h (18243B)
1 #ifndef INCLUDE_ICONS_H 2 #define INCLUDE_ICONS_H 3 4 #if defined(ICONS_GENERATE) || defined(ICONS_ENABLED) 5 6 /* 7 * 1st arg = ICONS_IN_TERM 8 * 9 * 2nd arg = NERD ICONS 10 * You can find hex codes for nerd fonts here: https://www.nerdfonts.com/cheat-sheet 11 * 12 * 3rd arg = EMOJIS 13 * You can find a list of emoji here: https://unicode.org/Public/emoji/5.0/emoji-test.txt 14 * 15 * Any entry with empty icon gets removed by the hash-table generator 16 */ 17 #if defined(ICONS_IN_TERM) 18 #define ICON_STR(I, N, E) I 19 #include "icons-in-terminal.h" 20 #elif defined(NERD) 21 #define ICON_STR(I, N, E) N 22 #elif defined(EMOJI) 23 #define ICON_STR(I, N, E) E 24 #endif 25 26 /* 27 * Define a string to be printed before and after the icon 28 * Adjust if the icons are not printed properly 29 */ 30 #if defined(EMOJI) 31 /* 32 * NOTE: As some emojis take up two cells, all of the emoji icons must 33 * be of width 2. Therefore, right pad single-width emoji with a space. 34 */ 35 #define ICON_SIZE 2 36 #define ICON_PADDING_RIGHT " " 37 #else 38 #define ICON_SIZE 1 39 #define ICON_PADDING_RIGHT " " 40 #endif 41 #define ICON_PADDING_LEFT "" 42 #define ICON_PADDING_LEFT_LEN (sizeof ICON_PADDING_LEFT - 1) 43 #define ICON_PADDING_RIGHT_LEN (sizeof ICON_PADDING_RIGHT - 1) 44 45 /* ARROWS */ 46 #define ICON_ARROW_UP ICON_STR(MD_ARROW_UPWARD, "", "⬆") 47 #define ICON_ARROW_FORWARD ICON_STR(MD_ARROW_FORWARD, "", "➡") 48 #define ICON_ARROW_DOWN ICON_STR(MD_ARROW_DOWNWARD, "", "⬇") 49 50 /* GENERIC */ 51 #define ICON_DIRECTORY ICON_STR(FA_FOLDER, "", "📂") 52 #define ICON_FILE ICON_STR(FA_FILE, "", "📃") 53 #define ICON_EXEC ICON_STR(FA_COG, "", "⚙️ ") 54 55 /* Top level and common icons */ 56 #define ICON_ARCHIVE ICON_STR(FA_FILE_ARCHIVE_O, "", "📦") 57 #define ICON_BRIEFCASE ICON_STR(FA_BRIEFCASE, "", "💼") 58 #define ICON_C ICON_STR(MFIZZ_C, "", "🇨 ") 59 #define ICON_CHANGELOG ICON_STR(FA_HISTORY, "", "🔺") 60 #define ICON_CHESS ICON_STR("", "", "") 61 #define ICON_CLOJURE ICON_STR(MFIZZ_CLOJURE, "", "") 62 #define ICON_CONFIGURE ICON_STR(FILE_CONFIG, "", "🔧") 63 #define ICON_CPLUSPLUS ICON_STR(MFIZZ_CPLUSPLUS, "", ICON_C) 64 #define ICON_DATABASE ICON_STR(MFIZZ_DATABASE_ALT2, "", "🗃️ ") 65 #define ICON_DESKTOP ICON_STR(FA_DESKTOP, "", "🖥️ ") 66 #define ICON_DJVU ICON_STR(FA_PAPERCLIP, "", "📎") 67 #define ICON_DOCUMENT ICON_STR(FA_FILE_TEXT_O, "", "🗒 ") 68 #define ICON_DOWNLOADS ICON_STR(FA_DOWNLOAD, "", "📥") 69 #define ICON_ELIXIR ICON_STR(MFIZZ_ELIXIR, "", "💧") 70 #define ICON_ENCRYPT ICON_STR("", "", "🔒") 71 #define ICON_FSHARP ICON_STR(DEV_FSHARP, "", "") 72 #define ICON_FONT ICON_STR(FILE_FONT, "", "") 73 #define ICON_GIT ICON_STR(FA_GIT, "", "🌱") 74 #define ICON_HASKELL ICON_STR("", "", "") 75 #define ICON_HTML ICON_STR(FA_FILE_CODE_O, "", "") 76 #define ICON_JAVA ICON_STR(MFIZZ_JAVA, "", "☕") 77 #define ICON_JAVASCRIPT ICON_STR(FA_FILE_CODE_O, "", "") 78 #define ICON_LICENSE ICON_STR(FA_COPYRIGHT, "", "⚖️ ") 79 #define ICON_LINUX ICON_STR(FA_LINUX, "", "🐧") 80 #define ICON_MAKEFILE ICON_STR(FILE_CMAKE, "", "🛠 ") 81 #define ICON_MANUAL ICON_STR(FILE_MANPAGE, "", "❓") 82 #define ICON_MS_EXCEL ICON_STR(FILE_EXCEL, "", ICON_WORDDOC) 83 #define ICON_MUSIC ICON_STR(FA_MUSIC, "", "🎧") 84 #define ICON_MUSICFILE ICON_STR(FA_FILE_AUDIO_O, "", ICON_MUSIC) 85 #define ICON_OPTICALDISK ICON_STR(LINEA_MUSIC_CD, "", "💿") 86 #define ICON_PDF ICON_STR(FA_FILE_PDF_O, "", "📕") 87 #define ICON_PHOTOSHOP ICON_STR(DEV_PHOTOSHOP, "", ICON_PICTUREFILE) 88 #define ICON_PICTUREFILE ICON_STR(FA_FILE_IMAGE_O, "", ICON_PICTURES) 89 #define ICON_PICTURES ICON_STR(MD_CAMERA_ALT, "", "🎨") 90 #define ICON_PLAYLIST ICON_STR(ICON_MUSICFILE, "", "") 91 #define ICON_POWERPOINT ICON_STR(FILE_POWERPOINT, "", "📊") 92 #define ICON_PUBLIC ICON_STR(FA_INBOX, "", "👀") 93 #define ICON_PYTHON ICON_STR(MFIZZ_PYTHON, "", "🐍") 94 #define ICON_REACT ICON_STR(FILE_JSX, "", ICON_JAVASCRIPT) 95 #define ICON_RUBY ICON_STR(MFIZZ_RUBY, "", "💎") 96 #define ICON_RUST ICON_STR(DEV_RUST, "", "") 97 #define ICON_SASS ICON_STR("", "", "") 98 #define ICON_SCRIPT ICON_STR(MFIZZ_SCRIPT, "", "📜") 99 #define ICON_SUBTITLE ICON_STR(FA_COMMENTS_O, "", "💬") 100 #define ICON_TEMPLATES ICON_STR(FA_PAPERCLIP, "", "📎") 101 #define ICON_TEX ICON_STR(FILE_TEX, "", ICON_DOCUMENT) 102 #define ICON_VIDEOFILE ICON_STR(FA_FILE_MOVIE_O, "", ICON_VIDEOS) 103 #define ICON_VIDEOS ICON_STR(FA_FILM, "", "🎞 ") 104 #define ICON_VIM ICON_STR(DEV_VIM, "", "") 105 #define ICON_WORDDOC ICON_STR(FILE_WORD, "", "📘") 106 107 #define ICON_EXT_ASM ICON_STR(FILE_NASM, "", "") 108 #define ICON_EXT_BIN ICON_STR(OCT_FILE_BINARY, "", "📓") 109 #define ICON_EXT_COFFEE ICON_STR(MFIZZ_COFFEE_BEAN, "", "") 110 #define ICON_EXT_CSS ICON_STR(MFIZZ_CSS3, "", "🦋") 111 #define ICON_EXT_DEB ICON_STR(MFIZZ_DEBIAN, "", ICON_LINUX) 112 #define ICON_EXT_DIFF ICON_STR(FILE_DIFF, "", "📋") 113 #define ICON_EXT_GO ICON_STR(MFIZZ_GO, "", "") 114 #define ICON_EXT_JSON ICON_STR(ICON_JAVASCRIPT, "", ICON_JAVASCRIPT) 115 #define ICON_EXT_LUA ICON_STR(FILE_LUA, "", "🌘") 116 #define ICON_EXT_M ICON_STR("", "", "📊") 117 #define ICON_EXT_MAT ICON_STR("", "", "") 118 #define ICON_EXT_MD ICON_STR(DEV_MARKDOWN, "", "📝") 119 #define ICON_EXT_MSI ICON_STR(FA_WINDOWS, "", "🪟") 120 #define ICON_EXT_NIX ICON_STR("", "", "") 121 #define ICON_EXT_PATCH ICON_STR(FILE_PATCH, "", "🩹") 122 #define ICON_EXT_PHP ICON_STR(MFIZZ_PHP, "", "🌐") 123 #define ICON_EXT_ROM ICON_STR(FA_LOCK, "", "") 124 #define ICON_EXT_RSS ICON_STR(FA_RSS_SQUARE, "", "📡") 125 #define ICON_EXT_RTF ICON_STR(ICON_PDF, "", ICON_PDF) 126 #define ICON_EXT_SCALA ICON_STR(MFIZZ_SCALA, "", "") 127 #define ICON_EXT_SLN ICON_STR(DEV_VISUALSTUDIO, "", "") 128 #define ICON_EXT_TS ICON_STR(FILE_TS, "", "") 129 130 131 /* 132 * Hex xterm 256 color code, 0 to follow file specific (if any) 133 * Codes: https://jonasjacek.github.io/colors/ 134 * Spectrum sorted: https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg 135 * Color names: https://www.ditig.com/256-colors-cheat-sheet 136 */ 137 #define COLOR_LIST \ 138 COLOR_X(COLOR_VIDEO, 45) /* Turquoise2 */ \ 139 COLOR_X(COLOR_VIDEO1, 226) /* Yellow1 */ \ 140 COLOR_X(COLOR_AUDIO, 220) /* Gold1 */ \ 141 COLOR_X(COLOR_AUDIO1, 205) /* HotPink */ \ 142 COLOR_X(COLOR_IMAGE, 82) /* Chartreuse2 */ \ 143 COLOR_X(COLOR_DOCS, 202) /* OrangeRed1 */ \ 144 COLOR_X(COLOR_ARCHIVE, 209) /* Salmon1 */ \ 145 COLOR_X(COLOR_C, 81) /* SteelBlue1 */ \ 146 COLOR_X(COLOR_JAVA, 32) /* DeepSkyBlue3 */ \ 147 COLOR_X(COLOR_JAVASCRIPT, 47) /* SpringGreen2 */ \ 148 COLOR_X(COLOR_REACT, 39) /* DeepSkyBlue1 */ \ 149 COLOR_X(COLOR_CSS, 199) /* DeepPink1 */ \ 150 COLOR_X(COLOR_PYTHON, 227) /* LightGoldenrod1 */ \ 151 COLOR_X(COLOR_LUA, 19) /* Blue3 */ \ 152 COLOR_X(COLOR_DOCUMENT, 15) /* White */ \ 153 COLOR_X(COLOR_FSHARP, 31) /* DeepSkyBlue3 */ \ 154 COLOR_X(COLOR_RUBY, 160) /* Red3 */ \ 155 COLOR_X(COLOR_SCALA, 196) /* Red1 */ \ 156 COLOR_X(COLOR_SHELL, 47) /* SpringGreen2 */ \ 157 COLOR_X(COLOR_VIM, 28) /* Green4 */ \ 158 COLOR_X(COLOR_ELIXIR, 104) /* MediumPurple */ \ 159 160 /* X-Macro: https://en.wikipedia.org/wiki/X_Macro */ 161 #define COLOR_X(N, V) N = (V), 162 enum { COLOR_LIST }; 163 #undef COLOR_X 164 #define COLOR_X(N, V) N, 165 static const unsigned char init_colors[] = { COLOR_LIST }; 166 #undef COLOR_X 167 168 #ifdef ICONS_GENERATE 169 /* temporary struct using `char *`. the hash-table generator will 170 * output a more optimized version which uses `char[]` instead reducing 171 * indirection and the total binary size. 172 */ 173 struct icon_pair { const char *match; const char *icon; unsigned char color; }; 174 #endif 175 176 struct icon { const char *icon; unsigned char color; }; 177 178 static const struct icon dir_icon = {ICON_DIRECTORY, 0}; 179 static const struct icon file_icon = {ICON_FILE, 0}; 180 static const struct icon exec_icon = {ICON_EXEC, 0}; 181 182 static const struct icon_pair icons_name[] = { 183 {".git", ICON_GIT, 0}, 184 {"Desktop", ICON_DESKTOP, 0}, 185 {"Documents", ICON_BRIEFCASE, 0}, 186 {"Downloads", ICON_DOWNLOADS, 0}, 187 {"Music", ICON_MUSIC, 0}, 188 {"Pictures", ICON_PICTURES, 0}, 189 {"Public", ICON_PUBLIC, 0}, 190 {"Templates", ICON_TEMPLATES, 0}, 191 {"Videos", ICON_VIDEOS, 0}, 192 {"CHANGELOG", ICON_CHANGELOG, COLOR_DOCS}, 193 {"configure", ICON_CONFIGURE, 0}, 194 {"License", ICON_LICENSE, COLOR_DOCS}, 195 {"Makefile", ICON_MAKEFILE, 0}, 196 }; 197 198 #ifdef ICONS_GENERATE 199 /* 200 * The goal here is to provide a small set of default values. We don't try to 201 * provide icons for everything under the sun because keeping a _huge_ table of 202 * icons would: increase binary size, increase memory usage, decrease performance. 203 * 204 * Users are free to customize this *locally* as they see fit. Only open a 205 * pull-request if you think your changes are aligned with the goal described 206 * above. 207 */ 208 209 static const struct icon_pair icons_ext[] = { /* All entries are case-insensitive */ 210 /* Numbers */ 211 {"1", ICON_MANUAL, COLOR_DOCS}, 212 {"7z", ICON_ARCHIVE, COLOR_ARCHIVE}, 213 214 /* A */ 215 {"a", ICON_MANUAL, 0}, 216 {"apk", ICON_ARCHIVE, COLOR_ARCHIVE}, 217 {"asm", ICON_EXT_ASM, 0}, 218 {"aup", ICON_MUSICFILE, COLOR_AUDIO}, 219 {"avi", ICON_VIDEOFILE, COLOR_VIDEO}, 220 221 /* B */ 222 {"bat", ICON_SCRIPT, 0}, 223 {"bib", ICON_TEX, 0}, 224 {"bin", ICON_EXT_BIN, 0}, 225 {"bmp", ICON_PICTUREFILE, COLOR_IMAGE}, 226 {"bz2", ICON_ARCHIVE, COLOR_ARCHIVE}, 227 228 /* C */ 229 {"c", ICON_C, COLOR_C}, 230 {"c++", ICON_CPLUSPLUS, COLOR_C}, 231 {"cabal", ICON_HASKELL, COLOR_VIDEO}, 232 {"cab", ICON_ARCHIVE, COLOR_ARCHIVE}, 233 {"cbr", ICON_ARCHIVE, COLOR_ARCHIVE}, 234 {"cbz", ICON_ARCHIVE, COLOR_ARCHIVE}, 235 {"cc", ICON_CPLUSPLUS, COLOR_C}, 236 {"class", ICON_JAVA, COLOR_JAVA}, 237 {"clj", ICON_CLOJURE, 0}, 238 {"cljc", ICON_CLOJURE, 0}, 239 {"cljs", ICON_CLOJURE, 0}, 240 {"cls", ICON_TEX, 0}, 241 {"cmake", ICON_MAKEFILE, 0}, 242 {"coffee", ICON_EXT_COFFEE, 0}, 243 {"conf", ICON_CONFIGURE, 0}, 244 {"cpio", ICON_ARCHIVE, COLOR_ARCHIVE}, 245 {"cpp", ICON_CPLUSPLUS, COLOR_C}, 246 {"css", ICON_EXT_CSS, COLOR_CSS}, 247 {"cue", ICON_PLAYLIST, COLOR_AUDIO}, 248 {"cvs", ICON_CONFIGURE, 0}, 249 {"cxx", ICON_CPLUSPLUS, COLOR_C}, 250 251 /* D */ 252 {"db", ICON_DATABASE, 0}, 253 {"deb", ICON_EXT_DEB, COLOR_ARCHIVE}, 254 {"diff", ICON_EXT_DIFF, 0}, 255 {"dll", ICON_SCRIPT, 0}, 256 {"djvu", ICON_DJVU, COLOR_DOCS}, 257 {"doc", ICON_WORDDOC, COLOR_DOCUMENT}, 258 {"docx", ICON_WORDDOC, COLOR_DOCUMENT}, 259 260 /* E */ 261 {"ejs", ICON_JAVASCRIPT, COLOR_JAVASCRIPT}, 262 {"elf", ICON_LINUX, 0}, 263 {"epub", ICON_PDF, COLOR_DOCS}, 264 {"exe", ICON_EXEC, 0}, 265 {"ex", ICON_ELIXIR, COLOR_ELIXIR}, 266 {"eex", ICON_ELIXIR, COLOR_ELIXIR}, 267 {"exs", ICON_ELIXIR, COLOR_ELIXIR}, 268 269 /* F */ 270 {"f#", ICON_FSHARP, COLOR_FSHARP}, 271 {"fen", ICON_CHESS, 0}, 272 {"flac", ICON_MUSICFILE, COLOR_AUDIO1}, 273 {"flv", ICON_VIDEOFILE, COLOR_VIDEO}, 274 {"fs", ICON_FSHARP, COLOR_FSHARP}, 275 {"fsi", ICON_FSHARP, COLOR_FSHARP}, 276 {"fsscript", ICON_FSHARP, COLOR_FSHARP}, 277 {"fsx", ICON_FSHARP, COLOR_FSHARP}, 278 279 /* G */ 280 {"gem", ICON_RUBY, COLOR_RUBY}, 281 {"gif", ICON_PICTUREFILE, COLOR_IMAGE}, 282 {"go", ICON_EXT_GO, COLOR_C}, 283 {"gpg", ICON_ENCRYPT, COLOR_ARCHIVE}, 284 {"gz", ICON_ARCHIVE, COLOR_ARCHIVE}, 285 {"gzip", ICON_ARCHIVE, COLOR_ARCHIVE}, 286 287 /* H */ 288 {"h", ICON_C, COLOR_C}, 289 {"hh", ICON_CPLUSPLUS, COLOR_C}, 290 {"hpp", ICON_CPLUSPLUS, COLOR_C}, 291 {"hs", ICON_HASKELL, COLOR_ELIXIR}, 292 {"htaccess", ICON_CONFIGURE, 0}, 293 {"htpasswd", ICON_CONFIGURE, 0}, 294 {"htm", ICON_HTML, 0}, 295 {"html", ICON_HTML, 0}, 296 {"hxx", ICON_CPLUSPLUS, COLOR_C}, 297 {"heex", ICON_ELIXIR, COLOR_ELIXIR}, 298 299 /* I */ 300 {"ico", ICON_PICTUREFILE, COLOR_IMAGE}, 301 {"ini", ICON_CONFIGURE, 0}, 302 {"img", ICON_OPTICALDISK, COLOR_ARCHIVE}, 303 {"iso", ICON_OPTICALDISK, COLOR_ARCHIVE}, 304 305 /* J */ 306 {"jar", ICON_JAVA, COLOR_JAVA}, 307 {"java", ICON_JAVA, COLOR_JAVA}, 308 {"jl", ICON_CONFIGURE, 0}, 309 {"jpeg", ICON_PICTUREFILE, COLOR_IMAGE}, 310 {"jpg", ICON_PICTUREFILE, COLOR_IMAGE}, 311 {"js", ICON_JAVASCRIPT, COLOR_JAVASCRIPT}, 312 {"json", ICON_EXT_JSON, COLOR_JAVASCRIPT}, 313 {"jsx", ICON_REACT, COLOR_REACT}, 314 {"jxl", ICON_PICTUREFILE, COLOR_IMAGE}, 315 316 /* K */ 317 {"ksh", ICON_SCRIPT, COLOR_SHELL}, 318 319 /* L */ 320 {"lha", ICON_ARCHIVE, COLOR_ARCHIVE}, 321 {"lhs", ICON_HASKELL, COLOR_VIM}, 322 {"log", ICON_DOCUMENT, 0}, 323 {"lua", ICON_EXT_LUA, COLOR_LUA}, 324 {"lzh", ICON_ARCHIVE, COLOR_ARCHIVE}, 325 {"lzma", ICON_ARCHIVE, COLOR_ARCHIVE}, 326 327 /* M */ 328 {"m", ICON_EXT_M, COLOR_C}, 329 {"m4a", ICON_MUSICFILE, COLOR_AUDIO}, 330 {"m4v", ICON_VIDEOFILE, COLOR_VIDEO}, 331 {"markdown", ICON_EXT_MD, COLOR_DOCS}, 332 {"mat", ICON_EXT_MAT, COLOR_C}, 333 {"md", ICON_EXT_MD, COLOR_DOCS}, 334 {"mk", ICON_MAKEFILE, 0}, 335 {"mkv", ICON_VIDEOFILE, COLOR_VIDEO}, 336 {"mov", ICON_VIDEOFILE, COLOR_VIDEO}, 337 {"mp3", ICON_MUSICFILE, COLOR_AUDIO}, 338 {"mp4", ICON_VIDEOFILE, COLOR_VIDEO1}, 339 {"mpeg", ICON_VIDEOFILE, COLOR_VIDEO}, 340 {"mpg", ICON_VIDEOFILE, COLOR_VIDEO}, 341 {"msi", ICON_EXT_MSI, 0}, 342 343 /* N */ 344 {"nix", ICON_EXT_NIX, COLOR_FSHARP}, 345 346 /* O */ 347 {"o", ICON_MANUAL, 0}, 348 {"ogg", ICON_MUSICFILE, COLOR_AUDIO}, 349 {"opus", ICON_MUSICFILE, COLOR_AUDIO}, 350 {"opdownload", ICON_DOWNLOADS, 0}, 351 {"otf", ICON_FONT, 0}, 352 {"out", ICON_LINUX, 0}, 353 354 /* P */ 355 {"part", ICON_DOWNLOADS, 0}, 356 {"patch", ICON_EXT_PATCH, 0}, 357 {"pdf", ICON_PDF, COLOR_DOCS}, 358 {"pgn", ICON_CHESS, 0}, 359 {"php", ICON_EXT_PHP, 0}, 360 {"png", ICON_PICTUREFILE, COLOR_IMAGE}, 361 {"ppt", ICON_POWERPOINT, 0}, 362 {"pptx", ICON_POWERPOINT, 0}, 363 {"psb", ICON_PHOTOSHOP, 0}, 364 {"psd", ICON_PHOTOSHOP, 0}, 365 {"py", ICON_PYTHON, COLOR_PYTHON}, 366 {"pyc", ICON_PYTHON, COLOR_PYTHON}, 367 {"pyd", ICON_PYTHON, COLOR_PYTHON}, 368 {"pyo", ICON_PYTHON, COLOR_PYTHON}, 369 370 /* Q */ 371 372 /* R */ 373 {"rar", ICON_ARCHIVE, COLOR_ARCHIVE}, 374 {"rb", ICON_RUBY, COLOR_RUBY}, 375 {"rc", ICON_CONFIGURE, 0}, 376 {"rom", ICON_EXT_ROM, 0}, 377 {"rpm", ICON_ARCHIVE, COLOR_ARCHIVE}, 378 {"rs", ICON_RUST, COLOR_DOCS}, 379 {"rss", ICON_EXT_RSS, 0}, 380 {"rtf", ICON_EXT_RTF, 0}, 381 382 /* S */ 383 {"sass", ICON_SASS, COLOR_CSS}, 384 {"scss", ICON_SASS, COLOR_CSS}, 385 {"so", ICON_MANUAL, 0}, 386 {"scala", ICON_EXT_SCALA, COLOR_SCALA}, 387 {"sh", ICON_SCRIPT, COLOR_SHELL}, 388 {"slim", ICON_SCRIPT, COLOR_DOCUMENT}, 389 {"sln", ICON_EXT_SLN, 0}, 390 {"sql", ICON_DATABASE, 0}, 391 {"srt", ICON_SUBTITLE, 0}, 392 {"sty", ICON_TEX, 0}, 393 {"sub", ICON_SUBTITLE, 0}, 394 {"svg", ICON_PICTUREFILE, COLOR_IMAGE}, 395 396 /* T */ 397 {"tar", ICON_ARCHIVE, COLOR_ARCHIVE}, 398 {"tex", ICON_TEX, 0}, 399 {"tgz", ICON_ARCHIVE, COLOR_ARCHIVE}, 400 {"ts", ICON_EXT_TS, COLOR_JAVASCRIPT}, 401 {"tsx", ICON_REACT, COLOR_REACT}, 402 {"txt", ICON_DOCUMENT, COLOR_DOCUMENT}, 403 {"txz", ICON_ARCHIVE, COLOR_ARCHIVE}, 404 {"ttf", ICON_FONT, 0}, 405 406 /* U */ 407 408 /* V */ 409 {"vid", ICON_VIDEOFILE, COLOR_VIDEO}, 410 {"vim", ICON_VIM, COLOR_VIM}, 411 {"vimrc", ICON_VIM, COLOR_VIM}, 412 {"vtt", ICON_SUBTITLE, 0}, 413 414 /* W */ 415 {"wav", ICON_MUSICFILE, COLOR_AUDIO}, 416 {"webm", ICON_VIDEOFILE, COLOR_VIDEO}, 417 {"webp", ICON_PICTUREFILE, COLOR_IMAGE}, 418 {"wma", ICON_VIDEOFILE, COLOR_AUDIO}, 419 {"wmv", ICON_VIDEOFILE, COLOR_VIDEO}, 420 421 /* X */ 422 {"xbps", ICON_ARCHIVE, COLOR_ARCHIVE}, 423 {"xcf", ICON_PICTUREFILE, COLOR_IMAGE}, 424 {"xhtml", ICON_HTML, 0}, 425 {"xls", ICON_MS_EXCEL, 0}, 426 {"xlsx", ICON_MS_EXCEL, 0}, 427 {"xml", ICON_HTML, 0}, 428 {"xz", ICON_ARCHIVE, COLOR_ARCHIVE}, 429 430 /* Y */ 431 {"yaml", ICON_CONFIGURE, COLOR_DOCUMENT}, 432 {"yml", ICON_CONFIGURE, COLOR_DOCUMENT}, 433 434 /* Z */ 435 {"zip", ICON_ARCHIVE, COLOR_ARCHIVE}, 436 {"zsh", ICON_SCRIPT, COLOR_SHELL}, 437 {"zst", ICON_ARCHIVE, COLOR_ARCHIVE}, 438 439 /* Other */ 440 }; 441 #endif 442 443 #endif /* defined(ICONS_GENERATE) || defined(ICONS_ENABLED) */ 444 445 #endif /* INCLUDE_ICONS_H */