diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeProjectDocumentIterator.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeProjectDocumentIterator.cs index 6941c092c1..7df4538ab9 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeProjectDocumentIterator.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeProjectDocumentIterator.cs @@ -50,9 +50,10 @@ namespace SearchAndReplace IDocument document; string fileName = files[curIndex].ToString(); foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) { - // WINDOWS DEPENDENCY : ToUpper if (content.FileName != null && - Path.GetFullPath(content.FileName).ToUpper() == Path.GetFullPath(fileName).ToUpper()) { + FileUtility.IsEqualFileName(content.FileName, fileName) && + content is ITextEditorControlProvider ) + { document = (((ITextEditorControlProvider)content).TextEditorControl).Document; return new ProvidedDocumentInformation(document, fileName, diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs index 7b2a0468ef..c9fbe559a0 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs @@ -51,7 +51,8 @@ namespace SearchAndReplace string fileName = files[curIndex].ToString(); foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) { if (content.FileName != null && - FileUtility.IsEqualFileName(content.FileName, fileName)) + FileUtility.IsEqualFileName(content.FileName, fileName) && + content is ITextEditorControlProvider ) { document = (((ITextEditorControlProvider)content).TextEditorControl).Document; return new ProvidedDocumentInformation(document, diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BruteForceSearchStrategy.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BruteForceSearchStrategy.cs index 7e6a026234..aa4533b26d 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BruteForceSearchStrategy.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BruteForceSearchStrategy.cs @@ -42,8 +42,8 @@ namespace SearchAndReplace bool IsWholeWordAt(ITextBufferStrategy document, int offset, int length) { - return (offset - 1 < 0 || Char.IsWhiteSpace(document.GetCharAt(offset - 1))) && - (offset + length + 1 >= document.Length || Char.IsWhiteSpace(document.GetCharAt(offset + length))); + return (offset - 1 < 0 || !Char.IsLetterOrDigit(document.GetCharAt(offset - 1))) && + (offset + length + 1 >= document.Length || !Char.IsLetterOrDigit(document.GetCharAt(offset + length))); } int InternalFindNext(ITextIterator textIterator)