perf(plugin-md-power): support more file-tree icons (#197)
This commit is contained in:
parent
39ad1c56d2
commit
defa4d28ce
@ -54,10 +54,48 @@ export const definitions: Definitions = {
|
||||
astro: 'vscode-icons:file-type-light-astro',
|
||||
Astro: 'vscode-icons:file-type-light-astro',
|
||||
|
||||
vitest: 'vscode-icons:file-type-vitest',
|
||||
Vitest: 'vscode-icons:file-type-vitest',
|
||||
playwright: 'vscode-icons:file-type-playwright',
|
||||
Playwright: 'vscode-icons:file-type-playwright',
|
||||
jest: 'vscode-icons:file-type-jest',
|
||||
Jest: 'vscode-icons:file-type-jest',
|
||||
cypress: 'vscode-icons:file-type-cypress',
|
||||
Cypress: 'vscode-icons:file-type-cypress',
|
||||
|
||||
docker: 'vscode-icons:file-type-docker',
|
||||
Docker: 'vscode-icons:file-type-docker',
|
||||
|
||||
// TODO: code group title icons
|
||||
// programming languages
|
||||
html: 'vscode-icons:file-type-html',
|
||||
Html: 'vscode-icons:file-type-html',
|
||||
HTML: 'vscode-icons:file-type-html',
|
||||
javascript: 'vscode-icons:file-type-js-official',
|
||||
Javascript: 'vscode-icons:file-type-js-official',
|
||||
JavaScript: 'vscode-icons:file-type-js-official',
|
||||
js: 'vscode-icons:file-type-js-official',
|
||||
JS: 'vscode-icons:file-type-js-official',
|
||||
typescript: 'vscode-icons:file-type-typescript-official',
|
||||
Typescript: 'vscode-icons:file-type-typescript-official',
|
||||
TypeScript: 'vscode-icons:file-type-typescript-official',
|
||||
ts: 'vscode-icons:file-type-typescript-official',
|
||||
TS: 'vscode-icons:file-type-typescript-official',
|
||||
css: 'vscode-icons:file-type-css',
|
||||
CSS: 'vscode-icons:file-type-css',
|
||||
less: 'vscode-icons:file-type-less',
|
||||
Less: 'vscode-icons:file-type-less',
|
||||
scss: 'vscode-icons:file-type-scss',
|
||||
Scss: 'vscode-icons:file-type-scss',
|
||||
SCSS: 'vscode-icons:file-type-scss',
|
||||
sass: 'vscode-icons:file-type-sass',
|
||||
Sass: 'vscode-icons:file-type-sass',
|
||||
SASS: 'vscode-icons:file-type-sass',
|
||||
stylus: 'vscode-icons:file-type-light-stylus',
|
||||
Stylus: 'vscode-icons:file-type-light-stylus',
|
||||
postcss: 'vscode-icons:file-type-postcss',
|
||||
Postcss: 'vscode-icons:file-type-postcss',
|
||||
PostCSS: 'vscode-icons:file-type-postcss',
|
||||
java: 'vscode-icons:file-type-java',
|
||||
Java: 'vscode-icons:file-type-java',
|
||||
JAVA: 'vscode-icons:file-type-java',
|
||||
@ -67,40 +105,147 @@ export const definitions: Definitions = {
|
||||
C: 'vscode-icons:file-type-c',
|
||||
python: 'vscode-icons:file-type-python',
|
||||
Python: 'vscode-icons:file-type-python',
|
||||
kotlin: 'vscode-icons:file-type-kotlin',
|
||||
Kotlin: 'vscode-icons:file-type-kotlin',
|
||||
go: 'vscode-icons:file-type-go-gopher',
|
||||
golang: 'vscode-icons:file-type-go-gopher',
|
||||
Go: 'vscode-icons:file-type-go-gopher',
|
||||
GoLang: 'vscode-icons:file-type-go-gopher',
|
||||
rust: 'vscode-icons:file-type-rust',
|
||||
Rust: 'vscode-icons:file-type-rust',
|
||||
zig: 'vscode-icons:file-type-zig',
|
||||
Zig: 'vscode-icons:file-type-zig',
|
||||
swift: 'vscode-icons:file-type-swift',
|
||||
Swift: 'vscode-icons:file-type-swift',
|
||||
},
|
||||
folders: {
|
||||
'default': 'vscode-icons:default-folder',
|
||||
|
||||
'src': 'vscode-icons:folder-type-src',
|
||||
'dist': 'vscode-icons:folder-type-dist',
|
||||
'docs': 'vscode-icons:folder-type-docs',
|
||||
'scripts': 'vscode-icons:folder-type-script',
|
||||
'shared': 'vscode-icons:folder-type-shared',
|
||||
'cli': 'vscode-icons:folder-type-cli',
|
||||
'srcs': 'vscode-icons:folder-type-src',
|
||||
'source': 'vscode-icons:folder-type-src',
|
||||
'sources': 'vscode-icons:folder-type-src',
|
||||
'code': 'vscode-icons:folder-type-src',
|
||||
'tauri-src': 'vscode-icons:folder-type-tauri',
|
||||
|
||||
'dist': 'vscode-icons:folder-type-dist',
|
||||
'out': 'vscode-icons:folder-type-dist',
|
||||
'output': 'vscode-icons:folder-type-dist',
|
||||
'release': 'vscode-icons:folder-type-dist',
|
||||
'bin': 'vscode-icons:folder-type-dist',
|
||||
'distribution': 'vscode-icons:folder-type-dist',
|
||||
|
||||
'docs': 'vscode-icons:folder-type-docs',
|
||||
'doc': 'vscode-icons:folder-type-docs',
|
||||
'document': 'vscode-icons:folder-type-docs',
|
||||
'documents': 'vscode-icons:folder-type-docs',
|
||||
'documentation': 'vscode-icons:folder-type-docs',
|
||||
'post': 'vscode-icons:folder-type-docs',
|
||||
'posts': 'vscode-icons:folder-type-docs',
|
||||
'article': 'vscode-icons:folder-type-docs',
|
||||
'articles': 'vscode-icons:folder-type-docs',
|
||||
|
||||
'scripts': 'vscode-icons:folder-type-script',
|
||||
'script': 'vscode-icons:folder-type-script',
|
||||
|
||||
'node_modules': 'vscode-icons:folder-type-light-node',
|
||||
|
||||
'cli': 'vscode-icons:folder-type-cli',
|
||||
|
||||
'template': 'vscode-icons:folder-type-template',
|
||||
'templates': 'vscode-icons:folder-type-template',
|
||||
|
||||
'theme': 'vscode-icons:folder-type-theme',
|
||||
'themes': 'vscode-icons:folder-type-theme',
|
||||
'color': 'vscode-icons:folder-type-theme',
|
||||
'colors': 'vscode-icons:folder-type-theme',
|
||||
'design': 'vscode-icons:folder-type-theme',
|
||||
'designs': 'vscode-icons:folder-type-theme',
|
||||
|
||||
'packages': 'vscode-icons:folder-type-package',
|
||||
'tools': 'vscode-icons:folder-type-tools',
|
||||
'package': 'vscode-icons:folder-type-package',
|
||||
'pkg': 'vscode-icons:folder-type-package',
|
||||
'pkgs': 'vscode-icons:folder-type-package',
|
||||
|
||||
'shared': 'vscode-icons:folder-type-shared',
|
||||
'utils': 'vscode-icons:folder-type-tools',
|
||||
'util': 'vscode-icons:folder-type-tools',
|
||||
'utility': 'vscode-icons:folder-type-tools',
|
||||
'utilities': 'vscode-icons:folder-type-tools',
|
||||
'helper': 'vscode-icons:folder-type-helper',
|
||||
'helpers': 'vscode-icons:folder-type-helper',
|
||||
'tools': 'vscode-icons:folder-type-tools',
|
||||
'toolkit': 'vscode-icons:folder-type-tools',
|
||||
'toolkits': 'vscode-icons:folder-type-tools',
|
||||
'tooling': 'vscode-icons:folder-type-tools',
|
||||
'devtools': 'vscode-icons:folder-type-tools',
|
||||
|
||||
'component': 'vscode-icons:folder-type-component',
|
||||
'components': 'vscode-icons:folder-type-component',
|
||||
'Component': 'vscode-icons:folder-type-component',
|
||||
'Components': 'vscode-icons:folder-type-component',
|
||||
'widget': 'vscode-icons:folder-type-component',
|
||||
'widgets': 'vscode-icons:folder-type-component',
|
||||
'fragments': 'vscode-icons:folder-type-component',
|
||||
|
||||
'hooks': 'vscode-icons:folder-type-hook',
|
||||
'composables': 'vscode-icons:folder-type-hook',
|
||||
|
||||
'public': 'vscode-icons:folder-type-public',
|
||||
'www': 'vscode-icons:folder-type-public',
|
||||
'web': 'vscode-icons:folder-type-public',
|
||||
'wwwroot': 'vscode-icons:folder-type-public',
|
||||
'website': 'vscode-icons:folder-type-public',
|
||||
'site': 'vscode-icons:folder-type-public',
|
||||
'browser': 'vscode-icons:folder-type-public',
|
||||
'browsers': 'vscode-icons:folder-type-public',
|
||||
|
||||
'fonts': 'vscode-icons:folder-type-fonts',
|
||||
'font': 'vscode-icons:folder-type-fonts',
|
||||
|
||||
'images': 'vscode-icons:folder-type-images',
|
||||
'image': 'vscode-icons:folder-type-images',
|
||||
'imgs': 'vscode-icons:folder-type-images',
|
||||
'img': 'vscode-icons:folder-type-images',
|
||||
'icon': 'vscode-icons:folder-type-images',
|
||||
'icons': 'vscode-icons:folder-type-images',
|
||||
'ico': 'vscode-icons:folder-type-images',
|
||||
'icos': 'vscode-icons:folder-type-images',
|
||||
'figure': 'vscode-icons:folder-type-images',
|
||||
'figures': 'vscode-icons:folder-type-images',
|
||||
'fig': 'vscode-icons:folder-type-images',
|
||||
'figs': 'vscode-icons:folder-type-images',
|
||||
'screenshot': 'vscode-icons:folder-type-images',
|
||||
'screenshots': 'vscode-icons:folder-type-images',
|
||||
'screengrab': 'vscode-icons:folder-type-images',
|
||||
'screengrabs': 'vscode-icons:folder-type-images',
|
||||
'pic': 'vscode-icons:folder-type-images',
|
||||
'pics': 'vscode-icons:folder-type-images',
|
||||
'picture': 'vscode-icons:folder-type-images',
|
||||
'pictures': 'vscode-icons:folder-type-images',
|
||||
'photo': 'vscode-icons:folder-type-images',
|
||||
'photos': 'vscode-icons:folder-type-images',
|
||||
'photograph': 'vscode-icons:folder-type-images',
|
||||
'photographs': 'vscode-icons:folder-type-images',
|
||||
|
||||
'asset': 'vscode-icons:folder-type-asset',
|
||||
'assets': 'vscode-icons:folder-type-asset',
|
||||
'resource': 'vscode-icons:folder-type-asset',
|
||||
'resources': 'vscode-icons:folder-type-asset',
|
||||
'res': 'vscode-icons:folder-type-asset',
|
||||
'static': 'vscode-icons:folder-type-asset',
|
||||
'report': 'vscode-icons:folder-type-asset',
|
||||
'reports': 'vscode-icons:folder-type-asset',
|
||||
|
||||
'apis': 'vscode-icons:folder-type-api',
|
||||
'api': 'vscode-icons:folder-type-api',
|
||||
'restapi': 'vscode-icons:folder-type-api',
|
||||
|
||||
'style': 'vscode-icons:folder-type-style',
|
||||
'styles': 'vscode-icons:folder-type-style',
|
||||
'stylesheet': 'vscode-icons:folder-type-style',
|
||||
'stylesheets': 'vscode-icons:folder-type-style',
|
||||
|
||||
'css': 'vscode-icons:folder-type-css',
|
||||
'scss': 'vscode-icons:folder-type-light-sass',
|
||||
'sass': 'vscode-icons:folder-type-light-sass',
|
||||
@ -112,15 +257,34 @@ export const definitions: Definitions = {
|
||||
'types': 'vscode-icons:folder-type-typings',
|
||||
'mock': 'vscode-icons:folder-type-mock',
|
||||
|
||||
'i18n': 'vscode-icons:folder-type-locale',
|
||||
'locales': 'vscode-icons:folder-type-locale',
|
||||
'locale': 'vscode-icons:folder-type-locale',
|
||||
'lang': 'vscode-icons:folder-type-locale',
|
||||
'langs': 'vscode-icons:folder-type-locale',
|
||||
'language': 'vscode-icons:folder-type-locale',
|
||||
'languages': 'vscode-icons:folder-type-locale',
|
||||
'l10n': 'vscode-icons:folder-type-locale',
|
||||
'localization': 'vscode-icons:folder-type-locale',
|
||||
'translation': 'vscode-icons:folder-type-locale',
|
||||
'translate': 'vscode-icons:folder-type-locale',
|
||||
'translations': 'vscode-icons:folder-type-locale',
|
||||
'tx': 'vscode-icons:folder-type-locale',
|
||||
|
||||
'config': 'vscode-icons:folder-type-config',
|
||||
'configs': 'vscode-icons:folder-type-config',
|
||||
'.config': 'vscode-icons:folder-type-config',
|
||||
'.configs': 'vscode-icons:folder-type-config',
|
||||
'cfg': 'vscode-icons:folder-type-config',
|
||||
'cfgs': 'vscode-icons:folder-type-config',
|
||||
'conf': 'vscode-icons:folder-type-config',
|
||||
'confs': 'vscode-icons:folder-type-config',
|
||||
'configuration': 'vscode-icons:folder-type-config',
|
||||
'configurations': 'vscode-icons:folder-type-config',
|
||||
'setting': 'vscode-icons:folder-type-config',
|
||||
'settings': 'vscode-icons:folder-type-config',
|
||||
'option': 'vscode-icons:folder-type-config',
|
||||
'options': 'vscode-icons:folder-type-config',
|
||||
|
||||
'controller': 'vscode-icons:folder-type-controller',
|
||||
'controllers': 'vscode-icons:folder-type-controller',
|
||||
@ -134,17 +298,69 @@ export const definitions: Definitions = {
|
||||
'services': 'vscode-icons:folder-type-services',
|
||||
'Service': 'vscode-icons:folder-type-services',
|
||||
'Services': 'vscode-icons:folder-type-services',
|
||||
|
||||
'view': 'vscode-icons:folder-type-view',
|
||||
'views': 'vscode-icons:folder-type-view',
|
||||
'View': 'vscode-icons:folder-type-view',
|
||||
'Views': 'vscode-icons:folder-type-view',
|
||||
'page': 'vscode-icons:folder-type-view',
|
||||
'pages': 'vscode-icons:folder-type-view',
|
||||
'html': 'vscode-icons:folder-type-html',
|
||||
|
||||
'app': 'vscode-icons:folder-type-app',
|
||||
'apps': 'vscode-icons:folder-type-app',
|
||||
|
||||
'client': 'vscode-icons:folder-type-client',
|
||||
'clients': 'vscode-icons:folder-type-client',
|
||||
'frontend': 'vscode-icons:folder-type-client',
|
||||
'frontends': 'vscode-icons:folder-type-client',
|
||||
|
||||
'server': 'vscode-icons:folder-type-server',
|
||||
'servers': 'vscode-icons:folder-type-server',
|
||||
'backend': 'vscode-icons:folder-type-server',
|
||||
'backends': 'vscode-icons:folder-type-server',
|
||||
|
||||
'db': 'vscode-icons:folder-type-db',
|
||||
'database': 'vscode-icons:folder-type-db',
|
||||
'databases': 'vscode-icons:folder-type-db',
|
||||
'data': 'vscode-icons:folder-type-db',
|
||||
'sql': 'vscode-icons:folder-type-db',
|
||||
|
||||
'e2e': 'vscode-icons:folder-type-e2e',
|
||||
'cypress': 'vscode-icons:folder-type-light-cypress',
|
||||
'test': 'vscode-icons:folder-type-test',
|
||||
'tests': 'vscode-icons:folder-type-test',
|
||||
'testing': 'vscode-icons:folder-type-test',
|
||||
'snapshots': 'vscode-icons:folder-type-test',
|
||||
'spec': 'vscode-icons:folder-type-test',
|
||||
'specs': 'vscode-icons:folder-type-test',
|
||||
|
||||
'lib': 'vscode-icons:folder-type-library',
|
||||
'libs': 'vscode-icons:folder-type-library',
|
||||
'library': 'vscode-icons:folder-type-library',
|
||||
'libraries': 'vscode-icons:folder-type-library',
|
||||
'vendor': 'vscode-icons:folder-type-library',
|
||||
'vendors': 'vscode-icons:folder-type-library',
|
||||
'third-party': 'vscode-icons:folder-type-library',
|
||||
'lib64': 'vscode-icons:folder-type-library',
|
||||
|
||||
'include': 'vscode-icons:folder-type-include',
|
||||
'inc': 'vscode-icons:folder-type-include',
|
||||
'includes': 'vscode-icons:folder-type-include',
|
||||
'partial': 'vscode-icons:folder-type-include',
|
||||
'partials': 'vscode-icons:folder-type-include',
|
||||
'inc64': 'vscode-icons:folder-type-include',
|
||||
|
||||
'temp': 'vscode-icons:folder-type-temp',
|
||||
'tmp': 'vscode-icons:folder-type-temp',
|
||||
'cache': 'vscode-icons:folder-type-temp',
|
||||
'cached': 'vscode-icons:folder-type-temp',
|
||||
'.temp': 'vscode-icons:folder-type-temp',
|
||||
'.cache': 'vscode-icons:folder-type-temp',
|
||||
|
||||
'log': 'vscode-icons:folder-type-log',
|
||||
'logs': 'vscode-icons:folder-type-log',
|
||||
'logging': 'vscode-icons:folder-type-log',
|
||||
|
||||
'.git': 'vscode-icons:folder-type-git',
|
||||
'.github': 'vscode-icons:folder-type-github',
|
||||
|
||||
@ -10,7 +10,12 @@ export function getFileIcon(fileName: string, type: 'file' | 'folder' = 'file'):
|
||||
|
||||
function getFileIconName(fileName: string, type: 'file' | 'folder' = 'file'): string | undefined {
|
||||
if (type === 'folder') {
|
||||
return definitions.folders[fileName]
|
||||
const icon = definitions.folders[fileName]
|
||||
if (icon)
|
||||
return icon
|
||||
if (fileName.includes('/'))
|
||||
return definitions.folders[fileName.slice(fileName.lastIndexOf('/') + 1)]
|
||||
return
|
||||
}
|
||||
let icon: string | undefined = definitions.named[fileName] || definitions.files[fileName]
|
||||
if (icon)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user