diff --git a/src/helpers/ArticleHelper.ts b/src/helpers/ArticleHelper.ts index 9ec64241..6689d64a 100644 --- a/src/helpers/ArticleHelper.ts +++ b/src/helpers/ArticleHelper.ts @@ -741,15 +741,17 @@ export class ArticleHelper { * Get the details of the current article * @returns */ - public static async getDetails(filePath: string) { + public static async getDetails( + filePath: string + ): Promise
{ const baseUrl = Settings.get(SETTING_SITE_BASEURL); if (!filePath) { - return null; + return 'nofilepath'; } const document = await workspace.openTextDocument(filePath); if (!ArticleHelper.isSupportedFile(document)) { - return null; + return 'notsupported'; } const article = await ArticleHelper.getFrontMatterByPath(filePath); @@ -805,7 +807,7 @@ export class ArticleHelper { }; } - return null; + return 'nodata'; } /** diff --git a/src/listeners/panel/DataListener.ts b/src/listeners/panel/DataListener.ts index 9bd5ee34..377833aa 100644 --- a/src/listeners/panel/DataListener.ts +++ b/src/listeners/panel/DataListener.ts @@ -199,7 +199,7 @@ export class DataListener extends BaseListener { if (filePath) { articleDetails = await ArticleHelper.getDetails(filePath); - if (!articleDetails) { + if (!articleDetails || articleDetails === 'nodata') { try { const contents = await ArticleHelper.getContents(filePath); if (contents) { @@ -214,6 +214,10 @@ export class DataListener extends BaseListener { }); return; } + } else if (articleDetails === 'notsupported' || articleDetails === 'nofilepath') { + // No file or invalid file format + this.sendMsg(Command.metadata, undefined); + return; } } else { this.sendMsg(Command.metadata, undefined);