示例#1
0
        public async Task SearchAsync()
        {
            Window.ShowStatusProgress($"Searching files for '{SearchPhrase}'");

            var finder = new FindInFilesFinder(SearchFolder, FileFilters);

            finder.SearchSubFolders = SearchSubFolders;
            var result = await finder.SearchFilesAsync(SearchPhrase);

            if (result != null)
            {
                SearchResults = new ObservableCollection <SearchFileResult>(result.OrderBy(r => r.FilePath + "!" + r.FileOnly));
            }
            else
            {
                SearchResults = new ObservableCollection <SearchFileResult>();
            }

            if (result.Count < 1)
            {
                Window.ShowStatusError("No matching files found.");
            }
            else
            {
                Window.ShowStatusSuccess($"{result.Count} file{(result.Count > 1 ? "s" : "")} found.");
            }
        }
示例#2
0
        public async Task SearchInFilesAsyncTest()
        {
            var finder = new FindInFilesFinder(STR_Folder, "*.*");

            var result = await finder.SearchFilesAsync("Single line breaks");

            Assert.IsTrue(result.Count > 0, "No matches - should have matched");
            WriteResult(result);
        }
示例#3
0
        public void SearchInFilesTest()
        {
            var finder = new FindInFilesFinder(STR_Folder, "*.*");

            finder.NoMatchDetails = true;
            var result = finder.SearchFiles("Markdown");

            Assert.IsTrue(result.Count > 0, "No matches - should have matched");
            WriteResult(result);
        }
示例#4
0
        public FileSearchModel()
        {
            AppModel = mmApp.Model;
            Window   = AppModel.Window;

            if (AppModel.ActiveProject != null && !AppModel.ActiveProject.IsEmpty)
            {
                SearchFolder = Path.GetDirectoryName(AppModel.ActiveProject.Filename);
            }
            else
            {
                SearchFolder = AppModel.ActiveDocument?.Filename;
                if (!string.IsNullOrEmpty(SearchFolder))
                {
                    SearchFolder = Path.GetDirectoryName(SearchFolder);
                }
            }

            FindFinder = new FindInFilesFinder(SearchFolder, FileFilters);
        }