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 {
/**
* Icon filename
* @type {string}
* @memberof IIcon
*/
filename: string;
/**
* If set to true, the icon is marked as last
* @type {boolean}

View file

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

View file

@ -9,19 +9,11 @@ import { CHARSET } from "../../extensions/consts/files";
import { IDefaults } from "../../extensions/interfaces/idefaults";
import { IThemeIconsAccents } from "../interfaces/itheme-icons-accents";
import PATHS from '../../extensions/consts/paths'
// import { IPackageJSON } from "../../extensions/interfaces/ipackage.json";
// import { writePackageJSON } from "../helpers/contribute-icon-theme";
import { IThemeIconsItem } from '../interfaces/itheme-icons-item';
import { getAccentableIcons } from '../../extensions/helpers/fs';
const BASE_ICON_THEME_PATH: string = path.join(process.cwd(), PATHS.THEMES, './Material-Theme-Icons.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
@ -89,8 +81,6 @@ function writeSVGIcon(fromFile: string, toFile: string, accent: string): void {
export default gulp.task('build:icons.accents', cb => {
let basetheme: IThemeIconsAccents;
// PACKAGE_JSON.contributes.iconThemes = [ PACKAGE_JSON_ICON_THEME ];
try {
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 themePath: string = path.join(PATHS.THEMES, `./Material-Theme-Icons-${ key }.json`);
// let id: string = `${ PACKAGE_JSON_ICON_THEME.id }-${ key.replace(/\s+/g, '-').toLowerCase() }`;
// let label: string = `${ PACKAGE_JSON_ICON_THEME.label } - ${ key } accent`;
// let themepathJSON: string = `./${ themePath }`;
getAccentableIcons().forEach(accentableIconName => {
gutil.log(gutil.colors.gray(`Preparing ${ accentableIconName } accented icon`));
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);
let iconOriginDefinition: IThemeIconsItem = (basetheme.iconDefinitions as any)[accentableIconName];
let iconCopyDefinition: IThemeIconsItem = (themecopy.iconDefinitions as any)[accentableIconName];
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);
if (iconOriginDefinition !== undefined && typeof iconOriginDefinition.iconPath === 'string' && iconCopyDefinition !== undefined && typeof iconCopyDefinition.iconPath === 'string') {
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));

View file

@ -36,12 +36,14 @@ export default gulp.task('build:icons.variants', callback => {
let variant = variants[variantName];
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-build"].iconPath = theme.iconDefinitions["_file_folder-build"].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._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._file_folder.iconPath, theme.iconDefinitions._file_folder.iconPath, variant);
writeIconVariant(basetheme.iconDefinitions["_file_folder-build"].iconPath, theme.iconDefinitions["_file_folder-build"].iconPath, variant);
writeIconVariant(basetheme.iconDefinitions._folder_light.iconPath, theme.iconDefinitions._folder_light.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}
*/
function iconFactory(fileName: string): IIcon {
gutil.log(gutil.colors.gray(`Processing icon ${ fileName }`))
let name: string = path.basename(fileName, path.extname(fileName));
let filename: string = name;
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
* Builds Themes
*/
export default gulp.task('build:themes', () => {
export default gulp.task('build:themes', cb => {
gulpUtil.log(gulpUtil.colors.gray(HR));
themeVariants.forEach(variant => {
let filePath = path.join(paths.THEMES, `./${variant.name}.json`);
let templateData = { commons, variant };
let templateJSON: any = JSON.parse(mustache.render(themeTemplateFileContent, templateData));
let templateJSONStringified: string = JSON.stringify(templateJSON, null, 2);
try {
themeVariants.forEach(variant => {
let filePath = path.join(paths.THEMES, `./${variant.name}.json`);
let templateData = { commons, variant };
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));
});

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 { getAbsolutePath, getDefaultValues, getThemeIconsByContributeID, getThemeIconsContribute } from "../../helpers/fs";
@ -8,6 +9,10 @@ import { CHARSET } from "../../consts/files";
import { IPackageJSONThemeIcons } from "../../interfaces/ipackage.json";
import { IThemeIcons } from "../../interfaces/itheme-icons";
function replaceIconPathWithAccent(iconPath: string, accentName: string): string {
return iconPath.replace('.svg', `.accent.${ accentName }.svg`);
}
export const THEME_ICONS = () => {
let deferred: any = {};
let promise = new Promise((resolve, reject) => {
@ -27,17 +32,36 @@ export const THEME_ICONS = () => {
if (isAccent(accentName, defaults)) {
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 {
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._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["_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) => {
if (error) {

View file

@ -17,29 +17,40 @@
"Teal": "#80CBC4",
"Yellow": "#FFA000"
},
"accentableIcons": [
"_folder_open",
"_folder_open_build",
"_folder_vscode_open"
],
"changelog": {
"lastversion": "1.0.5"
},
"icons": {
"theme": {
"iconDefinitions": {
"_folder_dark": {
"iconPath": "../icons/folder.svg"
"_folder_vscode": {
"iconPath": "../icons/_folder_vscode.svg"
},
"_file_folder": {
"iconPath": "../icons/folder.svg"
"_folder_vscode_open": {
"iconPath": "../icons/_folder_vscode_open.svg"
},
"_folder_dark": {
"iconPath": "../icons/_folder_dark.svg"
},
"_folder_dark_build": {
"iconPath": "../icons/folder-build.svg"
"iconPath": "../icons/_folder_dark_build.svg"
},
"_file_folder-build": {
"iconPath": "../icons/folder-build.svg"
"_file_folder": {
"iconPath": "../icons/_file_folder.svg"
},
"_file_folder_build": {
"iconPath": "../icons/_file_folder_build.svg"
},
"_folder_open": {
"iconPath": "../icons/folder-outline.svg"
"iconPath": "../icons/_folder_open.svg"
},
"_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);
}
/**
* @export
* @returns {string[]}
*/
export function getAccentableIcons(): string[] {
return getDefaultValues().accentableIcons;
}
/**
* 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 { IThemeCustomProperties } from "../interfaces/itheme-custom-properties";
import { getPackageJSON } from "./fs";
import {getPackageJSON} from './fs';
/**
* Gets saved accent

View file

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

View file

@ -51,7 +51,6 @@ export interface IThemeIcons {
"_file_folder-light": IThemeIconsIconPath;
"_file_folder-outline-build": IThemeIconsIconPath;
"_file_folder-outline": IThemeIconsIconPath;
"_file_folder": IThemeIconsIconPath;
"_file_font": IThemeIconsIconPath;
"_file_fsharp": 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