diff --git a/libs/remix-ui/search/src/lib/context/context.tsx b/libs/remix-ui/search/src/lib/context/context.tsx index e8ce76e287..bbc3c72795 100644 --- a/libs/remix-ui/search/src/lib/context/context.tsx +++ b/libs/remix-ui/search/src/lib/context/context.tsx @@ -202,18 +202,28 @@ export const SearchProvider = ({ } }, []) + //*.sol, **/*.txt, contracts/* + const setGlobalExpression = (paths: string) => { + const results = [] + paths.split(',').forEach(path => { + path = path.trim() + if(path.startsWith('*.')) path = path.replace(/(\*\.)/g, '**/*.') + if(path.endsWith('/*') && !path.endsWith('/**/*')) path = path.replace(/(\*)/g, '**/*.*') + results.push(path) + }) + return results + } + useEffect(() => { if (state.find) { (async () => { const files = await getDirectory('/', plugin) const pathFilter: any = {} if (state.include){ - const includeWithGlobalExpression = state.include.replaceAll(/(? i.trim()) + pathFilter.include = setGlobalExpression(state.include) } if (state.exclude){ - const excludeWithGlobalExpression = state.exclude.replaceAll(/(? i.trim()) + pathFilter.exclude = setGlobalExpression(state.exclude) } const filteredFiles = files.filter(filePathFilter(pathFilter)).map(file => { const r: SearchResult = {