nnn/src/icons.h

234 lines
6.8 KiB
C
Raw Normal View History

#include "icons-in-terminal.h"
struct icon_pair {
const char *match;
const char *icon;
const unsigned char color;
};
/*
* Define a string to be printed before and after the icon
* Adjust if the icons are not printed properly
*/
#define ICON_PADDING_LEFT ""
#define ICON_PADDING_RIGHT " "
/*
* Using symbols defined in icons-in-terminal.h, or even using icons-in-terminal is not necessary.
* You can use whatever pathched font you like. You just have to put the desired icon as a string.
* If you are using icons-in-terminal the creator recommends that you do use the symbols in the generated header.
*/
static const struct icon_pair dir_icon = {"", FA_FOLDER, 0};
static const struct icon_pair file_icon = {"", FA_FILE, 0};
/* All entries are case-insensitive */
static const struct icon_pair icons_name[] = {
{".git", FA_GITHUB_SQUARE, 0},
{"Desktop", FA_HOME, 0},
{"Documents", FA_LIST_ALT, 0},
{"Downloads", FA_DOWNLOAD, 0},
{"Music", FA_MUSIC, 0},
{"node_modules", MFIZZ_NPM, 0},
{"Pictures", FA_IMAGE, 0},
{"Public", FA_INBOX, 0},
{"Templates", FA_COG, 0},
{"Videos", FA_FILM, 0},
};
/*
* New entries should bu added such that the first character of the extension is in the correct group .
* This is done for performance reason so that the correct icon can be found faster.
* All entries are case-insensitive
*/
static const struct icon_pair icons_ext[] = {
/* Numbers */
{"7z", FA_FILE_ARCHIVE_O, 0},
/* A */
{"a", FILE_MANPAGE, 0},
{"apk", FA_FILE_ARCHIVE_O, 0},
{"asm", FILE_NASM, 0},
{"aup", FA_FILE_AUDIO_O, 0},
{"avi", FA_FILE_MOVIE_O, 0},
/* B */
{"bat", MFIZZ_SCRIPT, 0},
{"bmp", FA_FILE_IMAGE_O, 0},
{"bz2", FA_FILE_ARCHIVE_O, 0},
/* C */
{"c", MFIZZ_C, 0},
{"c++", MFIZZ_CPLUSPLUS, 0},
{"cab", FA_FILE_ARCHIVE_O, 0},
{"cbr", FA_FILE_ARCHIVE_O, 0},
{"cbz", FA_FILE_ARCHIVE_O, 0},
{"cc", MFIZZ_CPLUSPLUS, 0},
{"class", MFIZZ_JAVA, 0},
{"clj", MFIZZ_CLOJURE, 0},
{"cljc", MFIZZ_CLOJURE, 0},
{"cljs", MFIZZ_CLOJURE, 0},
{"cmake", FILE_CMAKE, 0},
{"coffee", MFIZZ_COFFEE_BEAN, 0},
{"conf", FA_COGS, 0},
{"cpio", FA_FILE_ARCHIVE_O, 0},
{"cpp", MFIZZ_CPLUSPLUS, 0},
{"css", MFIZZ_CSS3, 0},
{"cue", FA_FILE_AUDIO_O, 0},
{"cvs", FA_COGS, 0},
{"cxx", MFIZZ_CPLUSPLUS, 0},
/* D */
{"db", MFIZZ_DATABASE_ALT2, 0},
{"deb", MFIZZ_DEBIAN, 0},
{"dll", FILE_MANPAGE, 0},
{"doc", FILE_WORD, 0},
{"docx", FILE_WORD, 0},
/* E */
{"ejs", FA_FILE_CODE_O, 0},
{"elf", FA_LINUX, 0},
{"epub", FA_FILE_PDF_O, 0},
{"exe", FA_WINDOWS, 0},
/* F */
{"f#", DEV_FSHARP, 0},
{"flac", FA_FILE_AUDIO_O, 0},
{"flv", FA_FILE_MOVIE_O, 0},
{"fs", DEV_FSHARP, 0},
{"fsi", DEV_FSHARP, 0},
{"fsscript", DEV_FSHARP, 0},
{"fsx", DEV_FSHARP, 0},
/* G */
{"gem", FA_FILE_ARCHIVE_O, 0},
{"gif", FA_FILE_IMAGE_O, 0},
{"go", MFIZZ_GO, 0},
{"gz", FA_FILE_ARCHIVE_O, 0},
{"gzip", FA_FILE_ARCHIVE_O, 0},
/* H */
{"h", MFIZZ_C, 0},
{"hh", MFIZZ_CPLUSPLUS, 0},
{"htaccess", FA_COGS, 0},
{"htpasswd", FA_COGS, 0},
{"htm", FA_FILE_CODE_O, 0},
{"html", FA_FILE_CODE_O, 0},
{"hxx", MFIZZ_CPLUSPLUS, 0},
/* I */
{"ico", FA_FILE_IMAGE_O, 0},
{"img", FA_FILE_IMAGE_O, 0},
{"ini", FA_COGS, 0},
{"iso", LINEA_MUSIC_CD, 0},
/* J */
{"jar", MFIZZ_JAVA, 0},
{"java", MFIZZ_JAVA, 0},
{"jl", FA_COGS, 0},
{"jpeg", FA_FILE_IMAGE_O, 0},
{"jpg", FA_FILE_IMAGE_O, 0},
{"js", DEV_JAVASCRIPT_BADGE, 0},
{"json", MFIZZ_JAVASCRIPT, 0},
{"jsx", FILE_JSX, 0},
/* K */
/* L */
{"lha", FA_FILE_ARCHIVE_O, 0},
{"log", FA_FILE_TEXT_O, 0},
{"lua", FILE_LUA, 0},
{"lzh", FA_FILE_ARCHIVE_O, 0},
{"lzma", FA_FILE_ARCHIVE_O, 0},
/* M */
{"m4a", FA_FILE_AUDIO_O, 0},
{"m4v", FA_FILE_MOVIE_O, 0},
{"markdown", OCT_MARKDOWN, 0},
{"md", OCT_MARKDOWN, 0},
{"mkv", FA_FILE_MOVIE_O, 0},
{"mov", FA_FILE_MOVIE_O, 0},
{"mp3", FA_FILE_AUDIO_O, 0},
{"mp4", FA_FILE_MOVIE_O, 0},
{"mpeg", FA_FILE_MOVIE_O, 0},
{"mpg", FA_FILE_MOVIE_O, 0},
{"msi", FA_WINDOWS, 0},
/* N */
/* O */
{"o", FILE_MANPAGE, 0},
{"ogg", FA_FILE_AUDIO_O, 0},
{"out", FA_LINUX, 0},
/* P */
{"pdf", FA_FILE_PDF_O, 0},
{"php", MFIZZ_PHP, 0},
{"png", FA_FILE_IMAGE_O, 0},
{"ppt", FILE_POWERPOINT, 0},
{"pptx", FILE_POWERPOINT, 0},
{"psb", DEV_PHOTOSHOP, 0},
{"psd", DEV_PHOTOSHOP, 0},
{"py", MFIZZ_PYTHON, 0},
{"pyc", MFIZZ_PYTHON, 0},
{"pyd", MFIZZ_PYTHON, 0},
{"pyo", MFIZZ_PYTHON, 0},
/* Q */
/* R */
{"rar", FA_FILE_ARCHIVE_O, 0},
{"rc", FA_COGS, 0},
{"rom", FA_LOCK, 0},
{"rpm", FA_FILE_ARCHIVE_O, 0},
{"rss", FA_RSS_SQUARE, 0},
{"rtf", FA_FILE_PDF_O, 0},
/* S */
{"so", FILE_MANPAGE, 0},
{"scala", MFIZZ_SCALA, 0},
{"sh", MFIZZ_SCRIPT, 0},
{"slim", FA_FILE_CODE_O, 0},
{"sln", DEV_VISUALSTUDIO, 0},
{"sql", MFIZZ_MYSQL, 0},
{"svg", FA_FILE_IMAGE_O, 0},
/* T */
{"tar", FA_FILE_ARCHIVE_O, 0},
{"tex", FILE_TEX, 0},
{"tgz", FA_FILE_ARCHIVE_O, 0},
{"ts", FILE_TS, 0},
{"tsx", FILE_TSX, 0},
{"txt", FA_FILE_TEXT_O, 0},
/* U */
/* V */
{"vim", DEV_VIM, 0},
{"vimrc", DEV_VIM, 0},
/* W */
{"wav", FA_FILE_AUDIO_O, 0},
{"webm", FA_FILE_MOVIE_O, 0},
/* X */
{"xbps", FA_FILE_ARCHIVE_O, 0},
{"xhtml", FA_FILE_CODE_O, 0},
{"xls", FILE_EXCEL, 0},
{"xlsx", FILE_EXCEL, 0},
{"xml", FA_FILE_CODE_O, 0},
{"xz", FA_FILE_ARCHIVE_O, 0},
/* Y */
{"yaml", FA_COGS, 0},
{"yml", FA_COGS, 0},
/* Z */
{"zip", FA_FILE_ARCHIVE_O, 0}
/* Other */
};