chore: Reworking the icons build system in order to make it less painful

This commit is contained in:
octod 2017-10-24 00:11:48 +02:00
parent 95d5a2ef18
commit 92891908e9
115 changed files with 999 additions and 1626 deletions

View file

@ -1,4 +1,10 @@
export interface IIcon { export interface IIcon {
/**
* Icon filename
* @type {string}
* @memberof IIcon
*/
filename: string;
/** /**
* If set to true, the icon is marked as last * If set to true, the icon is marked as last
* @type {boolean} * @type {boolean}

View file

@ -3,8 +3,8 @@ import { IThemeIconsItem } from "./itheme-icons-item";
export interface IThemeIconsVariants { export interface IThemeIconsVariants {
iconDefinitions: { iconDefinitions: {
"_folder_dark": IThemeIconsItem; "_folder_dark": IThemeIconsItem;
"_folder_dark-build": IThemeIconsItem; "_folder_dark_build": IThemeIconsItem;
"_file_folder": IThemeIconsItem; "_folder_light": IThemeIconsItem;
"_file_folder-build": IThemeIconsItem; "_folder_light_build": IThemeIconsItem;
} }
} }

View file

@ -9,19 +9,11 @@ import { CHARSET } from "../../extensions/consts/files";
import { IDefaults } from "../../extensions/interfaces/idefaults"; import { IDefaults } from "../../extensions/interfaces/idefaults";
import { IThemeIconsAccents } from "../interfaces/itheme-icons-accents"; import { IThemeIconsAccents } from "../interfaces/itheme-icons-accents";
import PATHS from '../../extensions/consts/paths' import PATHS from '../../extensions/consts/paths'
import { IThemeIconsItem } from '../interfaces/itheme-icons-item';
// import { IPackageJSON } from "../../extensions/interfaces/ipackage.json"; import { getAccentableIcons } from '../../extensions/helpers/fs';
// import { writePackageJSON } from "../helpers/contribute-icon-theme";
const BASE_ICON_THEME_PATH: string = path.join(process.cwd(), PATHS.THEMES, './Material-Theme-Icons.json'); const BASE_ICON_THEME_PATH: string = path.join(process.cwd(), PATHS.THEMES, './Material-Theme-Icons.json');
const DEFAULTS: IDefaults = require('../../extensions/defaults.json'); const DEFAULTS: IDefaults = require('../../extensions/defaults.json');
// const PACKAGE_JSON: IPackageJSON = require('../../package.json');
// const PACKAGE_JSON_ICON_THEME: IPackageJSONThemeIcons = {
// id: "material-theme-icons",
// label: "Material Theme Icons",
// path: "./themes/Material-Theme-Icons.json"
// }
/** /**
* Normalizes icon path * Normalizes icon path
@ -89,8 +81,6 @@ function writeSVGIcon(fromFile: string, toFile: string, accent: string): void {
export default gulp.task('build:icons.accents', cb => { export default gulp.task('build:icons.accents', cb => {
let basetheme: IThemeIconsAccents; let basetheme: IThemeIconsAccents;
// PACKAGE_JSON.contributes.iconThemes = [ PACKAGE_JSON_ICON_THEME ];
try { try {
basetheme = require(BASE_ICON_THEME_PATH); basetheme = require(BASE_ICON_THEME_PATH);
@ -99,15 +89,25 @@ export default gulp.task('build:icons.accents', cb => {
let themecopy: IThemeIconsAccents = JSON.parse(JSON.stringify(basetheme)); let themecopy: IThemeIconsAccents = JSON.parse(JSON.stringify(basetheme));
let themePath: string = path.join(PATHS.THEMES, `./Material-Theme-Icons-${ key }.json`); let themePath: string = path.join(PATHS.THEMES, `./Material-Theme-Icons-${ key }.json`);
// let id: string = `${ PACKAGE_JSON_ICON_THEME.id }-${ key.replace(/\s+/g, '-').toLowerCase() }`; getAccentableIcons().forEach(accentableIconName => {
// let label: string = `${ PACKAGE_JSON_ICON_THEME.label } - ${ key } accent`; gutil.log(gutil.colors.gray(`Preparing ${ accentableIconName } accented icon`));
// let themepathJSON: string = `./${ themePath }`;
themecopy.iconDefinitions._folder_open.iconPath = replaceNameWithAccent(basetheme.iconDefinitions._folder_open.iconPath, iconName); let iconOriginDefinition: IThemeIconsItem = (basetheme.iconDefinitions as any)[accentableIconName];
themecopy.iconDefinitions._folder_open_build.iconPath = replaceNameWithAccent(basetheme.iconDefinitions._folder_open_build.iconPath, iconName); let iconCopyDefinition: IThemeIconsItem = (themecopy.iconDefinitions as any)[accentableIconName];
writeSVGIcon(basetheme.iconDefinitions._folder_open.iconPath, themecopy.iconDefinitions._folder_open.iconPath, key); if (iconOriginDefinition !== undefined && typeof iconOriginDefinition.iconPath === 'string' && iconCopyDefinition !== undefined && typeof iconCopyDefinition.iconPath === 'string') {
writeSVGIcon(basetheme.iconDefinitions._folder_open_build.iconPath, themecopy.iconDefinitions._folder_open_build.iconPath, key); iconCopyDefinition.iconPath = replaceNameWithAccent(iconOriginDefinition.iconPath, iconName);
writeSVGIcon(iconOriginDefinition.iconPath, iconCopyDefinition.iconPath, key);
} else {
gutil.log(gutil.colors.yellow(`Icon ${ accentableIconName } not found`))
}
});
// themecopy.iconDefinitions._folder_open.iconPath = replaceNameWithAccent(basetheme.iconDefinitions._folder_open.iconPath, iconName);
// themecopy.iconDefinitions._folder_open_build.iconPath = replaceNameWithAccent(basetheme.iconDefinitions._folder_open_build.iconPath, iconName);
// writeSVGIcon(basetheme.iconDefinitions._folder_open.iconPath, themecopy.iconDefinitions._folder_open.iconPath, key);
// writeSVGIcon(basetheme.iconDefinitions._folder_open_build.iconPath, themecopy.iconDefinitions._folder_open_build.iconPath, key);
// fs.writeFileSync(themePath, JSON.stringify(themecopy)); // fs.writeFileSync(themePath, JSON.stringify(themecopy));

View file

@ -36,12 +36,14 @@ export default gulp.task('build:icons.variants', callback => {
let variant = variants[variantName]; let variant = variants[variantName];
theme.iconDefinitions._folder_dark.iconPath = theme.iconDefinitions._folder_dark.iconPath.replace('.svg', `${ variantName }.svg`); theme.iconDefinitions._folder_dark.iconPath = theme.iconDefinitions._folder_dark.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions._file_folder.iconPath = theme.iconDefinitions._file_folder.iconPath.replace('.svg', `${ variantName }.svg`); // theme.iconDefinitions._file_folder.iconPath = theme.iconDefinitions._file_folder.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions["_file_folder-build"].iconPath = theme.iconDefinitions["_file_folder-build"].iconPath.replace('.svg', `${ variantName }.svg`); // theme.iconDefinitions["_file_folder_build"].iconPath = theme.iconDefinitions["_file_folder_build"].iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions._folder_light.iconPath = theme.iconDefinitions._folder_light.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions["_folder_light_build"].iconPath = theme.iconDefinitions["_folder_light_build"].iconPath.replace('.svg', `${ variantName }.svg`);
writeIconVariant(basetheme.iconDefinitions._folder_dark.iconPath, theme.iconDefinitions._folder_dark.iconPath, variant); writeIconVariant(basetheme.iconDefinitions._folder_dark.iconPath, theme.iconDefinitions._folder_dark.iconPath, variant);
writeIconVariant(basetheme.iconDefinitions._file_folder.iconPath, theme.iconDefinitions._file_folder.iconPath, variant); writeIconVariant(basetheme.iconDefinitions._folder_light.iconPath, theme.iconDefinitions._folder_light.iconPath, variant);
writeIconVariant(basetheme.iconDefinitions["_file_folder-build"].iconPath, theme.iconDefinitions["_file_folder-build"].iconPath, variant); writeIconVariant(basetheme.iconDefinitions["_folder_light_build"].iconPath, theme.iconDefinitions["_folder_light_build"].iconPath, variant);
}); });
}); });

View file

@ -17,10 +17,24 @@ import paths from '../../extensions/consts/paths';
* @returns {IIcon} * @returns {IIcon}
*/ */
function iconFactory(fileName: string): IIcon { function iconFactory(fileName: string): IIcon {
gutil.log(gutil.colors.gray(`Processing icon ${ fileName }`))
let name: string = path.basename(fileName, path.extname(fileName)); let name: string = path.basename(fileName, path.extname(fileName));
let filename: string = name;
let last: boolean = false; let last: boolean = false;
return { name, last } as IIcon; // renaming icon for vscode
// if the icon filename starts with a folder prefix,
// the resulting name will be prefixed only by an underscore,
// otherwise the icon will be prefixed by a _file_ prefix
if (name.indexOf('folder')) {
name = name.indexOf('file') ? `_file_${ name }` : `_${ name }`;
} else {
name = `_${ name }`;
}
gutil.log(gutil.colors.gray(`VSCode icon name ${ name } with filename ${ filename }`));
return { filename, name, last } as IIcon;
} }
/** /**

View file

@ -34,19 +34,24 @@ fileNames.forEach(fileName => {
* Themes task * Themes task
* Builds Themes * Builds Themes
*/ */
export default gulp.task('build:themes', () => { export default gulp.task('build:themes', cb => {
gulpUtil.log(gulpUtil.colors.gray(HR)); gulpUtil.log(gulpUtil.colors.gray(HR));
themeVariants.forEach(variant => { try {
let filePath = path.join(paths.THEMES, `./${variant.name}.json`); themeVariants.forEach(variant => {
let templateData = { commons, variant }; let filePath = path.join(paths.THEMES, `./${variant.name}.json`);
let templateJSON: any = JSON.parse(mustache.render(themeTemplateFileContent, templateData)); let templateData = { commons, variant };
let templateJSONStringified: string = JSON.stringify(templateJSON, null, 2); let templateJSON: any = JSON.parse(mustache.render(themeTemplateFileContent, templateData));
let templateJSONStringified: string = JSON.stringify(templateJSON, null, 2);
fs.writeFileSync(filePath, templateJSONStringified, { encoding: CHARSET }); fs.writeFileSync(filePath, templateJSONStringified, { encoding: CHARSET });
gulpUtil.log(MESSAGE_GENERATED, gulpUtil.colors.green(filePath)); gulpUtil.log(MESSAGE_GENERATED, gulpUtil.colors.green(filePath));
}); });
} catch (exception) {
gulpUtil.log(exception);
cb(exception);
}
gulpUtil.log(gulpUtil.colors.gray(HR)); gulpUtil.log(gulpUtil.colors.gray(HR));
}); });

43
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,43 @@
Contributing guidelines
=======================
> Note: this document is intended as a draft, it will be updated soon
### Requirements:
* Nodejs ^6.x
* Visual Studio Code
### Installing and compiling source
First you will have to install node_modules through npm or yarn
```shell
npm install
# or
yarn install
```
To compile to the source code, you have to execute the build task through visual studio code.
First you need to invoke to quick command (on MacOS `⌘P`, while on Linux/windows is `ctrl+p`)
then type `task build` and wait until vsc will have finished the task.
### Testing the theme
To test the theme, you will have to go to the debug section, select the *Launch Extension* from debug and execute it.
### Adding new Material Theme commands
Soon(ish)®
### Adding new icons
* Add your icon to the `~/src/icons/svgs` directory.
* Add the reference to that icon to the `~/src/icons/partials/fileNames.js` or if your icon is referred to a directory adds the reference to the `~/src/icons/partials/folderNames.js` file, otherwise to `~/src/icons/partials/fileExtensions.js` if is referred to a file extension.
* If you want to make the icon sensitive to be accented, modify the `~/extensions/defaults.json` file, adding the icon definition to the `accentableIcons` array (e.g. ["_folder_open", "_folder_open_build"]) and the path to the `icons.theme.iconDefinitions` object.
* Execute the build command.
* Enjoy your new icons in Material Theme, and don't forget to pull request!

View file

@ -1,3 +1,4 @@
import {getAccentableIcons} from '../../helpers/fs';
import * as fs from 'fs'; import * as fs from 'fs';
import { getAbsolutePath, getDefaultValues, getThemeIconsByContributeID, getThemeIconsContribute } from "../../helpers/fs"; import { getAbsolutePath, getDefaultValues, getThemeIconsByContributeID, getThemeIconsContribute } from "../../helpers/fs";
@ -8,6 +9,10 @@ import { CHARSET } from "../../consts/files";
import { IPackageJSONThemeIcons } from "../../interfaces/ipackage.json"; import { IPackageJSONThemeIcons } from "../../interfaces/ipackage.json";
import { IThemeIcons } from "../../interfaces/itheme-icons"; import { IThemeIcons } from "../../interfaces/itheme-icons";
function replaceIconPathWithAccent(iconPath: string, accentName: string): string {
return iconPath.replace('.svg', `.accent.${ accentName }.svg`);
}
export const THEME_ICONS = () => { export const THEME_ICONS = () => {
let deferred: any = {}; let deferred: any = {};
let promise = new Promise((resolve, reject) => { let promise = new Promise((resolve, reject) => {
@ -27,17 +32,36 @@ export const THEME_ICONS = () => {
if (isAccent(accentName, defaults)) { if (isAccent(accentName, defaults)) {
let _accentName = accentName.replace(/\s+/, '-'); let _accentName = accentName.replace(/\s+/, '-');
theme.iconDefinitions._folder_open.iconPath = defaults.icons.theme.iconDefinitions._folder_open.iconPath.replace('.svg', `.accent.${ _accentName }.svg`);
theme.iconDefinitions._folder_open_build.iconPath = defaults.icons.theme.iconDefinitions._folder_open_build.iconPath.replace('.svg', `.accent.${ _accentName }.svg`); getAccentableIcons().forEach(iconname => {
let distIcon = (theme.iconDefinitions as any)[iconname];
let outIcon = (defaults.icons.theme.iconDefinitions as any)[iconname];
if (typeof distIcon === 'object' && typeof outIcon === 'object') {
distIcon.iconPath = replaceIconPathWithAccent(outIcon.iconPath, _accentName)
}
})
// theme.iconDefinitions._folder_open.iconPath = defaults.icons.theme.iconDefinitions._folder_open.iconPath.replace('.svg', `.accent.${ _accentName }.svg`);
// theme.iconDefinitions._folder_open_build.iconPath = defaults.icons.theme.iconDefinitions._folder_open_build.iconPath.replace('.svg', `.accent.${ _accentName }.svg`);
} else { } else {
theme.iconDefinitions._folder_open.iconPath = defaults.icons.theme.iconDefinitions._folder_open.iconPath;
theme.iconDefinitions._folder_open_build.iconPath = defaults.icons.theme.iconDefinitions._folder_open_build.iconPath; getAccentableIcons().forEach(iconname => {
let distIcon = (theme.iconDefinitions as any)[iconname];
let outIcon = (defaults.icons.theme.iconDefinitions as any)[iconname];
distIcon.iconPath = outIcon.iconPath;
});
// theme.iconDefinitions._folder_open.iconPath = defaults.icons.theme.iconDefinitions._folder_open.iconPath;
// theme.iconDefinitions._folder_open_build.iconPath = defaults.icons.theme.iconDefinitions._folder_open_build.iconPath;
} }
theme.iconDefinitions._folder_dark.iconPath = defaults.icons.theme.iconDefinitions._folder_dark.iconPath.replace('.svg', `${ variantName }.svg`); theme.iconDefinitions._folder_dark.iconPath = defaults.icons.theme.iconDefinitions._folder_dark.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions._file_folder.iconPath = defaults.icons.theme.iconDefinitions._file_folder.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions._folder_dark_build.iconPath = defaults.icons.theme.iconDefinitions._folder_dark_build.iconPath.replace('.svg', `${ variantName }.svg`); theme.iconDefinitions._folder_dark_build.iconPath = defaults.icons.theme.iconDefinitions._folder_dark_build.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions["_file_folder-build"].iconPath = defaults.icons.theme.iconDefinitions["_file_folder-build"].iconPath.replace('.svg', `${ variantName }.svg`); // theme.iconDefinitions._file_folder.iconPath = defaults.icons.theme.iconDefinitions._file_folder.iconPath.replace('.svg', `${ variantName }.svg`);
// theme.iconDefinitions["_file_folder-build"].iconPath = defaults.icons.theme.iconDefinitions["_file_folder-build"].iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions._folder_light.iconPath = defaults.icons.theme.iconDefinitions._folder_light.iconPath.replace('.svg', `${ variantName }.svg`);
theme.iconDefinitions["_folder_light_build"].iconPath = defaults.icons.theme.iconDefinitions["_folder_light_build"].iconPath.replace('.svg', `${ variantName }.svg`);
fs.writeFile(themepath, JSON.stringify(theme), { encoding: CHARSET }, (error) => { fs.writeFile(themepath, JSON.stringify(theme), { encoding: CHARSET }, (error) => {
if (error) { if (error) {

View file

@ -17,29 +17,40 @@
"Teal": "#80CBC4", "Teal": "#80CBC4",
"Yellow": "#FFA000" "Yellow": "#FFA000"
}, },
"accentableIcons": [
"_folder_open",
"_folder_open_build",
"_folder_vscode_open"
],
"changelog": { "changelog": {
"lastversion": "1.0.5" "lastversion": "1.0.5"
}, },
"icons": { "icons": {
"theme": { "theme": {
"iconDefinitions": { "iconDefinitions": {
"_folder_dark": { "_folder_vscode": {
"iconPath": "../icons/folder.svg" "iconPath": "../icons/_folder_vscode.svg"
}, },
"_file_folder": { "_folder_vscode_open": {
"iconPath": "../icons/folder.svg" "iconPath": "../icons/_folder_vscode_open.svg"
},
"_folder_dark": {
"iconPath": "../icons/_folder_dark.svg"
}, },
"_folder_dark_build": { "_folder_dark_build": {
"iconPath": "../icons/folder-build.svg" "iconPath": "../icons/_folder_dark_build.svg"
}, },
"_file_folder-build": { "_file_folder": {
"iconPath": "../icons/folder-build.svg" "iconPath": "../icons/_file_folder.svg"
},
"_file_folder_build": {
"iconPath": "../icons/_file_folder_build.svg"
}, },
"_folder_open": { "_folder_open": {
"iconPath": "../icons/folder-outline.svg" "iconPath": "../icons/_folder_open.svg"
}, },
"_folder_open_build": { "_folder_open_build": {
"iconPath": "../icons/folder-outline-build.svg" "iconPath": "../icons/_folder_open_build.svg"
} }
} }
} }

View file

@ -34,6 +34,15 @@ export function getAbsolutePath(input: string): string {
return path.join(PATHS.VSIX_DIR, input); return path.join(PATHS.VSIX_DIR, input);
} }
/**
* @export
* @returns {string[]}
*/
export function getAccentableIcons(): string[] {
return getDefaultValues().accentableIcons;
}
/** /**
* Gets a theme content by a given contribute ID * Gets a theme content by a given contribute ID
* *

View file

@ -2,7 +2,7 @@ import * as vscode from 'vscode';
import { IDefaults } from "../interfaces/idefaults"; import { IDefaults } from "../interfaces/idefaults";
import { IThemeCustomProperties } from "../interfaces/itheme-custom-properties"; import { IThemeCustomProperties } from "../interfaces/itheme-custom-properties";
import { getPackageJSON } from "./fs"; import {getPackageJSON} from './fs';
/** /**
* Gets saved accent * Gets saved accent

View file

@ -1,5 +1,6 @@
export interface IDefaults { export interface IDefaults {
accents: IAccents; accents: IAccents;
accentableIcons: string[];
changelog: IChangelog; changelog: IChangelog;
icons: IDefaultsThemeIcons; icons: IDefaultsThemeIcons;
themeVariants: IDefaultsThemeVariant; themeVariants: IDefaultsThemeVariant;
@ -31,10 +32,10 @@ export interface IDefaultsThemeIcons {
_folder_dark_build: { _folder_dark_build: {
iconPath: string; iconPath: string;
} }
"_file_folder-build": { "_folder_light_build": {
iconPath: string; iconPath: string;
} }
_file_folder: { _folder_light: {
iconPath: string; iconPath: string;
} }
} }

View file

@ -51,7 +51,6 @@ export interface IThemeIcons {
"_file_folder-light": IThemeIconsIconPath; "_file_folder-light": IThemeIconsIconPath;
"_file_folder-outline-build": IThemeIconsIconPath; "_file_folder-outline-build": IThemeIconsIconPath;
"_file_folder-outline": IThemeIconsIconPath; "_file_folder-outline": IThemeIconsIconPath;
"_file_folder": IThemeIconsIconPath;
"_file_font": IThemeIconsIconPath; "_file_font": IThemeIconsIconPath;
"_file_fsharp": IThemeIconsIconPath; "_file_fsharp": IThemeIconsIconPath;
"_file_git": IThemeIconsIconPath; "_file_git": IThemeIconsIconPath;

View file

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#424242;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#424242;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4A616C;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4A616C;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#90A4AE;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#90A4AE;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4E5579;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4E5579;enable-background:new}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

Before

Width:  |  Height:  |  Size: 477 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 477 B

After

Width:  |  Height:  |  Size: 477 B

View file

Before

Width:  |  Height:  |  Size: 252 B

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#90A4AE" d="M9.8 3L12 5.25h8.8c1.21 0 2.2 1.013 2.2 2.25v11.25c0 1.238-.99 2.25-2.2 2.25H3.2C1.99 21 1 19.988 1 18.75V5.25C1 4.012 1.99 3 3.2 3h6.6z"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View file

Before

Width:  |  Height:  |  Size: 455 B

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#424242}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#424242}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4A616C}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4A616C}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#90A4AE}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#90A4AE}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4E5579}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.st0{fill:#4E5579}.st1{fill:#f78c6c}</style><path class="st0" d="M17.8 10.1l5.2 2.3v-5c0-1.2-1-2.2-2.2-2.2H12L9.8 3H3.2C2 3 1 4 1 5.2v13.6c0 1.2 1 2.2 2.2 2h8.3v-7.9l6.3-2.8z"/><path class="st1" d="M23 12.4l-5.2-2.3-6.2 2.8v8.3l6.2 2.8 6.2-2.8v-8.3l-1-.5zm-5.2-1.2l4.5 2-4.5 2-4.5-2 4.5-2zm-.6 11.4l-4.1-1.8-.6-.3v-6.6l4.8 2.1v6.6zm5.8-4v1.9l-4.8 2.1v-6.5L23 14v4.6z"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

1
icons/folder_vscode.svg Normal file
View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#4a616c}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode</title><path class="cls-1" d="M9.8 3L12 5.2h8.8A2.22 2.22 0 0 1 23 7.4v11.2a2.22 2.22 0 0 1-2.2 2.2H3.2a1.94 1.94 0 0 1-2.2-2V5.2A2.22 2.22 0 0 1 3.2 3z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 492 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4}.cls-2{fill:#ffe0b2}</style></defs><title>folder_vscode_open</title><path class="cls-1" d="M20.8 5.25H12L9.8 3H3.2A2.23 2.23 0 0 0 1 5.25v13.5A2.23 2.23 0 0 0 3.2 21h17.6a2.23 2.23 0 0 0 2.2-2.25V7.5a2.23 2.23 0 0 0-2.2-2.25zm0 13.5H3.2V7.5h17.6z"/><path class="cls-2" d="M20.87 9.38l-6.42 5.9-3.59-2.7-1.48.86 3.54 3.25-3.55 3.25 1.48.87 3.59-2.7L20.87 24 24 22.48V10.9zm0 3.88v6.86l-4.55-3.43z"/></svg>

After

Width:  |  Height:  |  Size: 530 B

Some files were not shown because too many files have changed in this diff Show more