diff options
author | Canop <cano.petrole@gmail.com> | 2020-11-19 17:26:29 +0100 |
---|---|---|
committer | Canop <cano.petrole@gmail.com> | 2020-11-19 17:26:29 +0100 |
commit | ae54814e7fdf7ed1b2b013ddb4b2785cbbadaf67 (patch) | |
tree | f74ddd9b835830f3b21d80c2229639deac6007a5 | |
parent | ea3eb4e855e6359669933f19645f83d3ea688ae4 (diff) | |
parent | c744c984f54fd62ea394dc3ccc786ff733df2f30 (diff) |
Merge branch 'icons'
24 files changed, 1825 insertions, 12 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b52aa26..1744690 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ### next * dev.log renamed into broot.log * `:line_up` and `:line_down` accept an optional count as argument - Fix #301 +* optional icons, thanks to @asdf8dfafjk (@fiAtcBr on Miaou) - See https://dystroy.org/broot/icons <a name="v1.0.5"></a> ### v1.0.5 - 2020-11-05 diff --git a/compile-all-targets.sh b/compile-all-targets.sh index 499bced..3e095a1 100755 --- a/compile-all-targets.sh +++ b/compile-all-targets.sh @@ -32,6 +32,13 @@ mkdir build/completion cp "$(broot -c ":gi;release;:focus;broot.bash;:parent;:pp" target)/"* build/completion echo " Done" +# add the resource (the icons font) +echo -e "${H2}copying resources${EH}" +mkdir build/resources +cp resources/icons/vscode/vscode.ttf build/resources +echo "the font file comes from https://github.com/vscode-icons/vscode-icons/ and is licensed as MIT" > build/resources/README.md +echo " Done" + # build the windows version (with the "clipboard" feature) # use cargo cross echo -e "${H2}Compiling the Windows version${EH}" diff --git a/resources/icons/vscode/data/README b/resources/icons/vscode/data/README new file mode 100644 index 0000000..b9821f5 --- /dev/null +++ b/resources/icons/vscode/data/README @@ -0,0 +1,13 @@ +Tips on editing these files in vi + +1. Open ./icon_name_to_icon_code_point_map.rs + then in the same session, switch to file you want to edit + use C-n and C-y in edit mode + +2. This plugin currently searches for lowercase, make everything so + +3. Remember to run :Tabularize over ')' and ',' + +4. :'<,'>!sort + +5. `cargo run` in debug mode should figure out if some problems. diff --git a/resources/icons/vscode/data/double_extension_to_icon_name_map.rs b/resources/icons/vscode/data/double_extension_to_icon_name_map.rs new file mode 100644 index 0000000..3d2657c --- /dev/null +++ b/resources/icons/vscode/data/double_extension_to_icon_name_map.rs @@ -0,0 +1,6 @@ +// SEE ./README on how to edit this file +[ + ( "tar.gz" , "file_type_zip" ) , + ( "tar.xz" , "file_type_zip" ) , + ( "tar.zst" , "file_type_zip" ) , +] diff --git a/resources/icons/vscode/data/extension_to_icon_name_map.rs b/resources/icons/vscode/data/extension_to_icon_name_map.rs new file mode 100644 index 0000000..84ec455 --- /dev/null +++ b/resources/icons/vscode/data/extension_to_icon_name_map.rs @@ -0,0 +1,697 @@ +// SEE ./README on how to edit this file +[ +( "3g2" , "file_type_video" ) , +( "3gp" , "file_type_video" ) , +( "7z" , "file_type_zip2" ) , +( "aac" , "file_type_audio" ) , +( "accda" , "file_type_access2" ) , +( "accdb" , "file_type_access2" ) , +( "accdc" , "file_type_access2" ) , +( "accde" , "file_type_access2" ) , +( "accdp" , "file_type_access2" ) , +( "accdr" , "file_type_access2" ) , +( "accdt" , "file_type_access2" ) , +( "accdu" , "file_type_access2" ) , +( "act" , "file_type_audio" ) , +( "adapter.js" , "file_type_nest_adapter_js" ) , +( "adapter.ts" , "file_type_nest_adapter_ts" ) , +( "ade" , "file_type_access2" ) , +( "adp" , "file_type_access2" ) , +( "afdesign" , "file_type_affinitydesigner" ) , +( "affinitydesigner" , "file_type_affinitydesigner" ) , +( "affinityphoto" , "file_type_affinityphoto" ) , +( "affinitypublisher" , "file_type_affinitypublisher" ) , +( "a" , "file_type_binary" ) , +( "afphoto" , "file_type_affinityphoto" ) , +( "afpub" , "file_type_affinitypublisher" ) , +( "aiff" , "file_type_audio" ) , +( "ai" , "file_type_ai2" ) , +( "amr" , "file_type_audio" ) , +( "amv" , "file_type_video" ) , +( "angular-cli.json" , "file_type_angular" ) , +( "angular.json" , "file_type_angular" ) , +( "ape" , "file_type_audio" ) , +( "api-extractor-base.json" , "file_type_api_extractor" ) , +( "api-extractor.json" , "file_type_api_extractor" ) , +( "app.config.js" , "file_type_expo" ) , +( "app.config.json5" , "file_type_expo" ) , +( "app.config.json" , "file_type_expo" ) , +( "app" , "file_type_binary" ) , +( "app.json" , "file_type_expo" ) , +( "app-routing.module.dart" , "file_type_ng_routing_dart" ) , +( "app-routing.module.js" , "file_type_ng_routing_js2" ) , +( "app-routing.module.ts" , "file_type_ng_routing_ts2" ) , +( "appveyor.yml" , "file_type_appveyor" ) , +( "ascx" , "file_type_aspx" ) , +( "asf" , "file_type_video" ) , +( "aspx" , "file_type_aspx" ) , +( "au" , "file_type_audio" ) , +( "aurelia.json" , "file_type_aurelia" ) , +( "avif" , "file_type_avif" ) , +( "avi" , "file_type_video" ) , +( "awk" , "file_type_awk" ) , +( "azure-pipelines.yml" , "file_type_azurepipelines" ) , +( "babelignore" , "file_type_babel2" ) , +( "babelrc" , "file_type_babel2" ) , +( "bazel.bazelrc" , "file_type_bazel" ) , +( "bazel.rc" , "file_type_bazel" ) , +( "bazelrc" , "file_type_bazel" ) , +( "bb" , "file_type_blitzbasic" ) , +( "bcmx" , "file_type_outlook" ) , +( "berksfile" , "file_type_chef" ) , +( "berksfile.lock" , "file_type_chef" ) , +( "bin" , "file_type_binary" ) , +( "bitbucket-pipelines.yml" , "file_type_bitbucketpipeline" ) , +( "bithoundrc" , "file_type_bithound" ) , +( "bmp" , "file_type_image" ) , +( "boringignore" , "file_type_darcs" ) , +( "bower.json" , "file_type_bower" ) , +( "bowerrc" , "file_type_bower" ) , +( "browserslist" , "file_type_browserslist" ) , +( "browserslistrc" , "file_type_browserslist" ) , +( "buckconfig" , "file_type_buckbuild" ) , +( "BUILD.bazel" , "file_type_bazel" ) , +( "build.ninja" , "file_type_ninja" ) , +( "bz2" , "file_type_zip2" ) , +( "bz" , "file_type_zip2" ) , +( "bzip2" , "file_type_zip2" ) , +( "bzrignore" , "file_type_bazaar" ) , +( "cake" , "file_type_cake" ) , +( "cargo.lock" , "file_type_cargo" ) , +( "cargo.toml" , "file_type_cargo" ) , +( "cer" , "file_type_cert" ) , +( "cfignore" , "file_type_cloudfoundry" ) , +( "c" , "file_type_c" ) , +( "checkstyle.json" , "file_type_haxecheckstyle" ) , +( "chefignore" , "file_type_chef" ) , +( "circle.yml" , "file_type_circleci" ) , +( "cjm" , "file_type_clojure" ) , +( "class" , "file_type_class" ) , +( "cl" , "file_type_opencl" ) , +( "cljc" , "file_type_clojure" ) , +( "cljs" , "file_type_clojurescript" ) , +( "cma" , "file_type_binary" ) , +( "cmi" , "file_type_binary" ) , +( "cmo" , "file_type_binary" ) , +( "cmxa" , "file_type_binary" ) , +( "cmx" , "file_type_binary" ) , +( "codacy.yaml" , "file_type_codacy" ) , +( "codacy.yml" , "file_type_codacy" ) , +( "codeclimate.yml" , "file_type_codeclimate" ) , +( "codecov.yml" , "file_type_codecov" ) , +( "coffeelintignore" , "file_type_coffeelint" ) , +( "coffeelint.json" , "file_type_coffeelint" ) , +( "commitlint.config.js" , "file_type_commitlint" ) , +( "component.dart" , "file_type_ng_component_dart" ) , +( "component.js" , "file_type_ng_component_js2" ) , +( "component.ts" , "file_type_ng_component_ts2" ) , +( "composer.json" , "file_type_composer" ) , +( "composer.lock" , "file_type_composer" ) , +( "conanfile.py" , "file_type_conan" ) , +( "conanfile.txt" , "file_type_conan" ) , +( "condarc" , "file_type_conda" ) , +( "config.codekit2" , "file_type_codekit" ) , +( "config.codekit3" , "file_type_codekit" ) , +( "config.codekit" , "file_type_codekit" ) , +( "container.dart" , "file_type_ng_smart_component_dart" ) , +( "container.js" , "file_type_ng_smart_component_js2" ) , +( "container.ts" , "file_type_ng_smart_component_ts2" ) , +( "controller.js" , "file_type_nest_controller_js" ) , +( "controller.ts" , "file_type_nest_controller_ts" ) , +( "coveralls.yml" , "file_type_coveralls" ) , +( "crec" , "file_type_lync" ) , +( "crl" , "file_type_cert" ) , +( "crowdin.yml" , "file_type_crowdin" ) , +( "crt" , "file_type_cert" ) , +( "csproj" , "file_type_csproj" ) , +( "csr" , "file_type_cert" ) , +( "csscomb.json" , "file_type_csscomb" ) , +( "csslintrc" , "file_type_csslint" ) , +( "css.map" , "file_type_cssmap" ) , +( "csv" , "file_type_text" ) , +( "csx" , "file_type_csharp2" ) , +( "cvsignore" , "file_type_cvs" ) , +( "db3" , "file_type_sqlite" ) , +( "db" , "file_type_db" ) , +( "dct" , "file_type_audio" ) , +( "decorator.js" , "file_type_nest_decorator_js" ) , +( "decorator.ts" , "file_type_nest_decorator_ts" ) , +( "dependabot.yml" , "file_type_dependabot" ) , +( "dependencies.yml" , "file_type_dependencies" ) , +( "der" , "file_type_cert" ) , +( "devcontainer.json" , "file_type_devcontainer" ) , +( "dio" , "file_type_drawio" ) , +( "directive.dart" , "file_type_ng_directive_dart" ) , +( "directive.js" , "file_type_ng_directive_js2" ) , +( "directive.ts" , "file_type_ng_directive_ts2" ) , +( "divx" , "file_type_video" ) , +( "djt" , "file_type_django" ) , +( "dll" , "file_type_binary" ) , +( "doc" , "file_type_word2" ) , +( "docker-compose.test.yml" , "file_type_dockertest2" ) , +( "docm" , "file_type_word2" ) , +( "docx" , "file_type_word2" ) , +( "doczrc" , "file_type_docz" ) , +( "dojorc" , "file_type_dojo" ) , +( "dot" , "file_type_word2" ) , +( "dotm" , "file_type_word2" ) , +( "dotx" , "file_type_word2" ) , +( "drawio" , "file_type_drawio" ) , +( "drone.yml" , "file_type_drone" ) , +( "drone.yml.sig" , "file_type_drone" ) , +( "dss" , "file_type_audio" ) , +( "dta" , "file_type_stata" ) , +( "d.ts" , "file_type_typescriptdef_official" ) , +( "dvc" , "file_type_dvc" ) , +( "dvf" , "file_type_audio" ) , +( "eco" , "file_type_docpad" ) , +( "editorconfig" , "file_type_editorconfig" ) , +( "ejs" , "file_type_ejs" ) , +( "ejs.t" , "file_type_hygen" ) , +( "elc" , "file_type_emacs" ) , +( "el" , "file_type_emacs" ) , +( "elm-package.json" , "file_type_elm2" ) , +( "emakefile" , "file_type_erlang2" ) , +( "emakerfile" , "file_type_erlang2" ) , +( "ember-cli" , "file_type_ember" ) , +( "enc" , "file_type_license" ) , +( "ensime" , "file_type_ensime" ) , +( "eot" , "file_type_font" ) , +( "eps" , "file_type_eps" ) , +( "eskip" , "file_type_skipper" ) , +( "eslintcache" , "file_type_eslint2" ) , +( "eslintignore" , "file_type_eslint2" ) , +( "eslintrc" , "file_type_eslint2" ) , +( "exe" , "file_type_binary" ) , +( "exp" , "file_type_tcl" ) , +( "f4a" , "file_type_video" ) , +( "f4b" , "file_type_video" ) , +( "f4p" , "file_type_video" ) , +( "f4v" , "file_type_video" ) , +( "favicon.ico" , "file_type_favicon" ) , +( "fbx" , "file_type_fbx" ) , +( "fig" , "file_type_matlab" ) , +( "filter.js" , "file_type_nest_filter_js" ) , +( "filter.ts" , "file_type_nest_filter_ts" ) , +( "firebase.json" , "file_type_firebasehosting" ) , +( "firebaserc" , "file_type_firebase" ) , +( "firestore.indexes.json" , "file_type_firestore" ) , +( "firestore.rules" , "file_type_firestore" ) , +( "fish" , "file_type_shell" ) , +( "flac" , "file_type_audio" ) , +( "fla" , "file_type_fla" ) , +( "flooignore" , "file_type_floobits" ) , +( "flowconfig" , "file_type_flow" ) , +( "flutter-plugins" , "file_type_flutter" ) , +( "flv" , "file_type_video" ) , +( "fods" , "file_type_excel2" ) , +( "format.ps1xml" , "file_type_powershell_format" ) , +( "fossaignore" , "file_type_fossa" ) , +( "fsproj" , "file_type_fsproj" ) , +( "fuse.js" , "file_type_fusebox" ) , +( "gateway.js" , "file_type_nest_gateway_js" ) , +( "gateway.ts" , "file_type_nest_gateway_ts" ) , +( "gemfile" , "file_type_bundler" ) , +( "gemfile.lock" , "file_type_bundler" ) , +( "gif" , "file_type_image" ) , +( "gitattributes" , "file_type_git" ) , +( "gitconfig" , "file_type_git" ) , +( "gitignore" , "file_type_git" ) , +( "gitkeep" , "file_type_git" ) , +( "gitlab-ci.yml" , "file_type_gitlab" ) , +( "gitmodules" , "file_type_git" ) , +( "glide.yml" , "file_type_glide" ) , +( "gmx" , "file_type_gamemaker" ) , +( "go.mod" , "file_type_go_package" ) , +( "go.sum" , "file_type_go_package" ) , +( "gqlconfig" , "file_type_graphql" ) , +( "gradle" , "file_type_gradle2" ) , +( "graphqlconfig" , "file_type_graphql_config" ) , +( "greenkeeper.json" , "file_type_greenkeeper" ) , +( "gsm" , "file_type_audio" ) , +( "guard.dart" , "file_type_ng_guard_dart" ) , +( "guard.js" , "file_type_nest_guard_js" ) , +( "guard.ts" , "file_type_nest_guard_ts" ) , +( "gvimrc" , "file_type_vim" ) , +( "gz" , "file_type_zip2" ) , +( "haxelib.json" , "file_type_haxe" ) , +( "h" , "file_type_cheader" ) , +( "hgignore" , "file_type_mercurial" ) , +( "hl" , "file_type_binary" ) , +( "hpp" , "file_type_cppheader" ) , +( "htmlhintrc" , "file_type_htmlhint" ) , +( "husky.config.js" , "file_type_husky" ) , +( "huskyrc" , "file_type_husky" ) , +( "hxp" , "file_type_lime" ) , +( "hxproj" , "file_type_haxedevelop" ) , +( "ibc" , "file_type_idrisbin" ) , +( "ico" , "file_type_image" ) , +( "idr" , "file_type_idris" ) , +( "ignore-glob" , "file_type_fossil" ) , +( "iklax" , "file_type_audio" ) , +( "ilk" , "file_type_binary" ) , +( "inc" , "file_type_inc" ) , +( "include" , "file_type_inc" ) , +( "include.xml" , "file_type_lime" ) , +( "infopathxml" , "file_type_infopath" ) , +( "ino" , "file_type_arduino" ) , +( "integrity.json" , "file_type_nsri-integrity" ) , +( "interceptor.dart" , "file_type_ng_interceptor_dart" ) , +( "interceptor.js" , "file_type_nest_interceptor_js" ) , +( "interceptor.ts" , "file_type_nest_interceptor_ts" ) , +( "ionic.config.json" , "file_type_ionic" ) , +( "ionic.project" , "file_type_ionic" ) , +( "ipkg" , "file_type_idrispkg" ) , +( "ipynb" , "file_type_jupyter" ) , +( "iuml" , "file_type_plantuml" ) , +( "ivs" , "file_type_audio" ) , +( "jade-lint.json" , "file_type_pug" ) , +( "jade-lintrc" , "file_type_pug" ) , +( "jakefile" , "file_type_jake" ) , +( "jakefile.js" , "file_type_jake" ) , +( "jasmine.json" , "file_type_jasmine" ) , +( "jbuilder" , "file_type_jbuilder" ) , +( "jest.config.json" , "file_type_jest" ) , +( "jest.json" , "file_type_jest" ) , +( "jestrc" , "file_type_jest" ) , +( "jestrc.js" , "file_type_jest" ) , +( "jestrc.json" , "file_type_jest" ) , +( "jpeg" , "file_type_image" ) , +( "jpg" , "file_type_image" ) , +( "jpmignore" , "file_type_jpm" ) , +( "jsbeautify" , "file_type_jsbeautify" ) , +( "jsbeautifyrc" , "file_type_jsbeautify" ) , +( "jsconfig.json" , "file_type_jsconfig" ) , +( "jscpd.json" , "file_type_jscpd" ) , +( "js.flow" , "file_type_flow" ) , +( "jshintignore" , "file_type_jshint" ) , +( "jshintrc" , "file_type_jshint" ) , +( "js.map" , "file_type_jsmap" ) , +( "json5" , "file_type_json5" ) , +( "json" , "file_type_json_official" ) , +( "json-ld" , "file_type_jsonld" ) , +( "jsonld" , "file_type_jsonld" ) , +( "jsp" , "file_type_jsp" ) , +( "jss" , "file_type_jss" ) , +( "js.snap" , "file_type_jest_snapshot" ) , +( "jsx.snap" , "file_type_jest_snapshot" ) , +( "key" , "file_type_key" ) , +( "kitchen.yml" , "file_type_kitchenci" ) , +( "kiteignore" , "file_type_kite" ) , +( "kit" , "file_type_codekit" ) , +( "laccdb" , "file_type_access2" ) , +( "layout.htm" , "file_type_layout" ) , +( "layout.html" , "file_type_layout" ) , +( "ldb" , "file_type_access2" ) , +( "lerna.json" , "file_type_lerna" ) , +( "lib" , "file_type_binary" ) , +( "licence" , "file_type_license" ) , +( "license" , "file_type_license" ) , +( "lidr" , "file_type_idris" ) , +( "lint-staged.config.js" , "file_type_lintstagedrc" ) , +( "lintstagedrc" , "file_type_lintstagedrc" ) , +( "liquid" , "file_type_liquid" ) , +( "lnk" , "file_type_lnk" ) , +( "lock" , "emoji_type_lock" ) , +( "log" , "file_type_log" ) , +( "ls" , "file_type_livescript" ) , +( "lucee" , "file_type_cf2" ) , +( "m2v" , "file_type_video" ) , +( "m4a" , "file_type_audio" ) , +( "m4b" , "file_type_audio" ) , +( "m4p" , "file_type_audio" ) , +( "m4v" , "file_type_video" ) , +( "mailmap" , "file_type_git" ) , +( "makefile" , "file_type_makefile" ) , +( "mam" , "file_type_access2" ) , +( "manifest.bak" , "file_type_manifest_bak" ) , +( "manifest" , "file_type_manifest" ) , +( "manifest.skip" , "file_type_manifest_skip" ) , +( "map" , "file_type_map" ) , +( "maq" , "file_type_access2" ) , +( "markdown" , "file_type_markdown" ) , +( "markdownlint.json" , "file_type_markdownlint" ) , +( "marko.js" , "file_type_markojs" ) , +( "master" , "file_type_layout" ) , +( "maven.config" , "file_type_maven" ) , +( "mdb" , "file_type_access2" ) , +( "md" , "file_type_markdown" ) , +( "mdown" , "file_type_markdown" ) , +( "mdw" , "file_type_access2" ) , +( "mdx" , "file_type_mdx" ) , +( "merlin" , "file_type_ocaml" ) , +( "metadata" , "file_type_flutter" ) , +( "mex" , "file_type_matlab" ) , +( "mexn" , "file_type_matlab" ) , +( "mexrs6" , "file_type_matlab" ) , +( "middleware.js" , "file_type_nest_middleware_js" ) , +( "middleware.ts" , "file_type_nest_middleware_ts" ) , +( "mk3d" , "file_type_video" ) , +( "mkv" , "file_type_video" ) , +( "mmf" , "file_type_audio" ) , +( "mn" , "file_type_matlab" ) , +( "mocha.opts" , "file_type_mocha" ) , +( "modernizr" , "file_type_modernizr" ) , +( "module.dart" , "file_type_ng_module_dart" ) , +( "module.js" , "file_type_nest_module_js" ) , +( "module.ts" , "file_type_nest_module_ts" ) , +( "mo" , "file_type_poedit" ) , +( "mogg" , "file_type_audio" ) , +( "mov" , "file_type_video" ) , +( "mp2" , "file_type_video" ) , +( "mp3" , "file_type_audio" ) , +( "mp4" , "file_type_video" ) , +( "mpc" , "file_type_audio" ) , +( "mpe" , "file_type_video" ) , +( "mpeg2" , "file_type_video" ) , +( "mpeg" , "file_type_video" ) , +( "mpg" , "file_type_video" ) , +( "mpv" , "file_type_video" ) , +( "msg" , "file_type_outlook" ) , +( "mst" , "file_type_mustache" ) , +( "msv" , "file_type_audio" ) , +( "mtn-ignore" , "file_type_monotone" ) , +( "mum" , "file_type_matlab" ) , +( "mustache" , "file_type_mustache" ) , +( "mx3" , "file_type_matlab" ) , +( "mx" , "file_type_matlab" ) , +( "ndll" , "file_type_binary" ) , +( "nest-cli.json" , "file_type_nestjs" ) , +( "nestconfig.json" , "file_type_nestjs" ) , +( "netlify.toml" , "file_type_netlify" ) , +( "next.config.js" , "file_type_next" ) , +( "n" , "file_type_binary" ) , +( "nginx.conf" , "file_type_nginx" ) , +( "ng-tailwind.js" , "file_type_ng_tailwind" ) , +( "nix" , "file_type_nix" ) , +( "njs" , "file_type_nunjucks" ) , +( "njsproj" , "file_type_njsproj" ) , +( "nodemon.json" , "file_type_nodemon" ) , +( "node-version" , "file_type_node2" ) , +( "nowignore" , "file_type_zeit" ) , +( "now.json" , "file_type_zeit" ) , +( "npmignore" , "file_type_npm" ) , +( "npmrc" , "file_type_npm" ) , +( "npm-shrinkwrap.json" , "file_type_npm" ) , +( "npy" , "file_type_numpy" ) , +( "npz" , "file_type_numpy" ) , +( "nsri.config.js" , "file_type_nsri" ) , +( "nsriignore" , "file_type_nsri" ) , +( "nsrirc" , "file_type_nsri" ) , +( "nsv" , "file_type_video" ) , +( "nunj" , "file_type_nunjucks" ) , +( "nupkg" , "file_type_nuget" ) , +( "nuspec" , "file_type_nuget" ) , +( "nvmrc" , "file_type_node2" ) , +( "nycrc" , "file_type_nyc" ) , +( "nycrc.json" , "file_type_nyc" ) , +( "obj" , "file_type_binary" ) , +( "ocrec" , "file_type_lync" ) , +( "ods" , "file_type_excel2" ) , +( "o" , "file_type_binary" ) , +( "oft" , "file_type_outlook" ) , +( "oga" , "file_type_audio" ) , +( "ogg" , "file_type_audio" ) , +( "ogv" , "file_type_video" ) , +( "one" , "file_type_onenote" ) , +( "onepkg" , "file_type_onenote" ) , +( "onetoc2" , "file_type_onenote" ) , +( "onetoc" , "file_type_onenote" ) , +( "opencl" , "file_type_opencl" ) , +( "opus" , "file_type_audio" ) , +( "org" , "file_type_org" ) , +( "otf" , "file_type_font" ) , +( "otm" , "file_type_outlook" ) , +( "ovpn" , "file_type_ovpn" ) , +( "p12" , "file_type_cert" ) , +( "p4ignore" , "file_type_helix" ) , +( "p7b" , "file_type_cert" ) , +( "p7r" , "file_type_cert" ) , +( "package.json" , "file_type_npm" ) , +( "package-lock.json" , "file_type_npm" ) , +( "package.pins" , "file_type_swift" ) , +( "packages" , "file_type_flutter_package" ) , +( "pa" , "file_type_powerpoint2" ) , +( "page.dart" , "file_type_ng_smart_component_dart" ) , +( "page.js" , "file_type_ng_smart_component_js2" ) , +( "page.ts" , "file_type_ng_smart_component_ts2" ) , +( "patch" , "file_type_patch" ) , +( "pcd" , "file_type_pcl" ) , +( "pck" , "file_type_plsql_package" ) , +( "pdb" , "file_type_binary" ) , +( "pde" , "file_type_arduino" ) , +( "pdf" , "file_type_pdf2" ) , +( "pem" , "file_type_key" ) , +( "pex" , "file_type_xml" ) , +( "pfa" , "file_type_font" ) , +( "pfb" , "file_type_font" ) , +( "P" , "file_type_prolog" ) , +( "pfx" , "file_type_cert" ) , +( "phar" , "file_type_php3" ) , +( "php1" , "file_type_php3" ) , +( "php2" , "file_type_php3" ) , +( "php3" , "file_type_php3" ) , +( "php4" , "file_type_php3" ) , +( "php5" , "file_type_php3" ) , +( "php6" , "file_type_php3" ) , +( "php_cs.dist" , "file_type_phpcsfixer" ) , +( "php_cs" , "file_type_phpcsfixer" ) , +( "phpsa" , "file_type_php3" ) , +( "phps" , "file_type_php3" ) , +( "phpt" , "file_type_php3" ) , +( "phpunit" , "file_type_phpunit" ) , +( "phpunit.xml.dist" , "file_type_phpunit" ) , +( "phpunit.xml" , "file_type_phpunit" ) , +( "phraseapp.yml" , "file_type_phraseapp" ) , +( "phtml" , "file_type_php3" ) , +( "pipe.dart" , "file_type_ng_pipe_dart" ) , +( "pipe.js" , "file_type_nest_pipe_js" ) , +( "pipe.ts" , "file_type_nest_pipe_ts" ) , +( "pipfile" , "file_type_pip" ) , |