From 45f454e7f9028f7c953b910a0f255a31550020d3 Mon Sep 17 00:00:00 2001 From: Martin Zagora Date: Tue, 8 Apr 2014 23:20:21 +1000 Subject: [PATCH] expose doSearch for extensions --- src/search/FindInFiles.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/search/FindInFiles.js b/src/search/FindInFiles.js index a203ea792df..e1068c22da8 100644 --- a/src/search/FindInFiles.js +++ b/src/search/FindInFiles.js @@ -838,16 +838,28 @@ define(function (require, exports, module) { return result.promise(); } - + + /** + * @public + * Executes the Find in Files search using passed RegExp + * @param {!RegExp} query RegExp to search with + */ + function doSearch(query) { + if (!(query instanceof RegExp)) { + throw new Error("RegExp query is required"); + } + return _doSearch(query.toString(), getCandidateFiles(), query); + } + /** * @private * Executes the Find in Files search inside the 'currentScope' * @param {string} query String to be searched * @param {!$.Promise} candidateFilesPromise Promise from getCandidateFiles(), which was called earlier */ - function _doSearch(query, candidateFilesPromise) { + function _doSearch(query, candidateFilesPromise, implicitRegExp) { currentQuery = query; - currentQueryExpr = _getQueryRegExp(query); + currentQueryExpr = implicitRegExp || _getQueryRegExp(query); if (!currentQueryExpr) { StatusBar.hideBusyIndicator(); @@ -1240,6 +1252,9 @@ define(function (require, exports, module) { CommandManager.register(Strings.CMD_FIND_IN_FILES, Commands.EDIT_FIND_IN_FILES, _doFindInFiles); CommandManager.register(Strings.CMD_FIND_IN_SUBTREE, Commands.EDIT_FIND_IN_SUBTREE, _doFindInSubtree); + // Public API + exports.doSearch = doSearch; + // For unit testing - updated in _doSearch() when search complete exports._searchResults = null; });