aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/ICSharpCode.AvalonEdit/Search/ISearchStrategy.cs
blob: 5c92993fea45d1d6e7f06339a7e3e31809b92c79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
4
// 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)

#region Using directives

using System;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Markup;

#endregion

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: System.Runtime.InteropServices.ComVisible(false)]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: NeutralResourcesLanguage("en-US")]

[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2243:AttributeStringLiteralsShouldParseCorrectly",
    Justification = "AssemblyInformationalVersion does not need to be a parsable version")]
[assembly: AssemblyTitle("Tango.Scripting.Editors")]
[assembly: AssemblyDescription("WPF-based extensible text editor")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]

//[assembly: CLSCompliant(true)]

[assembly: ThemeInfo(
	ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
	//(used if a resource is not found in the page,
	// or application resource dictionaries)
	ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
	//(used if a resource is not found in the page,
	// app, or any theme specific resource dictionaries)
)]
>{ /// <summary> /// Finds all matches in the given ITextSource and the given range. /// </summary> /// <remarks> /// This method must be implemented thread-safe. /// All segments in the result must be within the given range, and they must be returned in order /// (e.g. if two results are returned, EndOffset of first result must be less than or equal StartOffset of second result). /// </remarks> IEnumerable<ISearchResult> FindAll(ITextSource document, int offset, int length); /// <summary> /// Finds the next match in the given ITextSource and the given range. /// </summary> /// <remarks>This method must be implemented thread-safe.</remarks> ISearchResult FindNext(ITextSource document, int offset, int length); } /// <summary> /// Represents a search result. /// </summary> public interface ISearchResult : ISegment { /// <summary> /// Replaces parts of the replacement string with parts from the match. (e.g. $1) /// </summary> string ReplaceWith(string replacement); } /// <summary> /// Defines supported search modes. /// </summary> public enum SearchMode { /// <summary> /// Standard search /// </summary> Normal, /// <summary> /// RegEx search /// </summary> RegEx, /// <summary> /// Wildcard search /// </summary> Wildcard } /// <inheritdoc/> public class SearchPatternException : Exception, ISerializable { /// <inheritdoc/> public SearchPatternException() { } /// <inheritdoc/> public SearchPatternException(string message) : base(message) { } /// <inheritdoc/> public SearchPatternException(string message, Exception innerException) : base(message, innerException) { } // This constructor is needed for serialization. /// <inheritdoc/> protected SearchPatternException(SerializationInfo info, StreamingContext context) : base(info, context) { } } }