From 986fd955248c52858332adabe3daef207d6ab56c Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Tue, 12 Oct 2021 15:22:43 +0200 Subject: [PATCH] #145 - Moved folder registration settings --- CHANGELOG.md | 1 + src/commands/Folders.ts | 6 +++++- src/helpers/Questions.ts | 10 ++++++++++ src/helpers/SettingsHelper.ts | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63c45737..92543e19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### 🎨 Enhancements - [#141](https://github.com/estruyf/vscode-front-matter/issues/141): Allow content creation for page bundles or single files +- [#145](https://github.com/estruyf/vscode-front-matter/issues/145): Moved folder registration settings to `frontmatter.json` file ### 🐞 Fixes diff --git a/src/commands/Folders.ts b/src/commands/Folders.ts index 163cacc3..f528a2b4 100644 --- a/src/commands/Folders.ts +++ b/src/commands/Folders.ts @@ -274,7 +274,11 @@ export class Folders { */ private static async update(folders: ContentFolder[]) { const wsFolder = Folders.getWorkspaceFolder(); - await Settings.update(SETTINGS_CONTENT_PAGE_FOLDERS, folders.map(folder => ({ title: folder.title, path: Folders.relWsFolder(folder, wsFolder) }))); + let folderDetails = folders.map(folder => ({ + title: folder.title, + path: Folders.relWsFolder(folder, wsFolder) + })); + await Settings.update(SETTINGS_CONTENT_PAGE_FOLDERS, folderDetails, true); } /** diff --git a/src/helpers/Questions.ts b/src/helpers/Questions.ts index 51eb8bbd..1051dfd3 100644 --- a/src/helpers/Questions.ts +++ b/src/helpers/Questions.ts @@ -5,6 +5,16 @@ import { Notifications } from './Notifications'; export class Questions { + /** + * Yes/No question + * @param placeholder + * @returns + */ + public static async yesOrNo(placeholder: string) { + const answer = await window.showQuickPick(["yes", "no"], { canPickMany: false, placeHolder: placeholder, ignoreFocusOut: false }); + return answer === "yes"; + } + /** * Specify the name of the content to create * @param showWarning diff --git a/src/helpers/SettingsHelper.ts b/src/helpers/SettingsHelper.ts index 36ff27d0..ab4d2176 100644 --- a/src/helpers/SettingsHelper.ts +++ b/src/helpers/SettingsHelper.ts @@ -136,7 +136,7 @@ export class Settings { Settings.globalConfig = JSON.parse(localConfig); Settings.globalConfig[`${CONFIG_KEY}.${name}`] = value; writeFileSync(fmConfig, JSON.stringify(Settings.globalConfig, null, 2), 'utf8'); - + const workspaceSettingValue = Settings.hasWorkspaceSettings(name); if (workspaceSettingValue) { await Settings.update(name, undefined);