From 5254f2b7f963b0a1e50d2e8e71a35d0a2014ef8e Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Fri, 30 Sep 2022 14:44:07 +0200 Subject: [PATCH] #412 Support added for data files and custom scripts --- src/helpers/SettingsHelper.ts | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/helpers/SettingsHelper.ts b/src/helpers/SettingsHelper.ts index 659fd45c..e3eafc3c 100644 --- a/src/helpers/SettingsHelper.ts +++ b/src/helpers/SettingsHelper.ts @@ -4,7 +4,7 @@ import { Notifications } from './Notifications'; import { commands, Uri, workspace, window } from 'vscode'; import * as vscode from 'vscode'; import { ContentType, CustomTaxonomy, TaxonomyType } from '../models'; -import { SETTING_TAXONOMY_TAGS, SETTING_TAXONOMY_CATEGORIES, CONFIG_KEY, CONTEXT, ExtensionState, SETTING_TAXONOMY_CUSTOM, TelemetryEvent, COMMAND_NAME, SETTING_TAXONOMY_CONTENT_TYPES, SETTING_CONTENT_PAGE_FOLDERS, SETTING_CONTENT_SNIPPETS, SETTING_CONTENT_PLACEHOLDERS } from '../constants'; +import { SETTING_TAXONOMY_TAGS, SETTING_TAXONOMY_CATEGORIES, CONFIG_KEY, CONTEXT, ExtensionState, SETTING_TAXONOMY_CUSTOM, TelemetryEvent, COMMAND_NAME, SETTING_TAXONOMY_CONTENT_TYPES, SETTING_CONTENT_PAGE_FOLDERS, SETTING_CONTENT_SNIPPETS, SETTING_CONTENT_PLACEHOLDERS, SETTING_CUSTOM_SCRIPTS, SETTING_DATA_FILES, SETTING_DATA_TYPES, SETTING_DATA_FOLDERS } from '../constants'; import { Folders } from '../commands/Folders'; import { join, basename, dirname, parse } from 'path'; import { existsSync, readFileSync, writeFileSync } from 'fs'; @@ -427,7 +427,7 @@ export class Settings { } // Read the files from the config folder - let configFiles = await workspace.findFiles(`**/${Settings.globalConfigFolder}/**`); + let configFiles = await workspace.findFiles(`**/${Settings.globalConfigFolder}/**/*.json`); if (configFiles.length === 0) { Logger.info(`No ".frontmatter/config" config files found.`); } @@ -470,17 +470,22 @@ export class Settings { if (relSettingName.startsWith('.')) { relSettingName = relSettingName.substring(1); } + relSettingName = relSettingName.toLowerCase(); if (!Settings.globalConfig) { Settings.globalConfig = {}; } // Array settings - relSettingName = relSettingName.toLowerCase(); if (relSettingName === SETTING_TAXONOMY_CONTENT_TYPES.toLowerCase() || relSettingName === SETTING_CONTENT_PAGE_FOLDERS.toLowerCase() || - relSettingName === SETTING_CONTENT_PLACEHOLDERS.toLowerCase()) { + relSettingName === SETTING_CONTENT_PLACEHOLDERS.toLowerCase() || + relSettingName === SETTING_CUSTOM_SCRIPTS.toLowerCase() || + relSettingName === SETTING_DATA_FILES.toLowerCase() || + relSettingName === SETTING_DATA_FOLDERS.toLowerCase() || + relSettingName === SETTING_DATA_TYPES.toLowerCase()) { + // Get the correct setting name let settingNameValue = "" if (relSettingName === SETTING_TAXONOMY_CONTENT_TYPES.toLowerCase()) { settingNameValue = SETTING_TAXONOMY_CONTENT_TYPES; @@ -488,6 +493,14 @@ export class Settings { settingNameValue = SETTING_CONTENT_PAGE_FOLDERS; } else if (relSettingName === SETTING_CONTENT_PLACEHOLDERS.toLowerCase()) { settingNameValue = SETTING_CONTENT_PLACEHOLDERS; + } else if (relSettingName === SETTING_CUSTOM_SCRIPTS.toLowerCase()) { + settingNameValue = SETTING_CUSTOM_SCRIPTS; + } else if (relSettingName === SETTING_DATA_FILES.toLowerCase()) { + settingNameValue = SETTING_DATA_FILES; + } else if (relSettingName === SETTING_DATA_FOLDERS.toLowerCase()) { + settingNameValue = SETTING_DATA_FOLDERS; + } else if (relSettingName === SETTING_DATA_TYPES.toLowerCase()) { + settingNameValue = SETTING_DATA_TYPES; } const crntValue = Settings.globalConfig[`${CONFIG_KEY}.${settingNameValue}`] || [];