123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776 |
- // This code is adapted from https://github.com/devblackops/Terminal-Icons (which also uses the MIT license).
- // Nerd fonts can be installed by following the instructions on the Nerd Fonts repository: https://github.com/ryanoasis/nerd-fonts
- using System.Collections.Generic;
- using System.IO.Abstractions;
- using static Terminal.Gui.ConfigurationManager;
- namespace Terminal.Gui {
- internal class NerdFonts {
- /// <summary>
- /// If <see langword="true"/>, enables the use of Nerd unicode symbols.
- /// This requires specific font(s) to be installed on the users machine
- /// to work correctly. Defaults to <see langword="false"/>.
- /// </summary>
- [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
- public static bool Enable { get; set; } = false;
- public char GetNerdIcon(IFileSystemInfo file, bool isOpen)
- {
- if(FilenameToIcon.ContainsKey(file.Name))
- {
- return Glyphs[FilenameToIcon[file.Name]];
- }
- if(ExtensionToIcon.ContainsKey(file.Extension))
- {
- return Glyphs[ExtensionToIcon[file.Extension]];
- }
- if(file is IDirectoryInfo d)
- {
- return isOpen ? _nf_cod_folder_opened :_nf_cod_folder;
- }
-
- return _nf_cod_file;
- }
- char _nf_cod_folder = '';
- char _nf_cod_folder_opened = '';
- char _nf_cod_file = '';
- /// <summary>
- /// All nerd glyphs used by Terminal.Gui by name.
- /// </summary>
- public Dictionary<string,char> Glyphs {get;set;} = new Dictionary<string, char>{
- {"nf-cod-package", ''},
- {"nf-cod-preview", ''},
- {"nf-custom-folder_config", ''},
- {"nf-custom-folder_git", ''},
- {"nf-custom-folder_git_branch", ''},
- {"nf-custom-folder_github", ''},
- {"nf-custom-folder_npm", ''},
- {"nf-dev-aws", ''},
- {"nf-dev-docker", ''},
- {"nf-dev-html5_multimedia", ''},
- {"nf-fa-font", ''},
- {"nf-fa-font_awesome", ''},
- {"nf-fa-fonticons", ''},
- {"nf-fa-github_alt", ''},
- {"nf-fa-users", ''},
- {"nf-fa-windows", ''},
- {"nf-mdi-apps", ''},
- {"nf-mdi-azure", 'ﴃ'},
- {"nf-mdi-cached", ''},
- {"nf-mdi-contacts", ''},
- {"nf-mdi-desktop_classic", 'ﲾ'},
- {"nf-mdi-folder_download", ''},
- {"nf-mdi-folder_image", ''},
- {"nf-mdi-folder_star", 'ﮛ'},
- {"nf-mdi-library_music", ''},
- {"nf-mdi-movie", ''},
- {"nf-mdi-movie_roll", 'ﳜ'},
- {"nf-mdi-onedrive", ''},
- {"nf-mdi-ship_wheel", 'ﴱ'},
- {"nf-mdi-test_tube", 'ﭧ'},
- {"nf-mdi-timer", '祥'},
- {"nf-mdi-timer_10", '福'},
- {"nf-mdi-timer_3", '靖'},
- {"nf-mdi-timer_off", '精'},
- {"nf-mdi-timer_sand", '羽'},
- {"nf-mdi-timer_sand_empty", 'ﮫ'},
- {"nf-mdi-timer_sand_full", 'ﲊ'},
- {"nf-mdi-umbraco", '煮'},
- {"nf-oct-file_binary", ''},
- {"nf-oct-file_symlink_directory", ''},
- {"nf-oct-repo", ''},
- {"nf-oct-repo_clone", ''},
- {"nf-oct-repo_force_push", ''},
- {"nf-oct-repo_forked", ''},
- {"nf-oct-repo_pull", ''},
- {"nf-oct-repo_push", ''},
- {"nf-oct-terminal", ''},
- {"nf-seti-config", ''},
- {"nf-seti-project", ''},
- {"nf-custom-elixir", ''},
- {"nf-custom-elm", ''},
- {"nf-custom-msdos", ''},
- {"nf-custom-puppet", ''},
- {"nf-custom-vim", ''},
- {"nf-dev-apple", ''},
- {"nf-dev-bitbucket", ''},
- {"nf-dev-bower", ''},
- {"nf-dev-clojure", ''},
- {"nf-dev-clojure_alt", ''},
- {"nf-dev-code_badge", ''},
- {"nf-dev-css3", ''},
- {"nf-dev-css3_full", ''},
- {"nf-dev-dart", ''},
- {"nf-dev-database", ''},
- {"nf-dev-erlang", ''},
- {"nf-dev-firebase", ''},
- {"nf-dev-fsharp", ''},
- {"nf-dev-git", ''},
- {"nf-dev-git_branch", ''},
- {"nf-dev-git_commit", ''},
- {"nf-dev-git_compare", ''},
- {"nf-dev-git_merge", ''},
- {"nf-dev-git_pull_request", ''},
- {"nf-dev-github", ''},
- {"nf-dev-github_alt", ''},
- {"nf-dev-github_badge", ''},
- {"nf-dev-github_full", ''},
- {"nf-dev-go", ''},
- {"nf-dev-google_cloud_platform", ''},
- {"nf-dev-google_drive", ''},
- {"nf-dev-groovy", ''},
- {"nf-dev-gulp", ''},
- {"nf-dev-haskell", ''},
- {"nf-dev-javascript", ''},
- {"nf-dev-javascript_badge", ''},
- {"nf-dev-javascript_shield", ''},
- {"nf-dev-jenkins", ''},
- {"nf-dev-less", ''},
- {"nf-dev-markdown", ''},
- {"nf-dev-nodejs_small", ''},
- {"nf-dev-npm", ''},
- {"nf-dev-perl", ''},
- {"nf-dev-php", ''},
- {"nf-dev-python", ''},
- {"nf-dev-react", ''},
- {"nf-dev-rust", ''},
- {"nf-dev-sass", ''},
- {"nf-dev-sublime", ''},
- {"nf-dev-travis", ''},
- {"nf-dev-visualstudio", ''},
- {"nf-fa-archive", ''},
- {"nf-fa-calendar", ''},
- {"nf-fa-calendar_check_o", ''},
- {"nf-fa-calendar_minus_o", ''},
- {"nf-fa-calendar_o", ''},
- {"nf-fa-calendar_plus_o", ''},
- {"nf-fa-calendar_times_o", ''},
- {"nf-fa-certificate", ''},
- {"nf-fa-eye", ''},
- {"nf-fa-eye_slash", ''},
- {"nf-fa-eyedropper", ''},
- {"nf-fa-file_audio_o", ''},
- {"nf-fa-file_image_o", ''},
- {"nf-fa-file_o", ''},
- {"nf-fa-file_video_o", ''},
- {"nf-fa-gear", ''},
- {"nf-fa-gears", ''},
- {"nf-fa-gitlab", ''},
- {"nf-fa-handshake_o", ''},
- {"nf-fa-key", ''},
- {"nf-fa-keyboard_o", ''},
- {"nf-fa-list", ''},
- {"nf-fa-list_alt", ''},
- {"nf-fa-list_ol", ''},
- {"nf-fa-list_ul", ''},
- {"nf-fa-lock", ''},
- {"nf-fae-checklist_o", ''},
- {"nf-fae-disco", ''},
- {"nf-fae-java", ''},
- {"nf-mdi-application", 'ﬓ'},
- {"nf-mdi-certificate", ''},
- {"nf-mdi-console_line", 'ﲵ'},
- {"nf-mdi-elephant", 'ﳄ'},
- {"nf-mdi-file_document", ''},
- {"nf-mdi-file_document_box", ''},
- {"nf-mdi-file_excel", ''},
- {"nf-mdi-file_excel_box", ''},
- {"nf-mdi-file_pdf", ''},
- {"nf-mdi-file_pdf_box", ''},
- {"nf-mdi-file_powerpoint", ''},
- {"nf-mdi-file_powerpoint_box", ''},
- {"nf-mdi-file_word", ''},
- {"nf-mdi-file_word_box", ''},
- {"nf-mdi-file_xml", ''},
- {"nf-mdi-format_align_left", ''},
- {"nf-mdi-harddisk", ''},
- {"nf-mdi-help_box", 'ﲉ'},
- {"nf-mdi-language_c", 'ﭰ'},
- {"nf-mdi-language_cpp", 'ﭱ'},
- {"nf-mdi-language_csharp", ''},
- {"nf-mdi-language_css3", ''},
- {"nf-mdi-language_r", 'ﳒ'},
- {"nf-mdi-library_books", ''},
- {"nf-mdi-notebook", 'ﴬ'},
- {"nf-mdi-package_variant", ''},
- {"nf-mdi-package_variant_closed", ''},
- {"nf-mdi-svg", 'ﰟ'},
- {"nf-mdi-visualstudio", ''},
- {"nf-mdi-vuejs", '﵂'},
- {"nf-mdi-xaml", 'ﭲ'},
- {"nf-oct-file_zip", ''},
- {"nf-oct-person", ''},
- {"nf-oct-ruby", ''},
- {"nf-seti-favicon", ''},
- {"nf-seti-grunt", ''},
- {"nf-seti-html", ''},
- {"nf-seti-json", ''},
- {"nf-seti-julia", ''},
- {"nf-seti-lua", ''},
- {"nf-seti-mustache", ''},
- {"nf-seti-typescript", ''},
- };
- /// <summary>
- /// Mapping of file name to <see cref="Glyphs"/> name.
- /// </summary>
- public Dictionary<string, string> FilenameToIcon {get;set;} = new Dictionary<string, string> ()
- {
- {"docs","nf-oct-repo"},
- {"documents","nf-oct-repo"},
- {"desktop","nf-mdi-desktop_classic"},
- {"benchmark","nf-mdi-timer"},
- {"demo","nf-cod-preview"},
- {"samples","nf-cod-preview"},
- {"contacts","nf-mdi-contacts"},
- {"apps","nf-mdi-apps"},
- {"applications","nf-mdi-apps"},
- {"artifacts","nf-cod-package"},
- {"shortcuts","nf-oct-file_symlink_directory"},
- {"links","nf-oct-file_symlink_directory"},
- {"fonts","nf-fa-font"},
- {"images","nf-mdi-folder_image"},
- {"photos","nf-mdi-folder_image"},
- {"pictures","nf-mdi-folder_image"},
- {"videos","nf-mdi-movie"},
- {"movies","nf-mdi-movie"},
- {"media","nf-dev-html5_multimedia"},
- {"music","nf-mdi-library_music"},
- {"songs","nf-mdi-library_music"},
- {"onedrive","nf-mdi-onedrive"},
- {"downloads","nf-mdi-folder_download"},
- {"src","nf-oct-terminal"},
- {"development","nf-oct-terminal"},
- {"projects","nf-seti-project"},
- {"bin","nf-oct-file_binary"},
- {"tests","nf-mdi-test_tube"},
- {"windows","nf-fa-windows"},
- {"users","nf-fa-users"},
- {"favorites","nf-mdi-folder_star"},
- {".config","nf-seti-config"},
- {".cache","nf-mdi-cached"},
- {".vscode","nf-custom-folder_config"},
- {".vscode-insiders","nf-custom-folder_config"},
- {".git","nf-custom-folder_git"},
- {".github","nf-custom-folder_github"},
- {"github","nf-fa-github_alt"},
- {"node_modules","nf-custom-folder_npm"},
- {".azure","nf-mdi-azure"},
- {".aws","nf-dev-aws"},
- {".kube","nf-mdi-ship_wheel"},
- {".docker","nf-dev-docker"},
- {"umbraco","nf-mdi-umbraco"},
- {".gitattributes", "nf-dev-git"},
- {".gitconfig", "nf-dev-git"},
- {".gitignore", "nf-dev-git"},
- {".gitmodules", "nf-dev-git"},
- {".gitkeep", "nf-dev-git"},
- {"git-history", "nf-dev-git"},
- {"LICENSE", "nf-mdi-certificate"},
- {"CHANGELOG.md", "nf-fae-checklist_o"},
- {"CHANGELOG.txt", "nf-fae-checklist_o"},
- {"CHANGELOG", "nf-fae-checklist_o"},
- {"README.md", "nf-mdi-library_books"},
- {"README.txt", "nf-mdi-library_books"},
- {"README", "nf-mdi-library_books"},
- {".DS_Store", "nf-fa-file_o"},
- {".tsbuildinfo", "nf-seti-json"},
- {".jscsrc", "nf-seti-json"},
- {".jshintrc", "nf-seti-json"},
- {"tsconfig.json", "nf-seti-json"},
- {"tslint.json", "nf-seti-json"},
- {"composer.lock", "nf-seti-json"},
- {".jsbeautifyrc", "nf-seti-json"},
- {".esformatter", "nf-seti-json"},
- {"cdp.pid", "nf-seti-json"},
- {".htaccess", "nf-mdi-file_xml"},
- {".jshintignore", "nf-fa-gear"},
- {".buildignore", "nf-fa-gear"},
- {".mrconfig", "nf-fa-gear"},
- {".yardopts", "nf-fa-gear"},
- {"manifest.mf", "nf-fa-gear"},
- {".clang-format", "nf-fa-gear"},
- {".clang-tidy", "nf-fa-gear"},
- {"favicon.ico", "nf-seti-favicon"},
- {".travis.yml", "nf-dev-travis"},
- {".gitlab-ci.yml", "nf-fa-gitlab"},
- {".jenkinsfile", "nf-dev-jenkins"},
- {"bitbucket-pipelines.yml", "nf-dev-bitbucket"},
- {"bitbucket-pipelines.yaml", "nf-dev-bitbucket"},
- {".azure-pipelines.yml", "nf-mdi-azure"},
-
- // Firebase
- {"firebase.json", "nf-dev-firebase"},
- {".firebaserc", "nf-dev-firebase"},
- // Bower
- {".bowerrc", "nf-dev-bower"},
- {"bower.json", "nf-dev-bower"},
- // Conduct
- {"code_of_conduct.md", "nf-fa-handshake_o"},
- {"code_of_conduct.txt", "nf-fa-handshake_o"},
- // Docker
- {"Dockerfile", "nf-dev-docker"},
- {"docker-compose.yml", "nf-dev-docker"},
- {"docker-compose.yaml", "nf-dev-docker"},
- {"docker-compose.dev.yml", "nf-dev-docker"},
- {"docker-compose.local.yml", "nf-dev-docker"},
- {"docker-compose.ci.yml", "nf-dev-docker"},
- {"docker-compose.override.yml", "nf-dev-docker"},
- {"docker-compose.staging.yml", "nf-dev-docker"},
- {"docker-compose.prod.yml", "nf-dev-docker"},
- {"docker-compose.production.yml", "nf-dev-docker"},
- {"docker-compose.test.yml", "nf-dev-docker"},
- // Vue
- {"vue.config.js", "nf-mdi-vuejs"},
- {"vue.config.ts", "nf-mdi-vuejs"},
- // Gulp
- {"gulpfile.js", "nf-dev-gulp"},
- {"gulpfile.ts", "nf-dev-gulp"},
- {"gulpfile.babel.js", "nf-dev-gulp"},
- // Javascript
- {"gruntfile.js", "nf-seti-grunt"},
- // NodeJS
- {"package.json", "nf-dev-nodejs_small"},
- {"package-lock.json", "nf-dev-nodejs_small"},
- {".nvmrc", "nf-dev-nodejs_small"},
- {".esmrc", "nf-dev-nodejs_small"},
- // NPM
- {".nmpignore", "nf-dev-npm"},
- {".npmrc", "nf-dev-npm"},
- // Authors
- {"authors", "nf-oct-person"},
- {"authors.md", "nf-oct-person"},
- {"authors.txt", "nf-oct-person"},
- // Terraform
- {".terraform.lock.hcl", "nf-fa-lock"},
- // Gradle
- {"gradlew", "nf-mdi-elephant"},
- };
- /// <summary>
- /// Mapping of file extension to <see cref="Glyphs"/> name.
- /// </summary>
- public Dictionary<string, string> ExtensionToIcon {get;set;} = new Dictionary<string, string> ()
- {
- // Archive files
- {".7z" , "nf-oct-file_zip"},
- {".bz" , "nf-oct-file_zip"},
- {".tar" , "nf-oct-file_zip"},
- {".zip" , "nf-oct-file_zip"},
- {".gz" , "nf-oct-file_zip"},
- {".xz" , "nf-oct-file_zip"},
- {".br" , "nf-oct-file_zip"},
- {".bzip2" , "nf-oct-file_zip"},
- {".gzip" , "nf-oct-file_zip"},
- {".brotli" , "nf-oct-file_zip"},
- {".rar" , "nf-oct-file_zip"},
- {".tgz" , "nf-oct-file_zip"},
- // Executable things
- {".bat" , "nf-custom-msdos"},
- {".cmd" , "nf-custom-msdos"},
- {".exe" , "nf-mdi-application"},
- {".pl" , "nf-dev-perl"},
- {".sh" , "nf-oct-terminal"},
- // App Packages
- {".msi" , "nf-mdi-package_variant"},
- {".msix" , "nf-mdi-package_variant"},
- {".msixbundle" , "nf-mdi-package_variant"},
- {".appx" , "nf-mdi-package_variant"},
- {".AppxBundle" , "nf-mdi-package_variant"},
- {".deb" , "nf-mdi-package_variant"},
- {".rpm" , "nf-mdi-package_variant"},
- // PowerShell
- {".ps1" , "nf-mdi-console_line"},
- {".psm1" , "nf-mdi-console_line"},
- {".psd1" , "nf-mdi-console_line"},
- {".ps1xml" , "nf-mdi-console_line"},
- {".psc1" , "nf-mdi-console_line"},
- {".pssc" , "nf-mdi-console_line"},
- // Javascript
- {".js" , "nf-dev-javascript"},
- {".esx" , "nf-dev-javascript"},
- {".mjs" , "nf-dev-javascript"},
- // Java
- {".java" , "nf-fae-java"},
- {".jar" , "nf-fae-java"},
- {".gradle" , "nf-mdi-elephant"},
- // Python
- {".py" , "nf-dev-python"},
- {".ipynb" , "nf-mdi-notebook"},
- // React
- {".jsx" , "nf-dev-react"},
- {".tsx" , "nf-dev-react"},
- // Typescript
- {".ts" , "nf-seti-typescript"},
- // Not-executable code files
- {".dll" , "nf-fa-archive"},
- // Importable Data files
- {".clixml" , "nf-dev-code_badge"},
- {".csv" , "nf-mdi-file_excel"},
- {".tsv" , "nf-mdi-file_excel"},
- // Settings
- {".ini" , "nf-fa-gear"},
- {".dlc" , "nf-fa-gear"},
- {".config" , "nf-fa-gear"},
- {".conf" , "nf-fa-gear"},
- {".properties" , "nf-fa-gear"},
- {".prop" , "nf-fa-gear"},
- {".settings" , "nf-fa-gear"},
- {".option" , "nf-fa-gear"},
- {".reg" , "nf-fa-gear"},
- {".props" , "nf-fa-gear"},
- {".toml" , "nf-fa-gear"},
- {".prefs" , "nf-fa-gear"},
- {".sln.dotsettings" , "nf-fa-gear"},
- {".sln.dotsettings.user" , "nf-fa-gear"},
- {".cfg" , "nf-fa-gear"},
- // Source Files
- {".c" , "nf-mdi-language_c"},
- {".cpp" , "nf-mdi-language_cpp"},
- {".go" , "nf-dev-go"},
- {".php" , "nf-dev-php"},
- // Visual Studio
- {".csproj" , "nf-dev-visualstudio"},
- {".ruleset" , "nf-dev-visualstudio"},
- {".sln" , "nf-dev-visualstudio"},
- {".slnf" , "nf-dev-visualstudio"},
- {".suo" , "nf-dev-visualstudio"},
- {".vb" , "nf-dev-visualstudio"},
- {".vbs" , "nf-dev-visualstudio"},
- {".vcxitems" , "nf-dev-visualstudio"},
- {".vcxitems.filters" , "nf-dev-visualstudio"},
- {".vcxproj" , "nf-dev-visualstudio"},
- {".vsxproj.filters" , "nf-dev-visualstudio"},
- // CSharp
- {".cs" , "nf-mdi-language_csharp"},
- {".csx" , "nf-mdi-language_csharp"},
- // Haskell
- {".hs" , "nf-dev-haskell"},
- // XAML
- {".xaml" , "nf-mdi-xaml"},
- // Rust
- {".rs" , "nf-dev-rust"},
- // Database
- {".pdb" , "nf-dev-database"},
- {".sql" , "nf-dev-database"},
- {".pks" , "nf-dev-database"},
- {".pkb" , "nf-dev-database"},
- {".accdb" , "nf-dev-database"},
- {".mdb" , "nf-dev-database"},
- {".sqlite" , "nf-dev-database"},
- {".pgsql" , "nf-dev-database"},
- {".postgres" , "nf-dev-database"},
- {".psql" , "nf-dev-database"},
- // Source Control
- {".patch" , "nf-dev-git"},
- // Project files
- {".user" , "nf-mdi-visualstudio"},
- {".code-workspace" , "nf-mdi-visualstudio"},
- // Text data files
- {".log" , "nf-fa-list"},
- {".txt" , "nf-mdi-file_document"},
- // Subtitle files
- {".srt" , "nf-mdi-file_document"},
- {".lrc" , "nf-mdi-file_document"},
- {".ass" , "nf-fa-eye"},
- // HTML/css
- {".html" , "nf-seti-html"},
- {".htm" , "nf-seti-html"},
- {".xhtml" , "nf-seti-html"},
- {".html_vm" , "nf-seti-html"},
- {".asp" , "nf-seti-html"},
- {".css" , "nf-dev-css3"},
- {".sass" , "nf-dev-sass"},
- {".scss" , "nf-dev-sass"},
- {".less" , "nf-dev-less"},
- // Markdown
- {".md" , "nf-dev-markdown"},
- {".markdown" , "nf-dev-markdown"},
- {".rst" , "nf-dev-markdown"},
- // Handlebars
- {".hbs" , "nf-seti-mustache"},
- // JSON
- {".json" , "nf-seti-json"},
- {".tsbuildinfo" , "nf-seti-json"},
- // YAML
- {".yml" , "nf-mdi-format_align_left"},
- {".yaml" , "nf-mdi-format_align_left"},
- // LUA
- {".lua" , "nf-seti-lua"},
- // Clojure
- {".clj" , "nf-dev-clojure"},
- {".cljs" , "nf-dev-clojure"},
- {".cljc" , "nf-dev-clojure"},
- // Groovy
- {".groovy" , "nf-dev-groovy"},
- // Vue
- {".vue" , "nf-mdi-vuejs"},
- // Dart
- {".dart" , "nf-dev-dart"},
- // Elixir
- {".ex" , "nf-custom-elixir"},
- {".exs" , "nf-custom-elixir"},
- {".eex" , "nf-custom-elixir"},
- {".leex" , "nf-custom-elixir"},
- // Erlang
- {".erl" , "nf-dev-erlang"},
- // Elm
- {".elm" , "nf-custom-elm"},
- // Applescript
- {".applescript" , "nf-dev-apple"},
- // XML
- {".xml" , "nf-mdi-file_xml"},
- {".plist" , "nf-mdi-file_xml"},
- {".xsd" , "nf-mdi-file_xml"},
- {".dtd" , "nf-mdi-file_xml"},
- {".xsl" , "nf-mdi-file_xml"},
- {".xslt" , "nf-mdi-file_xml"},
- {".resx" , "nf-mdi-file_xml"},
- {".iml" , "nf-mdi-file_xml"},
- {".xquery" , "nf-mdi-file_xml"},
- {".tmLanguage" , "nf-mdi-file_xml"},
- {".manifest" , "nf-mdi-file_xml"},
- {".project" , "nf-mdi-file_xml"},
- // Documents
- {".chm" , "nf-mdi-help_box"},
- {".pdf" , "nf-mdi-file_pdf"},
- // Excel
- {".xls" , "nf-mdi-file_excel"},
- {".xlsx" , "nf-mdi-file_excel"},
- // PowerPoint
- {".pptx" , "nf-mdi-file_powerpoint"},
- {".ppt" , "nf-mdi-file_powerpoint"},
- {".pptm" , "nf-mdi-file_powerpoint"},
- {".potx" , "nf-mdi-file_powerpoint"},
- {".potm" , "nf-mdi-file_powerpoint"},
- {".ppsx" , "nf-mdi-file_powerpoint"},
- {".ppsm" , "nf-mdi-file_powerpoint"},
- {".pps" , "nf-mdi-file_powerpoint"},
- {".ppam" , "nf-mdi-file_powerpoint"},
- {".ppa" , "nf-mdi-file_powerpoint"},
- // Word
- {".doc" , "nf-mdi-file_word"},
- {".docx" , "nf-mdi-file_word"},
- {".rtf" , "nf-mdi-file_word"},
- // Audio
- {".mp3" , "nf-fa-file_audio_o"},
- {".flac" , "nf-fa-file_audio_o"},
- {".m4a" , "nf-fa-file_audio_o"},
- {".wma" , "nf-fa-file_audio_o"},
- {".aiff" , "nf-fa-file_audio_o"},
- {".wav" , "nf-fa-file_audio_o"},
- {".aac" , "nf-fa-file_audio_o"},
- {".opus" , "nf-fa-file_audio_o"},
- // Images
- {".png" , "nf-fa-file_image_o"},
- {".jpeg" , "nf-fa-file_image_o"},
- {".jpg" , "nf-fa-file_image_o"},
- {".gif" , "nf-fa-file_image_o"},
- {".ico" , "nf-fa-file_image_o"},
- {".tif" , "nf-fa-file_image_o"},
- {".tiff" , "nf-fa-file_image_o"},
- {".psd" , "nf-fa-file_image_o"},
- {".psb" , "nf-fa-file_image_o"},
- {".ami" , "nf-fa-file_image_o"},
- {".apx" , "nf-fa-file_image_o"},
- {".bmp" , "nf-fa-file_image_o"},
- {".bpg" , "nf-fa-file_image_o"},
- {".brk" , "nf-fa-file_image_o"},
- {".cur" , "nf-fa-file_image_o"},
- {".dds" , "nf-fa-file_image_o"},
- {".dng" , "nf-fa-file_image_o"},
- {".eps" , "nf-fa-file_image_o"},
- {".exr" , "nf-fa-file_image_o"},
- {".fpx" , "nf-fa-file_image_o"},
- {".gbr" , "nf-fa-file_image_o"},
- {".jbig2" , "nf-fa-file_image_o"},
- {".jb2" , "nf-fa-file_image_o"},
- {".jng" , "nf-fa-file_image_o"},
- {".jxr" , "nf-fa-file_image_o"},
- {".pbm" , "nf-fa-file_image_o"},
- {".pgf" , "nf-fa-file_image_o"},
- {".pic" , "nf-fa-file_image_o"},
- {".raw" , "nf-fa-file_image_o"},
- {".webp" , "nf-fa-file_image_o"},
- {".svg" , "nf-mdi-svg"},
- // Video
- {".webm" , "nf-fa-file_video_o"},
- {".mkv" , "nf-fa-file_video_o"},
- {".flv" , "nf-fa-file_video_o"},
- {".vob" , "nf-fa-file_video_o"},
- {".ogv" , "nf-fa-file_video_o"},
- {".ogg" , "nf-fa-file_video_o"},
- {".gifv" , "nf-fa-file_video_o"},
- {".avi" , "nf-fa-file_video_o"},
- {".mov" , "nf-fa-file_video_o"},
- {".qt" , "nf-fa-file_video_o"},
- {".wmv" , "nf-fa-file_video_o"},
- {".yuv" , "nf-fa-file_video_o"},
- {".rm" , "nf-fa-file_video_o"},
- {".rmvb" , "nf-fa-file_video_o"},
- {".mp4" , "nf-fa-file_video_o"},
- {".mpg" , "nf-fa-file_video_o"},
- {".mp2" , "nf-fa-file_video_o"},
- {".mpeg" , "nf-fa-file_video_o"},
- {".mpe" , "nf-fa-file_video_o"},
- {".mpv" , "nf-fa-file_video_o"},
- {".m2v" , "nf-fa-file_video_o"},
- // Email
- {".ics" , "nf-fa-calendar"},
- // Certificates
- {".cer" , "nf-fa-certificate"},
- {".cert" , "nf-fa-certificate"},
- {".crt" , "nf-fa-certificate"},
- {".pfx" , "nf-fa-certificate"},
- // Keys
- {".pem" , "nf-fa-key"},
- {".pub" , "nf-fa-key"},
- {".key" , "nf-fa-key"},
- {".asc" , "nf-fa-key"},
- {".gpg" , "nf-fa-key"},
- // Fonts
- {".woff" , "nf-fa-font"},
- {".woff2" , "nf-fa-font"},
- {".ttf" , "nf-fa-font"},
- {".eot" , "nf-fa-font"},
- {".suit" , "nf-fa-font"},
- {".otf" , "nf-fa-font"},
- {".bmap" , "nf-fa-font"},
- {".fnt" , "nf-fa-font"},
- {".odttf" , "nf-fa-font"},
- {".ttc" , "nf-fa-font"},
- {".font" , "nf-fa-font"},
- {".fonts" , "nf-fa-font"},
- {".sui" , "nf-fa-font"},
- {".ntf" , "nf-fa-font"},
- {".mrg" , "nf-fa-font"},
- // Ruby
- {".rb" , "nf-oct-ruby"},
- {".erb" , "nf-oct-ruby"},
- {".gemfile" , "nf-oct-ruby"},
- {"rakefile" , "nf-oct-ruby"},
- // FSharp
- {".fs" , "nf-dev-fsharp"},
- {".fsx" , "nf-dev-fsharp"},
- {".fsi" , "nf-dev-fsharp"},
- {".fsproj" , "nf-dev-fsharp"},
- // Docker
- {".dockerignore" , "nf-dev-docker"},
- {".dockerfile" , "nf-dev-docker"},
- // VSCode
- {".vscodeignore" , "nf-fa-gear"},
- {".vsixmanifest" , "nf-fa-gear"},
- {".vsix" , "nf-fa-gear"},
- {".code-workplace" , "nf-fa-gear"},
- // Sublime
- {".sublime-project" , "nf-dev-sublime"},
- {".sublime-workspace" , "nf-dev-sublime"},
- {".lock" , "nf-fa-lock"},
- // Terraform
- {".tf" , "nf-dev-code_badge"},
- {".tfvars" , "nf-dev-code_badge"},
- {".tf.json" , "nf-dev-code_badge"},
- {".tfvars.json" , "nf-dev-code_badge"},
- {".auto.tfvars" , "nf-dev-code_badge"},
- {".auto.tfvars.json" , "nf-dev-code_badge"},
- // Disk Image
- {".vmdk" , "nf-mdi-harddisk"},
- {".vhd" , "nf-mdi-harddisk"},
- {".vhdx" , "nf-mdi-harddisk"},
- {".img" , "nf-fae-disco"},
- {".iso" , "nf-fae-disco"},
- // R language
- {".R" , "nf-mdi-language_r"},
- {".Rmd" , "nf-mdi-language_r"},
- {".Rproj" , "nf-mdi-language_r"},
- // Julia language
- {".jl" , "nf-seti-julia"},
- // Vim
- {".vim" , "nf-custom-vim"},
- // Puppet
- {".pp" , "nf-custom-puppet"},
- {".epp" , "nf-custom-puppet"},
- };
- }
- }
|