From 7850a139e4cf0b419e112203a38b4eb2b6353b08 Mon Sep 17 00:00:00 2001 From: Jacob Lamb Date: Wed, 22 Nov 2023 14:37:04 -0800 Subject: [PATCH 1/3] Add biome --- biome.json | 26 +++++++ package-lock.json | 182 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 7 ++ 3 files changed, 213 insertions(+), 2 deletions(-) create mode 100644 biome.json diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..253e119 --- /dev/null +++ b/biome.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.3.3/schema.json", + "organizeImports": { + "enabled": true + }, + "files": { + "ignoreUnknown": true, + "ignore": ["./file-types/**"] + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "overrides": [ + { + "include": [".vscode"], + "json": { + "parser": { + "allowComments": true + } + } + } + ] +} diff --git a/package-lock.json b/package-lock.json index bf11624..7188128 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,14 @@ { "name": "symbols", - "version": "0.0.12", + "version": "0.0.15", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "symbols", - "version": "0.0.12", + "version": "0.0.15", "devDependencies": { + "@biomejs/biome": "1.3.3", "@types/vscode": "^1.70.0", "release-it": "^15.3.0" }, @@ -85,6 +86,127 @@ "node": ">=0.8.0" } }, + "node_modules/@biomejs/biome": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.3.3.tgz", + "integrity": "sha512-vTJn7RBzLWIabUuUIoEopO860YyBrbPEu4Pztfd28jRU5QD074hKZ9IQs24pFO6A2R296gaeYmN62f4u7pUruQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.*" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.3.3", + "@biomejs/cli-darwin-x64": "1.3.3", + "@biomejs/cli-linux-arm64": "1.3.3", + "@biomejs/cli-linux-x64": "1.3.3", + "@biomejs/cli-win32-arm64": "1.3.3", + "@biomejs/cli-win32-x64": "1.3.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.3.3.tgz", + "integrity": "sha512-2X87ZfbmWwe4NGukrUvnoYdI//muSgjNUCAHJ2DO+kS1sB7kDy1s6PN/IYyTJuqRcJtDuOnSpaUDE7KxR1YhtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.3.3.tgz", + "integrity": "sha512-t+7DWTCbSgHOBcPsGKuwS1qh1z9zbXFK8i8ktE18yW7iF/W0zI62k44fYqYeFJKlb0Q08aqUvez3L+AQJFsn+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.3.3.tgz", + "integrity": "sha512-D8CvXaB8lkXXBQ6B3n0MXSSZFiE60+aNHorBLimVTtKiMod8QvAP425oQFZFul5wMXZqPLGTKFjXbAi/rvnc1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.3.3.tgz", + "integrity": "sha512-bqB05fwJnRZwRlcm/BS/s4qPickqiXZkiU/nOYvHApfsPeqgSHgv5HWoBYuSUjgqBbX3XZJArsC5dCcVW7vAJw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.3.3.tgz", + "integrity": "sha512-muFOjAv1ONMfaJDlo4Ds+Qb9lkdSLM2XaxOe3AJPejSq3Vi0aRr51ZnE02BofMnL2sVsOA9cO54wibsuTcopbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.3.3.tgz", + "integrity": "sha512-PMkMhS4smmmTMflxuZUx3REFSazEL9xsGscvZO1dKWI4ET23la+KxEM4TlSpjOyO66UerqSkuUlZecn0QhD63A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.*" + } + }, "node_modules/@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", @@ -4507,6 +4629,62 @@ } } }, + "@biomejs/biome": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.3.3.tgz", + "integrity": "sha512-vTJn7RBzLWIabUuUIoEopO860YyBrbPEu4Pztfd28jRU5QD074hKZ9IQs24pFO6A2R296gaeYmN62f4u7pUruQ==", + "dev": true, + "requires": { + "@biomejs/cli-darwin-arm64": "1.3.3", + "@biomejs/cli-darwin-x64": "1.3.3", + "@biomejs/cli-linux-arm64": "1.3.3", + "@biomejs/cli-linux-x64": "1.3.3", + "@biomejs/cli-win32-arm64": "1.3.3", + "@biomejs/cli-win32-x64": "1.3.3" + } + }, + "@biomejs/cli-darwin-arm64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.3.3.tgz", + "integrity": "sha512-2X87ZfbmWwe4NGukrUvnoYdI//muSgjNUCAHJ2DO+kS1sB7kDy1s6PN/IYyTJuqRcJtDuOnSpaUDE7KxR1YhtA==", + "dev": true, + "optional": true + }, + "@biomejs/cli-darwin-x64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.3.3.tgz", + "integrity": "sha512-t+7DWTCbSgHOBcPsGKuwS1qh1z9zbXFK8i8ktE18yW7iF/W0zI62k44fYqYeFJKlb0Q08aqUvez3L+AQJFsn+w==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.3.3.tgz", + "integrity": "sha512-D8CvXaB8lkXXBQ6B3n0MXSSZFiE60+aNHorBLimVTtKiMod8QvAP425oQFZFul5wMXZqPLGTKFjXbAi/rvnc1A==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.3.3.tgz", + "integrity": "sha512-bqB05fwJnRZwRlcm/BS/s4qPickqiXZkiU/nOYvHApfsPeqgSHgv5HWoBYuSUjgqBbX3XZJArsC5dCcVW7vAJw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-arm64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.3.3.tgz", + "integrity": "sha512-muFOjAv1ONMfaJDlo4Ds+Qb9lkdSLM2XaxOe3AJPejSq3Vi0aRr51ZnE02BofMnL2sVsOA9cO54wibsuTcopbw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-x64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.3.3.tgz", + "integrity": "sha512-PMkMhS4smmmTMflxuZUx3REFSazEL9xsGscvZO1dKWI4ET23la+KxEM4TlSpjOyO66UerqSkuUlZecn0QhD63A==", + "dev": true, + "optional": true + }, "@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", diff --git a/package.json b/package.json index 97ec0a3..b9a7d4d 100644 --- a/package.json +++ b/package.json @@ -75,9 +75,16 @@ } }, "scripts": { + "format": "biome format --write .", + "lint": "biome lint .", + "lint:fix": "biome lint --apply .", + "check-format": "biome check .", + "check-format:fix": "biome --apply .", + "precommit": "npm run check-format && npm run lint", "release": "release-it" }, "devDependencies": { + "@biomejs/biome": "1.3.3", "@types/vscode": "^1.70.0", "release-it": "^15.3.0" } From d0b5dd5448f4398d6254d95ef5bd078ad784e772 Mon Sep 17 00:00:00 2001 From: Jacob Lamb Date: Wed, 22 Nov 2023 14:37:09 -0800 Subject: [PATCH 2/3] Format files --- .vscode/launch.json | 12 +- .vscode/settings.json | 20 +- file-types/.babelrc | 2 +- file-types/.jshintrc | 10 +- file-types/JavaScript.js | 83 +- file-types/rollup.config.js | 68 +- src/extension.js | 26 +- src/lib/change-listener.js | 26 +- src/lib/config.js | 81 +- src/lib/constants.js | 14 +- src/lib/log.js | 16 +- src/lib/theme-json-handlers.js | 38 +- src/lib/theme.js | 146 +- src/lib/window.js | 20 +- src/symbol-icon-theme.json | 2388 ++++++++++++++++---------------- 15 files changed, 1478 insertions(+), 1472 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 670d6e6..5922172 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,12 +9,8 @@ "name": "Run Extension", "type": "extensionHost", "request": "launch", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}" - ], - "outFiles": [ - "${workspaceFolder}/out/**/*.js" - ], + "args": ["--extensionDevelopmentPath=${workspaceFolder}"], + "outFiles": ["${workspaceFolder}/out/**/*.js"], "preLaunchTask": "${defaultBuildTask}" }, { @@ -25,9 +21,7 @@ "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" ], - "outFiles": [ - "${workspaceFolder}/out/test/**/*.js" - ], + "outFiles": ["${workspaceFolder}/out/test/**/*.js"], "preLaunchTask": "${defaultBuildTask}" } ] diff --git a/.vscode/settings.json b/.vscode/settings.json index 135c672..301d874 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,12 +1,12 @@ // Place your settings in this file to overwrite default and user settings. { - "files.exclude": { - "out": false // set this to true to hide the "out" folder with the compiled JS files - }, - "search.exclude": { - "out": true // set this to false to include "out" folder in search results - }, - // Turn off tsc task auto detection since we have the necessary tasks as npm scripts - "typescript.tsc.autoDetect": "off", - "window.title": "${activeEditorShort}${separator}${rootName}" -} \ No newline at end of file + "files.exclude": { + "out": false // set this to true to hide the "out" folder with the compiled JS files + }, + "search.exclude": { + "out": true // set this to false to include "out" folder in search results + }, + // Turn off tsc task auto detection since we have the necessary tasks as npm scripts + "typescript.tsc.autoDetect": "off", + "window.title": "${activeEditorShort}${separator}${rootName}" +} diff --git a/file-types/.babelrc b/file-types/.babelrc index 1d9cdd5..fb360ee 100644 --- a/file-types/.babelrc +++ b/file-types/.babelrc @@ -1,3 +1,3 @@ { - "presets": ["es2015-rollup"] + "presets": ["es2015-rollup"] } diff --git a/file-types/.jshintrc b/file-types/.jshintrc index 920bf4f..02d39a8 100644 --- a/file-types/.jshintrc +++ b/file-types/.jshintrc @@ -1,7 +1,7 @@ { - "esversion": 6, - "node": true, - "globals": { - "atom": true - } + "esversion": 6, + "node": true, + "globals": { + "atom": true + } } diff --git a/file-types/JavaScript.js b/file-types/JavaScript.js index 387793c..d7bb61b 100644 --- a/file-types/JavaScript.js +++ b/file-types/JavaScript.js @@ -6,7 +6,6 @@ */ - /* COMMENTS @@ -16,8 +15,6 @@ */ - - /* DOCBLOCK @@ -29,37 +26,31 @@ */ class Bread { - - constructor(slices) { - this.slices = 12; - - if ( slices > this.slices ) { - console.log('not enough bread'); - } else { - console.log(slices); - } - - } - + constructor(slices) { + this.slices = 12; + + if (slices > this.slices) { + console.log("not enough bread"); + } else { + console.log(slices); + } + } } class Sandwich extends Bread { - - constructor(slices) { - this.bread = super(slices); - this.toppings = []; - } - - toppings( ingredients ) { - ingredients.forEach(function(value, index) { - this.toppings.push( value ); - }); - } - + constructor(slices) { + this.bread = super(slices); + this.toppings = []; + } + + toppings(ingredients) { + ingredients.forEach(function (value, index) { + this.toppings.push(value); + }); + } } -var Club = new Sandwich(3).toppings(['roast beef', 'turkey']); - +var Club = new Sandwich(3).toppings(["roast beef", "turkey"]); /* @@ -71,8 +62,8 @@ var Club = new Sandwich(3).toppings(['roast beef', 'turkey']); */ - var myName = 'Slim Shady', - template = 'Hello, my name is ${myName}'; +var myName = "Slim Shady", + template = "Hello, my name is ${myName}"; /* @@ -87,13 +78,11 @@ var Club = new Sandwich(3).toppings(['roast beef', 'turkey']); */ - -function testFunction(string,arr,obj) { -// DO SOMETHING +function testFunction(string, arr, obj) { + // DO SOMETHING } -testFunction('one', 'two', [1,2,3], {key: 'value'} ); - +testFunction("one", "two", [1, 2, 3], { key: "value" }); /* @@ -105,24 +94,22 @@ testFunction('one', 'two', [1,2,3], {key: 'value'} ); */ -import { ham as turkey } from 'mySandwich.js'; +import { ham as turkey } from "mySandwich.js"; var isFunction; -switch ( typeof testFunction ) { - - case 'function': - isFunction = true; - break; - default: - isFunction = false; - +switch (typeof testFunction) { + case "function": + isFunction = true; + break; + default: + isFunction = false; } try { - testFunction(); + testFunction(); } catch (e) { - throw 'Whoopsadaisy!'; + throw "Whoopsadaisy!"; } finally { - console.log('i think we\'re done here!'); + console.log("i think we're done here!"); } diff --git a/file-types/rollup.config.js b/file-types/rollup.config.js index 26c080f..f0a72fa 100644 --- a/file-types/rollup.config.js +++ b/file-types/rollup.config.js @@ -1,38 +1,36 @@ -import babel from 'rollup-plugin-babel'; -import commonjs from 'rollup-plugin-commonjs'; -import eslint from 'rollup-plugin-eslint'; -import json from 'rollup-plugin-json'; -import resolve from 'rollup-plugin-node-resolve'; -import replace from 'rollup-plugin-replace'; -import config from './shared/config.js'; -import uglify from 'rollup-plugin-uglify'; +import babel from "rollup-plugin-babel"; +import commonjs from "rollup-plugin-commonjs"; +import eslint from "rollup-plugin-eslint"; +import json from "rollup-plugin-json"; +import resolve from "rollup-plugin-node-resolve"; +import replace from "rollup-plugin-replace"; +import config from "./shared/config.js"; +import uglify from "rollup-plugin-uglify"; export default { - entry: './client/app.js', - dest: '_dist/js/app.min.js', - format: 'iife', - moduleName: config.shared.name, - plugins: [ - eslint({ - exclude: [ - 'public/**' - ] - }), - commonjs(), - json(), - replace({ - exclude: 'node_modules/**', - ENV: JSON.stringify(process.env.NODE_ENV) - }), - resolve({ - jsnext: true, - main: true, - browser: true - }), - babel({ - exclude: 'node_modules/**' - }), - (process.env.NODE_ENV === 'production' && uglify()) - ], - sourceMap: 'inline' + entry: "./client/app.js", + dest: "_dist/js/app.min.js", + format: "iife", + moduleName: config.shared.name, + plugins: [ + eslint({ + exclude: ["public/**"], + }), + commonjs(), + json(), + replace({ + exclude: "node_modules/**", + ENV: JSON.stringify(process.env.NODE_ENV), + }), + resolve({ + jsnext: true, + main: true, + browser: true, + }), + babel({ + exclude: "node_modules/**", + }), + process.env.NODE_ENV === "production" && uglify(), + ], + sourceMap: "inline", }; diff --git a/src/extension.js b/src/extension.js index 274ed14..f4e767f 100644 --- a/src/extension.js +++ b/src/extension.js @@ -1,30 +1,28 @@ const vscode = require("vscode"); const { monitorConfigChanges } = require("./lib/change-listener"); const { syncOriginal } = require("./lib/theme"); -const { - log -} = require("./lib/log") +const { log } = require("./lib/log"); /** * @param {vscode.ExtensionContext} context */ async function activate(context) { - log.info("miguelsolorio.symbols activated") - await syncOriginal(); - monitorConfigChanges(); + log.info("miguelsolorio.symbols activated"); + await syncOriginal(); + monitorConfigChanges(); - vscode.workspace.onDidChangeConfiguration(monitorConfigChanges); + vscode.workspace.onDidChangeConfiguration(monitorConfigChanges); - vscode.window.onDidChangeWindowState((state) => { - if (state.focused) { - monitorConfigChanges(); - } - }); + vscode.window.onDidChangeWindowState((state) => { + if (state.focused) { + monitorConfigChanges(); + } + }); } function deactivate() {} // eslint-disable-next-line no-undef module.exports = { - activate, - deactivate, + activate, + deactivate, }; diff --git a/src/lib/change-listener.js b/src/lib/change-listener.js index 9d8cfa5..66f7b94 100644 --- a/src/lib/change-listener.js +++ b/src/lib/change-listener.js @@ -1,24 +1,24 @@ const { - themeJSONToConfig, - getWorkspaceConfiguration, - updateConfig, + themeJSONToConfig, + getWorkspaceConfiguration, + updateConfig, } = require("./config"); const { getThemeFile } = require("./theme"); function monitorConfigChanges() { - const themeJSON = getThemeFile(); - const currentState = themeJSONToConfig(themeJSON); - const workspaceState = getWorkspaceConfiguration(); + const themeJSON = getThemeFile(); + const currentState = themeJSONToConfig(themeJSON); + const workspaceState = getWorkspaceConfiguration(); - const updatedKeys = {}; + const updatedKeys = {}; - for (let currentKey in currentState) { - updatedKeys[currentKey] = workspaceState[currentKey]; - } - - updateConfig(updatedKeys); + for (let currentKey in currentState) { + updatedKeys[currentKey] = workspaceState[currentKey]; + } + + updateConfig(updatedKeys); } module.exports = { - monitorConfigChanges, + monitorConfigChanges, }; diff --git a/src/lib/config.js b/src/lib/config.js index 60ae79f..9d815a4 100644 --- a/src/lib/config.js +++ b/src/lib/config.js @@ -1,13 +1,10 @@ const vscode = require("vscode"); -const { - log -} = require("./log") +const { log } = require("./log"); const defaultConfig = require("../symbol-icon-theme.json"); const pkgConfig = require("../../package.json"); const { getSoureFile, writeThemeFile } = require("./theme"); -const { PKG_PROP_MAP } = require("./constants") -const { updateThemeJSONHandlers } = require("./theme-json-handlers") - +const { PKG_PROP_MAP } = require("./constants"); +const { updateThemeJSONHandlers } = require("./theme-json-handlers"); // get the configuration definition from the package.json // and also the default state of the theme to act as fallback @@ -20,23 +17,23 @@ const defaultState = themeJSONToConfig(defaultConfig); * @description will get the current **workspace** configuration */ function getWorkspaceConfiguration() { - const config = {}; - for (let key of configKeys) { - if (!PKG_PROP_MAP[key]) { - continue; - } + const config = {}; + for (let key of configKeys) { + if (!PKG_PROP_MAP[key]) { + continue; + } - const valueGroup = vscode.workspace - .getConfiguration("symbols") - .inspect(PKG_PROP_MAP[key]); + const valueGroup = vscode.workspace + .getConfiguration("symbols") + .inspect(PKG_PROP_MAP[key]); - config[PKG_PROP_MAP[key]] = - valueGroup.workspaceValue || - valueGroup.globalValue || - defaultState[PKG_PROP_MAP[key]]; - } + config[PKG_PROP_MAP[key]] = + valueGroup.workspaceValue || + valueGroup.globalValue || + defaultState[PKG_PROP_MAP[key]]; + } - return config; + return config; } /** @@ -44,16 +41,16 @@ function getWorkspaceConfiguration() { * keys that are defined in the configuration section of the package.json */ function themeJSONToConfig(themeDef) { - const result = {}; + const result = {}; - for (let key of configKeys) { - if (!PKG_PROP_MAP[key]) { - continue; - } - result[PKG_PROP_MAP[key]] = themeDef[PKG_PROP_MAP[key]]; - } + for (let key of configKeys) { + if (!PKG_PROP_MAP[key]) { + continue; + } + result[PKG_PROP_MAP[key]] = themeDef[PKG_PROP_MAP[key]]; + } - return result; + return result; } /** @@ -61,22 +58,24 @@ function themeJSONToConfig(themeDef) { * in the theme definition file */ function updateConfig(config) { - const themeJSON = getSoureFile(); + const themeJSON = getSoureFile(); - for (let key in config) { - log.info(`symbols.${key} changed, updating to ${config[key]}`); - const updateHandler = updateThemeJSONHandlers[key]; - if (updateHandler) { - vscode.workspace.getConfiguration("symbols").update(key, config[key], true); - updateHandler(themeJSON, config[key]); - } - } + for (let key in config) { + log.info(`symbols.${key} changed, updating to ${config[key]}`); + const updateHandler = updateThemeJSONHandlers[key]; + if (updateHandler) { + vscode.workspace + .getConfiguration("symbols") + .update(key, config[key], true); + updateHandler(themeJSON, config[key]); + } + } - writeThemeFile(themeJSON); + writeThemeFile(themeJSON); } module.exports = { - getWorkspaceConfiguration, - themeJSONToConfig, - updateConfig + getWorkspaceConfiguration, + themeJSONToConfig, + updateConfig, }; diff --git a/src/lib/constants.js b/src/lib/constants.js index 4f4f7b3..c7f6c1d 100644 --- a/src/lib/constants.js +++ b/src/lib/constants.js @@ -1,16 +1,16 @@ // mapped properties for keys in package.json vs keys in vscode const PKG_PROP_MAP = { - "symbols.hidesExplorerArrows": "hidesExplorerArrows", - "symbols.folders.associations": "folders.associations", - "symbols.files.associations": "files.associations" + "symbols.hidesExplorerArrows": "hidesExplorerArrows", + "symbols.folders.associations": "folders.associations", + "symbols.files.associations": "files.associations", }; const MESSAGES = { - needsReloadToSync: "A Reload is needed to sync with the updated settings", - reloadButton: "Reload", + needsReloadToSync: "A Reload is needed to sync with the updated settings", + reloadButton: "Reload", }; module.exports = { - PKG_PROP_MAP, - MESSAGES, + PKG_PROP_MAP, + MESSAGES, }; diff --git a/src/lib/log.js b/src/lib/log.js index 85e24b6..eed4f6e 100644 --- a/src/lib/log.js +++ b/src/lib/log.js @@ -1,13 +1,13 @@ const vscode = require("vscode"); -const channel = vscode.window.createOutputChannel('Symbols') +const channel = vscode.window.createOutputChannel("Symbols"); const log = { - info: (...args) => { - const time = new Date().toLocaleTimeString() - channel.appendLine(`[INFO ${time}] ${args.join(' ')}`) - }, -} + info: (...args) => { + const time = new Date().toLocaleTimeString(); + channel.appendLine(`[INFO ${time}] ${args.join(" ")}`); + }, +}; module.exports = { - log -} + log, +}; diff --git a/src/lib/theme-json-handlers.js b/src/lib/theme-json-handlers.js index ee8fac6..b219ee2 100644 --- a/src/lib/theme-json-handlers.js +++ b/src/lib/theme-json-handlers.js @@ -1,24 +1,24 @@ const updateThemeJSONHandlers = { - "hidesExplorerArrows": (themeJSON, value) => { - themeJSON.hidesExplorerArrows = value; - }, - "folders.associations": (themeJSON, folders) => { - for (const folder in folders) { - themeJSON.folderNames[folder] = folders[folder]; - } - }, - "files.associations": (themeJSON, files) => { - for (const file in files) { - if(file.startsWith('*.')){ - const newExtension = file.replace('*.',''); - themeJSON.fileExtensions[newExtension] = files[file]; - } else { - themeJSON.fileNames[file] = files[file]; - } - } - }, + hidesExplorerArrows: (themeJSON, value) => { + themeJSON.hidesExplorerArrows = value; + }, + "folders.associations": (themeJSON, folders) => { + for (const folder in folders) { + themeJSON.folderNames[folder] = folders[folder]; + } + }, + "files.associations": (themeJSON, files) => { + for (const file in files) { + if (file.startsWith("*.")) { + const newExtension = file.replace("*.", ""); + themeJSON.fileExtensions[newExtension] = files[file]; + } else { + themeJSON.fileNames[file] = files[file]; + } + } + }, }; module.exports = { - updateThemeJSONHandlers, + updateThemeJSONHandlers, }; diff --git a/src/lib/theme.js b/src/lib/theme.js index c43e6dc..ddf80e7 100644 --- a/src/lib/theme.js +++ b/src/lib/theme.js @@ -17,36 +17,36 @@ const DEFAULT_THEME_FILE = "symbol-icon-theme.json"; * (or the theme file that vscode looks for) */ function getPath() { - if (__dirname === "src") { - return path.join(__dirname, THEME_FILE); - } else { - // relative to the current file aka theme.js - return path.join(__dirname, "..", THEME_FILE); - } + if (__dirname === "src") { + return path.join(__dirname, THEME_FILE); + } else { + // relative to the current file aka theme.js + return path.join(__dirname, "..", THEME_FILE); + } } /** * @description get the path for the default theme file (or the source code theme) */ function getDefaultFilePath() { - if (__dirname === "src") { - return path.join(__dirname, DEFAULT_THEME_FILE); - } else { - // relative to the current file aka theme.js - return path.join(__dirname, "..", DEFAULT_THEME_FILE); - } + if (__dirname === "src") { + return path.join(__dirname, DEFAULT_THEME_FILE); + } else { + // relative to the current file aka theme.js + return path.join(__dirname, "..", DEFAULT_THEME_FILE); + } } /** * @description get the path for the backup theme file (or the source code theme) */ function getBackupFilePath() { - if (__dirname === "src") { - return path.join(__dirname, BACKUP_THEME_FILE); - } else { - // relative to the current file aka theme.js - return path.join(__dirname, "..", BACKUP_THEME_FILE); - } + if (__dirname === "src") { + return path.join(__dirname, BACKUP_THEME_FILE); + } else { + // relative to the current file aka theme.js + return path.join(__dirname, "..", BACKUP_THEME_FILE); + } } /** @@ -54,11 +54,11 @@ function getBackupFilePath() { * if not, create one and then send the path */ function resolveOrCreateTheme() { - const themeFile = getPath(); - if (!fs.existsSync(themeFile)) { - fs.copyFileSync(getDefaultFilePath(), themeFile); - } - return themeFile; + const themeFile = getPath(); + if (!fs.existsSync(themeFile)) { + fs.copyFileSync(getDefaultFilePath(), themeFile); + } + return themeFile; } /** @@ -66,11 +66,11 @@ function resolveOrCreateTheme() { * if not, create one and then send the path */ function resolveOrCreateBackupTheme() { - const backupFile = getBackupFilePath(); - if (!fs.existsSync(backupFile)) { - fs.copyFileSync(getDefaultFilePath(), backupFile); - } - return backupFile; + const backupFile = getBackupFilePath(); + if (!fs.existsSync(backupFile)) { + fs.copyFileSync(getDefaultFilePath(), backupFile); + } + return backupFile; } /** @@ -78,27 +78,27 @@ function resolveOrCreateBackupTheme() { * or the default one */ function getThemeFile() { - return JSON.parse(fs.readFileSync(resolveOrCreateTheme(), "utf-8")); + return JSON.parse(fs.readFileSync(resolveOrCreateTheme(), "utf-8")); } /** * @description get the source theme json */ function getSoureFile() { - return JSON.parse(fs.readFileSync(getDefaultFilePath(), "utf-8")); + return JSON.parse(fs.readFileSync(getDefaultFilePath(), "utf-8")); } /** * @description get the backup theme json */ function getBackupFile() { - return JSON.parse(fs.readFileSync(resolveOrCreateBackupTheme(), "utf-8")); + return JSON.parse(fs.readFileSync(resolveOrCreateBackupTheme(), "utf-8")); } // write the theme data file to the **modified** theme // file function writeThemeFile(data) { - fs.writeFileSync(getPath(), JSON.stringify(data, null, 2)); + fs.writeFileSync(getPath(), JSON.stringify(data, null, 2)); } /** @@ -110,48 +110,48 @@ function writeThemeFile(data) { * sync later (unnecessary right now since the themeFile is small) */ async function syncOriginal() { - let themePath = getPath(); - let backupJSON = getBackupFile(); - let originalJSON = getSoureFile(); - - let needsSync = false; - - const configurableKeys = Object.values(PKG_PROP_MAP); - - // shallow check - for (const key in originalJSON) { - if (configurableKeys.indexOf(key) > -1) { - continue; - } - - const stringifiedSource = JSON.stringify(originalJSON[key]); - if (!backupJSON[key]) { - needsSync = true; - break; - } - - const stringifiedBackup = JSON.stringify(backupJSON[key]); - if (stringifiedSource != stringifiedBackup) { - log.info({ - stringifiedSource, - stringifiedBackup, - }); - needsSync = true; - break; - } - } - - if (needsSync) { - await confirmReload(); - fs.unlinkSync(themePath); - fs.copyFileSync(getDefaultFilePath(), themePath); - fs.copyFileSync(getDefaultFilePath(), getBackupFilePath()); - } + let themePath = getPath(); + let backupJSON = getBackupFile(); + let originalJSON = getSoureFile(); + + let needsSync = false; + + const configurableKeys = Object.values(PKG_PROP_MAP); + + // shallow check + for (const key in originalJSON) { + if (configurableKeys.indexOf(key) > -1) { + continue; + } + + const stringifiedSource = JSON.stringify(originalJSON[key]); + if (!backupJSON[key]) { + needsSync = true; + break; + } + + const stringifiedBackup = JSON.stringify(backupJSON[key]); + if (stringifiedSource != stringifiedBackup) { + log.info({ + stringifiedSource, + stringifiedBackup, + }); + needsSync = true; + break; + } + } + + if (needsSync) { + await confirmReload(); + fs.unlinkSync(themePath); + fs.copyFileSync(getDefaultFilePath(), themePath); + fs.copyFileSync(getDefaultFilePath(), getBackupFilePath()); + } } module.exports = { - getThemeFile, - getSoureFile, - writeThemeFile, - syncOriginal, + getThemeFile, + getSoureFile, + writeThemeFile, + syncOriginal, }; diff --git a/src/lib/window.js b/src/lib/window.js index 91d4b04..ae1e09e 100644 --- a/src/lib/window.js +++ b/src/lib/window.js @@ -2,19 +2,19 @@ const vscode = require("vscode"); const { MESSAGES } = require("./constants"); async function confirmReload() { - const response = await vscode.window.showInformationMessage( - MESSAGES.needsReloadToSync, - MESSAGES.reloadButton - ); + const response = await vscode.window.showInformationMessage( + MESSAGES.needsReloadToSync, + MESSAGES.reloadButton, + ); - if (response != MESSAGES.reloadButton) { - return false; - } + if (response != MESSAGES.reloadButton) { + return false; + } - vscode.commands.executeCommand("workbench.action.reloadWindow"); - return true; + vscode.commands.executeCommand("workbench.action.reloadWindow"); + return true; } module.exports = { - confirmReload, + confirmReload, }; diff --git a/src/symbol-icon-theme.json b/src/symbol-icon-theme.json index bc11931..1b2395e 100644 --- a/src/symbol-icon-theme.json +++ b/src/symbol-icon-theme.json @@ -1,1189 +1,1219 @@ { - "iconDefinitions": { - "folder": { "iconPath": "./icons/folders/folder.svg" }, - "folder-assets": { "iconPath": "./icons/folders/folder-assets.svg" }, + "iconDefinitions": { + "folder": { "iconPath": "./icons/folders/folder.svg" }, + "folder-assets": { "iconPath": "./icons/folders/folder-assets.svg" }, - "folder-red": { "iconPath": "./icons/folders/folder-red.svg" }, - "folder-green": { "iconPath": "./icons/folders/folder-green.svg" }, - "folder-blue": { "iconPath": "./icons/folders/folder-blue.svg" }, - "folder-purple": { "iconPath": "./icons/folders/folder-purple.svg" }, - "folder-orange": { "iconPath": "./icons/folders/folder-orange.svg" }, - "folder-sky": { "iconPath": "./icons/folders/folder-sky.svg" }, - "folder-gray": { "iconPath": "./icons/folders/folder-gray.svg" }, - "folder-yellow": { "iconPath": "./icons/folders/folder-yellow.svg" }, + "folder-red": { "iconPath": "./icons/folders/folder-red.svg" }, + "folder-green": { "iconPath": "./icons/folders/folder-green.svg" }, + "folder-blue": { "iconPath": "./icons/folders/folder-blue.svg" }, + "folder-purple": { "iconPath": "./icons/folders/folder-purple.svg" }, + "folder-orange": { "iconPath": "./icons/folders/folder-orange.svg" }, + "folder-sky": { "iconPath": "./icons/folders/folder-sky.svg" }, + "folder-gray": { "iconPath": "./icons/folders/folder-gray.svg" }, + "folder-yellow": { "iconPath": "./icons/folders/folder-yellow.svg" }, - "folder-red-outline": { "iconPath": "./icons/folders/folder-red-outline.svg" }, - "folder-green-outline": { "iconPath": "./icons/folders/folder-green-outline.svg" }, - "folder-blue-outline": { "iconPath": "./icons/folders/folder-blue-outline.svg" }, - "folder-purple-outline": { "iconPath": "./icons/folders/folder-purple-outline.svg" }, - "folder-orange-outline": { "iconPath": "./icons/folders/folder-orange-outline.svg" }, - "folder-sky-outline": { "iconPath": "./icons/folders/folder-sky-outline.svg" }, - "folder-gray-outline": { "iconPath": "./icons/folders/folder-gray-outline.svg" }, - "folder-yellow-outline": { "iconPath": "./icons/folders/folder-yellow-outline.svg" }, + "folder-red-outline": { + "iconPath": "./icons/folders/folder-red-outline.svg" + }, + "folder-green-outline": { + "iconPath": "./icons/folders/folder-green-outline.svg" + }, + "folder-blue-outline": { + "iconPath": "./icons/folders/folder-blue-outline.svg" + }, + "folder-purple-outline": { + "iconPath": "./icons/folders/folder-purple-outline.svg" + }, + "folder-orange-outline": { + "iconPath": "./icons/folders/folder-orange-outline.svg" + }, + "folder-sky-outline": { + "iconPath": "./icons/folders/folder-sky-outline.svg" + }, + "folder-gray-outline": { + "iconPath": "./icons/folders/folder-gray-outline.svg" + }, + "folder-yellow-outline": { + "iconPath": "./icons/folders/folder-yellow-outline.svg" + }, - "folder-green-code": { "iconPath": "./icons/folders/folder-green-code.svg" }, - "folder-blue-code": { "iconPath": "./icons/folders/folder-blue-code.svg" }, - "folder-purple-code": { "iconPath": "./icons/folders/folder-purple-code.svg" }, - "folder-orange-code": { "iconPath": "./icons/folders/folder-orange-code.svg" }, - "folder-sky-code": { "iconPath": "./icons/folders/folder-sky-code.svg" }, - "folder-gray-code": { "iconPath": "./icons/folders/folder-gray-code.svg" }, - "folder-yellow-code": { "iconPath": "./icons/folders/folder-yellow-code.svg" }, - "folder-red-code": { "iconPath": "./icons/folders/folder-red-code.svg" }, + "folder-green-code": { + "iconPath": "./icons/folders/folder-green-code.svg" + }, + "folder-blue-code": { "iconPath": "./icons/folders/folder-blue-code.svg" }, + "folder-purple-code": { + "iconPath": "./icons/folders/folder-purple-code.svg" + }, + "folder-orange-code": { + "iconPath": "./icons/folders/folder-orange-code.svg" + }, + "folder-sky-code": { "iconPath": "./icons/folders/folder-sky-code.svg" }, + "folder-gray-code": { "iconPath": "./icons/folders/folder-gray-code.svg" }, + "folder-yellow-code": { + "iconPath": "./icons/folders/folder-yellow-code.svg" + }, + "folder-red-code": { "iconPath": "./icons/folders/folder-red-code.svg" }, - "folder-config": { "iconPath": "./icons/folders/folder-config.svg" }, - "folder-app": { "iconPath": "./icons/folders/folder-app.svg" }, - "folder-android": { "iconPath": "./icons/folders/folder-android.svg" }, - "folder-prisma": { "iconPath": "./icons/folders/folder-prisma.svg" }, - "folder-layout": { "iconPath": "./icons/folders/folder-layout.svg" }, - "folder-database": { "iconPath": "./icons/folders/folder-database.svg" }, - "folder-utils": { "iconPath": "./icons/folders/folder-utils.svg" }, - "folder-context": { "iconPath": "./icons/folders/folder-context.svg" }, - "folder-middleware": { "iconPath": "./icons/folders/folder-middleware.svg" }, - "folder-ios": { "iconPath": "./icons/folders/folder-ios.svg" }, - "folder-target": { "iconPath": "./icons/folders/folder-target.svg" }, - "folder-vercel": { "iconPath": "./icons/folders/folder-vercel.svg" }, - "folder-tina": { "iconPath": "./icons/folders/folder-tina.svg" }, - "folder-drizzle": { "iconPath": "./icons/folders/folder-drizzle.svg" }, + "folder-config": { "iconPath": "./icons/folders/folder-config.svg" }, + "folder-app": { "iconPath": "./icons/folders/folder-app.svg" }, + "folder-android": { "iconPath": "./icons/folders/folder-android.svg" }, + "folder-prisma": { "iconPath": "./icons/folders/folder-prisma.svg" }, + "folder-layout": { "iconPath": "./icons/folders/folder-layout.svg" }, + "folder-database": { "iconPath": "./icons/folders/folder-database.svg" }, + "folder-utils": { "iconPath": "./icons/folders/folder-utils.svg" }, + "folder-context": { "iconPath": "./icons/folders/folder-context.svg" }, + "folder-middleware": { + "iconPath": "./icons/folders/folder-middleware.svg" + }, + "folder-ios": { "iconPath": "./icons/folders/folder-ios.svg" }, + "folder-target": { "iconPath": "./icons/folders/folder-target.svg" }, + "folder-vercel": { "iconPath": "./icons/folders/folder-vercel.svg" }, + "folder-tina": { "iconPath": "./icons/folders/folder-tina.svg" }, + "folder-drizzle": { "iconPath": "./icons/folders/folder-drizzle.svg" }, - "code-green": { "iconPath": "./icons/files/code-green.svg" }, - "code-blue": { "iconPath": "./icons/files/code-blue.svg" }, - "code-purple": { "iconPath": "./icons/files/code-purple.svg" }, - "code-orange": { "iconPath": "./icons/files/code-orange.svg" }, - "code-sky": { "iconPath": "./icons/files/code-sky.svg" }, - "code-gray": { "iconPath": "./icons/files/code-gray.svg" }, - "code-yellow": { "iconPath": "./icons/files/code-yellow.svg" }, - "code-red": { "iconPath": "./icons/files/code-red.svg" }, + "code-green": { "iconPath": "./icons/files/code-green.svg" }, + "code-blue": { "iconPath": "./icons/files/code-blue.svg" }, + "code-purple": { "iconPath": "./icons/files/code-purple.svg" }, + "code-orange": { "iconPath": "./icons/files/code-orange.svg" }, + "code-sky": { "iconPath": "./icons/files/code-sky.svg" }, + "code-gray": { "iconPath": "./icons/files/code-gray.svg" }, + "code-yellow": { "iconPath": "./icons/files/code-yellow.svg" }, + "code-red": { "iconPath": "./icons/files/code-red.svg" }, - "brackets-green": { "iconPath": "./icons/files/brackets-green.svg" }, - "brackets-blue": { "iconPath": "./icons/files/brackets-blue.svg" }, - "brackets-purple": { "iconPath": "./icons/files/brackets-purple.svg" }, - "brackets-orange": { "iconPath": "./icons/files/brackets-orange.svg" }, - "brackets-sky": { "iconPath": "./icons/files/brackets-sky.svg" }, - "brackets-gray": { "iconPath": "./icons/files/brackets-gray.svg" }, - "brackets-yellow": { "iconPath": "./icons/files/brackets-yellow.svg" }, - "brackets-red": { "iconPath": "./icons/files/brackets-red.svg" }, + "brackets-green": { "iconPath": "./icons/files/brackets-green.svg" }, + "brackets-blue": { "iconPath": "./icons/files/brackets-blue.svg" }, + "brackets-purple": { "iconPath": "./icons/files/brackets-purple.svg" }, + "brackets-orange": { "iconPath": "./icons/files/brackets-orange.svg" }, + "brackets-sky": { "iconPath": "./icons/files/brackets-sky.svg" }, + "brackets-gray": { "iconPath": "./icons/files/brackets-gray.svg" }, + "brackets-yellow": { "iconPath": "./icons/files/brackets-yellow.svg" }, + "brackets-red": { "iconPath": "./icons/files/brackets-red.svg" }, - "gear": { "iconPath": "./icons/files/gear.svg" }, - "license": { "iconPath": "./icons/files/license.svg" }, - "image": { "iconPath": "./icons/files/image.svg" }, - "git": { "iconPath": "./icons/files/git.svg" }, - "markdown": { "iconPath": "./icons/files/markdown.svg" }, - "yarn": { "iconPath": "./icons/files/yarn.svg" }, - "svg": { "iconPath": "./icons/files/svg.svg" }, - "vue": { "iconPath": "./icons/files/vue.svg" }, - "js": { "iconPath": "./icons/files/js.svg" }, - "js-test": { "iconPath": "./icons/files/js-test.svg" }, - "ts": { "iconPath": "./icons/files/ts.svg" }, - "ts-test": { "iconPath": "./icons/files/ts-test.svg" }, - "dts": { "iconPath": "./icons/files/dts.svg" }, - "robot": { "iconPath": "./icons/files/robot.svg" }, - "text": { "iconPath": "./icons/files/text.svg" }, - "ignore": { "iconPath": "./icons/files/ignore.svg" }, - "notebook": { "iconPath": "./icons/files/notebook.svg" }, - "csv": { "iconPath": "./icons/files/csv.svg" }, - "document": { "iconPath": "./icons/files/document.svg" }, - "xml": { "iconPath": "./icons/files/xml.svg" }, - "database": { "iconPath": "./icons/files/database.svg" }, - "puzzle": { "iconPath": "./icons/files/puzzle.svg" }, - "shell": { "iconPath": "./icons/files/shell.svg" }, - "elixir": { "iconPath": "./icons/files/elixir.svg" }, - "font": { "iconPath": "./icons/files/font.svg" }, + "gear": { "iconPath": "./icons/files/gear.svg" }, + "license": { "iconPath": "./icons/files/license.svg" }, + "image": { "iconPath": "./icons/files/image.svg" }, + "git": { "iconPath": "./icons/files/git.svg" }, + "markdown": { "iconPath": "./icons/files/markdown.svg" }, + "yarn": { "iconPath": "./icons/files/yarn.svg" }, + "svg": { "iconPath": "./icons/files/svg.svg" }, + "vue": { "iconPath": "./icons/files/vue.svg" }, + "js": { "iconPath": "./icons/files/js.svg" }, + "js-test": { "iconPath": "./icons/files/js-test.svg" }, + "ts": { "iconPath": "./icons/files/ts.svg" }, + "ts-test": { "iconPath": "./icons/files/ts-test.svg" }, + "dts": { "iconPath": "./icons/files/dts.svg" }, + "robot": { "iconPath": "./icons/files/robot.svg" }, + "text": { "iconPath": "./icons/files/text.svg" }, + "ignore": { "iconPath": "./icons/files/ignore.svg" }, + "notebook": { "iconPath": "./icons/files/notebook.svg" }, + "csv": { "iconPath": "./icons/files/csv.svg" }, + "document": { "iconPath": "./icons/files/document.svg" }, + "xml": { "iconPath": "./icons/files/xml.svg" }, + "database": { "iconPath": "./icons/files/database.svg" }, + "puzzle": { "iconPath": "./icons/files/puzzle.svg" }, + "shell": { "iconPath": "./icons/files/shell.svg" }, + "elixir": { "iconPath": "./icons/files/elixir.svg" }, + "font": { "iconPath": "./icons/files/font.svg" }, - "eslint": { "iconPath": "./icons/files/eslint.svg" }, - "rome": { "iconPath": "./icons/files/rome.svg" }, - "biome": { "iconPath": "./icons/files/biome.svg" }, - "angular": { "iconPath": "./icons/files/angular.svg" }, - "tailwind": { "iconPath": "./icons/files/tailwind.svg" }, - "hugo": { "iconPath": "./icons/files/hugo.svg" }, - "firebase": { "iconPath": "./icons/files/firebase.svg" }, - "docker": { "iconPath": "./icons/files/docker.svg" }, - "jest": { "iconPath": "./icons/files/jest.svg" }, - "sass": { "iconPath": "./icons/files/sass.svg" }, - "react": { "iconPath": "./icons/files/react.svg" }, - "react-ts": { "iconPath": "./icons/files/react-ts.svg" }, - "react-test": { "iconPath": "./icons/files/react-test.svg" }, - "cplus": { "iconPath": "./icons/files/cplus.svg" }, - "c": { "iconPath": "./icons/files/c.svg" }, - "csharp": { "iconPath": "./icons/files/csharp.svg" }, - "razor": { "iconPath": "./icons/files/razor.svg" }, - "go": { "iconPath": "./icons/files/go.svg" }, - "go-mod": { "iconPath": "./icons/files/go-mod.svg" }, - "python": { "iconPath": "./icons/files/python.svg" }, - "julia": { "iconPath": "./icons/files/julia.svg" }, - "julia-markdown": { "iconPath": "./icons/files/julia-markdown.svg" }, - "github": { "iconPath": "./icons/files/github.svg" }, - "fsharp": { "iconPath": "./icons/files/fsharp.svg" }, - "coffeescript": { "iconPath": "./icons/files/coffeescript.svg" }, - "clojure": { "iconPath": "./icons/files/clojure.svg" }, - "dart": { "iconPath": "./icons/files/dart.svg" }, - "java": { "iconPath": "./icons/files/java.svg" }, - "lua": { "iconPath": "./icons/files/lua.svg" }, - "perl": { "iconPath": "./icons/files/perl.svg" }, - "pug": { "iconPath": "./icons/files/pug.svg" }, - "r": { "iconPath": "./icons/files/r.svg" }, - "kotlin": { "iconPath": "./icons/files/kotlin.svg" }, - "svelte": { "iconPath": "./icons/files/svelte.svg" }, - "svx": { "iconPath": "./icons/files/svx.svg" }, - "ruby": { "iconPath": "./icons/files/ruby.svg" }, - "swift": { "iconPath": "./icons/files/swift.svg" }, - "rust": { "iconPath": "./icons/files/rust.svg" }, - "graphql": { "iconPath": "./icons/files/graphql.svg" }, - "next": { "iconPath": "./icons/files/next.svg" }, - "npm": { "iconPath": "./icons/files/npm.svg" }, - "pnpm": { "iconPath": "./icons/files/pnpm.svg" }, - "pulumi": { "iconPath": "./icons/files/pulumi.svg" }, - "webpack": { "iconPath": "./icons/files/webpack.svg" }, - "prettier": { "iconPath": "./icons/files/prettier.svg" }, - "vite": { "iconPath": "./icons/files/vite.svg" }, - "astro": { "iconPath": "./icons/files/astro.svg" }, - "prisma": { "iconPath": "./icons/files/prisma.svg" }, - "stylus": { "iconPath": "./icons/files/stylus.svg" }, - "scala": { "iconPath": "./icons/files/scala.svg" }, - "sbt": { "iconPath": "./icons/files/sbt.svg" }, - "postcss": { "iconPath": "./icons/files/postcss.svg" }, - "gradle": { "iconPath": "./icons/files/gradle.svg" }, - "node": { "iconPath": "./icons/files/node.svg" }, - "yaml": { "iconPath": "./icons/files/yaml.svg" }, - "storybook": { "iconPath": "./icons/files/storybook.svg" }, - "terraform": { "iconPath": "./icons/files/terraform.svg" }, - "tsconfig": { "iconPath": "./icons/files/tsconfig.svg" }, - "jenkins": { "iconPath": "./icons/files/jenkins.svg" }, - "nodemon": { "iconPath": "./icons/files/nodemon.svg" }, - "ionic": { "iconPath": "./icons/files/ionic.svg" }, - "capacitor": { "iconPath": "./icons/files/capacitor.svg" }, - "cypress": { "iconPath": "./icons/files/cypress.svg" }, - "cucumber" : { "iconPath": "./icons/files/cucumber.svg" }, - "gulp": { "iconPath": "./icons/files/gulp.svg" }, - "supabase": { "iconPath": "./icons/files/supabase.svg" }, - "v": { "iconPath": "./icons/files/v.svg" }, - "babel": { "iconPath": "./icons/files/babel.svg" }, - "laravel": { "iconPath": "./icons/files/laravel.svg" }, - "proto": { "iconPath": "./icons/files/proto.svg" }, - "zig": { "iconPath": "./icons/files/zig.svg" }, - "exe": { "iconPath": "./icons/files/exe.svg" }, - "php": { "iconPath": "./icons/files/php.svg" }, - "http": { "iconPath": "./icons/files/http.svg" }, - "audio": { "iconPath": "./icons/files/audio.svg" }, - "video": { "iconPath": "./icons/files/video.svg" }, - "patch": { "iconPath": "./icons/files/patch.svg" }, - "drawio": { "iconPath": "./icons/files/drawio.svg" }, - "tex": { "iconPath": "./icons/files/tex.svg" }, - "editorconfig": { "iconPath": "./icons/files/editorconfig.svg" }, - "vercel": { "iconPath": "./icons/files/vercel.svg" }, - "netlify": { "iconPath": "./icons/files/netlify.svg" }, - "deno": { "iconPath": "./icons/files/deno.svg" }, - "haml": { "iconPath": "./icons/files/haml.svg" }, - "erlang": { "iconPath": "./icons/files/erlang.svg" }, - "rescript": { "iconPath": "./icons/files/rescript.svg" }, - "rescript-interface": { "iconPath": "./icons/files/rescript-interface.svg" }, - "coldfusion": { "iconPath": "./icons/files/coldfusion.svg" }, - "mdx": { "iconPath": "./icons/files/mdx.svg" }, - "liquid": { "iconPath": "./icons/files/liquid.svg" }, - "h": { "iconPath": "./icons/files/h.svg" }, - "visual-studio": { "iconPath": "./icons/files/visual-studio.svg" }, - "nunjucks": { "iconPath": "./icons/files/nunjucks.svg" }, - "nest": { "iconPath": "./icons/files/nest.svg" }, - "nix": { "iconPath": "./icons/files/nix.svg" }, - "vanilla-extract": { "iconPath": "./icons/files/vanilla-extract.svg" }, - "turborepo": { "iconPath": "./icons/files/turborepo.svg" }, - "cloudflare-workers": { "iconPath": "./icons/files/cloudflare-workers.svg" }, - "gif": { "iconPath": "./icons/files/gif.svg" }, - "cmake": { "iconPath": "./icons/files/cmake.svg" }, - "contentlayer": { "iconPath": "./icons/files/contentlayer.svg" }, - "lock": { "iconPath": "./icons/files/lock.svg" }, - "stylelint": { "iconPath": "./icons/files/stylelint.svg" }, - "drizzle": { "iconPath": "./icons/files/drizzle.svg" }, - "ocaml": { "iconPath": "./icons/files/ocaml.svg" }, - "dune": { "iconPath": "./icons/files/dune.svg" }, - "bun": { "iconPath": "./icons/files/bun.svg" } - }, - "fileExtensions": { - "ml": "ocaml", - "mli": "ocaml", - "cmx": "ocaml", - "stylelint": "stylelint", - "lock": "lock", - "cmake": "cmake", - "dev.vars": "cloudflare-workers", - "css.ts": "vanilla-extract", - "njk": "nunjucks", - "nunjucks": "nunjucks", - "csproj": "visual-studio", - "ruleset": "visual-studio", - "sln": "visual-studio", - "suo": "visual-studio", - "vb": "visual-studio", - "vbs": "visual-studio", - "vcxitems": "visual-studio", - "vcxitems.filters": "visual-studio", - "vcxproj": "visual-studio", - "vcxproj.filters": "visual-studio", - "h": "h", - "liquid": "liquid", - "mdx": "mdx", - "svx": "svx", - "cfml": "coldfusion", - "cfc": "coldfusion", - "lucee": "coldfusion", - "cfm": "coldfusion", - "erl": "erlang", - "hrl": "erlang", - "haml": "haml", - "deno": "deno", - "netlify": "netlify", - "vercel": "vercel", - "editorconfig": "editorconfig", - "tex": "tex", - "sty": "tex", - "dtx": "tex", - "ltx": "tex", - "drawio": "drawio", - "dio": "drawio", - "patch": "patch", - "gif": "gif", - "webm": "video", - "mkv": "video", - "flv": "video", - "vob": "video", - "ogv": "video", - "ogg": "video", - "gifv": "video", - "avi": "video", - "mov": "video", - "qt": "video", - "wmv": "video", - "yuv": "video", - "rm": "video", - "rmvb": "video", - "mp4": "video", - "m4v": "video", - "mpg": "video", - "mp2": "video", - "mpeg": "video", - "mpe": "video", - "mpv": "video", - "m2v": "video", - "mp3": "audio", - "flac": "audio", - "m4a": "audio", - "wma": "audio", - "aiff": "audio", - "wav": "audio", - "al": "code-green", - "http": "http", - "rest": "http", - "cls": "code-blue", - "exe": "exe", - "msi": "exe", - "zig": "zig", - "proto": "proto", - "test.js": "js-test", - "spec.js": "js-test", - "test.ts": "ts-test", - "spec.ts": "ts-test", - "spec.jsx": "react-test", - "spec.tsx": "react-test", - "jenkinsfile": "jenkins", - "jenkins": "jenkins", - "tsconfig.json": "tsconfig", - "tf": "terraform", - "tf.json": "terraform", - "tfvars": "terraform", - "tfstate": "terraform", - "woff": "font", - "woff2": "font", - "ttf": "font", - "eot": "font", - "suit": "font", - "otf": "font", - "bmap": "font", - "fnt": "font", - "odttf": "font", - "ttc": "font", - "font": "font", - "fonts": "font", - "sui": "font", - "ntf": "font", - "mrf": "font", - "ex": "elixir", - "exs": "elixir", - "eex": "elixir", - "leex": "elixir", - "heex": "elixir", - "stories.js": "storybook", - "stories.jsx": "storybook", - "stories.mdx": "storybook", - "story.js": "storybook", - "story.jsx": "storybook", - "stories.ts": "storybook", - "stories.tsx": "storybook", - "story.ts": "storybook", - "story.tsx": "storybook", - "stories.svelte": "storybook", - "blade.php": "laravel", - "story.mdx": "storybook", - "yml": "yaml", - "yaml": "yaml", - "yml.dist": "yaml", - "yaml.dist": "yaml", - "YAML-tmLanguage": "yaml", - "gradle": "gradle", - "pcss": "postcss", - "sss": "postcss", - "sbt": "sbt", - "scala": "scala", - "sc": "scala", - "styl": "stylus", - "prisma": "prisma", - "astro": "astro", - "pulumi": "pulumi", - "graphql": "graphql", - "gql": "graphql", - "rs": "rust", - "ron": "rust", - "swift": "swift", - "rb": "ruby", - "erb": "ruby", - "svelte": "svelte", - "kt": "kotlin", - "kts": "kotlin", - "r": "r", - "rmd": "r", - "jade": "pug", - "pug": "pug", - "lua": "lua", - "less": "less", - "java": "java", - "jsp": "java", - "dart": "dart", - "freezed.dart": "dart", - "g.dart": "dart", - "fs": "fsharp", - "fsx": "fsharp", - "fsi": "fsharp", - "fsproj": "fsharp", - "cs": "csharp", - "cshtml": "razor", - "csx": "csharp", - "jl": "julia", - "ssh_config": "shell", - "sh": "shell", - "ksh": "shell", - "csh": "shell", - "tcsh": "shell", - "zsh": "shell", - "bash": "shell", - "bat": "shell", - "cmd": "shell", - "awk": "shell", - "fish": "shell", - "exp": "shell", - "ps1": "shell", - "psm1": "shell", - "psd1": "shell", - "ps1xml": "shell", - "psc1": "shell", - "pssc": "shell", - "py": "python", - "python": "python", - "go": "go", - "go.mod": "go-mod", - "c": "c", - "i": "c", - "mi": "c", - "cc": "cplus", - "cpp": "cplus", - "cxx": "cplus", - "c++": "cplus", - "cp": "cplus", - "mm": "cplus", - "mii": "cplus", - "ii": "cplus", - "jsx": "react", - "tsx": "react-ts", - "vsixmanifest": "puzzle", - "vsix": "puzzle", - "pdb": "database", - "sql": "database", - "pks": "database", - "pkb": "database", - "accdb": "database", - "mdb": "database", - "sqlite": "database", - "sqlite3": "database", - "pgsql": "database", - "postgres": "database", - "psql": "database", - "db": "database", - "db3": "database", - "scss": "sass", - "sass": "sass", - "dockerignore": "docker", - "dockerfile": "docker", - "xml": "xml", - "plist": "xml", - "xsd": "xml", - "dtd": "xml", - "xsl": "xml", - "xslt": "xml", - "resx": "xml", - "iml": "xml", - "xquery": "xml", - "tmLanguage": "xml", - "manifest": "xml", - "project": "xml", - "xml.dist": "xml", - "xml.dist.sample": "xml", - "dmn": "xml", - "htaccess": "document", - "txt": "document", - "xlsx": "csv", - "xlsm": "csv", - "xls": "csv", - "csv": "csv", - "tsv": "csv", - "psv": "csv", - "ods": "csv", - "ipynb": "notebook", - "svg": "svg", - "css": "brackets-sky", - "test": "code-orange", - "js": "js", - "mjs": "js", - "cjs": "js", - "ts": "ts", - "res": "rescript", - "resi": "rescript-interface", - "json": "brackets-yellow", - "html": "code-orange", - "md": "markdown", - "png": "image", - "jpeg": "image", - "jpg": "image", - "ico": "image", - "tif": "image", - "tiff": "image", - "psd": "image", - "psb": "image", - "ami": "image", - "apx": "image", - "avif": "image", - "bmp": "image", - "bpg": "image", - "brk": "image", - "cur": "image", - "dds": "image", - "dng": "image", - "exr": "image", - "fpx": "image", - "gbr": "image", - "img": "image", - "jbig2": "image", - "jb2": "image", - "jng": "image", - "jxr": "image", - "pgf": "image", - "pic": "image", - "raw": "image", - "webp": "image", - "eps": "image", - "afphoto": "image", - "ase": "image", - "aseprite": "image", - "clip": "image", - "cpt": "image", - "heif": "image", - "heic": "image", - "kra": "image", - "mdp": "image", - "ora": "image", - "pdn": "image", - "reb": "image", - "sai": "image", - "tga": "image", - "xcf": "image", - "jfif": "image", - "ppm": "image", - "pbm": "image", - "pgm": "image", - "pnm": "image", - "svgx": "image", - "module.ts": "angular", - "module.js": "angular", - "ng-template": "angular", - "component.ts": "angular", - "component.js": "angular", - "guard.ts": "angular", - "guard.js": "angular", - "pipe.ts": "angular", - "pipe.js": "angular", - "filter.js": "angular", - "directive.ts": "angular", - "directive.js": "angular", - "resolver.ts": "angular", - "resolver.js": "angular", - "toml": "gear", - "v": "v", - "nix": "nix" - }, - "fileNames": { - "bun.lockb": "bun", - "bunfig.toml": "bun", - "dune": "dune", - "dune-project": "dune", - "dune-workspace": "dune", - "dune-workspace.dev": "dune", - "drizzle.config.ts": "drizzle", - ".stylelintrc": "stylelint", - "stylelint.config.js": "stylelint", - "stylelint.config.cjs": "stylelint", - ".stylelintrc.json": "stylelint", - ".stylelintrc.yaml": "stylelint", - ".stylelintrc.yml": "stylelint", - ".stylelintrc.js": "stylelint", - ".stylelintrc.cjs": "stylelint", - ".stylelintignore": "stylelint", - ".stylelintcache": "stylelint", - "cmakelists.txt": "cmake", - "cmakecache.txt": "cmake", - "nest-cli.json": "nest", - ".nest-cli.json": "nest", - "nestconfig.json": "nest", - ".nestconfig.json": "nest", - "contentlayer.config.ts": "contentlayer", - "contentlayer.config.js": "contentlayer", - "go.mod": "go-mod", - "go.sum": "go-mod", - "go.work": "go-mod", - "go.work.sum": "go-mod", - "deno.json": "deno", - "deno.jsonc": "deno", - "netlify.json": "netlify", - "netlify.yml": "netlify", - "netlify.yaml": "netlify", - "netlify.toml": "netlify", - ".vercel": "vercel", - "vercel.json": "vercel", - ".vercelignore": "vercel", - "now.json": "vercel", - ".nowignore": "vercel", - ".editorconfig": "editorconfig", - "test.js": "js-test", - "test.ts": "ts-test", - "gulpfile.js": "gulp", - "gulpfile.mjs": "gulp", - "gulpfile.ts": "gulp", - "gulpfile.cts": "gulp", - "gulpfile.mts": "gulp", - "gulpfile.babel.js": "gulp", - "cypress.json": "cypress", - "cypress.env.json": "cypress", - "cypress.config.ts": "cypress", - "cypress.config.js": "cypress", - "cypress.config.cjs": "cypress", - "cypress.config.mjs": "cypress", - ".feature" : "cucumber", - "capacitor.config.json": "capacitor", - "capacitor.config.ts": "capacitor", - "ionic.config.json": "ionic", - ".io-config.json": "ionic", - "nodemon.json": "nodemon", - "nodemon-debug.json": "nodemon", - "jenkinsfile": "jenkins", - "package.json": "node", - "package-lock.json": "node", - ".nvmrc": "node", - ".esmrc": "node", - ".node-version": "node", - "gradle.properties": "gradle", - "gradlew": "gradle", - "gradle-wrapper.properties": "gradle", - "postcss.config.js": "postcss", - "postcss.config.cjs": "postcss", - "postcss.config.ts": "postcss", - "postcss.config.cts": "postcss", - "postcss.config.mts": "postcss", - ".postcssrc.js": "postcss", - ".postcssrc.cjs": "postcss", - ".postcssrc.ts": "postcss", - ".postcssrc.cts": "postcss", - ".postcssrc": "postcss", - ".postcssrc.json": "postcss", - ".postcssrc.yaml": "postcss", - ".postcssrc.yml": "postcss", - ".styl": "stylus", - "prisma.yml": "prisma", - "astro.config.js": "astro", - "astro.config.mjs": "astro", - "astro.config.cjs": "astro", - "astro.config.ts": "astro", - "astro.config.cts": "astro", - "astro.config.mts": "astro", - "vite.config.js": "vite", - "vite.config.mjs": "vite", - "vite.config.ts": "vite", - "vite.config.cjs": "vite", - "vite.config.mts": "vite", - "vite.config.cts": "vite", - "vitest.config.js": "vite", - "vitest.config.mjs": "vite", - "vitest.config.ts": "vite", - "vitest.config.cjs": "vite", - "vitest.config.mts": "vite", - "vitest.config.cts": "vite", - "vite.config.electron.js": "vite", - "vite.config.electron.mjs": "vite", - "vite.config.electron.ts": "vite", - "vite.config.electron.cjs": "vite", - "vite.config.electron.mts": "vite", - "vite.config.electron.cts": "vite", - "gulp.config.json": "gulp", - ".babelrc": "babel", - ".prettierrc": "prettier", - "prettier.config.js": "prettier", - "prettier.config.cjs": "prettier", - "prettier.config.mjs": "prettier", - ".prettierrc.js": "prettier", - ".prettierrc.cjs": "prettier", - ".prettierrc.mjs": "prettier", - ".prettierrc.json": "prettier", - ".prettierrc.json5": "prettier", - ".prettierrc.yaml": "prettier", - ".prettierrc.yml": "prettier", - ".prettierignore": "prettier", - ".prettierrc.toml": "prettier", - "pulumi.yaml": "pulumi", - "pnpm-lock.yaml": "pnpm", - "pnpm-workspace.yaml": "pnpm", - ".pnpmfile.cjs": "pnpm", - ".npmignore": "npm", - ".npmrc": "npm", - ".graphqlconfig": "graphql", - ".graphqlrc": "graphql", - ".graphqlrc.json": "graphql", - ".graphqlrc.js": "graphql", - ".graphqlrc.cjs": "graphql", - ".graphqlrc.ts": "graphql", - ".graphqlrc.toml": "graphql", - ".graphqlrc.yaml": "graphql", - ".graphqlrc.yml": "graphql", - "graphql.config.json": "graphql", - "graphql.config.js": "graphql", - "graphql.config.ts": "graphql", - "graphql.config.toml": "graphql", - "graphql.config.yaml": "graphql", - "graphql.config.yml": "graphql", - "svelte.config.js": "svelte", - "svelte.config.cjs": "svelte", - ".Rhistory": "r", - ".pug-lintrc": "pug", - ".pug-lintrc.js": "pug", - ".pug-lintrc.json": "pug", - ".perl": "perl", - ".luacheckrc": "lua", - ".pubignore": "dart", - "requirements.txt": "python", - "pipfile": "python", - ".python-version": "python", - "manifest.in": "python", - "pylintrc": "python", - ".pylintrc": "python", - "pyproject.toml": "python", - "setup.cfg": "python", - "jest.config.js": "jest", - "jest.config.cjs": "jest", - "jest.config.mjs": "jest", - "jest.config.ts": "jest", - "jest.config.cts": "jest", - "jest.config.mts": "jest", - "jest.config.json": "jest", - "jest.e2e.config.js": "jest", - "jest.e2e.config.cjs": "jest", - "jest.e2e.config.mjs": "jest", - "jest.e2e.config.ts": "jest", - "jest.e2e.config.cts": "jest", - "jest.e2e.config.mts": "jest", - "jest.e2e.config.json": "jest", - "jest.e2e.json": "jest", - "jest-unit.config.js": "jest", - "jest-e2e.config.js": "jest", - "jest-e2e.config.cjs": "jest", - "jest-e2e.config.mjs": "jest", - "jest-e2e.config.ts": "jest", - "jest-e2e.config.cts": "jest", - "jest-e2e.config.mts": "jest", - "jest-e2e.config.json": "jest", - "jest-e2e.json": "jest", - "jest-github-actions-reporter.js": "jest", - "jest.setup.js": "jest", - "jest.setup.ts": "jest", - "jest.json": "jest", - ".jestrc": "jest", - ".jestrc.js": "jest", - ".jestrc.json": "jest", - "jest.teardown.js": "jest", - "dockerfile": "docker", - "dockerfile.prod": "docker", - "dockerfile.production": "docker", - "dockerfile.alpha": "docker", - "dockerfile.beta": "docker", - "dockerfile.stage": "docker", - "dockerfile.staging": "docker", - "dockerfile.dev": "docker", - "dockerfile.development": "docker", - "dockerfile.local": "docker", - "dockerfile.test": "docker", - "dockerfile.testing": "docker", - "dockerfile.ci": "docker", - "dockerfile.web": "docker", - "dockerfile.worker": "docker", - "docker-compose.yml": "docker", - "docker-compose.override.yml": "docker", - "docker-compose.prod.yml": "docker", - "docker-compose.production.yml": "docker", - "docker-compose.alpha.yml": "docker", - "docker-compose.beta.yml": "docker", - "docker-compose.stage.yml": "docker", - "docker-compose.staging.yml": "docker", - "docker-compose.dev.yml": "docker", - "docker-compose.development.yml": "docker", - "docker-compose.local.yml": "docker", - "docker-compose.test.yml": "docker", - "docker-compose.testing.yml": "docker", - "docker-compose.ci.yml": "docker", - "docker-compose.web.yml": "docker", - "docker-compose.worker.yml": "docker", - "docker-compose.yaml": "docker", - "docker-compose.override.yaml": "docker", - "docker-compose.prod.yaml": "docker", - "docker-compose.production.yaml": "docker", - "docker-compose.alpha.yaml": "docker", - "docker-compose.beta.yaml": "docker", - "docker-compose.stage.yaml": "docker", - "docker-compose.staging.yaml": "docker", - "docker-compose.dev.yaml": "docker", - "docker-compose.development.yaml": "docker", - "docker-compose.local.yaml": "docker", - "docker-compose.test.yaml": "docker", - "docker-compose.testing.yaml": "docker", - "docker-compose.ci.yaml": "docker", - "docker-compose.web.yaml": "docker", - "docker-compose.worker.yaml": "docker", - "compose.yaml": "docker", - "compose.yml": "docker", - "firebase.json": "firebase", - ".firebaserc": "firebase", - "firestore.rules": "firebase", - "firestore.indexes.json": "firebase", - ".d.ts": "dts", - ".vscodeignore": "ignore", - ".hugo_build.lock": "hugo", - "robots.txt": "text", - "yarn.lock": "yarn", - "yarn": "yarn", - ".direnv": "gear", - ".env": "gear", - ".env.local": "gear", - ".env.development": "gear", - ".env.dev": "gear", - ".env.production": "gear", - ".env.prod": "gear", - ".env.test": "gear", - "rome.json": "rome", - "biome.json": "biome", - "eslint.config.js": "eslint", - "eslint.config.cjs": "eslint", - "eslint.config.mjs": "eslint", - ".eslintrc.js": "eslint", - ".eslintrc.cjs": "eslint", - ".eslintrc.yaml": "eslint", - ".eslintrc.yml": "eslint", - ".eslintrc.json": "eslint", - ".eslintrc-md.js": "eslint", - ".eslintrc-jsdoc.js": "eslint", - ".eslintrc": "eslint", - ".eslintignore": "eslint", - ".eslintcache": "eslint", - ".git-blame-ignore": "git", - ".gitignore": "git", - ".gitignore-global": "git", - ".gitignore_global": "git", - ".gitconfig": "git", - ".gitattributes": "git", - ".gitmodules": "git", - ".gitkeep": "git", - ".gitinclude": "git", - "git-history": "git", - "license": "license", - "license-agpl": "license", - "license-apache": "license", - "license-bsd": "license", - "license-mit": "license", - "license-gpl": "license", - "license-lgpl": "license", - "license.md": "license", - "license.rst": "license", - "license.txt": "license", - "next.config.js": "next", - "next.config.mjs": "next", - "next.config.ts": "next", - "next.config.mts": "next", - "angular-cli.json": "angular", - ".angular-cli.json": "angular", - "angular.json": "angular", - "turbo.json": "turborepo", - "tailwind.js": "tailwind", - "tailwind.ts": "tailwind", - "tailwind.config.js": "tailwind", - "tailwind.config.cjs": "tailwind", - "tailwind.config.ts": "tailwind", - "tailwind.config.cts": "tailwind", - "tailwind.config.mts": "tailwind", - "tsconfig.json": "tsconfig", - "tsconfig.app.json": "tsconfig", - "tsconfig.editor.json": "tsconfig", - "tsconfig.spec.json": "tsconfig", - "tsconfig.base.json": "tsconfig", - "tsconfig.build.json": "tsconfig", - "tsconfig.eslint.json": "tsconfig", - "tsconfig.lib.json": "tsconfig", - "tsconfig.node.json": "tsconfig", - "tsconfig.test.json": "ts-test", - "tsconfig.e2e.json": "tsconfig", - "tsconfig.web.json": "tsconfig", - "tsconfig.webworker.json": "tsconfig", - "tsconfig.config.json": "tsconfig", - "tsconfig.vitest.json": "tsconfig", - "tsconfig.cjs.json": "tsconfig", - "tsconfig.esm.json": "tsconfig", - "tsconfig.mjs.json": "tsconfig", - "webpack.js": "webpack", - "webpack.cjs": "webpack", - "webpack.mjs": "webpack", - "webpack.ts": "webpack", - "webpack.cts": "webpack", - "webpack.mts": "webpack", - "webpack.base.js": "webpack", - "webpack.base.cjs": "webpack", - "webpack.base.mjs": "webpack", - "webpack.base.ts": "webpack", - "webpack.base.cts": "webpack", - "webpack.base.mts": "webpack", - "webpack.config.js": "webpack", - "webpack.config.cjs": "webpack", - "webpack.config.mjs": "webpack", - "webpack.config.ts": "webpack", - "webpack.config.cts": "webpack", - "webpack.config.mts": "webpack", - "webpack.common.js": "webpack", - "webpack.common.cjs": "webpack", - "webpack.common.mjs": "webpack", - "webpack.common.ts": "webpack", - "webpack.common.cts": "webpack", - "webpack.common.mts": "webpack", - "webpack.config.common.js": "webpack", - "webpack.config.common.cjs": "webpack", - "webpack.config.common.mjs": "webpack", - "webpack.config.common.ts": "webpack", - "webpack.config.common.cts": "webpack", - "webpack.config.common.mts": "webpack", - "webpack.config.common.babel.js": "webpack", - "webpack.config.common.babel.ts": "webpack", - "webpack.dev.js": "webpack", - "webpack.dev.cjs": "webpack", - "webpack.dev.mjs": "webpack", - "webpack.dev.ts": "webpack", - "webpack.dev.cts": "webpack", - "webpack.dev.mts": "webpack", - "webpack.development.js": "webpack", - "webpack.development.cjs": "webpack", - "webpack.development.mjs": "webpack", - "webpack.development.ts": "webpack", - "webpack.development.cts": "webpack", - "webpack.development.mts": "webpack", - "webpack.config.dev.js": "webpack", - "webpack.config.dev.cjs": "webpack", - "webpack.config.dev.mjs": "webpack", - "webpack.config.dev.ts": "webpack", - "webpack.config.dev.cts": "webpack", - "webpack.config.dev.mts": "webpack", - "webpack.config.dev.babel.js": "webpack", - "webpack.config.dev.babel.ts": "webpack", - "webpack.mix.js": "webpack", - "webpack.mix.cjs": "webpack", - "webpack.mix.mjs": "webpack", - "webpack.mix.ts": "webpack", - "webpack.mix.cts": "webpack", - "webpack.mix.mts": "webpack", - "webpack.prod.js": "webpack", - "webpack.prod.cjs": "webpack", - "webpack.prod.mjs": "webpack", - "webpack.prod.ts": "webpack", - "webpack.prod.cts": "webpack", - "webpack.prod.mts": "webpack", - "webpack.prod.config.js": "webpack", - "webpack.prod.config.cjs": "webpack", - "webpack.prod.config.mjs": "webpack", - "webpack.prod.config.ts": "webpack", - "webpack.prod.config.cts": "webpack", - "webpack.prod.config.mts": "webpack", - "webpack.production.js": "webpack", - "webpack.production.cjs": "webpack", - "webpack.production.mjs": "webpack", - "webpack.production.ts": "webpack", - "webpack.production.cts": "webpack", - "webpack.production.mts": "webpack", - "webpack.server.js": "webpack", - "webpack.server.cjs": "webpack", - "webpack.server.mjs": "webpack", - "webpack.server.ts": "webpack", - "webpack.server.cts": "webpack", - "webpack.server.mts": "webpack", - "webpack.client.js": "webpack", - "webpack.client.cjs": "webpack", - "webpack.client.mjs": "webpack", - "webpack.client.ts": "webpack", - "webpack.client.cts": "webpack", - "webpack.client.mts": "webpack", - "webpack.config.server.js": "webpack", - "webpack.config.server.cjs": "webpack", - "webpack.config.server.mjs": "webpack", - "webpack.config.server.ts": "webpack", - "webpack.config.server.cts": "webpack", - "webpack.config.server.mts": "webpack", - "webpack.config.client.js": "webpack", - "webpack.config.client.cjs": "webpack", - "webpack.config.client.mjs": "webpack", - "webpack.config.client.ts": "webpack", - "webpack.config.client.cts": "webpack", - "webpack.config.client.mts": "webpack", - "webpack.config.production.babel.js": "webpack", - "webpack.config.production.babel.ts": "webpack", - "webpack.config.prod.babel.js": "webpack", - "webpack.config.prod.babel.cjs": "webpack", - "webpack.config.prod.babel.mjs": "webpack", - "webpack.config.prod.babel.ts": "webpack", - "webpack.config.prod.babel.cts": "webpack", - "webpack.config.prod.babel.mts": "webpack", - "webpack.config.prod.js": "webpack", - "webpack.config.prod.cjs": "webpack", - "webpack.config.prod.mjs": "webpack", - "webpack.config.prod.ts": "webpack", - "webpack.config.prod.cts": "webpack", - "webpack.config.prod.mts": "webpack", - "webpack.config.production.js": "webpack", - "webpack.config.production.cjs": "webpack", - "webpack.config.production.mjs": "webpack", - "webpack.config.production.ts": "webpack", - "webpack.config.production.cts": "webpack", - "webpack.config.production.mts": "webpack", - "webpack.config.staging.js": "webpack", - "webpack.config.staging.cjs": "webpack", - "webpack.config.staging.mjs": "webpack", - "webpack.config.staging.ts": "webpack", - "webpack.config.staging.cts": "webpack", - "webpack.config.staging.mts": "webpack", - "webpack.config.babel.js": "webpack", - "webpack.config.babel.ts": "webpack", - "webpack.config.base.babel.js": "webpack", - "webpack.config.base.babel.ts": "webpack", - "webpack.config.base.js": "webpack", - "webpack.config.base.cjs": "webpack", - "webpack.config.base.mjs": "webpack", - "webpack.config.base.ts": "webpack", - "webpack.config.base.cts": "webpack", - "webpack.config.base.mts": "webpack", - "webpack.config.staging.babel.js": "webpack", - "webpack.config.staging.babel.ts": "webpack", - "webpack.config.coffee": "webpack", - "webpack.config.test.js": "webpack", - "webpack.config.test.cjs": "webpack", - "webpack.config.test.mjs": "webpack", - "webpack.config.test.ts": "webpack", - "webpack.config.test.cts": "webpack", - "webpack.config.test.mts": "webpack", - "webpack.config.vendor.js": "webpack", - "webpack.config.vendor.cjs": "webpack", - "webpack.config.vendor.mjs": "webpack", - "webpack.config.vendor.ts": "webpack", - "webpack.config.vendor.cts": "webpack", - "webpack.config.vendor.mts": "webpack", - "webpack.config.vendor.production.js": "webpack", - "webpack.config.vendor.production.cjs": "webpack", - "webpack.config.vendor.production.mjs": "webpack", - "webpack.config.vendor.production.ts": "webpack", - "webpack.config.vendor.production.cts": "webpack", - "webpack.config.vendor.production.mts": "webpack", - "webpack.test.js": "webpack", - "webpack.test.cjs": "webpack", - "webpack.test.mjs": "webpack", - "webpack.test.ts": "webpack", - "webpack.test.cts": "webpack", - "webpack.test.mts": "webpack", - "webpack.dist.js": "webpack", - "webpack.dist.cjs": "webpack", - "webpack.dist.mjs": "webpack", - "webpack.dist.ts": "webpack", - "webpack.dist.cts": "webpack", - "webpack.dist.mts": "webpack", - "webpackfile.js": "webpack", - "webpackfile.cjs": "webpack", - "webpackfile.mjs": "webpack", - "webpackfile.ts": "webpack", - "webpackfile.cts": "webpack", - "webpackfile.mts": "webpack" - }, - "languageIds": { - "nunjucks": "nunjucks", - "testOutput": "visual-studio", - "vb": "visual-studio", - "mdx": "mdx", - "lang-cfml": "coldfusion", - "editorconfig": "editorconfig", - "tex": "tex", - "doctex": "tex", - "latex": "tex", - "latex-expl3": "tex", - "terraform": "terraform", - "elixir": "elixir", - "erlang": "erlang", - "yml": "yml", - "yaml": "yaml", - "postcss": "postcss", - "scala": "scala", - "styl": "stylus", - "graphql": "graphql", - "rust": "rust", - "swift": "swift", - "ruby": "ruby", - "svelte": "svelte", - "gherkin": "cucumber", - "r": "r", - "rsweave": "r", - "jade": "pug", - "pug": "pug", - "properties": "gear", - "perl": "perl", - "lua": "lua", - "makefile": "gear", - "markdown": "markdown", - "less": "brackets-sky", - "jinja": "brackets-red", - "hlsl": "brackets-purple", - "java": "java", - "ignore": "ignore", - "dart": "dart", - "clojure": "clojure", - "coffeescript": "coffeescript", - "fsharp": "fsharp", - "github-issues": "github", - "git-commit": "git", - "git-rebase": "git", - "csharp": "csharp", - "razor": "razor", - "aspnetcorerazor": "razor", - "svg": "svg", - "handlebars": "brackets-orange", - "css": "brackets-sky", - "juliamarkdown": "julia-markdown", - "julia": "julia", - "ssh_config": "shell", - "powershell": "shell", - "bat": "shell", - "awk": "shell", - "shellscript": "shell", - "php": "php", - "haml": "haml", - "html": "brackets-orange", - "json": "brackets-yellow", - "pip-requirements": "python", - "python": "python", - "typescript": "ts", - "javascript": "js", - "rescript": "rescript", - "rescript-interface": "rescript-interface", - "go": "go", - "c": "c", - "objective-c": "c", - "objective-cpp": "c", - "cpp": "cplus", - "javascriptreact": "react", - "typescriptreact": "react-ts", - "sql": "database", - "sass": "sass", - "scss": "sass", - "sass.hover": "sass", - "dockercompose": "docker", - "dockerfile": "docker", - "xml": "xml", - "xquery": "xml", - "xsl": "xml", - "plaintext": "document", - "excel": "csv", - "csv": "csv", - "tsv": "csv", - "psv": "csv", - "jupyter": "notebook", - "vue": "vue", - "vue-postcss": "vue", - "vue-html": "vue", - "ng-template": "angular", - "nix": "nix" - }, - "folderNames": { - ".drizzle": "folder-drizzle", - "drizzle": "folder-drizzle", - "tina": "folder-tina", - ".vercel": "folder-vercel", - "vercel": "folder-vercel", - "target": "folder-target", - "ios": "folder-ios", - "context": "folder-context", - "contexts": "folder-context", - "middleware": "folder-middleware", - "middlewares": "folder-middleware", - "util": "folder-utils", - "utils": "folder-utils", - "utility": "folder-utils", - "utilities": "folder-utils", - "db": "folder-database", - "database": "folder-database", - "databases": "folder-database", - "layouts": "folder-layout", - "layout": "folder-layout", - "docker": "folder-blue", - ".docker": "folder-blue", - ".git": "folder-red", - "app": "folder-app", - "config": "folder-config", - "env": "folder-green", - "server": "folder-orange", - "client": "folder-blue", - "sass": "folder-purple-code", - "css": "folder-sky-code", - "styles": "folder-sky-code", - "scripts": "folder-red-code", - "js": "folder-red-code", - "types": "folder-blue-code", - "api": "folder-red", - ".vscode": "folder-blue", - ".next": "folder-gray", - "node_modules": "folder-green", - ".github": "folder-gray", - "public": "folder-purple-outline", - "source": "folder-orange-code", - "src": "folder-orange-code", - "dist": "folder-purple-outline", - "out": "folder-purple-outline", - "build": "folder-purple-outline", - "assets": "folder-assets", - "resources": "folder-assets", - "static": "folder-assets", - "components": "folder-green-code", - "prisma": "folder-prisma", - "android": "folder-android" - }, - "hidesExplorerArrows": false, - "file": "document", - "folder": "folder" + "eslint": { "iconPath": "./icons/files/eslint.svg" }, + "rome": { "iconPath": "./icons/files/rome.svg" }, + "biome": { "iconPath": "./icons/files/biome.svg" }, + "angular": { "iconPath": "./icons/files/angular.svg" }, + "tailwind": { "iconPath": "./icons/files/tailwind.svg" }, + "hugo": { "iconPath": "./icons/files/hugo.svg" }, + "firebase": { "iconPath": "./icons/files/firebase.svg" }, + "docker": { "iconPath": "./icons/files/docker.svg" }, + "jest": { "iconPath": "./icons/files/jest.svg" }, + "sass": { "iconPath": "./icons/files/sass.svg" }, + "react": { "iconPath": "./icons/files/react.svg" }, + "react-ts": { "iconPath": "./icons/files/react-ts.svg" }, + "react-test": { "iconPath": "./icons/files/react-test.svg" }, + "cplus": { "iconPath": "./icons/files/cplus.svg" }, + "c": { "iconPath": "./icons/files/c.svg" }, + "csharp": { "iconPath": "./icons/files/csharp.svg" }, + "razor": { "iconPath": "./icons/files/razor.svg" }, + "go": { "iconPath": "./icons/files/go.svg" }, + "go-mod": { "iconPath": "./icons/files/go-mod.svg" }, + "python": { "iconPath": "./icons/files/python.svg" }, + "julia": { "iconPath": "./icons/files/julia.svg" }, + "julia-markdown": { "iconPath": "./icons/files/julia-markdown.svg" }, + "github": { "iconPath": "./icons/files/github.svg" }, + "fsharp": { "iconPath": "./icons/files/fsharp.svg" }, + "coffeescript": { "iconPath": "./icons/files/coffeescript.svg" }, + "clojure": { "iconPath": "./icons/files/clojure.svg" }, + "dart": { "iconPath": "./icons/files/dart.svg" }, + "java": { "iconPath": "./icons/files/java.svg" }, + "lua": { "iconPath": "./icons/files/lua.svg" }, + "perl": { "iconPath": "./icons/files/perl.svg" }, + "pug": { "iconPath": "./icons/files/pug.svg" }, + "r": { "iconPath": "./icons/files/r.svg" }, + "kotlin": { "iconPath": "./icons/files/kotlin.svg" }, + "svelte": { "iconPath": "./icons/files/svelte.svg" }, + "svx": { "iconPath": "./icons/files/svx.svg" }, + "ruby": { "iconPath": "./icons/files/ruby.svg" }, + "swift": { "iconPath": "./icons/files/swift.svg" }, + "rust": { "iconPath": "./icons/files/rust.svg" }, + "graphql": { "iconPath": "./icons/files/graphql.svg" }, + "next": { "iconPath": "./icons/files/next.svg" }, + "npm": { "iconPath": "./icons/files/npm.svg" }, + "pnpm": { "iconPath": "./icons/files/pnpm.svg" }, + "pulumi": { "iconPath": "./icons/files/pulumi.svg" }, + "webpack": { "iconPath": "./icons/files/webpack.svg" }, + "prettier": { "iconPath": "./icons/files/prettier.svg" }, + "vite": { "iconPath": "./icons/files/vite.svg" }, + "astro": { "iconPath": "./icons/files/astro.svg" }, + "prisma": { "iconPath": "./icons/files/prisma.svg" }, + "stylus": { "iconPath": "./icons/files/stylus.svg" }, + "scala": { "iconPath": "./icons/files/scala.svg" }, + "sbt": { "iconPath": "./icons/files/sbt.svg" }, + "postcss": { "iconPath": "./icons/files/postcss.svg" }, + "gradle": { "iconPath": "./icons/files/gradle.svg" }, + "node": { "iconPath": "./icons/files/node.svg" }, + "yaml": { "iconPath": "./icons/files/yaml.svg" }, + "storybook": { "iconPath": "./icons/files/storybook.svg" }, + "terraform": { "iconPath": "./icons/files/terraform.svg" }, + "tsconfig": { "iconPath": "./icons/files/tsconfig.svg" }, + "jenkins": { "iconPath": "./icons/files/jenkins.svg" }, + "nodemon": { "iconPath": "./icons/files/nodemon.svg" }, + "ionic": { "iconPath": "./icons/files/ionic.svg" }, + "capacitor": { "iconPath": "./icons/files/capacitor.svg" }, + "cypress": { "iconPath": "./icons/files/cypress.svg" }, + "cucumber": { "iconPath": "./icons/files/cucumber.svg" }, + "gulp": { "iconPath": "./icons/files/gulp.svg" }, + "supabase": { "iconPath": "./icons/files/supabase.svg" }, + "v": { "iconPath": "./icons/files/v.svg" }, + "babel": { "iconPath": "./icons/files/babel.svg" }, + "laravel": { "iconPath": "./icons/files/laravel.svg" }, + "proto": { "iconPath": "./icons/files/proto.svg" }, + "zig": { "iconPath": "./icons/files/zig.svg" }, + "exe": { "iconPath": "./icons/files/exe.svg" }, + "php": { "iconPath": "./icons/files/php.svg" }, + "http": { "iconPath": "./icons/files/http.svg" }, + "audio": { "iconPath": "./icons/files/audio.svg" }, + "video": { "iconPath": "./icons/files/video.svg" }, + "patch": { "iconPath": "./icons/files/patch.svg" }, + "drawio": { "iconPath": "./icons/files/drawio.svg" }, + "tex": { "iconPath": "./icons/files/tex.svg" }, + "editorconfig": { "iconPath": "./icons/files/editorconfig.svg" }, + "vercel": { "iconPath": "./icons/files/vercel.svg" }, + "netlify": { "iconPath": "./icons/files/netlify.svg" }, + "deno": { "iconPath": "./icons/files/deno.svg" }, + "haml": { "iconPath": "./icons/files/haml.svg" }, + "erlang": { "iconPath": "./icons/files/erlang.svg" }, + "rescript": { "iconPath": "./icons/files/rescript.svg" }, + "rescript-interface": { + "iconPath": "./icons/files/rescript-interface.svg" + }, + "coldfusion": { "iconPath": "./icons/files/coldfusion.svg" }, + "mdx": { "iconPath": "./icons/files/mdx.svg" }, + "liquid": { "iconPath": "./icons/files/liquid.svg" }, + "h": { "iconPath": "./icons/files/h.svg" }, + "visual-studio": { "iconPath": "./icons/files/visual-studio.svg" }, + "nunjucks": { "iconPath": "./icons/files/nunjucks.svg" }, + "nest": { "iconPath": "./icons/files/nest.svg" }, + "nix": { "iconPath": "./icons/files/nix.svg" }, + "vanilla-extract": { "iconPath": "./icons/files/vanilla-extract.svg" }, + "turborepo": { "iconPath": "./icons/files/turborepo.svg" }, + "cloudflare-workers": { + "iconPath": "./icons/files/cloudflare-workers.svg" + }, + "gif": { "iconPath": "./icons/files/gif.svg" }, + "cmake": { "iconPath": "./icons/files/cmake.svg" }, + "contentlayer": { "iconPath": "./icons/files/contentlayer.svg" }, + "lock": { "iconPath": "./icons/files/lock.svg" }, + "stylelint": { "iconPath": "./icons/files/stylelint.svg" }, + "drizzle": { "iconPath": "./icons/files/drizzle.svg" }, + "ocaml": { "iconPath": "./icons/files/ocaml.svg" }, + "dune": { "iconPath": "./icons/files/dune.svg" }, + "bun": { "iconPath": "./icons/files/bun.svg" } + }, + "fileExtensions": { + "ml": "ocaml", + "mli": "ocaml", + "cmx": "ocaml", + "stylelint": "stylelint", + "lock": "lock", + "cmake": "cmake", + "dev.vars": "cloudflare-workers", + "css.ts": "vanilla-extract", + "njk": "nunjucks", + "nunjucks": "nunjucks", + "csproj": "visual-studio", + "ruleset": "visual-studio", + "sln": "visual-studio", + "suo": "visual-studio", + "vb": "visual-studio", + "vbs": "visual-studio", + "vcxitems": "visual-studio", + "vcxitems.filters": "visual-studio", + "vcxproj": "visual-studio", + "vcxproj.filters": "visual-studio", + "h": "h", + "liquid": "liquid", + "mdx": "mdx", + "svx": "svx", + "cfml": "coldfusion", + "cfc": "coldfusion", + "lucee": "coldfusion", + "cfm": "coldfusion", + "erl": "erlang", + "hrl": "erlang", + "haml": "haml", + "deno": "deno", + "netlify": "netlify", + "vercel": "vercel", + "editorconfig": "editorconfig", + "tex": "tex", + "sty": "tex", + "dtx": "tex", + "ltx": "tex", + "drawio": "drawio", + "dio": "drawio", + "patch": "patch", + "gif": "gif", + "webm": "video", + "mkv": "video", + "flv": "video", + "vob": "video", + "ogv": "video", + "ogg": "video", + "gifv": "video", + "avi": "video", + "mov": "video", + "qt": "video", + "wmv": "video", + "yuv": "video", + "rm": "video", + "rmvb": "video", + "mp4": "video", + "m4v": "video", + "mpg": "video", + "mp2": "video", + "mpeg": "video", + "mpe": "video", + "mpv": "video", + "m2v": "video", + "mp3": "audio", + "flac": "audio", + "m4a": "audio", + "wma": "audio", + "aiff": "audio", + "wav": "audio", + "al": "code-green", + "http": "http", + "rest": "http", + "cls": "code-blue", + "exe": "exe", + "msi": "exe", + "zig": "zig", + "proto": "proto", + "test.js": "js-test", + "spec.js": "js-test", + "test.ts": "ts-test", + "spec.ts": "ts-test", + "spec.jsx": "react-test", + "spec.tsx": "react-test", + "jenkinsfile": "jenkins", + "jenkins": "jenkins", + "tsconfig.json": "tsconfig", + "tf": "terraform", + "tf.json": "terraform", + "tfvars": "terraform", + "tfstate": "terraform", + "woff": "font", + "woff2": "font", + "ttf": "font", + "eot": "font", + "suit": "font", + "otf": "font", + "bmap": "font", + "fnt": "font", + "odttf": "font", + "ttc": "font", + "font": "font", + "fonts": "font", + "sui": "font", + "ntf": "font", + "mrf": "font", + "ex": "elixir", + "exs": "elixir", + "eex": "elixir", + "leex": "elixir", + "heex": "elixir", + "stories.js": "storybook", + "stories.jsx": "storybook", + "stories.mdx": "storybook", + "story.js": "storybook", + "story.jsx": "storybook", + "stories.ts": "storybook", + "stories.tsx": "storybook", + "story.ts": "storybook", + "story.tsx": "storybook", + "stories.svelte": "storybook", + "blade.php": "laravel", + "story.mdx": "storybook", + "yml": "yaml", + "yaml": "yaml", + "yml.dist": "yaml", + "yaml.dist": "yaml", + "YAML-tmLanguage": "yaml", + "gradle": "gradle", + "pcss": "postcss", + "sss": "postcss", + "sbt": "sbt", + "scala": "scala", + "sc": "scala", + "styl": "stylus", + "prisma": "prisma", + "astro": "astro", + "pulumi": "pulumi", + "graphql": "graphql", + "gql": "graphql", + "rs": "rust", + "ron": "rust", + "swift": "swift", + "rb": "ruby", + "erb": "ruby", + "svelte": "svelte", + "kt": "kotlin", + "kts": "kotlin", + "r": "r", + "rmd": "r", + "jade": "pug", + "pug": "pug", + "lua": "lua", + "less": "less", + "java": "java", + "jsp": "java", + "dart": "dart", + "freezed.dart": "dart", + "g.dart": "dart", + "fs": "fsharp", + "fsx": "fsharp", + "fsi": "fsharp", + "fsproj": "fsharp", + "cs": "csharp", + "cshtml": "razor", + "csx": "csharp", + "jl": "julia", + "ssh_config": "shell", + "sh": "shell", + "ksh": "shell", + "csh": "shell", + "tcsh": "shell", + "zsh": "shell", + "bash": "shell", + "bat": "shell", + "cmd": "shell", + "awk": "shell", + "fish": "shell", + "exp": "shell", + "ps1": "shell", + "psm1": "shell", + "psd1": "shell", + "ps1xml": "shell", + "psc1": "shell", + "pssc": "shell", + "py": "python", + "python": "python", + "go": "go", + "go.mod": "go-mod", + "c": "c", + "i": "c", + "mi": "c", + "cc": "cplus", + "cpp": "cplus", + "cxx": "cplus", + "c++": "cplus", + "cp": "cplus", + "mm": "cplus", + "mii": "cplus", + "ii": "cplus", + "jsx": "react", + "tsx": "react-ts", + "vsixmanifest": "puzzle", + "vsix": "puzzle", + "pdb": "database", + "sql": "database", + "pks": "database", + "pkb": "database", + "accdb": "database", + "mdb": "database", + "sqlite": "database", + "sqlite3": "database", + "pgsql": "database", + "postgres": "database", + "psql": "database", + "db": "database", + "db3": "database", + "scss": "sass", + "sass": "sass", + "dockerignore": "docker", + "dockerfile": "docker", + "xml": "xml", + "plist": "xml", + "xsd": "xml", + "dtd": "xml", + "xsl": "xml", + "xslt": "xml", + "resx": "xml", + "iml": "xml", + "xquery": "xml", + "tmLanguage": "xml", + "manifest": "xml", + "project": "xml", + "xml.dist": "xml", + "xml.dist.sample": "xml", + "dmn": "xml", + "htaccess": "document", + "txt": "document", + "xlsx": "csv", + "xlsm": "csv", + "xls": "csv", + "csv": "csv", + "tsv": "csv", + "psv": "csv", + "ods": "csv", + "ipynb": "notebook", + "svg": "svg", + "css": "brackets-sky", + "test": "code-orange", + "js": "js", + "mjs": "js", + "cjs": "js", + "ts": "ts", + "res": "rescript", + "resi": "rescript-interface", + "json": "brackets-yellow", + "html": "code-orange", + "md": "markdown", + "png": "image", + "jpeg": "image", + "jpg": "image", + "ico": "image", + "tif": "image", + "tiff": "image", + "psd": "image", + "psb": "image", + "ami": "image", + "apx": "image", + "avif": "image", + "bmp": "image", + "bpg": "image", + "brk": "image", + "cur": "image", + "dds": "image", + "dng": "image", + "exr": "image", + "fpx": "image", + "gbr": "image", + "img": "image", + "jbig2": "image", + "jb2": "image", + "jng": "image", + "jxr": "image", + "pgf": "image", + "pic": "image", + "raw": "image", + "webp": "image", + "eps": "image", + "afphoto": "image", + "ase": "image", + "aseprite": "image", + "clip": "image", + "cpt": "image", + "heif": "image", + "heic": "image", + "kra": "image", + "mdp": "image", + "ora": "image", + "pdn": "image", + "reb": "image", + "sai": "image", + "tga": "image", + "xcf": "image", + "jfif": "image", + "ppm": "image", + "pbm": "image", + "pgm": "image", + "pnm": "image", + "svgx": "image", + "module.ts": "angular", + "module.js": "angular", + "ng-template": "angular", + "component.ts": "angular", + "component.js": "angular", + "guard.ts": "angular", + "guard.js": "angular", + "pipe.ts": "angular", + "pipe.js": "angular", + "filter.js": "angular", + "directive.ts": "angular", + "directive.js": "angular", + "resolver.ts": "angular", + "resolver.js": "angular", + "toml": "gear", + "v": "v", + "nix": "nix" + }, + "fileNames": { + "bun.lockb": "bun", + "bunfig.toml": "bun", + "dune": "dune", + "dune-project": "dune", + "dune-workspace": "dune", + "dune-workspace.dev": "dune", + "drizzle.config.ts": "drizzle", + ".stylelintrc": "stylelint", + "stylelint.config.js": "stylelint", + "stylelint.config.cjs": "stylelint", + ".stylelintrc.json": "stylelint", + ".stylelintrc.yaml": "stylelint", + ".stylelintrc.yml": "stylelint", + ".stylelintrc.js": "stylelint", + ".stylelintrc.cjs": "stylelint", + ".stylelintignore": "stylelint", + ".stylelintcache": "stylelint", + "cmakelists.txt": "cmake", + "cmakecache.txt": "cmake", + "nest-cli.json": "nest", + ".nest-cli.json": "nest", + "nestconfig.json": "nest", + ".nestconfig.json": "nest", + "contentlayer.config.ts": "contentlayer", + "contentlayer.config.js": "contentlayer", + "go.mod": "go-mod", + "go.sum": "go-mod", + "go.work": "go-mod", + "go.work.sum": "go-mod", + "deno.json": "deno", + "deno.jsonc": "deno", + "netlify.json": "netlify", + "netlify.yml": "netlify", + "netlify.yaml": "netlify", + "netlify.toml": "netlify", + ".vercel": "vercel", + "vercel.json": "vercel", + ".vercelignore": "vercel", + "now.json": "vercel", + ".nowignore": "vercel", + ".editorconfig": "editorconfig", + "test.js": "js-test", + "test.ts": "ts-test", + "gulpfile.js": "gulp", + "gulpfile.mjs": "gulp", + "gulpfile.ts": "gulp", + "gulpfile.cts": "gulp", + "gulpfile.mts": "gulp", + "gulpfile.babel.js": "gulp", + "cypress.json": "cypress", + "cypress.env.json": "cypress", + "cypress.config.ts": "cypress", + "cypress.config.js": "cypress", + "cypress.config.cjs": "cypress", + "cypress.config.mjs": "cypress", + ".feature": "cucumber", + "capacitor.config.json": "capacitor", + "capacitor.config.ts": "capacitor", + "ionic.config.json": "ionic", + ".io-config.json": "ionic", + "nodemon.json": "nodemon", + "nodemon-debug.json": "nodemon", + "jenkinsfile": "jenkins", + "package.json": "node", + "package-lock.json": "node", + ".nvmrc": "node", + ".esmrc": "node", + ".node-version": "node", + "gradle.properties": "gradle", + "gradlew": "gradle", + "gradle-wrapper.properties": "gradle", + "postcss.config.js": "postcss", + "postcss.config.cjs": "postcss", + "postcss.config.ts": "postcss", + "postcss.config.cts": "postcss", + "postcss.config.mts": "postcss", + ".postcssrc.js": "postcss", + ".postcssrc.cjs": "postcss", + ".postcssrc.ts": "postcss", + ".postcssrc.cts": "postcss", + ".postcssrc": "postcss", + ".postcssrc.json": "postcss", + ".postcssrc.yaml": "postcss", + ".postcssrc.yml": "postcss", + ".styl": "stylus", + "prisma.yml": "prisma", + "astro.config.js": "astro", + "astro.config.mjs": "astro", + "astro.config.cjs": "astro", + "astro.config.ts": "astro", + "astro.config.cts": "astro", + "astro.config.mts": "astro", + "vite.config.js": "vite", + "vite.config.mjs": "vite", + "vite.config.ts": "vite", + "vite.config.cjs": "vite", + "vite.config.mts": "vite", + "vite.config.cts": "vite", + "vitest.config.js": "vite", + "vitest.config.mjs": "vite", + "vitest.config.ts": "vite", + "vitest.config.cjs": "vite", + "vitest.config.mts": "vite", + "vitest.config.cts": "vite", + "vite.config.electron.js": "vite", + "vite.config.electron.mjs": "vite", + "vite.config.electron.ts": "vite", + "vite.config.electron.cjs": "vite", + "vite.config.electron.mts": "vite", + "vite.config.electron.cts": "vite", + "gulp.config.json": "gulp", + ".babelrc": "babel", + ".prettierrc": "prettier", + "prettier.config.js": "prettier", + "prettier.config.cjs": "prettier", + "prettier.config.mjs": "prettier", + ".prettierrc.js": "prettier", + ".prettierrc.cjs": "prettier", + ".prettierrc.mjs": "prettier", + ".prettierrc.json": "prettier", + ".prettierrc.json5": "prettier", + ".prettierrc.yaml": "prettier", + ".prettierrc.yml": "prettier", + ".prettierignore": "prettier", + ".prettierrc.toml": "prettier", + "pulumi.yaml": "pulumi", + "pnpm-lock.yaml": "pnpm", + "pnpm-workspace.yaml": "pnpm", + ".pnpmfile.cjs": "pnpm", + ".npmignore": "npm", + ".npmrc": "npm", + ".graphqlconfig": "graphql", + ".graphqlrc": "graphql", + ".graphqlrc.json": "graphql", + ".graphqlrc.js": "graphql", + ".graphqlrc.cjs": "graphql", + ".graphqlrc.ts": "graphql", + ".graphqlrc.toml": "graphql", + ".graphqlrc.yaml": "graphql", + ".graphqlrc.yml": "graphql", + "graphql.config.json": "graphql", + "graphql.config.js": "graphql", + "graphql.config.ts": "graphql", + "graphql.config.toml": "graphql", + "graphql.config.yaml": "graphql", + "graphql.config.yml": "graphql", + "svelte.config.js": "svelte", + "svelte.config.cjs": "svelte", + ".Rhistory": "r", + ".pug-lintrc": "pug", + ".pug-lintrc.js": "pug", + ".pug-lintrc.json": "pug", + ".perl": "perl", + ".luacheckrc": "lua", + ".pubignore": "dart", + "requirements.txt": "python", + "pipfile": "python", + ".python-version": "python", + "manifest.in": "python", + "pylintrc": "python", + ".pylintrc": "python", + "pyproject.toml": "python", + "setup.cfg": "python", + "jest.config.js": "jest", + "jest.config.cjs": "jest", + "jest.config.mjs": "jest", + "jest.config.ts": "jest", + "jest.config.cts": "jest", + "jest.config.mts": "jest", + "jest.config.json": "jest", + "jest.e2e.config.js": "jest", + "jest.e2e.config.cjs": "jest", + "jest.e2e.config.mjs": "jest", + "jest.e2e.config.ts": "jest", + "jest.e2e.config.cts": "jest", + "jest.e2e.config.mts": "jest", + "jest.e2e.config.json": "jest", + "jest.e2e.json": "jest", + "jest-unit.config.js": "jest", + "jest-e2e.config.js": "jest", + "jest-e2e.config.cjs": "jest", + "jest-e2e.config.mjs": "jest", + "jest-e2e.config.ts": "jest", + "jest-e2e.config.cts": "jest", + "jest-e2e.config.mts": "jest", + "jest-e2e.config.json": "jest", + "jest-e2e.json": "jest", + "jest-github-actions-reporter.js": "jest", + "jest.setup.js": "jest", + "jest.setup.ts": "jest", + "jest.json": "jest", + ".jestrc": "jest", + ".jestrc.js": "jest", + ".jestrc.json": "jest", + "jest.teardown.js": "jest", + "dockerfile": "docker", + "dockerfile.prod": "docker", + "dockerfile.production": "docker", + "dockerfile.alpha": "docker", + "dockerfile.beta": "docker", + "dockerfile.stage": "docker", + "dockerfile.staging": "docker", + "dockerfile.dev": "docker", + "dockerfile.development": "docker", + "dockerfile.local": "docker", + "dockerfile.test": "docker", + "dockerfile.testing": "docker", + "dockerfile.ci": "docker", + "dockerfile.web": "docker", + "dockerfile.worker": "docker", + "docker-compose.yml": "docker", + "docker-compose.override.yml": "docker", + "docker-compose.prod.yml": "docker", + "docker-compose.production.yml": "docker", + "docker-compose.alpha.yml": "docker", + "docker-compose.beta.yml": "docker", + "docker-compose.stage.yml": "docker", + "docker-compose.staging.yml": "docker", + "docker-compose.dev.yml": "docker", + "docker-compose.development.yml": "docker", + "docker-compose.local.yml": "docker", + "docker-compose.test.yml": "docker", + "docker-compose.testing.yml": "docker", + "docker-compose.ci.yml": "docker", + "docker-compose.web.yml": "docker", + "docker-compose.worker.yml": "docker", + "docker-compose.yaml": "docker", + "docker-compose.override.yaml": "docker", + "docker-compose.prod.yaml": "docker", + "docker-compose.production.yaml": "docker", + "docker-compose.alpha.yaml": "docker", + "docker-compose.beta.yaml": "docker", + "docker-compose.stage.yaml": "docker", + "docker-compose.staging.yaml": "docker", + "docker-compose.dev.yaml": "docker", + "docker-compose.development.yaml": "docker", + "docker-compose.local.yaml": "docker", + "docker-compose.test.yaml": "docker", + "docker-compose.testing.yaml": "docker", + "docker-compose.ci.yaml": "docker", + "docker-compose.web.yaml": "docker", + "docker-compose.worker.yaml": "docker", + "compose.yaml": "docker", + "compose.yml": "docker", + "firebase.json": "firebase", + ".firebaserc": "firebase", + "firestore.rules": "firebase", + "firestore.indexes.json": "firebase", + ".d.ts": "dts", + ".vscodeignore": "ignore", + ".hugo_build.lock": "hugo", + "robots.txt": "text", + "yarn.lock": "yarn", + "yarn": "yarn", + ".direnv": "gear", + ".env": "gear", + ".env.local": "gear", + ".env.development": "gear", + ".env.dev": "gear", + ".env.production": "gear", + ".env.prod": "gear", + ".env.test": "gear", + "rome.json": "rome", + "biome.json": "biome", + "eslint.config.js": "eslint", + "eslint.config.cjs": "eslint", + "eslint.config.mjs": "eslint", + ".eslintrc.js": "eslint", + ".eslintrc.cjs": "eslint", + ".eslintrc.yaml": "eslint", + ".eslintrc.yml": "eslint", + ".eslintrc.json": "eslint", + ".eslintrc-md.js": "eslint", + ".eslintrc-jsdoc.js": "eslint", + ".eslintrc": "eslint", + ".eslintignore": "eslint", + ".eslintcache": "eslint", + ".git-blame-ignore": "git", + ".gitignore": "git", + ".gitignore-global": "git", + ".gitignore_global": "git", + ".gitconfig": "git", + ".gitattributes": "git", + ".gitmodules": "git", + ".gitkeep": "git", + ".gitinclude": "git", + "git-history": "git", + "license": "license", + "license-agpl": "license", + "license-apache": "license", + "license-bsd": "license", + "license-mit": "license", + "license-gpl": "license", + "license-lgpl": "license", + "license.md": "license", + "license.rst": "license", + "license.txt": "license", + "next.config.js": "next", + "next.config.mjs": "next", + "next.config.ts": "next", + "next.config.mts": "next", + "angular-cli.json": "angular", + ".angular-cli.json": "angular", + "angular.json": "angular", + "turbo.json": "turborepo", + "tailwind.js": "tailwind", + "tailwind.ts": "tailwind", + "tailwind.config.js": "tailwind", + "tailwind.config.cjs": "tailwind", + "tailwind.config.ts": "tailwind", + "tailwind.config.cts": "tailwind", + "tailwind.config.mts": "tailwind", + "tsconfig.json": "tsconfig", + "tsconfig.app.json": "tsconfig", + "tsconfig.editor.json": "tsconfig", + "tsconfig.spec.json": "tsconfig", + "tsconfig.base.json": "tsconfig", + "tsconfig.build.json": "tsconfig", + "tsconfig.eslint.json": "tsconfig", + "tsconfig.lib.json": "tsconfig", + "tsconfig.node.json": "tsconfig", + "tsconfig.test.json": "ts-test", + "tsconfig.e2e.json": "tsconfig", + "tsconfig.web.json": "tsconfig", + "tsconfig.webworker.json": "tsconfig", + "tsconfig.config.json": "tsconfig", + "tsconfig.vitest.json": "tsconfig", + "tsconfig.cjs.json": "tsconfig", + "tsconfig.esm.json": "tsconfig", + "tsconfig.mjs.json": "tsconfig", + "webpack.js": "webpack", + "webpack.cjs": "webpack", + "webpack.mjs": "webpack", + "webpack.ts": "webpack", + "webpack.cts": "webpack", + "webpack.mts": "webpack", + "webpack.base.js": "webpack", + "webpack.base.cjs": "webpack", + "webpack.base.mjs": "webpack", + "webpack.base.ts": "webpack", + "webpack.base.cts": "webpack", + "webpack.base.mts": "webpack", + "webpack.config.js": "webpack", + "webpack.config.cjs": "webpack", + "webpack.config.mjs": "webpack", + "webpack.config.ts": "webpack", + "webpack.config.cts": "webpack", + "webpack.config.mts": "webpack", + "webpack.common.js": "webpack", + "webpack.common.cjs": "webpack", + "webpack.common.mjs": "webpack", + "webpack.common.ts": "webpack", + "webpack.common.cts": "webpack", + "webpack.common.mts": "webpack", + "webpack.config.common.js": "webpack", + "webpack.config.common.cjs": "webpack", + "webpack.config.common.mjs": "webpack", + "webpack.config.common.ts": "webpack", + "webpack.config.common.cts": "webpack", + "webpack.config.common.mts": "webpack", + "webpack.config.common.babel.js": "webpack", + "webpack.config.common.babel.ts": "webpack", + "webpack.dev.js": "webpack", + "webpack.dev.cjs": "webpack", + "webpack.dev.mjs": "webpack", + "webpack.dev.ts": "webpack", + "webpack.dev.cts": "webpack", + "webpack.dev.mts": "webpack", + "webpack.development.js": "webpack", + "webpack.development.cjs": "webpack", + "webpack.development.mjs": "webpack", + "webpack.development.ts": "webpack", + "webpack.development.cts": "webpack", + "webpack.development.mts": "webpack", + "webpack.config.dev.js": "webpack", + "webpack.config.dev.cjs": "webpack", + "webpack.config.dev.mjs": "webpack", + "webpack.config.dev.ts": "webpack", + "webpack.config.dev.cts": "webpack", + "webpack.config.dev.mts": "webpack", + "webpack.config.dev.babel.js": "webpack", + "webpack.config.dev.babel.ts": "webpack", + "webpack.mix.js": "webpack", + "webpack.mix.cjs": "webpack", + "webpack.mix.mjs": "webpack", + "webpack.mix.ts": "webpack", + "webpack.mix.cts": "webpack", + "webpack.mix.mts": "webpack", + "webpack.prod.js": "webpack", + "webpack.prod.cjs": "webpack", + "webpack.prod.mjs": "webpack", + "webpack.prod.ts": "webpack", + "webpack.prod.cts": "webpack", + "webpack.prod.mts": "webpack", + "webpack.prod.config.js": "webpack", + "webpack.prod.config.cjs": "webpack", + "webpack.prod.config.mjs": "webpack", + "webpack.prod.config.ts": "webpack", + "webpack.prod.config.cts": "webpack", + "webpack.prod.config.mts": "webpack", + "webpack.production.js": "webpack", + "webpack.production.cjs": "webpack", + "webpack.production.mjs": "webpack", + "webpack.production.ts": "webpack", + "webpack.production.cts": "webpack", + "webpack.production.mts": "webpack", + "webpack.server.js": "webpack", + "webpack.server.cjs": "webpack", + "webpack.server.mjs": "webpack", + "webpack.server.ts": "webpack", + "webpack.server.cts": "webpack", + "webpack.server.mts": "webpack", + "webpack.client.js": "webpack", + "webpack.client.cjs": "webpack", + "webpack.client.mjs": "webpack", + "webpack.client.ts": "webpack", + "webpack.client.cts": "webpack", + "webpack.client.mts": "webpack", + "webpack.config.server.js": "webpack", + "webpack.config.server.cjs": "webpack", + "webpack.config.server.mjs": "webpack", + "webpack.config.server.ts": "webpack", + "webpack.config.server.cts": "webpack", + "webpack.config.server.mts": "webpack", + "webpack.config.client.js": "webpack", + "webpack.config.client.cjs": "webpack", + "webpack.config.client.mjs": "webpack", + "webpack.config.client.ts": "webpack", + "webpack.config.client.cts": "webpack", + "webpack.config.client.mts": "webpack", + "webpack.config.production.babel.js": "webpack", + "webpack.config.production.babel.ts": "webpack", + "webpack.config.prod.babel.js": "webpack", + "webpack.config.prod.babel.cjs": "webpack", + "webpack.config.prod.babel.mjs": "webpack", + "webpack.config.prod.babel.ts": "webpack", + "webpack.config.prod.babel.cts": "webpack", + "webpack.config.prod.babel.mts": "webpack", + "webpack.config.prod.js": "webpack", + "webpack.config.prod.cjs": "webpack", + "webpack.config.prod.mjs": "webpack", + "webpack.config.prod.ts": "webpack", + "webpack.config.prod.cts": "webpack", + "webpack.config.prod.mts": "webpack", + "webpack.config.production.js": "webpack", + "webpack.config.production.cjs": "webpack", + "webpack.config.production.mjs": "webpack", + "webpack.config.production.ts": "webpack", + "webpack.config.production.cts": "webpack", + "webpack.config.production.mts": "webpack", + "webpack.config.staging.js": "webpack", + "webpack.config.staging.cjs": "webpack", + "webpack.config.staging.mjs": "webpack", + "webpack.config.staging.ts": "webpack", + "webpack.config.staging.cts": "webpack", + "webpack.config.staging.mts": "webpack", + "webpack.config.babel.js": "webpack", + "webpack.config.babel.ts": "webpack", + "webpack.config.base.babel.js": "webpack", + "webpack.config.base.babel.ts": "webpack", + "webpack.config.base.js": "webpack", + "webpack.config.base.cjs": "webpack", + "webpack.config.base.mjs": "webpack", + "webpack.config.base.ts": "webpack", + "webpack.config.base.cts": "webpack", + "webpack.config.base.mts": "webpack", + "webpack.config.staging.babel.js": "webpack", + "webpack.config.staging.babel.ts": "webpack", + "webpack.config.coffee": "webpack", + "webpack.config.test.js": "webpack", + "webpack.config.test.cjs": "webpack", + "webpack.config.test.mjs": "webpack", + "webpack.config.test.ts": "webpack", + "webpack.config.test.cts": "webpack", + "webpack.config.test.mts": "webpack", + "webpack.config.vendor.js": "webpack", + "webpack.config.vendor.cjs": "webpack", + "webpack.config.vendor.mjs": "webpack", + "webpack.config.vendor.ts": "webpack", + "webpack.config.vendor.cts": "webpack", + "webpack.config.vendor.mts": "webpack", + "webpack.config.vendor.production.js": "webpack", + "webpack.config.vendor.production.cjs": "webpack", + "webpack.config.vendor.production.mjs": "webpack", + "webpack.config.vendor.production.ts": "webpack", + "webpack.config.vendor.production.cts": "webpack", + "webpack.config.vendor.production.mts": "webpack", + "webpack.test.js": "webpack", + "webpack.test.cjs": "webpack", + "webpack.test.mjs": "webpack", + "webpack.test.ts": "webpack", + "webpack.test.cts": "webpack", + "webpack.test.mts": "webpack", + "webpack.dist.js": "webpack", + "webpack.dist.cjs": "webpack", + "webpack.dist.mjs": "webpack", + "webpack.dist.ts": "webpack", + "webpack.dist.cts": "webpack", + "webpack.dist.mts": "webpack", + "webpackfile.js": "webpack", + "webpackfile.cjs": "webpack", + "webpackfile.mjs": "webpack", + "webpackfile.ts": "webpack", + "webpackfile.cts": "webpack", + "webpackfile.mts": "webpack" + }, + "languageIds": { + "nunjucks": "nunjucks", + "testOutput": "visual-studio", + "vb": "visual-studio", + "mdx": "mdx", + "lang-cfml": "coldfusion", + "editorconfig": "editorconfig", + "tex": "tex", + "doctex": "tex", + "latex": "tex", + "latex-expl3": "tex", + "terraform": "terraform", + "elixir": "elixir", + "erlang": "erlang", + "yml": "yml", + "yaml": "yaml", + "postcss": "postcss", + "scala": "scala", + "styl": "stylus", + "graphql": "graphql", + "rust": "rust", + "swift": "swift", + "ruby": "ruby", + "svelte": "svelte", + "gherkin": "cucumber", + "r": "r", + "rsweave": "r", + "jade": "pug", + "pug": "pug", + "properties": "gear", + "perl": "perl", + "lua": "lua", + "makefile": "gear", + "markdown": "markdown", + "less": "brackets-sky", + "jinja": "brackets-red", + "hlsl": "brackets-purple", + "java": "java", + "ignore": "ignore", + "dart": "dart", + "clojure": "clojure", + "coffeescript": "coffeescript", + "fsharp": "fsharp", + "github-issues": "github", + "git-commit": "git", + "git-rebase": "git", + "csharp": "csharp", + "razor": "razor", + "aspnetcorerazor": "razor", + "svg": "svg", + "handlebars": "brackets-orange", + "css": "brackets-sky", + "juliamarkdown": "julia-markdown", + "julia": "julia", + "ssh_config": "shell", + "powershell": "shell", + "bat": "shell", + "awk": "shell", + "shellscript": "shell", + "php": "php", + "haml": "haml", + "html": "brackets-orange", + "json": "brackets-yellow", + "pip-requirements": "python", + "python": "python", + "typescript": "ts", + "javascript": "js", + "rescript": "rescript", + "rescript-interface": "rescript-interface", + "go": "go", + "c": "c", + "objective-c": "c", + "objective-cpp": "c", + "cpp": "cplus", + "javascriptreact": "react", + "typescriptreact": "react-ts", + "sql": "database", + "sass": "sass", + "scss": "sass", + "sass.hover": "sass", + "dockercompose": "docker", + "dockerfile": "docker", + "xml": "xml", + "xquery": "xml", + "xsl": "xml", + "plaintext": "document", + "excel": "csv", + "csv": "csv", + "tsv": "csv", + "psv": "csv", + "jupyter": "notebook", + "vue": "vue", + "vue-postcss": "vue", + "vue-html": "vue", + "ng-template": "angular", + "nix": "nix" + }, + "folderNames": { + ".drizzle": "folder-drizzle", + "drizzle": "folder-drizzle", + "tina": "folder-tina", + ".vercel": "folder-vercel", + "vercel": "folder-vercel", + "target": "folder-target", + "ios": "folder-ios", + "context": "folder-context", + "contexts": "folder-context", + "middleware": "folder-middleware", + "middlewares": "folder-middleware", + "util": "folder-utils", + "utils": "folder-utils", + "utility": "folder-utils", + "utilities": "folder-utils", + "db": "folder-database", + "database": "folder-database", + "databases": "folder-database", + "layouts": "folder-layout", + "layout": "folder-layout", + "docker": "folder-blue", + ".docker": "folder-blue", + ".git": "folder-red", + "app": "folder-app", + "config": "folder-config", + "env": "folder-green", + "server": "folder-orange", + "client": "folder-blue", + "sass": "folder-purple-code", + "css": "folder-sky-code", + "styles": "folder-sky-code", + "scripts": "folder-red-code", + "js": "folder-red-code", + "types": "folder-blue-code", + "api": "folder-red", + ".vscode": "folder-blue", + ".next": "folder-gray", + "node_modules": "folder-green", + ".github": "folder-gray", + "public": "folder-purple-outline", + "source": "folder-orange-code", + "src": "folder-orange-code", + "dist": "folder-purple-outline", + "out": "folder-purple-outline", + "build": "folder-purple-outline", + "assets": "folder-assets", + "resources": "folder-assets", + "static": "folder-assets", + "components": "folder-green-code", + "prisma": "folder-prisma", + "android": "folder-android" + }, + "hidesExplorerArrows": false, + "file": "document", + "folder": "folder" } From ae3532c0bf245217921ee703b2137bef896eb220 Mon Sep 17 00:00:00 2001 From: Jacob Lamb Date: Wed, 22 Nov 2023 14:40:03 -0800 Subject: [PATCH 3/3] Fix lint errors --- src/lib/change-listener.js | 2 +- src/lib/config.js | 6 +++--- src/lib/theme.js | 8 ++++---- src/lib/window.js | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lib/change-listener.js b/src/lib/change-listener.js index 66f7b94..013a8c9 100644 --- a/src/lib/change-listener.js +++ b/src/lib/change-listener.js @@ -12,7 +12,7 @@ function monitorConfigChanges() { const updatedKeys = {}; - for (let currentKey in currentState) { + for (const currentKey in currentState) { updatedKeys[currentKey] = workspaceState[currentKey]; } diff --git a/src/lib/config.js b/src/lib/config.js index 9d815a4..b376143 100644 --- a/src/lib/config.js +++ b/src/lib/config.js @@ -18,7 +18,7 @@ const defaultState = themeJSONToConfig(defaultConfig); */ function getWorkspaceConfiguration() { const config = {}; - for (let key of configKeys) { + for (const key of configKeys) { if (!PKG_PROP_MAP[key]) { continue; } @@ -43,7 +43,7 @@ function getWorkspaceConfiguration() { function themeJSONToConfig(themeDef) { const result = {}; - for (let key of configKeys) { + for (const key of configKeys) { if (!PKG_PROP_MAP[key]) { continue; } @@ -60,7 +60,7 @@ function themeJSONToConfig(themeDef) { function updateConfig(config) { const themeJSON = getSoureFile(); - for (let key in config) { + for (const key in config) { log.info(`symbols.${key} changed, updating to ${config[key]}`); const updateHandler = updateThemeJSONHandlers[key]; if (updateHandler) { diff --git a/src/lib/theme.js b/src/lib/theme.js index ddf80e7..5b67a26 100644 --- a/src/lib/theme.js +++ b/src/lib/theme.js @@ -110,9 +110,9 @@ function writeThemeFile(data) { * sync later (unnecessary right now since the themeFile is small) */ async function syncOriginal() { - let themePath = getPath(); - let backupJSON = getBackupFile(); - let originalJSON = getSoureFile(); + const themePath = getPath(); + const backupJSON = getBackupFile(); + const originalJSON = getSoureFile(); let needsSync = false; @@ -131,7 +131,7 @@ async function syncOriginal() { } const stringifiedBackup = JSON.stringify(backupJSON[key]); - if (stringifiedSource != stringifiedBackup) { + if (stringifiedSource !== stringifiedBackup) { log.info({ stringifiedSource, stringifiedBackup, diff --git a/src/lib/window.js b/src/lib/window.js index ae1e09e..32198eb 100644 --- a/src/lib/window.js +++ b/src/lib/window.js @@ -7,7 +7,7 @@ async function confirmReload() { MESSAGES.reloadButton, ); - if (response != MESSAGES.reloadButton) { + if (response !== MESSAGES.reloadButton) { return false; }