From e31f22c8679b323a874df0179841a951fa046005 Mon Sep 17 00:00:00 2001 From: Thaddeus Crews Date: Tue, 23 Apr 2024 07:09:22 -0500 Subject: [PATCH] Pseudo-wildcard support for folder icons (#2292) Co-authored-by: Philipp Kief --- CONTRIBUTING.md | 3 + src/icons/folderIcons.ts | 181 ++++++++---------------- src/icons/generator/folderGenerator.ts | 27 +++- src/test/spec/icons/folderIcons.spec.ts | 114 +++++++++++++++ 4 files changed, 199 insertions(+), 126 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bcccfe4916..3ce39c1d7e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -170,6 +170,9 @@ Here's an example of how a folder icon can be assigned to folder icons: This will apply a folder icon for the folders 'sample' and 'samples'. +> **Note** +> The tool automatically creates generic "wildcard" variants of these folders, so only assign the base names. + #### Language icons Here's an example of how a file icon can be assigned to language ids: diff --git a/src/icons/folderIcons.ts b/src/icons/folderIcons.ts index 441c1df818..43d4536e75 100644 --- a/src/icons/folderIcons.ts +++ b/src/icons/folderIcons.ts @@ -11,7 +11,7 @@ export const folderIcons: FolderTheme[] = [ icons: [ { name: 'folder-robot', - folderNames: ['bot', 'robot', '.bot', '.robot', '_bot', '_robot'], + folderNames: ['bot', 'robot'], }, { name: 'folder-src', @@ -25,17 +25,13 @@ export const folderIcons: FolderTheme[] = [ name: 'folder-css', folderNames: ['css', 'stylesheet', 'stylesheets', 'style', 'styles'], }, - { name: 'folder-sass', folderNames: ['sass', '_sass', 'scss', '_scss'] }, + { name: 'folder-sass', folderNames: ['sass', 'scss'] }, { name: 'folder-television', folderNames: ['tv', 'television'] }, { name: 'folder-desktop', folderNames: ['desktop'] }, { name: 'folder-console', folderNames: ['console'] }, { name: 'folder-images', folderNames: [ - '_images', - '_image', - '_imgs', - '_img', 'images', 'image', 'imgs', @@ -76,18 +72,7 @@ export const folderIcons: FolderTheme[] = [ { name: 'folder-bower', folderNames: ['bower_components'] }, { name: 'folder-test', - folderNames: [ - 'test', - 'tests', - 'testing', - '__tests__', - '__snapshots__', - '__mocks__', - '__fixtures__', - '__test__', - 'spec', - 'specs', - ], + folderNames: ['test', 'tests', 'testing', 'snapshots', 'spec', 'specs'], }, { name: 'folder-jinja', @@ -95,15 +80,13 @@ export const folderIcons: FolderTheme[] = [ light: true, }, { name: 'folder-markdown', folderNames: ['markdown', 'md'] }, - { name: 'folder-pdm', folderNames: ['.pdm-plugins', '.pdm-build'] }, + { name: 'folder-pdm', folderNames: ['pdm-plugins', 'pdm-build'] }, { name: 'folder-php', folderNames: ['php'] }, { name: 'folder-phpmailer', folderNames: ['phpmailer'] }, { name: 'folder-sublime', folderNames: ['sublime'] }, { name: 'folder-docs', folderNames: [ - '_post', - '_posts', 'doc', 'docs', 'document', @@ -117,18 +100,11 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-git', - folderNames: [ - '.git', - 'patches', - 'githooks', - '.githooks', - 'submodules', - '.submodules', - ], + folderNames: ['git', 'patches', 'githooks', 'submodules'], }, - { name: 'folder-github', folderNames: ['.github', 'github'] }, - { name: 'folder-gitlab', folderNames: ['.gitlab'] }, - { name: 'folder-vscode', folderNames: ['.vscode', '.vscode-test'] }, + { name: 'folder-github', folderNames: ['github'] }, + { name: 'folder-gitlab', folderNames: ['gitlab'] }, + { name: 'folder-vscode', folderNames: ['vscode', 'vscode-test'] }, { name: 'folder-views', folderNames: [ @@ -143,8 +119,8 @@ export const folderIcons: FolderTheme[] = [ ], }, { name: 'folder-vue', folderNames: ['vue'] }, - { name: 'folder-vuepress', folderNames: ['.vuepress'] }, - { name: 'folder-expo', folderNames: ['.expo', '.expo-shared'] }, + { name: 'folder-vuepress', folderNames: ['vuepress'] }, + { name: 'folder-expo', folderNames: ['expo', 'expo-shared'] }, { name: 'folder-config', folderNames: [ @@ -152,15 +128,12 @@ export const folderIcons: FolderTheme[] = [ 'cfgs', 'conf', 'confs', - '.config', 'config', 'configs', 'configuration', 'configurations', 'setting', - '.setting', 'settings', - '.settings', 'META-INF', 'option', 'options', @@ -182,7 +155,7 @@ export const folderIcons: FolderTheme[] = [ 'translation', 'translate', 'translations', - '.tx', + 'tx', ], }, { @@ -191,7 +164,7 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-verdaccio', - folderNames: ['.verdaccio', 'verdaccio'], + folderNames: ['verdaccio'], }, { name: 'folder-aurelia', folderNames: ['aurelia_project'] }, { @@ -230,12 +203,11 @@ export const folderIcons: FolderTheme[] = [ 'designs', ], }, - { name: 'folder-webpack', folderNames: ['webpack', '.webpack'] }, + { name: 'folder-webpack', folderNames: ['webpack'] }, { name: 'folder-global', folderNames: ['global'] }, { name: 'folder-public', folderNames: [ - '_site', 'public', 'www', 'wwwroot', @@ -248,18 +220,11 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-include', - folderNames: [ - 'include', - 'includes', - '_includes', - 'inc', - 'partials', - '_partials', - ], + folderNames: ['inc', 'include', 'includes', 'partial', 'partials'], }, { name: 'folder-docker', - folderNames: ['docker', 'dockerfiles', '.docker'], + folderNames: ['docker', 'dockerfiles'], }, { name: 'folder-ngrx-effects', @@ -323,23 +288,15 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-database', - folderNames: ['db', 'database', 'databases', 'sql', 'data', '_data'], + folderNames: ['db', 'data', 'database', 'databases', 'sql'], }, { name: 'folder-log', folderNames: ['log', 'logs', 'logging'] }, { name: 'folder-target', folderNames: ['target'] }, { name: 'folder-temp', - folderNames: [ - 'temp', - '.temp', - 'tmp', - '.tmp', - 'cached', - 'cache', - '.cache', - ], + folderNames: ['temp', 'tmp', 'cached', 'cache'], }, - { name: 'folder-aws', folderNames: ['aws', '.aws'] }, + { name: 'folder-aws', folderNames: ['aws'] }, { name: 'folder-audio', folderNames: [ @@ -358,29 +315,27 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-kubernetes', - folderNames: ['kubernetes', '.kubernetes', 'k8s', '.k8s'], + folderNames: ['kubernetes', 'k8s'], }, { name: 'folder-import', folderNames: ['import', 'imports', 'imported'] }, { name: 'folder-export', folderNames: ['export', 'exports', 'exported'] }, { name: 'folder-wakatime', folderNames: ['wakatime'] }, - { name: 'folder-circleci', folderNames: ['.circleci'] }, + { name: 'folder-circleci', folderNames: ['circleci'] }, { name: 'folder-wordpress', - folderNames: ['.wordpress-org', 'wp-content'], + folderNames: ['wordpress-org', 'wp-content'], }, - { name: 'folder-gradle', folderNames: ['gradle', '.gradle'] }, + { name: 'folder-gradle', folderNames: ['gradle'] }, { name: 'folder-coverage', folderNames: [ 'coverage', - '.nyc-output', - '.nyc_output', + 'nyc-output', + 'nyc_output', 'e2e', 'it', 'integration-test', 'integration-tests', - '__integration-test__', - '__integration-tests__', ], }, { @@ -413,7 +368,7 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-graphql', folderNames: ['graphql', 'gql'] }, { name: 'folder-routes', folderNames: ['routes', 'router', 'routers'] }, - { name: 'folder-ci', folderNames: ['.ci', 'ci'] }, + { name: 'folder-ci', folderNames: ['ci'] }, { name: 'folder-benchmark', folderNames: [ @@ -451,13 +406,13 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-python', - folderNames: ['python', '__pycache__', '.pytest_cache'], + folderNames: ['python', 'pycache', 'pytest_cache'], }, { name: 'folder-mojo', folderNames: ['mojo'], }, - { name: 'folder-moon', folderNames: ['.moon'] }, + { name: 'folder-moon', folderNames: ['moon'] }, { name: 'folder-debug', folderNames: ['debug', 'debugging'] }, { name: 'folder-fastlane', folderNames: ['fastlane'] }, { @@ -465,7 +420,6 @@ export const folderIcons: FolderTheme[] = [ folderNames: [ 'plugin', 'plugins', - '_plugins', 'mod', 'mods', 'modding', @@ -517,7 +471,7 @@ export const folderIcons: FolderTheme[] = [ ], }, { name: 'folder-helper', folderNames: ['helpers', 'helper'] }, - { name: 'folder-serverless', folderNames: ['.serverless', 'serverless'] }, + { name: 'folder-serverless', folderNames: ['serverless'] }, { name: 'folder-api', folderNames: ['api', 'apis', 'restapi'] }, { name: 'folder-app', folderNames: ['app', 'apps'] }, { @@ -550,7 +504,7 @@ export const folderIcons: FolderTheme[] = [ ], }, { name: 'folder-batch', folderNames: ['batch', 'batchs', 'batches'] }, - { name: 'folder-buildkite', folderNames: ['buildkite', '.buildkite'] }, + { name: 'folder-buildkite', folderNames: ['buildkite'] }, { name: 'folder-cluster', folderNames: ['cluster', 'clusters'] }, { name: 'folder-command', @@ -559,7 +513,7 @@ export const folderIcons: FolderTheme[] = [ { name: 'folder-constant', folderNames: ['constant', 'constants'] }, { name: 'folder-container', - folderNames: ['container', 'containers', '.devcontainer'], + folderNames: ['container', 'containers', 'devcontainer'], }, { name: 'folder-content', folderNames: ['content', 'contents'] }, { name: 'folder-context', folderNames: ['context', 'contexts'] }, @@ -580,15 +534,7 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-environment', - folderNames: [ - '.env', - '.environment', - 'env', - 'envs', - 'environment', - 'environments', - '.venv', - ], + folderNames: ['env', 'envs', 'environment', 'environments', 'venv'], }, { name: 'folder-functions', @@ -637,14 +583,14 @@ export const folderIcons: FolderTheme[] = [ 'secrets', ], }, - { name: 'folder-layout', folderNames: ['layout', 'layouts', '_layouts'] }, + { name: 'folder-layout', folderNames: ['layout', 'layouts'] }, { name: 'folder-mail', folderNames: ['mail', 'mails', 'email', 'emails', 'smtp', 'mailers'], }, { name: 'folder-mappings', folderNames: ['mappings', 'mapping'] }, { name: 'folder-meta', folderNames: ['meta'] }, - { name: 'folder-changesets', folderNames: ['.changesets', '.changeset'] }, + { name: 'folder-changesets', folderNames: ['changesets', 'changeset'] }, { name: 'folder-packages', folderNames: ['package', 'packages', 'pkg', 'pkgs'], @@ -660,11 +606,11 @@ export const folderIcons: FolderTheme[] = [ name: 'folder-utils', folderNames: ['util', 'utils', 'utility', 'utilities'], }, - { name: 'folder-supabase', folderNames: ['supabase', '.supabase'] }, - { name: 'folder-private', folderNames: ['private', '.private'] }, + { name: 'folder-supabase', folderNames: ['supabase'] }, + { name: 'folder-private', folderNames: ['private'] }, { name: 'folder-linux', folderNames: ['linux', 'linuxbsd', 'unix'] }, { name: 'folder-windows', folderNames: ['windows', 'win'] }, - { name: 'folder-macos', folderNames: ['macos', 'mac', '.DS_Store'] }, + { name: 'folder-macos', folderNames: ['macos', 'mac', 'DS_Store'] }, { name: 'folder-error', folderNames: ['error', 'errors', 'err', 'errs', 'crash', 'crashes'], @@ -688,14 +634,12 @@ export const folderIcons: FolderTheme[] = [ { name: 'folder-mock', folderNames: [ - '_draft', - '_drafts', + 'draft', + 'drafts', 'mock', 'mocks', 'fixture', 'fixtures', - 'draft', - 'drafts', 'concept', 'concepts', 'sketch', @@ -739,7 +683,7 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-nuxt', - folderNames: ['nuxt', '.nuxt'], + folderNames: ['nuxt'], enabledFor: [IconPack.Vuex, IconPack.Vue], }, { @@ -752,22 +696,22 @@ export const folderIcons: FolderTheme[] = [ folderNames: ['components'], enabledFor: [IconPack.Vuex, IconPack.Vue], }, - { name: 'folder-terraform', folderNames: ['terraform', '.terraform'] }, + { name: 'folder-terraform', folderNames: ['terraform'] }, { name: 'folder-mobile', folderNames: ['mobile', 'mobiles', 'portable', 'portability'], }, - { name: 'folder-stencil', folderNames: ['.stencil'] }, - { name: 'folder-firebase', folderNames: ['firebase', '.firebase'] }, - { name: 'folder-svelte', folderNames: ['svelte', '.svelte-kit'] }, + { name: 'folder-stencil', folderNames: ['stencil'] }, + { name: 'folder-firebase', folderNames: ['firebase'] }, + { name: 'folder-svelte', folderNames: ['svelte', 'svelte-kit'] }, { name: 'folder-update', folderNames: ['update', 'updates', 'upgrade', 'upgrades'], }, - { name: 'folder-intellij', folderNames: ['.idea'], light: true }, + { name: 'folder-intellij', folderNames: ['idea'], light: true }, { name: 'folder-azure-pipelines', - folderNames: ['.azure-pipelines', '.azure-pipelines-ci'], + folderNames: ['azure-pipelines', 'azure-pipelines-ci'], }, { name: 'folder-mjml', folderNames: ['mjml'] }, { @@ -791,33 +735,33 @@ export const folderIcons: FolderTheme[] = [ 'integrations', ], }, - { name: 'folder-quasar', folderNames: ['.quasar'] }, - { name: 'folder-next', folderNames: ['.next'] }, + { name: 'folder-quasar', folderNames: ['quasar'] }, + { name: 'folder-next', folderNames: ['next'] }, { name: 'folder-cobol', folderNames: ['cobol'] }, - { name: 'folder-yarn', folderNames: ['yarn', '.yarn'] }, - { name: 'folder-husky', folderNames: ['husky', '.husky'] }, + { name: 'folder-yarn', folderNames: ['yarn'] }, + { name: 'folder-husky', folderNames: ['husky'] }, { name: 'folder-storybook', - folderNames: ['.storybook', 'storybook', 'stories', '__stories__'], + folderNames: ['storybook', 'stories'], }, - { name: 'folder-base', folderNames: ['base', '.base', 'bases'] }, + { name: 'folder-base', folderNames: ['base', 'bases'] }, { name: 'folder-cart', folderNames: ['cart', 'shopping-cart', 'shopping', 'shop'], }, { name: 'folder-home', - folderNames: ['home', '.home', 'start', '.start'], + folderNames: ['home', 'start'], }, { name: 'folder-project', - folderNames: ['project', 'projects', '.project', '.projects'], + folderNames: ['project', 'projects'], }, { name: 'folder-interface', folderNames: ['interface', 'interfaces'], }, - { name: 'folder-netlify', folderNames: ['.netlify'] }, + { name: 'folder-netlify', folderNames: ['netlify'] }, { name: 'folder-enum', folderNames: ['enum', 'enums'], @@ -828,7 +772,6 @@ export const folderIcons: FolderTheme[] = [ 'pact', 'pacts', 'contract', - '.contract', 'contracts', 'contract-testing', 'contract-test', @@ -841,11 +784,11 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-vercel', - folderNames: ['vercel', '.vercel', 'now', '.now'], + folderNames: ['vercel', 'now'], }, { name: 'folder-cypress', - folderNames: ['cypress', '.cypress'], + folderNames: ['cypress'], }, { name: 'folder-decorators', @@ -861,7 +804,7 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-angular', - folderNames: ['angular', '.angular'], + folderNames: ['angular'], }, { name: 'folder-unity', @@ -877,7 +820,7 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-plastic', - folderNames: ['plastic', '.plastic'], + folderNames: ['plastic'], }, { name: 'folder-gamemaker', @@ -885,11 +828,11 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-mercurial', - folderNames: ['.hg', 'hghooks', '.hghooks', '.hgext'], + folderNames: ['hg', 'hghooks', 'hgext'], }, { name: 'folder-godot', - folderNames: ['godot', '.godot', 'godot-cpp', '.godot-cpp'], + folderNames: ['godot', 'godot-cpp'], }, { name: 'folder-lottie', @@ -897,11 +840,11 @@ export const folderIcons: FolderTheme[] = [ }, { name: 'folder-taskfile', - folderNames: ['taskfile', 'taskfiles', '.taskfile', '.taskfiles'], + folderNames: ['taskfile', 'taskfiles'], }, { name: 'folder-cloudflare', - folderNames: ['cloudflare', '.cloudflare'], + folderNames: ['cloudflare'], }, ], }, diff --git a/src/icons/generator/folderGenerator.ts b/src/icons/generator/folderGenerator.ts index 9baf5a9270..c661a31b32 100644 --- a/src/icons/generator/folderGenerator.ts +++ b/src/icons/generator/folderGenerator.ts @@ -44,24 +44,21 @@ export const loadFolderIconDefinitions = ( allIcons.forEach((icon) => { if (icon.disabled) return; + const folderNames = extendFolderNames(icon.folderNames); config = setIconDefinitions(config, icon); - config = merge({}, config, setFolderNames(icon.name, icon.folderNames)); + config = merge({}, config, setFolderNames(icon.name, folderNames)); config.light = icon.light ? merge( {}, config.light, - setFolderNames(icon.name, icon.folderNames, lightColorFileEnding) + setFolderNames(icon.name, folderNames, lightColorFileEnding) ) : config.light; config.highContrast = icon.highContrast ? merge( {}, config.highContrast, - setFolderNames( - icon.name, - icon.folderNames, - highContrastColorFileEnding - ) + setFolderNames(icon.name, folderNames, highContrastColorFileEnding) ) : config.highContrast; }); @@ -214,6 +211,22 @@ const createIconDefinitions = ( return config; }; +const extendFolderNames = (folderNames: string[]) => { + const names: string[] = []; + const styles: [string, string][] = [ + ['', ''], + ['.', ''], + ['_', ''], + ['__', '__'], + ]; + folderNames.forEach((name) => { + styles.forEach((style) => { + names.push(`${style[0]}${name}${style[1]}`); + }); + }); + return names; +}; + const setFolderNames = ( iconName: string, folderNames: string[], diff --git a/src/test/spec/icons/folderIcons.spec.ts b/src/test/spec/icons/folderIcons.spec.ts index db05824e6b..5fa307cf6a 100644 --- a/src/test/spec/icons/folderIcons.spec.ts +++ b/src/test/spec/icons/folderIcons.spec.ts @@ -89,12 +89,36 @@ describe('folder icons', () => { source: 'folder-src', angular: 'folder-angular', ng: 'folder-angular', + _src: 'folder-src', + _source: 'folder-src', + _angular: 'folder-angular', + _ng: 'folder-angular', + __src__: 'folder-src', + __source__: 'folder-src', + __angular__: 'folder-angular', + __ng__: 'folder-angular', + '.src': 'folder-src', + '.source': 'folder-src', + '.angular': 'folder-angular', + '.ng': 'folder-angular', }; expectedConfig.folderNamesExpanded = { src: 'folder-src-open', source: 'folder-src-open', angular: 'folder-angular-open', ng: 'folder-angular-open', + _src: 'folder-src-open', + _source: 'folder-src-open', + _angular: 'folder-angular-open', + _ng: 'folder-angular-open', + __src__: 'folder-src-open', + __source__: 'folder-src-open', + __angular__: 'folder-angular-open', + __ng__: 'folder-angular-open', + '.src': 'folder-src-open', + '.source': 'folder-src-open', + '.angular': 'folder-angular-open', + '.ng': 'folder-angular-open', }; expectedConfig.hidesExplorerArrows = false; @@ -151,10 +175,22 @@ describe('folder icons', () => { expectedConfig.folderNames = { src: 'folder-blue-src', source: 'folder-blue-src', + _src: 'folder-blue-src', + _source: 'folder-blue-src', + __src__: 'folder-blue-src', + __source__: 'folder-blue-src', + '.src': 'folder-blue-src', + '.source': 'folder-blue-src', }; expectedConfig.folderNamesExpanded = { src: 'folder-blue-src-open', source: 'folder-blue-src-open', + _src: 'folder-blue-src-open', + _source: 'folder-blue-src-open', + __src__: 'folder-blue-src-open', + __source__: 'folder-blue-src-open', + '.src': 'folder-blue-src-open', + '.source': 'folder-blue-src-open', }; expectedConfig.hidesExplorerArrows = false; expectedConfig.options!.folders!.theme = 'blue'; @@ -209,6 +245,21 @@ describe('folder icons', () => { angular: 'folder-angular', ng: 'folder-angular', sample: 'folder-src', + _src: 'folder-src', + _source: 'folder-src', + _angular: 'folder-angular', + _ng: 'folder-angular', + _sample: 'folder-src', + __src__: 'folder-src', + __source__: 'folder-src', + __angular__: 'folder-angular', + __ng__: 'folder-angular', + __sample__: 'folder-src', + '.src': 'folder-src', + '.source': 'folder-src', + '.angular': 'folder-angular', + '.ng': 'folder-angular', + '.sample': 'folder-src', }; expectedConfig.folderNamesExpanded = { src: 'folder-src-open', @@ -216,6 +267,21 @@ describe('folder icons', () => { angular: 'folder-angular-open', ng: 'folder-angular-open', sample: 'folder-src-open', + _src: 'folder-src-open', + _source: 'folder-src-open', + _angular: 'folder-angular-open', + _ng: 'folder-angular-open', + _sample: 'folder-src-open', + __src__: 'folder-src-open', + __source__: 'folder-src-open', + __angular__: 'folder-angular-open', + __ng__: 'folder-angular-open', + __sample__: 'folder-src-open', + '.src': 'folder-src-open', + '.source': 'folder-src-open', + '.angular': 'folder-angular-open', + '.ng': 'folder-angular-open', + '.sample': 'folder-src-open', }; expectedConfig.hidesExplorerArrows = false; expectedConfig.options!.folders!.associations = { @@ -261,10 +327,22 @@ describe('folder icons', () => { expectedConfig.folderNames = { src: 'folder-src', source: 'folder-src', + _src: 'folder-src', + _source: 'folder-src', + __src__: 'folder-src', + __source__: 'folder-src', + '.src': 'folder-src', + '.source': 'folder-src', }; expectedConfig.folderNamesExpanded = { src: 'folder-src-open', source: 'folder-src-open', + _src: 'folder-src-open', + _source: 'folder-src-open', + __src__: 'folder-src-open', + __source__: 'folder-src-open', + '.src': 'folder-src-open', + '.source': 'folder-src-open', }; expectedConfig.hidesExplorerArrows = false; @@ -361,10 +439,22 @@ describe('folder icons', () => { expectedConfig.folderNames = { src: 'folder-src', source: 'folder-src', + _src: 'folder-src', + _source: 'folder-src', + __src__: 'folder-src', + __source__: 'folder-src', + '.src': 'folder-src', + '.source': 'folder-src', }; expectedConfig.folderNamesExpanded = { src: 'folder-src-open', source: 'folder-src-open', + _src: 'folder-src-open', + _source: 'folder-src-open', + __src__: 'folder-src-open', + __source__: 'folder-src-open', + '.src': 'folder-src-open', + '.source': 'folder-src-open', }; expectedConfig.light = { fileExtensions: {}, @@ -376,10 +466,22 @@ describe('folder icons', () => { folderNames: { src: 'folder-src_light', source: 'folder-src_light', + _src: 'folder-src_light', + _source: 'folder-src_light', + __src__: 'folder-src_light', + __source__: 'folder-src_light', + '.src': 'folder-src_light', + '.source': 'folder-src_light', }, folderNamesExpanded: { src: 'folder-src-open_light', source: 'folder-src-open_light', + _src: 'folder-src-open_light', + _source: 'folder-src-open_light', + __src__: 'folder-src-open_light', + __source__: 'folder-src-open_light', + '.src': 'folder-src-open_light', + '.source': 'folder-src-open_light', }, }; expectedConfig.highContrast = { @@ -392,10 +494,22 @@ describe('folder icons', () => { folderNames: { src: 'folder-src_highContrast', source: 'folder-src_highContrast', + _src: 'folder-src_highContrast', + _source: 'folder-src_highContrast', + __src__: 'folder-src_highContrast', + __source__: 'folder-src_highContrast', + '.src': 'folder-src_highContrast', + '.source': 'folder-src_highContrast', }, folderNamesExpanded: { src: 'folder-src-open_highContrast', source: 'folder-src-open_highContrast', + _src: 'folder-src-open_highContrast', + _source: 'folder-src-open_highContrast', + __src__: 'folder-src-open_highContrast', + __source__: 'folder-src-open_highContrast', + '.src': 'folder-src-open_highContrast', + '.source': 'folder-src-open_highContrast', }, }; expectedConfig.hidesExplorerArrows = false;