Adding some more icons for filenames and extensions (#929)

- Found a better (larger and clearer) Rust icon, so I changed that
(`\u{e68b}`)
- Set emacs config files (`config.el`, `packages.el` etc.) to use the
actual Emacs icon instead of GNU head for Emacs files (`\u{e632}`)
- Perl language extensions (`.pl`, `.pm`, `.pod`, `.plx`) now use the
camel instead of the... circle (`\u{e67e}`)
- Added OCAML extensions (`.ml`, `.mli`, `.mll`)
- Added many Go and Gradle filenames
- Added separate key icons for public keys (extensions) and private keys
(filenames)
- Added a kitty cat for Yarn configuration files
- Switched all the Bash, Zsh, and Csh filenames to use a shebang icon,
instead of the command prompt

[For reference](https://www.nerdfonts.com/cheat-sheet)
This commit is contained in:
Tanner Babcock 2023-11-02 02:57:03 +00:00 committed by GitHub
parent 64f9dab351
commit 89659e4144
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -123,6 +123,7 @@ impl IconTheme {
[
("a.out", "\u{f489}"), // ""
("api", "\u{f048d}"), // "󰒍"
(".asoundrc", "\u{e615}"), // ""
(".atom", "\u{e764}"), // ""
(".ash", "\u{f489}"), // ""
(".ash_history", "\u{f489}"), // ""
@ -131,41 +132,49 @@ impl IconTheme {
(".android", "\u{f17b}"), // ""
(".audacity-data", "\u{e5fc}"), // ""
("backups", "\u{f006f}"), // "󰁯"
(".bash_logout", "\u{e615}"), // ""
(".bash_profile", "\u{e615}"), // ""
(".bashrc", "\u{f489}"), // ""
(".bash_history", "\u{f489}"), // ""
(".bash_history", "\u{f1183}"), // "󱆃"
(".bash_logout", "\u{f1183}"), // "󱆃"
(".bash_profile", "\u{f1183}"), // "󱆃"
(".bashrc", "\u{f1183}"), // "󱆃"
("bin", "\u{e5fc}"), // ""
(".bpython_history", "\u{e606}"), // ""
("build", "\u{f487}"), // ""
("bspwmrc", "\u{e615}"), // ""
("build.ninja", "\u{f0ad}"), // ""
(".cache", "\u{f00e8}"), // "󰃨"
("cache", "\u{f00e8}"), // "󰃨"
("cargo.lock", "\u{e68b}"), // ""
("cargo.toml", "\u{e68b}"), // ""
(".cargo", "\u{e68b}"), // ""
(".ccls-cache", "\u{f00e8}"), // "󰃨"
("cargo.lock", "\u{e7a8}"), // ""
("cargo.toml", "\u{e7a8}"), // ""
(".cargo", "\u{e7a8}"), // ""
("changelog", "\u{e609}"), // ""
(".clang-format", "\u{e615}"), // ""
("composer.json", "\u{e608}"), // ""
("content", "\u{f0c7}"), // ""
("composer.lock", "\u{e608}"), // ""
("conf.d", "\u{e5fc}"), // ""
("config.ac", "\u{e615}"), // ""
("config.el", "\u{e779}"), // ""
("config.el", "\u{e632}"), // ""
("config.mk", "\u{e615}"), // ""
(".config", "\u{e5fc}"), // ""
("config", "\u{e5fc}"), // ""
("configure", "\u{f0ad}"), // ""
("content", "\u{f0c7}"), // ""
("contributing", "\u{e60a}"), // ""
("copyright", "\u{e60a}"), // ""
("cron.daily", "\u{e5fc}"), // ""
("cron.d", "\u{e5fc}"), // ""
("cron.deny", "\u{e615}"), // ""
("cron.hourly", "\u{e5fc}"), // ""
("cron.monthly", "\u{e5fc}"), // ""
("crontab", "\u{e615}"), // ""
("cron.weekly", "\u{e5fc}"), // ""
("crypttab", "\u{e615}"), // ""
(".cshrc", "\u{f1183}"), // "󱆃"
("csh.cshrc", "\u{f1183}"), // "󱆃"
("csh.login", "\u{f1183}"), // "󱆃"
("csh.logout", "\u{f1183}"), // "󱆃"
("css", "\u{e749}"), // ""
("custom.el", "\u{e779}"), // ""
("custom.el", "\u{e632}"), // ""
(".dbus", "\u{f013}"), // ""
("desktop", "\u{f108}"), // ""
("docker-compose.yml", "\u{f308}"), // ""
@ -173,12 +182,14 @@ impl IconTheme {
("doc", "\u{f02d}"), // ""
("dist", "\u{f487}"), // ""
("documents", "\u{f02d}"), // ""
(".doom.d", "\u{e779}"), // ""
("downloads", "\u{f498}"), // ""
(".doom.d", "\u{e632}"), // ""
("downloads", "\u{f024d}"), // "󰉍"
(".ds_store", "\u{f179}"), // ""
(".editorconfig", "\u{e615}"), // ""
(".emacs.d", "\u{e779}"), // ""
(".electron-gyp", "\u{e5fa}"), // ""
(".emacs.d", "\u{e632}"), // ""
(".env", "\u{f462}"), // ""
("environment", "\u{f462}"), // ""
(".eslintrc.json", "\u{f462}"), // ""
(".eslintrc.js", "\u{f462}"), // ""
(".eslintrc.yml", "\u{f462}"), // ""
@ -196,8 +207,14 @@ impl IconTheme {
(".gitlab-ci.yml", "\u{f296}"), // ""
(".gitmodules", "\u{f1d3}"), // ""
(".git", "\u{e5fb}"), // ""
(".gnupg", "\u{f023}"), // ""
("gradle", "\u{e70e}"), // ""
(".gnupg", "\u{f08ac}"), // "󰢬"
("go.mod", "\u{e627}"), // ""
("go.sum", "\u{e627}"), // ""
("go.work", "\u{e627}"), // ""
("gradle", "\u{e660}"), // ""
("gradle.properties", "\u{e660}"), // ""
("gradlew", "\u{e660}"), // ""
("gradlew.bat", "\u{e660}"), // ""
("group", "\u{e615}"), // ""
("gruntfile.coffee", "\u{e611}"), // ""
("gruntfile.js", "\u{e611}"), // ""
@ -206,6 +223,7 @@ impl IconTheme {
("gulpfile.coffee", "\u{e610}"), // ""
("gulpfile.js", "\u{e610}"), // ""
("gulpfile.ls", "\u{e610}"), // ""
("heroku.yml", "\u{e77b}"), // ""
("hidden", "\u{f023}"), // ""
("home", "\u{f015}"), // ""
("hostname", "\u{e615}"), // ""
@ -213,21 +231,29 @@ impl IconTheme {
(".htaccess", "\u{e615}"), // ""
("htoprc", "\u{e615}"), // ""
(".htpasswd", "\u{e615}"), // ""
("img", "\u{f1c5}"), // ""
("include", "\u{e5fc}"), // ""
("init.el", "\u{e779}"), // ""
(".inputrc", "\u{e615}"), // ""
("inputrc", "\u{e615}"), // ""
(".icons", "\u{f005}"), // ""
("icons", "\u{f005}"), // ""
(".idlerc", "\u{e606}"), // ""
("id_dsa", "\u{f0dd6}"), // "󰷖"
("id_ecdsa", "\u{f0dd6}"), // "󰷖"
("id_rsa", "\u{f0dd6}"), // "󰷖"
(".idlerc", "\u{e235}"), // ""
("img", "\u{f1c5}"), // ""
("include", "\u{e5fc}"), // ""
("init.el", "\u{e632}"), // ""
(".inputrc", "\u{e615}"), // ""
("inputrc", "\u{e615}"), // ""
(".java", "\u{e256}"), // ""
("jenkinsfile", "\u{e66e}"), // ""
("js", "\u{e74e}"), // ""
(".jupyter", "\u{e606}"), // ""
("kbuild", "\u{e615}"), // ""
("kconfig", "\u{e615}"), // ""
("kdeglobals", "\u{e615}"), // ""
("kdenliverc", "\u{e615}"), // ""
("known_hosts", "\u{e60a}"), // ""
(".kshrc", "\u{f489}"), // ""
("libexec", "\u{f121}"), // ""
("lib32", "\u{f121}"), // ""
("lib64", "\u{f121}"), // ""
("lib", "\u{f121}"), // ""
("license.md", "\u{e60a}"), // ""
@ -244,17 +270,26 @@ impl IconTheme {
("makefile.ac", "\u{e615}"), // ""
("makefile", "\u{e615}"), // ""
("manifest", "\u{f292}"), // ""
("md5sum", "\u{f0565}"), // "󰕥"
("meson.build", "\u{f0ad}"), // ""
("metadata", "\u{e5fc}"), // ""
("metadata.xml", "\u{f462}"), // ""
("media", "\u{f40f}"), // ""
(".mime.types", "\u{f0645}"), // "󰙅"
("mime.types", "\u{f0645}"), // "󰙅"
("module.symvers", "\u{f471}"), // ""
(".mozilla", "\u{e786}"), // ""
("music", "\u{f025}"), // ""
("music", "\u{f1359}"), // "󱍙"
("muttrc", "\u{e615}"), // ""
(".muttrc", "\u{e615}"), // ""
(".mutt", "\u{e615}"), // ""
(".mypy_cache", "\u{f00e8}"), // "󰃨"
("neomuttrc", "\u{e615}"), // ""
(".neomuttrc", "\u{e615}"), // ""
("netlify.toml", "\u{f233}"), // ""
(".nix-channels", "\u{f313}"), // ""
(".nix-defexpr", "\u{f313}"), // ""
(".node-gyp", "\u{e5fa}"), // ""
("node_modules", "\u{e5fa}"), // ""
(".node_repl_history", "\u{e718}"), // ""
("npmignore", "\u{e71e}"), // ""
@ -264,46 +299,55 @@ impl IconTheme {
("os-release", "\u{e615}"), // ""
("package.json", "\u{e718}"), // ""
("package-lock.json", "\u{e718}"), // ""
("packages.el", "\u{e779}"), // ""
("packages.el", "\u{e632}"), // ""
("pam.d", "\u{f08ac}"), // "󰢬"
("passwd", "\u{f023}"), // ""
("pictures", "\u{f03e}"), // ""
("pictures", "\u{f024f}"), // "󰉏"
("pkgbuild", "\u{f303}"), // ""
(".pki", "\u{f023}"), // ""
("portage", "\u{e5fc}"), // ""
("portage", "\u{f30d}"), // ""
("profile", "\u{e615}"), // ""
(".profile", "\u{e615}"), // ""
("public", "\u{f415}"), // ""
("__pycache__", "\u{f0320}"), // "󰌠"
("__pycache__", "\u{e606}"), // ""
("pyproject.toml", "\u{e606}"), // ""
(".python_history", "\u{e606}"), // ""
(".pypirc", "\u{e606}"), // ""
("rc.lua", "\u{e615}"), // ""
("readme", "\u{e609}"), // ""
(".release.toml", "\u{e7a8}"), // ""
(".release.toml", "\u{e68b}"), // ""
("requirements.txt", "\u{f0320}"), // "󰌠"
("robots.txt", "\u{f06a9}"), // "󰚩"
("root", "\u{f023}"), // ""
("root", "\u{f0250}"), // "󰉐"
("rubydoc", "\u{e73b}"), // ""
("runtime.txt", "\u{f0320}"), // "󰌠"
(".rustup", "\u{e7a8}"), // ""
(".rustup", "\u{e68b}"), // ""
("rustfmt.toml", "\u{e68b}"), // ""
(".rvm", "\u{e21e}"), // ""
("sass", "\u{e603}"), // ""
("sbin", "\u{e5fc}"), // ""
("scripts", "\u{f489}"), // ""
("scss", "\u{e603}"), // ""
("sha256sum", "\u{f0565}"), // "󰕥"
("shadow", "\u{e615}"), // ""
("share", "\u{f064}"), // ""
(".shellcheckrc", "\u{e615}"), // ""
("shells", "\u{e615}"), // ""
(".spacemacs", "\u{e632}"), // ""
(".sqlite_history", "\u{e7c4}"), // ""
("src", "\u{f121}"), // ""
(".ssh", "\u{f023}"), // ""
("src", "\u{f19fc}"), // "󱧼"
(".ssh", "\u{f08ac}"), // "󰢬"
("static", "\u{f0c7}"), // ""
("std", "\u{f0171}"), // "󰅱"
("styles", "\u{e749}"), // ""
("subgid", "\u{e615}"), // ""
("subuid", "\u{e615}"), // ""
("sudoers", "\u{f023}"), // ""
("sxhkdrc", "\u{e615}"), // ""
("template", "\u{f32e}"), // ""
("tests", "\u{f0668}"), // "󰙨"
("tigrc", "\u{e615}"), // ""
("timezone", "\u{f43a}"), // ""
("tox.ini", "\u{e615}"), // ""
(".trash", "\u{f1f8}"), // ""
("ts", "\u{e628}"), // ""
@ -312,6 +356,7 @@ impl IconTheme {
("url", "\u{f0ac}"), // ""
("user-dirs.dirs", "\u{e5fc}"), // ""
("vagrantfile", "\u{e615}"), // ""
("vendor", "\u{f0ae6}"), // "󰫦"
("venv", "\u{f0320}"), // "󰌠"
("videos", "\u{f03d}"), // ""
(".viminfo", "\u{e62b}"), // ""
@ -325,7 +370,8 @@ impl IconTheme {
("wgetrc", "\u{e615}"), // ""
(".xauthority", "\u{e615}"), // ""
(".Xauthority", "\u{e615}"), // ""
("xbps.d", "\u{e5fc}"), // ""
("xbps.d", "\u{f32e}"), // ""
("xbps-src", "\u{f32e}"), // ""
(".xinitrc", "\u{e615}"), // ""
(".xmodmap", "\u{e615}"), // ""
(".Xmodmap", "\u{e615}"), // ""
@ -334,9 +380,15 @@ impl IconTheme {
(".xprofile", "\u{e615}"), // ""
(".Xprofile", "\u{e615}"), // ""
(".xresources", "\u{e615}"), // ""
(".yarnrc", "\u{e6a7}"), // ""
("yarn.lock", "\u{e6a7}"), // ""
("zathurarc", "\u{e615}"), // ""
(".zsh_history", "\u{e615}"), // ""
(".zshrc", "\u{f489}"), // ""
(".zcompdump", "\u{e615}"), // ""
(".zlogin", "\u{f1183}"), // "󱆃"
(".zlogout", "\u{f1183}"), // "󱆃"
(".zprofile", "\u{f1183}"), // "󱆃"
(".zsh_history", "\u{f1183}"), // "󱆃"
(".zshrc", "\u{f1183}"), // "󱆃"
]
.iter()
.map(|&s| (s.0.to_owned(), s.1.to_owned()))
@ -356,13 +408,14 @@ impl IconTheme {
("7", "\u{f02d}"), // ""
("7z", "\u{f410}"), // ""
("8", "\u{f02d}"), // ""
("a", "\u{e624}"), // ""
("ai", "\u{e7b4}"), // ""
("ape", "\u{f001}"), // ""
("apk", "\u{e70e}"), // ""
("asc", "\u{f023}"), // ""
("ar", "\u{f410}"), // ""
("asc", "\u{f099d}"), // "󰦝"
("asm", "\u{f471}"), // ""
("asp", "\u{f121}"), // ""
("a", "\u{e624}"), // ""
("avi", "\u{f008}"), // ""
("avro", "\u{e60b}"), // ""
("awk", "\u{f489}"), // ""
@ -372,7 +425,7 @@ impl IconTheme {
("bashrc", "\u{f489}"), // ""
("bash", "\u{f489}"), // ""
("bat", "\u{f17a}"), // ""
("bin", "\u{f489}"), // ""
("bin", "\u{eae8}"), // ""
("bio", "\u{f0411}"), // "󰐑"
("bmp", "\u{f1c5}"), // ""
("bz2", "\u{f410}"), // ""
@ -410,6 +463,7 @@ impl IconTheme {
("dockerfile", "\u{f308}"), // ""
("doc", "\u{f1c2}"), // ""
("docx", "\u{f1c2}"), // ""
("download", "\u{f43a}"), // ""
("ds_store", "\u{f179}"), // ""
("dump", "\u{f1c0}"), // ""
("ebook", "\u{e28b}"), // ""
@ -445,10 +499,11 @@ impl IconTheme {
("gif", "\u{f1c5}"), // ""
("git", "\u{f1d3}"), // ""
("go", "\u{e627}"), // ""
("gradle", "\u{e70e}"), // ""
("gradle", "\u{e660}"), // ""
("gsheet", "\u{f1c3}"), // ""
("gslides", "\u{f1c4}"), // ""
("guardfile", "\u{e21e}"), // ""
("gv", "\u{f1049}"), // "󱁉"
("gz", "\u{f410}"), // ""
("hbs", "\u{e60f}"), // ""
("heic", "\u{f1c5}"), // ""
@ -481,7 +536,7 @@ impl IconTheme {
("json", "\u{e60b}"), // ""
("js", "\u{e74e}"), // ""
("jsx", "\u{e7ba}"), // ""
("key", "\u{e60a}"), // ""
("key", "\u{f0306}"), // "󰌆"
("ksh", "\u{f489}"), // ""
("kt", "\u{e634}"), // ""
("kts", "\u{e634}"), // ""
@ -511,6 +566,10 @@ impl IconTheme {
("mkd", "\u{e609}"), // ""
("mk", "\u{f085}"), // ""
("mkv", "\u{f008}"), // ""
("ml", "\u{e67a}"), // ""
("mli", "\u{e67a}"), // ""
("mll", "\u{e67a}"), // ""
("mly", "\u{e67a}"), // ""
("mobi", "\u{e28b}"), // ""
("mov", "\u{f008}"), // ""
("mp3", "\u{f001}"), // ""
@ -520,31 +579,40 @@ impl IconTheme {
("mustache", "\u{e60f}"), // ""
("nix", "\u{f313}"), // ""
("npmignore", "\u{e71e}"), // ""
("odp", "\u{f1c4}"), // ""
("ods", "\u{f1c3}"), // ""
("odt", "\u{f1c2}"), // ""
("ogg", "\u{f001}"), // ""
("ogv", "\u{f008}"), // ""
("old", "\u{f006f}"), // "󰁯"
("opus", "\u{f001}"), // ""
("orig", "\u{f006f}"), // "󰁯"
("org", "\u{e633}"), // ""
("otf", "\u{f031}"), // ""
("o", "\u{e624}"), // ""
("o", "\u{eae8}"), // ""
("part", "\u{f43a}"), // ""
("patch", "\u{e728}"), // ""
("pdb", "\u{f0aaa}"), // "󰪪"
("pdf", "\u{f1c1}"), // ""
("pem", "\u{f0306}"), // "󰌆"
("phar", "\u{e608}"), // ""
("php", "\u{e608}"), // ""
("pkg", "\u{f187}"), // ""
("pl", "\u{e67e}"), // ""
("plist", "\u{f302}"), // ""
("pls", "\u{f0411}"), // "󰐑"
("pl", "\u{e769}"), // ""
("pm", "\u{e769}"), // ""
("plx", "\u{e67e}"), // ""
("pm", "\u{e67e}"), // ""
("png", "\u{f1c5}"), // ""
("pod", "\u{e67e}"), // ""
("pp", "\u{e631}"), // ""
("ppt", "\u{f1c4}"), // ""
("pptx", "\u{f1c4}"), // ""
("procfile", "\u{e21e}"), // ""
("properties", "\u{e60b}"), // ""
("ps1", "\u{f489}"), // ""
("psd", "\u{e7b8}"), // ""
("pub", "\u{e60a}"), // ""
("pub", "\u{f0306}"), // "󰌆"
("slt", "\u{f0221}"), // "󰈡"
("pxm", "\u{f1c5}"), // ""
("pyc", "\u{e606}"), // ""
@ -558,16 +626,17 @@ impl IconTheme {
("rdoc", "\u{e609}"), // ""
("rds", "\u{f07d4}"), // "󰟔"
("readme", "\u{e609}"), // ""
("rlib", "\u{e7a8}"), // ""
("rlib", "\u{e68b}"), // ""
("rl", "\u{f11c}"), // ""
("rmd", "\u{e609}"), // ""
("rmeta", "\u{e68b}"), // ""
("rpm", "\u{f187}"), // ""
("rproj", "\u{f05c6}"), // "󰗆"
("rspec_parallel", "\u{e21e}"), // ""
("rspec_status", "\u{e21e}"), // ""
("rspec", "\u{e21e}"), // ""
("rss", "\u{f09e}"), // ""
("rs", "\u{e7a8}"), // ""
("rs", "\u{e68b}"), // ""
("rtf", "\u{f15c}"), // ""
("rubydoc", "\u{e73b}"), // ""
("r", "\u{f07d4}"), // "󰟔"
@ -584,22 +653,28 @@ impl IconTheme {
("so", "\u{e624}"), // ""
("sqlite3", "\u{e7c4}"), // ""
("sql", "\u{f1c0}"), // ""
("srt", "\u{f02d}"), // ""
("srt", "\u{f0a16}"), // "󰨖"
("styl", "\u{e600}"), // ""
("stylus", "\u{e600}"), // ""
("sublime-menu", "\u{e7aa}"), // ""
("sublime-package", "\u{e7aa}"), // ""
("sublime-project", "\u{e7aa}"), // ""
("sublime-session", "\u{e7aa}"), // ""
("sub", "\u{f02d}"), // ""
("sub", "\u{f0a16}"), // "󰨖"
("s", "\u{f471}"), // ""
("svg", "\u{f1c5}"), // ""
("svelte", "\u{e697}"), // ""
("swift", "\u{e755}"), // ""
("swp", "\u{e62b}"), // ""
("sym", "\u{e624}"), // ""
("sym", "\u{eae8}"), // ""
("tar", "\u{f410}"), // ""
("taz", "\u{f410}"), // ""
("tbz", "\u{f410}"), // ""
("tbz2", "\u{f410}"), // ""
("tex", "\u{e600}"), // ""
("tgz", "\u{f410}"), // ""
("tiff", "\u{f1c5}"), // ""
("timestamp", "\u{f43a}"), // ""
("toml", "\u{e60b}"), // ""
("torrent", "\u{f048d}"), // "󰒍"
("trash", "\u{f1f8}"), // ""
@ -610,6 +685,8 @@ impl IconTheme {
("t", "\u{e769}"), // ""
("twig", "\u{e61c}"), // ""
("txt", "\u{f15c}"), // ""
("unity", "\u{e721}"), // ""
("unity32", "\u{e721}"), // ""
("video", "\u{f008}"), // ""
("vim", "\u{e62b}"), // ""
("vlc", "\u{f0411}"), // "󰐑"
@ -655,13 +732,13 @@ mod tests {
r#"---
name:
.trash:
.cargo:
.emacs.d:
.cargo:
.emacs.d:
a.out:
extension:
go:
hs:
rs:
rs:
filetype:
dir:
file:
@ -739,7 +816,7 @@ filetype:
// When a user sets to use 📦-icon for a cargo.toml file,
let theme: IconTheme = Theme::with_yaml("name:\n cargo.toml: 📦").unwrap();
// the default icon  should be used for a cargo.lock file.
assert_eq!(theme.name.get("cargo.lock").unwrap(), "\u{e7a8}");
assert_eq!(theme.name.get("cargo.lock").unwrap(), "\u{e68b}");
}
#[test]