summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoah Too <krivahtoo@gmail.com>2023-06-06 12:24:51 +0300
committerGitHub <noreply@github.com>2023-06-06 05:24:51 -0400
commit1d7f9067189fbf730605f373d591654651e01689 (patch)
tree833071194e05da6f11519c23173a3307bf362cfe
parent8dbbdfa91032715ae67447eb62d1eb2da79063a5 (diff)
feat: Support for customizing file icons (#324)
closes #308
-rw-r--r--config/icons.toml350
-rw-r--r--docs/configuration/README.md1
-rw-r--r--docs/configuration/icons.toml.md39
-rw-r--r--src/config/icons/icons_raw.rs31
-rw-r--r--src/config/icons/mod.rs55
-rw-r--r--src/config/mod.rs2
-rw-r--r--src/fs/entry.rs35
-rw-r--r--src/main.rs4
-rw-r--r--src/util/devicons.rs351
-rw-r--r--src/util/mod.rs3
10 files changed, 503 insertions, 368 deletions
diff --git a/config/icons.toml b/config/icons.toml
new file mode 100644
index 0000000..b9dd060
--- /dev/null
+++ b/config/icons.toml
@@ -0,0 +1,350 @@
+# all those glyphs will show as weird squares if you don't have the correct patched font
+# My advice is to use NerdFonts which can be found here:
+# https://github.com/ryanoasis/nerd-fonts
+
+# Default fallback icons
+[defaults]
+file = ""
+directory = ""
+
+# Directory exact match icons
+[directory_exact]
+# English
+".git" = ""
+"Desktop" = ""
+"Documents" = ""
+"Downloads" = ""
+"Dotfiles" = ""
+"Dropbox" = ""
+"Music" = ""
+"Pictures" = ""
+"Public" = ""
+"Templates" = ""
+"Videos" = ""
+# Spanish
+"Escritorio" = ""
+"Documentos" = ""
+"Descargas" = ""
+"Música" = ""
+"Imágenes" = ""
+"Público" = ""
+"Plantillas" = ""
+"Vídeos" = ""
+# French
+"Bureau" = ""
+"Images" = ""
+"Musique" = ""
+"Publique" = ""
+"Téléchargements" = ""
+"Vidéos" = ""
+# Portuguese
+"Imagens" = ""
+"Modelos" = ""
+"Área de trabalho" = ""
+# Italian
+"Documenti" = ""
+"Immagini" = ""
+"Modelli" = ""
+"Musica" = ""
+"Pubblici" = ""
+"Scaricati" = ""
+"Scrivania" = ""
+# German
+"Bilder" = ""
+"Dokumente" = ""
+"Musik" = ""
+"Schreibtisch" = ""
+"Vorlagen" = ""
+"Öffentlich" = ""
+# Hungarian
+"Dokumentumok" = ""
+"Képek" = ""
+"Zene" = ""
+"Letöltések" = ""
+"Számítógép" = ""
+"Videók" = ""
+
+# File exact match icons
+[file_exact]
+".bash_aliases" = ""
+".bash_history" = ""
+".bash_logout" = ""
+".bash_profile" = ""
+".bashprofile" = ""
+".bashrc" = ""
+".dmrc" = ""
+".DS_Store" = ""
+".fasd" = ""
+".fehbg" = ""
+".gitattributes" = ""
+".gitconfig" = ""
+".gitignore" = ""
+".gitlab-ci.yml" = ""
+".gvimrc" = ""
+".inputrc" = ""
+".jack-settings" = ""
+".mime.types" = ""
+".ncmpcpp" = ""
+".nvidia-settings-rc" = ""
+".pam_environment" = ""
+".profile" = ""
+".recently-used" = ""
+".selected_editor" = ""
+".vim" = ""
+".viminfo" = ""
+".vimrc" = ""
+".Xauthority" = ""
+".Xdefaults" = ""
+".xinitrc" = ""
+".xinputrc" = ""
+".Xresources" = ""
+".zshrc" = ""
+"_gvimrc" = ""
+"_vimrc" = ""
+"a.out" = ""
+"authorized_keys" = ""
+"bspwmrc" = ""
+"cmakelists.txt" = ""
+"config" = ""
+"config.ac" = ""
+"config.m4" = ""
+"config.mk" = ""
+"config.ru" = ""
+"configure" = ""
+"docker-compose.yml" = ""
+"dockerfile" = ""
+"Dockerfile" = ""
+"dropbox" = ""
+"exact-match-case-sensitive-1.txt" = "X1"
+"exact-match-case-sensitive-2" = "X2"
+"favicon.ico" = ""
+"gemfile" = ""
+"gruntfile.coffee" = ""
+"gruntfile.js" = ""
+"gruntfile.ls" = ""
+"gulpfile.coffee" = ""
+"gulpfile.js" = ""
+"gulpfile.ls" = ""
+"ini" = ""
+"known_hosts" = ""
+"ledger" = ""
+"license" = ""
+"LICENSE" = ""
+"LICENSE.md" = ""
+"LICENSE.txt" = ""
+"Makefile" = ""
+"makefile" = ""
+"Makefile.ac" = ""
+"Makefile.in" = ""
+"mimeapps.list" = ""
+"mix.lock" = ""
+"node_modules" = ""
+"package-lock.json" = ""
+"package.json" = ""
+"playlists" = ""
+"procfile" = ""
+"Rakefile" = ""
+"rakefile" = ""
+"react.jsx" = ""
+"README" = ""
+"README.markdown" = ""
+"README.md" = ""
+"README.rst" = ""
+"README.txt" = ""
+"sxhkdrc" = ""
+"user-dirs.dirs" = ""
+"webpack.config.js" = ""
+
+# File extension match
+[ext]
+"7z" = ""
+"a" = ""
+"ai" = ""
+"apk" = ""
+"asm" = ""
+"asp" = ""
+"aup" = ""
+"avi" = ""
+"awk" = ""
+"bash" = ""
+"bat" = ""
+"bmp" = ""
+"bz2" = ""
+"c" = ""
+"c++" = ""
+"cab" = ""
+"cbr" = ""
+"cbz" = ""
+"cc" = ""
+"class" = ""
+"clj" = ""
+"cljc" = ""
+"cljs" = ""
+"cmake" = ""
+"coffee" = ""
+"conf" = ""
+"cp" = ""
+"cpio" = ""
+"cpp" = ""
+"cs" = ""
+"csh" = ""
+"css" = ""
+"cue" = ""
+"cvs" = ""
+"cxx" = ""
+"d" = ""
+"dart" = ""
+"db" = ""
+"deb" = ""
+"diff" = ""
+"dll" = ""
+"doc" = ""
+"docx" = ""
+"dump" = ""
+"edn" = ""
+"eex" = ""
+"efi" = ""
+"ejs" = ""
+"elf" = ""
+"elm" = ""
+"epub" = ""
+"erl" = ""
+"ex" = ""
+"exe" = ""
+"exs" = ""
+"f//" = ""
+"fifo" = "|"
+"fish" = ""
+"flac" = ""
+"flv" = ""
+"fs" = ""
+"fsi" = ""
+"fsscript" = ""
+"fsx" = ""
+"gem" = ""
+"gemspec" = ""
+"gif" = ""
+"go" = ""
+"gz" = ""
+"gzip" = ""
+"h" = ""
+"haml" = ""
+"hbs" = ""
+"hh" = ""
+"hpp" = ""
+"hrl" = ""
+"hs" = ""
+"htaccess" = ""
+"htm" = ""
+"html" = ""
+"htpasswd" = ""
+"hxx" = ""
+"ico" = ""
+"img" = ""
+"ini" = ""
+"iso" = ""
+"jar" = ""
+"java" = ""
+"jl" = ""
+"jpeg" = ""
+"jpg" = ""
+"js" = ""
+"json" = ""
+"jsx" = ""
+"key" = ""
+"ksh" = ""
+"leex" = ""
+"less" = ""
+"lha" = ""
+"lhs" = ""
+"log" = ""
+"lua" = ""
+"lzh" = ""
+"lzma" = ""
+"m4a" = ""
+"m4v" = ""
+"markdown" = ""
+"md" = ""
+"mdx" = ""
+"mjs" = ""
+"mkv" = ""
+"ml" = "λ"
+"mli" = "λ"
+"mov" = ""
+"mp3" = ""
+"mp4" = ""
+"mpeg" = ""
+"mpg" = ""
+"msi" = ""
+"mustache" = ""
+"nix" = ""
+"o" = ""
+"ogg" = ""
+"pdf" = ""
+"php" = ""
+"pl" = ""
+"pm" = ""
+"png" = ""
+"pp" = ""
+"ppt" = ""
+"pptx" = ""
+"ps1" = ""
+"psb" = ""
+"psd" = ""
+"pub" = ""
+"py" = ""
+"pyc" = ""
+"pyd" = ""
+"pyo" = ""
+"r" = "ﳒ"
+"rake" = ""
+"rar" = ""
+"rb" = ""
+"rc" = ""
+"rlib" = ""
+"rmd" = ""
+"rom" = ""
+"rpm" = ""
+"rproj" = "鉶"
+"rs" = ""
+"rss" = ""
+"rtf" = ""
+"s" = ""
+"sass" = ""
+"scala" = ""
+"scss" = ""
+"sh" = ""
+"slim" = ""
+"sln" = ""
+"so" = ""
+"sql" = ""
+"styl" = ""
+"suo" = ""
+"swift" = ""
+"t" = ""
+"tar" = ""
+"tex" = "ﭨ"
+"tgz" = ""
+"toml" = ""
+"ts" = ""
+"tsx" = ""
+"twig" = ""
+"vim" = ""
+"vimrc" = ""
+"vue" = "﵂"
+"wav" = ""
+"webm" = ""
+"webmanifest" = ""
+"webp" = ""
+"xbps" = ""
+"xcplayground" = ""
+"xhtml" = ""
+"xls" = ""
+"xlsx" = ""
+"xml" = ""
+"xul" = ""
+"xz" = ""
+"yaml" = ""
+"yml" = ""
+"zip" = ""
+"zsh" = ""
diff --git a/docs/configuration/README.md b/docs/configuration/README.md
index 29d1cb8..e749467 100644
--- a/docs/configuration/README.md
+++ b/docs/configuration/README.md
@@ -12,6 +12,7 @@ Joshuto can currently be configured using the following files:
- [keymap.toml](/docs/configuration/keymap.toml.md): keymapping configurations
- [mimetype.toml](/docs/configuration/mimetype.toml.md): mimetype configurations
- [theme.toml](/docs/configuration/theme.toml.md): theming configurations
+- [icons.toml](/docs/configuration/icons.toml.md): icons customization
**Please copy these configs and use it as a base, then modify them accordingly.**
diff --git a/docs/configuration/icons.toml.md b/docs/configuration/icons.toml.md
new file mode 100644
index 0000000..c815cc7
--- /dev/null
+++ b/docs/configuration/icons.toml.md
@@ -0,0 +1,39 @@
+# icons.toml
+
+This file is used to configure file/directory icons.
+
+> **NOTE**: To display icons correctly you need [Nerd Fonts](https://www.nerdfonts.com/).
+
+The are four sections in this file:
+
+- `defaults` - Used for fallback icons either file or directory.
+- `directory_exact` - Used to match the exact directory name.
+ e.g. `node_modules` will match exactly `node_modules` directory only.
+- `file_exact` - Used to match exact file names.
+- `ext` - Used to match file names by their extension.
+
+Each section accepts key/value pairs, key as target and value as the icon.
+
+## `defaults` example
+```toml
+[defaults]
+file = ""
+directory = ""
+```
+
+## `file_exact` example
+```toml
+".gitignore" = ""
+LICENSE = ""
+Makefile = ""
+Dockerfile = ""
+# ...
+```
+
+## `ext` example
+```toml
+js = ""
+docx = ""
+rs = ""
+# ...
+```
diff --git a/src/config/icons/icons_raw.rs b/src/config/icons/icons_raw.rs
new file mode 100644
index 0000000..91d4e6f
--- /dev/null
+++ b/src/config/icons/icons_raw.rs
@@ -0,0 +1,31 @@
+use serde_derive::Deserialize;
+use std::collections::HashMap;
+
+#[derive(Debug, Clone, Deserialize)]
+pub struct DefaultIcons {
+ #[serde(default)]
+ pub file: String,
+ #[serde(default)]
+ pub directory: String,
+}
+
+#[derive(Debug, Clone, Deserialize)]
+pub struct IconsRaw {
+ #[serde(default)]
+ pub directory_exact: HashMap<String, String>,
+ #[serde(default)]
+ pub file_exact: HashMap<String, String>,
+ #[serde(default)]
+ pub ext: HashMap<String, String>,
+ #[serde(default)]
+ pub defaults: DefaultIcons,
+}
+
+impl std::default::Default for DefaultIcons {
+ fn default() -> Self {
+ Self {
+ file: "".to_string(),
+ directory: "".to_string(),
+ }
+ }
+}
diff --git a/src/config/icons/mod.rs b/src/config/icons/mod.rs
new file mode 100644
index 0000000..d072962
--- /dev/null
+++ b/src/config/icons/mod.rs
@@ -0,0 +1,55 @@
+use std::collections::HashMap;
+
+use crate::error::JoshutoResult;
+
+pub use self::icons_raw::*;
+
+use super::{parse_config_or_default, TomlConfigFile};
+
+#[cfg(not(target_os = "windows"))]
+const DEFAULT_ICONS: &str = include_str!("../../../config/icons.toml");
+
+#[cfg(target_os = "windows")]
+const DEFAULT_ICONS: &str = include_str!("..\\..\\..\\config\\icons.toml");
+
+pub mod icons_raw;
+
+#[derive(Debug)]
+pub struct Icons {
+ pub directory_exact: HashMap<String, String>,
+ pub file_exact: HashMap<String, String>,
+ pub ext: HashMap<String, String>,
+ pub default_file: String,
+ pub default_dir: String,
+}
+
+impl From<IconsRaw> for Icons {
+ fn from(value: IconsRaw) -> Self {
+ Icons {
+ directory_exact: value.directory_exact,
+ file_exact: value.file_exact,
+ ext: value.ext,
+ default_file: value.defaults.file,
+ default_dir: value.defaults.directory,
+ }
+ }
+}
+
+impl Icons {
+ pub(crate) fn default_icons() -> JoshutoResult<Self> {
+ let icons: IconsRaw = toml::from_str(DEFAULT_ICONS)?;
+ Ok(Self::from(icons))
+ }
+}
+
+impl std::default::Default for Icons {
+ fn default() -> Self {
+ Self::default_icons().unwrap()
+ }
+}
+
+impl TomlConfigFile for Icons {
+ fn get_config(file_name: &str) -> Self {
+ parse_config_or_default::<IconsRaw, Icons>(file_name)
+ }
+}
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 6da6e1b..f428958 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -1,5 +1,7 @@
pub mod bookmarks;
pub mod general;
+#[cfg(feature = "devicons")]
+pub mod icons;
pub mod keymap;
pub mod mimetype;
pub mod option;
diff --git a/src/fs/entry.rs b/src/fs/entry.rs
index 66e0f49..565e723 100644
--- a/src/fs/entry.rs
+++ b/src/fs/entry.rs
@@ -4,7 +4,7 @@ use crate::config::option::DisplayOption;
use crate::fs::{FileType, JoshutoMetadata};
#[cfg(feature = "devicons")]
-use crate::util::devicons::*;
+use crate::ICONS_T;
#[derive(Clone, Debug)]
pub struct JoshutoDirEntry {
@@ -139,21 +139,28 @@ impl std::cmp::Ord for JoshutoDirEntry {
}
}
+#[cfg(feature = "devicons")]
fn create_icon_label(name: &str, metadata: &JoshutoMetadata) -> String {
let label = {
- let icon =
- match metadata.file_type() {
- FileType::Directory => DIR_NODE_EXACT_MATCHES
- .get(name)
- .cloned()
- .unwrap_or(DEFAULT_DIR),
- _ => FILE_NODE_EXACT_MATCHES.get(name).cloned().unwrap_or(
- match name.rsplit_once('.') {
- Some((_, ext)) => FILE_NODE_EXTENSIONS.get(ext).unwrap_or(&DEFAULT_FILE),
- None => DEFAULT_FILE,
- },
- ),
- };
+ let icon = match metadata.file_type() {
+ FileType::Directory => ICONS_T
+ .directory_exact
+ .get(name)
+ .cloned()
+ .unwrap_or(ICONS_T.default_dir.clone()),
+ _ => ICONS_T
+ .file_exact
+ .get(name)
+ .cloned()
+ .unwrap_or(match name.rsplit_once('.') {
+ Some((_, ext)) => ICONS_T
+ .ext
+ .get(ext)
+ .unwrap_or(&ICONS_T.default_file)
+ .to_string(),
+ None => ICONS_T.default_file.clone(),
+ }),
+ };
format!("{} {}", icon, name)
};
label
diff --git a/src/main.rs b/src/main.rs
index a2fe89b..3e2b8bc 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -14,6 +14,7 @@ mod traits;
mod ui;
mod util;
+use config::icons::Icons;
use lazy_static::lazy_static;
use std::fs::File;
use std::io::prelude::*;
@@ -39,6 +40,7 @@ const KEYMAP_FILE: &str = "keymap.toml";
const THEME_FILE: &str = "theme.toml";
const PREVIEW_FILE: &str = "preview.toml";
const BOOKMARKS_FILE: &str = "bookmarks.toml";
+const ICONS_FILE: &str = "icons.toml";
lazy_static! {
// dynamically builds the config hierarchy
@@ -70,6 +72,7 @@ lazy_static! {
static ref MIMETYPE_T: AppProgramRegistry = AppProgramRegistry::get_config(MIMETYPE_FILE);
static ref PREVIEW_T: JoshutoPreview = JoshutoPreview::get_config(PREVIEW_FILE);
static ref BOOKMARKS_T: Mutex<Bookmarks> = Mutex::new(Bookmarks::get_config(BOOKMARKS_FILE));
+ static ref ICONS_T: Icons = Icons::get_config(ICONS_FILE);
static ref HOME_DIR: Option<PathBuf> = dirs_next::home_dir();
static ref USERNAME: String = whoami::username();
@@ -111,6 +114,7 @@ fn run_main(args: Args) -> Result<i32, JoshutoError> {
lazy_static::initialize(&MIMETYPE_T);
lazy_static::initialize(&PREVIEW_T);
lazy_static::initialize(&BOOKMARKS_T);
+ lazy_static::initialize(&ICONS_T);
lazy_static::initialize(&HOME_DIR);
lazy_static::initialize(&USERNAME);
diff --git a/src/util/devicons.rs b/src/util/devicons.rs
deleted file mode 100644
index 823de44..0000000
--- a/src/util/devicons.rs
+++ /dev/null
@@ -1,351 +0,0 @@
-use phf::phf_map;
-
-pub const DEFAULT_DIR: &str = "";
-pub const DEFAULT_FILE: &str = "";
-
-// all those glyphs will show as weird squares if you don't have the correct patched font
-// My advice is to use NerdFonts which can be found here:
-// https://github.com/ryanoasis/nerd-fonts
-pub static FILE_NODE_EXTENSIONS: phf::Map<&'static str, &'static str> = phf_map! {
- "7z" => "",
- "a" => "",
- "ai" => "",
- "apk" => "",
- "asm" => "",
- "asp" => "",
- "aup" => "",
- "avi" => "",
- "awk" => "",
- "bash" => "",
- "bat" => "",
- "bmp" => "",
- "bz2" => "",
- "c" => "",
- "c++" => "",
- "cab" => "",
- "cbr" => "",
- "cbz" => "",
- "cc" => "",
- "class" => "",
- "clj" => "",
- "cljc" => "",
- "cljs" => "",
- "cmake" => "",
- "coffee" => "",
- "conf" => "",
- "cp" => "",
- "cpio" => "",
- "cpp" => "",
- "cs" => "",
- "csh" => "",
- "css" => "",
- "cue" => "",
- "cvs" => "",
- "cxx" => "",
- "d" => "",
- "dart" => "",
- "db" => "",
- "deb" => "",
- "diff" => "",
- "dll" => "",
- "doc" => "",
- "docx" => "",
- "dump" => "",
- "edn" => "",
- "eex" => "",
- "efi" => "",
- "ejs" => "",
- "elf" => "",
- "elm" => "",
- "epub" => "",
- "erl" => "",
- "ex" => "",
- "exe" => "",
- "exs" => "",
- "f//" => "",
- "fifo" => "|",
- "fish" => "",
- "flac" => "",
- "flv" => "",
- "fs" => "",
- "fsi" => "",
- "fsscript" => "",
- "fsx" => "",
- "gem" => "",
- "gemspec" => "",
- "gif" => "",
- "go" => "",
- "gz" => "",
- "gzip" => "",
- "h" => "",
- "haml" => "",
- "hbs" => "",
- "hh" => "",
- "hpp" => "",
- "hrl" => "",
- "hs" => "",
- "htaccess" => "",
- "htm" => "",
- "html" => "",
- "htpasswd" => "",
- "hxx" => "",
- "ico" => "",
- "img" => "",
- "ini" => "",
- "iso" => "",
- "jar" => "",
- "java" => "",
- "jl" => "",
- "jpeg" => "",
- "jpg" => "",
- "js" => "",
- "json" => "",
- "jsx" => "",
- "key" => "",
- "ksh" => "",
- "leex" => "",
- "less" => "",
- "lha" => "",
- "lhs" => "",
- "log" => "",
- "lua" => "",
- "lzh" => "",
- "lzma" => "",
- "m4a" => "",
- "m4v" => "",
- "markdown" => "",
- "md" => "",
- "mdx" => "",
- "mjs" => "",
- "mkv" => "",
- "ml" => "λ",
- "mli" => "λ",
- "mov" => "",
- "mp3" => "",
- "mp4" => "",
- "mpeg" => "",
- "mpg" => "",
- "msi" => "",
- "mustache" => "",
- "nix" => "",
- "o" => "",
- "ogg" => "",
- "pdf" => "",
- "php" => "",
- "pl" => "",
- "pm" => "",
- "png" => "",
- "pp" => "",
- "ppt" => "",
- "pptx" => "",
- "ps1" => "",
- "psb" => "",
- "psd" => "",
- "pub" => "",
- "py" => "",
- "pyc" => "",
- "pyd" => "",
- "pyo" => "",
- "r" => "ﳒ",
- "rake" => "",
- "rar" => "",
- "rb" => "",
- "rc" => "",
- "rlib" => "",
- "rmd" => "",
- "rom" => "",
- "rpm" => "",
- "rproj" => "鉶",
- "rs" => "",
- "rss" => "",
- "rtf" => "",
- "s" => "",
- "sass" => "",
- "scala" => "",
- "scss" => "",
- "sh" => "",
- "slim" => "",
- "sln" => "",
- "so" => "",
- "sql" => "",
- "styl" => "",
- "suo" => "",
- "swift" => "",
- "t" => "",
- "tar" => "",
- "tex" => "ﭨ",
- "tgz" => "",
- "toml" => "",
- "ts" => "",
- "tsx" => "",
- "twig" => "",
- "vim" => "",
- "vimrc" => "",
- "vue" => "﵂",
- "wav" => "",
- "webm" => "",
- "webmanifest" => "",
- "webp" => "",
- "xbps" => "",
- "xcplayground" => "",
- "xhtml" => "",
- "xls" => "",
- "xlsx" => "",
- "xml" => "",
- "xul" => "",
- "xz" => "",
- "yaml" => "",
- "yml" => "",
- "zip" => "",
- "zsh" => "",
-};
-
-pub static DIR_NODE_EXACT_MATCHES: phf::Map<&'static str, &'static str> = phf_map! {
-// English
- ".git" => "",
- "Desktop" => "",
- "Documents" => "",
- "Downloads" => "",
- "Dotfiles" => "",
- "Dropbox" => "",
- "Music" => "",
- "Pictures" => "",
- "Public" => "",
- "Templates" => "",
- "Videos" => "",
-// Spanish
- "Escritorio" => "",
- "Documentos" => "",
- "Descargas" => "",
- "Música" => "",
- "Imágenes" => "",
- "Público" => "",
- "Plantillas" => "",
- // "Vídeos" => "",
-// French
- "Bureau" => "",
- "Images" => "",
- "Musique" => "",
- "Publique" => "",
- "Téléchargements" => "",
- "Vidéos" => "",
-// Portuguese
- "Imagens" => "",
- "Modelos" => "",
- "Vídeos" => "",
- "Área de trabalho" => "",
-// Italian
- "Documenti" => "",
- "Immagini" => "",
- "Modelli" => "",
- "Musica" => "",
- "Pubblici" => "",
- "Scaricati" => "",
- "Scrivania" => "",
- "Video" => "",
-// German
- "Bilder" => "",
- "Dokumente" => "",
- "Musik" => "",
- "Schreibtisch" => "",
- "Vorlagen" => "",
- "Öffentlich" => "",
-// Hungarian
- "Dokumentumok" => "",
- "Képek" => "",
- "Zene" => "",
- "Letöltések" => "",
- "Számítógép" => "",
- "Videók" => "",
-};
-
-pub static FILE_NODE_EXACT_MATCHES: phf::Map<&'static str, &'static str> = phf_map! {
- ".bash_aliases" => "",
- ".bash_history" => "",
- ".bash_logout" => "",
- ".bash_profile" => "",
- ".bashprofile" => "",
- ".bashrc" => "",
- ".dmrc" => "",
- ".DS_Store" => "",
- ".fasd" => "",
- ".fehbg" => "",
- ".gitattributes" => "",
- ".gitconfig" => "",
- ".gitignore" => "",
- ".gitlab-ci.yml" => "",
- ".gvimrc" => "",
- ".inputrc" => "",
- ".jack-settings" => "",
- ".mime.types" => "",
- ".ncmpcpp" => "",
- ".nvidia-settings-rc" => "",
- ".pam_environment" => "",
- ".profile" => "",
- ".recently-used" => "",
- ".selected_editor" => "",
- ".vim" => "",
- ".viminfo" => "",
- ".vimrc" => "",
- ".Xauthority" => "",
- ".Xdefaults" => "",
- ".xinitrc" => "",
- ".xinputrc" => "",
- ".Xresources" => "",
- ".zshrc" => "",
- "_gvimrc" => "",
- "_vimrc" => "",
- "a.out" => "",
- "authorized_keys" => "",
- "bspwmrc" => "",
- "cmakelists.txt" => "",
- "config" => "",
- "config.ac" => "",
- "config.m4" => "",
- "config.mk" => "",
- "config.ru" => "",
- "configure" => "",
- "docker-compose.yml" => "",
- "dockerfile" => "",
- "Dockerfile" => "",
- "dropbox" => "",
- "exact-match-case-sensitive-1.txt" => "X1",
- "exact-match-case-sensitive-2" => "X2",
- "favicon.ico" => "",
- "gemfile" => "",
- "gruntfile.coffee" => "",
- "gruntfile.js" => "",
- "gruntfile.ls" => "",
- "gulpfile.coffee" => "",
- "gulpfile.js" => "",
- "gulpfile.ls" => "",
- "ini" => "",
- "known_hosts" => "",
- "ledger" => "",
- "license" => "",
- "LICENSE" => "",
- "LICENSE.md" => "",
- "LICENSE.txt" => "",
- "Makefile" => "",
- "makefile" => "",
- "Makefile.ac" => "",
- "Makefile.in" => "",
- "mimeapps.list" => "",
- "mix.lock" => "",
- "node_modules" => "",
- "package-lock.json" => "",
- "package.json" => "",
- "playlists" => "",
- "procfile" => "",
- "Rakefile" => "",
- "rakefile" => "",
- "react.jsx" => "",
- "README" => "",
- "README.markdown" => "",
- "README.md" => "",
- "README.rst" => "",
- "README.txt" => "",
- "sxhkdrc" => "",
- "user-dirs.dirs" => "",
- "webpack.config.js" => "",
-};
diff --git a/src/util/mod.rs b/src/util/mod.rs
index 313f193..7ac2ddf 100644
--- a/src/util/mod.rs
+++ b/src/util/mod.rs
@@ -1,6 +1,3 @@
-#[cfg(feature = "devicons")]
-pub mod devicons;
-
pub mod format;
pub mod fs;
pub mod keyparse;