From 1d7f9067189fbf730605f373d591654651e01689 Mon Sep 17 00:00:00 2001 From: Noah Too Date: Tue, 6 Jun 2023 12:24:51 +0300 Subject: feat: Support for customizing file icons (#324) closes #308 --- config/icons.toml | 350 ++++++++++++++++++++++++++++++++++++++ docs/configuration/README.md | 1 + docs/configuration/icons.toml.md | 39 +++++ src/config/icons/icons_raw.rs | 31 ++++ src/config/icons/mod.rs | 55 ++++++ src/config/mod.rs | 2 + src/fs/entry.rs | 35 ++-- src/main.rs | 4 + src/util/devicons.rs | 351 --------------------------------------- src/util/mod.rs | 3 - 10 files changed, 503 insertions(+), 368 deletions(-) create mode 100644 config/icons.toml create mode 100644 docs/configuration/icons.toml.md create mode 100644 src/config/icons/icons_raw.rs create mode 100644 src/config/icons/mod.rs delete mode 100644 src/util/devicons.rs 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, + #[serde(default)] + pub file_exact: HashMap, + #[serde(default)] + pub ext: HashMap, + #[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, + pub file_exact: HashMap, + pub ext: HashMap, + pub default_file: String, + pub default_dir: String, +} + +impl From 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 { + 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::(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 = Mutex::new(Bookmarks::get_config(BOOKMARKS_FILE)); + static ref ICONS_T: Icons = Icons::get_config(ICONS_FILE); static ref HOME_DIR: Option = dirs_next::home_dir(); static ref USERNAME: String = whoami::username(); @@ -111,6 +114,7 @@ fn run_main(args: Args) -> Result { 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; -- cgit v1.2.3