Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindReplace.cs')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindReplace.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindReplace.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindReplace.cs
index f70545988b..2a90d12253 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindReplace.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindReplace.cs
@@ -85,6 +85,7 @@ namespace MonoDevelop.Ide.FindInFiles
public TextReader Reader;
public List<SearchResult> Results;
public string Text { get; internal set; }
+ public System.Text.Encoding Encoding { get; internal set; }
public FileSearchResult (FileProvider provider, TextReader reader, List<SearchResult> results)
{
@@ -172,6 +173,7 @@ namespace MonoDevelop.Ide.FindInFiles
Interlocked.Increment (ref searchedFilesCount);
if (replacePattern != null) {
content.Text = content.Reader.ReadToEnd ();
+ content.Encoding = content.Provider.CurrentEncoding;
content.Reader = new StringReader (content.Text);
}
content.Results.AddRange(FindAll (monitor, content.Provider, content.Reader, pattern, replacePattern, filter));
@@ -193,7 +195,7 @@ namespace MonoDevelop.Ide.FindInFiles
if (content.Results.Count == 0)
continue;
try {
- content.Provider.BeginReplace (content.Text);
+ content.Provider.BeginReplace (content.Text, content.Encoding);
Replace (content.Provider, content.Results, replacePattern);
content.Provider.EndReplace ();
} catch (Exception e) {
@@ -248,7 +250,7 @@ namespace MonoDevelop.Ide.FindInFiles
continue;
matches.Add(match);
}
- provider.BeginReplace (content);
+ provider.BeginReplace (content, provider.CurrentEncoding);
int delta = 0;
for (int i = 0; !monitor.CancellationToken.IsCancellationRequested && i < matches.Count; i++) {
Match match = matches[i];