Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkSourceSearchContext: GtkSourceView 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GtkSourceView 3 Reference Manual">
<link rel="up" href="ch08.html" title="Search and Replace">
<link rel="prev" href="ch08.html" title="Search and Replace">
<link rel="next" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings">
<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkSourceSearchContext.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkSourceSearchContext.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GtkSourceSearchContext.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch08.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch08.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkSourceSearchSettings.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkSourceSearchContext"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkSourceSearchContext.top_of_page"></a>GtkSourceSearchContext</span></h2>
<p>GtkSourceSearchContext — Search context</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkSourceSearchContext.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="returnvalue">GtkSourceSearchContext</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-new" title="gtk_source_search_context_new ()">gtk_source_search_context_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="returnvalue">GtkSourceBuffer</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-buffer" title="gtk_source_search_context_get_buffer ()">gtk_source_search_context_get_buffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="returnvalue">GtkSourceSearchSettings</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-settings" title="gtk_source_search_context_get_settings ()">gtk_source_search_context_get_settings</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-set-settings" title="gtk_source_search_context_set_settings ()">gtk_source_search_context_set_settings</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-highlight" title="gtk_source_search_context_get_highlight ()">gtk_source_search_context_get_highlight</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-set-highlight" title="gtk_source_search_context_set_highlight ()">gtk_source_search_context_set_highlight</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="returnvalue">GtkSourceStyle</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-match-style" title="gtk_source_search_context_get_match_style ()">gtk_source_search_context_get_match_style</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-set-match-style" title="gtk_source_search_context_set_match_style ()">gtk_source_search_context_set_match_style</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-occurrences-count" title="gtk_source_search_context_get_occurrences_count ()">gtk_source_search_context_get_occurrences_count</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-occurrence-position" title="gtk_source_search_context_get_occurrence_position ()">gtk_source_search_context_get_occurrence_position</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward" title="gtk_source_search_context_forward ()">gtk_source_search_context_forward</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward2" title="gtk_source_search_context_forward2 ()">gtk_source_search_context_forward2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-async" title="gtk_source_search_context_forward_async ()">gtk_source_search_context_forward_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-finish" title="gtk_source_search_context_forward_finish ()">gtk_source_search_context_forward_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-finish2" title="gtk_source_search_context_forward_finish2 ()">gtk_source_search_context_forward_finish2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward" title="gtk_source_search_context_backward ()">gtk_source_search_context_backward</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward2" title="gtk_source_search_context_backward2 ()">gtk_source_search_context_backward2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-async" title="gtk_source_search_context_backward_async ()">gtk_source_search_context_backward_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-finish" title="gtk_source_search_context_backward_finish ()">gtk_source_search_context_backward_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-finish2" title="gtk_source_search_context_backward_finish2 ()">gtk_source_search_context_backward_finish2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace" title="gtk_source_search_context_replace ()">gtk_source_search_context_replace</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace2" title="gtk_source_search_context_replace2 ()">gtk_source_search_context_replace2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace-all" title="gtk_source_search_context_replace_all ()">gtk_source_search_context_replace_all</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GError</span> *
</td>
<td class="function_name">
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-regex-error" title="gtk_source_search_context_get_regex_error ()">gtk_source_search_context_get_regex_error</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a> *</td>
<td class="property_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--buffer" title="The “buffer” property">buffer</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--highlight" title="The “highlight” property">highlight</a></td>
<td class="property_flags">Read / Write / Construct</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a> *</td>
<td class="property_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--match-style" title="The “match-style” property">match-style</a></td>
<td class="property_flags">Read / Write / Construct</td>
</tr>
<tr>
<td class="property_type"><span class="type">gint</span></td>
<td class="property_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--occurrences-count" title="The “occurrences-count” property">occurrences-count</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><span class="type">gpointer</span></td>
<td class="property_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--regex-error" title="The “regex-error” property">regex-error</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> *</td>
<td class="property_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--settings" title="The “settings” property">settings</a></td>
<td class="property_flags">Read / Write / Construct</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext-struct" title="GtkSourceSearchContext">GtkSourceSearchContext</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> GtkSourceSearchContext
</pre>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtksourceview/gtksource.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.description"></a><h2>Description</h2>
<p>A <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> is used for the search and replace in a
<a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a>. The search settings are represented by a
<a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> object. There can be a many-to-many relationship
between buffers and search settings, with the search contexts in-between: a
search settings object can be shared between several search contexts; and a
buffer can contain several search contexts at the same time.</p>
<p>The total number of search occurrences can be retrieved with
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-occurrences-count" title="gtk_source_search_context_get_occurrences_count ()"><code class="function">gtk_source_search_context_get_occurrences_count()</code></a>. To know the position of a
certain match, use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-occurrence-position" title="gtk_source_search_context_get_occurrence_position ()"><code class="function">gtk_source_search_context_get_occurrence_position()</code></a>.</p>
<p>The buffer is scanned asynchronously, so it doesn't block the user interface.
For each search, the buffer is scanned at most once. After that, navigating
through the occurrences doesn't require to re-scan the buffer entirely.</p>
<p>To search forward, use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward" title="gtk_source_search_context_forward ()"><code class="function">gtk_source_search_context_forward()</code></a> or
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-async" title="gtk_source_search_context_forward_async ()"><code class="function">gtk_source_search_context_forward_async()</code></a> for the asynchronous version.
The backward search is done similarly. To replace a search match, or all
matches, use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace" title="gtk_source_search_context_replace ()"><code class="function">gtk_source_search_context_replace()</code></a> and
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace-all" title="gtk_source_search_context_replace_all ()"><code class="function">gtk_source_search_context_replace_all()</code></a>.</p>
<p>The search occurrences are highlighted by default. To disable it, use
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-set-highlight" title="gtk_source_search_context_set_highlight ()"><code class="function">gtk_source_search_context_set_highlight()</code></a>. You can enable the search
highlighting for several <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>s attached to the
same buffer. Moreover, each of those <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>s can
have a different text style associated. Use
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-set-match-style" title="gtk_source_search_context_set_match_style ()"><code class="function">gtk_source_search_context_set_match_style()</code></a> to specify the <a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a>
to apply on search matches.</p>
<p>Note that the <a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--highlight" title="The “highlight” property"><span class="type">“highlight”</span></a> and
<a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--match-style" title="The “match-style” property"><span class="type">“match-style”</span></a> properties are in the
<a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> class, not <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a>. Appearance
settings should be tied to one, and only one buffer, as different buffers can
have different style scheme associated (a <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> object
can be bound indirectly to several buffers).</p>
<p>The concept of "current match" doesn't exist yet. A way to highlight
differently the current match is to select it.</p>
<p>A search occurrence's position doesn't depend on the cursor position or other
parameters. Take for instance the buffer "aaaa" with the search text "aa".
The two occurrences are at positions [0:2] and [2:4]. If you begin to search
at position 1, you will get the occurrence [2:4], not [1:3]. This is a
prerequisite for regular expression searches. The pattern ".*" matches the
entire line. If the cursor is at the middle of the line, you don't want the
rest of the line as the occurrence, you want an entire line. (As a side note,
regular expression searches can also match multiple lines.)</p>
<p>In the GtkSourceView source code, there is an example of how to use the
search and replace API: see the tests/test-search.c file. It is a mini
application for the search and replace, with a basic user interface.</p>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-source-search-context-new"></a><h3>gtk_source_search_context_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="returnvalue">GtkSourceSearchContext</span></a> *
gtk_source_search_context_new (<em class="parameter"><code><a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a> *buffer</code></em>,
                               <em class="parameter"><code><a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> *settings</code></em>);</pre>
<p>Creates a new search context, associated with <em class="parameter"><code>buffer</code></em>
, and customized with
<em class="parameter"><code>settings</code></em>
. If <em class="parameter"><code>settings</code></em>
 is <code class="literal">NULL</code>, a new <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> object will
be created, that you can retrieve with
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-get-settings" title="gtk_source_search_context_get_settings ()"><code class="function">gtk_source_search_context_get_settings()</code></a>.</p>
<div class="refsect3">
<a name="gtk-source-search-context-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>settings</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-new.returns"></a><h4>Returns</h4>
<p> a new search context.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-buffer"></a><h3>gtk_source_search_context_get_buffer ()</h3>
<pre class="programlisting"><a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="returnvalue">GtkSourceBuffer</span></a> *
gtk_source_search_context_get_buffer (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>);</pre>
<div class="refsect3">
<a name="gtk-source-search-context-get-buffer.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-buffer.returns"></a><h4>Returns</h4>
<p>the associated buffer. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-settings"></a><h3>gtk_source_search_context_get_settings ()</h3>
<pre class="programlisting"><a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="returnvalue">GtkSourceSearchSettings</span></a> *
gtk_source_search_context_get_settings
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>);</pre>
<div class="refsect3">
<a name="gtk-source-search-context-get-settings.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-settings.returns"></a><h4>Returns</h4>
<p>the search settings. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-set-settings"></a><h3>gtk_source_search_context_set_settings ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_source_search_context_set_settings
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> *settings</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_source_search_context_set_settings</code> has been deprecated since version 3.24 and should not be used in newly-written code.</p>
<p>The <a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--settings" title="The “settings” property"><span class="type">“settings”</span></a> property will become a
construct-only property in a future version. Create a new
<a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> instead, or change the <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a>
properties. When the <a class="link" href="GtkSourceSearchContext.html#GtkSourceSearchContext--settings" title="The “settings” property"><span class="type">“settings”</span></a> property will become
construct-only, it will be possible to simplify some code that needed to
listen to the notify::settings signal.</p>
</div>
<p>Associate a <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> with the search context. If <em class="parameter"><code>settings</code></em>
 is
<code class="literal">NULL</code>, a new one will be created.</p>
<p>The search context holds a reference to <em class="parameter"><code>settings</code></em>
.</p>
<div class="refsect3">
<a name="gtk-source-search-context-set-settings.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>settings</p></td>
<td class="parameter_description"><p>the new <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-highlight"></a><h3>gtk_source_search_context_get_highlight ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_get_highlight
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>);</pre>
<div class="refsect3">
<a name="gtk-source-search-context-get-highlight.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-highlight.returns"></a><h4>Returns</h4>
<p> whether to highlight the search occurrences.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-set-highlight"></a><h3>gtk_source_search_context_set_highlight ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_source_search_context_set_highlight
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> highlight</code></em>);</pre>
<p>Enables or disables the search occurrences highlighting.</p>
<div class="refsect3">
<a name="gtk-source-search-context-set-highlight.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>highlight</p></td>
<td class="parameter_description"><p>the setting.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-match-style"></a><h3>gtk_source_search_context_get_match_style ()</h3>
<pre class="programlisting"><a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="returnvalue">GtkSourceStyle</span></a> *
gtk_source_search_context_get_match_style
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>);</pre>
<div class="refsect3">
<a name="gtk-source-search-context-get-match-style.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-match-style.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a> to apply on search matches. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-16.html#api-index-3.16">3.16</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-set-match-style"></a><h3>gtk_source_search_context_set_match_style ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_source_search_context_set_match_style
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a> *match_style</code></em>);</pre>
<p>Set the style to apply on search matches. If <em class="parameter"><code>match_style</code></em>
 is <code class="literal">NULL</code>, default
theme's scheme 'match-style' will be used.
To enable or disable the search highlighting, use
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-set-highlight" title="gtk_source_search_context_set_highlight ()"><code class="function">gtk_source_search_context_set_highlight()</code></a>.</p>
<div class="refsect3">
<a name="gtk-source-search-context-set-match-style.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_style</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-16.html#api-index-3.16">3.16</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-occurrences-count"></a><h3>gtk_source_search_context_get_occurrences_count ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
gtk_source_search_context_get_occurrences_count
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>);</pre>
<p>Gets the total number of search occurrences. If the buffer is not already
fully scanned, the total number of occurrences is unknown, and -1 is
returned.</p>
<div class="refsect3">
<a name="gtk-source-search-context-get-occurrences-count.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-occurrences-count.returns"></a><h4>Returns</h4>
<p> the total number of search occurrences, or -1 if unknown.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-occurrence-position"></a><h3>gtk_source_search_context_get_occurrence_position ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
gtk_source_search_context_get_occurrence_position
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code>const <span class="type">GtkTextIter</span> *match_start</code></em>,
                                <em class="parameter"><code>const <span class="type">GtkTextIter</span> *match_end</code></em>);</pre>
<p>Gets the position of a search occurrence. If the buffer is not already fully
scanned, the position may be unknown, and -1 is returned. If 0 is returned,
it means that this part of the buffer has already been scanned, and that
<em class="parameter"><code>match_start</code></em>
 and <em class="parameter"><code>match_end</code></em>
 don't delimit an occurrence.</p>
<div class="refsect3">
<a name="gtk-source-search-context-get-occurrence-position.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>the start of the occurrence.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>the end of the occurrence.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-occurrence-position.returns"></a><h4>Returns</h4>
<p> the position of the search occurrence. The first occurrence has the
position 1 (not 0). Returns 0 if <em class="parameter"><code>match_start</code></em>
and <em class="parameter"><code>match_end</code></em>
don't delimit
an occurrence. Returns -1 if the position is not yet known.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-forward"></a><h3>gtk_source_search_context_forward ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_forward (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                   <em class="parameter"><code>const <span class="type">GtkTextIter</span> *iter</code></em>,
                                   <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                   <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_source_search_context_forward</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward2" title="gtk_source_search_context_forward2 ()"><code class="function">gtk_source_search_context_forward2()</code></a> instead.</p>
</div>
<p>Synchronous forward search. It is recommended to use the asynchronous
functions instead, to not block the user interface. However, if you are sure
that the <em class="parameter"><code>buffer</code></em>
 is small, this function is more convenient to use.</p>
<div class="refsect3">
<a name="gtk-source-search-context-forward.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>start of search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-forward.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-forward2"></a><h3>gtk_source_search_context_forward2 ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_forward2 (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                    <em class="parameter"><code>const <span class="type">GtkTextIter</span> *iter</code></em>,
                                    <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                    <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                    <em class="parameter"><code><span class="type">gboolean</span> *has_wrapped_around</code></em>);</pre>
<p>Synchronous forward search. It is recommended to use the asynchronous
functions instead, to not block the user interface. However, if you are sure
that the <em class="parameter"><code>buffer</code></em>
 is small, this function is more convenient to use.</p>
<p>The difference with <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward" title="gtk_source_search_context_forward ()"><code class="function">gtk_source_search_context_forward()</code></a> is that the
<em class="parameter"><code>has_wrapped_around</code></em>
 out parameter has been added for convenience.</p>
<p>If the <a class="link" href="GtkSourceSearchSettings.html#GtkSourceSearchSettings--wrap-around" title="The “wrap-around” property"><span class="type">“wrap-around”</span></a> property is <code class="literal">FALSE</code>, this function
doesn't try to wrap around.</p>
<p>The <em class="parameter"><code>has_wrapped_around</code></em>
 out parameter is set independently of whether a match
is found. So if this function returns <code class="literal">FALSE</code>, <em class="parameter"><code>has_wrapped_around</code></em>
 will have
the same value as the <a class="link" href="GtkSourceSearchSettings.html#GtkSourceSearchSettings--wrap-around" title="The “wrap-around” property"><span class="type">“wrap-around”</span></a> property.</p>
<div class="refsect3">
<a name="gtk-source-search-context-forward2.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>start of search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>has_wrapped_around</p></td>
<td class="parameter_description"><p>return location to know whether the
search has wrapped around, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-forward2.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-forward-async"></a><h3>gtk_source_search_context_forward_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_source_search_context_forward_async
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code>const <span class="type">GtkTextIter</span> *iter</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>The asynchronous version of <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward2" title="gtk_source_search_context_forward2 ()"><code class="function">gtk_source_search_context_forward2()</code></a>.</p>
<p>See the documentation of <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward2" title="gtk_source_search_context_forward2 ()"><code class="function">gtk_source_search_context_forward2()</code></a> for more
details.</p>
<p>See the <span class="type">GAsyncResult</span> documentation to know how to use this function.</p>
<p>If the operation is cancelled, the <em class="parameter"><code>callback</code></em>
 will only be called if
<em class="parameter"><code>cancellable</code></em>
 was not <code class="literal">NULL</code>. <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-async" title="gtk_source_search_context_forward_async ()"><code class="function">gtk_source_search_context_forward_async()</code></a> takes
ownership of <em class="parameter"><code>cancellable</code></em>
, so you can unref it after calling this function.</p>
<div class="refsect3">
<a name="gtk-source-search-context-forward-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>start of search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncReadyCallback</span> to call when the operation is finished.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>the data to pass to the <em class="parameter"><code>callback</code></em>
function.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-forward-finish"></a><h3>gtk_source_search_context_forward_finish ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_forward_finish
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_source_search_context_forward_finish</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-finish2" title="gtk_source_search_context_forward_finish2 ()"><code class="function">gtk_source_search_context_forward_finish2()</code></a> instead.</p>
</div>
<p>Finishes a forward search started with
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-async" title="gtk_source_search_context_forward_async ()"><code class="function">gtk_source_search_context_forward_async()</code></a>.</p>
<div class="refsect3">
<a name="gtk-source-search-context-forward-finish.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncResult</span>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span>, or <code class="literal">NULL</code>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-forward-finish.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-forward-finish2"></a><h3>gtk_source_search_context_forward_finish2 ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_forward_finish2
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> *has_wrapped_around</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Finishes a forward search started with
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward-async" title="gtk_source_search_context_forward_async ()"><code class="function">gtk_source_search_context_forward_async()</code></a>.</p>
<p>See the documentation of <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-forward2" title="gtk_source_search_context_forward2 ()"><code class="function">gtk_source_search_context_forward2()</code></a> for more
details.</p>
<div class="refsect3">
<a name="gtk-source-search-context-forward-finish2.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncResult</span>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>has_wrapped_around</p></td>
<td class="parameter_description"><p>return location to know whether the
search has wrapped around, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span>, or <code class="literal">NULL</code>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-forward-finish2.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-backward"></a><h3>gtk_source_search_context_backward ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_backward (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                    <em class="parameter"><code>const <span class="type">GtkTextIter</span> *iter</code></em>,
                                    <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                    <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_source_search_context_backward</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward2" title="gtk_source_search_context_backward2 ()"><code class="function">gtk_source_search_context_backward2()</code></a> instead.</p>
</div>
<p>Synchronous backward search. It is recommended to use the asynchronous
functions instead, to not block the user interface. However, if you are sure
that the <em class="parameter"><code>buffer</code></em>
 is small, this function is more convenient to use.</p>
<div class="refsect3">
<a name="gtk-source-search-context-backward.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>start of search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-backward.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-backward2"></a><h3>gtk_source_search_context_backward2 ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_backward2 (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                     <em class="parameter"><code>const <span class="type">GtkTextIter</span> *iter</code></em>,
                                     <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                     <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                     <em class="parameter"><code><span class="type">gboolean</span> *has_wrapped_around</code></em>);</pre>
<p>Synchronous backward search. It is recommended to use the asynchronous
functions instead, to not block the user interface. However, if you are sure
that the <em class="parameter"><code>buffer</code></em>
 is small, this function is more convenient to use.</p>
<p>The difference with <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward" title="gtk_source_search_context_backward ()"><code class="function">gtk_source_search_context_backward()</code></a> is that the
<em class="parameter"><code>has_wrapped_around</code></em>
 out parameter has been added for convenience.</p>
<p>If the <a class="link" href="GtkSourceSearchSettings.html#GtkSourceSearchSettings--wrap-around" title="The “wrap-around” property"><span class="type">“wrap-around”</span></a> property is <code class="literal">FALSE</code>, this function
doesn't try to wrap around.</p>
<p>The <em class="parameter"><code>has_wrapped_around</code></em>
 out parameter is set independently of whether a match
is found. So if this function returns <code class="literal">FALSE</code>, <em class="parameter"><code>has_wrapped_around</code></em>
 will have
the same value as the <a class="link" href="GtkSourceSearchSettings.html#GtkSourceSearchSettings--wrap-around" title="The “wrap-around” property"><span class="type">“wrap-around”</span></a> property.</p>
<div class="refsect3">
<a name="gtk-source-search-context-backward2.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>start of search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>has_wrapped_around</p></td>
<td class="parameter_description"><p>return location to know whether the
search has wrapped around, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-backward2.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-backward-async"></a><h3>gtk_source_search_context_backward_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_source_search_context_backward_async
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code>const <span class="type">GtkTextIter</span> *iter</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>The asynchronous version of <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward2" title="gtk_source_search_context_backward2 ()"><code class="function">gtk_source_search_context_backward2()</code></a>.</p>
<p>See the documentation of <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward2" title="gtk_source_search_context_backward2 ()"><code class="function">gtk_source_search_context_backward2()</code></a> for more
details.</p>
<p>See the <span class="type">GAsyncResult</span> documentation to know how to use this function.</p>
<p>If the operation is cancelled, the <em class="parameter"><code>callback</code></em>
 will only be called if
<em class="parameter"><code>cancellable</code></em>
 was not <code class="literal">NULL</code>. <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-async" title="gtk_source_search_context_backward_async ()"><code class="function">gtk_source_search_context_backward_async()</code></a> takes
ownership of <em class="parameter"><code>cancellable</code></em>
, so you can unref it after calling this function.</p>
<div class="refsect3">
<a name="gtk-source-search-context-backward-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>start of search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncReadyCallback</span> to call when the operation is finished.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>the data to pass to the <em class="parameter"><code>callback</code></em>
function.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-backward-finish"></a><h3>gtk_source_search_context_backward_finish ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_backward_finish
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_source_search_context_backward_finish</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-finish2" title="gtk_source_search_context_backward_finish2 ()"><code class="function">gtk_source_search_context_backward_finish2()</code></a> instead.</p>
</div>
<p>Finishes a backward search started with
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-async" title="gtk_source_search_context_backward_async ()"><code class="function">gtk_source_search_context_backward_async()</code></a>.</p>
<div class="refsect3">
<a name="gtk-source-search-context-backward-finish.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncResult</span>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span>, or <code class="literal">NULL</code>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-backward-finish.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-backward-finish2"></a><h3>gtk_source_search_context_backward_finish2 ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_backward_finish2
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> *has_wrapped_around</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Finishes a backward search started with
<a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward-async" title="gtk_source_search_context_backward_async ()"><code class="function">gtk_source_search_context_backward_async()</code></a>.</p>
<p>See the documentation of <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-backward2" title="gtk_source_search_context_backward2 ()"><code class="function">gtk_source_search_context_backward2()</code></a> for more
details.</p>
<div class="refsect3">
<a name="gtk-source-search-context-backward-finish2.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncResult</span>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>return location for start of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>return location for end of match, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>has_wrapped_around</p></td>
<td class="parameter_description"><p>return location to know whether the
search has wrapped around, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span>, or <code class="literal">NULL</code>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-backward-finish2.returns"></a><h4>Returns</h4>
<p> whether a match was found.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-replace"></a><h3>gtk_source_search_context_replace ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_replace (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                   <em class="parameter"><code>const <span class="type">GtkTextIter</span> *match_start</code></em>,
                                   <em class="parameter"><code>const <span class="type">GtkTextIter</span> *match_end</code></em>,
                                   <em class="parameter"><code>const <span class="type">gchar</span> *replace</code></em>,
                                   <em class="parameter"><code><span class="type">gint</span> replace_length</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_source_search_context_replace</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace2" title="gtk_source_search_context_replace2 ()"><code class="function">gtk_source_search_context_replace2()</code></a> instead.</p>
</div>
<p>Replaces a search match by another text. If <em class="parameter"><code>match_start</code></em>
 and <em class="parameter"><code>match_end</code></em>

doesn't correspond to a search match, <code class="literal">FALSE</code> is returned.</p>
<p>For a regular expression replacement, you can check if <em class="parameter"><code>replace</code></em>
 is valid by
calling <code class="function">g_regex_check_replacement()</code>. The <em class="parameter"><code>replace</code></em>
 text can contain
backreferences; read the <code class="function">g_regex_replace()</code> documentation for more details.</p>
<div class="refsect3">
<a name="gtk-source-search-context-replace.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>the start of the match to replace.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>the end of the match to replace.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>replace</p></td>
<td class="parameter_description"><p>the replacement text.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>replace_length</p></td>
<td class="parameter_description"><p>the length of <em class="parameter"><code>replace</code></em>
in bytes, or -1.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to a <span class="type">GError</span>, or <code class="literal">NULL</code> to ignore errors.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-replace.returns"></a><h4>Returns</h4>
<p> whether the match has been replaced.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-replace2"></a><h3>gtk_source_search_context_replace2 ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_source_search_context_replace2 (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                    <em class="parameter"><code><span class="type">GtkTextIter</span> *match_start</code></em>,
                                    <em class="parameter"><code><span class="type">GtkTextIter</span> *match_end</code></em>,
                                    <em class="parameter"><code>const <span class="type">gchar</span> *replace</code></em>,
                                    <em class="parameter"><code><span class="type">gint</span> replace_length</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Replaces a search match by another text. If <em class="parameter"><code>match_start</code></em>
 and <em class="parameter"><code>match_end</code></em>

doesn't correspond to a search match, <code class="literal">FALSE</code> is returned.</p>
<p>Unlike with <a class="link" href="GtkSourceSearchContext.html#gtk-source-search-context-replace" title="gtk_source_search_context_replace ()"><code class="function">gtk_source_search_context_replace()</code></a>, the <em class="parameter"><code>match_start</code></em>
 and
<em class="parameter"><code>match_end</code></em>
 iters are revalidated to point to the replacement text boundaries.</p>
<p>For a regular expression replacement, you can check if <em class="parameter"><code>replace</code></em>
 is valid by
calling <code class="function">g_regex_check_replacement()</code>. The <em class="parameter"><code>replace</code></em>
 text can contain
backreferences; read the <code class="function">g_regex_replace()</code> documentation for more details.</p>
<div class="refsect3">
<a name="gtk-source-search-context-replace2.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_start</p></td>
<td class="parameter_description"><p>the start of the match to replace.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_end</p></td>
<td class="parameter_description"><p>the end of the match to replace.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>replace</p></td>
<td class="parameter_description"><p>the replacement text.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>replace_length</p></td>
<td class="parameter_description"><p>the length of <em class="parameter"><code>replace</code></em>
in bytes, or -1.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to a <span class="type">GError</span>, or <code class="literal">NULL</code> to ignore errors.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-replace2.returns"></a><h4>Returns</h4>
<p> whether the match has been replaced.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-replace-all"></a><h3>gtk_source_search_context_replace_all ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
gtk_source_search_context_replace_all (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>,
                                       <em class="parameter"><code>const <span class="type">gchar</span> *replace</code></em>,
                                       <em class="parameter"><code><span class="type">gint</span> replace_length</code></em>,
                                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Replaces all search matches by another text. It is a synchronous function, so
it can block the user interface.</p>
<p>For a regular expression replacement, you can check if <em class="parameter"><code>replace</code></em>
 is valid by
calling <code class="function">g_regex_check_replacement()</code>. The <em class="parameter"><code>replace</code></em>
 text can contain
backreferences; read the <code class="function">g_regex_replace()</code> documentation for more details.</p>
<div class="refsect3">
<a name="gtk-source-search-context-replace-all.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>replace</p></td>
<td class="parameter_description"><p>the replacement text.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>replace_length</p></td>
<td class="parameter_description"><p>the length of <em class="parameter"><code>replace</code></em>
in bytes, or -1.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to a <span class="type">GError</span>, or <code class="literal">NULL</code> to ignore errors.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-replace-all.returns"></a><h4>Returns</h4>
<p> the number of replaced matches.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-source-search-context-get-regex-error"></a><h3>gtk_source_search_context_get_regex_error ()</h3>
<pre class="programlisting"><span class="returnvalue">GError</span> *
gtk_source_search_context_get_regex_error
                               (<em class="parameter"><code><a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a> *search</code></em>);</pre>
<p>Regular expression patterns must follow certain rules. If
<a class="link" href="GtkSourceSearchSettings.html#GtkSourceSearchSettings--search-text" title="The “search-text” property"><span class="type">“search-text”</span></a> breaks a rule, the error can be retrieved
with this function. The error domain is <span class="type">G_REGEX_ERROR</span>.</p>
<p>Free the return value with <code class="function">g_error_free()</code>.</p>
<div class="refsect3">
<a name="gtk-source-search-context-get-regex-error.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>search</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSourceSearchContext.html" title="GtkSourceSearchContext"><span class="type">GtkSourceSearchContext</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-source-search-context-get-regex-error.returns"></a><h4>Returns</h4>
<p>the <span class="type">GError</span>, or <code class="literal">NULL</code> if the pattern is valid. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkSourceSearchContext-struct"></a><h3>GtkSourceSearchContext</h3>
<pre class="programlisting">typedef struct _GtkSourceSearchContext GtkSourceSearchContext;</pre>
</div>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkSourceSearchContext--buffer"></a><h3>The <code class="literal">“buffer”</code> property</h3>
<pre class="programlisting">  “buffer”                   <a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a> *</pre>
<p>The <a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a> associated to the search context.</p>
<p>Flags: Read / Write / Construct Only</p>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkSourceSearchContext--highlight"></a><h3>The <code class="literal">“highlight”</code> property</h3>
<pre class="programlisting">  “highlight”                <span class="type">gboolean</span></pre>
<p>Highlight the search occurrences.</p>
<p>Flags: Read / Write / Construct</p>
<p>Default value: TRUE</p>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkSourceSearchContext--match-style"></a><h3>The <code class="literal">“match-style”</code> property</h3>
<pre class="programlisting">  “match-style”              <a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a> *</pre>
<p>A <a class="link" href="GtkSourceStyle.html" title="GtkSourceStyle"><span class="type">GtkSourceStyle</span></a>, or <code class="literal">NULL</code> for theme's scheme default style.</p>
<p>Flags: Read / Write / Construct</p>
<p class="since">Since: <a class="link" href="api-index-3-16.html#api-index-3.16">3.16</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkSourceSearchContext--occurrences-count"></a><h3>The <code class="literal">“occurrences-count”</code> property</h3>
<pre class="programlisting">  “occurrences-count”        <span class="type">gint</span></pre>
<p>The total number of search occurrences. If the search is disabled,
the value is 0. If the buffer is not already fully scanned, the value
is -1.</p>
<p>Flags: Read</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: 0</p>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkSourceSearchContext--regex-error"></a><h3>The <code class="literal">“regex-error”</code> property</h3>
<pre class="programlisting">  “regex-error”              <span class="type">gpointer</span></pre>
<p>If the regex search pattern doesn't follow all the rules, this
property will be set. If the pattern is valid, the value is <code class="literal">NULL</code>.</p>
<p>Free with <code class="function">g_error_free()</code>.</p>
<p>Flags: Read</p>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkSourceSearchContext--settings"></a><h3>The <code class="literal">“settings”</code> property</h3>
<pre class="programlisting">  “settings”                 <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> *</pre>
<p>The <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a> associated to the search context.</p>
<p>Flags: Read / Write / Construct</p>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkSourceSearchContext.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GtkSourceBuffer.html" title="GtkSourceBuffer"><span class="type">GtkSourceBuffer</span></a>, <a class="link" href="GtkSourceSearchSettings.html" title="GtkSourceSearchSettings"><span class="type">GtkSourceSearchSettings</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>