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 {"gz", ICON_EXT_GZ, COLOR_ARCHIVE}, 377 {"gzip", ICON_EXT_GZIP, COLOR_ARCHIVE}, 378 379 /* H */ 380 {"h", ICON_EXT_H, COLOR_C}, 381 {"hh", ICON_EXT_HH, COLOR_C}, 382 {"hpp", ICON_EXT_HPP, COLOR_C}, 383 {"hs", ICON_EXT_HS, COLOR_VIM}, 384 {"htaccess", ICON_EXT_HTACCESS, 0}, 385 {"htpasswd", ICON_EXT_HTPASSWD, 0}, 386 {"htm", ICON_EXT_HTM, 0}, 387 {"html", ICON_EXT_HTML, 0}, 388 {"hxx", ICON_EXT_HXX, COLOR_C}, 389 390 /* I */ 391 {"ico", ICON_EXT_ICO, COLOR_IMAGE}, 392 {"img", ICON_EXT_IMG, COLOR_ARCHIVE}, 393 {"ini", ICON_EXT_INI, 0}, 394 {"iso", ICON_EXT_ISO, COLOR_ARCHIVE}, 395 396 /* J */ 397 {"jar", ICON_EXT_JAR, COLOR_JAVA}, 398 {"java", ICON_EXT_JAVA, COLOR_JAVA}, 399 {"jl", ICON_EXT_JL, 0}, 400 {"jpeg", ICON_EXT_JPEG, COLOR_IMAGE}, 401 {"jpg", ICON_EXT_JPG, COLOR_IMAGE}, 402 {"js", ICON_EXT_JS, COLOR_JAVASCRIPT}, 403 {"json", ICON_EXT_JSON, COLOR_JAVASCRIPT}, 404 {"jsx", ICON_EXT_JSX, COLOR_REACT}, 405 406 /* K */ 407 408 /* L */ 409 {"lha", ICON_EXT_LHA, COLOR_ARCHIVE}, 410 {"lhs", ICON_EXT_LHS, COLOR_VIM}, 411 {"log", ICON_EXT_LOG, 0}, 412 {"lua", ICON_EXT_LUA, COLOR_LUA}, 413 {"lzh", ICON_EXT_LZH, COLOR_ARCHIVE}, 414 {"lzma", ICON_EXT_LZMA, COLOR_ARCHIVE}, 415 416 /* M */ 417 {"m", ICON_EXT_M, COLOR_C}, 418 {"m4a", ICON_EXT_M4A, COLOR_AUDIO}, 419 {"m4v", ICON_EXT_M4V, COLOR_VIDEO}, 420 {"markdown", ICON_EXT_MD, COLOR_DOCS}, 421 {"mat", ICON_EXT_MAT, COLOR_C}, 422 {"md", ICON_EXT_MD, COLOR_DOCS}, 423 {"mk", ICON_EXT_MK, 0}, 424 {"mkv", ICON_EXT_MKV, COLOR_VIDEO}, 425 {"mov", ICON_EXT_MOV, COLOR_VIDEO}, 426 {"mp3", ICON_EXT_MP3, COLOR_AUDIO}, 427 {"mp4", ICON_EXT_MP4, COLOR_VIDEO}, 428 {"mpeg", ICON_EXT_MPEG, COLOR_VIDEO}, 429 {"mpg", ICON_EXT_MPG, COLOR_VIDEO}, 430 {"msi", ICON_EXT_MSI, 0}, 431 432 /* N */ 433 {"nix", ICON_EXT_NIX, COLOR_FSHARP}, 434 435 /* O */ 436 {"o", ICON_EXT_O, 0}, 437 {"ogg", ICON_EXT_OGG, COLOR_AUDIO}, 438 {"opdownload", ICON_EXT_ODOWNLOAD, 0}, 439 {"out", ICON_EXT_OUT, 0}, 440 441 /* P */ 442 {"part", ICON_EXT_PART, 0}, 443 {"patch", ICON_EXT_PATCH, 0}, 444 {"pdf", ICON_EXT_PDF, COLOR_DOCS}, 445 {"pgn", ICON_EXT_PGN, 0}, 446 {"php", ICON_EXT_PHP, 0}, 447 {"png", ICON_EXT_PNG, COLOR_IMAGE}, 448 {"ppt", ICON_EXT_PPT, 0}, 449 {"pptx", ICON_EXT_PPTX, 0}, 450 {"psb", ICON_EXT_PSB, 0}, 451 {"psd", ICON_EXT_PSD, 0}, 452 {"py", ICON_EXT_PY, COLOR_PYTHON}, 453 {"pyc", ICON_EXT_PYC, COLOR_PYTHON}, 454 {"pyd", ICON_EXT_PYD, COLOR_PYTHON}, 455 {"pyo", ICON_EXT_PYO, COLOR_PYTHON}, 456 457 /* Q */ 458 459 /* R */ 460 {"rar", ICON_EXT_RAR, COLOR_ARCHIVE}, 461 {"rb", ICON_EXT_RB, COLOR_RUBY}, 462 {"rc", ICON_EXT_RC, 0}, 463 {"rom", ICON_EXT_ROM, 0}, 464 {"rpm", ICON_EXT_RPM, COLOR_ARCHIVE}, 465 {"rss", ICON_EXT_RSS, 0}, 466 {"rtf", ICON_EXT_RTF, 0}, 467 468 /* S */ 469 {"sass", ICON_EXT_SASS, COLOR_CSS}, 470 {"scss", ICON_EXT_SCSS, COLOR_CSS}, 471 {"so", ICON_EXT_SO, 0}, 472 {"scala", ICON_EXT_SCALA, COLOR_SCALA}, 473 {"sh", ICON_EXT_SH, COLOR_SHELL}, 474 {"slim", ICON_EXT_SLIM, COLOR_DOCUMENT}, 475 {"sln", ICON_EXT_SLN, 0}, 476 {"sql", ICON_EXT_SQL, 0}, 477 {"srt", ICON_EXT_SRT, 0}, 478 {"sty", ICON_EXT_STY, 0}, 479 {"sub", ICON_EXT_SUB, 0}, 480 {"svg", ICON_EXT_SVG, COLOR_IMAGE}, 481 482 /* T */ 483 {"tar", ICON_EXT_TAR, COLOR_ARCHIVE}, 484 {"tex", ICON_EXT_TEX, 0}, 485 {"tgz", ICON_EXT_TGZ, COLOR_ARCHIVE}, 486 {"ts", ICON_EXT_TS, COLOR_JAVASCRIPT}, 487 {"tsx", ICON_EXT_TSX, COLOR_REACT}, 488 {"txt", ICON_EXT_TXT, COLOR_DOCUMENT}, 489 {"txz", ICON_EXT_TXZ, COLOR_ARCHIVE}, 490 491 /* U */ 492 493 /* V */ 494 {"vid", ICON_EXT_VID, COLOR_VIDEO}, 495 {"vim", ICON_EXT_VIM, COLOR_VIM}, 496 {"vimrc", ICON_EXT_VIMRC, COLOR_VIM}, 497 {"vtt", ICON_EXT_SRT, 0}, 498 499 /* W */ 500 {"wav", ICON_EXT_WAV, COLOR_AUDIO}, 501 {"webm", ICON_EXT_WEBM, COLOR_VIDEO}, 502 {"wma", ICON_EXT_WMA, COLOR_AUDIO}, 503 {"wmv", ICON_EXT_WMV, COLOR_VIDEO}, 504 505 /* X */ 506 {"xbps", ICON_EXT_XBPS, COLOR_ARCHIVE}, 507 {"xcf", ICON_EXT_XCF, COLOR_IMAGE}, 508 {"xhtml", ICON_EXT_XHTML, 0}, 509 {"xls", ICON_EXT_XLS, 0}, 510 {"xlsx", ICON_EXT_XLSX, 0}, 511 {"xml", ICON_EXT_XML, 0}, 512 {"xz", ICON_EXT_XZ, COLOR_ARCHIVE}, 513 514 /* Y */ 515 {"yaml", ICON_EXT_YAML, COLOR_DOCUMENT}, 516 {"yml", ICON_EXT_YML, COLOR_DOCUMENT}, 517 518 /* Z */ 519 {"zip", ICON_EXT_ZIP, COLOR_ARCHIVE}, 520 {"zsh", ICON_EXT_ZSH, COLOR_SHELL}, 521 {"zst", ICON_EXT_ZST, COLOR_ARCHIVE}, 522 523 /* Other */ 524 #endif 525 }; 526