Console icons
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
using FileTime.Core.Models;
|
||||||
|
|
||||||
|
namespace FileTime.ConsoleUI.App.Services;
|
||||||
|
|
||||||
|
public interface IIconProvider
|
||||||
|
{
|
||||||
|
string GetImage(IItem? item);
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ using FileTime.App.Core.Models.Enums;
|
|||||||
using FileTime.App.Core.ViewModels;
|
using FileTime.App.Core.ViewModels;
|
||||||
using FileTime.ConsoleUI.App.Configuration;
|
using FileTime.ConsoleUI.App.Configuration;
|
||||||
using FileTime.ConsoleUI.App.Controls;
|
using FileTime.ConsoleUI.App.Controls;
|
||||||
|
using FileTime.ConsoleUI.App.Services;
|
||||||
using FileTime.ConsoleUI.App.Styling;
|
using FileTime.ConsoleUI.App.Styling;
|
||||||
using FileTime.Core.Enums;
|
using FileTime.Core.Enums;
|
||||||
using FileTime.Core.Models;
|
using FileTime.Core.Models;
|
||||||
@@ -39,6 +40,7 @@ public class MainWindow
|
|||||||
private readonly Dialogs _dialogs;
|
private readonly Dialogs _dialogs;
|
||||||
private readonly Timeline _timeline;
|
private readonly Timeline _timeline;
|
||||||
private readonly ItemPreviews _itemPreviews;
|
private readonly ItemPreviews _itemPreviews;
|
||||||
|
private readonly IIconProvider _iconProvider;
|
||||||
private readonly IOptions<ConsoleApplicationConfiguration> _consoleApplicationConfiguration;
|
private readonly IOptions<ConsoleApplicationConfiguration> _consoleApplicationConfiguration;
|
||||||
private readonly Lazy<IView> _root;
|
private readonly Lazy<IView> _root;
|
||||||
|
|
||||||
@@ -51,6 +53,7 @@ public class MainWindow
|
|||||||
Dialogs dialogs,
|
Dialogs dialogs,
|
||||||
Timeline timeline,
|
Timeline timeline,
|
||||||
ItemPreviews itemPreviews,
|
ItemPreviews itemPreviews,
|
||||||
|
IIconProvider iconProvider,
|
||||||
IOptions<ConsoleApplicationConfiguration> consoleApplicationConfiguration)
|
IOptions<ConsoleApplicationConfiguration> consoleApplicationConfiguration)
|
||||||
{
|
{
|
||||||
_rootViewModel = rootViewModel;
|
_rootViewModel = rootViewModel;
|
||||||
@@ -61,6 +64,7 @@ public class MainWindow
|
|||||||
_dialogs = dialogs;
|
_dialogs = dialogs;
|
||||||
_timeline = timeline;
|
_timeline = timeline;
|
||||||
_itemPreviews = itemPreviews;
|
_itemPreviews = itemPreviews;
|
||||||
|
_iconProvider = iconProvider;
|
||||||
_consoleApplicationConfiguration = consoleApplicationConfiguration;
|
_consoleApplicationConfiguration = consoleApplicationConfiguration;
|
||||||
_root = new Lazy<IView>(Initialize);
|
_root = new Lazy<IView>(Initialize);
|
||||||
}
|
}
|
||||||
@@ -540,9 +544,21 @@ public class MainWindow
|
|||||||
new Grid<IItemViewModel>
|
new Grid<IItemViewModel>
|
||||||
{
|
{
|
||||||
Margin = "1 0 1 0",
|
Margin = "1 0 1 0",
|
||||||
ColumnDefinitionsObject = "* Auto",
|
ColumnDefinitionsObject = "2 * Auto",
|
||||||
ChildInitializer =
|
ChildInitializer =
|
||||||
{
|
{
|
||||||
|
new TextBlock<IItemViewModel>()
|
||||||
|
{
|
||||||
|
AsciiOnly = false
|
||||||
|
}
|
||||||
|
.Setup(t =>
|
||||||
|
{
|
||||||
|
t.Bind(
|
||||||
|
t,
|
||||||
|
dc => dc == null ? string.Empty : _iconProvider.GetImage(dc.BaseItem),
|
||||||
|
tb => tb.Text
|
||||||
|
);
|
||||||
|
}),
|
||||||
new TextBlock<IItemViewModel>()
|
new TextBlock<IItemViewModel>()
|
||||||
.Setup(t =>
|
.Setup(t =>
|
||||||
{
|
{
|
||||||
@@ -551,11 +567,11 @@ public class MainWindow
|
|||||||
dc => dc == null ? string.Empty : dc.DisplayNameText,
|
dc => dc == null ? string.Empty : dc.DisplayNameText,
|
||||||
tb => tb.Text
|
tb => tb.Text
|
||||||
);
|
);
|
||||||
}),
|
}).WithExtension(new GridPositionExtension(1, 0)),
|
||||||
new StackPanel<IItemViewModel>
|
new StackPanel<IItemViewModel>
|
||||||
{
|
{
|
||||||
Orientation = Orientation.Horizontal,
|
Orientation = Orientation.Horizontal,
|
||||||
Extensions = {new GridPositionExtension(1, 0)},
|
Extensions = {new GridPositionExtension(2, 0)},
|
||||||
ChildInitializer =
|
ChildInitializer =
|
||||||
{
|
{
|
||||||
new TextBlock<IItemViewModel>()
|
new TextBlock<IItemViewModel>()
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
using FileTime.Core.Models;
|
||||||
|
|
||||||
|
namespace FileTime.ConsoleUI.App.Services;
|
||||||
|
|
||||||
|
public partial class NerdFontIconProvider : IIconProvider
|
||||||
|
{
|
||||||
|
private const string _fileIcon = "\uf15b"; //"\uea7b"
|
||||||
|
|
||||||
|
public string GetImage(IItem? item)
|
||||||
|
=> item switch
|
||||||
|
{
|
||||||
|
IContainer container => GetContainerImage(container),
|
||||||
|
IElement element => GetElementImage(element),
|
||||||
|
_ => _fileIcon
|
||||||
|
};
|
||||||
|
private string GetContainerImage(IContainer container)
|
||||||
|
{
|
||||||
|
if (_directoryIcons.TryGetValue(container.Name, out var icon))
|
||||||
|
return icon;
|
||||||
|
return "\uf07b";
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetElementImage(IElement element)
|
||||||
|
{
|
||||||
|
if (_fileNameIcons.TryGetValue(element.Name, out var icon))
|
||||||
|
return icon;
|
||||||
|
if (_fileExtensionIcons.TryGetValue(element.Name.Split('.').LastOrDefault() ?? "", out icon))
|
||||||
|
return icon;
|
||||||
|
return _fileIcon;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
namespace FileTime.ConsoleUI.App.Services;
|
||||||
|
|
||||||
|
partial class NerdFontIconProvider {
|
||||||
|
private const string AUDIO = "\uf001"; //
|
||||||
|
private const string BINARY = "\ueae8"; //
|
||||||
|
private const string BOOK = "\ue28b"; //
|
||||||
|
private const string CALENDAR = "\ueab0"; //
|
||||||
|
private const string CLOCK = "\uf43a"; //
|
||||||
|
private const string COMPRESSED = "\uf410"; //
|
||||||
|
private const string CONFIG = "\ue615"; //
|
||||||
|
private const string CSS3 = "\ue749"; //
|
||||||
|
private const string DATABASE = "\uf1c0"; //
|
||||||
|
private const string DIFF = "\uf440"; //
|
||||||
|
private const string DISK_IMAGE = "\ue271"; //
|
||||||
|
private const string DOCKER = "\ue650"; //
|
||||||
|
private const string DOCUMENT = "\uf1c2"; //
|
||||||
|
private const string DOWNLOAD = "\udb80\uddda"; //
|
||||||
|
private const string EMACS = "\ue632"; //
|
||||||
|
private const string ESLINT = "\ue655"; //
|
||||||
|
private const string FILE = "\uf15b"; //
|
||||||
|
private const string FILE_3D = "\udb80\udda7"; //
|
||||||
|
private const string FILE_OUTLINE = "\uf016"; //
|
||||||
|
private const string FOLDER = "\ue5ff"; //
|
||||||
|
private const string FOLDER_CONFIG = "\ue5fc"; //
|
||||||
|
private const string FOLDER_GIT = "\ue5fb"; //
|
||||||
|
private const string FOLDER_GITHUB = "\ue5fd"; //
|
||||||
|
private const string FOLDER_HIDDEN = "\udb85\udf9e"; //
|
||||||
|
private const string FOLDER_KEY = "\udb82\udcac"; //
|
||||||
|
private const string FOLDER_NPM = "\ue5fa"; //
|
||||||
|
private const string FOLDER_OPEN = "\uf115"; //
|
||||||
|
private const string FONT = "\uf031"; //
|
||||||
|
private const string GIST_SECRET = "\ueafa"; //
|
||||||
|
private const string GIT = "\uf1d3"; //
|
||||||
|
private const string GODOT = "\ue65f"; //
|
||||||
|
private const string GRADLE = "\ue660"; //
|
||||||
|
private const string GRAPHQL = "\ue662"; //
|
||||||
|
private const string GRUNT = "\ue611"; //
|
||||||
|
private const string GULP = "\ue610"; //
|
||||||
|
private const string HTML5 = "\uf13b"; //
|
||||||
|
private const string IMAGE = "\uf1c5"; //
|
||||||
|
private const string INTELLIJ = "\ue7b5"; //
|
||||||
|
private const string JSON = "\ue60b"; //
|
||||||
|
private const string KEY = "\ueb11"; //
|
||||||
|
private const string KEYPASS = "\uf23e"; //
|
||||||
|
private const string LANG_ASSEMBLY = "\ue637"; //
|
||||||
|
private const string LANG_C = "\ue61e"; //
|
||||||
|
private const string LANG_CPP = "\ue61d"; //
|
||||||
|
private const string LANG_CSHARP = "\udb80\udf1b"; //
|
||||||
|
private const string LANG_D = "\ue7af"; //
|
||||||
|
private const string LANG_ELIXIR = "\ue62d"; //
|
||||||
|
private const string LANG_FORTRAN = "\udb84\ude1a"; //
|
||||||
|
private const string LANG_FSHARP = "\ue7a7"; //
|
||||||
|
private const string LANG_GO = "\ue65e"; //
|
||||||
|
private const string LANG_GROOVY = "\ue775"; //
|
||||||
|
private const string LANG_HASKELL = "\ue777"; //
|
||||||
|
private const string LANG_JAVA = "\ue256"; //
|
||||||
|
private const string LANG_JAVASCRIPT = "\ue74e"; //
|
||||||
|
private const string LANG_KOTLIN = "\ue634"; //
|
||||||
|
private const string LANG_NIM = "\ue677"; //
|
||||||
|
private const string LANG_OCAML = "\ue67a"; //
|
||||||
|
private const string LANG_PERL = "\ue67e"; //
|
||||||
|
private const string LANG_PHP = "\ue73d"; //
|
||||||
|
private const string LANG_PYTHON = "\ue606"; //
|
||||||
|
private const string LANG_R = "\ue68a"; //
|
||||||
|
private const string LANG_RUBY = "\ue21e"; //
|
||||||
|
private const string LANG_RUBYRAILS = "\ue73b"; //
|
||||||
|
private const string LANG_RUST = "\ue68b"; //
|
||||||
|
private const string LANG_SASS = "\ue603"; //
|
||||||
|
private const string LANG_STYLUS = "\ue600"; //
|
||||||
|
private const string LANG_TEX = "\ue69b"; //
|
||||||
|
private const string LANG_TYPESCRIPT = "\ue628"; //
|
||||||
|
private const string LANG_V = "\ue6ac"; //
|
||||||
|
private const string LIBRARY = "\ueb9c"; //
|
||||||
|
private const string LICENSE = "\uf02d"; //
|
||||||
|
private const string LOCK = "\uf023"; //
|
||||||
|
private const string MAKE = "\ue673"; //
|
||||||
|
private const string MARKDOWN = "\uf48a"; //
|
||||||
|
private const string MUSTACHE = "\ue60f"; //
|
||||||
|
private const string NODEJS = "\ue718"; //
|
||||||
|
private const string NPM = "\ue71e"; //
|
||||||
|
private const string OS_ANDROID = "\ue70e"; //
|
||||||
|
private const string OS_APPLE = "\uf179"; //
|
||||||
|
private const string OS_LINUX = "\uf17c"; //
|
||||||
|
private const string OS_WINDOWS = "\uf17a"; //
|
||||||
|
private const string OS_WINDOWS_CMD = "\uebc4"; //
|
||||||
|
private const string PLAYLIST = "\udb83\udcb9"; //
|
||||||
|
private const string POWERSHELL = "\uebc7"; //
|
||||||
|
private const string PRIVATE_KEY = "\udb80\udf06"; //
|
||||||
|
private const string PUBLIC_KEY = "\udb83\uddd6"; //
|
||||||
|
private const string RAZOR = "\uf1fa"; //
|
||||||
|
private const string REACT = "\ue7ba"; //
|
||||||
|
private const string README = "\udb80\udcba"; //
|
||||||
|
private const string SHEET = "\uf1c3"; //
|
||||||
|
private const string SHELL = "\udb84\udd83"; //
|
||||||
|
private const string SHELL_CMD = "\uf489"; //
|
||||||
|
private const string SHIELD_CHECK = "\udb81\udd65"; //
|
||||||
|
private const string SHIELD_KEY = "\udb82\udfc4"; //
|
||||||
|
private const string SHIELD_LOCK = "\udb82\udd9d"; //
|
||||||
|
private const string SIGNED_FILE = "\udb86\uddc3"; //
|
||||||
|
private const string SLIDE = "\uf1c4"; //
|
||||||
|
private const string SUBLIME = "\ue7aa"; //
|
||||||
|
private const string SUBTITLE = "\udb82\ude16"; //
|
||||||
|
private const string TERRAFORM = "\udb84\udc62"; //
|
||||||
|
private const string TEXT = "\uf15c"; //
|
||||||
|
//private const string TYPST = "\u1D42D"; // 𝐭
|
||||||
|
private const string UNITY = "\ue721"; //
|
||||||
|
private const string VECTOR = "\udb81\udd59"; //
|
||||||
|
private const string VIDEO = "\uf03d"; //
|
||||||
|
private const string VIM = "\ue7c5"; //
|
||||||
|
private const string WRENCH = "\uf0ad"; //
|
||||||
|
private const string XML = "\udb81\uddc0"; //
|
||||||
|
private const string YAML = "\ue6a8"; //
|
||||||
|
private const string YARN = "\ue6a7"; //
|
||||||
|
}
|
||||||
@@ -0,0 +1,678 @@
|
|||||||
|
namespace FileTime.ConsoleUI.App.Services;
|
||||||
|
|
||||||
|
public partial class NerdFontIconProvider
|
||||||
|
{
|
||||||
|
private Dictionary<string, string> _directoryIcons = new()
|
||||||
|
{
|
||||||
|
{".config" , FOLDER_CONFIG}, //
|
||||||
|
{".git" , FOLDER_GIT}, //
|
||||||
|
{".github" ,FOLDER_GITHUB}, //
|
||||||
|
{".npm" ,FOLDER_NPM}, //
|
||||||
|
{".ssh" ,FOLDER_KEY}, //
|
||||||
|
{".Trash" , "\uf1f8"}, //
|
||||||
|
{"config" , FOLDER_CONFIG}, //
|
||||||
|
{"Contacts" , "\udb80\ude4c"}, //
|
||||||
|
{"cron.d" , FOLDER_CONFIG}, //
|
||||||
|
{"cron.daily" , FOLDER_CONFIG}, //
|
||||||
|
{"cron.hourly" , FOLDER_CONFIG}, //
|
||||||
|
{"cron.monthly" , FOLDER_CONFIG}, //
|
||||||
|
{"cron.weekly" , FOLDER_CONFIG}, //
|
||||||
|
{"Desktop" , "\uf108"}, //
|
||||||
|
{"Downloads" , "\udb80\ude4d"}, //
|
||||||
|
{"etc" , FOLDER_CONFIG}, //
|
||||||
|
{"Favorites" , "\udb81\ude9d"}, //
|
||||||
|
{"hidden" ,FOLDER_HIDDEN}, //
|
||||||
|
{"home" , "\udb84\udcb5"}, //
|
||||||
|
{"include" , FOLDER_CONFIG}, //
|
||||||
|
{"Mail" , "\udb80\uddf0"}, //
|
||||||
|
{"Movies" , "\udb83\udfce"}, //
|
||||||
|
{"Music" , "\udb84\udf59"}, //
|
||||||
|
{"node_modules" ,FOLDER_NPM}, //
|
||||||
|
{"npm_cache" ,FOLDER_NPM}, //
|
||||||
|
{"pam.d" ,FOLDER_KEY}, //
|
||||||
|
{"Pictures" , "\udb80\ude4f"}, //
|
||||||
|
{"ssh" ,FOLDER_KEY}, //
|
||||||
|
{"sudoers.d" ,FOLDER_KEY}, //
|
||||||
|
{"Videos" , "\uf03d"}, //
|
||||||
|
{"xbps.d" , FOLDER_CONFIG}, //
|
||||||
|
{"xorg.conf.d" , FOLDER_CONFIG}, //
|
||||||
|
{"hi" ,BINARY}, //
|
||||||
|
{"cabal" ,LANG_HASKELL}, //
|
||||||
|
};
|
||||||
|
|
||||||
|
private Dictionary<string, string> _fileNameIcons = new()
|
||||||
|
{
|
||||||
|
{".atom" ,"\ue764"}, //
|
||||||
|
{".bashrc" ,SHELL}, //
|
||||||
|
{".bash_history" ,SHELL}, //
|
||||||
|
{".bash_logout" ,SHELL}, //
|
||||||
|
{".bash_profile" ,SHELL}, //
|
||||||
|
{".CFUserTextEncoding" ,OS_APPLE}, //
|
||||||
|
{".clang-format" ,CONFIG}, //
|
||||||
|
{".cshrc" ,SHELL}, //
|
||||||
|
{".DS_Store" ,OS_APPLE}, //
|
||||||
|
{".emacs" ,EMACS}, //
|
||||||
|
{".eslintrc.cjs" ,ESLINT}, //
|
||||||
|
{".eslintrc.js" ,ESLINT}, //
|
||||||
|
{".eslintrc.json" ,ESLINT}, //
|
||||||
|
{".eslintrc.yaml" ,ESLINT}, //
|
||||||
|
{".eslintrc.yml" ,ESLINT}, //
|
||||||
|
{".gitattributes" ,GIT}, //
|
||||||
|
{".gitconfig" ,GIT}, //
|
||||||
|
{".gitignore" ,GIT}, //
|
||||||
|
{".gitignore_global" ,GIT}, //
|
||||||
|
{".gitlab-ci.yml" ,"\uf296"}, //
|
||||||
|
{".gitmodules" ,GIT}, //
|
||||||
|
{".htaccess" ,CONFIG}, //
|
||||||
|
{".htpasswd" ,CONFIG}, //
|
||||||
|
{".idea" ,INTELLIJ}, //
|
||||||
|
{".ideavimrc" ,VIM}, //
|
||||||
|
{".inputrc" ,CONFIG}, //
|
||||||
|
{".kshrc" ,SHELL}, //
|
||||||
|
{".login" ,SHELL}, //
|
||||||
|
{".logout" ,SHELL}, //
|
||||||
|
{".mailmap" ,GIT}, //
|
||||||
|
{".node_repl_history" ,NODEJS}, //
|
||||||
|
{".npmignore" ,NPM}, //
|
||||||
|
{".npmrc" ,NPM}, //
|
||||||
|
{".profile" ,SHELL}, //
|
||||||
|
{".python_history" ,LANG_PYTHON}, //
|
||||||
|
{".rustfmt.toml" ,LANG_RUST}, //
|
||||||
|
{".rvm" ,LANG_RUBY}, //
|
||||||
|
{".rvmrc" ,LANG_RUBY}, //
|
||||||
|
{".tcshrc" ,SHELL}, //
|
||||||
|
{".viminfo" ,VIM}, //
|
||||||
|
{".vimrc" ,VIM}, //
|
||||||
|
{".Xauthority" ,CONFIG}, //
|
||||||
|
{".xinitrc" ,CONFIG}, //
|
||||||
|
{".Xresources" ,CONFIG}, //
|
||||||
|
{".yarnrc" ,YARN}, //
|
||||||
|
{".zlogin" ,SHELL}, //
|
||||||
|
{".zlogout" ,SHELL}, //
|
||||||
|
{".zprofile" ,SHELL}, //
|
||||||
|
{".zshenv" ,SHELL}, //
|
||||||
|
{".zshrc" ,SHELL}, //
|
||||||
|
{".zsh_history" ,SHELL}, //
|
||||||
|
{".zsh_sessions" ,SHELL}, //
|
||||||
|
{"._DS_Store" ,OS_APPLE}, //
|
||||||
|
{"a.out" ,SHELL_CMD}, //
|
||||||
|
{"authorized_keys" ,"\udb82\udcc0"}, //
|
||||||
|
{"bashrc" ,SHELL}, //
|
||||||
|
{"bspwmrc" ,CONFIG}, //
|
||||||
|
{"build.gradle.kts" ,GRADLE}, //
|
||||||
|
{"Cargo.lock" ,LANG_RUST}, //
|
||||||
|
{"Cargo.toml" ,LANG_RUST}, //
|
||||||
|
{"CMakeLists.txt" ,MAKE}, //
|
||||||
|
{"composer.json" ,LANG_PHP}, //
|
||||||
|
{"composer.lock" ,LANG_PHP}, //
|
||||||
|
{"config" ,CONFIG}, //
|
||||||
|
{"config.status" ,CONFIG}, //
|
||||||
|
{"configure" ,WRENCH}, //
|
||||||
|
{"configure.ac" ,CONFIG}, //
|
||||||
|
{"configure.in" ,CONFIG}, //
|
||||||
|
{"constraints.txt" ,LANG_PYTHON}, //
|
||||||
|
{"COPYING" ,LICENSE}, //
|
||||||
|
{"COPYRIGHT" ,LICENSE}, //
|
||||||
|
{"crontab" ,CONFIG}, //
|
||||||
|
{"crypttab" ,CONFIG}, //
|
||||||
|
{"csh.cshrc" ,SHELL}, //
|
||||||
|
{"csh.login" ,SHELL}, //
|
||||||
|
{"csh.logout" ,SHELL}, //
|
||||||
|
{"docker-compose.yml" ,DOCKER}, //
|
||||||
|
{"Dockerfile" ,DOCKER}, //
|
||||||
|
{"compose.yaml" ,DOCKER}, //
|
||||||
|
{"compose.yml" ,DOCKER}, //
|
||||||
|
{"docker-compose.yaml" ,DOCKER}, //
|
||||||
|
{"dune" ,LANG_OCAML}, //
|
||||||
|
{"dune-project" ,WRENCH}, //
|
||||||
|
{"Earthfile" ,"\uf0ac"}, //
|
||||||
|
{"environment" ,CONFIG}, //
|
||||||
|
{"GNUmakefile" ,MAKE}, //
|
||||||
|
{"go.mod" ,LANG_GO}, //
|
||||||
|
{"go.sum" ,LANG_GO}, //
|
||||||
|
{"go.work" ,LANG_GO}, //
|
||||||
|
{"gradle" ,GRADLE}, //
|
||||||
|
{"gradle.properties" ,GRADLE}, //
|
||||||
|
{"gradlew" ,GRADLE}, //
|
||||||
|
{"gradlew.bat" ,GRADLE}, //
|
||||||
|
{"group" ,LOCK}, //
|
||||||
|
{"gruntfile.coffee" ,GRUNT}, //
|
||||||
|
{"gruntfile.js" ,GRUNT}, //
|
||||||
|
{"gruntfile.ls" ,GRUNT}, //
|
||||||
|
{"gshadow" ,LOCK}, //
|
||||||
|
{"gulpfile.coffee" ,GULP}, //
|
||||||
|
{"gulpfile.js" ,GULP}, //
|
||||||
|
{"gulpfile.ls" ,GULP}, //
|
||||||
|
{"heroku.yml" ,"\ue77b"}, //
|
||||||
|
{"hostname" ,CONFIG}, //
|
||||||
|
{"id_dsa" ,PRIVATE_KEY}, //
|
||||||
|
{"id_ecdsa" ,PRIVATE_KEY}, //
|
||||||
|
{"id_ecdsa_sk" ,PRIVATE_KEY}, //
|
||||||
|
{"id_ed25519" ,PRIVATE_KEY}, //
|
||||||
|
{"id_ed25519_sk" ,PRIVATE_KEY}, //
|
||||||
|
{"id_rsa" ,PRIVATE_KEY}, //
|
||||||
|
{"inputrc" ,CONFIG}, //
|
||||||
|
{"Jenkinsfile" ,"\ue66e"}, //
|
||||||
|
{"jsconfig.json" ,LANG_JAVASCRIPT},//
|
||||||
|
{"Justfile" ,WRENCH}, //
|
||||||
|
{"known_hosts" ,"\udb82\udcc0"}, //
|
||||||
|
{"LICENCE" ,LICENSE}, //
|
||||||
|
{"LICENCE.md" ,LICENSE}, //
|
||||||
|
{"LICENCE.txt" ,LICENSE}, //
|
||||||
|
{"LICENSE" ,LICENSE}, //
|
||||||
|
{"LICENSE-APACHE" ,LICENSE}, //
|
||||||
|
{"LICENSE-MIT" ,LICENSE}, //
|
||||||
|
{"LICENSE.md" ,LICENSE}, //
|
||||||
|
{"LICENSE.txt" ,LICENSE}, //
|
||||||
|
{"localized" ,OS_APPLE}, //
|
||||||
|
{"localtime" ,CLOCK}, //
|
||||||
|
{"Makefile" ,MAKE}, //
|
||||||
|
{"makefile" ,MAKE}, //
|
||||||
|
{"Makefile.ac" ,MAKE}, //
|
||||||
|
{"Makefile.am" ,MAKE}, //
|
||||||
|
{"Makefile.in" ,MAKE}, //
|
||||||
|
{"MANIFEST" ,LANG_PYTHON}, //
|
||||||
|
{"MANIFEST.in" ,LANG_PYTHON}, //
|
||||||
|
{"npm-shrinkwrap.json" ,NPM}, //
|
||||||
|
{"npmrc" ,NPM}, //
|
||||||
|
{"package-lock.json" ,NPM}, //
|
||||||
|
{"package.json" ,NPM}, //
|
||||||
|
{"passwd" ,LOCK}, //
|
||||||
|
{"php.ini" ,LANG_PHP}, //
|
||||||
|
{"PKGBUILD" ,"\uf303"}, //
|
||||||
|
{"platformio.ini" ,"\ue682"}, //
|
||||||
|
{"pom.xml" ,"\ue674"}, //
|
||||||
|
{"Procfile" ,"\ue77b"}, //
|
||||||
|
{"profile" ,SHELL}, //
|
||||||
|
{"pyproject.toml" ,LANG_PYTHON}, //
|
||||||
|
{"Rakefile" ,LANG_RUBY}, //
|
||||||
|
{"README" ,README}, //
|
||||||
|
{"release.toml" ,LANG_RUST}, //
|
||||||
|
{"requirements.txt" ,LANG_PYTHON}, //
|
||||||
|
{"robots.txt" ,"\udb81\udea9"}, //
|
||||||
|
{"rubydoc" ,LANG_RUBYRAILS}, //
|
||||||
|
{"rvmrc" ,LANG_RUBY}, //
|
||||||
|
{"settings.gradle.kts" ,GRADLE}, //
|
||||||
|
{"shadow" ,LOCK}, //
|
||||||
|
{"shells" ,CONFIG}, //
|
||||||
|
{"sudoers" ,LOCK}, //
|
||||||
|
{"timezone" ,CLOCK}, //
|
||||||
|
{"tsconfig.json" ,LANG_TYPESCRIPT},//
|
||||||
|
{"Vagrantfile" ,"\u2371"}, // ⍱
|
||||||
|
{"webpack.config.js" ,"\udb81\udf2b"}, //
|
||||||
|
{"yarn.lock" ,YARN}, //
|
||||||
|
{"zlogin" ,SHELL}, //
|
||||||
|
{"zlogout" ,SHELL}, //
|
||||||
|
{"zprofile" ,SHELL}, //
|
||||||
|
{"zshenv" ,SHELL}, //
|
||||||
|
{"zshrc" ,SHELL}, //
|
||||||
|
};
|
||||||
|
|
||||||
|
private Dictionary<string, string> _fileExtensionIcons = new()
|
||||||
|
{
|
||||||
|
{"3mf" ,FILE_3D}, //
|
||||||
|
{"7z" ,COMPRESSED}, //
|
||||||
|
{"a" ,OS_LINUX}, //
|
||||||
|
{"acc" ,AUDIO}, //
|
||||||
|
{"acf" ,"\uf1b6"}, //
|
||||||
|
{"age" ,SHIELD_LOCK}, //
|
||||||
|
{"ai" ,"\ue7b4"}, //
|
||||||
|
{"aif" ,AUDIO}, //
|
||||||
|
{"aifc" ,AUDIO}, //
|
||||||
|
{"aiff" ,AUDIO}, //
|
||||||
|
{"alac" ,AUDIO}, //
|
||||||
|
{"android" ,OS_ANDROID}, //
|
||||||
|
{"ape" ,AUDIO}, //
|
||||||
|
{"apk" ,OS_ANDROID}, //
|
||||||
|
{"apple" ,OS_APPLE}, //
|
||||||
|
{"ar" ,COMPRESSED}, //
|
||||||
|
{"arj" ,COMPRESSED}, //
|
||||||
|
{"arw" ,IMAGE}, //
|
||||||
|
{"asc" ,SHIELD_LOCK}, //
|
||||||
|
{"asm" ,LANG_ASSEMBLY}, //
|
||||||
|
{"asp" ,"\uf121"}, //
|
||||||
|
{"avi" ,VIDEO}, //
|
||||||
|
{"avif" ,IMAGE}, //
|
||||||
|
{"avro" ,JSON}, //
|
||||||
|
{"awk" ,SHELL_CMD}, //
|
||||||
|
{"bash" ,SHELL_CMD}, //
|
||||||
|
{"bat" ,OS_WINDOWS_CMD}, //
|
||||||
|
{"bats" ,SHELL_CMD}, //
|
||||||
|
{"bdf" ,FONT}, //
|
||||||
|
{"bib" ,LANG_TEX}, //
|
||||||
|
{"bin" ,BINARY}, //
|
||||||
|
{"blend" ,"\udb80\udcab"}, //
|
||||||
|
{"bmp" ,IMAGE}, //
|
||||||
|
{"br" ,COMPRESSED}, //
|
||||||
|
{"bst" ,LANG_TEX}, //
|
||||||
|
{"bundle" ,OS_APPLE}, //
|
||||||
|
{"bz" ,COMPRESSED}, //
|
||||||
|
{"bz2" ,COMPRESSED}, //
|
||||||
|
{"bz3" ,COMPRESSED}, //
|
||||||
|
{"c" ,LANG_C}, //
|
||||||
|
{"c++" ,LANG_CPP}, //
|
||||||
|
{"cab" ,OS_WINDOWS}, //
|
||||||
|
{"cbr" ,IMAGE}, //
|
||||||
|
{"cbz" ,IMAGE}, //
|
||||||
|
{"cc" ,LANG_CPP}, //
|
||||||
|
{"cert" ,GIST_SECRET}, //
|
||||||
|
{"cfg" ,CONFIG}, //
|
||||||
|
{"cjs" ,LANG_JAVASCRIPT}, //
|
||||||
|
{"class" ,LANG_JAVA}, //
|
||||||
|
{"clj" ,"\ue768"}, //
|
||||||
|
{"cljs" ,"\ue76a"}, //
|
||||||
|
{"cls" ,LANG_TEX}, //
|
||||||
|
{"cmake" ,MAKE}, //
|
||||||
|
{"cmd" ,OS_WINDOWS}, //
|
||||||
|
{"coffee" ,"\uf0f4"}, //
|
||||||
|
{"com" ,OS_WINDOWS_CMD}, //
|
||||||
|
{"conf" ,CONFIG}, //
|
||||||
|
{"config" ,CONFIG}, //
|
||||||
|
{"cp" ,LANG_CPP}, //
|
||||||
|
{"cpio" ,COMPRESSED}, //
|
||||||
|
{"cpp" ,LANG_CPP}, //
|
||||||
|
{"cr" ,"\ue62f"}, //
|
||||||
|
{"cr2" ,IMAGE}, //
|
||||||
|
{"crdownload" ,DOWNLOAD}, //
|
||||||
|
{"crt" ,GIST_SECRET}, //
|
||||||
|
{"cs" ,LANG_CSHARP}, //
|
||||||
|
{"csh" ,SHELL_CMD}, //
|
||||||
|
{"cshtml" ,RAZOR}, //
|
||||||
|
{"csproj" ,LANG_CSHARP}, //
|
||||||
|
{"css" ,CSS3}, //
|
||||||
|
{"csv" ,SHEET}, //
|
||||||
|
{"csx" ,LANG_CSHARP}, //
|
||||||
|
{"cts" ,LANG_TYPESCRIPT}, //
|
||||||
|
{"cu" ,"\ue64b"}, //
|
||||||
|
{"cue" ,PLAYLIST}, //
|
||||||
|
{"cxx" ,LANG_CPP}, //
|
||||||
|
{"d" ,LANG_D}, //
|
||||||
|
{"dart" ,"\ue798"}, //
|
||||||
|
{"db" ,DATABASE}, //
|
||||||
|
{"deb" ,"\ue77d"}, //
|
||||||
|
{"desktop" ,"\uebd1"}, //
|
||||||
|
{"di" ,LANG_D}, //
|
||||||
|
{"diff" ,DIFF}, //
|
||||||
|
{"djv" ,DOCUMENT}, //
|
||||||
|
{"djvu" ,DOCUMENT}, //
|
||||||
|
{"dll" ,LIBRARY}, //
|
||||||
|
{"dmg" ,DISK_IMAGE}, //
|
||||||
|
{"doc" ,DOCUMENT}, //
|
||||||
|
{"docx" ,DOCUMENT}, //
|
||||||
|
{"dot" ,"\udb84\udc49"}, //
|
||||||
|
{"download" ,DOWNLOAD}, //
|
||||||
|
{"dockerfile" ,DOCKER}, //
|
||||||
|
{"dockerignore" ,DOCKER}, //
|
||||||
|
{"drawio" ,"\uebba"}, //
|
||||||
|
{"dump" ,DATABASE}, //
|
||||||
|
{"dvi" ,IMAGE}, //
|
||||||
|
{"dylib" ,OS_APPLE}, //
|
||||||
|
{"ebook" ,BOOK}, //
|
||||||
|
{"ebuild" ,"\uf30d"}, //
|
||||||
|
{"editorconfig" ,CONFIG}, //
|
||||||
|
{"ejs" ,"\ue618"}, //
|
||||||
|
{"el" ,EMACS}, //
|
||||||
|
{"elc" ,EMACS}, //
|
||||||
|
{"elf" ,BINARY}, //
|
||||||
|
{"elm" ,"\ue62c"}, //
|
||||||
|
{"eml" ,"\uf003"}, //
|
||||||
|
{"env" ,"\uf462"}, //
|
||||||
|
{"eot" ,FONT}, //
|
||||||
|
{"eps" ,VECTOR}, //
|
||||||
|
{"epub" ,BOOK}, //
|
||||||
|
{"erb" ,LANG_RUBYRAILS}, //
|
||||||
|
{"erl" ,"\ue7b1"}, //
|
||||||
|
{"ex" ,LANG_ELIXIR}, //
|
||||||
|
{"exe" ,OS_WINDOWS_CMD}, //
|
||||||
|
{"exs" ,LANG_ELIXIR}, //
|
||||||
|
{"f" ,LANG_FORTRAN}, //
|
||||||
|
{"f90" ,LANG_FORTRAN}, //
|
||||||
|
{"fbx" ,FILE_3D}, //
|
||||||
|
{"fdmdownload" ,DOWNLOAD}, //
|
||||||
|
{"fish" ,SHELL_CMD}, //
|
||||||
|
{"flac" ,AUDIO}, //
|
||||||
|
{"flv" ,VIDEO}, //
|
||||||
|
{"fnt" ,FONT}, //
|
||||||
|
{"fodg" ,VECTOR}, //
|
||||||
|
{"fodp" ,SLIDE}, //
|
||||||
|
{"fods" ,SHEET}, //
|
||||||
|
{"fodt" ,DOCUMENT}, //
|
||||||
|
{"fon" ,FONT}, //
|
||||||
|
{"font" ,FONT}, //
|
||||||
|
{"for" ,LANG_FORTRAN}, //
|
||||||
|
{"fs" ,LANG_FSHARP}, //
|
||||||
|
{"fsi" ,LANG_FSHARP}, //
|
||||||
|
{"fsproj" ,LANG_FSHARP}, //
|
||||||
|
{"fsx" ,LANG_FSHARP}, //
|
||||||
|
{"gcode" ,"\udb82\udef4"}, //
|
||||||
|
{"gd" ,GODOT}, //
|
||||||
|
{"gdoc" ,DOCUMENT}, //
|
||||||
|
{"gem" ,LANG_RUBY}, //
|
||||||
|
{"gemfile" ,LANG_RUBY}, //
|
||||||
|
{"gemspec" ,LANG_RUBY}, //
|
||||||
|
{"gform" ,"\uf298"}, //
|
||||||
|
{"gif" ,IMAGE}, //
|
||||||
|
{"git" ,GIT}, //
|
||||||
|
{"go" ,LANG_GO}, //
|
||||||
|
{"godot" ,GODOT}, //
|
||||||
|
{"gpg" ,SHIELD_LOCK}, //
|
||||||
|
{"gql" ,GRAPHQL}, //
|
||||||
|
{"gradle" ,GRADLE}, //
|
||||||
|
{"graphql" ,GRAPHQL}, //
|
||||||
|
{"groovy" ,LANG_GROOVY}, //
|
||||||
|
{"gsheet" ,SHEET}, //
|
||||||
|
{"gslides" ,SLIDE}, //
|
||||||
|
{"guardfile" ,LANG_RUBY}, //
|
||||||
|
{"gv" ,"\udb84\udc49"}, //
|
||||||
|
{"gvy" ,LANG_GROOVY}, //
|
||||||
|
{"gz" ,COMPRESSED}, //
|
||||||
|
{"h" ,LANG_C}, //
|
||||||
|
{"h++" ,LANG_CPP}, //
|
||||||
|
{"h264" ,VIDEO}, //
|
||||||
|
{"haml" ,"\ue664"}, //
|
||||||
|
{"hbs" ,MUSTACHE}, //
|
||||||
|
{"heic" ,IMAGE}, //
|
||||||
|
{"heics" ,VIDEO}, //
|
||||||
|
{"heif" ,IMAGE}, //
|
||||||
|
{"hex" ,"\udb84\udea7"}, //
|
||||||
|
{"hh" ,LANG_CPP}, //
|
||||||
|
{"hpp" ,LANG_CPP}, //
|
||||||
|
{"hs" ,LANG_HASKELL}, //
|
||||||
|
{"htm" ,HTML5}, //
|
||||||
|
{"html" ,HTML5}, //
|
||||||
|
{"hxx" ,LANG_CPP}, //
|
||||||
|
{"ical" ,CALENDAR}, //
|
||||||
|
{"icalendar" ,CALENDAR}, //
|
||||||
|
{"ico" ,IMAGE}, //
|
||||||
|
{"ics" ,CALENDAR}, //
|
||||||
|
{"ifb" ,CALENDAR}, //
|
||||||
|
{"image" ,DISK_IMAGE}, //
|
||||||
|
{"img" ,DISK_IMAGE}, //
|
||||||
|
{"iml" ,INTELLIJ}, //
|
||||||
|
{"ini" ,CONFIG}, //
|
||||||
|
{"inl" ,LANG_C}, //
|
||||||
|
{"ipynb" ,"\ue678"}, //
|
||||||
|
{"iso" ,DISK_IMAGE}, //
|
||||||
|
{"j2c" ,IMAGE}, //
|
||||||
|
{"j2k" ,IMAGE}, //
|
||||||
|
{"jad" ,LANG_JAVA}, //
|
||||||
|
{"jar" ,LANG_JAVA}, //
|
||||||
|
{"java" ,LANG_JAVA}, //
|
||||||
|
{"jfi" ,IMAGE}, //
|
||||||
|
{"jfif" ,IMAGE}, //
|
||||||
|
{"jif" ,IMAGE}, //
|
||||||
|
{"jl" ,"\ue624"}, //
|
||||||
|
{"jmd" ,MARKDOWN}, //
|
||||||
|
{"jp2" ,IMAGE}, //
|
||||||
|
{"jpe" ,IMAGE}, //
|
||||||
|
{"jpeg" ,IMAGE}, //
|
||||||
|
{"jpf" ,IMAGE}, //
|
||||||
|
{"jpg" ,IMAGE}, //
|
||||||
|
{"jpx" ,IMAGE}, //
|
||||||
|
{"js" ,LANG_JAVASCRIPT}, //
|
||||||
|
{"json" ,JSON}, //
|
||||||
|
{"jsx" ,REACT}, //
|
||||||
|
{"jxl" ,IMAGE}, //
|
||||||
|
{"kbx" ,SHIELD_KEY}, //
|
||||||
|
{"kdb" ,KEYPASS}, //
|
||||||
|
{"kdbx" ,KEYPASS}, //
|
||||||
|
{"key" ,KEY}, //
|
||||||
|
{"ko" ,OS_LINUX}, //
|
||||||
|
{"ksh" ,SHELL_CMD}, //
|
||||||
|
{"kt" ,LANG_KOTLIN}, //
|
||||||
|
{"kts" ,LANG_KOTLIN}, //
|
||||||
|
{"latex" ,LANG_TEX}, //
|
||||||
|
{"ldb" ,DATABASE}, //
|
||||||
|
{"less" ,"\ue758"}, //
|
||||||
|
{"lhs" ,LANG_HASKELL}, //
|
||||||
|
{"lib" ,LIBRARY}, //
|
||||||
|
{"license" ,LICENSE}, //
|
||||||
|
{"lisp" ,"\udb80\udd72"}, //
|
||||||
|
{"localized" ,OS_APPLE}, //
|
||||||
|
{"lock" ,LOCK}, //
|
||||||
|
{"log" ,"\uf18d"}, //
|
||||||
|
{"ltx" ,LANG_TEX}, //
|
||||||
|
{"lua" ,"\ue620"}, //
|
||||||
|
{"lz" ,COMPRESSED}, //
|
||||||
|
{"lz4" ,COMPRESSED}, //
|
||||||
|
{"lzh" ,COMPRESSED}, //
|
||||||
|
{"lzma" ,COMPRESSED}, //
|
||||||
|
{"lzo" ,COMPRESSED}, //
|
||||||
|
{"m" ,LANG_C}, //
|
||||||
|
{"m2ts" ,VIDEO}, //
|
||||||
|
{"m2v" ,VIDEO}, //
|
||||||
|
{"m3u" ,PLAYLIST}, //
|
||||||
|
{"m3u8" ,PLAYLIST}, //
|
||||||
|
{"m4a" ,AUDIO}, //
|
||||||
|
{"m4v" ,VIDEO}, //
|
||||||
|
{"magnet" ,"\uf076"}, //
|
||||||
|
{"markdown" ,MARKDOWN}, //
|
||||||
|
{"md" ,MARKDOWN}, //
|
||||||
|
{"md5" ,SHIELD_CHECK}, //
|
||||||
|
{"mdb" ,DATABASE}, //
|
||||||
|
{"mid" ,"\udb82\udcf2"}, //
|
||||||
|
{"mjs" ,LANG_JAVASCRIPT}, //
|
||||||
|
{"mk" ,MAKE}, //
|
||||||
|
{"mka" ,AUDIO}, //
|
||||||
|
{"mkd" ,MARKDOWN}, //
|
||||||
|
{"mkv" ,VIDEO}, //
|
||||||
|
{"ml" ,LANG_OCAML}, //
|
||||||
|
{"mli" ,LANG_OCAML}, //
|
||||||
|
{"mll" ,LANG_OCAML}, //
|
||||||
|
{"mly" ,LANG_OCAML}, //
|
||||||
|
{"mm" ,LANG_CPP}, //
|
||||||
|
{"mobi" ,BOOK}, //
|
||||||
|
{"mov" ,VIDEO}, //
|
||||||
|
{"mp2" ,AUDIO}, //
|
||||||
|
{"mp3" ,AUDIO}, //
|
||||||
|
{"mp4" ,VIDEO}, //
|
||||||
|
{"mpeg" ,VIDEO}, //
|
||||||
|
{"mpg" ,VIDEO}, //
|
||||||
|
{"msi" ,OS_WINDOWS}, //
|
||||||
|
{"mts" ,LANG_TYPESCRIPT}, //
|
||||||
|
{"mustache" ,MUSTACHE}, //
|
||||||
|
{"nef" ,IMAGE}, //
|
||||||
|
{"nim" ,LANG_NIM}, //
|
||||||
|
{"nimble" ,LANG_NIM}, //
|
||||||
|
{"nims" ,LANG_NIM}, //
|
||||||
|
{"ninja" ,"\udb81\udf74"}, //
|
||||||
|
{"nix" ,"\uf313"}, //
|
||||||
|
{"node" ,NODEJS}, //
|
||||||
|
{"o" ,BINARY}, //
|
||||||
|
{"obj" ,FILE_3D}, //
|
||||||
|
{"odf" ,"\udb81\udf84"}, //
|
||||||
|
{"odg" ,VECTOR}, //
|
||||||
|
{"odp" ,SLIDE}, //
|
||||||
|
{"ods" ,SHEET}, //
|
||||||
|
{"odt" ,DOCUMENT}, //
|
||||||
|
{"ogg" ,AUDIO}, //
|
||||||
|
{"ogm" ,VIDEO}, //
|
||||||
|
{"ogv" ,VIDEO}, //
|
||||||
|
{"opus" ,AUDIO}, //
|
||||||
|
{"orf" ,IMAGE}, //
|
||||||
|
{"org" ,"\ue633"}, //
|
||||||
|
{"otf" ,FONT}, //
|
||||||
|
{"out" ,"\ueb2c"}, //
|
||||||
|
{"p12" ,KEY}, //
|
||||||
|
{"par" ,COMPRESSED}, //
|
||||||
|
{"part" ,DOWNLOAD}, //
|
||||||
|
{"patch" ,DIFF}, //
|
||||||
|
{"pbm" ,IMAGE}, //
|
||||||
|
{"pcm" ,AUDIO}, //
|
||||||
|
{"pdf" ,"\uf1c1"}, //
|
||||||
|
{"pem" ,KEY}, //
|
||||||
|
{"pfx" ,KEY}, //
|
||||||
|
{"pgm" ,IMAGE}, //
|
||||||
|
{"phar" ,LANG_PHP}, //
|
||||||
|
{"php" ,LANG_PHP}, //
|
||||||
|
{"pkg" ,"\ueb29"}, //
|
||||||
|
{"pl" ,LANG_PERL}, //
|
||||||
|
{"plist" ,OS_APPLE}, //
|
||||||
|
{"plx" ,LANG_PERL}, //
|
||||||
|
{"ply" ,FILE_3D}, //
|
||||||
|
{"pm" ,LANG_PERL}, //
|
||||||
|
{"png" ,IMAGE}, //
|
||||||
|
{"pnm" ,IMAGE}, //
|
||||||
|
{"pod" ,LANG_PERL}, //
|
||||||
|
{"pp" ,"\ue631"}, //
|
||||||
|
{"ppm" ,IMAGE}, //
|
||||||
|
{"pps" ,SLIDE}, //
|
||||||
|
{"ppsx" ,SLIDE}, //
|
||||||
|
{"ppt" ,SLIDE}, //
|
||||||
|
{"pptx" ,SLIDE}, //
|
||||||
|
{"properties" ,JSON}, //
|
||||||
|
{"prql" ,DATABASE}, //
|
||||||
|
{"ps" ,VECTOR}, //
|
||||||
|
{"ps1" ,POWERSHELL}, //
|
||||||
|
{"psd" ,"\ue7b8"}, //
|
||||||
|
{"psd1" ,POWERSHELL}, //
|
||||||
|
{"psf" ,FONT}, //
|
||||||
|
{"psm1" ,POWERSHELL}, //
|
||||||
|
{"pub" ,PUBLIC_KEY}, //
|
||||||
|
{"purs" ,"\ue630"}, //
|
||||||
|
{"pxm" ,IMAGE}, //
|
||||||
|
{"py" ,LANG_PYTHON}, //
|
||||||
|
{"pyc" ,LANG_PYTHON}, //
|
||||||
|
{"pyd" ,LANG_PYTHON}, //
|
||||||
|
{"pyi" ,LANG_PYTHON}, //
|
||||||
|
{"pyo" ,LANG_PYTHON}, //
|
||||||
|
{"qcow" ,DISK_IMAGE}, //
|
||||||
|
{"qcow2" ,DISK_IMAGE}, //
|
||||||
|
{"r" ,LANG_R}, //
|
||||||
|
{"rar" ,COMPRESSED}, //
|
||||||
|
{"raw" ,IMAGE}, //
|
||||||
|
{"razor" ,RAZOR}, //
|
||||||
|
{"rb" ,LANG_RUBY}, //
|
||||||
|
{"rdata" ,LANG_R}, //
|
||||||
|
{"rdb" ,"\ue76d"}, //
|
||||||
|
{"rdoc" ,MARKDOWN}, //
|
||||||
|
{"rds" ,LANG_R}, //
|
||||||
|
{"readme" ,README}, //
|
||||||
|
{"rlib" ,LANG_RUST}, //
|
||||||
|
{"rmd" ,MARKDOWN}, //
|
||||||
|
{"rmeta" ,LANG_RUST}, //
|
||||||
|
{"rpm" ,"\ue7bb"}, //
|
||||||
|
{"rs" ,LANG_RUST}, //
|
||||||
|
{"rspec" ,LANG_RUBY}, //
|
||||||
|
{"rspec_parallel" ,LANG_RUBY}, //
|
||||||
|
{"rspec_status" ,LANG_RUBY}, //
|
||||||
|
{"rss" ,"\uf09e"}, //
|
||||||
|
{"rst" ,TEXT}, //
|
||||||
|
{"rtf" ,TEXT}, //
|
||||||
|
{"ru" ,LANG_RUBY}, //
|
||||||
|
{"rubydoc" ,LANG_RUBYRAILS}, //
|
||||||
|
{"s" ,LANG_ASSEMBLY}, //
|
||||||
|
{"sal" ,"\udb85\udc7b"}, //
|
||||||
|
{"sass" ,LANG_SASS}, //
|
||||||
|
{"sbt" ,SUBTITLE}, //
|
||||||
|
{"scala" ,"\ue737"}, //
|
||||||
|
{"scss" ,LANG_SASS}, //
|
||||||
|
{"service" ,"\ueba2"}, //
|
||||||
|
{"sh" ,SHELL_CMD}, //
|
||||||
|
{"sha1" ,SHIELD_CHECK}, //
|
||||||
|
{"sha224" ,SHIELD_CHECK}, //
|
||||||
|
{"sha256" ,SHIELD_CHECK}, //
|
||||||
|
{"sha384" ,SHIELD_CHECK}, //
|
||||||
|
{"sha512" ,SHIELD_CHECK}, //
|
||||||
|
{"shell" ,SHELL_CMD}, //
|
||||||
|
{"shtml" ,HTML5}, //
|
||||||
|
{"sig" ,SIGNED_FILE}, //
|
||||||
|
{"signature" ,SIGNED_FILE}, //
|
||||||
|
{"slim" ,LANG_RUBYRAILS}, //
|
||||||
|
{"sln" ,"\ue70c"}, //
|
||||||
|
{"so" ,OS_LINUX}, //
|
||||||
|
{"sql" ,DATABASE}, //
|
||||||
|
{"sqlite3" ,"\ue7c4"}, //
|
||||||
|
{"sr" ,"\udb85\udc7b"}, //
|
||||||
|
{"srt" ,SUBTITLE}, //
|
||||||
|
{"ssa" ,SUBTITLE}, //
|
||||||
|
{"stl" ,FILE_3D}, //
|
||||||
|
{"sty" ,LANG_TEX}, //
|
||||||
|
{"styl" ,LANG_STYLUS}, //
|
||||||
|
{"stylus" ,LANG_STYLUS}, //
|
||||||
|
{"sub" ,SUBTITLE}, //
|
||||||
|
{"sublime-build" ,SUBLIME}, //
|
||||||
|
{"sublime-keymap" ,SUBLIME}, //
|
||||||
|
{"sublime-menu" ,SUBLIME}, //
|
||||||
|
{"sublime-options",SUBLIME}, //
|
||||||
|
{"sublime-package",SUBLIME}, //
|
||||||
|
{"sublime-project",SUBLIME}, //
|
||||||
|
{"sublime-session",SUBLIME}, //
|
||||||
|
{"sublime-settings",SUBLIME}, //
|
||||||
|
{"sublime-snippet",SUBLIME}, //
|
||||||
|
{"sublime-theme" ,SUBLIME}, //
|
||||||
|
{"svelte" ,"\ue697"}, //
|
||||||
|
{"svg" ,VECTOR}, //
|
||||||
|
{"swift" ,"\ue755"}, //
|
||||||
|
{"t" ,LANG_PERL}, //
|
||||||
|
{"tar" ,COMPRESSED}, //
|
||||||
|
{"taz" ,COMPRESSED}, //
|
||||||
|
{"tbz" ,COMPRESSED}, //
|
||||||
|
{"tbz2" ,COMPRESSED}, //
|
||||||
|
{"tc" ,DISK_IMAGE}, //
|
||||||
|
{"tex" ,LANG_TEX}, //
|
||||||
|
{"tf" ,TERRAFORM}, //
|
||||||
|
{"tfstate" ,TERRAFORM}, //
|
||||||
|
{"tfvars" ,TERRAFORM}, //
|
||||||
|
{"tgz" ,COMPRESSED}, //
|
||||||
|
{"tif" ,IMAGE}, //
|
||||||
|
{"tiff" ,IMAGE}, //
|
||||||
|
{"tlz" ,COMPRESSED}, //
|
||||||
|
{"tml" ,CONFIG}, //
|
||||||
|
{"toml" ,CONFIG}, //
|
||||||
|
{"torrent" ,"\ue275"}, //
|
||||||
|
{"tres" ,GODOT}, //
|
||||||
|
{"ts" ,LANG_TYPESCRIPT}, //
|
||||||
|
{"tscn" ,GODOT}, //
|
||||||
|
{"tsv" ,SHEET}, //
|
||||||
|
{"tsx" ,REACT}, //
|
||||||
|
{"ttc" ,FONT}, //
|
||||||
|
{"ttf" ,FONT}, //
|
||||||
|
{"twig" ,"\ue61c"}, //
|
||||||
|
{"txt" ,TEXT}, //
|
||||||
|
//{"typ" ,TYPST}, // 𝐭
|
||||||
|
{"txz" ,COMPRESSED}, //
|
||||||
|
{"tz" ,COMPRESSED}, //
|
||||||
|
{"tzo" ,COMPRESSED}, //
|
||||||
|
{"unity" ,UNITY}, //
|
||||||
|
{"unity3d" ,UNITY}, //
|
||||||
|
{"v" ,LANG_V}, //
|
||||||
|
{"vdi" ,DISK_IMAGE}, //
|
||||||
|
{"vhd" ,DISK_IMAGE}, //
|
||||||
|
{"video" ,VIDEO}, //
|
||||||
|
{"vim" ,VIM}, //
|
||||||
|
{"vmdk" ,DISK_IMAGE}, //
|
||||||
|
{"vob" ,VIDEO}, //
|
||||||
|
{"vue" ,"\udb82\udc44"}, //
|
||||||
|
{"war" ,LANG_JAVA}, //
|
||||||
|
{"wav" ,AUDIO}, //
|
||||||
|
{"webm" ,VIDEO}, //
|
||||||
|
{"webmanifest" ,JSON}, //
|
||||||
|
{"webp" ,IMAGE}, //
|
||||||
|
{"whl" ,LANG_PYTHON}, //
|
||||||
|
{"windows" ,OS_WINDOWS}, //
|
||||||
|
{"wma" ,AUDIO}, //
|
||||||
|
{"wmv" ,VIDEO}, //
|
||||||
|
{"woff" ,FONT}, //
|
||||||
|
{"woff2" ,FONT}, //
|
||||||
|
{"wv" ,AUDIO}, //
|
||||||
|
{"xcf" ,IMAGE}, //
|
||||||
|
{"xhtml" ,HTML5}, //
|
||||||
|
{"xlr" ,SHEET}, //
|
||||||
|
{"xls" ,SHEET}, //
|
||||||
|
{"xlsm" ,SHEET}, //
|
||||||
|
{"xlsx" ,SHEET}, //
|
||||||
|
{"xml" ,XML}, //
|
||||||
|
{"xpm" ,IMAGE}, //
|
||||||
|
{"xul" ,XML}, //
|
||||||
|
{"xz" ,COMPRESSED}, //
|
||||||
|
{"yaml" ,YAML}, //
|
||||||
|
{"yml" ,YAML}, //
|
||||||
|
{"z" ,COMPRESSED}, //
|
||||||
|
{"zig" ,"\ue6a9"}, //
|
||||||
|
{"zip" ,COMPRESSED}, //
|
||||||
|
{"zsh" ,SHELL_CMD}, //
|
||||||
|
{"zsh-theme" ,SHELL}, //
|
||||||
|
{"zst" ,COMPRESSED}, //
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -42,6 +42,7 @@ public static class Startup
|
|||||||
services.TryAddSingleton<IUserCommunicationService>(sp => sp.GetRequiredService<IDialogService>());
|
services.TryAddSingleton<IUserCommunicationService>(sp => sp.GetRequiredService<IDialogService>());
|
||||||
services.AddSingleton<IUserCommandHandler, ConsoleUserCommandHandler>();
|
services.AddSingleton<IUserCommandHandler, ConsoleUserCommandHandler>();
|
||||||
services.AddSingleton<IStartupHandler, StartupHandler>();
|
services.AddSingleton<IStartupHandler, StartupHandler>();
|
||||||
|
services.TryAddSingleton<IIconProvider, NerdFontIconProvider>();
|
||||||
services.TryAddSingleton<IThemeProvider, ThemeProvider>();
|
services.TryAddSingleton<IThemeProvider, ThemeProvider>();
|
||||||
|
|
||||||
services.Configure<ConsoleApplicationConfiguration>(configuration);
|
services.Configure<ConsoleApplicationConfiguration>(configuration);
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using FileTime.Core.Models;
|
using FileTime.Core.Models;
|
||||||
using FileTime.GuiApp.App.Models;
|
using FileTime.GuiApp.App.Models;
|
||||||
using FileTime.GuiApp.App.Places;
|
using FileTime.GuiApp.App.Places;
|
||||||
using FileTime.GuiApp.App.Services;
|
|
||||||
using FileTime.Providers.Local;
|
using FileTime.Providers.Local;
|
||||||
|
|
||||||
namespace FileTime.GuiApp.App.IconProviders;
|
namespace FileTime.GuiApp.App.IconProviders;
|
||||||
|
|||||||
Reference in New Issue
Block a user