diff --git a/src/services/file.service.ts b/src/services/file.service.ts index 2b10a2c..400e4ec 100644 --- a/src/services/file.service.ts +++ b/src/services/file.service.ts @@ -1,6 +1,5 @@ import { App, Notice, TFile } from 'obsidian'; import BulkRenamePlugin from '../../main'; -import XRegExp from 'xregexp'; export const getFilesNamesInDirectory = (plugin: BulkRenamePlugin) => { const { fileNames } = plugin.settings; @@ -78,6 +77,9 @@ export const renameFilesInObsidian = async ( new Notice('successfully renamed all files'); }; +let reRegExpChar = /[\\^$.*+?()[\]{}]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + export function escapeRegExp(s: string) { - return XRegExp.escape(s); + return s && reHasRegExpChar.test(s) ? s.replace(reRegExpChar, '\\$&') : s; } diff --git a/src/suggestions/RegExpFlagsSuggest.ts b/src/suggestions/RegExpFlagsSuggest.ts index ac95cfc..3f75f4c 100644 --- a/src/suggestions/RegExpFlagsSuggest.ts +++ b/src/suggestions/RegExpFlagsSuggest.ts @@ -4,7 +4,7 @@ import { TextInputSuggest } from './suggest'; import { REGEXP_FLAGS, RegExpFlag } from '../constants/RegExpFlags'; export class RegExpFlagsSuggest extends TextInputSuggest { - // @ts-ignore TODO refactor types types + // @ts-ignore TODO refactor types getSuggestions() { return REGEXP_FLAGS; }