From 632d4a4e3529ed5fea94eba1bbe9f9c427d44211 Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Fri, 30 Jul 2021 23:55:05 +0800 Subject: [PATCH] chore: update icons --- src/assets/icons/file-icons-index.csv | 221 ++++++++++++++++-------- src/assets/icons/folder-icons-index.csv | 42 +++-- src/components/Node.tsx | 4 +- src/components/ToggleShowButton.tsx | 4 +- src/utils/parseIconMapCSV.ts | 49 +++--- 5 files changed, 204 insertions(+), 116 deletions(-) diff --git a/src/assets/icons/file-icons-index.csv b/src/assets/icons/file-icons-index.csv index 553de50..fdaf7b9 100644 --- a/src/assets/icons/file-icons-index.csv +++ b/src/assets/icons/file-icons-index.csv @@ -60,6 +60,7 @@ ng_smart_component_ts2,,page.ts:container.ts ng_smart_component_js2,,page.js:container.js ng_service_ts2,,service.ts ng_service_js2,,service.js +ng_tailwind,ng-tailwind.js, affectscript,,affect ansible,,ansible antlr,,g4 @@ -67,36 +68,46 @@ anyscript,,any apache,,htaccess apex,,cls apib,,apib +api_extractor,api-extractor.json:api-extractor-base.json, apl,,apl applescript,,applescript +appsemble,.appsemblerc.yaml:app-definition.yaml, appveyor,appveyor.yml:.appveyor.yml, arduino,,ino:pde asciidoc,,adoc -asp,,asp:asp +asp,,asp aspx,,aspx:ascx -assembly,,asm:asm +assembly,,asm +astro,,astro +astroconfig,astro.config.js:astro.config.cjs:astro.config.mjs, ats,,ats audio,,aac:act:aiff:amr:ape:au:dct:dss:dvf:flac:gsm:iklax:ivs:m4a:m4b:m4p:mmf:mogg:mp3:mpc:msv:oga:ogg:opus:ra:raw:tta:vox:wav:wma aurelia,aurelia.json, autohotkey,,ahk autoit,,au3 +avif,,avif avro,,avcs +awk,,awk aws,, azure,,azcli azurepipelines,azure-pipelines.yml:.vsts-ci.yml,azure-pipelines.yml -babel,.babelrc:babelrc.js:.babelrc.js:babelrc.json:babel.config.js:.babelignore, -babel2,.babelrc:babelrc.js:.babelrc.js:babelrc.json:babel.config.js:.babelignore, +babel,.babelrc:.babelignore:.babelrc.js:.babelrc.cjs:.babelrc.mjs:.babelrc.json:babel.config.js:babel.config.cjs:babel.config.mjs:babel.config.json, +babel2,.babelrc:.babelignore:.babelrc.js:.babelrc.cjs:.babelrc.mjs:.babelrc.json:babel.config.js:babel.config.cjs:babel.config.mjs:babel.config.json, ballerina,,bal bat,,bat +bats,,bats bazaar,.bzrignore, -bazel,.bazelrc:bazel.rc:bazel.bazelrc,bzl -befunge,,bf:bf +bazel,BUILD.bazel:.bazelrc:bazel.rc:bazel.bazelrc,bzl:bazel +befunge,,bf +bicep,,bicep biml,,biml binary,,a:app:bin:cmo:cmx:cma:cmxa:cmi:dll:exe:hl:ilk:lib:n:ndll:o:obj:pyc:pyd:pyo:pdb:scpt:scptd:so bithound,.bithoundrc, bitbucketpipeline,bitbucket-pipelines.yml, -blade,,blade.php:blade.php +blade,,blade.php +blitzbasic,,bb:blitzbasic bolt,,bolt +bosque,,bsq bower,.bowerrc:bower.json, browserslist,.browserslistrc:browserslist, buckbuild,.buckconfig, @@ -107,28 +118,31 @@ c2,,c c3,,c c_al,,cal cabal,,cabal -caddy,,Caddyfile +caddy,,caddyfile cake,,cake cakephp,, capacitor,capacitor.config.json, cargo,cargo.toml:cargo.lock, +casc,,casc +cddl,,cddl cert,,csr:crt:cer:der:pfx:p12:p7b:p7r:src:crl:sst:stl ceylon,,ceylon -cf,,lucee:cfml:cfml -cf2,,lucee:cfml:cfml +cf,,lucee:cfml +cf2,,lucee:cfml cfc,,cfc cfc2,,cfc cfm,,cfm cfm2,,cfm cheader,,h -chef,chefignore:berksfile:berksfile.lock:policyfile, +chef,chefignore:berksfile:berksfile.lock:policyfile.rb:policyfile.lock.json, class,,class circleci,circle.yml, clojure,,cjm:cljc:clojure clojurescript,,cljs:clojurescript -cloudfoundry,.cfignore, -cmake,,cmake:CMakeCache.txt +cloudfoundry,.cfignore,yml +cmake,,cmake:cmakecache.txt cobol,,cbl +codeql,,ql codacy,.codacy.yml:.codacy.yaml, codeclimate,.codeclimate.yml, codecov,codecov.yml:.codecov.yml, @@ -139,6 +153,7 @@ coffeescript,,coffee conan,conanfile.txt:conanfile.py, conda,.condarc, config,,plist:properties:env +commitlint,commitlint.config.js:.commitlintrc.js:.commitlintrc.json:.commitlintrc.yml, compass,, composer,composer.json:composer.lock, chef_cookbook,,ckbk @@ -147,7 +162,7 @@ coveralls,.coveralls.yml, cpp,,cpp cpp2,,cpp cpp3,,cpp -cppheader,,hpp +cppheader,,hpp:hh:hxx:h++ crowdin,crowdin.yml, crystal,,cr csharp,,csx:cs @@ -166,28 +181,32 @@ dal,,dal darcs,.boringignore, dartlang,,dart db,,db +dependabot,dependabot.yml, dependencies,dependencies.yml, -delphi,,pas:pas -django,,djt:html:html -dlang,,d:d:d:d +delphi,,pas +devcontainer,devcontainer.json, +django,,djt:html +dlang,,d diff,,diff -docker,docker-compose.yml:docker-compose.ci-build.yml:docker-compose.override.yml:docker-compose.vs.debug.yml:docker-compose.vs.release.yml:docker-cloud.yml,dockerfile:dockerignore -docker2,docker-compose.yml:docker-compose.ci-build.yml:docker-compose.override.yml:docker-compose.vs.debug.yml:docker-compose.vs.release.yml:docker-cloud.yml,dockerfile:dockerignore +docker,compose.yaml:compose.yml:docker-compose.yaml:docker-compose.yml:docker-compose.ci-build.yaml:docker-compose.ci-build.yml:docker-compose.override.yaml:docker-compose.override.yml:docker-compose.vs.debug.yaml:docker-compose.vs.debug.yml:docker-compose.vs.release.yaml:docker-compose.vs.release.yml:docker-cloud.yaml:docker-cloud.yml,dockerfile:dockerignore +docker2,compose.yaml:compose.yml:docker-compose.yaml:docker-compose.yml:docker-compose.ci-build.yaml:docker-compose.ci-build.yml:docker-compose.override.yaml:docker-compose.override.yml:docker-compose.vs.debug.yaml:docker-compose.vs.debug.yml:docker-compose.vs.release.yaml:docker-compose.vs.release.yml:docker-cloud.yaml:docker-cloud.yml,dockerfile:dockerignore dockertest,docker-compose.test.yml, dockertest2,docker-compose.test.yml, docpad,,eco docz,.doczrc:docz.js:docz.json:.docz.js:.docz.json:doczrc.js:doczrc.json:docz.config.js:docz.config.json, dojo,.dojorc, doxygen,,dox +drawio,,drawio:dio .drawio.png:.drawio.svg drone,.drone.yml:.drone.yml.sig, drools,,drl dotjs,,dot dustjs,,dust -dylan,,dylan:dylan +dvc,.dvc, +dylan,,dylan editorconfig,.editorconfig, edge,,edge edge2,,edge -eex,,eex:eex +eex,,eex ejs,,ejs elastic,,es elasticbeanstalk,, @@ -201,11 +220,13 @@ eps,,eps erb,,erb erlang,emakefile:.emakerfile,erl erlang2,emakefile:.emakerfile,erl -eslint,.eslintrc:.eslintignore:.eslintcache:.eslintrc.js:.eslintrc.json:.eslintrc.yaml:.eslintrc.yml, -eslint2,.eslintrc:.eslintignore:.eslintcache:.eslintrc.js:.eslintrc.json:.eslintrc.yaml:.eslintrc.yml, +eslint,.eslintrc:.eslintignore:.eslintcache:.eslintrc.js:.eslintrc.mjs:.eslintrc.cjs:.eslintrc.json:.eslintrc.yaml:.eslintrc.yml, +eslint2,.eslintrc:.eslintignore:.eslintcache:.eslintrc.js:.eslintrc.mjs:.eslintrc.cjs:.eslintrc.json:.eslintrc.yaml:.eslintrc.yml, excel,,xls:xlsx:xlsm:ods:fods excel2,,xls:xlsx:xlsm:ods:fods +expo,app.json:app.config.js:app.config.json:app.config.json5, falcon,,falcon +fauna,.faunarc,fql favicon,favicon.ico, fbx,,fbx firebase,.firebaserc, @@ -219,43 +240,51 @@ flow,.flowconfig, flutter,.flutter-plugins:.metadata, flutter_package,pubspec.lock:pubspec.yaml:.packages, font,,woff:woff2:ttf:otf:eot:pfa:pfb:sfd -fortran,,f:f:f:f +fortran,,f fossa,.fossaignore, fossil,ignore-glob, fsharp,,fs fsproj,,fsproj freemarker,,ftl +fthtml,,fthtml fusebox,fuse.js, galen,,gspec galen2,,gspec -git,.gitattributes:.gitconfig:.gitignore:.gitmodules:.gitkeep:.mailmap,git:git +git,.gitattributes:.gitconfig:.gitignore:.gitmodules:.gitkeep:.mailmap,git gamemaker,,gmx:gml gamemaker2,,yy:yyp:gml gamemaker81,,gml gatsby,gatsby-config.js:gatsby-config.ts:gatsby-node.js:gatsby-node.ts:gatsby-browser.js:gatsby-browser.ts:gatsby-ssr.js:gatsby-ssr.ts, gcode,,gcode +genstat,,gen gitlab,.gitlab-ci.yml, +gitpod,.gitpod.yaml:.gitpod.yml:gitpod.yaml:gitpod.yml, glide,glide.yml, +glitter,.glitterrc, glsl,,glsl +glyphs,,glyphs +gnuplot,,gp go,,go go_package,go.sum:go.mod, godot,,gd gradle,,gradle +gradle2,,gradle graphql,.gqlconfig,gql +graphql_config,.graphqlconfig:.graphqlconfig.yml:.graphqlconfig.yaml, graphviz,,gv greenkeeper,greenkeeper.json, gridsome,gridsome.config.js:gridsome.config.ts:gridsome.server.js:gridsome.server.ts:gridsome.client.js:gridsome.client.ts, groovy,,groovy groovy2,,groovy grunt,gruntfile.js:gruntfile.coffee:gruntfile.ts:gruntfile.babel.js:gruntfile.babel.coffee:gruntfile.babel.ts, -gulp,gulpfile.js:gulpfile.coffee:gulpfile.ts:gulpfile.babel.js:gulpfile.babel.coffee:gulpfile.babel.ts, +gulp,gulpfile.js:gulpfile.coffee:gulpfile.ts:gulpfile.mjs:gulpfile.esm.js:gulpfile.esm.coffee:gulpfile.esm.ts:gulpfile.esm.mjs:gulpfile.babel.js:gulpfile.babel.coffee:gulpfile.babel.ts:gulpfile.babel.mjs, haml,,haml handlebars,,hbs handlebars2,,hbs harbour,,prg haskell,,hs:lhs haskell2,,hs:lhs -haxe,haxelib.json,haxe:haxe:haxe +haxe,haxelib.json,haxe haxecheckstyle,checkstyle.json, haxedevelop,,hxproj helix,.p4ignore, @@ -263,18 +292,22 @@ helm,,helm.tpl hjson,,hjson hlsl,,hlsl homeassistant,,yaml +horusec,horusec-config.json, host,,hosts html,,html htmlhint,.htmlhintrc, http,,http -hunspell,,aff:aff -husky,.huskyrc:.huskyrc.js:.huskyrc.json:.huskyrc.yaml:.huskyrc.yml, +hunspell,,aff +husky,.huskyrc:husky.config.js:.huskyrc.js:.huskyrc.json:.huskyrc.yaml:.huskyrc.yml, +hy,,hy +hygen,,ejs.t +hypr,,hypr icl,,icl idris,,idr:lidr idrisbin,,ibc idrispkg,,ipkg image,,jpeg:jpg:gif:png:bmp:tiff:ico -imba,,imba +imba,,imba:imba2 inc,,inc:include infopath,,infopathxml:xsn:xsf:xtp2 informix,,4gl @@ -285,54 +318,63 @@ ionic,ionic.project:ionic.config.json, jake,jakefile:jakefile.js, janet,,janet jar,,jar +jasmine,jasmine.json, java,,java jbuilder,,jbuilder -jest,jest.config.js:jest.json:jest.config.json:.jestrc:.jestrc.js:.jestrc.json, +jest,jest.config.json:jest.config.base.json:jest.config.common.json:jest.config.ts:jest.config.base.ts:jest.config.common.ts:jest.json:.jestrc:.jestrc.js:.jestrc.json:jest.config.js:jest.config.cjs:jest.config.mjs:jest.config.base.js:jest.config.base.cjs:jest.config.base.mjs:jest.config.common.js:jest.config.common.cjs:jest.config.common.mjs:jest.config.babel.js:jest.config.babel.cjs:jest.config.babel.mjs, jest_snapshot,,js.snap:jsx.snap:ts.snap:tsx.snap jekyll,,jekyll -jenkins,,jenkins:jenkins:jenkins +jenkins,,jenkins jinja,,jinja jpm,.jpmignore, js,,js js_official,,js jsbeautify,.jsbeautifyrc:jsbeautifyrc:.jsbeautify:jsbeautify, jsconfig,jsconfig.json, +jscpd,.jscpd.json:jscpd-report.xml:jscpd-report.json:jscpd-report.html, jshint,.jshintrc:.jshintignore, jsmap,,js.map -json,,json:JSON-tmLanguage:jsonc -json_official,,json:JSON-tmLanguage:jsonc -json2,,json:JSON-tmLanguage:jsonc +json,,json:json-tmlanguage:jsonc +json_official,,json:json-tmlanguage:jsonc +json2,,json:json-tmlanguage:jsonc jsonnet,,jsonnet -json5,,json5:json5 +json5,,json5 jsonld,,jsonld:json-ld jsp,,jsp jss,,jss -julia,,jl:jl -julia2,,jl:jl +julia,,jl +julia2,,jl jupyter,,ipynb io,,io iodine,,id karma,karma.conf.js:karma.conf.coffee:karma.conf.ts, key,,key:pem kite,.kiteignore, -kitchenci,.kitchen.yml, +kitchenci,.kitchen.yml:kitchen.yml, kivy,,kv kos,,ks kotlin,,kt +kusto,,.kusto +latino,,lat layout,,master:layout.html:layout.htm layout,layout.html:layout.htm, lerna,lerna.json, less,,less +lex,,flex license,,enc -license,license:licence:license.md:license.txt:licence.md:licence.txt, +license,license:licence:copying:copying.lesser:license.md:license.txt:licence.md:licence.txt:copying.md:copying.txt:copying.lesser.md:copying.lesser.txt, +licensebat,.licrc, +lighthouse,.lighthouserc.js:.lighthouserc.json:.lighthouserc.yaml:.lighthouserc.yml, lisp,,lisp lime,,hxp lime,include.xml, lintstagedrc,.lintstagedrc:lint-staged.config.js:.lintstagedrc.js:.lintstagedrc.json:.lintstagedrc.yaml:.lintstagedrc.yml, liquid,,liquid livescript,,ls +lnk,,lnk locale,, log,,log:tlg +log,,log:tlg lolcode,,lol lsl,,lsl lua,,lua @@ -356,8 +398,9 @@ mercurial,.hgignore, meson,,meson.build meteor,, mjml,,mjml -mlang,,pq:pq +mlang,,pq mocha,mocha.opts:.mocharc.js:.mocharc.json:.mocharc.jsonc:.mocharc.yaml:.mocharc.yml, +modernizr,modernizr:modernizr.js:modernizrrc.js:.modernizr.js:.modernizrrc.js, mojolicious,,ep moleculer,moleculer.config.js:moleculer.config.json:moleculer.config.ts, mongo,,mongo @@ -389,25 +432,31 @@ nest_pipe_ts,,pipe.ts nest_service_js,,service.js nest_service_ts,,service.ts netlify,netlify.toml, +next,next.config.js, nginx,nginx.conf, -nim,,nim:nim +nim,,nim +nimble,,nimble ninja,build.ninja, +nix,,nix njsproj,,njsproj node,.node-version:.nvmrc, node2,.node-version:.nvmrc, nodemon,nodemon.json, npm,.npmignore:.npmrc:package.json:package-lock.json:npm-shrinkwrap.json, -nsi,,nsi:nsi:nsi:nsi -nsri,.nsrirc:.nsriignore:.nsrirc.js:.nsrirc.json:.nsrirc.yaml:.nsrirc.yml:.nsrirc.config.js, +nsi,,nsi +nsri,.nsrirc:.nsriignore:nsri.config.js:.nsrirc.js:.nsrirc.json:.nsrirc.yaml:.nsrirc.yml, nsri-integrity,.integrity.json, -nuget,,nupkg:nuspec:psmdcp +nuget,,nupkg:snupkg:nuspec:psmdcp +numpy,,npy:npz nunjucks,,nunj:njs:nunjucks nuxt,nuxt.config.js:nuxt.config.ts, nyc,.nycrc:.nycrc.json, objectivec,,m objectivecpp,,mm -ocaml,.merlin,ml:ml:ml +ocaml,.merlin,ml +ogone,,o3 onenote,,one:onepkg:onetoc:onetoc2:sig +openscad,,scad opencl,,cl:opencl openHAB,,things org,,org @@ -436,18 +485,20 @@ phpunit,phpunit:phpunit.xml:phpunit.xml.dist, phraseapp,.phraseapp.yml, pine,,pine pip,pipfile:pipfile.lock,requirements.txt -platformio,platformio.ini,dbgasm:dbgasm:dbgasm +pipeline,,pipeline +platformio,platformio.ini,dbgasm plantuml,,pu:plantuml:iuml:puml -plsql,,ddl:ddl +plsql,,ddl plsql_package,,pck plsql_package_body,,pkb plsql_package_header,,pkh plsql_package_spec,,pks +pnpm,pnpmfile.js:pnpm-lock.yaml:pnpm-workspace.yaml, poedit,,po:mo polymer,,polymer pony,,pony postcss,,pcss -postcssconfig,.postcssrc:.postcssrc.json:.postcssrc.yml:.postcssrc.js:postcss.config.js, +postcssconfig,.postcssrc:.postcssrc.json:.postcssrc.yaml:.postcssrc.yml:.postcssrc.ts:.postcssrc.js:.postcssrc.cjs:postcss.config.ts:postcss.config.js:postcss.config.cjs, powerpoint,,pot:potx:potm:pps:ppsx:ppsm:ppt:pptx:pptm:pa:ppa:ppam:sldm:sldx powerpoint2,,pot:potx:potm:pps:ppsx:ppsm:ppt:pptx:pptm:pa:ppa:ppam:sldm:sldx powershell,,ps1 @@ -460,15 +511,15 @@ powershell_psm2,,psm1 powershell_psd2,,psd1 precommit,.pre-commit-config.yaml, prettier,.prettierrc:.prettierignore, -prettier,prettier.config.js:prettier.config.ts:prettier.config.coffee, -prettier,.prettierrc.js:.prettierrc.json:.prettierrc.yml:.prettierrc.yaml, +prettier,prettier.config.js:prettier.config.cjs:prettier.config.ts:prettier.config.coffee, +prettier,.prettierrc.js:.prettierrc.cjs:.prettierrc.json:.prettierrc.json5:.prettierrc.yml:.prettierrc.yaml, prisma,,prisma processinglang,,pde procfile,procfile, progress,,w -prolog,,pro:P:pro +prolog,,pro:P prometheus,,rules -protobuf,,proto:proto +protobuf,,proto protractor,protractor.conf.js:protractor.conf.coffee:protractor.conf.ts, publisher,,pub:puz puppet,,pp @@ -476,6 +527,7 @@ pug,.jade-lintrc:.pug-lintrc:.jade-lint.json:.pug-lintrc.js:.pug-lintrc.json,pug purescript,,purs pyret,,arr python,,py +pytyped,py.typed, pyup,.pyup:.pyup.yml, q,,q qbs,,qbs @@ -490,7 +542,7 @@ rails,, rake,,rake rake,rakefile, raml,,raml -razor,,cshtml:cshtml +razor,,cshtml razzle,razzle.config.js, reactjs,,jsx reacttemplate,,rt @@ -498,22 +550,29 @@ reactts,,tsx reason,,re red,,red registry,,reg +rego,,rego rehype,.rehyperc:.rehypeignore:.rehyperc.js:.rehyperc.json:.rehyperc.yml:.rehyperc.yaml, remark,.remarkrc:.remarkignore:.remarkrc.js:.remarkrc.json:.remarkrc.yml:.remarkrc.yaml, renovate,.renovaterc:renovate.json:.renovaterc.json, +rescript,,res rest,,rst retext,.retextrc:.retextignore:.retextrc.js:.retextrc.json:.retextrc.yml:.retextrc.yaml, +rexx,,rex riot,,tag robotframework,,robot robots,robots.txt, -rollup,rollup.config.js:rollup.config.mjs:rollup.config.coffee:rollup.config.ts:rollup.config.common.js:rollup.config.common.mjs:rollup.config.common.coffee:rollup.config.common.ts:rollup.config.dev.js:rollup.config.dev.mjs:rollup.config.dev.coffee:rollup.config.dev.ts:rollup.config.prod.js:rollup.config.prod.mjs:rollup.config.prod.coffee:rollup.config.prod.ts, +rollup,rollup.config.js:rollup.config.cjs:rollup.config.mjs:rollup.config.coffee:rollup.config.ts:rollup.config.common.js:rollup.config.common.cjs:rollup.config.common.mjs:rollup.config.common.coffee:rollup.config.common.ts:rollup.config.dev.js:rollup.config.dev.cjs:rollup.config.dev.mjs:rollup.config.dev.coffee:rollup.config.dev.ts:rollup.config.prod.js:rollup.config.prod.cjs:rollup.config.prod.mjs:rollup.config.prod.coffee:rollup.config.prod.ts, +rmd,,rmd rproj,,rproj rspec,.rspec, rubocop,.rubocop.yml:.rubocop_todo.yml, ruby,,rb rust,,rs +rust_toolchain,rust-toolchain, +sails,.sailsrc, saltstack,,sls san,,san +sas,,sas sass,,sass sbt,,sbt scala,,scala @@ -522,9 +581,9 @@ scss,,scssm:scss scilab,,sce sdlang,,sdl sentry,.sentryclirc, -serverless,serverless.yml, +serverless,serverless.yml:serverless.json:serverless.js:serverless.ts, sequelize,.sequelizerc:.sequelizerc.js:.sequelizerc.json, -shaderlab,,shader +shaderlab,,unity:shader shell,,fish:sh sketch,,sketch slang,,slang @@ -533,7 +592,7 @@ slim,,slim sln,,sln sln2,,sln silverstripe,,ss -skipper,,eskip:eskip +skipper,,eskip smarty,,tpl snapcraft,snapcraft.yaml, snort,,snort @@ -541,6 +600,8 @@ snyk,.snyk, solidarity,.solidarity:.solidarity.json, solidity,,sol source,, +spacengine,,spe +sparql,,rq sqf,,sqf sql,,sql sqlite,,sqlite:sqlite3:db3 @@ -550,52 +611,61 @@ stan,,stan stata,,dta:do stencil,,stencil:html.stencil style,, -stylelint,.stylelintrc:.stylelintignore:.stylelintcache:stylelint.config.js:stylelint.config.json:stylelint.config.yaml:stylelint.config.yml:stylelint.config.ts:.stylelintrc.js:.stylelintrc.json:.stylelintrc.yaml:.stylelintrc.yml:.stylelintrc.ts, +stylelint,.stylelintrc:.stylelintignore:.stylelintcache:stylelint.config.js:stylelint.config.json:stylelint.config.yaml:stylelint.config.yml:stylelint.config.ts:stylelint.config.cjs:.stylelintrc.js:.stylelintrc.json:.stylelintrc.yaml:.stylelintrc.yml:.stylelintrc.ts:.stylelintrc.cjs, stylable,,st.css styled,,styled +stylish_haskell,.stylish-haskell.yaml, stylus,,styl storyboard,,storyboard -storybook,,story.js:story.jsx:story.ts:story.tsx:stories.js:stories.jsx:stories.ts:stories.tsx +storybook,,story.js:story.jsx:story.ts:story.tsx:story.mdx:stories.js:stories.jsx:stories.ts:stories.tsx:stories.mdx subversion,.svnignore, svelte,,svelte svg,,svg -swagger,,swagger:swagger +swagger,,swagger swift,package.pins,swift swig,,swig symfony,symfony.lock, systemd,,link systemverilog,,sv t4tt,,tt -tailwind,tailwind.js:tailwind.coffee:tailwind.ts:tailwind.config.js:tailwind.config.coffee:tailwind.config.ts, +tailwind,tailwind.js:tailwind.cjs:tailwind.coffee:tailwind.ts:tailwind.json:tailwind.config.js:tailwind.config.cjs:tailwind.config.coffee:tailwind.config.ts:tailwind.config.json, +teal,,teal tt,,tt2:tt3 tcl,,tcl:exp tera,,tera terraform,,tfstate:tf test,,tst +testcafe,.testcaferc.json, testjs,,test.js:test.jsx:test.mjs:spec.js:spec.jsx:spec.mjs testts,,test.ts:test.tsx:spec.ts:spec.tsx:e2e-test.ts:e2e-test.tsx:e2e-spec.ts:e2e-spec.tsx tex,,texi:tikz:sty:tex:bib:dtx -text,,csv:txt +text,,csv:tsv:txt textile,,textile +tiltfile,,tiltfile tfs,.tfignore, todo,,todo toml,,toml -tox,.ini, +tox,tox.ini, travis,.travis.yml, -tsconfig,tsconfig.json:tsconfig.app.json:tsconfig.spec.json:tsconfig.e2e.json:tsconfig.base.json:tsconfig.common.json:tsconfig.dev.json:tsconfig.development.json:tsconfig.staging.json:tsconfig.test.json:tsconfig.prod.json:tsconfig.production.json, +tsconfig,tsconfig.json:tsconfig.app.json:tsconfig.base.json:tsconfig.common.json:tsconfig.dev.json:tsconfig.development.json:tsconfig.e2e.json:tsconfig.prod.json:tsconfig.production.json:tsconfig.server.json:tsconfig.spec.json:tsconfig.staging.json:tsconfig.test.json:tsconfig.lib.json:tsconfig.lib.prod.json, +tsconfig_official,tsconfig.json:tsconfig.app.json:tsconfig.base.json:tsconfig.common.json:tsconfig.dev.json:tsconfig.development.json:tsconfig.e2e.json:tsconfig.prod.json:tsconfig.production.json:tsconfig.server.json:tsconfig.spec.json:tsconfig.staging.json:tsconfig.test.json:tsconfig.lib.json:tsconfig.lib.prod.json, tslint,tslint.json:tslint.yaml:tslint.yml, ttcn,,ttcn3 +tuc,,tuc twig,,twig +typedoc,typedoc.js:typedoc.json, typescript,,ts typescript_official,,ts typescriptdef,,d.ts typescriptdef_official,,d.ts typo3,,typoscript unibeautify,.unibeautifyrc:unibeautify.config.js:.unibeautifyrc.js:.unibeautifyrc.json:.unibeautifyrc.yaml:.unibeautifyrc.yml, +unlicense,unlicense:unlicence:unlicense.md:unlicense.txt:unlicence.md:unlicence.txt, vagrant,vagrantfile, vala,,vala vapi,,vapi vash,,vash +vapor,vapor.yml, vb,,vb vba,,cls vbhtml,,vbhtml @@ -607,6 +677,7 @@ vhdl,,vhdl video,,3g2:3gp:asf:amv:avi:divx:qt:f4a:f4b:f4p:f4v:flv:m2v:m4v:mkv:mk3d:mov:mp2:mp4:mpe:mpeg:mpeg2:mpg:mpv:nsv:ogv:rm:rmvb:svi:vob:webm:wmv view,, vim,.vimrc:.gvimrc,vim +vite,vite.config.js:vite.config.ts, vlang,,v volt,,volt vscode,.vscodeignore:launch.json:tasks.json:vscodeignore.json, @@ -619,30 +690,34 @@ vue,,vue vueconfig,.vuerc:vue.config.js, wallaby,wallaby.json:wallaby.js:wallaby.ts:wallaby.coffee:wallaby.conf.json:wallaby.conf.js:wallaby.conf.ts:wallaby.conf.coffee:.wallaby.json:.wallaby.js:.wallaby.ts:.wallaby.coffee:.wallaby.conf.json:.wallaby.conf.js:.wallaby.conf.ts:.wallaby.conf.coffee, watchmanconfig,.watchmanconfig, -wasm,,wasm:wasm:wasm +wasm,,wasm webp,,webp -webpack,webpack.base.conf.js:webpack.base.conf.coffee:webpack.base.conf.ts:webpack.common.js:webpack.common.coffee:webpack.common.ts:webpack.config.js:webpack.config.coffee:webpack.config.ts:webpack.config.base.js:webpack.config.base.coffee:webpack.config.base.ts:webpack.config.common.js:webpack.config.common.coffee:webpack.config.common.ts:webpack.config.dev.js:webpack.config.dev.coffee:webpack.config.dev.ts:webpack.config.development.js:webpack.config.development.coffee:webpack.config.development.ts:webpack.config.staging.js:webpack.config.staging.coffee:webpack.config.staging.ts:webpack.config.test.js:webpack.config.test.coffee:webpack.config.test.ts:webpack.config.prod.js:webpack.config.prod.coffee:webpack.config.prod.ts:webpack.config.production.js:webpack.config.production.coffee:webpack.config.production.ts:webpack.config.babel.js:webpack.config.babel.coffee:webpack.config.babel.ts:webpack.config.base.babel.js:webpack.config.base.babel.coffee:webpack.config.base.babel.ts:webpack.config.common.babel.js:webpack.config.common.babel.coffee:webpack.config.common.babel.ts:webpack.config.dev.babel.js:webpack.config.dev.babel.coffee:webpack.config.dev.babel.ts:webpack.config.development.babel.js:webpack.config.development.babel.coffee:webpack.config.development.babel.ts:webpack.config.staging.babel.js:webpack.config.staging.babel.coffee:webpack.config.staging.babel.ts:webpack.config.test.babel.js:webpack.config.test.babel.coffee:webpack.config.test.babel.ts:webpack.config.prod.babel.js:webpack.config.prod.babel.coffee:webpack.config.prod.babel.ts:webpack.config.production.babel.js:webpack.config.production.babel.coffee:webpack.config.production.babel.ts:webpack.dev.js:webpack.dev.coffee:webpack.dev.ts:webpack.dev.conf.js:webpack.dev.conf.coffee:webpack.dev.conf.ts:webpack.prod.js:webpack.prod.coffee:webpack.prod.ts:webpack.prod.conf.js:webpack.prod.conf.coffee:webpack.prod.conf.ts:webpack.mix.js:webpack.mix.coffee:webpack.mix.ts:webpack.test.conf.js:webpack.test.conf.coffee:webpack.test.conf.ts, +webpack,webpack.base.conf.js:webpack.base.conf.coffee:webpack.base.conf.ts:webpack.common.js:webpack.common.coffee:webpack.common.ts:webpack.config.js:webpack.config.coffee:webpack.config.ts:webpack.config.base.js:webpack.config.base.coffee:webpack.config.base.ts:webpack.config.common.js:webpack.config.common.coffee:webpack.config.common.ts:webpack.config.dev.js:webpack.config.dev.coffee:webpack.config.dev.ts:webpack.config.development.js:webpack.config.development.coffee:webpack.config.development.ts:webpack.config.staging.js:webpack.config.staging.coffee:webpack.config.staging.ts:webpack.config.test.js:webpack.config.test.coffee:webpack.config.test.ts:webpack.config.prod.js:webpack.config.prod.coffee:webpack.config.prod.ts:webpack.config.production.js:webpack.config.production.coffee:webpack.config.production.ts:webpack.config.babel.js:webpack.config.babel.coffee:webpack.config.babel.ts:webpack.config.base.babel.js:webpack.config.base.babel.coffee:webpack.config.base.babel.ts:webpack.config.common.babel.js:webpack.config.common.babel.coffee:webpack.config.common.babel.ts:webpack.config.dev.babel.js:webpack.config.dev.babel.coffee:webpack.config.dev.babel.ts:webpack.config.development.babel.js:webpack.config.development.babel.coffee:webpack.config.development.babel.ts:webpack.config.staging.babel.js:webpack.config.staging.babel.coffee:webpack.config.staging.babel.ts:webpack.config.test.babel.js:webpack.config.test.babel.coffee:webpack.config.test.babel.ts:webpack.config.prod.babel.js:webpack.config.prod.babel.coffee:webpack.config.prod.babel.ts:webpack.config.production.babel.js:webpack.config.production.babel.coffee:webpack.config.production.babel.ts:webpack.dev.js:webpack.dev.coffee:webpack.dev.ts:webpack.dev.conf.js:webpack.dev.conf.coffee:webpack.dev.conf.ts:webpack.prod.js:webpack.prod.coffee:webpack.prod.ts:webpack.prod.conf.js:webpack.prod.conf.coffee:webpack.prod.conf.ts:webpack.main.config.js:webpack.main.config.coffee:webpack.main.config.ts:webpack.mix.js:webpack.mix.coffee:webpack.mix.ts:webpack.plugins.js:webpack.plugins.coffee:webpack.plugins.ts:webpack.renderer.config.js:webpack.renderer.config.coffee:webpack.renderer.config.ts:webpack.rules.js:webpack.rules.coffee:webpack.rules.ts:webpack.test.conf.js:webpack.test.conf.coffee:webpack.test.conf.ts, +wenyan,,wy wercker,wercker.yml, wolfram,,wl word,,doc:docx:docm:dot:dotx:dotm:wll word2,,doc:docx:docm:dot:dotx:dotm:wll wpml,wpml-config.xml, -wurst,,wurst:wurst +wurst,,wurst wxml,,wxml wxss,,wxss xcode,,xcodeproj xfl,,xfl xib,,xib xliff,,xliff:xlf +xmake,,xmake.lua xml,,pex:tmlanguage:xml xquery,,xquery xsl,,xsl -yaml,,yaml:YAML-tmLanguage +yacc,,bison +yaml,,yaml:yaml-tmlanguage yamllint,.yamllint, yandex,.yaspellerrc:.yaspeller.json, yang,,yang -yarn,yarn.lock:.yarnrc:.yarnclean:.yarn-integrity:.yarn-metadata.json:.yarnignore, +yarn,yarn.lock:.yarnrc:.yarnrc.yml:.yarnclean:.yarn-integrity:.yarn-metadata.json:.yarnignore, yeoman,.yo-rc.json, -zeit,now.json:.nowignore, -zip,,zip:rar:7z:tar:gz:bzip2:xz:bz2 -zip2,,zip:rar:7z:tar:gz:bzip2:xz:bz2 +zeit,now.json:.nowignore:vercel.json:.vercelignore, +zig,,zig +zip,,zip:rar:7z:tar:tgz:bz:gz:bzip2:xz:bz2:zipx +zip2,,zip:rar:7z:tar:tgz:bz:gz:bzip2:xz:bz2:zipx \ No newline at end of file diff --git a/src/assets/icons/folder-icons-index.csv b/src/assets/icons/folder-icons-index.csv index 234657c..62f18f4 100644 --- a/src/assets/icons/folder-icons-index.csv +++ b/src/assets/icons/folder-icons-index.csv @@ -1,7 +1,7 @@ folder, root_folder, android,android -api,api:.api +api,api:.api:apis:.apis app,app:.app arangodb,arangodb:arango asset,assets:.assets @@ -11,6 +11,7 @@ aws,aws:.aws azure,azure:.azure azurepipelines,azure-pipelines:.azure-pipelines binary,bin:.bin +bloc,blocs:bloc blueprint,blueprint:.blueprint:blueprints:.blueprints bower,bower_components buildkite,.buildkite @@ -18,24 +19,29 @@ cake,cake:.cake certificate,certificates:.certificates:certs:certs. chef,chef:.chef circleci,.circleci -controller,controllers:.controllers:handlers:.handlers -component,components:.components:widgets +controller,controller:controllers:.controllers:handlers:.handlers +component,component:components:.components:widgets composer,composer:.composer cli,cli:cmd:command:commands:commandline:console -client,client +client,client:clients cmake,.cmake:cmake -config,config:.config:configs:.configs:configuration:.configuration:configurations:.configurations:setting:.setting:settings:.settings:ini:.ini:initializers:.initializers +config,conf:.conf:config:.config:configs:.configs:configuration:.configuration:configurations:.configurations:setting:.setting:settings:.settings:ini:.ini:initializers:.initializers coverage,coverage css,css:_css +cubit,cubits:cubit cypress,cypress +dapr,.dapr:dapr db,db:database:sql:data:repo:repository:repositories -debian,debian -dist,dist:dists:out:outs:export:exports:build:builds:release:releases:target:targets +debian,debian:deb +dependabot,.dependabot +devcontainer,.devcontainer +dist,dist:.dist:dists:out:outs:export:exports:build:.build:builds:release:releases:target:targets docker,docker:.docker docs,docs:doc e2e,e2e elasticbeanstalk,.elasticbeanstalk:.ebextensions electron,electron +expo,.expo:.expo-shared favicon,favicon:favicons flow,flow:flow-typed fonts,fonts:font:fnt @@ -48,18 +54,20 @@ graphql,graphql grunt,grunt gulp,gulp:gulpfile.js:gulpfile.coffee:gulpfile.ts:gulpfile.babel.js:gulpfile.babel.coffee:gulpfile.babel.ts haxelib,.haxelib:haxe_libraries -helper,helpers:.helpers +helper,helper:.helper:helpers:.helpers +hook,hook:.hook:hooks:.hooks +husky,.husky idea,.idea images,images:image:img:icons:icon:ico:screenshot:screenshots:svg include,include:includes:incl:inc:.include:.includes:.incl:.inc:_include:_includes:_incl:_inc -interfaces,interfaces +interfaces,interface:interfaces ios,ios js,js json,json json_official,json kubernetes,kubernetes:k8s:kube:kuber:.kubernetes:.k8s:.kube:.kuber less,less:_less -library,lib:.lib:library +library,lib:libs:.lib:.libs:library:libraries linux,linux locale,lang:language:languages:locale:locales:_locale:_locales:internationalization:globalization:localization:i18n:g11n:l10n log,log:logs @@ -67,14 +75,15 @@ macos,macos:darwin mariadb,mariadb:maria maven,.mvn memcached,memcached:.memcached -middleware,middleware +middleware,middleware:middlewares mjml,mjml:.mjml minikube,minikube:minik8s:minikuber mock,mocks:.mocks:__mocks__ -model,models:.models:entities:.entities +model,model:.model:models:.models:entities:.entities module,modules mongodb,mongodb:mongo mysql,mysqldb:mysql +next,.next nginx,nginx:conf.d node,node_modules notification,notification:notifications:event:events @@ -92,20 +101,21 @@ ravendb,ravendb route,route:routes:_route:_routes:routers redux,redux meteor,.meteor +nuxt,.nuxt sass,sass:scss:_sass:_scss script,script:scripts server,server -services,services +services,service:services src,src:source:sources sso,sso -story,stories:__stories__ +story,story:stories:__stories__:.storybook style,style:styles test,tests:.tests:test:.test:__tests__:__test__:spec:.spec:specs:.specs temp,temp:.temp:tmp:.tmp template,template:.template:templates:.templates theme,theme:themes travis,.travis -tools,tools:.tools:util:utils +tools,tool:tools:.tools:util:utils typescript,typescript:ts typings,typings:@types typings2,typings:@types @@ -122,4 +132,4 @@ vscode_test2,.vscode-test vscode_test3,.vscode-test webpack,webpack windows,windows:win32 -www,www:wwwroot +www,www:wwwroot \ No newline at end of file diff --git a/src/components/Node.tsx b/src/components/Node.tsx index 8fa2ff0..739abad 100644 --- a/src/components/Node.tsx +++ b/src/components/Node.tsx @@ -2,7 +2,7 @@ import { useConfigs } from 'containers/ConfigsContext' import * as React from 'react' import { cx } from 'utils/cx' import { OperatingSystems, os } from 'utils/general' -import { getFileIconSrc, getFolderIconSrc } from 'utils/parseIconMapCSV' +import { getFileIconURL, getFolderIconURL } from 'utils/parseIconMapCSV' import { Icon } from './Icon' function getIconType(node: TreeNode) { @@ -81,7 +81,7 @@ const NodeItemIcon = React.memo(function NodeItemIcon({ } = useConfigs() const src = React.useMemo( - () => (node.type === 'tree' ? getFolderIconSrc(node, open) : getFileIconSrc(node)), + () => (node.type === 'tree' ? getFolderIconURL(node, open) : getFileIconURL(node)), [open], ) diff --git a/src/components/ToggleShowButton.tsx b/src/components/ToggleShowButton.tsx index 243e3c7..85fdb4e 100644 --- a/src/components/ToggleShowButton.tsx +++ b/src/components/ToggleShowButton.tsx @@ -1,4 +1,4 @@ -import iconSrc from 'assets/icons/Gitako.png' +import iconURL from 'assets/icons/Gitako.png' import { useConfigs } from 'containers/ConfigsContext' import * as React from 'react' import { useDebounce, useWindowSize } from 'react-use' @@ -60,7 +60,7 @@ export function ToggleShowButton({ error, className, onClick, onHover }: Props) {toggleIconMode === 'octoface' ? ( ) : ( - + )} {error && {error}} diff --git a/src/utils/parseIconMapCSV.ts b/src/utils/parseIconMapCSV.ts index 530d15f..a820307 100644 --- a/src/utils/parseIconMapCSV.ts +++ b/src/utils/parseIconMapCSV.ts @@ -1,25 +1,29 @@ import rawFileIconIndex from 'assets/icons/file-icons-index.csv' import rawFolderIconIndex from 'assets/icons/folder-icons-index.csv' +const rowSeparator = '\n' +const colSeparator = ',' +const arraySeparator = ':' + function parseFileIconMapCSV() { const filenameIndex = new Map() const fileExtensionIndex = new Map() - rawFileIconIndex.split('\n').forEach(line => { - if (!line) return - const [name, names, exts] = line.split(',') + for (const line of rawFileIconIndex.split(rowSeparator)) { + if (!line) continue + const [name, names, exts] = line.split(colSeparator) if (names) { - names.split(':').forEach(filename => { - if (!filename) return + for (const filename of names.split(arraySeparator)) { + if (!filename) continue filenameIndex.set(filename, name) - }) + } } if (exts) { - exts.split(':').forEach(ext => { - if (!ext) return + for (const ext of exts.split(arraySeparator)) { + if (!ext) continue fileExtensionIndex.set(ext, name) - }) + } } - }) + } return { filenameIndex, fileExtensionIndex, @@ -28,14 +32,14 @@ function parseFileIconMapCSV() { function parseFolderIconMapCSV() { const folderNameIndex = new Map() - rawFolderIconIndex.split('\n').forEach(line => { - if (!line) return - const [name, names] = line.split(',') - names.split(':').forEach(folderName => { - if (!folderName) return + for (const line of rawFolderIconIndex.split(rowSeparator)) { + if (!line) continue + const [name, names] = line.split(colSeparator) + for (const folderName of names.split(arraySeparator)) { + if (!folderName) continue folderNameIndex.set(folderName, name) - }) - }) + } + } return { folderNameIndex, } @@ -43,32 +47,31 @@ function parseFolderIconMapCSV() { const { folderNameIndex } = parseFolderIconMapCSV() -export function getFolderIconSrc(node: TreeNode, open: boolean) { +export function getFolderIconURL(node: TreeNode, open: boolean) { const name = folderNameIndex.get(node.name.toLowerCase()) - return getIconSrc('folder', name, open) + return getIconURL('folder', name, open) } const { filenameIndex, fileExtensionIndex } = parseFileIconMapCSV() -export function getFileIconSrc(node: TreeNode) { +export function getFileIconURL(node: TreeNode) { const fileName = node.name.toLowerCase() let iconName = filenameIndex.get(fileName) if (!iconName) { const tail = fileName.split('.') - tail.shift() while (!iconName && tail.length > 0) { iconName = fileExtensionIndex.get(tail.join('.')) tail.shift() } } - return getIconSrc('file', iconName) + return getIconURL('file', iconName) } // memorize for // 1. swap time with space // 2. prevent app crash on when extension context invalidates const extensionURL = browser.runtime.getURL('').replace(/\/$/, '') -export function getIconSrc(type: 'folder' | 'file', name: string = 'default', open?: boolean) { +export function getIconURL(type: 'folder' | 'file', name: string = 'default', open?: boolean) { const filename = (name === 'default' ? 'default_' + type : type + '_type_' + name) + (open ? '_opened' : '') +