Browse Source

Patch by Scott Ferrett: Match whole word now accepts any non-letter-or-digit character as word bound, fixed exception when searching in "whole project" or "whole solution" and the project contained an open .resources file.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@800 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
e372792062
  1. 5
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeProjectDocumentIterator.cs
  2. 3
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs
  3. 4
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BruteForceSearchStrategy.cs

5
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeProjectDocumentIterator.cs

@ -50,9 +50,10 @@ namespace SearchAndReplace @@ -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,

3
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs

@ -51,7 +51,8 @@ namespace SearchAndReplace @@ -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,

4
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BruteForceSearchStrategy.cs

@ -42,8 +42,8 @@ namespace SearchAndReplace @@ -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)

Loading…
Cancel
Save