/*
 * file.ts
 *
 * Copyright (C) 2023 by Posit Software, PBC
 * Copyright (c) Microsoft Corporation. All rights reserved.
 *
 * Unless you have received this program directly from Posit Software pursuant
 * to the terms of a commercial license agreement with Posit Software, then
 * this program is licensed to you under the terms of version 3 of the
 * GNU Affero General Public License. This program is distributed WITHOUT
 * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
 * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
 *
 */

import * as path from 'path';
import { URI, Utils } from 'vscode-uri';
import { LsConfiguration } from '../config';

export function looksLikeMarkdownUri(config: LsConfiguration, resolvedHrefPath: URI): boolean {
  return looksLikeMarkdownExt(config, Utils.extname(resolvedHrefPath));
}

export function looksLikeMarkdownFilePath(config: LsConfiguration, fileName: string): boolean {
  return looksLikeMarkdownExt(config, path.extname(fileName));
}

function looksLikeMarkdownExt(config: LsConfiguration, rawExt: string): boolean {
  return config.markdownFileExtensions.includes(rawExt.toLowerCase().replace('.', ''));
}
