"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigManager = void 0; const Fs = __importStar(require("fs")); const Path = __importStar(require("path")); const PackageUtil = require('./lib/eazax/package-util'); /** 配置文件路径 */ const CONFIG_PATH = Path.join(__dirname, '../config.json'); /** package.json 的路径 */ const PACKAGE_PATH = Path.join(__dirname, '../package.json'); /** 包名 */ const PACKAGE_NAME = PackageUtil.name; /** 快捷键行为 */ const ACTION_NAME = 'find'; /** package.json 中的菜单项 key */ const MENU_ITEM_KEY = `i18n:MAIN_MENU.package.title/i18n:${PACKAGE_NAME}.name/i18n:${PACKAGE_NAME}.${ACTION_NAME}`; /** * 配置管理器 */ exports.ConfigManager = { /** * 默认配置 */ get defaultConfig() { return { version: '1.1', printDetails: true, printFolding: true, // showResultsPanel: true, }; }, /** * 读取配置 */ get() { // 配置 const config = exports.ConfigManager.defaultConfig; if (Fs.existsSync(CONFIG_PATH)) { const localConfig = JSON.parse(Fs.readFileSync(CONFIG_PATH).toString()); for (const key in config) { if (localConfig[key] !== undefined) { config[key] = localConfig[key]; } } } else { } // 快捷键 config.hotkey = exports.ConfigManager.getAccelerator(); // Done return config; }, /** * 保存配置 * @param {*} value 配置 */ set(value) { // 配置 const config = exports.ConfigManager.defaultConfig; for (const key in config) { if (value[key] !== undefined) { config[key] = value[key]; } } Fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2)); // 快捷键 exports.ConfigManager.setAccelerator(value.hotkey); }, /** * 获取快捷键 * @returns {string} */ getAccelerator() { const packageCfg = JSON.parse(Fs.readFileSync(PACKAGE_PATH).toString()), item = packageCfg['contributions']['shortcuts'][0]; return item['win'] || ''; }, /** * 设置快捷键 * @param {string} value */ setAccelerator(value) { const packageCfg = JSON.parse(Fs.readFileSync(PACKAGE_PATH).toString()), item = packageCfg['contributions']['shortcuts'][0]; if (value !== undefined && value !== '') { item['win'] = value; item['mac'] = value; } else { item['win'] = ''; item['mac'] = ''; } Fs.writeFileSync(PACKAGE_PATH, JSON.stringify(packageCfg, null, 4)); }, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvY29uZmlnLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUV4RCxhQUFhO0FBQ2IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRCx1QkFBdUI7QUFDdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUU3RCxTQUFTO0FBQ1QsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztBQUV0QyxZQUFZO0FBQ1osTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBRTNCLDZCQUE2QjtBQUM3QixNQUFNLGFBQWEsR0FBRyxxQ0FBcUMsWUFBWSxjQUFjLFlBQVksSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUVuSDs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFHO0lBRXpCOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2IsT0FBTztZQUNILE9BQU8sRUFBRSxLQUFLO1lBQ2QsWUFBWSxFQUFFLElBQUk7WUFDbEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsRUFBRTtZQUNGLGdCQUFnQixFQUFFLElBQUk7U0FDekIsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUc7UUFDQyxLQUFLO1FBQ0wsTUFBTSxNQUFNLEdBQVEscUJBQWEsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDeEUsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7UUFDUixDQUFDO1FBRUQsTUFBTTtRQUNOLE1BQU0sQ0FBQyxNQUFNLEdBQUcscUJBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUvQyxPQUFPO1FBQ1AsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxLQUFVO1FBQ1YsS0FBSztRQUNMLE1BQU0sTUFBTSxHQUFRLHFCQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2hELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRCxNQUFNO1FBQ04scUJBQWEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ25FLElBQUksR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsS0FBVTtRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDbkUsSUFBSSxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQ0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUVKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBGcyBmcm9tICdmcyc7XHJcbmltcG9ydCAqIGFzIFBhdGggZnJvbSAncGF0aCc7XHJcbmNvbnN0IFBhY2thZ2VVdGlsID0gcmVxdWlyZSgnLi9saWIvZWF6YXgvcGFja2FnZS11dGlsJyk7XHJcblxyXG4vKiog6YWN572u5paH5Lu26Lev5b6EICovXHJcbmNvbnN0IENPTkZJR19QQVRIID0gUGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2NvbmZpZy5qc29uJyk7XHJcblxyXG4vKiogcGFja2FnZS5qc29uIOeahOi3r+W+hCAqL1xyXG5jb25zdCBQQUNLQUdFX1BBVEggPSBQYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vcGFja2FnZS5qc29uJyk7XHJcblxyXG4vKiog5YyF5ZCNICovXHJcbmNvbnN0IFBBQ0tBR0VfTkFNRSA9IFBhY2thZ2VVdGlsLm5hbWU7XHJcblxyXG4vKiog5b+r5o236ZSu6KGM5Li6ICovXHJcbmNvbnN0IEFDVElPTl9OQU1FID0gJ2ZpbmQnO1xyXG5cclxuLyoqIHBhY2thZ2UuanNvbiDkuK3nmoToj5zljZXpobkga2V5ICovXHJcbmNvbnN0IE1FTlVfSVRFTV9LRVkgPSBgaTE4bjpNQUlOX01FTlUucGFja2FnZS50aXRsZS9pMThuOiR7UEFDS0FHRV9OQU1FfS5uYW1lL2kxOG46JHtQQUNLQUdFX05BTUV9LiR7QUNUSU9OX05BTUV9YDtcclxuXHJcbi8qKlxyXG4gKiDphY3nva7nrqHnkIblmahcclxuICovXHJcbmV4cG9ydCBjb25zdCBDb25maWdNYW5hZ2VyID0ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog6buY6K6k6YWN572uXHJcbiAgICAgKi9cclxuICAgIGdldCBkZWZhdWx0Q29uZmlnKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHZlcnNpb246ICcxLjEnLFxyXG4gICAgICAgICAgICBwcmludERldGFpbHM6IHRydWUsXHJcbiAgICAgICAgICAgIHByaW50Rm9sZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgc2hvd1Jlc3VsdHNQYW5lbDogdHJ1ZSxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIOivu+WPlumFjee9rlxyXG4gICAgICovXHJcbiAgICBnZXQoKSB7XHJcbiAgICAgICAgLy8g6YWN572uXHJcbiAgICAgICAgY29uc3QgY29uZmlnOiBhbnkgPSBDb25maWdNYW5hZ2VyLmRlZmF1bHRDb25maWc7XHJcbiAgICAgICAgaWYgKEZzLmV4aXN0c1N5bmMoQ09ORklHX1BBVEgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsQ29uZmlnID0gSlNPTi5wYXJzZShGcy5yZWFkRmlsZVN5bmMoQ09ORklHX1BBVEgpLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBjb25maWcpIHtcclxuICAgICAgICAgICAgICAgIGlmIChsb2NhbENvbmZpZ1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25maWdba2V5XSA9IGxvY2FsQ29uZmlnW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8g5b+r5o236ZSuXHJcbiAgICAgICAgY29uZmlnLmhvdGtleSA9IENvbmZpZ01hbmFnZXIuZ2V0QWNjZWxlcmF0b3IoKTtcclxuXHJcbiAgICAgICAgLy8gRG9uZVxyXG4gICAgICAgIHJldHVybiBjb25maWc7XHJcbiAgICB9LFxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5L+d5a2Y6YWN572uXHJcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIOmFjee9rlxyXG4gICAgICovXHJcbiAgICBzZXQodmFsdWU6IGFueSkge1xyXG4gICAgICAgIC8vIOmFjee9rlxyXG4gICAgICAgIGNvbnN0IGNvbmZpZzogYW55ID0gQ29uZmlnTWFuYWdlci5kZWZhdWx0Q29uZmlnO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGNvbmZpZykge1xyXG4gICAgICAgICAgICBpZiAodmFsdWVba2V5XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25maWdba2V5XSA9IHZhbHVlW2tleV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgRnMud3JpdGVGaWxlU3luYyhDT05GSUdfUEFUSCwgSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBudWxsLCAyKSk7XHJcblxyXG4gICAgICAgIC8vIOW/q+aNt+mUrlxyXG4gICAgICAgIENvbmZpZ01hbmFnZXIuc2V0QWNjZWxlcmF0b3IodmFsdWUuaG90a2V5KTtcclxuICAgIH0sXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflj5blv6vmjbfplK5cclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9XHJcbiAgICAgKi9cclxuICAgIGdldEFjY2VsZXJhdG9yKCkge1xyXG4gICAgICAgIGNvbnN0IHBhY2thZ2VDZmcgPSBKU09OLnBhcnNlKEZzLnJlYWRGaWxlU3luYyhQQUNLQUdFX1BBVEgpLnRvU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICBpdGVtID0gcGFja2FnZUNmZ1snY29udHJpYnV0aW9ucyddWydzaG9ydGN1dHMnXVswXTtcclxuICAgICAgICByZXR1cm4gaXRlbVsnd2luJ10gfHwgJyc7XHJcbiAgICB9LFxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6K6+572u5b+r5o236ZSuXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcclxuICAgICAqL1xyXG4gICAgc2V0QWNjZWxlcmF0b3IodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHBhY2thZ2VDZmcgPSBKU09OLnBhcnNlKEZzLnJlYWRGaWxlU3luYyhQQUNLQUdFX1BBVEgpLnRvU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICBpdGVtID0gcGFja2FnZUNmZ1snY29udHJpYnV0aW9ucyddWydzaG9ydGN1dHMnXVswXTtcclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgaXRlbVsnd2luJ10gPSB2YWx1ZTtcclxuICAgICAgICAgICAgaXRlbVsnbWFjJ10gPSB2YWx1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpdGVtWyd3aW4nXSA9ICcnO1xyXG4gICAgICAgICAgICBpdGVtWydtYWMnXSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBGcy53cml0ZUZpbGVTeW5jKFBBQ0tBR0VfUEFUSCwgSlNPTi5zdHJpbmdpZnkocGFja2FnZUNmZywgbnVsbCwgNCkpO1xyXG4gICAgfSxcclxuXHJcbn07Il19