Skip to content
Browse files

Merge branch 'search'

Conflicts:
	SharpDevelop.sln
	data/resources/StringResources.resx
  • Loading branch information...
2 parents 2ef68ee + e9aedd1 commit b29f31ed15ad422fdb41679e8ce027766b74fb2b @siegfriedpammer siegfriedpammer committed Oct 26, 2011
Showing with 1,910 additions and 3,188 deletions.
  1. +3 −3 data/resources/StringResources.cz.resx
  2. +3 −3 data/resources/StringResources.de.resx
  3. +24 −3 data/resources/StringResources.es-mx.resx
  4. +24 −3 data/resources/StringResources.es.resx
  5. +13 −4 data/resources/StringResources.fr.resx
  6. +3 −3 data/resources/StringResources.hu.resx
  7. +24 −3 data/resources/StringResources.it.resx
  8. +3 −3 data/resources/StringResources.kr.resx
  9. +10 −4 data/resources/StringResources.nl.resx
  10. +3 −3 data/resources/StringResources.no.resx
  11. +3 −3 data/resources/StringResources.pl.resx
  12. +3 −3 data/resources/StringResources.pt-br.resx
  13. +3 −3 data/resources/StringResources.pt.resx
  14. +6 −9 data/resources/StringResources.resx
  15. +3 −3 data/resources/StringResources.ro.resx
  16. +3 −3 data/resources/StringResources.ru.resx
  17. +3 −3 data/resources/StringResources.se.resx
  18. +3 −3 data/resources/StringResources.tr.resx
  19. +3 −3 data/resources/StringResources.zh.resx
  20. +0 −14 src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin
  21. +0 −1 src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj
  22. +0 −40 src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/RunIncrementalSearch.cs
  23. +10 −7 src/AddIns/Misc/SearchAndReplace/Project/Commands/SearchMainMenuCommands.cs
  24. +0 −69 src/AddIns/Misc/SearchAndReplace/Project/Commands/SearchToolbarCommands.cs
  25. +0 −124 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/AllOpenDocumentIterator.cs
  26. +0 −63 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/CurrentDocumentIterator.cs
  27. +0 −100 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/DirectoryDocumentIterator.cs
  28. +0 −91 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/IDocumentIterator.cs
  29. +0 −99 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/WholeProjectDocumentIterator.cs
  30. +0 −101 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs
  31. +23 −0 src/AddIns/Misc/SearchAndReplace/Project/Engine/Enums.cs
  32. +0 −16 src/AddIns/Misc/SearchAndReplace/Project/Engine/ITextIteratorBuilder.cs
  33. +0 −159 src/AddIns/Misc/SearchAndReplace/Project/Engine/Search.cs
  34. +556 −0 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchManager.cs
  35. +0 −89 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceInFilesManager.cs
  36. +0 −393 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs
  37. +0 −113 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceUtilities.cs
  38. +0 −128 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchStrategy/BoyerMooreSearchStrategy.cs
  39. +0 −91 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchStrategy/BruteForceSearchStrategy.cs
  40. +0 −35 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchStrategy/ISearchStrategy.cs
  41. +0 −78 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchStrategy/KMPSearchStrategy.cs
  42. +0 −103 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchStrategy/RegExSearchStrategy.cs
  43. +0 −190 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchStrategy/WildcardSearchStrategy.cs
  44. +0 −163 src/AddIns/Misc/SearchAndReplace/Project/Engine/TextIterator/ForwardTextIterator.cs
  45. +0 −18 src/AddIns/Misc/SearchAndReplace/Project/Engine/TextIterator/ForwardTextIteratorBuilder.cs
  46. +0 −69 src/AddIns/Misc/SearchAndReplace/Project/Engine/TextIterator/ITextIterator.cs
  47. +0 −45 src/AddIns/Misc/SearchAndReplace/Project/Engine/TextSelection.cs
  48. +20 −5 src/AddIns/Misc/SearchAndReplace/Project/Gui/DefaultSearchResult.cs
  49. +99 −0 src/AddIns/Misc/SearchAndReplace/Project/Gui/ObserverSearchResult.cs
  50. +59 −191 src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchAndReplacePanel.cs
  51. +8 −7 src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchFileNode.cs
  52. +2 −2 src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchNode.cs
  53. +6 −39 src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchResultNode.cs
  54. +14 −8 src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchRootNode.cs
  55. +2 −30 src/AddIns/Misc/SearchAndReplace/Project/SearchAndReplace.addin
  56. +8 −25 src/AddIns/Misc/SearchAndReplace/Project/SearchAndReplace.csproj
  57. +6 −11 src/AddIns/Misc/SearchAndReplace/Project/SearchOptions.cs
  58. +4 −3 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj
  59. +33 −4 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/ISearchStrategy.cs
  60. +17 −2 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/RegexSearchStrategy.cs
  61. +33 −11 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchCommands.cs
  62. +337 −0 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs
  63. +47 −42 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.xaml
  64. +0 −206 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.xaml.cs
  65. +19 −4 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchResultBackgroundRenderer.cs
  66. +37 −3 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchStrategyFactory.cs
  67. +1 −1 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/TextEditor.cs
  68. +1 −0 src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/themes/generic.xaml
  69. +1 −1 src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  70. +2 −0 src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  71. +3 −0 src/Main/Base/Project/Src/Editor/Search/ISearchResultFactory.cs
  72. +73 −65 src/Main/Base/Project/Src/Editor/Search/SearchResultMatch.cs
  73. +58 −1 src/Main/Base/Project/Src/Editor/Search/SearchResultsPad.cs
  74. +1 −27 src/Main/Base/Project/Src/Services/DisplayBinding/AutoDetectDisplayBinding.cs
  75. +70 −0 src/Main/Base/Project/Src/Services/MimeTypeDetection.cs
  76. +22 −2 src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs
  77. +13 −3 src/Main/Base/Project/Src/Util/ExtensionMethods.cs
  78. +99 −0 src/Main/Base/Project/Src/Util/ReactiveExtensions.cs
  79. +1 −0 src/Main/Core/Project/ICSharpCode.Core.csproj
  80. +40 −0 src/Main/Core/Project/Src/ExtensionMethods.cs
  81. +1 −0 src/Main/Core/Project/Src/Services/FileUtility/FileName.cs
  82. +44 −31 src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs
View
6 data/resources/StringResources.cz.resx
@@ -372,9 +372,6 @@
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Hledat</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Hledat...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Hledat pouze v nalezených tématech</value>
</data>
@@ -405,6 +402,9 @@
<data name="AddIns.HtmlHelp2.UseCurrentProjectLanguageForSearch" xml:space="preserve">
<value>Použít aktuální jazyk projektu</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Hledat...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extrahovat metodu</value>
</data>
View
6 data/resources/StringResources.de.resx
@@ -443,9 +443,6 @@ Installieren Sie das .NET Framework SDK.</value>
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Suchen</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Suchen...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Vorherige Ergebnisse durchsuchen</value>
</data>
@@ -657,6 +654,9 @@ Optional können Sie auch ein Arbeitsverzeichnis und Kommandozeilen-Argumente an
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Mit Profiler starten</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Suchen...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Methode extrahieren</value>
</data>
View
27 data/resources/StringResources.es-mx.resx
@@ -443,9 +443,6 @@ Necesita instalar el .NET Framework SDK para obtener el sistema de ayuda.</value
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Buscar</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Buscar...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Buscar solamente en los tópicos encontrados previamente</value>
</data>
@@ -657,6 +654,9 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Ejecutar con el analizador</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Buscar...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extraer método</value>
</data>
@@ -1474,6 +1474,9 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib
<data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve">
<value>Esperando a que se Inicie la Aplicación</value>
</data>
+ <data name="CQA.MainWindow.FormTitle" xml:space="preserve">
+ <value>Análisis de Calidad de Código</value>
+ </data>
<data name="CSharpBinding.GenerateNewHandlerInstructions" xml:space="preserve">
<value>Inserta una referencia a un método explicito; presione tabulador o enter otra vez para insertar una nueva porción de método.</value>
</data>
@@ -2707,6 +2710,9 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin
<data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve">
<value>&amp;Desplegar fuente con bordes suavizados</value>
</data>
+ <data name="Dialog.Options.IDEOptions.TextEditor.General.ChangeMarkerMarginCheckBox" xml:space="preserve">
+ <value>Habilita Cambio de Marcador de Margen</value>
+ </data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.CodeCompletionCheckBox" xml:space="preserve">
<value>Activar autocompletar el &amp;código</value>
</data>
@@ -5532,6 +5538,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve">
<value>No pude cambiar a una función sin símbolos.</value>
</data>
+ <data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
+ <value>No puede cambiar a una función sin símbolos sin haber habilitado opciones de decompilación de código.</value>
+ </data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Métodos Externos]</value>
</data>
@@ -5793,9 +5802,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve">
<value>No se puede establecer la siguiente instrucción porque no hay una función activa seleccionada</value>
</data>
+ <data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
+ <value>No puede cambiar a un proceso que no tiene un marco disponible.</value>
+ </data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning" xml:space="preserve">
<value>No puede cambiar entre sub-procesos mientras el depurador se esta ejecutando.</value>
</data>
+ <data name="MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions" xml:space="preserve">
+ <value>No puede cambiar a un proceso en código decompilado sin haber habilitado opciones de decompilación de código.</value>
+ </data>
<data name="MainWindow.Windows.Debug.Threads.Freeze" xml:space="preserve">
<value>Congelar</value>
</data>
@@ -7126,6 +7141,9 @@ Los archivos de recursos han sido renombrados/movidos convenientemente.</value>
<data name="Templates.File.EmptyFile.Name" xml:space="preserve">
<value>Archivo Vacío</value>
</data>
+ <data name="Templates.File.Exception.Description" xml:space="preserve">
+ <value>Crea una nueva clase Excepcion.</value>
+ </data>
<data name="Templates.File.Exception.Name" xml:space="preserve">
<value>Excepción</value>
</data>
@@ -7258,6 +7276,9 @@ Los archivos de recursos han sido renombrados/movidos convenientemente.</value>
<data name="Templates.File.WebForm.Name" xml:space="preserve">
<value>Formulario Web ASP.NET</value>
</data>
+ <data name="Templates.File.WebHandler.Description" xml:space="preserve">
+ <value>Crea un WebHandler ASP.NET con código subyacente.</value>
+ </data>
<data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>Manejador Web ASP.NET</value>
</data>
View
27 data/resources/StringResources.es.resx
@@ -443,9 +443,6 @@ Es necesario instalar el .NET Framework SDK para obtener el sistema de ayuda.</v
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Buscar</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Buscar...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Buscar sólo en temas encontrados</value>
</data>
@@ -657,6 +654,9 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Ejecutar con el analizador</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Buscar...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extraer método</value>
</data>
@@ -1472,6 +1472,9 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib
<data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve">
<value>Esperando a que se Inicie la Aplicación</value>
</data>
+ <data name="CQA.MainWindow.FormTitle" xml:space="preserve">
+ <value>Análisis de Calidad de Código</value>
+ </data>
<data name="CSharpBinding.GenerateNewHandlerInstructions" xml:space="preserve">
<value>Inserta una referencia a un método explicito; presione tabulador o enter otra vez para insertar un nuevo trozo de método.</value>
</data>
@@ -2704,6 +2707,9 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin
<data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve">
<value>&amp;Desplegar fuentes con anti-alias</value>
</data>
+ <data name="Dialog.Options.IDEOptions.TextEditor.General.ChangeMarkerMarginCheckBox" xml:space="preserve">
+ <value>Habilita Cambio de Marcador de Margen</value>
+ </data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.CodeCompletionCheckBox" xml:space="preserve">
<value>Activar autocompletar el &amp;código</value>
</data>
@@ -5536,6 +5542,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve">
<value>No puede cambiar a una función sin símbolos.</value>
</data>
+ <data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
+ <value>No puede cambiar a una función sin símbolos sin haber habilitado opciones de decompilación de código.</value>
+ </data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Métodos Externos]</value>
</data>
@@ -5797,9 +5806,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve">
<value>No se puede establecer la siguiente instrucción porque no hay ninguna función activa seleccionada</value>
</data>
+ <data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
+ <value>No puede cambiar a un hilo que no tiene un marco disponible.</value>
+ </data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning" xml:space="preserve">
<value>No puede cambiar entre hilos mientras el depurador se esta ejecutando.</value>
</data>
+ <data name="MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions" xml:space="preserve">
+ <value>No puede cambiar a un hilo en código decompilado sin haber habilitado opciones de decompilación de código.</value>
+ </data>
<data name="MainWindow.Windows.Debug.Threads.Freeze" xml:space="preserve">
<value>Congelar</value>
</data>
@@ -7131,6 +7146,9 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer
<data name="Templates.File.EmptyFile.Name" xml:space="preserve">
<value>Archivo en Blanco</value>
</data>
+ <data name="Templates.File.Exception.Description" xml:space="preserve">
+ <value>Crea una nueva clase Excepcion.</value>
+ </data>
<data name="Templates.File.Exception.Name" xml:space="preserve">
<value>Excepción</value>
</data>
@@ -7263,6 +7281,9 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer
<data name="Templates.File.WebForm.Name" xml:space="preserve">
<value>Formulario Web ASP.NET</value>
</data>
+ <data name="Templates.File.WebHandler.Description" xml:space="preserve">
+ <value>Crea un WebHandler ASP.NET con código subyacente.</value>
+ </data>
<data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>Manejador Web ASP.NET</value>
</data>
View
17 data/resources/StringResources.fr.resx
@@ -442,9 +442,6 @@ Téléchargez un AddIn depuis l'Internet, cliquez ensuite sur 'Installer un AddI
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Recherche</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Rechercher...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Ne rechercher que dans les sujets trouvés antérieurement</value>
</data>
@@ -656,6 +653,9 @@ En option, vous pouvez spécifer un répertoire de travail et des arguments en l
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Exécuter avec le profileur</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Rechercher...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extraire la méthode</value>
</data>
@@ -1471,6 +1471,9 @@ Pour créer ou manipuler un objet ActiveX/COM, déplcaer une classe depuis TypeL
<data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve">
<value>Attente du démarrage de l'application</value>
</data>
+ <data name="CQA.MainWindow.FormTitle" xml:space="preserve">
+ <value>Analyse Qualité du Code</value>
+ </data>
<data name="CSharpBinding.GenerateNewHandlerInstructions" xml:space="preserve">
<value>Insérer une réference vers la méthode explicite; appuyer de nouveau sur tab ou enter pour insérer un nouveau template de méthode.</value>
</data>
@@ -4926,7 +4929,7 @@ Allez dans 'Outils/Options-&gt;Style Visuel pour changer l'ambiance actuelle.</v
<value>Processus de travail {0} ASP.NET/IIS(Express) introuvable.</value>
</data>
<data name="ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
- <value>Pas d'URL du projet spécifiée ou de programme externe. Vérifier le serveur web dans Propriétés du projet -&gt; Onglet debug.</value>
+ <value>Pas d'URL du projet spécifiée ou de programme externe. Vérifier le serveur web dans Propriétés du projet - Onglet debug.</value>
</data>
<data name="ICSharpCode.WepProjectOptionsPanel.Port" xml:space="preserve">
<value>Port:</value>
@@ -6195,6 +6198,9 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace
<data name="ProjectComponent.ContextMenu.NewSolutionFolder" xml:space="preserve">
<value>Nouveau &amp;Répertoire de Solution</value>
</data>
+ <data name="ProjectComponent.ContextMenu.NotAWebProject" xml:space="preserve">
+ <value>Ce n'est pas un projet web.</value>
+ </data>
<data name="ProjectComponent.ContextMenu.Open" xml:space="preserve">
<value>Ou&amp;vrir</value>
</data>
@@ -6216,6 +6222,9 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace
<data name="ProjectComponent.ContextMenu.SetAsStartupProject" xml:space="preserve">
<value>Définir comme projet de dém&amp;arrage</value>
</data>
+ <data name="ProjectComponent.ContextMenu.ViewInBrowser" xml:space="preserve">
+ <value>Afficher dans le navigateur</value>
+ </data>
<data name="ProjectComponent.NewFolderString" xml:space="preserve">
<value>Nouveau dossier</value>
</data>
View
6 data/resources/StringResources.hu.resx
@@ -368,9 +368,6 @@ Telepítenie kell a .NET keretrendszer 2.0-s verziójának szoftverfejlesztői k
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Keresés</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Keresés...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Keresés az előző keresési eredményben</value>
</data>
@@ -401,6 +398,9 @@ Telepítenie kell a .NET keretrendszer 2.0-s verziójának szoftverfejlesztői k
<data name="AddIns.HtmlHelp2.UseCurrentProjectLanguageForSearch" xml:space="preserve">
<value>Használja a jelenlegi Projekt nyelvét</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Keresés...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Metódus kiemelése</value>
</data>
View
27 data/resources/StringResources.it.resx
@@ -443,9 +443,6 @@ Installare il .NET Framework SDK per utilizzare il sistema di help.</value>
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Cerca</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Cerca...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Cerca solo negli argomenti trovati in precedenza</value>
</data>
@@ -656,6 +653,9 @@ Installare il .NET Framework SDK per utilizzare il sistema di help.</value>
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Esegui con profiler</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Cerca...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Estrai metodo</value>
</data>
@@ -1471,6 +1471,9 @@ Per creare/manipolare un oggetto ActiveX/COM, trascina una classe da Libreria Ti
<data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve">
<value>Aspetta l'Avvio dell'Applicazione</value>
</data>
+ <data name="CQA.MainWindow.FormTitle" xml:space="preserve">
+ <value>Analisi della Qualità del Codice</value>
+ </data>
<data name="CSharpBinding.GenerateNewHandlerInstructions" xml:space="preserve">
<value>Inserisci riferimento al metodo; premi ancora tab o invio per inserire un nuovo metodo.</value>
</data>
@@ -2705,6 +2708,9 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve">
<value>&amp;Rendi Font con Antialiasing</value>
</data>
+ <data name="Dialog.Options.IDEOptions.TextEditor.General.ChangeMarkerMarginCheckBox" xml:space="preserve">
+ <value>Attiva margine Cambio Marcatore</value>
+ </data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.CodeCompletionCheckBox" xml:space="preserve">
<value>Abilita &amp;completamento codice</value>
</data>
@@ -5537,6 +5543,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve">
<value>Non si può passare ad una funzione senza simboli di debug.</value>
</data>
+ <data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
+ <value>Non puoi passare ad una funzione senza simboli senza attivare le opzioni di decompilazione del codice.</value>
+ </data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Metodi esterni]</value>
</data>
@@ -5798,9 +5807,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve">
<value>Non si può eseguire passo-passo perchè non c'è nessuna funzione selezionata</value>
</data>
+ <data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
+ <value>Non puoi passare ad un thread senza alcun frame disponibile.</value>
+ </data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning" xml:space="preserve">
<value>Non si possono cambiare i threads mentre il debugger è in esecuzione.</value>
</data>
+ <data name="MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions" xml:space="preserve">
+ <value>Non puoi passare ad un thread nel codice decompilato senza attivare le opzioni per la decompilazione del codice.</value>
+ </data>
<data name="MainWindow.Windows.Debug.Threads.Freeze" xml:space="preserve">
<value>Blocca</value>
</data>
@@ -7129,6 +7144,9 @@ SharpDevelop 2 compila le risorse differentemente: il nome della risorsa non è
<data name="Templates.File.EmptyFile.Name" xml:space="preserve">
<value>File Vuoto</value>
</data>
+ <data name="Templates.File.Exception.Description" xml:space="preserve">
+ <value>Consente di creare una nuova classe di tipo Eccezione.</value>
+ </data>
<data name="Templates.File.Exception.Name" xml:space="preserve">
<value>Eccezione</value>
</data>
@@ -7261,6 +7279,9 @@ SharpDevelop 2 compila le risorse differentemente: il nome della risorsa non è
<data name="Templates.File.WebForm.Name" xml:space="preserve">
<value>Web Form ASP.NET</value>
</data>
+ <data name="Templates.File.WebHandler.Description" xml:space="preserve">
+ <value>Consente di creare un ASP.NET WebHandler con il relativo codice.</value>
+ </data>
<data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>Gestore Web ASP.NET</value>
</data>
View
6 data/resources/StringResources.kr.resx
@@ -364,9 +364,6 @@
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>검색</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>검색...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>찾아낸 주제 안에서만 검색</value>
</data>
@@ -400,6 +397,9 @@
<data name="AddIns.Profiler.Commands.FindCallsOfSelected.TabTitle" xml:space="preserve">
<value>결과</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>검색...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>메서드 추출하기</value>
</data>
View
14 data/resources/StringResources.nl.resx
@@ -442,9 +442,6 @@ Om het help systeem te verkrijgen dient u de .NET Framework SDK te installeren.<
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Zoeken</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Zoeken...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Alleen zoeken in eerder gevonden onderwerpen</value>
</data>
@@ -656,6 +653,9 @@ Optioneel kunnen een werkmap en commandoprompt argumenten gespecificeerd worden.
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Voer uit met profiler</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Zoeken...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Onttrekken</value>
</data>
@@ -4929,7 +4929,7 @@ Ga naar 'Opties-&gt;Vormgeving' en wijzig de momentele taal ambience.</value>
<value>ASP.NET/IIS (Express) werker proces ({0}) werd niet gevonden.</value>
</data>
<data name="ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
- <value>Geen project URL of extern programma opgegeven. Controleer de Web server op project eigenschappen -&amp;gt; Foutzoeken tab.</value>
+ <value>Er is geen project URL of extern programma gespecificeerd. Check de Web server bij Project eigenschappen -&gt; Foutzoeken tab.</value>
</data>
<data name="ICSharpCode.WepProjectOptionsPanel.Port" xml:space="preserve">
<value>Server poort:</value>
@@ -6198,6 +6198,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<data name="ProjectComponent.ContextMenu.NewSolutionFolder" xml:space="preserve">
<value>Nieuwe Oplossing map</value>
</data>
+ <data name="ProjectComponent.ContextMenu.NotAWebProject" xml:space="preserve">
+ <value>Dit is geen web project.</value>
+ </data>
<data name="ProjectComponent.ContextMenu.Open" xml:space="preserve">
<value>O&amp;penen</value>
</data>
@@ -6219,6 +6222,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<data name="ProjectComponent.ContextMenu.SetAsStartupProject" xml:space="preserve">
<value>Als startproject instellen.</value>
</data>
+ <data name="ProjectComponent.ContextMenu.ViewInBrowser" xml:space="preserve">
+ <value>Bekijk in de browser</value>
+ </data>
<data name="ProjectComponent.NewFolderString" xml:space="preserve">
<value>Nieuwe map</value>
</data>
View
6 data/resources/StringResources.no.resx
@@ -434,9 +434,6 @@ Du må installere .NET Framework SDK for å få tilgang til hjelpesystemet.</val
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Søk</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Søk...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Søk bare i søkeresultatene</value>
</data>
@@ -647,6 +644,9 @@ Du må installere .NET Framework SDK for å få tilgang til hjelpesystemet.</val
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Kjør med profilering</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Søk...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Lag metode</value>
</data>
View
6 data/resources/StringResources.pl.resx
@@ -398,9 +398,6 @@ Musisz zainstalować .NET Framework SDK aby otrzymać system pomocy.</value>
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Szukaj</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Szukaj...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Szukaj tylko w poprzednio znalezionych tematach</value>
</data>
@@ -431,6 +428,9 @@ Musisz zainstalować .NET Framework SDK aby otrzymać system pomocy.</value>
<data name="AddIns.HtmlHelp2.UseCurrentProjectLanguageForSearch" xml:space="preserve">
<value>Użyj języka bieżącego Projektu</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Szukaj...</value>
+ </data>
<data name="AddIns.Subversion.AddToIgnoreList" xml:space="preserve">
<value>Dodaj do listy ignorowanych</value>
</data>
View
6 data/resources/StringResources.pt-br.resx
@@ -433,9 +433,6 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda.</val
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Pesquisar</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Pesquisar...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Pesquisar somente nos tópicos encontrados anteriormente</value>
</data>
@@ -646,6 +643,9 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda.</val
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Executar com perfil</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Pesquisar...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extrair método.</value>
</data>
View
6 data/resources/StringResources.pt.resx
@@ -434,9 +434,6 @@ Precisa de instalar o .NET Framework SDK para utilizar o sistema de ajuda.</valu
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Pesquisar</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Pesquisar...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>A pesquisa no dados anteriores só encontrou tópicos</value>
</data>
@@ -506,6 +503,9 @@ Precisa de instalar o .NET Framework SDK para utilizar o sistema de ajuda.</valu
<data name="AddIns.Profiler.ProfilingView.NameColumnText" xml:space="preserve">
<value>Nome</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Pesquisar...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extrair method</value>
</data>
View
15 data/resources/StringResources.resx
@@ -448,9 +448,6 @@ You need to install the .NET Framework SDK to get the help system.</value>
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Search</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Search...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Search in previously found topics only</value>
</data>
@@ -664,6 +661,9 @@ Optionally you can specify a working directory and command line arguments.
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Run with profiler</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Searching ...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Extract method</value>
<comment>Text of the "Extract Method" refactoring menu command.</comment>
@@ -6137,12 +6137,6 @@ Shows the full callstack of the error.</comment>
<data name="MainWindow.Windows.Debug.Threads.ThreadSwitch" xml:space="preserve">
<value>Thread switch</value>
</data>
- <data name="MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions" xml:space="preserve">
- <value>You cannot switch to a thread in decompiled code without enabling decomplied code options.</value>
- </data>
- <data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
- <value>You cannot switch to a thread with no available frame.</value>
- </data>
<data name="MainWindow.Windows.Debug.ToggleMethodView" xml:space="preserve">
<value>Toggle Method View</value>
</data>
@@ -6527,6 +6521,9 @@ Removed the end part of the original message ", reason '${Message}'" since this
<data name="ProjectComponent.ContextMenu.NewSolutionFolder" xml:space="preserve">
<value>New Solution &amp;Folder</value>
</data>
+ <data name="ProjectComponent.ContextMenu.NotAWebProject" xml:space="preserve">
+ <value>The project is not a web project.</value>
+ </data>
<data name="ProjectComponent.ContextMenu.Open" xml:space="preserve">
<value>O&amp;pen</value>
</data>
View
6 data/resources/StringResources.ro.resx
@@ -361,9 +361,6 @@ Pentru aceasta trebuie să instalaţi .NET Framework SDK.</value>
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Caută</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Caută...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Caută doar în subiectele găsite anterior</value>
</data>
@@ -394,6 +391,9 @@ Pentru aceasta trebuie să instalaţi .NET Framework SDK.</value>
<data name="AddIns.HtmlHelp2.UseCurrentProjectLanguageForSearch" xml:space="preserve">
<value>Foloseste limbajul proiectului curent</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Caută...</value>
+ </data>
<data name="AddIns.Subversion.CleanUp" xml:space="preserve">
<value>Curăţă</value>
</data>
View
6 data/resources/StringResources.ru.resx
@@ -434,9 +434,6 @@
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Поиск</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Искать..</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Искать только в ранее найденых темах</value>
</data>
@@ -645,6 +642,9 @@
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>Старт с профайлером</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Искать..</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Извлечь в отдельный метод</value>
</data>
View
6 data/resources/StringResources.se.resx
@@ -356,9 +356,6 @@ Du måste installera .NET Framework SDK för att komma åt hjälpsystemet.</valu
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Sök</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Sök...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Sök endast i tidigare funna ämnen</value>
</data>
@@ -389,6 +386,9 @@ Du måste installera .NET Framework SDK för att komma åt hjälpsystemet.</valu
<data name="AddIns.HtmlHelp2.UseCurrentProjectLanguageForSearch" xml:space="preserve">
<value>Använd nuvarande projektspråk</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Sök...</value>
+ </data>
<data name="AddIns.Subversion.CleanUp" xml:space="preserve">
<value>Städa upp</value>
</data>
View
6 data/resources/StringResources.tr.resx
@@ -434,9 +434,6 @@ Yardım sistemini elde edebilmek için .NET Framework SDK 'yı yüklemelisiniz.<
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>Ara</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>Ara...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>Sadece daha önce bulunan başlıklarda ara</value>
</data>
@@ -548,6 +545,9 @@ Yardım sistemini elde edebilmek için .NET Framework SDK 'yı yüklemelisiniz.<
<data name="AddIns.Profiler.ProfilingView.TimeText" xml:space="preserve">
<value>Süre:</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>Ara...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>Çıkartma yöntemi</value>
</data>
View
6 data/resources/StringResources.zh.resx
@@ -434,9 +434,6 @@
<data name="AddIns.HtmlHelp2.Search" xml:space="preserve">
<value>查找</value>
</data>
- <data name="AddIns.HtmlHelp2.SearchCommand" xml:space="preserve">
- <value>查找...</value>
- </data>
<data name="AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics" xml:space="preserve">
<value>仅在前面找到的结果中查找</value>
</data>
@@ -649,6 +646,9 @@
<data name="AddIns.Profiler.UnitTests.RunWithProfiler" xml:space="preserve">
<value>运行探查器</value>
</data>
+ <data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
+ <value>查找...</value>
+ </data>
<data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve">
<value>提取方法</value>
</data>
View
14 src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin
@@ -133,20 +133,6 @@
</MenuItem>
</Path>
- <Path name = "/SharpDevelop/Workbench/MainMenu/Search">
- <Condition name = "WindowActive" activewindow="ICSharpCode.SharpDevelop.Editor.ITextEditorProvider" action="Disable">
- <MenuItem id = "SearchIncremental"
- label = "${res:XML.MainMenu.SearchMenu.IncrementalSearch}"
- shortcut = "Control|E"
- class = "ICSharpCode.AvalonEdit.AddIn.Commands.RunIncrementalSearch"/>
- <MenuItem id = "SearchReverseIncremental"
- label = "${res:XML.MainMenu.SearchMenu.ReverseIncrementalSearch}"
- shortcut = "Control|Shift|E"
- class = "ICSharpCode.AvalonEdit.AddIn.Commands.RunReverseIncrementalSearch"
- insertbefore = "SearchInFilesSeparator"/>
- </Condition>
- </Path>
-
<Path name = "/SharpDevelop/Dialogs/OptionsDialog/CodingOptions">
<OptionPanel id = "CodeTemplates"
label = "${res:Dialog.Options.CodeTemplatesText}"
View
1 src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj
@@ -118,7 +118,6 @@
<Compile Include="Src\NewLineConsistencyCheck.cs" />
<Compile Include="Src\SharpDevelopTextEditor.cs" />
<Compile Include="Src\Commands\FoldingCommands.cs" />
- <Compile Include="Src\Commands\RunIncrementalSearch.cs" />
<Compile Include="Src\Commands\SaveFileWithEncoding.cs" />
<Compile Include="Src\Commands\SortOptionsDialog.xaml.cs">
<DependentUpon>SortOptionsDialog.xaml</DependentUpon>
View
40 src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/RunIncrementalSearch.cs
@@ -1,40 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using System;
-using System.Windows.Documents;
-using ICSharpCode.AvalonEdit.Editing;
-using ICSharpCode.Core;
-using ICSharpCode.SharpDevelop.Editor;
-using ICSharpCode.SharpDevelop.Gui;
-
-namespace ICSharpCode.AvalonEdit.AddIn.Commands
-{
- public class RunIncrementalSearch : AbstractMenuCommand
- {
- public override void Run()
- {
- ITextEditorProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorProvider;
- if (provider != null) {
- TextArea textArea = provider.TextEditor.GetService(typeof(TextArea)) as TextArea;
- if (textArea != null) {
- textArea.ActiveInputHandler = new IncrementalSearch(textArea, LogicalDirection.Forward);
- }
- }
- }
- }
-
- public class RunReverseIncrementalSearch : AbstractMenuCommand
- {
- public override void Run()
- {
- ITextEditorProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorProvider;
- if (provider != null) {
- TextArea textArea = provider.TextEditor.GetService(typeof(TextArea)) as TextArea;
- if (textArea != null) {
- textArea.ActiveInputHandler = new IncrementalSearch(textArea, LogicalDirection.Backward);
- }
- }
- }
- }
-}
View
17 src/AddIns/Misc/SearchAndReplace/Project/Commands/SearchMainMenuCommands.cs
@@ -1,9 +1,10 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-using ICSharpCode.SharpDevelop.Editor;
using System;
+using ICSharpCode.AvalonEdit.Search;
using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop.Editor;
namespace SearchAndReplace
{
@@ -12,7 +13,7 @@ public class Find : AbstractMenuCommand
public static void SetSearchPattern()
{
// Get Highlighted value and set it to FindDialog.searchPattern
- ITextEditor textArea = SearchReplaceUtilities.GetActiveTextEditor();
+ ITextEditor textArea = SearchManager.GetActiveTextEditor();
if (textArea != null) {
string selectedText = textArea.SelectedText;
if (selectedText != null && selectedText.Length > 0 && !IsMultipleLines(selectedText)) {
@@ -38,7 +39,8 @@ public class FindNext : AbstractMenuCommand
public override void Run()
{
if (SearchOptions.CurrentFindPattern.Length > 0) {
- SearchReplaceManager.FindNext(null);
+ var result = SearchManager.FindNext(SearchOptions.FindPattern, !SearchOptions.MatchCase, SearchOptions.MatchWholeWord, SearchOptions.SearchStrategyType, SearchOptions.SearchTarget, SearchOptions.LookIn, SearchOptions.LookInFiletypes, SearchOptions.IncludeSubdirectories);
+ SearchManager.SelectResult(result);
} else {
Find find = new Find();
find.Run();
@@ -65,7 +67,7 @@ public class FindNextSelected : AbstractMenuCommand
{
public override void Run()
{
- ITextEditor textArea = SearchReplaceUtilities.GetActiveTextEditor();
+ ITextEditor textArea = SearchManager.GetActiveTextEditor();
if (textArea == null) {
return;
}
@@ -88,10 +90,11 @@ public override void Run()
if (textToFind != null && textToFind.Length > 0) {
SearchOptions.CurrentFindPattern = textToFind;
- if (SearchOptions.DocumentIteratorType == DocumentIteratorType.CurrentSelection) {
- SearchOptions.DocumentIteratorType = DocumentIteratorType.CurrentDocument;
+ if (SearchOptions.SearchTarget == SearchTarget.CurrentSelection) {
+ SearchOptions.SearchTarget = SearchTarget.CurrentDocument;
}
- SearchReplaceManager.FindNext(null);
+ var result = SearchManager.FindNext(SearchOptions.FindPattern, !SearchOptions.MatchCase, SearchOptions.MatchWholeWord, SearchOptions.SearchStrategyType, SearchOptions.SearchTarget, SearchOptions.LookIn, SearchOptions.LookInFiletypes, SearchOptions.IncludeSubdirectories);
+ SearchManager.SelectResult(result);
}
}
}
View
69 src/AddIns/Misc/SearchAndReplace/Project/Commands/SearchToolbarCommands.cs
@@ -1,69 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using System;
-using System.Windows.Controls;
-using ICSharpCode.Core;
-using System.Windows.Input;
-
-namespace SearchAndReplace
-{
- /// <summary>
- /// Description of SearchToolbarCommands.
- /// </summary>
- public class FindComboBox : AbstractComboBoxCommand
- {
- ComboBox comboBox;
-
- public FindComboBox()
- {
- }
-
- void RefreshComboBox()
- {
- comboBox.Items.Clear();
- foreach (string findItem in SearchOptions.FindPatterns) {
- comboBox.Items.Add(findItem);
- }
- comboBox.Text = SearchOptions.FindPattern;
- }
-
- void OnKeyPress(object sender, KeyEventArgs e)
- {
- if (e.Key == Key.Enter) {
- e.Handled = true;
- CommitSearch();
- }
- }
-
- void CommitSearch()
- {
- if (comboBox.Text.Length > 0) {
- LoggingService.Debug("FindComboBox.CommitSearch()");
- SearchOptions.DocumentIteratorType = DocumentIteratorType.CurrentDocument;
- SearchOptions.FindPattern = comboBox.Text;
- SearchReplaceManager.FindNext(null);
- comboBox.Focus();
- }
- }
-
- void SearchOptionsChanged(object sender, PropertyChangedEventArgs e)
- {
- if (e.Key == "FindPatterns") {
- RefreshComboBox();
- }
- }
-
- protected override void OnOwnerChanged(EventArgs e)
- {
- base.OnOwnerChanged(e);
- comboBox = (ComboBox)base.ComboBox;
- comboBox.IsEditable = true;
- comboBox.KeyDown += OnKeyPress;
- comboBox.Width = 130;
- SearchOptions.Properties.PropertyChanged += new PropertyChangedEventHandler(SearchOptionsChanged);
-
- RefreshComboBox();
- }
- }
-}
View
124 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/AllOpenDocumentIterator.cs
@@ -1,124 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop.Editor;
-using System;
-using System.Linq;
-using ICSharpCode.SharpDevelop;
-using ICSharpCode.SharpDevelop.Editor.Search;
-using ICSharpCode.SharpDevelop.Gui;
-using ICSharpCode.SharpDevelop.Refactoring;
-
-namespace SearchAndReplace
-{
- public class AllOpenDocumentIterator : IDocumentIterator
- {
- int startIndex = -1;
- int curIndex = -1;
- bool resetted = true;
-
- public AllOpenDocumentIterator()
- {
- Reset();
- }
-
- public string CurrentFileName {
- get {
- IViewContent viewContent = GetCurrentTextEditorViewContent();
- if (viewContent != null) {
- return viewContent.PrimaryFileName;
- }
- return null;
- }
- }
-
- IViewContent GetCurrentTextEditorViewContent()
- {
- GetCurIndex();
- if (curIndex >= 0) {
- IViewContent viewContent = WorkbenchSingleton.Workbench.ViewContentCollection.ToList()[curIndex];
- if (viewContent is ITextEditorProvider) {
- return viewContent;
- }
- }
- return null;
- }
-
- public ProvidedDocumentInformation Current {
- get {
- IViewContent viewContent = GetCurrentTextEditorViewContent();
- if (viewContent != null) {
- ITextEditor textEditor = (((ITextEditorProvider)viewContent).TextEditor);
- return new ProvidedDocumentInformation(textEditor.Document,
- CurrentFileName,
- textEditor);
- }
- return null;
- }
- }
-
- void GetCurIndex()
- {
- IViewContent[] viewContentCollection = WorkbenchSingleton.Workbench.ViewContentCollection.ToArray();
- int viewCount = WorkbenchSingleton.Workbench.ViewContentCollection.Count;
- if (curIndex == -1 || curIndex >= viewCount) {
- for (int i = 0; i < viewCount; ++i) {
- if (WorkbenchSingleton.Workbench.ActiveViewContent == viewContentCollection[i]) {
- curIndex = i;
- return;
- }
- }
- curIndex = -1;
- }
- }
-
- public bool MoveForward()
- {
- GetCurIndex();
- if (curIndex < 0) {
- return false;
- }
-
- if (resetted) {
- resetted = false;
- return true;
- }
-
- curIndex = (curIndex + 1) % WorkbenchSingleton.Workbench.ViewContentCollection.Count;
- if (curIndex == startIndex) {
- return false;
- }
- return true;
- }
-
- public bool MoveBackward()
- {
- GetCurIndex();
- if (curIndex < 0) {
- return false;
- }
- if (resetted) {
- resetted = false;
- return true;
- }
-
- if (curIndex == 0) {
- curIndex = WorkbenchSingleton.Workbench.ViewContentCollection.Count - 1;
- }
-
- if (curIndex > 0) {
- --curIndex;
- return true;
- }
- return false;
- }
-
- public void Reset()
- {
- curIndex = -1;
- GetCurIndex();
- startIndex = curIndex;
- resetted = true;
- }
- }
-}
View
63 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/CurrentDocumentIterator.cs
@@ -1,63 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop.Editor;
-using System;
-using ICSharpCode.SharpDevelop;
-using ICSharpCode.SharpDevelop.Editor.Search;
-using ICSharpCode.SharpDevelop.Gui;
-
-namespace SearchAndReplace
-{
- public class CurrentDocumentIterator : IDocumentIterator
- {
- bool didRead = false;
-
- public CurrentDocumentIterator()
- {
- Reset();
- }
-
- public string CurrentFileName {
- get {
- if (!SearchReplaceUtilities.IsTextAreaSelected) {
- return null;
- }
- return WorkbenchSingleton.Workbench.ActiveViewContent.PrimaryFileName;
- }
- }
-
- public ProvidedDocumentInformation Current {
- get {
- ITextEditor textEditor = SearchReplaceUtilities.GetActiveTextEditor();
- if (textEditor != null)
- return new ProvidedDocumentInformation(textEditor.Document, CurrentFileName, textEditor);
- else
- return null;
- }
- }
-
- public bool MoveForward()
- {
- if (!SearchReplaceUtilities.IsTextAreaSelected) {
- return false;
- }
- if (didRead) {
- return false;
- }
- didRead = true;
-
- return true;
- }
-
- public bool MoveBackward()
- {
- return MoveForward();
- }
-
- public void Reset()
- {
- didRead = false;
- }
- }
-}
View
100 ...AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/DirectoryDocumentIterator.cs
@@ -1,100 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using ICSharpCode.Core;
-using ICSharpCode.SharpDevelop.Editor;
-using ICSharpCode.SharpDevelop.Editor.Search;
-using ICSharpCode.SharpDevelop.Gui;
-using ICSharpCode.SharpDevelop.Refactoring;
-
-namespace SearchAndReplace
-{
- public class DirectoryDocumentIterator : IDocumentIterator
- {
- string searchDirectory;
- string fileMask;
- bool searchSubdirectories;
-
- List<string> files = null;
- int curIndex = -1;
-
- public DirectoryDocumentIterator(string searchDirectory, string fileMask, bool searchSubdirectories)
- {
- this.searchDirectory = searchDirectory;
- this.fileMask = fileMask;
- this.searchSubdirectories = searchSubdirectories;
-
- Reset();
- }
-
- public string CurrentFileName {
- get {
- if (curIndex < 0 || curIndex >= files.Count) {
- return null;
- }
-
- return files[curIndex].ToString();;
- }
- }
-
- public ProvidedDocumentInformation Current {
- get {
- if (curIndex < 0 || curIndex >= files.Count) {
- return null;
- }
- string fileName = files[curIndex].ToString();
- if (!File.Exists(fileName) || !SearchReplaceUtilities.IsSearchable(fileName)) {
- ++curIndex;
- return Current;
- }
- IDocument document;
- foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) {
- if (content.PrimaryFileName != null &&
- FileUtility.IsEqualFileName(content.PrimaryFileName, fileName) &&
- content is ITextEditorProvider) {
- document = ((ITextEditorProvider)content).TextEditor.Document;
- return new ProvidedDocumentInformation(document,
- fileName,
- 0);
- }
- }
- ITextBuffer fileContent;
- try {
- fileContent = ParserService.GetParseableFileContent(fileName);
- } catch (Exception) {
- return null;
- }
- return new ProvidedDocumentInformation(fileContent,
- fileName,
- 0);
- }
- }
-
- public bool MoveForward()
- {
- if (curIndex == -1) {
- files = FileUtility.SearchDirectory(this.searchDirectory, this.fileMask, this.searchSubdirectories);
- }
- return ++curIndex < files.Count;
- }
-
- public bool MoveBackward()
- {
- if (curIndex == -1) {
- curIndex = files.Count - 1;
- return true;
- }
- return --curIndex >= -1;
- }
-
-
- public void Reset()
- {
- curIndex = -1;
- }
- }
-}
View
91 src/AddIns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/IDocumentIterator.cs
@@ -1,91 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop.Editor.Search;
-using System;
-
-namespace SearchAndReplace
-{
- public enum DocumentIteratorType {
- CurrentDocument,
- CurrentSelection,
- AllOpenFiles,
- WholeProject,
- WholeSolution,
- Directory // only used for search in files
- }
-
- /// <summary>
- /// Represents a bi-directional iterator which could move froward/backward
- /// in a document queue. Note that after move forward is called
- /// move backward needn't to function correctly either move forward or move
- /// backward is called but they're not mixed. After a reset the move operation
- /// can be switched.
- /// </summary>
- public interface IDocumentIterator
- {
- /// <value>
- /// Returns the current ProvidedDocumentInformation. This method
- /// usually creates a new ProvidedDocumentInformation object which can
- /// be time consuming
- /// </value>
- ProvidedDocumentInformation Current {
- get;
- }
-
- /// <value>
- /// Returns the file name of the current provided document information. This
- /// property usually is not time consuming
- /// </value>
- string CurrentFileName {
- get;
- }
-
- /// <remarks>
- /// Moves the iterator one document forward.
- /// </remarks>
- bool MoveForward();
-
- /// <remarks>
- /// Moves the iterator one document backward.
- /// </remarks>
- bool MoveBackward();
-
- /// <remarks>
- /// Resets the iterator to the start position.
- /// </remarks>
- void Reset();
- }
-
- /// <summary>
- /// A document iterator which never returns any results.
- /// </summary>
- public sealed class DummyDocumentIterator : IDocumentIterator
- {
- public ProvidedDocumentInformation Current {
- get {
- return null;
- }
- }
-
- public string CurrentFileName {
- get {
- return null;
- }
- }
-
- public bool MoveForward()
- {
- return false;
- }
-
- public bool MoveBackward()
- {
- return false;
- }
-
- public void Reset()
- {
- }
- }
-}
View
99 ...Ins/Misc/SearchAndReplace/Project/Engine/DocumentIterator/WholeProjectDocumentIterator.cs
@@ -1,99 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop;
-using System;
-using System.Collections;
-using System.IO;
-using ICSharpCode.Core;
-using ICSharpCode.SharpDevelop.Editor;
-using ICSharpCode.SharpDevelop.Editor.Search;
-using ICSharpCode.SharpDevelop.Gui;
-using ICSharpCode.SharpDevelop.Project;
-using ICSharpCode.SharpDevelop.Refactoring;
-
-namespace SearchAndReplace
-{
- public class WholeProjectDocumentIterator : IDocumentIterator
- {
- ArrayList files = new ArrayList();
- int curIndex = -1;
-
- public WholeProjectDocumentIterator()
- {
- Reset();
- }
-
- public string CurrentFileName {
- get {
- if (curIndex < 0 || curIndex >= files.Count) {
- return null;
- }
-
- return files[curIndex].ToString();;
- }
- }
-
- public ProvidedDocumentInformation Current {
- get {
- if (curIndex < 0 || curIndex >= files.Count) {
- return null;
- }
- if (!File.Exists(files[curIndex].ToString())) {
- ++curIndex;
- return Current;
- }
- IDocument document;
- string fileName = files[curIndex].ToString();
- foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) {
- if (content.PrimaryFileName != null &&
- FileUtility.IsEqualFileName(content.PrimaryFileName, fileName) &&
- content is ITextEditorProvider)
- {
- document = (((ITextEditorProvider)content).TextEditor).Document;
- return new ProvidedDocumentInformation(document,
- fileName,
- 0);
- }
- }
- ITextBuffer fileContent;
- try {
- fileContent = ParserService.GetParseableFileContent(fileName);
- } catch (Exception) {
- return null;
- }
- return new ProvidedDocumentInformation(fileContent,
- fileName,
- 0);
- }
- }
-
- public bool MoveForward()
- {
- return ++curIndex < files.Count;
- }
-
- public bool MoveBackward()
- {
- if (curIndex == -1) {
- curIndex = files.Count - 1;
- return true;
- }
- return --curIndex >= -1;
- }
-
- public void Reset()
- {
- files.Clear();
- if (ProjectService.CurrentProject != null) {
- foreach (ProjectItem item in ProjectService.CurrentProject.Items) {
- if (item is FileProjectItem && SearchReplaceUtilities.IsSearchable(item.FileName)) {
- files.Add(item.FileName);
- }
- }
- }
-
- curIndex = -1;
- }
- }
-}
View
101 ...ns/Misc/SearchAndReplace/Project/Engine/DocumentIterator/WholeSolutionDocumentIterator.cs
@@ -1,101 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop;
-using System;
-using System.Collections;
-using System.IO;
-using ICSharpCode.Core;
-using ICSharpCode.SharpDevelop.Editor;
-using ICSharpCode.SharpDevelop.Editor.Search;
-using ICSharpCode.SharpDevelop.Gui;
-using ICSharpCode.SharpDevelop.Project;
-using ICSharpCode.SharpDevelop.Refactoring;
-
-namespace SearchAndReplace
-{
- public class WholeSolutionDocumentIterator : IDocumentIterator
- {
- ArrayList files = new ArrayList();
- int curIndex = -1;
-
- public WholeSolutionDocumentIterator()
- {
- Reset();
- }
-
- public string CurrentFileName {
- get {
- if (curIndex < 0 || curIndex >= files.Count) {
- return null;
- }
-
- return files[curIndex].ToString();;
- }
- }
-
- public ProvidedDocumentInformation Current {
- get {
- if (curIndex < 0 || curIndex >= files.Count) {
- return null;
- }
- if (!File.Exists(files[curIndex].ToString())) {
- ++curIndex;
- return Current;
- }
- IDocument document;
- string fileName = files[curIndex].ToString();
- foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) {
- if (content.PrimaryFileName != null &&
- FileUtility.IsEqualFileName(content.PrimaryFileName, fileName) &&
- content is ITextEditorProvider)
- {
- document = (((ITextEditorProvider)content).TextEditor).Document;
- return new ProvidedDocumentInformation(document,
- fileName,
- 0);
- }
- }
- ITextBuffer fileContent;
- try {
- fileContent = ParserService.GetParseableFileContent(fileName);
- } catch (Exception) {
- return null;
- }
- return new ProvidedDocumentInformation(fileContent,
- fileName,
- 0);
- }
- }
-
- public bool MoveForward()
- {
- return ++curIndex < files.Count;
- }
-
- public bool MoveBackward()
- {
- if (curIndex == -1) {
- curIndex = files.Count - 1;
- return true;
- }
- return --curIndex >= -1;
- }
-
- public void Reset()
- {
- files.Clear();
- if (ProjectService.OpenSolution != null) {
- foreach (IProject project in ProjectService.OpenSolution.Projects) {
- foreach (ProjectItem item in project.Items) {
- if (item is FileProjectItem && SearchReplaceUtilities.IsSearchable(item.FileName)) {
- files.Add(item.FileName);
- }
- }
- }
- }
-
- curIndex = -1;
- }
- }
-}
View
23 src/AddIns/Misc/SearchAndReplace/Project/Engine/Enums.cs
@@ -0,0 +1,23 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+using System.ComponentModel;
+
+namespace SearchAndReplace
+{
+ public enum SearchTarget
+ {
+ [Description("${res:Dialog.NewProject.SearchReplace.LookIn.CurrentDocument}")]
+ CurrentDocument,
+ [Description("${res:Dialog.NewProject.SearchReplace.LookIn.CurrentSelection}")]
+ CurrentSelection,
+ [Description("${res:Dialog.NewProject.SearchReplace.LookIn.AllOpenDocuments}")]
+ AllOpenFiles,
+ [Description("${res:Dialog.NewProject.SearchReplace.LookIn.WholeProject}")]
+ WholeProject,
+ [Description("${res:Dialog.NewProject.SearchReplace.LookIn.WholeSolution}")]
+ WholeSolution,
+ Directory
+ }
+}
View
16 src/AddIns/Misc/SearchAndReplace/Project/Engine/ITextIteratorBuilder.cs
@@ -1,16 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop.Editor.Search;
-using System;
-
-namespace SearchAndReplace
-{
- /// <summary>
- /// Builds a text iterator object.
- /// </summary>
- public interface ITextIteratorBuilder
- {
- ITextIterator BuildTextIterator(ProvidedDocumentInformation info);
- }
-}
View
159 src/AddIns/Misc/SearchAndReplace/Project/Engine/Search.cs
@@ -1,159 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using ICSharpCode.SharpDevelop.Editor.Search;
-using System;
-using System.Diagnostics;
-using ICSharpCode.SharpDevelop.Gui;
-
-namespace SearchAndReplace
-{
- public class Search
- {
- ISearchStrategy searchStrategy = null;
- IDocumentIterator documentIterator = null;
- ITextIterator textIterator = null;
- ITextIteratorBuilder textIteratorBuilder = null;
- ProvidedDocumentInformation info = null;
-
- public ProvidedDocumentInformation CurrentDocumentInformation {
- get {
- return info;
- }
- }
-
- public ITextIteratorBuilder TextIteratorBuilder {
- get {
- return textIteratorBuilder;
- }
- set {
- textIteratorBuilder = value;
- }
- }
-
- public ITextIterator TextIterator {
- get {
- return textIterator;
- }
- }
-
- public ISearchStrategy SearchStrategy {
- get {
- return searchStrategy;
- }
- set {
- searchStrategy = value;
- }
- }
-
- public IDocumentIterator DocumentIterator {
- get {
- return documentIterator;
- }
- set {
- documentIterator = value;
- }
- }
-
- SearchResultMatch CreateNamedSearchResult(SearchResultMatch pos)
- {
- if (info == null || pos == null) {
- return null;
- }
- pos.ProvidedDocumentInformation = info;
- return pos;
- }
-
- public void Reset()
- {
- documentIterator.Reset();
- textIterator = null;
- }
-
- public void Replace(int offset, int length, string pattern)
- {
- if (CurrentDocumentInformation != null && TextIterator != null) {
- CurrentDocumentInformation.Replace(offset, length, pattern);
- TextIterator.InformReplace(offset, length, pattern.Length);
- }
- }
-
- public SearchResultMatch FindNext(IProgressMonitor monitor)
- {
- // insanity check
- Debug.Assert(searchStrategy != null);
- Debug.Assert(documentIterator != null);
- Debug.Assert(textIteratorBuilder != null);
-
- if (monitor != null && monitor.CancellationToken.IsCancellationRequested)
- return null;
-
- if (info != null && textIterator != null && documentIterator.CurrentFileName != null) {
- ProvidedDocumentInformation currentInfo = documentIterator.Current;
- if (currentInfo != null) {
- if (!info.Equals(currentInfo)) { // create new iterator, if document changed
- info = currentInfo;
- textIterator = textIteratorBuilder.BuildTextIterator(info);
- } else { // old document -> initialize iterator position to caret pos
- textIterator.Position = info.CurrentOffset;
- }
-
- SearchResultMatch result = CreateNamedSearchResult(searchStrategy.FindNext(textIterator));
- if (result != null) {
- info.CurrentOffset = textIterator.Position;
- return result;
- }
- }
- }
-
- // not found or first start -> move forward to the next document
- if (documentIterator.MoveForward()) {
- info = documentIterator.Current;
- // document is valid for searching -> set iterator & fileName
- if (info != null && info.EndOffset >= 0 && info.EndOffset <= info.Document.TextLength) {
- textIterator = textIteratorBuilder.BuildTextIterator(info);
- } else {
- textIterator = null;
- }
-
- return FindNext(monitor);
- }
- return null;
- }
-
- public SearchResultMatch FindNext(int offset, int length)
- {
- if (info != null && textIterator != null && documentIterator.CurrentFileName != null) {
- ProvidedDocumentInformation currentInfo = documentIterator.Current;
- if (currentInfo != null) {
- if (!info.Equals(currentInfo)) { // create new iterator, if document changed
- info = currentInfo;
- textIterator = textIteratorBuilder.BuildTextIterator(info);
- } else { // old document -> initialize iterator position to caret pos
- textIterator.Position = info.CurrentOffset;
- }
-
- SearchResultMatch result = CreateNamedSearchResult(searchStrategy.FindNext(textIterator, offset, length));
- if (result != null) {
- info.CurrentOffset = textIterator.Position;
- return result;
- }
- }
- }
-
- // not found or first start -> move forward to the next document
- if (documentIterator.MoveForward()) {
- info = documentIterator.Current;
- // document is valid for searching -> set iterator & fileName
- if (info != null && info.EndOffset >= 0 && info.EndOffset <= info.Document.TextLength) {
- textIterator = textIteratorBuilder.BuildTextIterator(info);
- } else {
- textIterator = null;
- }
-
- return FindNext(offset, length);
- }
- return null;
- }
- }
-}
View
556 src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchManager.cs
</
@@ -0,0 +1,556 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+
+using ICSharpCode.AvalonEdit.Document;
+using ICSharpCode.AvalonEdit.Editing;
+using ICSharpCode.AvalonEdit.Highlighting;
+using ICSharpCode.AvalonEdit.Search;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop;
+using ICSharpCode.SharpDevelop.Bookmarks;
+using ICSharpCode.SharpDevelop.Editor;
+using ICSharpCode.SharpDevelop.Editor.Search;
+using ICSharpCode.SharpDevelop.Gui;
+using ICSharpCode.SharpDevelop.Project;
+
+namespace SearchAndReplace
+{
+ /// <summary>
+ /// Provides all search actions: find next, parallel and sequential find all, mark all, mark result, interactive replace and replace all.
+ /// </summary>
+ public class SearchManager
+ {
+ #region FindAll
+ public static IObservable<SearchedFile> FindAllParallel(IProgressMonitor progressMonitor, string pattern, bool ignoreCase, bool matchWholeWords, SearchMode mode,
+ SearchTarget target, string baseDirectory = null, string filter = "*.*", bool searchSubdirs = false, ISegment selection = null)
+ {
+ currentSearchRegion = null;
+ var strategy = SearchStrategyFactory.Create(pattern, ignoreCase, matchWholeWords, mode);
+ ParseableFileContentFinder fileFinder = new ParseableFileContentFinder();
+ IEnumerable<FileName> fileList = GenerateFileList(target, baseDirectory, filter, searchSubdirs);
+ return new SearchRun(strategy, fileFinder, fileList, progressMonitor) { Target = target, Selection = selection };
+ }
+
+ public static IEnumerable<SearchedFile> FindAll(IProgressMonitor progressMonitor, string pattern, bool ignoreCase, bool matchWholeWords, SearchMode mode,
+ SearchTarget target, string baseDirectory = null, string filter = "*.*", bool searchSubdirs = false, ISegment selection = null)
+ {
+ currentSearchRegion = null;
+ var strategy = SearchStrategyFactory.Create(pattern, ignoreCase, matchWholeWords, mode);
+ ParseableFileContentFinder fileFinder = new ParseableFileContentFinder();
+ IEnumerable<FileName> fileList = GenerateFileList(target, baseDirectory, filter, searchSubdirs);
+ return new SearchRun(strategy, fileFinder, fileList, progressMonitor) { Target = target, Selection = selection }.GetResults();
+ }
+
+ class SearchRun : IObservable<SearchedFile>, IDisposable
+ {
+ ISearchStrategy strategy;
+ ParseableFileContentFinder fileFinder;
+ IEnumerable<FileName> fileList;
+ IProgressMonitor monitor;
+ CancellationTokenSource cts;
+
+ public SearchTarget Target { get; set; }
+
+ public ISegment Selection { get; set; }
+
+ public SearchRun(ISearchStrategy strategy, ParseableFileContentFinder fileFinder, IEnumerable<FileName> fileList, IProgressMonitor monitor)
+ {
+ this.strategy = strategy;
+ this.fileFinder = fileFinder;
+ this.fileList = fileList;
+ this.monitor = monitor;
+ this.cts = new CancellationTokenSource();
+ }
+
+ public IDisposable Subscribe(IObserver<SearchedFile> observer)
+ {
+ LoggingService.Debug("Parallel FindAll starting");
+ var task = new System.Threading.Tasks.Task(
+ delegate {
+ var list = fileList.ToList();
+ ThrowIfCancellationRequested();
+ SearchParallel(list, observer);
+ }, TaskCreationOptions.LongRunning);
+ task.ContinueWith(
+ t => {
+ LoggingService.Debug("Parallel FindAll finished " + (t.IsFaulted ? "with error" : "successfully"));
+ if (t.Exception != null)
+ observer.OnError(t.Exception);
+ else
+ observer.OnCompleted();
+ this.Dispose();
+ });
+ task.Start();
+ return this;
+ }
+
+ public IEnumerable<SearchedFile> GetResults()
+ {
+ var list = fileList.ToList();
+ foreach (var file in list) {
+ ThrowIfCancellationRequested();
+ var results = SearchFile(file);
+ if (results != null)
+ yield return results;
+ monitor.Progress += 1.0 / list.Count;
+ }
+ }
+
+ void SearchParallel(List<FileName> files, IObserver<SearchedFile> observer)
+ {
+ int taskCount = 2 * Environment.ProcessorCount;
+ Queue<Task<SearchedFile>> queue = new Queue<Task<SearchedFile>>(taskCount);
+ List<Exception> exceptions = new List<Exception>();
+ for (int i = 0; i < files.Count; i++) {
+ if (i >= taskCount) {
+ HandleResult(queue.Dequeue(), observer, exceptions, files);
+ }
+ if (exceptions.Count > 0) break;
+ FileName file = files[i];
+ queue.Enqueue(System.Threading.Tasks.Task.Factory.StartNew(() => SearchFile(file)));
+ }
+ while (queue.Count > 0) {
+ HandleResult(queue.Dequeue(), observer, exceptions, files);
+ }
+ if (exceptions.Count != 0)
+ throw new AggregateException(exceptions);
+ }
+
+ void HandleResult(Task<SearchedFile> task, IObserver<SearchedFile> observer, List<Exception> exceptions, List<FileName> files)
+ {
+ SearchedFile result;
+ try {
+ result = task.Result;
+ } catch (AggregateException ex) {
+ exceptions.AddRange(ex.InnerExceptions);
+ return;
+ }
+ if (exceptions.Count == 0 && result != null)
+ observer.OnNext(result);
+ monitor.Progress += 1.0 / files.Count;
+ }