GtkSourceView 3 Reference Manual: GtkSourceUtils

## GtkSourceUtils GtkSourceUtils — Utilities functions |

## Synopsis

    #include <gtksourceview/gtksource.h>

    gchar *             gtk_source_utils_unescape_search_text
                                                            (const gchar *text);
    gchar *             gtk_source_utils_escape_search_text (const gchar *text);

## Description

Utilities functions.

## Details

### gtk_source_utils_unescape_search_text ()

    gchar *             gtk_source_utils_unescape_search_text
                                                            (const gchar *text);

Use this function before `gtk_source_search_settings_set_search_text()`, to unescape the following sequences of characters: \n, \r, \t and \\. The purpose is to easily write those characters in a search entry.

Note that unescaping the search text is not needed for regular expression searches.

See also: `gtk_source_utils_escape_search_text()`.

`text` : | the text to unescape.
Returns : | the unescaped `text`.

Since 3.10

### gtk_source_utils_escape_search_text ()

    gchar *             gtk_source_utils_escape_search_text (const gchar *text);

Use this function to escape the following characters: \n, \r, \t and \.

For a regular expression search, use `g_regex_escape_string()` instead.

One possible use case is to take the GtkTextBuffer's selection and put it in a search entry. The selection can contain tabulations, newlines, etc. So it's better to escape those special characters to better fit in the search entry.

See also: `gtk_source_utils_unescape_search_text()`.

### Warning

The escape and unescape functions are not reciprocal! For example, escape (unescape (\)) = \\. So avoid cycles such as: search entry -> unescape -> search settings -> escape -> search entry. The original search entry text may be modified.

`text` : | the text to escape.
Returns : | the escaped `text`.

Since 3.10