<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gdk" version="3.0"/>
  <include name="Gtk" version="3.0"/>
  <package name="gtksourceview-3.0"/>
  <c:include name="gtksourceview/gtksource.h"/>
  <doc:format name="unknown"/>
  <namespace name="GtkSource"
             version="3.0"
             shared-library="libgtksourceview-3.0.so.3.5"
             c:identifier-prefixes="GtkSource"
             c:symbol-prefixes="gtk_source">
    <function-macro name="BUFFER"
                    c:identifier="GTK_SOURCE_BUFFER"
                    introspectable="0">
      <source-position filename="gtksourcebuffer.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BUFFER_CLASS"
                    c:identifier="GTK_SOURCE_BUFFER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcebuffer.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BUFFER_GET_CLASS"
                    c:identifier="GTK_SOURCE_BUFFER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcebuffer.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="BackgroundPatternType"
                 version="3.16"
                 glib:type-name="GtkSourceBackgroundPatternType"
                 glib:get-type="gtk_source_background_pattern_type_get_type"
                 c:type="GtkSourceBackgroundPatternType">
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="120">no pattern</doc>
      </member>
      <member name="grid"
              value="1"
              c:identifier="GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID"
              glib:nick="grid"
              glib:name="GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="121">grid pattern</doc>
      </member>
    </enumeration>
    <enumeration name="BracketMatchType"
                 glib:type-name="GtkSourceBracketMatchType"
                 glib:get-type="gtk_source_bracket_match_type_get_type"
                 c:type="GtkSourceBracketMatchType">
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_BRACKET_MATCH_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_BRACKET_MATCH_NONE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="54">there is no bracket to match.</doc>
      </member>
      <member name="out_of_range"
              value="1"
              c:identifier="GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE"
              glib:nick="out-of-range"
              glib:name="GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="55">matching a bracket
 failed because the maximum range was reached.</doc>
      </member>
      <member name="not_found"
              value="2"
              c:identifier="GTK_SOURCE_BRACKET_MATCH_NOT_FOUND"
              glib:nick="not-found"
              glib:name="GTK_SOURCE_BRACKET_MATCH_NOT_FOUND">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="57">a matching bracket was not found.</doc>
      </member>
      <member name="found"
              value="3"
              c:identifier="GTK_SOURCE_BRACKET_MATCH_FOUND"
              glib:nick="found"
              glib:name="GTK_SOURCE_BRACKET_MATCH_FOUND">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="58">a matching bracket was found.</doc>
      </member>
    </enumeration>
    <class name="Buffer"
           c:symbol-prefix="buffer"
           c:type="GtkSourceBuffer"
           parent="Gtk.TextBuffer"
           glib:type-name="GtkSourceBuffer"
           glib:get-type="gtk_source_buffer_get_type"
           glib:type-struct="BufferClass">
      <source-position filename="gtksourcebuffer.h" line="125"/>
      <constructor name="new" c:identifier="gtk_source_buffer_new">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="746">Creates a new source buffer.</doc>
        <source-position filename="gtksourcebuffer.h" line="131"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="752">a new source buffer.</doc>
          <type name="Buffer" c:type="GtkSourceBuffer*"/>
        </return-value>
        <parameters>
          <parameter name="table"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="748">a #GtkTextTagTable, or %NULL to create a new one.</doc>
            <type name="Gtk.TextTagTable" c:type="GtkTextTagTable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_language"
                   c:identifier="gtk_source_buffer_new_with_language">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="762">Creates a new source buffer using the highlighting patterns in
@language.  This is equivalent to creating a new source buffer with
a new tag table and then calling gtk_source_buffer_set_language().</doc>
        <source-position filename="gtksourcebuffer.h" line="134"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="770">a new source buffer which will highlight text
according to the highlighting patterns in @language.</doc>
          <type name="Buffer" c:type="GtkSourceBuffer*"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="764">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="bracket_matched">
        <source-position filename="gtksourcebuffer.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="BracketMatchType" c:type="GtkSourceBracketMatchType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="redo" invoker="redo">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1506">Redoes the last undo operation.  Use gtk_source_buffer_can_redo()
to check whether a call to this function will have any effect.

This function emits the #GtkSourceBuffer::redo signal.</doc>
        <source-position filename="gtksourcebuffer.h" line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1508">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="undo" invoker="undo">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1488">Undoes the last user action which modified the buffer.  Use
gtk_source_buffer_can_undo() to check whether a call to this
function will have any effect.

This function emits the #GtkSourceBuffer::undo signal.</doc>
        <source-position filename="gtksourcebuffer.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1490">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="backward_iter_to_source_mark"
              c:identifier="gtk_source_buffer_backward_iter_to_source_mark"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2152">Moves @iter to the position of the previous #GtkSourceMark of the given
category. Returns %TRUE if @iter was moved. If @category is NULL, the
previous source mark can be of any category.</doc>
        <source-position filename="gtksourcebuffer.h" line="206"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2162">whether @iter was moved.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2154">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2155">an iterator.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="category"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2156">category to search for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="begin_not_undoable_action"
              c:identifier="gtk_source_buffer_begin_not_undoable_action">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1593">Marks the beginning of a not undoable action on the buffer,
disabling the undo manager.  Typically you would call this function
before initially setting the contents of the buffer (e.g. when
loading a file in a text editor).

You may nest gtk_source_buffer_begin_not_undoable_action() /
gtk_source_buffer_end_not_undoable_action() blocks.</doc>
        <source-position filename="gtksourcebuffer.h" line="189"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1595">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_redo"
              c:identifier="gtk_source_buffer_can_redo"
              glib:get-property="can-redo">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1471">Determines whether a source buffer can redo the last action
(i.e. if the last operation was an undo).</doc>
        <source-position filename="gtksourcebuffer.h" line="168"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1478">%TRUE if a redo is possible.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1473">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_undo"
              c:identifier="gtk_source_buffer_can_undo"
              glib:get-property="can-undo">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1455">Determines whether a source buffer can undo the last action.</doc>
        <source-position filename="gtksourcebuffer.h" line="165"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1461">%TRUE if it's possible to undo the last action.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1457">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="change_case"
              c:identifier="gtk_source_buffer_change_case"
              version="3.12">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2708">Changes the case of the text between the specified iterators.</doc>
        <source-position filename="gtksourcebuffer.h" line="247"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2710">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="case_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2711">how to change the case.</doc>
            <type name="ChangeCaseType" c:type="GtkSourceChangeCaseType"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2712">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2713">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_source_mark"
              c:identifier="gtk_source_buffer_create_source_mark"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2014">Creates a source mark in the @buffer of category @category.  A source mark is
a #GtkTextMark but organised into categories. Depending on the category
a pixbuf can be specified that will be displayed along the line of the mark.

Like a #GtkTextMark, a #GtkSourceMark can be anonymous if the
passed @name is %NULL.  Also, the buffer owns the marks so you
shouldn't unreference it.

Marks always have left gravity and are moved to the beginning of
the line when the user deletes the line they were in.

Typical uses for a source mark are bookmarks, breakpoints, current
executing instruction indication in a source file, etc..</doc>
        <source-position filename="gtksourcebuffer.h" line="195"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2035">a new #GtkSourceMark, owned by the buffer.</doc>
          <type name="Mark" c:type="GtkSourceMark*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2016">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2017">the name of the mark, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="category" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2018">a string defining the mark category.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="where" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2019">location to place the mark.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_source_tag"
              c:identifier="gtk_source_buffer_create_source_tag"
              version="3.20"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="3262">In short, this is the same function as gtk_text_buffer_create_tag(), but
instead of creating a #GtkTextTag, this function creates a #GtkSourceTag.

This function creates a #GtkSourceTag and adds it to the tag table for
@buffer.  Equivalent to calling gtk_text_tag_new() and then adding the tag to
the buffer’s tag table. The returned tag is owned by the buffer’s tag table,
so the ref count will be equal to one.

If @tag_name is %NULL, the tag is anonymous.

If @tag_name is non-%NULL, a tag called @tag_name must not already
exist in the tag table for this buffer.

The @first_property_name argument and subsequent arguments are a list
of properties to set on the tag, as with g_object_set().</doc>
        <source-position filename="gtksourcebuffer.h" line="279"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="3285">a new #GtkSourceTag.</doc>
          <type name="Gtk.TextTag" c:type="GtkTextTag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3264">a #GtkSourceBuffer</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="tag_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3265">name of the new tag, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_property_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3266">name of first property to set, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3267">%NULL-terminated list of property names and values</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="end_not_undoable_action"
              c:identifier="gtk_source_buffer_end_not_undoable_action">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1613">Marks the end of a not undoable action on the buffer.  When the
last not undoable block is closed through the call to this
function, the list of undo actions is cleared and the undo manager
is re-enabled.</doc>
        <source-position filename="gtksourcebuffer.h" line="192"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1615">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ensure_highlight"
              c:identifier="gtk_source_buffer_ensure_highlight">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1843">Forces buffer to analyze and highlight the given area synchronously.

&lt;note&gt;
  &lt;para&gt;
    This is a potentially slow operation and should be used only
    when you need to make sure that some text not currently
    visible is highlighted, for instance before printing.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="gtksourcebuffer.h" line="178"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1845">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1846">start of the area to highlight.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1847">end of the area to highlight.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward_iter_to_source_mark"
              c:identifier="gtk_source_buffer_forward_iter_to_source_mark"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2118">Moves @iter to the position of the next #GtkSourceMark of the given
@category. Returns %TRUE if @iter was moved. If @category is NULL, the
next source mark can be of any category.</doc>
        <source-position filename="gtksourcebuffer.h" line="201"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2128">whether @iter was moved.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2120">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2121">an iterator.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="category"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2122">category to search for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_context_classes_at_iter"
              c:identifier="gtk_source_buffer_get_context_classes_at_iter"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2360">Get all defined context classes at @iter.

See the #GtkSourceBuffer description for the list of default context classes.</doc>
        <source-position filename="gtksourcebuffer.h" line="232"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2369">a new %NULL
terminated array of context class names.
Use g_strfreev() to free the array if it is no longer needed.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2362">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2363">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_highlight_matching_brackets"
              c:identifier="gtk_source_buffer_get_highlight_matching_brackets"
              glib:get-property="highlight-matching-brackets">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1630">Determines whether bracket match highlighting is activated for the
source buffer.</doc>
        <source-position filename="gtksourcebuffer.h" line="144"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1637">%TRUE if the source buffer will highlight matching
brackets.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1632">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_highlight_syntax"
              c:identifier="gtk_source_buffer_get_highlight_syntax"
              glib:get-property="highlight-syntax">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1676">Determines whether syntax highlighting is activated in the source
buffer.</doc>
        <source-position filename="gtksourcebuffer.h" line="137"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1683">%TRUE if syntax highlighting is enabled, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1678">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_implicit_trailing_newline"
              c:identifier="gtk_source_buffer_get_implicit_trailing_newline"
              glib:get-property="implicit-trailing-newline"
              version="3.14">
        <source-position filename="gtksourcebuffer.h" line="276"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="3251">whether the @buffer has an implicit trailing newline.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3249">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="gtk_source_buffer_get_language"
              glib:get-property="language">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1777">Returns the #GtkSourceLanguage associated with the buffer,
see gtk_source_buffer_set_language().  The returned object should not be
unreferenced by the user.</doc>
        <source-position filename="gtksourcebuffer.h" line="158"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1785">the #GtkSourceLanguage associated
with the buffer, or %NULL.</doc>
          <type name="Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1779">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_undo_levels"
              c:identifier="gtk_source_buffer_get_max_undo_levels"
              glib:get-property="max-undo-levels">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1523">Determines the number of undo levels the buffer will track for buffer edits.</doc>
        <source-position filename="gtksourcebuffer.h" line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1529">the maximum number of possible undo levels or -1 if no limit is set.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1525">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_marks_at_iter"
              c:identifier="gtk_source_buffer_get_source_marks_at_iter"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2186">Returns the list of marks of the given category at @iter. If @category
is %NULL it returns all marks at @iter.</doc>
        <source-position filename="gtksourcebuffer.h" line="211"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2195">
a newly allocated #GSList.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Mark"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2188">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2189">an iterator.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="category"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2190">category to search for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_source_marks_at_line"
              c:identifier="gtk_source_buffer_get_source_marks_at_line"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2220">Returns the list of marks of the given category at @line.
If @category is %NULL, all marks at @line are returned.</doc>
        <source-position filename="gtksourcebuffer.h" line="216"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2229">
a newly allocated #GSList.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Mark"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2222">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2223">a line number.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="category"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2224">category to search for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_style_scheme"
              c:identifier="gtk_source_buffer_get_style_scheme"
              glib:get-property="style-scheme">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1907">Returns the #GtkSourceStyleScheme associated with the buffer,
see gtk_source_buffer_set_style_scheme().
The returned object should not be unreferenced by the user.</doc>
        <source-position filename="gtksourcebuffer.h" line="171"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="1915">the #GtkSourceStyleScheme
associated with the buffer, or %NULL.</doc>
          <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1909">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_undo_manager"
              c:identifier="gtk_source_buffer_get_undo_manager"
              glib:get-property="undo-manager">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="3088">Returns the #GtkSourceUndoManager associated with the buffer,
see gtk_source_buffer_set_undo_manager().  The returned object should not be
unreferenced by the user.</doc>
        <source-position filename="gtksourcebuffer.h" line="265"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="3096">the #GtkSourceUndoManager associated
with the buffer, or %NULL.</doc>
          <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3090">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="iter_backward_to_context_class_toggle"
              c:identifier="gtk_source_buffer_iter_backward_to_context_class_toggle"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2453">Moves backward to the next toggle (on or off) of the context class. If no
matching context class toggles are found, returns %FALSE, otherwise %TRUE.
Does not return toggles located at @iter, only toggles after @iter. Sets
@iter to the location of the toggle, or to the end of the buffer if no
toggle is found.

See the #GtkSourceBuffer description for the list of default context classes.</doc>
        <source-position filename="gtksourcebuffer.h" line="241"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2467">whether we found a context class toggle before @iter</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2455">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2456">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="context_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2457">the context class.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="iter_forward_to_context_class_toggle"
              c:identifier="gtk_source_buffer_iter_forward_to_context_class_toggle"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2414">Moves forward to the next toggle (on or off) of the context class. If no
matching context class toggles are found, returns %FALSE, otherwise %TRUE.
Does not return toggles located at @iter, only toggles after @iter. Sets
@iter to the location of the toggle, or to the end of the buffer if no
toggle is found.

See the #GtkSourceBuffer description for the list of default context classes.</doc>
        <source-position filename="gtksourcebuffer.h" line="236"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2428">whether we found a context class toggle after @iter</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2416">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2417">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="context_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2418">the context class.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="iter_has_context_class"
              c:identifier="gtk_source_buffer_iter_has_context_class"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2326">Check if the class @context_class is set on @iter.

See the #GtkSourceBuffer description for the list of default context classes.</doc>
        <source-position filename="gtksourcebuffer.h" line="227"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcebuffer.c"
               line="2336">whether @iter has the context class.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2328">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2329">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="context_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2330">class to search for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="join_lines"
              c:identifier="gtk_source_buffer_join_lines"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2794">Joins the lines of text between the specified iterators.</doc>
        <source-position filename="gtksourcebuffer.h" line="253"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2796">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2797">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2798">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="redo" c:identifier="gtk_source_buffer_redo">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1506">Redoes the last undo operation.  Use gtk_source_buffer_can_redo()
to check whether a call to this function will have any effect.

This function emits the #GtkSourceBuffer::redo signal.</doc>
        <source-position filename="gtksourcebuffer.h" line="186"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1508">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_source_marks"
              c:identifier="gtk_source_buffer_remove_source_marks"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2266">Remove all marks of @category between @start and @end from the buffer.
If @category is NULL, all marks in the range will be removed.</doc>
        <source-position filename="gtksourcebuffer.h" line="221"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2268">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2269">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2270">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="category"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2271">category to search for, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_highlight_matching_brackets"
              c:identifier="gtk_source_buffer_set_highlight_matching_brackets"
              glib:set-property="highlight-matching-brackets">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1648">Controls the bracket match highlighting function in the buffer.  If
activated, when you position your cursor over a bracket character
(a parenthesis, a square bracket, etc.) the matching opening or
closing bracket character will be highlighted.</doc>
        <source-position filename="gtksourcebuffer.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1650">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="highlight" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1651">%TRUE if you want matching brackets highlighted.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_highlight_syntax"
              c:identifier="gtk_source_buffer_set_highlight_syntax"
              glib:set-property="highlight-syntax">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1693">Controls whether syntax is highlighted in the buffer.

If @highlight is %TRUE, the text will be highlighted according to the syntax
patterns specified in the #GtkSourceLanguage set with
gtk_source_buffer_set_language().

If @highlight is %FALSE, syntax highlighting is disabled and all the
#GtkTextTag objects that have been added by the syntax highlighting engine
are removed from the buffer.</doc>
        <source-position filename="gtksourcebuffer.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1695">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="highlight" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1696">%TRUE to enable syntax highlighting, %FALSE to disable it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_implicit_trailing_newline"
              c:identifier="gtk_source_buffer_set_implicit_trailing_newline"
              glib:set-property="implicit-trailing-newline"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="3209">Sets whether the @buffer has an implicit trailing newline.

If an explicit trailing newline is present in a #GtkTextBuffer, #GtkTextView
shows it as an empty line. This is generally not what the user expects.

If @implicit_trailing_newline is %TRUE (the default value):
 - when a #GtkSourceFileLoader loads the content of a file into the @buffer,
   the trailing newline (if present in the file) is not inserted into the
   @buffer.
 - when a #GtkSourceFileSaver saves the content of the @buffer into a file, a
   trailing newline is added to the file.

On the other hand, if @implicit_trailing_newline is %FALSE, the file's
content is not modified when loaded into the @buffer, and the @buffer's
content is not modified when saved into a file.</doc>
        <source-position filename="gtksourcebuffer.h" line="272"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3211">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="implicit_trailing_newline"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3212">the new value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gtk_source_buffer_set_language"
              glib:set-property="language">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1723">Associates a #GtkSourceLanguage with the buffer.

Note that a #GtkSourceLanguage affects not only the syntax highlighting, but
also the [context classes][context-classes]. If you want to disable just the
syntax highlighting, see gtk_source_buffer_set_highlight_syntax().

The buffer holds a reference to @language.</doc>
        <source-position filename="gtksourcebuffer.h" line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1725">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1726">a #GtkSourceLanguage to set, or %NULL.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_undo_levels"
              c:identifier="gtk_source_buffer_set_max_undo_levels"
              glib:set-property="max-undo-levels">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1539">Sets the number of undo levels for user actions the buffer will
track.  If the number of user actions exceeds the limit set by this
function, older actions will be discarded.

If @max_undo_levels is -1, the undo/redo is unlimited.

If @max_undo_levels is 0, the undo/redo is disabled.</doc>
        <source-position filename="gtksourcebuffer.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1541">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="max_undo_levels" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1542">the desired maximum number of undo levels.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_style_scheme"
              c:identifier="gtk_source_buffer_set_style_scheme"
              glib:set-property="style-scheme">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1868">Sets a #GtkSourceStyleScheme to be used by the buffer and the view.

Note that a #GtkSourceStyleScheme affects not only the syntax highlighting,
but also other #GtkSourceView features such as highlighting the current line,
matching brackets, the line numbers, etc.

Instead of setting a %NULL @scheme, it is better to disable syntax
highlighting with gtk_source_buffer_set_highlight_syntax(), and setting the
#GtkSourceStyleScheme with the "classic" or "tango" ID, because those two
style schemes follow more closely the GTK+ theme (for example for the
background color).

The buffer holds a reference to @scheme.</doc>
        <source-position filename="gtksourcebuffer.h" line="174"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1870">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="scheme"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1871">a #GtkSourceStyleScheme or %NULL.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_undo_manager"
              c:identifier="gtk_source_buffer_set_undo_manager"
              glib:set-property="undo-manager">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="3055">Set the buffer undo manager. If @manager is %NULL the default undo manager
will be set.</doc>
        <source-position filename="gtksourcebuffer.h" line="268"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3057">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="manager"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="3058">A #GtkSourceUndoManager or %NULL.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </parameter>
        </parameters>
      </method>
      <method name="sort_lines"
              c:identifier="gtk_source_buffer_sort_lines"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="2909">Sort the lines of text between the specified iterators.</doc>
        <source-position filename="gtksourcebuffer.h" line="258"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2911">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2912">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2913">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2914">#GtkSourceSortFlags specifying how the sort should behave</doc>
            <type name="SortFlags" c:type="GtkSourceSortFlags"/>
          </parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="2915">sort considering the text starting at the given column</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="undo" c:identifier="gtk_source_buffer_undo">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="1488">Undoes the last user action which modified the buffer.  Use
gtk_source_buffer_can_undo() to check whether a call to this
function will have any effect.

This function emits the #GtkSourceBuffer::undo signal.</doc>
        <source-position filename="gtksourcebuffer.h" line="183"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="1490">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="can-redo"
                transfer-ownership="none"
                getter="can_redo"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-undo"
                transfer-ownership="none"
                getter="can_undo"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="highlight-matching-brackets"
                writable="1"
                transfer-ownership="none"
                setter="set_highlight_matching_brackets"
                getter="get_highlight_matching_brackets"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="324">Whether to highlight matching brackets in the buffer.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="highlight-syntax"
                writable="1"
                transfer-ownership="none"
                setter="set_highlight_syntax"
                getter="get_highlight_syntax"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="311">Whether to highlight syntax in the buffer.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="implicit-trailing-newline"
                version="3.14"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_implicit_trailing_newline"
                getter="get_implicit_trailing_newline"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="401">Whether the buffer has an implicit trailing newline. See
gtk_source_buffer_set_implicit_trailing_newline().</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="language"
                writable="1"
                transfer-ownership="none"
                setter="set_language"
                getter="get_language">
        <type name="Language"/>
      </property>
      <property name="max-undo-levels"
                writable="1"
                transfer-ownership="none"
                setter="set_max_undo_levels"
                getter="get_max_undo_levels"
                default-value="-1">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="337">Number of undo levels for the buffer. -1 means no limit. This property
will only affect the default undo manager.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="style-scheme"
                writable="1"
                transfer-ownership="none"
                setter="set_style_scheme"
                getter="get_style_scheme">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="377">Style scheme. It contains styles for syntax highlighting, optionally
foreground, background, cursor color, current line color, and matching
brackets style.</doc>
        <type name="StyleScheme"/>
      </property>
      <property name="undo-manager"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_undo_manager"
                getter="get_undo_manager">
        <type name="UndoManager"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.TextBuffer" c:type="GtkTextBuffer"/>
      </field>
      <field name="priv">
        <type name="BufferPrivate" c:type="GtkSourceBufferPrivate*"/>
      </field>
      <glib:signal name="bracket-matched" when="last" version="2.12">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="487">@iter is set to a valid iterator pointing to the matching bracket
if @state is %GTK_SOURCE_BRACKET_MATCH_FOUND. Otherwise @iter is
meaningless.

The signal is emitted only when the @state changes, typically when
the cursor moves.

A use-case for this signal is to show messages in a #GtkStatusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="490">if found, the location of the matching bracket.</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="491">state of bracket matching.</doc>
            <type name="BracketMatchType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="highlight-updated" when="last">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="420">The ::highlight-updated signal is emitted when the syntax
highlighting and [context classes][context-classes] are updated in a
certain region of the @buffer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="423">the start of the updated region</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="424">the end of the updated region</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="redo" when="last">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="473">The ::redo signal is emitted to redo the last undo operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="source-mark-updated" when="last">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="441">The ::source-mark-updated signal is emitted each time
a mark is added to, moved or removed from the @buffer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcebuffer.c"
                 line="444">the #GtkSourceMark</doc>
            <type name="Gtk.TextMark"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="undo" when="last">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.c"
             line="458">The ::undo signal is emitted to undo the last user action which
modified the buffer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="BufferClass"
            c:type="GtkSourceBufferClass"
            glib:is-gtype-struct-for="Buffer">
      <source-position filename="gtksourcebuffer.h" line="125"/>
      <field name="parent_class">
        <type name="Gtk.TextBufferClass" c:type="GtkTextBufferClass"/>
      </field>
      <field name="undo">
        <callback name="undo">
          <source-position filename="gtksourcebuffer.h" line="114"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcebuffer.c"
                   line="1490">a #GtkSourceBuffer.</doc>
              <type name="Buffer" c:type="GtkSourceBuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="redo">
        <callback name="redo">
          <source-position filename="gtksourcebuffer.h" line="115"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcebuffer.c"
                   line="1508">a #GtkSourceBuffer.</doc>
              <type name="Buffer" c:type="GtkSourceBuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="bracket_matched">
        <callback name="bracket_matched">
          <source-position filename="gtksourcebuffer.h" line="117"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <type name="Buffer" c:type="GtkSourceBuffer*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="state" transfer-ownership="none">
              <type name="BracketMatchType"
                    c:type="GtkSourceBracketMatchType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcebuffer.h" line="122"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcebuffer.h" line="123"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved3" introspectable="0">
        <callback name="_gtk_source_reserved3">
          <source-position filename="gtksourcebuffer.h" line="124"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="BufferPrivate"
            c:type="GtkSourceBufferPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcebuffer.h" line="50"/>
    </record>
    <function-macro name="COMPLETION"
                    c:identifier="GTK_SOURCE_COMPLETION"
                    introspectable="0">
      <source-position filename="gtksourcecompletion.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletion.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_CONTEXT"
                    c:identifier="GTK_SOURCE_COMPLETION_CONTEXT"
                    introspectable="0">
      <source-position filename="gtksourcecompletioncontext.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_CONTEXT_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletioncontext.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_CONTEXT_GET_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_CONTEXT_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletioncontext.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_GET_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletion.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_INFO"
                    c:identifier="GTK_SOURCE_COMPLETION_INFO"
                    introspectable="0">
      <source-position filename="gtksourcecompletioninfo.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_INFO_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_INFO_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletioninfo.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_INFO_GET_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_INFO_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletioninfo.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_ITEM"
                    c:identifier="GTK_SOURCE_COMPLETION_ITEM"
                    introspectable="0">
      <source-position filename="gtksourcecompletionitem.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_ITEM_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_ITEM_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletionitem.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_ITEM_GET_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_ITEM_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletionitem.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_PROPOSAL"
                    c:identifier="GTK_SOURCE_COMPLETION_PROPOSAL"
                    introspectable="0">
      <source-position filename="gtksourcecompletionproposal.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_PROPOSAL_GET_INTERFACE"
                    c:identifier="GTK_SOURCE_COMPLETION_PROPOSAL_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="gtksourcecompletionproposal.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_PROVIDER"
                    c:identifier="GTK_SOURCE_COMPLETION_PROVIDER"
                    introspectable="0">
      <source-position filename="gtksourcecompletionprovider.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_PROVIDER_GET_INTERFACE"
                    c:identifier="GTK_SOURCE_COMPLETION_PROVIDER_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="gtksourcecompletionprovider.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_WORDS"
                    c:identifier="GTK_SOURCE_COMPLETION_WORDS"
                    introspectable="0">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_WORDS_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_WORDS_CLASS"
                    introspectable="0">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_WORDS_GET_CLASS"
                    c:identifier="GTK_SOURCE_COMPLETION_WORDS_GET_CLASS"
                    introspectable="0">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="ChangeCaseType"
                 version="3.12"
                 glib:type-name="GtkSourceChangeCaseType"
                 glib:get-type="gtk_source_change_case_type_get_type"
                 c:type="GtkSourceChangeCaseType">
      <member name="lower"
              value="0"
              c:identifier="GTK_SOURCE_CHANGE_CASE_LOWER"
              glib:nick="lower"
              glib:name="GTK_SOURCE_CHANGE_CASE_LOWER">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="70">change case to lowercase.</doc>
      </member>
      <member name="upper"
              value="1"
              c:identifier="GTK_SOURCE_CHANGE_CASE_UPPER"
              glib:nick="upper"
              glib:name="GTK_SOURCE_CHANGE_CASE_UPPER">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="71">change case to uppercase.</doc>
      </member>
      <member name="toggle"
              value="2"
              c:identifier="GTK_SOURCE_CHANGE_CASE_TOGGLE"
              glib:nick="toggle"
              glib:name="GTK_SOURCE_CHANGE_CASE_TOGGLE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="72">toggle case of each character.</doc>
      </member>
      <member name="title"
              value="3"
              c:identifier="GTK_SOURCE_CHANGE_CASE_TITLE"
              glib:nick="title"
              glib:name="GTK_SOURCE_CHANGE_CASE_TITLE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="73">capitalize each word.</doc>
      </member>
    </enumeration>
    <class name="Completion"
           c:symbol-prefix="completion"
           c:type="GtkSourceCompletion"
           parent="GObject.Object"
           glib:type-name="GtkSourceCompletion"
           glib:get-type="gtk_source_completion_get_type"
           glib:type-struct="CompletionClass">
      <source-position filename="gtksourcecompletion.h" line="104"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="activate_proposal">
        <source-position filename="gtksourcecompletion.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide" invoker="hide">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2968">Hides the completion if it is active (visible).</doc>
        <source-position filename="gtksourcecompletion.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2970">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="move_cursor">
        <source-position filename="gtksourcecompletion.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="step" transfer-ownership="none">
            <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
          </parameter>
          <parameter name="num" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="move_page">
        <source-position filename="gtksourcecompletion.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="step" transfer-ownership="none">
            <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
          </parameter>
          <parameter name="num" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="populate_context">
        <source-position filename="gtksourcecompletion.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="proposal_activated">
        <source-position filename="gtksourcecompletion.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="provider" transfer-ownership="none">
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </parameter>
          <parameter name="proposal" transfer-ownership="none">
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show">
        <source-position filename="gtksourcecompletion.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_provider"
              c:identifier="gtk_source_completion_add_provider"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2875">Add a new #GtkSourceCompletionProvider to the completion object. This will
add a reference @provider, so make sure to unref your own copy when you
no longer need it.</doc>
        <source-position filename="gtksourcecompletion.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="2885">%TRUE if @provider was successfully added, otherwise if @error
         is provided, it will be set with the error and %FALSE is returned.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2877">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2878">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </parameter>
        </parameters>
      </method>
      <method name="block_interactive"
              c:identifier="gtk_source_completion_block_interactive">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="3093">Block interactive completion. This can be used to disable interactive
completion when inserting or deleting text from the buffer associated with
the completion. Use gtk_source_completion_unblock_interactive() to enable
interactive completion again.

This function may be called multiple times. It will continue to block
interactive completion until gtk_source_completion_unblock_interactive()
has been called the same number of times.</doc>
        <source-position filename="gtksourcecompletion.h" line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3095">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_context"
              c:identifier="gtk_source_completion_create_context">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="3023">Create a new #GtkSourceCompletionContext for @completion. The position where
the completion occurs can be specified by @position. If @position is %NULL,
the current cursor position will be used.</doc>
        <source-position filename="gtksourcecompletion.h" line="142"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="3032">a new #GtkSourceCompletionContext.
The reference being returned is a 'floating' reference,
so if you invoke gtk_source_completion_show() with this context
you don't need to unref it.</doc>
          <type name="CompletionContext" c:type="GtkSourceCompletionContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3025">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="position"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3026">a #GtkTextIter, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_info_window"
              c:identifier="gtk_source_completion_get_info_window">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2987">The info widget is the window where the completion displays optional extra
information of the proposal.</doc>
        <source-position filename="gtksourcecompletion.h" line="135"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="2994">The #GtkSourceCompletionInfo window
                          associated with @completion.</doc>
          <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2989">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_providers"
              c:identifier="gtk_source_completion_get_providers">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2827">Get list of providers registered on @completion. The returned list is owned
by the completion and should not be freed.</doc>
        <source-position filename="gtksourcecompletion.h" line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="2834">
list of #GtkSourceCompletionProvider.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="CompletionProvider"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2829">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="gtk_source_completion_get_view"
              glib:get-property="view">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="3005">The #GtkSourceView associated with @completion, or %NULL if the view has been
destroyed.</doc>
        <source-position filename="gtksourcecompletion.h" line="138"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="3012">The #GtkSourceView associated with
@completion, or %NULL.</doc>
          <type name="View" c:type="GtkSourceView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3007">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hide" c:identifier="gtk_source_completion_hide">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2968">Hides the completion if it is active (visible).</doc>
        <source-position filename="gtksourcecompletion.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2970">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_window"
              c:identifier="gtk_source_completion_move_window"
              deprecated="1"
              deprecated-version="3.8">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="3062">Move the completion window to a specific iter.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_completion_provider_get_start_iter() instead.</doc-deprecated>
        <source-position filename="gtksourcecompletion.h" line="146"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3064">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3065">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_provider"
              c:identifier="gtk_source_completion_remove_provider"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2920">Remove @provider from the completion.</doc>
        <source-position filename="gtksourcecompletion.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="2928">%TRUE if @provider was successfully removed, otherwise if @error
         is provided, it will be set with the error and %FALSE is returned.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2922">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2923">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show" c:identifier="gtk_source_completion_show">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2758">Starts a new completion with the specified #GtkSourceCompletionContext and
a list of potential candidate providers for completion.

It can be convenient for showing a completion on-the-fly, without the need to
add or remove providers to the #GtkSourceCompletion.

Another solution is to add providers with
gtk_source_completion_add_provider(), and implement
gtk_source_completion_provider_match() for each provider.</doc>
        <source-position filename="gtksourcecompletion.h" line="126"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletion.c"
               line="2776">%TRUE if it was possible to the show completion window.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2760">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
          <parameter name="providers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2761">
a list of #GtkSourceCompletionProvider, or %NULL.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="CompletionProvider"/>
            </type>
          </parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2763">The #GtkSourceCompletionContext
with which to start the completion.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock_interactive"
              c:identifier="gtk_source_completion_unblock_interactive">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="3124">Unblock interactive completion. This can be used after using
gtk_source_completion_block_interactive() to enable interactive completion
again.</doc>
        <source-position filename="gtksourcecompletion.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="3126">a #GtkSourceCompletion.</doc>
            <type name="Completion" c:type="GtkSourceCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="accelerators"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="5">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2373">Number of keyboard accelerators to show for the first proposals. For
example, to activate the first proposal, the user can press
&lt;keycombo&gt;&lt;keycap&gt;Alt&lt;/keycap&gt;&lt;keycap&gt;1&lt;/keycap&gt;&lt;/keycombo&gt;.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="auto-complete-delay"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="250">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2392">Determines the popup delay (in milliseconds) at which the completion
will be shown for interactive completion.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="proposal-page-size"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="5">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2429">The scroll page size of the proposals in the completion window. In
other words, when &lt;keycap&gt;PageDown&lt;/keycap&gt; or
&lt;keycap&gt;PageUp&lt;/keycap&gt; is pressed, the selected
proposal becomes the one which is located one page size backward or
forward.

See also the #GtkSourceCompletion::move-cursor signal.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="provider-page-size"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="5">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2410">The scroll page size of the provider pages in the completion window.

See the #GtkSourceCompletion::move-page signal.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="remember-info-visibility"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2309">Determines whether the visibility of the info window should be
saved when the completion is hidden, and restored when the completion
is shown again.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="select-on-show"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2325">Determines whether the first proposal should be selected when the
completion is first shown.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-headers"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2341">Determines whether provider headers should be shown in the proposal
list. It can be useful to disable when there is only one provider.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-icons"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2357">Determines whether provider and proposal icons should be shown in
the completion popup.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_view">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2294">The #GtkSourceView bound to the completion object.</doc>
        <type name="View"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CompletionPrivate" c:type="GtkSourceCompletionPrivate*"/>
      </field>
      <glib:signal name="activate-proposal" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2574">The #GtkSourceCompletion::activate-proposal signal is a
keybinding signal which gets emitted when the user initiates
a proposal activation.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the proposal
activation programmatically.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="hide" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2468">Emitted when the completion window is hidden. The default handler
will actually hide the window.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="move-cursor" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2503">The #GtkSourceCompletion::move-cursor signal is a keybinding
signal which gets emitted when the user initiates a cursor
movement.

The &lt;keycap&gt;Up&lt;/keycap&gt;, &lt;keycap&gt;Down&lt;/keycap&gt;,
&lt;keycap&gt;PageUp&lt;/keycap&gt;, &lt;keycap&gt;PageDown&lt;/keycap&gt;,
&lt;keycap&gt;Home&lt;/keycap&gt; and &lt;keycap&gt;End&lt;/keycap&gt; keys are bound to the
normal behavior expected by those keys.

When @step is equal to %GTK_SCROLL_PAGES, the page size is defined by
the #GtkSourceCompletion:proposal-page-size property. It is used for
the &lt;keycap&gt;PageDown&lt;/keycap&gt; and &lt;keycap&gt;PageUp&lt;/keycap&gt; keys.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="step" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2506">The #GtkScrollStep by which to move the cursor</doc>
            <type name="Gtk.ScrollStep"/>
          </parameter>
          <parameter name="num" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2507">The amount of steps to move the cursor</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="move-page" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2537">The #GtkSourceCompletion::move-page signal is a keybinding
signal which gets emitted when the user initiates a page
movement (i.e. switches between provider pages).

&lt;keycombo&gt;&lt;keycap&gt;Control&lt;/keycap&gt;&lt;keycap&gt;Left&lt;/keycap&gt;&lt;/keycombo&gt;
is for going to the previous provider.
&lt;keycombo&gt;&lt;keycap&gt;Control&lt;/keycap&gt;&lt;keycap&gt;Right&lt;/keycap&gt;&lt;/keycombo&gt;
is for going to the next provider.
&lt;keycombo&gt;&lt;keycap&gt;Control&lt;/keycap&gt;&lt;keycap&gt;Home&lt;/keycap&gt;&lt;/keycombo&gt;
is for displaying all the providers.
&lt;keycombo&gt;&lt;keycap&gt;Control&lt;/keycap&gt;&lt;keycap&gt;End&lt;/keycap&gt;&lt;/keycombo&gt;
is for going to the last provider.

When @step is equal to #GTK_SCROLL_PAGES, the page size is defined by
the #GtkSourceCompletion:provider-page-size property.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the page selection
programmatically.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="step" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2540">The #GtkScrollStep by which to move the page</doc>
            <type name="Gtk.ScrollStep"/>
          </parameter>
          <parameter name="num" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2541">The amount of steps to move the page</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="populate-context" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2483">Emitted just before starting to populate the completion with providers.
You can use this signal to add additional attributes in the context.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletion.c"
                 line="2486">The #GtkSourceCompletionContext for the current completion</doc>
            <type name="CompletionContext"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="show" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.c"
             line="2452">Emitted when the completion window is shown. The default handler
will actually show the window.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <bitfield name="CompletionActivation"
              glib:type-name="GtkSourceCompletionActivation"
              glib:get-type="gtk_source_completion_activation_get_type"
              c:type="GtkSourceCompletionActivation">
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_COMPLETION_ACTIVATION_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_COMPLETION_ACTIVATION_NONE">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.h"
             line="50">None.</doc>
      </member>
      <member name="interactive"
              value="1"
              c:identifier="GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE"
              glib:nick="interactive"
              glib:name="GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.h"
             line="51">Interactive activation. By
default, it occurs on each insertion in the #GtkTextBuffer. This can be
blocked temporarily with gtk_source_completion_block_interactive().</doc>
      </member>
      <member name="user_requested"
              value="2"
              c:identifier="GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED"
              glib:nick="user-requested"
              glib:name="GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.h"
             line="54">User requested activation.
By default, it occurs when the user presses
&lt;keycombo&gt;&lt;keycap&gt;Control&lt;/keycap&gt;&lt;keycap&gt;space&lt;/keycap&gt;&lt;/keycombo&gt;.</doc>
      </member>
    </bitfield>
    <record name="CompletionClass"
            c:type="GtkSourceCompletionClass"
            glib:is-gtype-struct-for="Completion">
      <source-position filename="gtksourcecompletion.h" line="104"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="proposal_activated">
        <callback name="proposal_activated">
          <source-position filename="gtksourcecompletion.h" line="88"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
            <parameter name="provider" transfer-ownership="none">
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="proposal" transfer-ownership="none">
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show">
        <callback name="show">
          <source-position filename="gtksourcecompletion.h" line="91"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide">
        <callback name="hide">
          <source-position filename="gtksourcecompletion.h" line="92"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletion.c"
                   line="2970">a #GtkSourceCompletion.</doc>
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="populate_context">
        <callback name="populate_context">
          <source-position filename="gtksourcecompletion.h" line="93"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
            <parameter name="context" transfer-ownership="none">
              <type name="CompletionContext"
                    c:type="GtkSourceCompletionContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="move_cursor">
        <callback name="move_cursor">
          <source-position filename="gtksourcecompletion.h" line="97"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
            <parameter name="step" transfer-ownership="none">
              <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
            </parameter>
            <parameter name="num" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="move_page">
        <callback name="move_page">
          <source-position filename="gtksourcecompletion.h" line="100"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
            <parameter name="step" transfer-ownership="none">
              <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
            </parameter>
            <parameter name="num" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate_proposal">
        <callback name="activate_proposal">
          <source-position filename="gtksourcecompletion.h" line="103"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="completion" transfer-ownership="none">
              <type name="Completion" c:type="GtkSourceCompletion*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="CompletionContext"
           c:symbol-prefix="completion_context"
           c:type="GtkSourceCompletionContext"
           parent="GObject.InitiallyUnowned"
           glib:type-name="GtkSourceCompletionContext"
           glib:get-type="gtk_source_completion_context_get_type"
           glib:type-struct="CompletionContextClass">
      <source-position filename="gtksourcecompletioncontext.h" line="80"/>
      <virtual-method name="cancelled">
        <source-position filename="gtksourcecompletioncontext.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_proposals"
              c:identifier="gtk_source_completion_context_add_proposals">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="293">Providers can use this function to add proposals to the completion. They
can do so asynchronously by means of the @finished argument. Providers must
ensure that they always call this function with @finished set to %TRUE
once each population (even if no proposals need to be added).
Population occurs when the gtk_source_completion_provider_populate()
function is called.</doc>
        <source-position filename="gtksourcecompletioncontext.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="295">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </instance-parameter>
          <parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="296">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </parameter>
          <parameter name="proposals"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="297">The list of proposals to add.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="CompletionProposal"/>
            </type>
          </parameter>
          <parameter name="finished" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="298">Whether the provider is finished adding proposals.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_activation"
              c:identifier="gtk_source_completion_context_get_activation"
              glib:get-property="activation">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="375">Get the context activation.</doc>
        <source-position filename="gtksourcecompletioncontext.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletioncontext.c"
               line="381">The context activation.</doc>
          <type name="CompletionActivation"
                c:type="GtkSourceCompletionActivation"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="377">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_iter"
              c:identifier="gtk_source_completion_context_get_iter"
              glib:get-property="iter">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="323">Get the iter at which the completion was invoked. Providers can use this
to determine how and if to match proposals.</doc>
        <source-position filename="gtksourcecompletioncontext.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletioncontext.c"
               line="331">%TRUE if @iter is correctly set, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="325">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </instance-parameter>
          <parameter name="iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioncontext.c"
                 line="326">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <property name="activation"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_activation"
                default-value="GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="270">The completion activation</doc>
        <type name="CompletionActivation"/>
      </property>
      <property name="completion"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="241">The #GtkSourceCompletion associated with the context.</doc>
        <type name="Completion"/>
      </property>
      <property name="iter"
                writable="1"
                transfer-ownership="none"
                getter="get_iter">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="256">The #GtkTextIter at which the completion is invoked.</doc>
        <type name="Gtk.TextIter"/>
      </property>
      <field name="parent">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="priv">
        <type name="CompletionContextPrivate"
              c:type="GtkSourceCompletionContextPrivate*"/>
      </field>
      <glib:signal name="cancelled" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletioncontext.c"
             line="226">Emitted when the current population of proposals has been cancelled.
Providers adding proposals asynchronously should connect to this signal
to know when to cancel running proposal queries.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="CompletionContextClass"
            c:type="GtkSourceCompletionContextClass"
            glib:is-gtype-struct-for="CompletionContext">
      <source-position filename="gtksourcecompletioncontext.h" line="80"/>
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="cancelled">
        <callback name="cancelled">
          <source-position filename="gtksourcecompletioncontext.h" line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="CompletionContext"
                    c:type="GtkSourceCompletionContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcecompletioncontext.h" line="77"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcecompletioncontext.h" line="78"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved3" introspectable="0">
        <callback name="_gtk_source_reserved3">
          <source-position filename="gtksourcecompletioncontext.h" line="79"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="CompletionContextPrivate"
            c:type="GtkSourceCompletionContextPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcecompletioncontext.h" line="46"/>
    </record>
    <enumeration name="CompletionError"
                 glib:type-name="GtkSourceCompletionError"
                 glib:get-type="gtk_source_completion_error_get_type"
                 c:type="GtkSourceCompletionError"
                 glib:error-domain="gtk-source-completion-error-quark">
      <doc xml:space="preserve"
           filename="gtksourcecompletion.h"
           line="61">An error code used with %GTK_SOURCE_COMPLETION_ERROR in a #GError returned
from a completion-related function.</doc>
      <member name="already_bound"
              value="0"
              c:identifier="GTK_SOURCE_COMPLETION_ERROR_ALREADY_BOUND"
              glib:nick="already-bound"
              glib:name="GTK_SOURCE_COMPLETION_ERROR_ALREADY_BOUND">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.h"
             line="63">The #GtkSourceCompletionProvider
is already bound to the #GtkSourceCompletion object.</doc>
      </member>
      <member name="not_bound"
              value="1"
              c:identifier="GTK_SOURCE_COMPLETION_ERROR_NOT_BOUND"
              glib:nick="not-bound"
              glib:name="GTK_SOURCE_COMPLETION_ERROR_NOT_BOUND">
        <doc xml:space="preserve"
             filename="gtksourcecompletion.h"
             line="65">The #GtkSourceCompletionProvider is
not bound to the #GtkSourceCompletion object.</doc>
      </member>
      <function name="quark" c:identifier="gtk_source_completion_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="CompletionInfo"
           c:symbol-prefix="completion_info"
           c:type="GtkSourceCompletionInfo"
           parent="Gtk.Window"
           glib:type-name="GtkSourceCompletionInfo"
           glib:get-type="gtk_source_completion_info_get_type"
           glib:type-struct="CompletionInfoClass">
      <source-position filename="gtksourcecompletioninfo.h" line="62"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gtk_source_completion_info_new">
        <source-position filename="gtksourcecompletioninfo.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletioninfo.c"
               line="565">a new GtkSourceCompletionInfo.</doc>
          <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
        </return-value>
      </constructor>
      <virtual-method name="before_show">
        <source-position filename="gtksourcecompletioninfo.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_widget"
              c:identifier="gtk_source_completion_info_get_widget"
              deprecated="1"
              deprecated-version="3.8">
        <doc xml:space="preserve"
             filename="gtksourcecompletioninfo.c"
             line="644">Get the current content widget.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_bin_get_child() instead.</doc-deprecated>
        <source-position filename="gtksourcecompletioninfo.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletioninfo.c"
               line="650">The current content widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioninfo.c"
                 line="646">a #GtkSourceCompletionInfo.</doc>
            <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_to_iter"
              c:identifier="gtk_source_completion_info_move_to_iter">
        <doc xml:space="preserve"
             filename="gtksourcecompletioninfo.c"
             line="576">Moves the #GtkSourceCompletionInfo to @iter. If @iter is %NULL @info is
moved to the cursor position. Moving will respect the #GdkGravity setting
of the info window and will ensure the line at @iter is not occluded by
the window.</doc>
        <source-position filename="gtksourcecompletioninfo.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioninfo.c"
                 line="578">a #GtkSourceCompletionInfo.</doc>
            <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioninfo.c"
                 line="579">a #GtkTextView on which the info window should be positioned.</doc>
            <type name="Gtk.TextView" c:type="GtkTextView*"/>
          </parameter>
          <parameter name="iter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioninfo.c"
                 line="580">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_widget"
              c:identifier="gtk_source_completion_info_set_widget"
              deprecated="1"
              deprecated-version="3.8">
        <doc xml:space="preserve"
             filename="gtksourcecompletioninfo.c"
             line="605">Sets the content widget of the info window. See that the previous widget will
lose a reference and it can be destroyed, so if you do not want this to
happen you must use g_object_ref() before calling this method.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_container_add() instead. If there is already a child
widget, remove it with gtk_container_remove().</doc-deprecated>
        <source-position filename="gtksourcecompletioninfo.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioninfo.c"
                 line="607">a #GtkSourceCompletionInfo.</doc>
            <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletioninfo.c"
                 line="608">a #GtkWidget.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
      <field name="priv">
        <type name="CompletionInfoPrivate"
              c:type="GtkSourceCompletionInfoPrivate*"/>
      </field>
      <glib:signal name="before-show"
                   when="last"
                   action="1"
                   deprecated="1"
                   deprecated-version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcecompletioninfo.c"
             line="352">This signal is emitted before any "show" management. You can connect
to this signal if you want to change some properties or position
before the real "show".</doc>
        <doc-deprecated xml:space="preserve">This signal should not be used.</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="CompletionInfoClass"
            c:type="GtkSourceCompletionInfoClass"
            glib:is-gtype-struct-for="CompletionInfo">
      <source-position filename="gtksourcecompletioninfo.h" line="62"/>
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="before_show">
        <callback name="before_show">
          <source-position filename="gtksourcecompletioninfo.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="CompletionInfoPrivate"
            c:type="GtkSourceCompletionInfoPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcecompletioninfo.h" line="46"/>
    </record>
    <class name="CompletionItem"
           c:symbol-prefix="completion_item"
           c:type="GtkSourceCompletionItem"
           parent="GObject.Object"
           glib:type-name="GtkSourceCompletionItem"
           glib:get-type="gtk_source_completion_item_get_type"
           glib:type-struct="CompletionItemClass">
      <source-position filename="gtksourcecompletionitem.h" line="57"/>
      <implements name="CompletionProposal"/>
      <constructor name="new"
                   c:identifier="gtk_source_completion_item_new"
                   deprecated="1"
                   deprecated-version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="376">Create a new #GtkSourceCompletionItem with label @label, icon @icon and
extra information @info. Both @icon and @info can be %NULL in which case
there will be no icon shown and no extra information available.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_completion_item_new2() instead.</doc-deprecated>
        <source-position filename="gtksourcecompletionitem.h" line="63"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionitem.c"
               line="387">a new #GtkSourceCompletionItem.</doc>
          <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="378">The item label.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="379">The item text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="380">The item icon.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="info"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="381">The item extra information.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_stock"
                   c:identifier="gtk_source_completion_item_new_from_stock"
                   deprecated="1"
                   deprecated-version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="434">Creates a new #GtkSourceCompletionItem from a stock item. If @label is %NULL,
the stock label will be used.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_completion_item_new2() instead.</doc-deprecated>
        <source-position filename="gtksourcecompletionitem.h" line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionitem.c"
               line="444">a new #GtkSourceCompletionItem.</doc>
          <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
        </return-value>
        <parameters>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="436">The item label.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="437">The item text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stock" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="438">The stock icon.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="info"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="439">The item extra information.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_markup"
                   c:identifier="gtk_source_completion_item_new_with_markup"
                   deprecated="1"
                   deprecated-version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="404">Create a new #GtkSourceCompletionItem with markup label @markup, icon
@icon and extra information @info. Both @icon and @info can be %NULL in
which case there will be no icon shown and no extra information available.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_completion_item_new2() instead.</doc-deprecated>
        <source-position filename="gtksourcecompletionitem.h" line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionitem.c"
               line="415">a new #GtkSourceCompletionItem.</doc>
          <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
        </return-value>
        <parameters>
          <parameter name="markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="406">The item markup label.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="407">The item text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="408">The item icon.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="info"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="409">The item extra information.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new2"
                c:identifier="gtk_source_completion_item_new2"
                version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="494">Creates a new #GtkSourceCompletionItem. The desired properties need to be set
afterwards.</doc>
        <source-position filename="gtksourcecompletionitem.h" line="81"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionitem.c"
               line="500">a new #GtkSourceCompletionItem.</doc>
          <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
        </return-value>
      </function>
      <method name="set_gicon"
              c:identifier="gtk_source_completion_item_set_gicon"
              glib:set-property="gicon"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="624">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="gicon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="625">the #GIcon, or %NULL.</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon"
              c:identifier="gtk_source_completion_item_set_icon"
              glib:set-property="icon"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="580">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="581">the #GdkPixbuf, or %NULL.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="gtk_source_completion_item_set_icon_name"
              glib:set-property="icon-name"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="601">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="602">the icon name, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_info"
              c:identifier="gtk_source_completion_item_set_info"
              glib:set-property="info"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="645">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="info"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="646">the info, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gtk_source_completion_item_set_label"
              glib:set-property="label"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="511">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="512">the label, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="gtk_source_completion_item_set_markup"
              glib:set-property="markup"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="534">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="markup"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="535">the markup, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text"
              c:identifier="gtk_source_completion_item_set_text"
              glib:set-property="text"
              version="3.24">
        <source-position filename="gtksourcecompletionitem.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="557">a #GtkSourceCompletionItem.</doc>
            <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionitem.c"
                 line="558">the text, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="gicon"
                version="3.18"
                writable="1"
                transfer-ownership="none"
                setter="set_gicon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="339">The #GIcon for the icon to be shown for this proposal.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="icon"
                writable="1"
                transfer-ownership="none"
                setter="set_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="309">The #GdkPixbuf for the icon to be shown for this proposal.</doc>
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="icon-name"
                version="3.18"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="323">The icon name for the icon to be shown for this proposal.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="info"
                writable="1"
                transfer-ownership="none"
                setter="set_info"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="355">Optional extra information to be shown for this proposal.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="label"
                writable="1"
                transfer-ownership="none"
                setter="set_label"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="267">Label to be shown for this proposal.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="markup"
                writable="1"
                transfer-ownership="none"
                setter="set_markup"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="281">Label with markup to be shown for this proposal.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="text"
                writable="1"
                transfer-ownership="none"
                setter="set_text"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcecompletionitem.c"
             line="295">Proposal text.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CompletionItemPrivate"
              c:type="GtkSourceCompletionItemPrivate*"/>
      </field>
    </class>
    <record name="CompletionItemClass"
            c:type="GtkSourceCompletionItemClass"
            glib:is-gtype-struct-for="CompletionItem">
      <source-position filename="gtksourcecompletionitem.h" line="57"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="CompletionItemPrivate"
            c:type="GtkSourceCompletionItemPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcecompletionitem.h" line="47"/>
    </record>
    <record name="CompletionPrivate"
            c:type="GtkSourceCompletionPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcecompletion.h" line="58"/>
    </record>
    <interface name="CompletionProposal"
               c:symbol-prefix="completion_proposal"
               c:type="GtkSourceCompletionProposal"
               glib:type-name="GtkSourceCompletionProposal"
               glib:get-type="gtk_source_completion_proposal_get_type"
               glib:type-struct="CompletionProposalIface">
      <source-position filename="gtksourcecompletionproposal.h" line="93"/>
      <virtual-method name="changed" invoker="changed">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="323">Emits the "changed" signal on @proposal. This should be called by
implementations whenever the name, icon or info of the proposal has
changed.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="325">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="equal" invoker="equal">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="302">Get whether two proposal objects are the same.  This is used to (together
with gtk_source_completion_proposal_hash()) to match proposals in the
completion model. By default, it uses direct equality (g_direct_equal()).</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="311">%TRUE if @proposal and @object are the same proposal</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="304">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="305">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_gicon" invoker="get_gicon" version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="246">Gets the #GIcon for the icon of @proposal.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="83"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="252">A #GIcon with the icon of @proposal.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="248">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_icon" invoker="get_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="212">Gets the #GdkPixbuf for the icon of @proposal.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="81"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="218">A #GdkPixbuf with the icon of @proposal.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="214">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_icon_name"
                      invoker="get_icon_name"
                      version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="228">Gets the icon name of @proposal.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="82"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="234">The icon name of @proposal.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="230">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_info" invoker="get_info">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="264">Gets extra information associated to the proposal. This information will be
used to present the user with extra, detailed information about the
selected proposal. The returned string must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="85"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="272">a newly-allocated string containing
extra information of @proposal or %NULL if no extra information is associated
to @proposal.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="266">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_label" invoker="get_label">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="153">Gets the label of @proposal. The label is shown in the list of proposals as
plain text. If you need any markup (such as bold or italic text), you have
to implement gtk_source_completion_proposal_get_markup(). The returned string
must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="77"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="162">a new string containing the label of @proposal.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="155">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_markup" invoker="get_markup">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="172">Gets the label of @proposal with markup. The label is shown in the list of
proposals and may contain markup. This will be used instead of
gtk_source_completion_proposal_get_label() if implemented. The returned string
must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="78"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="181">a new string containing the label of @proposal with markup.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="174">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_text" invoker="get_text">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="191">Gets the text of @proposal. The text that is inserted into
the text buffer when the proposal is activated by the default activation.
You are free to implement a custom activation handler in the provider and
not implement this function. For more information, see
gtk_source_completion_provider_activate_proposal(). The returned string must
be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="202">a new string containing the text of @proposal.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="193">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hash" invoker="hash">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="284">Get the hash value of @proposal. This is used to (together with
gtk_source_completion_proposal_equal()) to match proposals in the completion
model. By default, it uses a direct hash (g_direct_hash()).</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="292">The hash value of @proposal.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="286">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="changed"
              c:identifier="gtk_source_completion_proposal_changed">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="323">Emits the "changed" signal on @proposal. This should be called by
implementations whenever the name, icon or info of the proposal has
changed.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="325">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equal" c:identifier="gtk_source_completion_proposal_equal">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="302">Get whether two proposal objects are the same.  This is used to (together
with gtk_source_completion_proposal_hash()) to match proposals in the
completion model. By default, it uses direct equality (g_direct_equal()).</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="126"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="311">%TRUE if @proposal and @object are the same proposal</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="304">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="305">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gicon"
              c:identifier="gtk_source_completion_proposal_get_gicon"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="246">Gets the #GIcon for the icon of @proposal.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="114"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="252">A #GIcon with the icon of @proposal.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="248">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="gtk_source_completion_proposal_get_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="212">Gets the #GdkPixbuf for the icon of @proposal.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="108"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="218">A #GdkPixbuf with the icon of @proposal.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="214">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="gtk_source_completion_proposal_get_icon_name"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="228">Gets the icon name of @proposal.</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="111"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="234">The icon name of @proposal.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="230">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_info"
              c:identifier="gtk_source_completion_proposal_get_info">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="264">Gets extra information associated to the proposal. This information will be
used to present the user with extra, detailed information about the
selected proposal. The returned string must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="117"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="272">a newly-allocated string containing
extra information of @proposal or %NULL if no extra information is associated
to @proposal.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="266">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="gtk_source_completion_proposal_get_label">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="153">Gets the label of @proposal. The label is shown in the list of proposals as
plain text. If you need any markup (such as bold or italic text), you have
to implement gtk_source_completion_proposal_get_markup(). The returned string
must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="99"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="162">a new string containing the label of @proposal.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="155">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_markup"
              c:identifier="gtk_source_completion_proposal_get_markup">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="172">Gets the label of @proposal with markup. The label is shown in the list of
proposals and may contain markup. This will be used instead of
gtk_source_completion_proposal_get_label() if implemented. The returned string
must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="102"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="181">a new string containing the label of @proposal with markup.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="174">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text"
              c:identifier="gtk_source_completion_proposal_get_text">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="191">Gets the text of @proposal. The text that is inserted into
the text buffer when the proposal is activated by the default activation.
You are free to implement a custom activation handler in the provider and
not implement this function. For more information, see
gtk_source_completion_provider_activate_proposal(). The returned string must
be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="105"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="202">a new string containing the text of @proposal.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="193">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hash" c:identifier="gtk_source_completion_proposal_hash">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="284">Get the hash value of @proposal. This is used to (together with
gtk_source_completion_proposal_equal()) to match proposals in the completion
model. By default, it uses a direct hash (g_direct_hash()).</doc>
        <source-position filename="gtksourcecompletionproposal.h" line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionproposal.c"
               line="292">The hash value of @proposal.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="286">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="changed" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.c"
             line="133">Emitted when the proposal has changed. The completion popup
will react to this by updating the shown information.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="CompletionProposalIface"
            c:type="GtkSourceCompletionProposalIface"
            glib:is-gtype-struct-for="CompletionProposal">
      <doc xml:space="preserve"
           filename="gtksourcecompletionproposal.h"
           line="47">The virtual function table for #GtkSourceCompletionProposal.</doc>
      <source-position filename="gtksourcecompletionproposal.h" line="93"/>
      <field name="parent">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="49">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_label">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="50">The virtual function pointer for gtk_source_completion_proposal_get_label().
By default, %NULL is returned.</doc>
        <callback name="get_label">
          <source-position filename="gtksourcecompletionproposal.h" line="77"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="162">a new string containing the label of @proposal.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="155">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_markup">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="52">The virtual function pointer for gtk_source_completion_proposal_get_markup().
By default, %NULL is returned.</doc>
        <callback name="get_markup">
          <source-position filename="gtksourcecompletionproposal.h" line="78"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="181">a new string containing the label of @proposal with markup.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="174">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_text">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="54">The virtual function pointer for gtk_source_completion_proposal_get_text().
By default, %NULL is returned.</doc>
        <callback name="get_text">
          <source-position filename="gtksourcecompletionproposal.h" line="79"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="202">a new string containing the text of @proposal.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="193">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="56">The virtual function pointer for gtk_source_completion_proposal_get_icon().
By default, %NULL is returned.</doc>
        <callback name="get_icon">
          <source-position filename="gtksourcecompletionproposal.h" line="81"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="218">A #GdkPixbuf with the icon of @proposal.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="214">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_icon_name">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="58">The virtual function pointer for gtk_source_completion_proposal_get_icon_name().
By default, %NULL is returned.</doc>
        <callback name="get_icon_name">
          <source-position filename="gtksourcecompletionproposal.h" line="82"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="234">The icon name of @proposal.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="230">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_gicon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="60">The virtual function pointer for gtk_source_completion_proposal_get_gicon().
By default, %NULL is returned.</doc>
        <callback name="get_gicon">
          <source-position filename="gtksourcecompletionproposal.h" line="83"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="252">A #GIcon with the icon of @proposal.</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="248">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_info">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="62">The virtual function pointer for gtk_source_completion_proposal_get_info().
By default, %NULL is returned.</doc>
        <callback name="get_info">
          <source-position filename="gtksourcecompletionproposal.h" line="85"/>
          <return-value transfer-ownership="full" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="272">a newly-allocated string containing
extra information of @proposal or %NULL if no extra information is associated
to @proposal.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="266">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hash">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="64">The virtual function pointer for gtk_source_completion_proposal_hash().
By default, it uses a direct hash (g_direct_hash()).</doc>
        <callback name="hash">
          <source-position filename="gtksourcecompletionproposal.h" line="87"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="292">The hash value of @proposal.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="286">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equal">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="66">The virtual function pointer for gtk_source_completion_proposal_equal().
By default, it uses direct equality (g_direct_equal()).</doc>
        <callback name="equal">
          <source-position filename="gtksourcecompletionproposal.h" line="88"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionproposal.c"
                 line="311">%TRUE if @proposal and @object are the same proposal</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="304">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
            <parameter name="other" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="305">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="changed">
        <doc xml:space="preserve"
             filename="gtksourcecompletionproposal.h"
             line="68">The function pointer for the #GtkSourceCompletionProposal::changed signal.</doc>
        <callback name="changed">
          <source-position filename="gtksourcecompletionproposal.h" line="92"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionproposal.c"
                   line="325">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="CompletionProvider"
               c:symbol-prefix="completion_provider"
               c:type="GtkSourceCompletionProvider"
               glib:type-name="GtkSourceCompletionProvider"
               glib:get-type="gtk_source_completion_provider_get_type"
               glib:type-struct="CompletionProviderIface">
      <source-position filename="gtksourcecompletionprovider.h" line="114"/>
      <virtual-method name="activate_proposal" invoker="activate_proposal">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="391">Activate @proposal at @iter. When this functions returns %FALSE, the default
activation of @proposal will take place which replaces the word at @iter
with the text of @proposal (see gtk_source_completion_proposal_get_text()).

Here is how the default activation selects the boundaries of the word to
replace. The end of the word is @iter. For the start of the word, it depends
on whether a start iter is defined for @proposal (see
gtk_source_completion_provider_get_start_iter()). If a start iter is defined,
the start of the word is the start iter. Else, the word (as long as possible)
will contain only alphanumerical and the "_" characters.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="408">%TRUE to indicate that the proposal activation has been handled,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="393">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="394">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="395">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_activation" invoker="get_activation">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="254">Get with what kind of activation the provider should be activated.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="260">a combination of #GtkSourceCompletionActivation.</doc>
          <type name="CompletionActivation"
                c:type="GtkSourceCompletionActivation"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="256">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_gicon" invoker="get_gicon" version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="218">Gets the #GIcon for the icon of @provider.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="87"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="224">The icon to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="220">The #GtkSourceCompletionProvider</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_icon" invoker="get_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="182">Get the #GdkPixbuf for the icon of the @provider.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="85"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="188">The icon to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="184">The #GtkSourceCompletionProvider</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_icon_name"
                      invoker="get_icon_name"
                      version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="199">Gets the icon name of @provider.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="86"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="205">The icon name to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="201">The #GtkSourceCompletionProvider</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_info_widget" invoker="get_info_widget">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="290">Get a customized info widget to show extra information of a proposal.
This allows for customized widgets on a proposal basis, although in general
providers will have the same custom widget for all their proposals and
@proposal can be ignored. The implementation of this function is optional.

If this function is not implemented, the default widget is a #GtkLabel. The
return value of gtk_source_completion_proposal_get_info() is used as the
content of the #GtkLabel.

&lt;note&gt;
  &lt;para&gt;
    If implemented, gtk_source_completion_provider_update_info()
    &lt;emphasis&gt;must&lt;/emphasis&gt; also be implemented.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="98"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="311">a custom #GtkWidget to show extra
information about @proposal, or %NULL if the provider does not have a special
info widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="292">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="293">a currently selected #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_interactive_delay"
                      invoker="get_interactive_delay">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="424">Get the delay in milliseconds before starting interactive completion for
this provider. A value of -1 indicates to use the default value as set
by the #GtkSourceCompletion:auto-complete-delay property.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="432">the interactive delay in milliseconds.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="426">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_name" invoker="get_name">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="164">Get the name of the provider. This should be a translatable name for
display to the user. For example: _("Document word completion provider"). The
returned string must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="83"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="172">a new string containing the name of the provider.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="166">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_priority" invoker="get_priority">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="442">Get the provider priority. The priority determines the order in which
proposals appear in the completion popup. Higher priorities are sorted
before lower priorities. The default priority is 0.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="450">the provider priority.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="444">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_start_iter" invoker="get_start_iter">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="352">Get the #GtkTextIter at which the completion for @proposal starts. When
implemented, this information is used to position the completion window
accordingly when a proposal is selected in the completion window. The
@proposal text inside the completion window is aligned on @iter.

If this function is not implemented, the word boundary is taken to position
the completion window. See gtk_source_completion_provider_activate_proposal()
for an explanation on the word boundaries.

When the @proposal is activated, the default handler uses @iter as the start
of the word to replace. See
gtk_source_completion_provider_activate_proposal() for more information.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="372">%TRUE if @iter was set for @proposal, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="354">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="356">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="355">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
          <parameter name="iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="357">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="match" invoker="match">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="270">Get whether the provider match the context of completion detailed in
@context.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="278">%TRUE if @provider matches the completion context, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="272">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="273">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="populate" invoker="populate">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="237">Populate @context with proposals from @provider added with the
gtk_source_completion_context_add_proposals() function.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="239">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="240">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_info" invoker="update_info">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="325">Update extra information shown in @info for @proposal.

&lt;note&gt;
  &lt;para&gt;
    This function &lt;emphasis&gt;must&lt;/emphasis&gt; be implemented when
    gtk_source_completion_provider_get_info_widget() is implemented.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="327">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="328">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="329">a #GtkSourceCompletionInfo.</doc>
            <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate_proposal"
              c:identifier="gtk_source_completion_provider_activate_proposal">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="391">Activate @proposal at @iter. When this functions returns %FALSE, the default
activation of @proposal will take place which replaces the word at @iter
with the text of @proposal (see gtk_source_completion_proposal_get_text()).

Here is how the default activation selects the boundaries of the word to
replace. The end of the word is @iter. For the start of the word, it depends
on whether a start iter is defined for @proposal (see
gtk_source_completion_provider_get_start_iter()). If a start iter is defined,
the start of the word is the start iter. Else, the word (as long as possible)
will contain only alphanumerical and the "_" characters.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="408">%TRUE to indicate that the proposal activation has been handled,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="393">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="394">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="395">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_activation"
              c:identifier="gtk_source_completion_provider_get_activation">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="254">Get with what kind of activation the provider should be activated.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="137"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="260">a combination of #GtkSourceCompletionActivation.</doc>
          <type name="CompletionActivation"
                c:type="GtkSourceCompletionActivation"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="256">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gicon"
              c:identifier="gtk_source_completion_provider_get_gicon"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="218">Gets the #GIcon for the icon of @provider.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="129"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="224">The icon to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="220">The #GtkSourceCompletionProvider</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="gtk_source_completion_provider_get_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="182">Get the #GdkPixbuf for the icon of the @provider.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="123"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="188">The icon to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="184">The #GtkSourceCompletionProvider</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="gtk_source_completion_provider_get_icon_name"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="199">Gets the icon name of @provider.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="126"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="205">The icon name to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="201">The #GtkSourceCompletionProvider</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_info_widget"
              c:identifier="gtk_source_completion_provider_get_info_widget">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="290">Get a customized info widget to show extra information of a proposal.
This allows for customized widgets on a proposal basis, although in general
providers will have the same custom widget for all their proposals and
@proposal can be ignored. The implementation of this function is optional.

If this function is not implemented, the default widget is a #GtkLabel. The
return value of gtk_source_completion_proposal_get_info() is used as the
content of the #GtkLabel.

&lt;note&gt;
  &lt;para&gt;
    If implemented, gtk_source_completion_provider_update_info()
    &lt;emphasis&gt;must&lt;/emphasis&gt; also be implemented.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="144"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="311">a custom #GtkWidget to show extra
information about @proposal, or %NULL if the provider does not have a special
info widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="292">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="293">a currently selected #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_interactive_delay"
              c:identifier="gtk_source_completion_provider_get_interactive_delay">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="424">Get the delay in milliseconds before starting interactive completion for
this provider. A value of -1 indicates to use the default value as set
by the #GtkSourceCompletion:auto-complete-delay property.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="432">the interactive delay in milliseconds.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="426">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gtk_source_completion_provider_get_name">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="164">Get the name of the provider. This should be a translatable name for
display to the user. For example: _("Document word completion provider"). The
returned string must be freed with g_free().</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="120"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="172">a new string containing the name of the provider.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="166">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_priority"
              c:identifier="gtk_source_completion_provider_get_priority">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="442">Get the provider priority. The priority determines the order in which
proposals appear in the completion popup. Higher priorities are sorted
before lower priorities. The default priority is 0.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="167"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="450">the provider priority.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="444">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_start_iter"
              c:identifier="gtk_source_completion_provider_get_start_iter">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="352">Get the #GtkTextIter at which the completion for @proposal starts. When
implemented, this information is used to position the completion window
accordingly when a proposal is selected in the completion window. The
@proposal text inside the completion window is aligned on @iter.

If this function is not implemented, the word boundary is taken to position
the completion window. See gtk_source_completion_provider_activate_proposal()
for an explanation on the word boundaries.

When the @proposal is activated, the default handler uses @iter as the start
of the word to replace. See
gtk_source_completion_provider_activate_proposal() for more information.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="153"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="372">%TRUE if @iter was set for @proposal, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="354">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="356">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="355">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
          <parameter name="iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="357">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="match" c:identifier="gtk_source_completion_provider_match">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="270">Get whether the provider match the context of completion detailed in
@context.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcecompletionprovider.c"
               line="278">%TRUE if @provider matches the completion context, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="272">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="273">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="populate"
              c:identifier="gtk_source_completion_provider_populate">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="237">Populate @context with proposals from @provider added with the
gtk_source_completion_context_add_proposals() function.</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="239">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="240">a #GtkSourceCompletionContext.</doc>
            <type name="CompletionContext"
                  c:type="GtkSourceCompletionContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_info"
              c:identifier="gtk_source_completion_provider_update_info">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.c"
             line="325">Update extra information shown in @info for @proposal.

&lt;note&gt;
  &lt;para&gt;
    This function &lt;emphasis&gt;must&lt;/emphasis&gt; be implemented when
    gtk_source_completion_provider_get_info_widget() is implemented.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="gtksourcecompletionprovider.h" line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="327">a #GtkSourceCompletionProvider.</doc>
            <type name="CompletionProvider"
                  c:type="GtkSourceCompletionProvider*"/>
          </instance-parameter>
          <parameter name="proposal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="328">a #GtkSourceCompletionProposal.</doc>
            <type name="CompletionProposal"
                  c:type="GtkSourceCompletionProposal*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="329">a #GtkSourceCompletionInfo.</doc>
            <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="CompletionProviderIface"
            c:type="GtkSourceCompletionProviderIface"
            glib:is-gtype-struct-for="CompletionProvider">
      <doc xml:space="preserve"
           filename="gtksourcecompletionprovider.h"
           line="47">The virtual function table for #GtkSourceCompletionProvider.</doc>
      <source-position filename="gtksourcecompletionprovider.h" line="114"/>
      <field name="g_iface">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="49">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_name">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="50">The virtual function pointer for gtk_source_completion_provider_get_name().
Must be implemented.</doc>
        <callback name="get_name">
          <source-position filename="gtksourcecompletionprovider.h" line="83"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="172">a new string containing the name of the provider.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="166">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_icon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="52">The virtual function pointer for gtk_source_completion_provider_get_icon().
By default, %NULL is returned.</doc>
        <callback name="get_icon">
          <source-position filename="gtksourcecompletionprovider.h" line="85"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="188">The icon to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="184">The #GtkSourceCompletionProvider</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_icon_name">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="54">The virtual function pointer for gtk_source_completion_provider_get_icon_name().
By default, %NULL is returned.</doc>
        <callback name="get_icon_name">
          <source-position filename="gtksourcecompletionprovider.h" line="86"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="205">The icon name to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="201">The #GtkSourceCompletionProvider</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_gicon">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="56">The virtual function pointer for gtk_source_completion_provider_get_gicon().
By default, %NULL is returned.</doc>
        <callback name="get_gicon">
          <source-position filename="gtksourcecompletionprovider.h" line="87"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="224">The icon to be used for the provider,
         or %NULL if the provider does not have a special icon.</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="220">The #GtkSourceCompletionProvider</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="populate">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="58">The virtual function pointer for gtk_source_completion_provider_populate().
Add no proposals by default.</doc>
        <callback name="populate">
          <source-position filename="gtksourcecompletionprovider.h" line="89"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="239">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="context" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="240">a #GtkSourceCompletionContext.</doc>
              <type name="CompletionContext"
                    c:type="GtkSourceCompletionContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="match">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="60">The virtual function pointer for gtk_source_completion_provider_match().
By default, %TRUE is returned.</doc>
        <callback name="match">
          <source-position filename="gtksourcecompletionprovider.h" line="92"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="278">%TRUE if @provider matches the completion context, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="272">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="context" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="273">a #GtkSourceCompletionContext.</doc>
              <type name="CompletionContext"
                    c:type="GtkSourceCompletionContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_activation">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="62">The virtual function pointer for gtk_source_completion_provider_get_activation().
The combination of all #GtkSourceCompletionActivation is returned by default.</doc>
        <callback name="get_activation">
          <source-position filename="gtksourcecompletionprovider.h" line="96"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="260">a combination of #GtkSourceCompletionActivation.</doc>
            <type name="CompletionActivation"
                  c:type="GtkSourceCompletionActivation"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="256">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_info_widget">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="64">The virtual function pointer for gtk_source_completion_provider_get_info_widget().
By default, %NULL is returned.</doc>
        <callback name="get_info_widget">
          <source-position filename="gtksourcecompletionprovider.h" line="98"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="311">a custom #GtkWidget to show extra
information about @proposal, or %NULL if the provider does not have a special
info widget.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="292">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="293">a currently selected #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_info">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="66">The virtual function pointer for gtk_source_completion_provider_update_info().
Does nothing by default.</doc>
        <callback name="update_info">
          <source-position filename="gtksourcecompletionprovider.h"
                           line="100"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="327">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="328">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="329">a #GtkSourceCompletionInfo.</doc>
              <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_start_iter">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="68">The virtual function pointer for gtk_source_completion_provider_get_start_iter().
By default, %FALSE is returned.</doc>
        <callback name="get_start_iter">
          <source-position filename="gtksourcecompletionprovider.h"
                           line="104"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="372">%TRUE if @iter was set for @proposal, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="354">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="context" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="356">a #GtkSourceCompletionContext.</doc>
              <type name="CompletionContext"
                    c:type="GtkSourceCompletionContext*"/>
            </parameter>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="355">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
            <parameter name="iter"
                       direction="out"
                       caller-allocates="1"
                       transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="357">a #GtkTextIter.</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate_proposal">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="70">The virtual function pointer for gtk_source_completion_provider_activate_proposal().
By default, %FALSE is returned.</doc>
        <callback name="activate_proposal">
          <source-position filename="gtksourcecompletionprovider.h"
                           line="108"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="408">%TRUE to indicate that the proposal activation has been handled,
         %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="393">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
            <parameter name="proposal" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="394">a #GtkSourceCompletionProposal.</doc>
              <type name="CompletionProposal"
                    c:type="GtkSourceCompletionProposal*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="395">a #GtkTextIter.</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_interactive_delay">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="72">The virtual function pointer for gtk_source_completion_provider_get_interactive_delay().
By default, -1 is returned.</doc>
        <callback name="get_interactive_delay">
          <source-position filename="gtksourcecompletionprovider.h"
                           line="112"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="432">the interactive delay in milliseconds.</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="426">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_priority">
        <doc xml:space="preserve"
             filename="gtksourcecompletionprovider.h"
             line="74">The virtual function pointer for gtk_source_completion_provider_get_priority().
By default, 0 is returned.</doc>
        <callback name="get_priority">
          <source-position filename="gtksourcecompletionprovider.h"
                           line="113"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcecompletionprovider.c"
                 line="450">the provider priority.</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcecompletionprovider.c"
                   line="444">a #GtkSourceCompletionProvider.</doc>
              <type name="CompletionProvider"
                    c:type="GtkSourceCompletionProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="CompletionWords"
           c:symbol-prefix="completion_words"
           c:type="GtkSourceCompletionWords"
           parent="GObject.Object"
           glib:type-name="GtkSourceCompletionWords"
           glib:get-type="gtk_source_completion_words_get_type"
           glib:type-struct="CompletionWordsClass">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="57"/>
      <implements name="CompletionProvider"/>
      <constructor name="new" c:identifier="gtk_source_completion_words_new">
        <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                         line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="completion-providers/words/gtksourcecompletionwords.c"
               line="577">a new #GtkSourceCompletionWords provider</doc>
          <type name="CompletionWords" c:type="GtkSourceCompletionWords*"/>
        </return-value>
        <parameters>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="completion-providers/words/gtksourcecompletionwords.c"
                 line="574">The name for the provider, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="completion-providers/words/gtksourcecompletionwords.c"
                 line="575">A specific icon for the provider, or %NULL.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="register"
              c:identifier="gtk_source_completion_words_register">
        <doc xml:space="preserve"
             filename="completion-providers/words/gtksourcecompletionwords.c"
             line="598">Registers @buffer in the @words provider.</doc>
        <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="words" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="completion-providers/words/gtksourcecompletionwords.c"
                 line="600">a #GtkSourceCompletionWords</doc>
            <type name="CompletionWords" c:type="GtkSourceCompletionWords*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="completion-providers/words/gtksourcecompletionwords.c"
                 line="601">a #GtkTextBuffer</doc>
            <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister"
              c:identifier="gtk_source_completion_words_unregister">
        <doc xml:space="preserve"
             filename="completion-providers/words/gtksourcecompletionwords.c"
             line="644">Unregisters @buffer from the @words provider.</doc>
        <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="words" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="completion-providers/words/gtksourcecompletionwords.c"
                 line="646">a #GtkSourceCompletionWords</doc>
            <type name="CompletionWords" c:type="GtkSourceCompletionWords*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="completion-providers/words/gtksourcecompletionwords.c"
                 line="647">a #GtkTextBuffer</doc>
            <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
          </parameter>
        </parameters>
      </method>
      <property name="activation"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE | GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED">
        <doc xml:space="preserve"
             filename="completion-providers/words/gtksourcecompletionwords.c"
             line="491">The type of activation.</doc>
        <type name="CompletionActivation"/>
      </property>
      <property name="icon"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="interactive-delay"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="50">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="minimum-word-size"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="2">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="priority"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="proposals-batch-size"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="300">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="scan-batch-size"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="50">
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CompletionWordsPrivate"
              c:type="GtkSourceCompletionWordsPrivate*"/>
      </field>
    </class>
    <record name="CompletionWordsClass"
            c:type="GtkSourceCompletionWordsClass"
            glib:is-gtype-struct-for="CompletionWords">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="57"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="CompletionWordsPrivate"
            c:type="GtkSourceCompletionWordsPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="47"/>
    </record>
    <enumeration name="CompressionType"
                 version="3.14"
                 glib:type-name="GtkSourceCompressionType"
                 glib:get-type="gtk_source_compression_type_get_type"
                 c:type="GtkSourceCompressionType">
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_COMPRESSION_TYPE_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_COMPRESSION_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gtksourcefile.h"
             line="79">plain text.</doc>
      </member>
      <member name="gzip"
              value="1"
              c:identifier="GTK_SOURCE_COMPRESSION_TYPE_GZIP"
              glib:nick="gzip"
              glib:name="GTK_SOURCE_COMPRESSION_TYPE_GZIP">
        <doc xml:space="preserve"
             filename="gtksourcefile.h"
             line="80">gzip compression.</doc>
      </member>
    </enumeration>
    <bitfield name="DrawSpacesFlags"
              deprecated="1"
              deprecated-version="3.24"
              glib:type-name="GtkSourceDrawSpacesFlags"
              glib:get-type="gtk_source_draw_spaces_flags_get_type"
              c:type="GtkSourceDrawSpacesFlags">
      <doc xml:space="preserve"
           filename="gtksourceview.h"
           line="83">GtkSourceDrawSpacesFlags determine what kind of spaces whould be drawn. If none
of GTK_SOURCE_DRAW_SPACES_LEADING, GTK_SOURCE_DRAW_SPACES_TEXT or
GTK_SOURCE_DRAW_SPACES_TRAILING is specified, whitespaces at any position in
the line will be drawn (i.e. it has the same effect as specifying all of them).</doc>
      <doc-deprecated xml:space="preserve">Use #GtkSourceSpaceTypeFlags and
#GtkSourceSpaceLocationFlags instead.</doc-deprecated>
      <member name="space"
              value="1"
              c:identifier="GTK_SOURCE_DRAW_SPACES_SPACE"
              glib:nick="space"
              glib:name="GTK_SOURCE_DRAW_SPACES_SPACE">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="85">whether the space character should be drawn.</doc>
      </member>
      <member name="tab"
              value="2"
              c:identifier="GTK_SOURCE_DRAW_SPACES_TAB"
              glib:nick="tab"
              glib:name="GTK_SOURCE_DRAW_SPACES_TAB">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="86">whether the tab character should be drawn.</doc>
      </member>
      <member name="newline"
              value="4"
              c:identifier="GTK_SOURCE_DRAW_SPACES_NEWLINE"
              glib:nick="newline"
              glib:name="GTK_SOURCE_DRAW_SPACES_NEWLINE">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="87">whether the line breaks should be drawn. If
  the #GtkSourceBuffer:implicit-trailing-newline property is %TRUE, a line
  break is also drawn at the end of the buffer.</doc>
      </member>
      <member name="nbsp"
              value="8"
              c:identifier="GTK_SOURCE_DRAW_SPACES_NBSP"
              glib:nick="nbsp"
              glib:name="GTK_SOURCE_DRAW_SPACES_NBSP">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="90">whether the non-breaking whitespaces should be drawn.</doc>
      </member>
      <member name="leading"
              value="16"
              c:identifier="GTK_SOURCE_DRAW_SPACES_LEADING"
              glib:nick="leading"
              glib:name="GTK_SOURCE_DRAW_SPACES_LEADING">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="91">whether leading whitespaces should be drawn.</doc>
      </member>
      <member name="text"
              value="32"
              c:identifier="GTK_SOURCE_DRAW_SPACES_TEXT"
              glib:nick="text"
              glib:name="GTK_SOURCE_DRAW_SPACES_TEXT">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="92">whether whitespaces inside text should be drawn.</doc>
      </member>
      <member name="trailing"
              value="64"
              c:identifier="GTK_SOURCE_DRAW_SPACES_TRAILING"
              glib:nick="trailing"
              glib:name="GTK_SOURCE_DRAW_SPACES_TRAILING">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="93">whether trailing whitespaces should be drawn.</doc>
      </member>
      <member name="all"
              value="127"
              c:identifier="GTK_SOURCE_DRAW_SPACES_ALL"
              glib:nick="all"
              glib:name="GTK_SOURCE_DRAW_SPACES_ALL">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="94">wheter all kind of spaces should be drawn.</doc>
      </member>
    </bitfield>
    <record name="Encoding"
            c:type="GtkSourceEncoding"
            opaque="1"
            glib:type-name="GtkSourceEncoding"
            glib:get-type="gtk_source_encoding_get_type"
            c:symbol-prefix="encoding">
      <source-position filename="gtksourcetypes.h" line="51"/>
      <method name="copy"
              c:identifier="gtk_source_encoding_copy"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="689">Used by language bindings.</doc>
        <source-position filename="gtksourceencoding.h" line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="695">a copy of @enc.</doc>
          <type name="Encoding" c:type="GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceencoding.c"
                 line="691">a #GtkSourceEncoding.</doc>
            <type name="Encoding" c:type="const GtkSourceEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="gtk_source_encoding_free"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="706">Used by language bindings.</doc>
        <source-position filename="gtksourceencoding.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceencoding.c"
                 line="708">a #GtkSourceEncoding.</doc>
            <type name="Encoding" c:type="GtkSourceEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_charset"
              c:identifier="gtk_source_encoding_get_charset"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="457">Gets the character set of the #GtkSourceEncoding, such as "UTF-8" or
"ISO-8859-1".</doc>
        <source-position filename="gtksourceencoding.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="464">the character set of the #GtkSourceEncoding.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceencoding.c"
                 line="459">a #GtkSourceEncoding.</doc>
            <type name="Encoding" c:type="const GtkSourceEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gtk_source_encoding_get_name"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="479">Gets the name of the #GtkSourceEncoding such as "Unicode" or "Western".</doc>
        <source-position filename="gtksourceencoding.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="485">the name of the #GtkSourceEncoding.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceencoding.c"
                 line="481">a #GtkSourceEncoding.</doc>
            <type name="Encoding" c:type="const GtkSourceEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="gtk_source_encoding_to_string"
              version="3.14">
        <source-position filename="gtksourceencoding.h" line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="431">a string representation. Free with g_free() when no longer needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceencoding.c"
                 line="429">a #GtkSourceEncoding.</doc>
            <type name="Encoding" c:type="const GtkSourceEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_all"
                c:identifier="gtk_source_encoding_get_all"
                version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="348">Gets all encodings.</doc>
        <source-position filename="gtksourceencoding.h" line="64"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="353">a list of
all #GtkSourceEncoding's. Free with g_slist_free().</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Encoding"/>
          </type>
        </return-value>
      </function>
      <function name="get_current"
                c:identifier="gtk_source_encoding_get_current"
                version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="385">Gets the #GtkSourceEncoding for the current locale. See also g_get_charset().</doc>
        <source-position filename="gtksourceencoding.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="390">the current locale encoding.</doc>
          <type name="Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
      </function>
      <function name="get_default_candidates"
                c:identifier="gtk_source_encoding_get_default_candidates"
                version="3.18">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="601">Gets the list of default candidate encodings to try when loading a file. See
gtk_source_file_loader_set_candidate_encodings().

This function returns a different list depending on the current locale (i.e.
language, country and default encoding). The UTF-8 encoding and the current
locale encoding are guaranteed to be present in the returned list.</doc>
        <source-position filename="gtksourceencoding.h" line="67"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="611">the list of
default candidate encodings. Free with g_slist_free().</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Encoding"/>
          </type>
        </return-value>
      </function>
      <function name="get_from_charset"
                c:identifier="gtk_source_encoding_get_from_charset"
                version="3.14">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="306">Gets a #GtkSourceEncoding from a character set such as "UTF-8" or
"ISO-8859-1".</doc>
        <source-position filename="gtksourceencoding.h" line="46"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="313">the corresponding #GtkSourceEncoding, or %NULL
if not found.</doc>
          <type name="Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="charset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceencoding.c"
                 line="308">a character set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_utf8"
                c:identifier="gtk_source_encoding_get_utf8"
                version="3.14">
        <source-position filename="gtksourceencoding.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="376">the UTF-8 encoding.</doc>
          <type name="Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
      </function>
    </record>
    <function-macro name="FILE"
                    c:identifier="GTK_SOURCE_FILE"
                    introspectable="0">
      <source-position filename="gtksourcefile.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_CLASS"
                    c:identifier="GTK_SOURCE_FILE_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefile.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_GET_CLASS"
                    c:identifier="GTK_SOURCE_FILE_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefile.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_LOADER"
                    c:identifier="GTK_SOURCE_FILE_LOADER"
                    introspectable="0">
      <source-position filename="gtksourcefileloader.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_LOADER_CLASS"
                    c:identifier="GTK_SOURCE_FILE_LOADER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefileloader.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_LOADER_GET_CLASS"
                    c:identifier="GTK_SOURCE_FILE_LOADER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefileloader.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_SAVER"
                    c:identifier="GTK_SOURCE_FILE_SAVER"
                    introspectable="0">
      <source-position filename="gtksourcefilesaver.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_SAVER_CLASS"
                    c:identifier="GTK_SOURCE_FILE_SAVER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefilesaver.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_SAVER_GET_CLASS"
                    c:identifier="GTK_SOURCE_FILE_SAVER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefilesaver.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="File"
           c:symbol-prefix="file"
           c:type="GtkSourceFile"
           parent="GObject.Object"
           glib:type-name="GtkSourceFile"
           glib:get-type="gtk_source_file_get_type"
           glib:type-struct="FileClass">
      <source-position filename="gtksourcefile.h" line="115"/>
      <constructor name="new"
                   c:identifier="gtk_source_file_new"
                   version="3.14">
        <source-position filename="gtksourcefile.h" line="121"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="269">a new #GtkSourceFile object.</doc>
          <type name="File" c:type="GtkSourceFile*"/>
        </return-value>
      </constructor>
      <method name="check_file_on_disk"
              c:identifier="gtk_source_file_check_file_on_disk"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="509">Checks synchronously the file on disk, to know whether the file is externally
modified, or has been deleted, and whether the file is read-only.

#GtkSourceFile doesn't create a #GFileMonitor to track those properties, so
this function needs to be called instead. Creating lots of #GFileMonitor's
would take lots of resources.

Since this function is synchronous, it is advised to call it only on local
files. See gtk_source_file_is_local().</doc>
        <source-position filename="gtksourcefile.h" line="149"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="511">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_compression_type"
              c:identifier="gtk_source_file_get_compression_type"
              glib:get-property="compression-type"
              version="3.14">
        <source-position filename="gtksourcefile.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="397">the compression type.</doc>
          <type name="CompressionType" c:type="GtkSourceCompressionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="395">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_encoding"
              c:identifier="gtk_source_file_get_encoding"
              glib:get-property="encoding"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="334">The encoding is initially %NULL. After a successful file loading or saving
operation, the encoding is non-%NULL.</doc>
        <source-position filename="gtksourcefile.h" line="132"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="341">the character encoding.</doc>
          <type name="Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="336">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="gtk_source_file_get_location"
              glib:get-property="location"
              version="3.14">
        <source-position filename="gtksourcefile.h" line="124"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="310">the #GFile.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="308">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newline_type"
              c:identifier="gtk_source_file_get_newline_type"
              glib:get-property="newline-type"
              version="3.14">
        <source-position filename="gtksourcefile.h" line="136"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="369">the newline type.</doc>
          <type name="NewlineType" c:type="GtkSourceNewlineType"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="367">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_deleted"
              c:identifier="gtk_source_file_is_deleted"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="616">Returns whether the file has been deleted. If the
#GtkSourceFile:location is %NULL, returns %FALSE.

To have an up-to-date value, you must first call
gtk_source_file_check_file_on_disk().</doc>
        <source-position filename="gtksourcefile.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="626">whether the file has been deleted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="618">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_externally_modified"
              c:identifier="gtk_source_file_is_externally_modified"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="586">Returns whether the file is externally modified. If the
#GtkSourceFile:location is %NULL, returns %FALSE.

To have an up-to-date value, you must first call
gtk_source_file_check_file_on_disk().</doc>
        <source-position filename="gtksourcefile.h" line="155"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="596">whether the file is externally modified.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="588">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_local"
              c:identifier="gtk_source_file_is_local"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="486">Returns whether the file is local. If the #GtkSourceFile:location is %NULL,
returns %FALSE.</doc>
        <source-position filename="gtksourcefile.h" line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="493">whether the file is local.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="488">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_readonly"
              c:identifier="gtk_source_file_is_readonly"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="652">Returns whether the file is read-only. If the
#GtkSourceFile:location is %NULL, returns %FALSE.

To have an up-to-date value, you must first call
gtk_source_file_check_file_on_disk().</doc>
        <source-position filename="gtksourcefile.h" line="161"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.c"
               line="662">whether the file is read-only.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="654">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gtk_source_file_set_location"
              glib:set-property="location"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="278">Sets the location.</doc>
        <source-position filename="gtksourcefile.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="280">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
          <parameter name="location"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="281">the new #GFile, or %NULL.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mount_operation_factory"
              c:identifier="gtk_source_file_set_mount_operation_factory"
              version="3.14"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="408">Sets a #GtkSourceMountOperationFactory function that will be called when a
#GMountOperation must be created. This is useful for creating a
#GtkMountOperation with the parent #GtkWindow.

If a mount operation factory isn't set, g_mount_operation_new() will be
called.</doc>
        <source-position filename="gtksourcefile.h" line="143"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="410">a #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </instance-parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="411">a #GtkSourceMountOperationFactory to call when a
  #GMountOperation is needed.</doc>
            <type name="MountOperationFactory"
                  c:type="GtkSourceMountOperationFactory"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="413">the data to pass to the @callback function.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="gtksourcefile.c"
                 line="414">function to call on @user_data when the @callback is no
  longer needed, or %NULL.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <property name="compression-type"
                version="3.14"
                transfer-ownership="none"
                getter="get_compression_type"
                default-value="GTK_SOURCE_COMPRESSION_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="221">The compression type.</doc>
        <type name="CompressionType"/>
      </property>
      <property name="encoding"
                version="3.14"
                transfer-ownership="none"
                getter="get_encoding">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="187">The character encoding, initially %NULL. After a successful file
loading or saving operation, the encoding is non-%NULL.</doc>
        <type name="Encoding"/>
      </property>
      <property name="location"
                version="3.14"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_location"
                getter="get_location">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="170">The location.</doc>
        <type name="Gio.File"/>
      </property>
      <property name="newline-type"
                version="3.14"
                transfer-ownership="none"
                getter="get_newline_type"
                default-value="GTK_SOURCE_NEWLINE_TYPE_LF">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="204">The line ending type.</doc>
        <type name="NewlineType"/>
      </property>
      <property name="read-only"
                version="3.18"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcefile.c"
             line="238">Whether the file is read-only or not. The value of this property is
not updated automatically (there is no file monitors).</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="FilePrivate" c:type="GtkSourceFilePrivate*"/>
      </field>
    </class>
    <record name="FileClass"
            c:type="GtkSourceFileClass"
            glib:is-gtype-struct-for="File">
      <source-position filename="gtksourcefile.h" line="115"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="FileLoader"
           c:symbol-prefix="file_loader"
           c:type="GtkSourceFileLoader"
           parent="GObject.Object"
           glib:type-name="GtkSourceFileLoader"
           glib:get-type="gtk_source_file_loader_get_type"
           glib:type-struct="FileLoaderClass">
      <source-position filename="gtksourcefileloader.h" line="83"/>
      <constructor name="new"
                   c:identifier="gtk_source_file_loader_new"
                   version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="919">Creates a new #GtkSourceFileLoader object. The contents is read from the
#GtkSourceFile's location. If not already done, call
gtk_source_file_set_location() before calling this constructor. The previous
location is anyway not needed, because as soon as the file loading begins,
the @buffer is emptied.</doc>
        <source-position filename="gtksourcefileloader.h" line="92"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="930">a new #GtkSourceFileLoader object.</doc>
          <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="921">the #GtkSourceBuffer to load the contents into.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="922">the #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_stream"
                   c:identifier="gtk_source_file_loader_new_from_stream"
                   version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="946">Creates a new #GtkSourceFileLoader object. The contents is read from @stream.</doc>
        <source-position filename="gtksourcefileloader.h" line="96"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="954">a new #GtkSourceFileLoader object.</doc>
          <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="948">the #GtkSourceBuffer to load the contents into.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="949">the #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="950">the #GInputStream to load, e.g. stdin.</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_buffer"
              c:identifier="gtk_source_file_loader_get_buffer"
              glib:get-property="buffer"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1013">the #GtkSourceBuffer to load the contents into.</doc>
          <type name="Buffer" c:type="GtkSourceBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1011">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_compression_type"
              c:identifier="gtk_source_file_loader_get_compression_type"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1313">the detected compression type.</doc>
          <type name="CompressionType" c:type="GtkSourceCompressionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1311">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_encoding"
              c:identifier="gtk_source_file_loader_get_encoding"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="134"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1282">the detected file encoding.</doc>
          <type name="Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1280">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file"
              c:identifier="gtk_source_file_loader_get_file"
              glib:get-property="file"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1028">the #GtkSourceFile.</doc>
          <type name="File" c:type="GtkSourceFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1026">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_stream"
              c:identifier="gtk_source_file_loader_get_input_stream"
              glib:get-property="input-stream"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="115"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1059">the #GInputStream to load, or %NULL
if a #GFile is used.</doc>
          <type name="Gio.InputStream" c:type="GInputStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1057">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="gtk_source_file_loader_get_location"
              glib:get-property="location"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="112"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1043">the #GFile to load, or %NULL
if an input stream is used.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1041">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newline_type"
              c:identifier="gtk_source_file_loader_get_newline_type"
              version="3.14">
        <source-position filename="gtksourcefileloader.h" line="137"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1297">the detected newline type.</doc>
          <type name="NewlineType" c:type="GtkSourceNewlineType"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1295">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_async"
              c:identifier="gtk_source_file_loader_load_async"
              version="3.14"
              glib:finish-func="load_finish">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="1071">Loads asynchronously the file or input stream contents into the
#GtkSourceBuffer. See the #GAsyncResult documentation to know how to use this
function.</doc>
        <source-position filename="gtksourcefileloader.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1073">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
          <parameter name="io_priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1074">the I/O priority of the request. E.g. %G_PRIORITY_LOW,
  %G_PRIORITY_DEFAULT or %G_PRIORITY_HIGH.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1076">optional #GCancellable object, %NULL to ignore.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1077">function to call back with
  progress information, or %NULL if progress information is not needed.</doc>
            <type name="Gio.FileProgressCallback"
                  c:type="GFileProgressCallback"/>
          </parameter>
          <parameter name="progress_callback_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1079">user data to pass to @progress_callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="progress_callback_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1080">function to call on
  @progress_callback_data when the @progress_callback is no longer needed, or
  %NULL.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="6">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1083">a #GAsyncReadyCallback to call when the request is
  satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1085">user data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_finish"
              c:identifier="gtk_source_file_loader_load_finish"
              version="3.14"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="1176">Finishes a file loading started with gtk_source_file_loader_load_async().

If the contents has been loaded, the following #GtkSourceFile properties will
be updated: the location, the encoding, the newline type and the compression
type.</doc>
        <source-position filename="gtksourcefileloader.h" line="129"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefileloader.c"
               line="1188">whether the contents has been loaded successfully.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1178">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="1179">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_candidate_encodings"
              c:identifier="gtk_source_file_loader_set_candidate_encodings"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="973">Sets the candidate encodings for the file loading. The encodings are tried in
the same order as the list.

For convenience, @candidate_encodings can contain duplicates. Only the first
occurrence of a duplicated encoding is kept in the list.

By default the candidate encodings are (in that order in the list):
1. If set, the #GtkSourceFile's encoding as returned by
gtk_source_file_get_encoding().
2. The default candidates as returned by
gtk_source_encoding_get_default_candidates().</doc>
        <source-position filename="gtksourcefileloader.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="975">a #GtkSourceFileLoader.</doc>
            <type name="FileLoader" c:type="GtkSourceFileLoader*"/>
          </instance-parameter>
          <parameter name="candidate_encodings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefileloader.c"
                 line="976">a list of
  #GtkSourceEncoding&lt;!-- --&gt;s.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="Encoding"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <property name="buffer"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="382">The #GtkSourceBuffer to load the contents into. The
#GtkSourceFileLoader object has a weak reference to the buffer.</doc>
        <type name="Buffer"/>
      </property>
      <property name="file"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_file">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="399">The #GtkSourceFile. The #GtkSourceFileLoader object has a weak
reference to the file.</doc>
        <type name="File"/>
      </property>
      <property name="input-stream"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_input_stream">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="434">The #GInputStream to load. Useful for reading stdin. If this property
is set, the #GtkSourceFileLoader:location property is ignored.</doc>
        <type name="Gio.InputStream"/>
      </property>
      <property name="location"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_location">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.c"
             line="416">The #GFile to load. If the #GtkSourceFileLoader:input-stream is
%NULL, by default the location is taken from the #GtkSourceFile at
construction time.</doc>
        <type name="Gio.File"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="FileLoaderPrivate" c:type="GtkSourceFileLoaderPrivate*"/>
      </field>
    </class>
    <record name="FileLoaderClass"
            c:type="GtkSourceFileLoaderClass"
            glib:is-gtype-struct-for="FileLoader">
      <source-position filename="gtksourcefileloader.h" line="83"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="FileLoaderError"
                 glib:type-name="GtkSourceFileLoaderError"
                 glib:get-type="gtk_source_file_loader_error_get_type"
                 c:type="GtkSourceFileLoaderError"
                 glib:error-domain="gtk-source-file-loader-error">
      <doc xml:space="preserve"
           filename="gtksourcefileloader.h"
           line="54">An error code used with the %GTK_SOURCE_FILE_LOADER_ERROR domain.</doc>
      <member name="too_big"
              value="0"
              c:identifier="GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG"
              glib:nick="too-big"
              glib:name="GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.h"
             line="56">The file is too big.</doc>
      </member>
      <member name="encoding_auto_detection_failed"
              value="1"
              c:identifier="GTK_SOURCE_FILE_LOADER_ERROR_ENCODING_AUTO_DETECTION_FAILED"
              glib:nick="encoding-auto-detection-failed"
              glib:name="GTK_SOURCE_FILE_LOADER_ERROR_ENCODING_AUTO_DETECTION_FAILED">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.h"
             line="57">It is not
possible to detect the encoding automatically.</doc>
      </member>
      <member name="conversion_fallback"
              value="2"
              c:identifier="GTK_SOURCE_FILE_LOADER_ERROR_CONVERSION_FALLBACK"
              glib:nick="conversion-fallback"
              glib:name="GTK_SOURCE_FILE_LOADER_ERROR_CONVERSION_FALLBACK">
        <doc xml:space="preserve"
             filename="gtksourcefileloader.h"
             line="59">There was an encoding
conversion error and it was needed to use a fallback character.</doc>
      </member>
      <function name="quark" c:identifier="gtk_source_file_loader_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="FileLoaderPrivate"
            c:type="GtkSourceFileLoaderPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcefileloader.h" line="50"/>
    </record>
    <record name="FilePrivate"
            c:type="GtkSourceFilePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcefile.h" line="46"/>
    </record>
    <class name="FileSaver"
           c:symbol-prefix="file_saver"
           c:type="GtkSourceFileSaver"
           parent="GObject.Object"
           glib:type-name="GtkSourceFileSaver"
           glib:get-type="gtk_source_file_saver_get_type"
           glib:type-struct="FileSaverClass">
      <source-position filename="gtksourcefilesaver.h" line="100"/>
      <constructor name="new"
                   c:identifier="gtk_source_file_saver_new"
                   version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1097">Creates a new #GtkSourceFileSaver object. The @buffer will be saved to the
#GtkSourceFile's location.

This constructor is suitable for a simple "save" operation, when the @file
already contains a non-%NULL #GtkSourceFile:location.</doc>
        <source-position filename="gtksourcefilesaver.h" line="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1108">a new #GtkSourceFileSaver object.</doc>
          <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1099">the #GtkSourceBuffer to save.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1100">the #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_target"
                   c:identifier="gtk_source_file_saver_new_with_target"
                   version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1124">Creates a new #GtkSourceFileSaver object with a target location. When the
file saving is finished successfully, @target_location is set to the @file's
#GtkSourceFile:location property. If an error occurs, the previous valid
location is still available in #GtkSourceFile.

This constructor is suitable for a "save as" operation, or for saving a new
buffer for the first time.</doc>
        <source-position filename="gtksourcefilesaver.h" line="113"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1138">a new #GtkSourceFileSaver object.</doc>
          <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1126">the #GtkSourceBuffer to save.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1127">the #GtkSourceFile.</doc>
            <type name="File" c:type="GtkSourceFile*"/>
          </parameter>
          <parameter name="target_location" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1128">the #GFile where to save the buffer to.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_buffer"
              c:identifier="gtk_source_file_saver_get_buffer"
              glib:get-property="buffer"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1161">the #GtkSourceBuffer to save.</doc>
          <type name="Buffer" c:type="GtkSourceBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1159">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_compression_type"
              c:identifier="gtk_source_file_saver_get_compression_type"
              glib:get-property="compression-type"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="146"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1313">the compression type.</doc>
          <type name="CompressionType" c:type="GtkSourceCompressionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1311">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_encoding"
              c:identifier="gtk_source_file_saver_get_encoding"
              glib:get-property="encoding"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1235">the encoding.</doc>
          <type name="Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1233">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file"
              c:identifier="gtk_source_file_saver_get_file"
              glib:get-property="file"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1176">the #GtkSourceFile.</doc>
          <type name="File" c:type="GtkSourceFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1174">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flags"
              c:identifier="gtk_source_file_saver_get_flags"
              glib:get-property="flags"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1349">the flags.</doc>
          <type name="FileSaverFlags" c:type="GtkSourceFileSaverFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1347">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="gtk_source_file_saver_get_location"
              glib:get-property="location"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="124"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1191">the #GFile where to save the buffer to.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1189">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newline_type"
              c:identifier="gtk_source_file_saver_get_newline_type"
              glib:get-property="newline-type"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="138"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1274">the newline type.</doc>
          <type name="NewlineType" c:type="GtkSourceNewlineType"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1272">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_async"
              c:identifier="gtk_source_file_saver_save_async"
              version="3.14"
              glib:finish-func="save_finish">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1360">Saves asynchronously the buffer into the file. See the #GAsyncResult
documentation to know how to use this function.</doc>
        <source-position filename="gtksourcefilesaver.h" line="157"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1362">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
          <parameter name="io_priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1363">the I/O priority of the request. E.g. %G_PRIORITY_LOW,
  %G_PRIORITY_DEFAULT or %G_PRIORITY_HIGH.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1365">optional #GCancellable object, %NULL to ignore.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1366">function to call back with
  progress information, or %NULL if progress information is not needed.</doc>
            <type name="Gio.FileProgressCallback"
                  c:type="GFileProgressCallback"/>
          </parameter>
          <parameter name="progress_callback_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1368">user data to pass to @progress_callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="progress_callback_notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1369">function to call on
  @progress_callback_data when the @progress_callback is no longer needed, or
  %NULL.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="6">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1372">a #GAsyncReadyCallback to call when the request is
  satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1374">user data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_finish"
              c:identifier="gtk_source_file_saver_save_finish"
              version="3.14"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1449">Finishes a file saving started with gtk_source_file_saver_save_async().

If the file has been saved successfully, the following #GtkSourceFile
properties will be updated: the location, the encoding, the newline type and
the compression type.

Since the 3.20 version, gtk_text_buffer_set_modified() is called with %FALSE
if the file has been saved successfully.</doc>
        <source-position filename="gtksourcefilesaver.h" line="167"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefilesaver.c"
               line="1464">whether the file was saved successfully.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1451">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1452">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_compression_type"
              c:identifier="gtk_source_file_saver_set_compression_type"
              glib:set-property="compression-type"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1285">Sets the compression type. By default the compression type is taken from the
#GtkSourceFile.</doc>
        <source-position filename="gtksourcefilesaver.h" line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1287">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
          <parameter name="compression_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1288">the new compression type.</doc>
            <type name="CompressionType" c:type="GtkSourceCompressionType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_encoding"
              c:identifier="gtk_source_file_saver_set_encoding"
              glib:set-property="encoding"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1202">Sets the encoding. If @encoding is %NULL, the UTF-8 encoding will be set.
By default the encoding is taken from the #GtkSourceFile.</doc>
        <source-position filename="gtksourcefilesaver.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1204">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1205">the new encoding, or %NULL for UTF-8.</doc>
            <type name="Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flags"
              c:identifier="gtk_source_file_saver_set_flags"
              glib:set-property="flags"
              version="3.14">
        <source-position filename="gtksourcefilesaver.h" line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1326">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1327">the new flags.</doc>
            <type name="FileSaverFlags" c:type="GtkSourceFileSaverFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_newline_type"
              c:identifier="gtk_source_file_saver_set_newline_type"
              glib:set-property="newline-type"
              version="3.14">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="1246">Sets the newline type. By default the newline type is taken from the
#GtkSourceFile.</doc>
        <source-position filename="gtksourcefilesaver.h" line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="saver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1248">a #GtkSourceFileSaver.</doc>
            <type name="FileSaver" c:type="GtkSourceFileSaver*"/>
          </instance-parameter>
          <parameter name="newline_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcefilesaver.c"
                 line="1249">the new newline type.</doc>
            <type name="NewlineType" c:type="GtkSourceNewlineType"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffer"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="343">The #GtkSourceBuffer to save. The #GtkSourceFileSaver object has a
weak reference to the buffer.</doc>
        <type name="Buffer"/>
      </property>
      <property name="compression-type"
                version="3.14"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_compression_type"
                getter="get_compression_type"
                default-value="GTK_SOURCE_COMPRESSION_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="432">The compression type.</doc>
        <type name="CompressionType"/>
      </property>
      <property name="encoding"
                version="3.14"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_encoding"
                getter="get_encoding">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="397">The file's encoding.</doc>
        <type name="Encoding"/>
      </property>
      <property name="file"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_file">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="361">The #GtkSourceFile. The #GtkSourceFileSaver object has a weak
reference to the file.</doc>
        <type name="File"/>
      </property>
      <property name="flags"
                version="3.14"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_flags"
                getter="get_flags"
                default-value="GTK_SOURCE_FILE_SAVER_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="450">File saving flags.</doc>
        <type name="FileSaverFlags"/>
      </property>
      <property name="location"
                version="3.14"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_location">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="379">The #GFile where to save the buffer. By default the location is taken
from the #GtkSourceFile at construction time.</doc>
        <type name="Gio.File"/>
      </property>
      <property name="newline-type"
                version="3.14"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_newline_type"
                getter="get_newline_type"
                default-value="GTK_SOURCE_NEWLINE_TYPE_LF">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.c"
             line="414">The newline type.</doc>
        <type name="NewlineType"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="FileSaverPrivate" c:type="GtkSourceFileSaverPrivate*"/>
      </field>
    </class>
    <record name="FileSaverClass"
            c:type="GtkSourceFileSaverClass"
            glib:is-gtype-struct-for="FileSaver">
      <source-position filename="gtksourcefilesaver.h" line="100"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="FileSaverError"
                 version="3.14"
                 glib:type-name="GtkSourceFileSaverError"
                 glib:get-type="gtk_source_file_saver_error_get_type"
                 c:type="GtkSourceFileSaverError"
                 glib:error-domain="gtk-source-file-saver-error">
      <doc xml:space="preserve"
           filename="gtksourcefilesaver.h"
           line="54">An error code used with the %GTK_SOURCE_FILE_SAVER_ERROR domain.</doc>
      <member name="invalid_chars"
              value="0"
              c:identifier="GTK_SOURCE_FILE_SAVER_ERROR_INVALID_CHARS"
              glib:nick="invalid-chars"
              glib:name="GTK_SOURCE_FILE_SAVER_ERROR_INVALID_CHARS">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.h"
             line="56">The buffer contains invalid
  characters.</doc>
      </member>
      <member name="externally_modified"
              value="1"
              c:identifier="GTK_SOURCE_FILE_SAVER_ERROR_EXTERNALLY_MODIFIED"
              glib:nick="externally-modified"
              glib:name="GTK_SOURCE_FILE_SAVER_ERROR_EXTERNALLY_MODIFIED">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.h"
             line="58">The file is externally
  modified.</doc>
      </member>
      <function name="quark" c:identifier="gtk_source_file_saver_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <bitfield name="FileSaverFlags"
              version="3.14"
              glib:type-name="GtkSourceFileSaverFlags"
              glib:get-type="gtk_source_file_saver_flags_get_type"
              c:type="GtkSourceFileSaverFlags">
      <doc xml:space="preserve"
           filename="gtksourcefilesaver.h"
           line="70">Flags to define the behavior of a #GtkSourceFileSaver.</doc>
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_FILE_SAVER_FLAGS_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_FILE_SAVER_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.h"
             line="72">No flags.</doc>
      </member>
      <member name="ignore_invalid_chars"
              value="1"
              c:identifier="GTK_SOURCE_FILE_SAVER_FLAGS_IGNORE_INVALID_CHARS"
              glib:nick="ignore-invalid-chars"
              glib:name="GTK_SOURCE_FILE_SAVER_FLAGS_IGNORE_INVALID_CHARS">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.h"
             line="73">Ignore invalid characters.</doc>
      </member>
      <member name="ignore_modification_time"
              value="2"
              c:identifier="GTK_SOURCE_FILE_SAVER_FLAGS_IGNORE_MODIFICATION_TIME"
              glib:nick="ignore-modification-time"
              glib:name="GTK_SOURCE_FILE_SAVER_FLAGS_IGNORE_MODIFICATION_TIME">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.h"
             line="74">Save file despite external modifications.</doc>
      </member>
      <member name="create_backup"
              value="4"
              c:identifier="GTK_SOURCE_FILE_SAVER_FLAGS_CREATE_BACKUP"
              glib:nick="create-backup"
              glib:name="GTK_SOURCE_FILE_SAVER_FLAGS_CREATE_BACKUP">
        <doc xml:space="preserve"
             filename="gtksourcefilesaver.h"
             line="75">Create a backup before saving the file.</doc>
      </member>
    </bitfield>
    <record name="FileSaverPrivate"
            c:type="GtkSourceFileSaverPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcefilesaver.h" line="50"/>
    </record>
    <function-macro name="GUTTER"
                    c:identifier="GTK_SOURCE_GUTTER"
                    introspectable="0">
      <source-position filename="gtksourcegutter.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutter.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_GET_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutter.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderer.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderer.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_CONST"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_CONST"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderer.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_GET_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderer.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_PIXBUF"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_PIXBUF"
                    introspectable="0">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_PIXBUF_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_PIXBUF_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_PIXBUF_CONST"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_PIXBUF_CONST"
                    introspectable="0">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_PIXBUF_GET_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_PIXBUF_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_TEXT"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_TEXT"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderertext.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_TEXT_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_TEXT_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderertext.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_TEXT_CONST"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_TEXT_CONST"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderertext.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GUTTER_RENDERER_TEXT_GET_CLASS"
                    c:identifier="GTK_SOURCE_GUTTER_RENDERER_TEXT_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderertext.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Gutter"
           c:symbol-prefix="gutter"
           c:type="GtkSourceGutter"
           parent="GObject.Object"
           glib:type-name="GtkSourceGutter"
           glib:get-type="gtk_source_gutter_get_type"
           glib:type-struct="GutterClass">
      <source-position filename="gtksourcegutter.h" line="58"/>
      <method name="get_padding"
              c:identifier="gtk_source_gutter_get_padding"
              deprecated="1"
              deprecated-version="3.12">
        <doc-deprecated xml:space="preserve">Use gtk_source_gutter_renderer_get_padding() instead.</doc-deprecated>
        <source-position filename="gtksourcegutter.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
          <parameter name="xpad" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="ypad" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_renderer_at_pos"
              c:identifier="gtk_source_gutter_get_renderer_at_pos">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="1739">Finds the #GtkSourceGutterRenderer at (x, y).</doc>
        <source-position filename="gtksourcegutter.h" line="103"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcegutter.c"
               line="1747">the renderer at (x, y) or %NULL.</doc>
          <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="1741">A #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="1742">The x position to get identified.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="1743">The y position to get identified.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="gtk_source_gutter_get_view"
              glib:get-property="view"
              version="3.24">
        <source-position filename="gtksourcegutter.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutter.c"
               line="621">the associated #GtkSourceView.</doc>
          <type name="View" c:type="GtkSourceView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="619">a #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_window"
              c:identifier="gtk_source_gutter_get_window"
              version="2.8"
              deprecated="1"
              deprecated-version="3.12">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="647">Get the #GdkWindow of the gutter. The window will only be available when the
gutter has at least one, non-zero width, cell renderer packed.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_text_view_get_window() instead.</doc-deprecated>
        <source-position filename="gtksourcegutter.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutter.c"
               line="654">the #GdkWindow of the gutter, or %NULL
if the gutter has no window.</doc>
          <type name="Gdk.Window" c:type="GdkWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="649">a #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_window_type"
              c:identifier="gtk_source_gutter_get_window_type"
              glib:get-property="window-type"
              version="3.24">
        <source-position filename="gtksourcegutter.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutter.c"
               line="636">the #GtkTextWindowType of @gutter.</doc>
          <type name="Gtk.TextWindowType" c:type="GtkTextWindowType"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="634">a #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert"
              c:identifier="gtk_source_gutter_insert"
              version="3.0">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="669">Insert @renderer into the gutter. If @renderer is yet unowned then gutter
claims its ownership. Otherwise just increases renderer's reference count.
@renderer cannot be already inserted to another gutter.</doc>
        <source-position filename="gtksourcegutter.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutter.c"
               line="679">%TRUE if operation succeeded. Otherwise %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="671">a #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
          <parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="672">a gutter renderer (must inherit from #GtkSourceGutterRenderer).</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="673">the renderer position.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="queue_draw"
              c:identifier="gtk_source_gutter_queue_draw"
              version="2.8">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="790">Invalidates the drawable area of the gutter. You can use this to force a
redraw of the gutter if something has changed and needs to be redrawn.</doc>
        <source-position filename="gtksourcegutter.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="792">a #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="gtk_source_gutter_remove"
              version="2.8">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="760">Removes @renderer from @gutter.</doc>
        <source-position filename="gtksourcegutter.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="762">a #GtkSourceGutter.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
          <parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="763">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder"
              c:identifier="gtk_source_gutter_reorder"
              version="2.8">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="728">Reorders @renderer in @gutter to new @position.</doc>
        <source-position filename="gtksourcegutter.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="730">a #GtkSourceGutterRenderer.</doc>
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
          <parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="731">a #GtkCellRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutter.c"
                 line="732">the new renderer position.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_padding"
              c:identifier="gtk_source_gutter_set_padding"
              deprecated="1"
              deprecated-version="3.12">
        <doc-deprecated xml:space="preserve">Use gtk_source_gutter_renderer_set_padding() instead.</doc-deprecated>
        <source-position filename="gtksourcegutter.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gutter" transfer-ownership="none">
            <type name="Gutter" c:type="GtkSourceGutter*"/>
          </instance-parameter>
          <parameter name="xpad" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="ypad" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_view">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="499">The #GtkSourceView of the gutter.</doc>
        <type name="View"/>
      </property>
      <property name="window-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_window_type"
                default-value="GTK_TEXT_WINDOW_PRIVATE">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="512">The text window type on which the window is placed.</doc>
        <type name="Gtk.TextWindowType"/>
      </property>
      <property name="xpad"
                deprecated="1"
                deprecated-version="3.12"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="526">The x-padding.</doc>
        <doc-deprecated xml:space="preserve">Use the #GtkSourceGutterRenderer's
#GtkSourceGutterRenderer:xpad property instead.</doc-deprecated>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="ypad"
                deprecated="1"
                deprecated-version="3.12"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="gtksourcegutter.c"
             line="546">The y-padding.</doc>
        <doc-deprecated xml:space="preserve">Use the #GtkSourceGutterRenderer's
#GtkSourceGutterRenderer:ypad property instead.</doc-deprecated>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="GutterPrivate" c:type="GtkSourceGutterPrivate*"/>
      </field>
    </class>
    <record name="GutterClass"
            c:type="GtkSourceGutterClass"
            glib:is-gtype-struct-for="Gutter">
      <source-position filename="gtksourcegutter.h" line="58"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="GutterPrivate"
            c:type="GtkSourceGutterPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcegutter.h" line="46"/>
    </record>
    <class name="GutterRenderer"
           c:symbol-prefix="gutter_renderer"
           c:type="GtkSourceGutterRenderer"
           parent="GObject.InitiallyUnowned"
           abstract="1"
           glib:type-name="GtkSourceGutterRenderer"
           glib:get-type="gtk_source_gutter_renderer_get_type"
           glib:type-struct="GutterRendererClass">
      <source-position filename="gtksourcegutterrenderer.h" line="157"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="954">Emits the #GtkSourceGutterRenderer::activate signal of the renderer. This is
called from #GtkSourceGutter and should never have to be called manually.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="956">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="957">a #GtkTextIter at the start of the line where the renderer is activated</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="958">a #GdkRectangle of the cell area where the renderer is activated</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="959">the event that triggered the activation</doc>
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="begin" invoker="begin">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="803">Called when drawing a region begins. The region to be drawn is indicated
by @start and @end. The purpose is to allow the implementation to precompute
some state before the draw method is called for each cell.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="805">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="806">a #cairo_t</doc>
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
          <parameter name="background_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="807">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="cell_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="808">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="809">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="810">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="change_buffer">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="123">This is called when the text buffer changes for @renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.h"
                 line="125">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="old_buffer"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.h"
                 line="126">the old #GtkTextBuffer.</doc>
            <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="change_view">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="113">This is called when the text view changes for @renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.h"
                 line="115">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="old_view"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.h"
                 line="116">the old #GtkTextView.</doc>
            <type name="Gtk.TextView" c:type="GtkTextView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="draw" invoker="draw">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="843">Main renderering method. Implementations should implement this method to draw
onto the cairo context. The @background_area indicates the total area of the
cell to be drawn. The @cell_area indicates the area where content can be
drawn (text, images, etc).

The @background_area is the @cell_area plus the padding on each side (two
times the #GtkSourceGutterRenderer:xpad horizontally and two times the
#GtkSourceGutterRenderer:ypad vertically, so that the @cell_area is centered
inside @background_area).

The @state argument indicates the current state of the renderer and should
be taken into account to properly draw the different possible states
(cursor, prelit, selected) if appropriate.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="845">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="846">the cairo render context</doc>
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
          <parameter name="background_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="847">a #GdkRectangle indicating the total area to be drawn</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="cell_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="848">a #GdkRectangle indicating the area to draw content</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="849">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="850">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="851">a #GtkSourceGutterRendererState</doc>
            <type name="GutterRendererState"
                  c:type="GtkSourceGutterRendererState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="end" invoker="end">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="896">Called when drawing a region of lines has ended.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="898">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="query_activatable" invoker="query_activatable">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="914">Get whether the renderer is activatable at the location in @event. This is
called from #GtkSourceGutter to determine whether a renderer is activatable
using the mouse pointer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="134"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="925">%TRUE if the renderer can be activated, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="916">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="917">a #GtkTextIter at the start of the line to be activated</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="918">a #GdkRectangle of the cell area to be activated</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="919">the event that triggered the query</doc>
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="query_data" invoker="query_data">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1039">Emit the #GtkSourceGutterRenderer::query-data signal. This function is called
to query for data just before rendering a cell. This is called from the
#GtkSourceGutter.  Implementations can override the default signal handler or
can connect a signal handler externally to the
#GtkSourceGutterRenderer::query-data signal.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1041">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1042">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1043">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1044">a #GtkSourceGutterRendererState.</doc>
            <type name="GutterRendererState"
                  c:type="GtkSourceGutterRendererState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="query_tooltip" invoker="query_tooltip">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="994">Emits the #GtkSourceGutterRenderer::query-tooltip signal. This function is
called from #GtkSourceGutter. Implementations can override the default signal
handler or can connect to the signal externally.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="146"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1007">%TRUE if the tooltip has been set, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="996">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="997">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="998">a #GdkRectangle.</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="999">The x position of the tooltip.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1000">The y position of the tooltip.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1001">a #GtkTooltip.</doc>
            <type name="Gtk.Tooltip" c:type="GtkTooltip*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="queue_draw" invoker="queue_draw">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="978">Emits the #GtkSourceGutterRenderer::queue-draw signal of the renderer. Call
this from an implementation to inform that the renderer has changed such that
it needs to redraw.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="980">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="gtk_source_gutter_renderer_activate">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="954">Emits the #GtkSourceGutterRenderer::activate signal of the renderer. This is
called from #GtkSourceGutter and should never have to be called manually.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="241"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="956">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="957">a #GtkTextIter at the start of the line where the renderer is activated</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="958">a #GdkRectangle of the cell area where the renderer is activated</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="959">the event that triggered the activation</doc>
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="begin" c:identifier="gtk_source_gutter_renderer_begin">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="803">Called when drawing a region begins. The region to be drawn is indicated
by @start and @end. The purpose is to allow the implementation to precompute
some state before the draw method is called for each cell.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="805">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="806">a #cairo_t</doc>
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
          <parameter name="background_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="807">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="cell_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="808">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="809">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="810">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw" c:identifier="gtk_source_gutter_renderer_draw">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="843">Main renderering method. Implementations should implement this method to draw
onto the cairo context. The @background_area indicates the total area of the
cell to be drawn. The @cell_area indicates the area where content can be
drawn (text, images, etc).

The @background_area is the @cell_area plus the padding on each side (two
times the #GtkSourceGutterRenderer:xpad horizontally and two times the
#GtkSourceGutterRenderer:ypad vertically, so that the @cell_area is centered
inside @background_area).

The @state argument indicates the current state of the renderer and should
be taken into account to properly draw the different possible states
(cursor, prelit, selected) if appropriate.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="171"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="845">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="846">the cairo render context</doc>
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
          <parameter name="background_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="847">a #GdkRectangle indicating the total area to be drawn</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="cell_area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="848">a #GdkRectangle indicating the area to draw content</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="849">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="850">a #GtkTextIter</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="851">a #GtkSourceGutterRendererState</doc>
            <type name="GutterRendererState"
                  c:type="GtkSourceGutterRendererState"/>
          </parameter>
        </parameters>
      </method>
      <method name="end" c:identifier="gtk_source_gutter_renderer_end">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="896">Called when drawing a region of lines has ended.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="180"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="898">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_alignment"
              c:identifier="gtk_source_gutter_renderer_get_alignment">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1197">Get the x-alignment and y-alignment of the gutter renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="207"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1199">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="xalign"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1200">return location for the x-alignment,
  or %NULL to ignore.</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="yalign"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1202">return location for the y-alignment,
  or %NULL to ignore.</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_alignment_mode"
              c:identifier="gtk_source_gutter_renderer_get_alignment_mode"
              glib:get-property="alignment-mode">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1243">Get the alignment mode. The alignment mode describes the manner in which the
renderer is aligned (see :xalign and :yalign).</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="229"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1250">a #GtkSourceGutterRendererAlignmentMode</doc>
          <type name="GutterRendererAlignmentMode"
                c:type="GtkSourceGutterRendererAlignmentMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1245">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_background"
              c:identifier="gtk_source_gutter_renderer_get_background">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1330">Get the background color of the renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="232"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1337">%TRUE if the background color is set, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1332">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1333">return value for a #GdkRGBA</doc>
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_padding"
              c:identifier="gtk_source_gutter_renderer_get_padding">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1136">Get the x-padding and y-padding of the gutter renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="197"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1138">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="xpad"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1139">return location for the x-padding,
  or %NULL to ignore.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="ypad"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1141">return location for the y-padding,
  or %NULL to ignore.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_size"
              c:identifier="gtk_source_gutter_renderer_get_size"
              glib:get-property="size">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1295">Get the size of the renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1301">the size of the renderer.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1297">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="gtk_source_gutter_renderer_get_view"
              glib:get-property="view">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1278">Get the view associated to the gutter renderer</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="225"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1284">a #GtkTextView</doc>
          <type name="Gtk.TextView" c:type="GtkTextView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1280">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible"
              c:identifier="gtk_source_gutter_renderer_get_visible"
              glib:get-property="visible">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1096">Get whether the gutter renderer is visible.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="194"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1102">%TRUE if the renderer is visible, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1098">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_window_type"
              c:identifier="gtk_source_gutter_renderer_get_window_type"
              glib:get-property="window-type">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1261">Get the #GtkTextWindowType associated with the gutter renderer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="222"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1267">a #GtkTextWindowType</doc>
          <type name="Gtk.TextWindowType" c:type="GtkTextWindowType"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1263">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="query_activatable"
              c:identifier="gtk_source_gutter_renderer_query_activatable">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="914">Get whether the renderer is activatable at the location in @event. This is
called from #GtkSourceGutter to determine whether a renderer is activatable
using the mouse pointer.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="248"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="925">%TRUE if the renderer can be activated, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="916">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="917">a #GtkTextIter at the start of the line to be activated</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="918">a #GdkRectangle of the cell area to be activated</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="919">the event that triggered the query</doc>
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_data"
              c:identifier="gtk_source_gutter_renderer_query_data">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1039">Emit the #GtkSourceGutterRenderer::query-data signal. This function is called
to query for data just before rendering a cell. This is called from the
#GtkSourceGutter.  Implementations can override the default signal handler or
can connect a signal handler externally to the
#GtkSourceGutterRenderer::query-data signal.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="268"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1041">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1042">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1043">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1044">a #GtkSourceGutterRendererState.</doc>
            <type name="GutterRendererState"
                  c:type="GtkSourceGutterRendererState"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_tooltip"
              c:identifier="gtk_source_gutter_renderer_query_tooltip">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="994">Emits the #GtkSourceGutterRenderer::query-tooltip signal. This function is
called from #GtkSourceGutter. Implementations can override the default signal
handler or can connect to the signal externally.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="259"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderer.c"
               line="1007">%TRUE if the tooltip has been set, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="996">a #GtkSourceGutterRenderer.</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="997">a #GtkTextIter.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="998">a #GdkRectangle.</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="999">The x position of the tooltip.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1000">The y position of the tooltip.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1001">a #GtkTooltip.</doc>
            <type name="Gtk.Tooltip" c:type="GtkTooltip*"/>
          </parameter>
        </parameters>
      </method>
      <method name="queue_draw"
              c:identifier="gtk_source_gutter_renderer_queue_draw">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="978">Emits the #GtkSourceGutterRenderer::queue-draw signal of the renderer. Call
this from an implementation to inform that the renderer has changed such that
it needs to redraw.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="255"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="980">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_alignment"
              c:identifier="gtk_source_gutter_renderer_set_alignment">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1164">Set the alignment of the gutter renderer. Both @xalign and @yalign can be
-1, which means the values will not be changed (this allows changing only
one of the values).

@xalign is the horizontal alignment. Set to 0 for a left alignment. 1 for a
right alignment. And 0.5 for centering the cells. @yalign is the vertical
alignment. Set to 0 for a top alignment. 1 for a bottom alignment.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="212"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1166">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="xalign" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1167">the x-alignment</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="yalign" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1168">the y-alignment</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_alignment_mode"
              c:identifier="gtk_source_gutter_renderer_set_alignment_mode"
              glib:set-property="alignment-mode">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1225">Set the alignment mode. The alignment mode describes the manner in which the
renderer is aligned (see :xalign and :yalign).</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="217"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1227">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1228">a #GtkSourceGutterRendererAlignmentMode</doc>
            <type name="GutterRendererAlignmentMode"
                  c:type="GtkSourceGutterRendererAlignmentMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_background"
              c:identifier="gtk_source_gutter_renderer_set_background">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1354">Set the background color of the renderer. If @color is set to %NULL, the
renderer will not have a background color.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="236"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1356">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1357">a #GdkRGBA or %NULL</doc>
            <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_padding"
              c:identifier="gtk_source_gutter_renderer_set_padding">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1113">Set the padding of the gutter renderer. Both @xpad and @ypad can be
-1, which means the values will not be changed (this allows changing only
one of the values).

@xpad is the left and right padding. @ypad is the top and bottom padding.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="202"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1115">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="xpad" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1116">the x-padding</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="ypad" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1117">the y-padding</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_size"
              c:identifier="gtk_source_gutter_renderer_set_size"
              glib:set-property="size">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1312">Sets the size of the renderer. A value of -1 specifies that the size
is to be determined dynamically.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="186"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1314">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1315">the size</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible"
              c:identifier="gtk_source_gutter_renderer_set_visible"
              glib:set-property="visible">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="1079">Set whether the gutter renderer is visible.</doc>
        <source-position filename="gtksourcegutterrenderer.h" line="190"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1081">a #GtkSourceGutterRenderer</doc>
            <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
          </instance-parameter>
          <parameter name="visible" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1082">the visibility</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="alignment-mode"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_alignment_mode"
                getter="get_alignment_mode"
                default-value="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="736">The alignment mode of the renderer. This can be used to indicate
that in the case a cell spans multiple lines (due to text wrapping)
the alignment should work on either the full cell, the first line
or the last line.</doc>
        <type name="GutterRendererAlignmentMode"/>
      </property>
      <property name="background-rgba" writable="1" transfer-ownership="none">
        <type name="Gdk.RGBA"/>
      </property>
      <property name="background-set"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="size"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_size"
                getter="get_size"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="view" transfer-ownership="none" getter="get_view">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="722">The view on which the renderer is placed.</doc>
        <type name="Gtk.TextView"/>
      </property>
      <property name="visible"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_visible"
                getter="get_visible"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="525">The visibility of the renderer.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="window-type"
                transfer-ownership="none"
                getter="get_window_type"
                default-value="GTK_TEXT_WINDOW_PRIVATE">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="754">The window type of the view on which the renderer is placed (left,
or right).</doc>
        <type name="Gtk.TextWindowType"/>
      </property>
      <property name="xalign"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="569">The horizontal alignment of the renderer. Set to 0 for a left
alignment. 1 for a right alignment. And 0.5 for centering the cells.
A value lower than 0 doesn't modify the alignment.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="xpad"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="539">The left and right padding of the renderer.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="yalign"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="586">The vertical alignment of the renderer. Set to 0 for a top
alignment. 1 for a bottom alignment. And 0.5 for centering the cells.
A value lower than 0 doesn't modify the alignment.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="ypad"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="554">The top and bottom padding of the renderer.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="GutterRendererPrivate"
              c:type="GtkSourceGutterRendererPrivate*"/>
      </field>
      <glib:signal name="activate" when="last">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="603">The ::activate signal is emitted when the renderer is
activated.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="606">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="607">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="608">the event that caused the activation</doc>
            <type name="Gdk.Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="query-activatable" when="last">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="697">The ::query-activatable signal is emitted when the renderer
can possibly be activated.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="700">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="701">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="702">the #GdkEvent that is causing the activatable query</doc>
            <type name="Gdk.Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="query-data" when="last">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="672">The ::query-data signal is emitted when the renderer needs
to be filled with data just before a cell is drawn. This can
be used by general renderer implementations to allow render
data to be filled in externally.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="675">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="676">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="677">the renderer state</doc>
            <type name="GutterRendererState"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="query-tooltip" when="last">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="643">The ::query-tooltip signal is emitted when the renderer can
show a tooltip.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="646">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="647">a #GdkRectangle</doc>
            <type name="Gdk.Rectangle"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="648">the x position (in window coordinates)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="649">the y position (in window coordinates)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="650">a #GtkTooltip</doc>
            <type name="Gtk.Tooltip"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="queue-draw" when="last">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.c"
             line="626">The ::queue-draw signal is emitted when the renderer needs
to be redrawn. Use gtk_source_gutter_renderer_queue_draw()
to emit this signal from an implementation of the
#GtkSourceGutterRenderer interface.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <enumeration name="GutterRendererAlignmentMode"
                 glib:type-name="GtkSourceGutterRendererAlignmentMode"
                 glib:get-type="gtk_source_gutter_renderer_alignment_mode_get_type"
                 c:type="GtkSourceGutterRendererAlignmentMode">
      <doc xml:space="preserve"
           filename="gtksourcegutterrenderer.h"
           line="67">The alignment mode of the renderer, when a cell spans multiple lines (due to
text wrapping).</doc>
      <member name="cell"
              value="0"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL"
              glib:nick="cell"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="69">The full cell.</doc>
      </member>
      <member name="first"
              value="1"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST"
              glib:nick="first"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="70">The first line.</doc>
      </member>
      <member name="last"
              value="2"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST"
              glib:nick="last"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="71">The last line.</doc>
      </member>
    </enumeration>
    <record name="GutterRendererClass"
            c:type="GtkSourceGutterRendererClass"
            glib:is-gtype-struct-for="GutterRenderer">
      <source-position filename="gtksourcegutterrenderer.h" line="157"/>
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="begin">
        <callback name="begin">
          <source-position filename="gtksourcegutterrenderer.h" line="96"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="805">a #GtkSourceGutterRenderer</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="cr" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="806">a #cairo_t</doc>
              <type name="cairo.Context" c:type="cairo_t*"/>
            </parameter>
            <parameter name="background_area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="807">a #GdkRectangle</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="cell_area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="808">a #GdkRectangle</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="809">a #GtkTextIter</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="810">a #GtkTextIter</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="draw">
        <callback name="draw">
          <source-position filename="gtksourcegutterrenderer.h" line="103"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="845">a #GtkSourceGutterRenderer</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="cr" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="846">the cairo render context</doc>
              <type name="cairo.Context" c:type="cairo_t*"/>
            </parameter>
            <parameter name="background_area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="847">a #GdkRectangle indicating the total area to be drawn</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="cell_area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="848">a #GdkRectangle indicating the area to draw content</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="849">a #GtkTextIter</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="850">a #GtkTextIter</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="state" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="851">a #GtkSourceGutterRendererState</doc>
              <type name="GutterRendererState"
                    c:type="GtkSourceGutterRendererState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="end">
        <callback name="end">
          <source-position filename="gtksourcegutterrenderer.h" line="111"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="898">a #GtkSourceGutterRenderer</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change_view">
        <callback name="change_view">
          <source-position filename="gtksourcegutterrenderer.h" line="120"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.h"
                   line="115">a #GtkSourceGutterRenderer.</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="old_view"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.h"
                   line="116">the old #GtkTextView.</doc>
              <type name="Gtk.TextView" c:type="GtkTextView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change_buffer">
        <callback name="change_buffer">
          <source-position filename="gtksourcegutterrenderer.h" line="130"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.h"
                   line="125">a #GtkSourceGutterRenderer.</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="old_buffer"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.h"
                   line="126">the old #GtkTextBuffer.</doc>
              <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="query_activatable">
        <callback name="query_activatable">
          <source-position filename="gtksourcegutterrenderer.h" line="134"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="925">%TRUE if the renderer can be activated, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="916">a #GtkSourceGutterRenderer</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="917">a #GtkTextIter at the start of the line to be activated</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="918">a #GdkRectangle of the cell area to be activated</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="919">the event that triggered the query</doc>
              <type name="Gdk.Event" c:type="GdkEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="gtksourcegutterrenderer.h" line="139"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="956">a #GtkSourceGutterRenderer</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="957">a #GtkTextIter at the start of the line where the renderer is activated</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="958">a #GdkRectangle of the cell area where the renderer is activated</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="959">the event that triggered the activation</doc>
              <type name="Gdk.Event" c:type="GdkEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="queue_draw">
        <callback name="queue_draw">
          <source-position filename="gtksourcegutterrenderer.h" line="144"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="980">a #GtkSourceGutterRenderer</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="query_tooltip">
        <callback name="query_tooltip">
          <source-position filename="gtksourcegutterrenderer.h" line="146"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderer.c"
                 line="1007">%TRUE if the tooltip has been set, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="996">a #GtkSourceGutterRenderer.</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="997">a #GtkTextIter.</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="area" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="998">a #GdkRectangle.</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="999">The x position of the tooltip.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="1000">The y position of the tooltip.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="tooltip" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="1001">a #GtkTooltip.</doc>
              <type name="Gtk.Tooltip" c:type="GtkTooltip*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="query_data">
        <callback name="query_data">
          <source-position filename="gtksourcegutterrenderer.h" line="153"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="renderer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="1041">a #GtkSourceGutterRenderer.</doc>
              <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="1042">a #GtkTextIter.</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="1043">a #GtkTextIter.</doc>
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="state" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcegutterrenderer.c"
                   line="1044">a #GtkSourceGutterRendererState.</doc>
              <type name="GutterRendererState"
                    c:type="GtkSourceGutterRendererState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="GutterRendererPixbuf"
           c:symbol-prefix="gutter_renderer_pixbuf"
           c:type="GtkSourceGutterRendererPixbuf"
           parent="GutterRenderer"
           glib:type-name="GtkSourceGutterRendererPixbuf"
           glib:get-type="gtk_source_gutter_renderer_pixbuf_get_type"
           glib:type-struct="GutterRendererPixbufClass">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="65"/>
      <constructor name="new"
                   c:identifier="gtk_source_gutter_renderer_pixbuf_new">
        <doc xml:space="preserve"
             filename="gtksourcegutterrendererpixbuf.c"
             line="380">Create a new #GtkSourceGutterRendererPixbuf.</doc>
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcegutterrendererpixbuf.c"
               line="385">A #GtkSourceGutterRenderer</doc>
          <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
        </return-value>
      </constructor>
      <method name="get_gicon"
              c:identifier="gtk_source_gutter_renderer_pixbuf_get_gicon"
              glib:get-property="gicon">
        <doc xml:space="preserve"
             filename="gtksourcegutterrendererpixbuf.c"
             line="473">Get the gicon of the renderer</doc>
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrendererpixbuf.c"
               line="479">a #GIcon</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="475">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="gtk_source_gutter_renderer_pixbuf_get_icon_name"
              glib:get-property="icon-name">
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf"
              c:identifier="gtk_source_gutter_renderer_pixbuf_get_pixbuf"
              glib:get-property="pixbuf">
        <doc xml:space="preserve"
             filename="gtksourcegutterrendererpixbuf.c"
             line="410">Get the pixbuf of the renderer.</doc>
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrendererpixbuf.c"
               line="416">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="412">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stock_id"
              c:identifier="gtk_source_gutter_renderer_pixbuf_get_stock_id"
              glib:get-property="stock-id"
              deprecated="1"
              deprecated-version="3.10">
        <doc-deprecated xml:space="preserve">Don't use this function.</doc-deprecated>
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcegutterrendererpixbuf.c"
               line="447">the stock id.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="445">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_gicon"
              c:identifier="gtk_source_gutter_renderer_pixbuf_set_gicon"
              glib:set-property="gicon">
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="460">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="461">the icon, or %NULL.</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="gtk_source_gutter_renderer_pixbuf_set_icon_name"
              glib:set-property="icon-name">
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="492">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="493">the icon name, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pixbuf"
              c:identifier="gtk_source_gutter_renderer_pixbuf_set_pixbuf"
              glib:set-property="pixbuf">
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="396">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
          <parameter name="pixbuf"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="397">the pixbuf, or %NULL.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stock_id"
              c:identifier="gtk_source_gutter_renderer_pixbuf_set_stock_id"
              glib:set-property="stock-id"
              deprecated="1"
              deprecated-version="3.10">
        <doc-deprecated xml:space="preserve">Don't use this function.</doc-deprecated>
        <source-position filename="gtksourcegutterrendererpixbuf.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="429">a #GtkSourceGutterRendererPixbuf</doc>
            <type name="GutterRendererPixbuf"
                  c:type="GtkSourceGutterRendererPixbuf*"/>
          </instance-parameter>
          <parameter name="stock_id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrendererpixbuf.c"
                 line="430">the stock id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="gicon"
                writable="1"
                transfer-ownership="none"
                setter="set_gicon"
                getter="get_gicon">
        <type name="Gio.Icon"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="pixbuf"
                writable="1"
                transfer-ownership="none"
                setter="set_pixbuf"
                getter="get_pixbuf">
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="stock-id"
                deprecated="1"
                deprecated-version="3.10"
                writable="1"
                transfer-ownership="none"
                setter="set_stock_id"
                getter="get_stock_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcegutterrendererpixbuf.c"
             line="340">The stock id.</doc>
        <doc-deprecated xml:space="preserve">Don't use this property.</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GutterRenderer" c:type="GtkSourceGutterRenderer"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="GutterRendererPixbufPrivate"
              c:type="GtkSourceGutterRendererPixbufPrivate*"/>
      </field>
    </class>
    <record name="GutterRendererPixbufClass"
            c:type="GtkSourceGutterRendererPixbufClass"
            glib:is-gtype-struct-for="GutterRendererPixbuf">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="65"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GutterRendererClass"
              c:type="GtkSourceGutterRendererClass"/>
      </field>
    </record>
    <record name="GutterRendererPixbufPrivate"
            c:type="GtkSourceGutterRendererPixbufPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="47"/>
    </record>
    <record name="GutterRendererPrivate"
            c:type="GtkSourceGutterRendererPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcegutterrenderer.h" line="47"/>
    </record>
    <bitfield name="GutterRendererState"
              glib:type-name="GtkSourceGutterRendererState"
              glib:get-type="gtk_source_gutter_renderer_state_get_type"
              c:type="GtkSourceGutterRendererState">
      <member name="normal"
              value="0"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_STATE_NORMAL"
              glib:nick="normal"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_STATE_NORMAL">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="51">normal state</doc>
      </member>
      <member name="cursor"
              value="1"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR"
              glib:nick="cursor"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="52">area in the renderer represents the
line on which the insert cursor is currently positioned</doc>
      </member>
      <member name="prelit"
              value="2"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT"
              glib:nick="prelit"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="54">the mouse pointer is currently
over the activatable area of the renderer</doc>
      </member>
      <member name="selected"
              value="4"
              c:identifier="GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED"
              glib:nick="selected"
              glib:name="GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderer.h"
             line="56">area in the renderer represents
a line in the buffer which contains part of the selection</doc>
      </member>
    </bitfield>
    <class name="GutterRendererText"
           c:symbol-prefix="gutter_renderer_text"
           c:type="GtkSourceGutterRendererText"
           parent="GutterRenderer"
           glib:type-name="GtkSourceGutterRendererText"
           glib:get-type="gtk_source_gutter_renderer_text_get_type"
           glib:type-struct="GutterRendererTextClass">
      <source-position filename="gtksourcegutterrenderertext.h" line="65"/>
      <constructor name="new"
                   c:identifier="gtk_source_gutter_renderer_text_new">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderertext.c"
             line="405">Create a new #GtkSourceGutterRendererText.</doc>
        <source-position filename="gtksourcegutterrenderertext.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcegutterrenderertext.c"
               line="410">A #GtkSourceGutterRenderer</doc>
          <type name="GutterRenderer" c:type="GtkSourceGutterRenderer*"/>
        </return-value>
      </constructor>
      <method name="measure"
              c:identifier="gtk_source_gutter_renderer_text_measure">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderertext.c"
             line="246">Measures the text provided using the pango layout used by the
#GtkSourceGutterRendererText.</doc>
        <source-position filename="gtksourcegutterrenderertext.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="248">a #GtkSourceGutterRendererText.</doc>
            <type name="GutterRendererText"
                  c:type="GtkSourceGutterRendererText*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="249">the text to measure.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="250">location to store the width of the text in pixels,
  or %NULL.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="252">location to store the height of the text in
  pixels, or %NULL.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="measure_markup"
              c:identifier="gtk_source_gutter_renderer_text_measure_markup">
        <doc xml:space="preserve"
             filename="gtksourcegutterrenderertext.c"
             line="270">Measures the pango markup provided using the pango layout used by the
#GtkSourceGutterRendererText.</doc>
        <source-position filename="gtksourcegutterrenderertext.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="272">a #GtkSourceGutterRendererText.</doc>
            <type name="GutterRendererText"
                  c:type="GtkSourceGutterRendererText*"/>
          </instance-parameter>
          <parameter name="markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="273">the pango markup to measure.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="274">location to store the width of the text in pixels,
  or %NULL.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcegutterrenderertext.c"
                 line="276">location to store the height of the text in
  pixels, or %NULL.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="gtk_source_gutter_renderer_text_set_markup"
              glib:set-property="markup">
        <source-position filename="gtksourcegutterrenderertext.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <type name="GutterRendererText"
                  c:type="GtkSourceGutterRendererText*"/>
          </instance-parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text"
              c:identifier="gtk_source_gutter_renderer_text_set_text"
              glib:set-property="text">
        <source-position filename="gtksourcegutterrenderertext.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="renderer" transfer-ownership="none">
            <type name="GutterRendererText"
                  c:type="GtkSourceGutterRendererText*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="markup"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_markup"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="text"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_text"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GutterRenderer" c:type="GtkSourceGutterRenderer"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="GutterRendererTextPrivate"
              c:type="GtkSourceGutterRendererTextPrivate*"/>
      </field>
    </class>
    <record name="GutterRendererTextClass"
            c:type="GtkSourceGutterRendererTextClass"
            glib:is-gtype-struct-for="GutterRendererText">
      <source-position filename="gtksourcegutterrenderertext.h" line="65"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GutterRendererClass"
              c:type="GtkSourceGutterRendererClass"/>
      </field>
    </record>
    <record name="GutterRendererTextPrivate"
            c:type="GtkSourceGutterRendererTextPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcegutterrenderertext.h" line="47"/>
    </record>
    <function-macro name="IS_BUFFER"
                    c:identifier="GTK_SOURCE_IS_BUFFER"
                    introspectable="0">
      <source-position filename="gtksourcebuffer.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BUFFER_CLASS"
                    c:identifier="GTK_SOURCE_IS_BUFFER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcebuffer.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION"
                    c:identifier="GTK_SOURCE_IS_COMPLETION"
                    introspectable="0">
      <source-position filename="gtksourcecompletion.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_CLASS"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletion.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_CONTEXT"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_CONTEXT"
                    introspectable="0">
      <source-position filename="gtksourcecompletioncontext.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_CONTEXT_CLASS"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletioncontext.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_INFO"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_INFO"
                    introspectable="0">
      <source-position filename="gtksourcecompletioninfo.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_INFO_CLASS"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_INFO_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletioninfo.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_ITEM"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_ITEM"
                    introspectable="0">
      <source-position filename="gtksourcecompletionitem.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_ITEM_CLASS"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_ITEM_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcecompletionitem.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_PROPOSAL"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_PROPOSAL"
                    introspectable="0">
      <source-position filename="gtksourcecompletionproposal.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_PROVIDER"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_PROVIDER"
                    introspectable="0">
      <source-position filename="gtksourcecompletionprovider.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_WORDS"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_WORDS"
                    introspectable="0">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_WORDS_CLASS"
                    c:identifier="GTK_SOURCE_IS_COMPLETION_WORDS_CLASS"
                    introspectable="0">
      <source-position filename="completion-providers/words/gtksourcecompletionwords.h"
                       line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE"
                    c:identifier="GTK_SOURCE_IS_FILE"
                    introspectable="0">
      <source-position filename="gtksourcefile.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_CLASS"
                    c:identifier="GTK_SOURCE_IS_FILE_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefile.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_LOADER"
                    c:identifier="GTK_SOURCE_IS_FILE_LOADER"
                    introspectable="0">
      <source-position filename="gtksourcefileloader.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_LOADER_CLASS"
                    c:identifier="GTK_SOURCE_IS_FILE_LOADER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefileloader.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_SAVER"
                    c:identifier="GTK_SOURCE_IS_FILE_SAVER"
                    introspectable="0">
      <source-position filename="gtksourcefilesaver.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_SAVER_CLASS"
                    c:identifier="GTK_SOURCE_IS_FILE_SAVER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcefilesaver.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER"
                    c:identifier="GTK_SOURCE_IS_GUTTER"
                    introspectable="0">
      <source-position filename="gtksourcegutter.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_CLASS"
                    c:identifier="GTK_SOURCE_IS_GUTTER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutter.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_RENDERER"
                    c:identifier="GTK_SOURCE_IS_GUTTER_RENDERER"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderer.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_RENDERER_CLASS"
                    c:identifier="GTK_SOURCE_IS_GUTTER_RENDERER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderer.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_RENDERER_PIXBUF"
                    c:identifier="GTK_SOURCE_IS_GUTTER_RENDERER_PIXBUF"
                    introspectable="0">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_RENDERER_PIXBUF_CLASS"
                    c:identifier="GTK_SOURCE_IS_GUTTER_RENDERER_PIXBUF_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrendererpixbuf.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_RENDERER_TEXT"
                    c:identifier="GTK_SOURCE_IS_GUTTER_RENDERER_TEXT"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderertext.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GUTTER_RENDERER_TEXT_CLASS"
                    c:identifier="GTK_SOURCE_IS_GUTTER_RENDERER_TEXT_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcegutterrenderertext.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LANGUAGE"
                    c:identifier="GTK_SOURCE_IS_LANGUAGE"
                    introspectable="0">
      <source-position filename="gtksourcelanguage.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LANGUAGE_CLASS"
                    c:identifier="GTK_SOURCE_IS_LANGUAGE_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcelanguage.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LANGUAGE_MANAGER"
                    c:identifier="GTK_SOURCE_IS_LANGUAGE_MANAGER"
                    introspectable="0">
      <source-position filename="gtksourcelanguagemanager.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LANGUAGE_MANAGER_CLASS"
                    c:identifier="GTK_SOURCE_IS_LANGUAGE_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcelanguagemanager.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MAP"
                    c:identifier="GTK_SOURCE_IS_MAP"
                    introspectable="0">
      <source-position filename="gtksourcemap.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MAP_CLASS"
                    c:identifier="GTK_SOURCE_IS_MAP_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemap.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MARK"
                    c:identifier="GTK_SOURCE_IS_MARK"
                    introspectable="0">
      <source-position filename="gtksourcemark.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MARK_ATTRIBUTES"
                    c:identifier="GTK_SOURCE_IS_MARK_ATTRIBUTES"
                    introspectable="0">
      <source-position filename="gtksourcemarkattributes.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MARK_ATTRIBUTES_CLASS"
                    c:identifier="GTK_SOURCE_IS_MARK_ATTRIBUTES_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemarkattributes.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MARK_CLASS"
                    c:identifier="GTK_SOURCE_IS_MARK_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemark.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PRINT_COMPOSITOR"
                    c:identifier="GTK_SOURCE_IS_PRINT_COMPOSITOR"
                    introspectable="0">
      <source-position filename="gtksourceprintcompositor.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PRINT_COMPOSITOR_CLASS"
                    c:identifier="GTK_SOURCE_IS_PRINT_COMPOSITOR_CLASS"
                    introspectable="0">
      <source-position filename="gtksourceprintcompositor.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SEARCH_CONTEXT"
                    c:identifier="GTK_SOURCE_IS_SEARCH_CONTEXT"
                    introspectable="0">
      <source-position filename="gtksourcesearchcontext.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SEARCH_CONTEXT_CLASS"
                    c:identifier="GTK_SOURCE_IS_SEARCH_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcesearchcontext.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SEARCH_SETTINGS"
                    c:identifier="GTK_SOURCE_IS_SEARCH_SETTINGS"
                    introspectable="0">
      <source-position filename="gtksourcesearchsettings.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SEARCH_SETTINGS_CLASS"
                    c:identifier="GTK_SOURCE_IS_SEARCH_SETTINGS_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcesearchsettings.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SPACE_DRAWER"
                    c:identifier="GTK_SOURCE_IS_SPACE_DRAWER"
                    introspectable="0">
      <source-position filename="gtksourcespacedrawer.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SPACE_DRAWER_CLASS"
                    c:identifier="GTK_SOURCE_IS_SPACE_DRAWER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcespacedrawer.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE"
                    c:identifier="GTK_SOURCE_IS_STYLE"
                    introspectable="0">
      <source-position filename="gtksourcestyle.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_CLASS"
                    c:identifier="GTK_SOURCE_IS_STYLE_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyle.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME"
                    introspectable="0">
      <source-position filename="gtksourcestylescheme.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_CHOOSER"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooser.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_CHOOSER_BUTTON"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER_BUTTON"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_CHOOSER_BUTTON_CLASS"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER_BUTTON_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_CHOOSER_WIDGET"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER_WIDGET"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_CHOOSER_WIDGET_CLASS"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER_WIDGET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_CLASS"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestylescheme.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_MANAGER"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_MANAGER"
                    introspectable="0">
      <source-position filename="gtksourcestyleschememanager.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STYLE_SCHEME_MANAGER_CLASS"
                    c:identifier="GTK_SOURCE_IS_STYLE_SCHEME_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschememanager.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNDO_MANAGER"
                    c:identifier="GTK_SOURCE_IS_UNDO_MANAGER"
                    introspectable="0">
      <source-position filename="gtksourceundomanager.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIEW"
                    c:identifier="GTK_SOURCE_IS_VIEW"
                    introspectable="0">
      <source-position filename="gtksourceview.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIEW_CLASS"
                    c:identifier="GTK_SOURCE_IS_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="gtksourceview.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LANGUAGE"
                    c:identifier="GTK_SOURCE_LANGUAGE"
                    introspectable="0">
      <source-position filename="gtksourcelanguage.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LANGUAGE_CLASS"
                    c:identifier="GTK_SOURCE_LANGUAGE_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcelanguage.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LANGUAGE_GET_CLASS"
                    c:identifier="GTK_SOURCE_LANGUAGE_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcelanguage.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LANGUAGE_MANAGER"
                    c:identifier="GTK_SOURCE_LANGUAGE_MANAGER"
                    introspectable="0">
      <source-position filename="gtksourcelanguagemanager.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LANGUAGE_MANAGER_CLASS"
                    c:identifier="GTK_SOURCE_LANGUAGE_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcelanguagemanager.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LANGUAGE_MANAGER_GET_CLASS"
                    c:identifier="GTK_SOURCE_LANGUAGE_MANAGER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcelanguagemanager.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Language"
           c:symbol-prefix="language"
           c:type="GtkSourceLanguage"
           parent="GObject.Object"
           glib:type-name="GtkSourceLanguage"
           glib:get-type="gtk_source_language_get_type"
           glib:type-struct="LanguageClass">
      <source-position filename="gtksourcelanguage.h" line="63"/>
      <method name="get_globs" c:identifier="gtk_source_language_get_globs">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="604">Returns the globs associated to this language. This is just
an utility wrapper around gtk_source_language_get_metadata() to
retrieve the "globs" metadata property and split it into an array.</doc>
        <source-position filename="gtksourcelanguage.h" line="88"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="612">
a newly-allocated %NULL terminated array containing the globs or %NULL
if no globs are found.
The returned array must be freed with g_strfreev().</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="606">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hidden"
              c:identifier="gtk_source_language_get_hidden"
              glib:get-property="hidden">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="539">Returns whether the language should be hidden from the user.</doc>
        <source-position filename="gtksourcelanguage.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="545">%TRUE if the language should be hidden, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="541">a #GtkSourceLanguage</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="gtk_source_language_get_id"
              glib:get-property="id">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="480">Returns the ID of the language. The ID is not locale-dependent.
The returned string is owned by @language and should not be freed
or modified.</doc>
        <source-position filename="gtksourcelanguage.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="488">the ID of @language.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="482">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata"
              c:identifier="gtk_source_language_get_metadata">
        <source-position filename="gtksourcelanguage.h" line="81"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="560">value of property @name stored in
the metadata of @language or %NULL if language does not contain the
specified metadata property.
The returned string is owned by @language and should not be freed
or modified.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="557">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="558">metadata property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_types"
              c:identifier="gtk_source_language_get_mime_types">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="576">Returns the mime types associated to this language. This is just
an utility wrapper around gtk_source_language_get_metadata() to
retrieve the "mimetypes" metadata property and split it into an
array.</doc>
        <source-position filename="gtksourcelanguage.h" line="85"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="585">
a newly-allocated %NULL terminated array containing the mime types
or %NULL if no mime types are found.
The returned array must be freed with g_strfreev().</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="578">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gtk_source_language_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="499">Returns the localized name of the language.
The returned string is owned by @language and should not be freed
or modified.</doc>
        <source-position filename="gtksourcelanguage.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="507">the name of @language.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="501">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_section"
              c:identifier="gtk_source_language_get_section"
              glib:get-property="section">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="518">Returns the localized section of the language.
Each language belong to a section (ex. HTML belogs to the
Markup section).
The returned string is owned by @language and should not be freed
or modified.</doc>
        <source-position filename="gtksourcelanguage.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="528">the section of @language.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="520">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_style_fallback"
              c:identifier="gtk_source_language_get_style_fallback"
              version="3.4">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="906">Returns the ID of the style to use if the specified @style_id
is not present in the current style scheme.</doc>
        <source-position filename="gtksourcelanguage.h" line="98"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="914">the ID of the style to use if the
specified @style_id is not present in the current style scheme or %NULL
if the style has no fallback defined.
The returned string is owned by the @language and must not be modified.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="908">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
          <parameter name="style_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="909">a style ID.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_style_ids"
              c:identifier="gtk_source_language_get_style_ids">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="841">Returns the ids of the styles defined by this @language.</doc>
        <source-position filename="gtksourcelanguage.h" line="91"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="847">
a newly-allocated %NULL terminated array containing ids of the
styles defined by this @language or %NULL if no style is defined.
The returned array must be freed with g_strfreev().</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="843">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_style_name"
              c:identifier="gtk_source_language_get_style_name">
        <doc xml:space="preserve"
             filename="gtksourcelanguage.c"
             line="879">Returns the name of the style with ID @style_id defined by this @language.</doc>
        <source-position filename="gtksourcelanguage.h" line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguage.c"
               line="886">the name of the style with ID @style_id
defined by this @language or %NULL if the style has no name or there is no
style with ID @style_id defined by this @language.
The returned string is owned by the @language and must not be modified.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="881">a #GtkSourceLanguage.</doc>
            <type name="Language" c:type="GtkSourceLanguage*"/>
          </instance-parameter>
          <parameter name="style_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguage.c"
                 line="882">a style ID.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="hidden"
                transfer-ownership="none"
                getter="get_hidden"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="id"
                transfer-ownership="none"
                getter="get_id"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="section"
                transfer-ownership="none"
                getter="get_section"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="LanguagePrivate" c:type="GtkSourceLanguagePrivate*"/>
      </field>
    </class>
    <record name="LanguageClass"
            c:type="GtkSourceLanguageClass"
            glib:is-gtype-struct-for="Language">
      <source-position filename="gtksourcelanguage.h" line="63"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcelanguage.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcelanguage.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="LanguageManager"
           c:symbol-prefix="language_manager"
           c:type="GtkSourceLanguageManager"
           parent="GObject.Object"
           glib:type-name="GtkSourceLanguageManager"
           glib:get-type="gtk_source_language_manager_get_type"
           glib:type-struct="LanguageManagerClass">
      <source-position filename="gtksourcelanguagemanager.h" line="65"/>
      <constructor name="new" c:identifier="gtk_source_language_manager_new">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="182">Creates a new language manager. If you do not need more than one language
manager or a private language manager instance then use
gtk_source_language_manager_get_default() instead.</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcelanguagemanager.c"
               line="189">a new #GtkSourceLanguageManager.</doc>
          <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="gtk_source_language_manager_get_default">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="197">Returns the default #GtkSourceLanguageManager instance.</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcelanguagemanager.c"
               line="202">a #GtkSourceLanguageManager.
Return value is owned by GtkSourceView library and must not be unref'ed.</doc>
          <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
        </return-value>
      </function>
      <method name="get_language"
              c:identifier="gtk_source_language_manager_get_language">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="434">Gets the #GtkSourceLanguage identified by the given @id in the language
manager.</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="87"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguagemanager.c"
               line="442">a #GtkSourceLanguage, or %NULL
if there is no language identified by the given @id. Return value is
owned by @lm and should not be freed.</doc>
          <type name="Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="lm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="436">a #GtkSourceLanguageManager.</doc>
            <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="437">a language id.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_language_ids"
              c:identifier="gtk_source_language_manager_get_language_ids"
              glib:get-property="language-ids">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="412">Returns the ids of the available languages.</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="84"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguagemanager.c"
               line="418">
a %NULL-terminated array of strings containing the ids of the available
languages or %NULL if no language is available.
The array is sorted alphabetically according to the language name.
The array is owned by @lm and must not be modified.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="lm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="414">a #GtkSourceLanguageManager.</doc>
            <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_path"
              c:identifier="gtk_source_language_manager_get_search_path"
              glib:get-property="search-path">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="274">Gets the list directories where @lm looks for language files.</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcelanguagemanager.c"
               line="280">%NULL-terminated array
containg a list of language files directories.
The array is owned by @lm and must not be modified.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="lm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="276">a #GtkSourceLanguageManager.</doc>
            <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="guess_language"
              c:identifier="gtk_source_language_manager_guess_language"
              version="2.4">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="603">Picks a #GtkSourceLanguage for given file name and content type,
according to the information in lang files. Either @filename or
@content_type may be %NULL. This function can be used as follows:

&lt;informalexample&gt;&lt;programlisting&gt;
  GtkSourceLanguage *lang;
  lang = gtk_source_language_manager_guess_language (filename, NULL);
  gtk_source_buffer_set_language (buffer, lang);
&lt;/programlisting&gt;&lt;/informalexample&gt;

or

&lt;informalexample&gt;&lt;programlisting&gt;
  GtkSourceLanguage *lang = NULL;
  gboolean result_uncertain;
  gchar *content_type;

  content_type = g_content_type_guess (filename, NULL, 0, &amp;result_uncertain);
  if (result_uncertain)
    {
      g_free (content_type);
      content_type = NULL;
    }

  lang = gtk_source_language_manager_guess_language (manager, filename, content_type);
  gtk_source_buffer_set_language (buffer, lang);

  g_free (content_type);
&lt;/programlisting&gt;&lt;/informalexample&gt;

etc. Use gtk_source_language_get_mime_types() and gtk_source_language_get_globs()
if you need full control over file -&gt; language mapping.</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="91"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcelanguagemanager.c"
               line="642">a #GtkSourceLanguage, or %NULL if there
is no suitable language for given @filename and/or @content_type. Return
value is owned by @lm and should not be freed.</doc>
          <type name="Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="lm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="605">a #GtkSourceLanguageManager.</doc>
            <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
          </instance-parameter>
          <parameter name="filename"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="606">a filename in Glib filename encoding, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="content_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="607">a content type (as in GIO API), or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_path"
              c:identifier="gtk_source_language_manager_set_search_path"
              glib:set-property="search-path">
        <doc xml:space="preserve"
             filename="gtksourcelanguagemanager.c"
             line="231">Sets the list of directories where the @lm looks for
language files.
If @dirs is %NULL, the search path is reset to default.

&lt;note&gt;
  &lt;para&gt;
    At the moment this function can be called only before the
    language files are loaded for the first time. In practice
    to set a custom search path for a #GtkSourceLanguageManager,
    you have to call this function right after creating it.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="gtksourcelanguagemanager.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="lm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="233">a #GtkSourceLanguageManager.</doc>
            <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
          </instance-parameter>
          <parameter name="dirs"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcelanguagemanager.c"
                 line="234">
a %NULL-terminated array of strings or %NULL.</doc>
            <array c:type="gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <property name="language-ids"
                transfer-ownership="none"
                getter="get_language_ids">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="search-path"
                writable="1"
                transfer-ownership="none"
                setter="set_search_path"
                getter="get_search_path">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="LanguageManagerPrivate"
              c:type="GtkSourceLanguageManagerPrivate*"/>
      </field>
    </class>
    <record name="LanguageManagerClass"
            c:type="GtkSourceLanguageManagerClass"
            glib:is-gtype-struct-for="LanguageManager">
      <source-position filename="gtksourcelanguagemanager.h" line="65"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcelanguagemanager.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcelanguagemanager.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved3" introspectable="0">
        <callback name="_gtk_source_reserved3">
          <source-position filename="gtksourcelanguagemanager.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved4" introspectable="0">
        <callback name="_gtk_source_reserved4">
          <source-position filename="gtksourcelanguagemanager.h" line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="LanguageManagerPrivate"
            c:type="GtkSourceLanguageManagerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcelanguagemanager.h" line="47"/>
    </record>
    <record name="LanguagePrivate"
            c:type="GtkSourceLanguagePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcelanguage.h" line="47"/>
    </record>
    <function-macro name="MAP"
                    c:identifier="GTK_SOURCE_MAP"
                    introspectable="0">
      <source-position filename="gtksourcemap.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MAP_CLASS"
                    c:identifier="GTK_SOURCE_MAP_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemap.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MAP_CONST"
                    c:identifier="GTK_SOURCE_MAP_CONST"
                    introspectable="0">
      <source-position filename="gtksourcemap.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MAP_GET_CLASS"
                    c:identifier="GTK_SOURCE_MAP_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemap.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MARK"
                    c:identifier="GTK_SOURCE_MARK"
                    introspectable="0">
      <source-position filename="gtksourcemark.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MARK_ATTRIBUTES"
                    c:identifier="GTK_SOURCE_MARK_ATTRIBUTES"
                    introspectable="0">
      <source-position filename="gtksourcemarkattributes.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MARK_ATTRIBUTES_CLASS"
                    c:identifier="GTK_SOURCE_MARK_ATTRIBUTES_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemarkattributes.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MARK_ATTRIBUTES_GET_CLASS"
                    c:identifier="GTK_SOURCE_MARK_ATTRIBUTES_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemarkattributes.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MARK_CLASS"
                    c:identifier="GTK_SOURCE_MARK_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemark.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MARK_GET_CLASS"
                    c:identifier="GTK_SOURCE_MARK_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcemark.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Map"
           c:symbol-prefix="map"
           c:type="GtkSourceMap"
           parent="View"
           glib:type-name="GtkSourceMap"
           glib:get-type="gtk_source_map_get_type"
           glib:type-struct="MapClass">
      <source-position filename="gtksourcemap.h" line="59"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gtk_source_map_new" version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcemap.c"
             line="1186">Creates a new #GtkSourceMap.</doc>
        <source-position filename="gtksourcemap.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemap.c"
               line="1191">a new #GtkSourceMap.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_view"
              c:identifier="gtk_source_map_get_view"
              glib:get-property="view"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcemap.c"
             line="1239">Gets the #GtkSourceMap:view property, which is the view this widget is mapping.</doc>
        <source-position filename="gtksourcemap.h" line="72"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcemap.c"
               line="1245">a #GtkSourceView or %NULL.</doc>
          <type name="View" c:type="GtkSourceView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemap.c"
                 line="1241">a #GtkSourceMap.</doc>
            <type name="Map" c:type="GtkSourceMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_view"
              c:identifier="gtk_source_map_set_view"
              glib:set-property="view"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourcemap.c"
             line="1201">Sets the view that @map will be doing the mapping to.</doc>
        <source-position filename="gtksourcemap.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemap.c"
                 line="1203">a #GtkSourceMap</doc>
            <type name="Map" c:type="GtkSourceMap*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemap.c"
                 line="1204">a #GtkSourceView</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </parameter>
        </parameters>
      </method>
      <property name="font-desc" writable="1" transfer-ownership="none">
        <type name="Pango.FontDescription"/>
      </property>
      <property name="view"
                writable="1"
                transfer-ownership="none"
                setter="set_view"
                getter="get_view">
        <type name="View"/>
      </property>
      <field name="parent_instance">
        <type name="View" c:type="GtkSourceView"/>
      </field>
    </class>
    <record name="MapClass"
            c:type="GtkSourceMapClass"
            glib:is-gtype-struct-for="Map">
      <source-position filename="gtksourcemap.h" line="59"/>
      <field name="parent_class">
        <type name="ViewClass" c:type="GtkSourceViewClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Mark"
           c:symbol-prefix="mark"
           c:type="GtkSourceMark"
           parent="Gtk.TextMark"
           glib:type-name="GtkSourceMark"
           glib:get-type="gtk_source_mark_get_type"
           glib:type-struct="MarkClass">
      <source-position filename="gtksourcemark.h" line="63"/>
      <constructor name="new" c:identifier="gtk_source_mark_new" version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcemark.c"
             line="158">Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark().
If name is NULL, the mark is anonymous; otherwise, the mark can be retrieved
by name using gtk_text_buffer_get_mark().
Normally marks are created using the utility function
gtk_source_buffer_create_source_mark().</doc>
        <source-position filename="gtksourcemark.h" line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcemark.c"
               line="172">a new #GtkSourceMark that can be added using gtk_text_buffer_add_mark().</doc>
          <type name="Mark" c:type="GtkSourceMark*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="160">Name of the #GtkSourceMark, can be NULL when not using a name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="category" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="161">is used to classify marks according to common characteristics
(e.g. all the marks representing a bookmark could belong to the "bookmark"
category, or all the marks representing a compilation error could belong to
"error" category).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_category"
              c:identifier="gtk_source_mark_get_category"
              glib:get-property="category"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcemark.c"
             line="189">Returns the mark category.</doc>
        <source-position filename="gtksourcemark.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemark.c"
               line="195">the category of the #GtkSourceMark.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="191">a #GtkSourceMark.</doc>
            <type name="Mark" c:type="GtkSourceMark*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="next" c:identifier="gtk_source_mark_next" version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcemark.c"
             line="207">Returns the next #GtkSourceMark in the buffer or %NULL if the mark
was not added to a buffer. If there is no next mark, %NULL will be returned.

If @category is %NULL, looks for marks of any category.</doc>
        <source-position filename="gtksourcemark.h" line="76"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcemark.c"
               line="217">the next #GtkSourceMark, or %NULL.</doc>
          <type name="Mark" c:type="GtkSourceMark*"/>
        </return-value>
        <parameters>
          <instance-parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="209">a #GtkSourceMark.</doc>
            <type name="Mark" c:type="GtkSourceMark*"/>
          </instance-parameter>
          <parameter name="category"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="210">a string specifying the mark category, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prev" c:identifier="gtk_source_mark_prev" version="2.2">
        <doc xml:space="preserve"
             filename="gtksourcemark.c"
             line="241">Returns the previous #GtkSourceMark in the buffer or %NULL if the mark
was not added to a buffer. If there is no previous mark, %NULL is returned.

If @category is %NULL, looks for marks of any category</doc>
        <source-position filename="gtksourcemark.h" line="80"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcemark.c"
               line="251">the previous #GtkSourceMark, or %NULL.</doc>
          <type name="Mark" c:type="GtkSourceMark*"/>
        </return-value>
        <parameters>
          <instance-parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="243">a #GtkSourceMark.</doc>
            <type name="Mark" c:type="GtkSourceMark*"/>
          </instance-parameter>
          <parameter name="category" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemark.c"
                 line="244">a string specifying the mark category, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="category"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_category"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcemark.c"
             line="135">The category of the #GtkSourceMark, classifies the mark and controls
which pixbuf is used and with which priority it is drawn.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.TextMark" c:type="GtkTextMark"/>
      </field>
      <field name="priv">
        <type name="MarkPrivate" c:type="GtkSourceMarkPrivate*"/>
      </field>
    </class>
    <class name="MarkAttributes"
           c:symbol-prefix="mark_attributes"
           c:type="GtkSourceMarkAttributes"
           parent="GObject.Object"
           glib:type-name="GtkSourceMarkAttributes"
           glib:get-type="gtk_source_mark_attributes_get_type"
           glib:type-struct="MarkAttributesClass">
      <source-position filename="gtksourcemarkattributes.h" line="65"/>
      <constructor name="new" c:identifier="gtk_source_mark_attributes_new">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="407">Creates a new source mark attributes.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="412">a new source mark attributes.</doc>
          <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
        </return-value>
      </constructor>
      <method name="get_background"
              c:identifier="gtk_source_mark_attributes_get_background"
              glib:get-property="background">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="436">Stores background color in @background.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="443">whether background color for @attributes was set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="438">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="background"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="439">a #GdkRGBA.</doc>
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gicon"
              c:identifier="gtk_source_mark_attributes_get_gicon"
              glib:get-property="gicon">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="546">Gets a #GIcon to be used as a base for rendered icon. Note that the icon can
be %NULL if it wasn't set earlier.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="553">An icon. The icon belongs to @attributes and should
not be unreffed.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="548">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="gtk_source_mark_attributes_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="512">Gets a name of an icon to be used as a base for rendered icon. Note that the
icon name can be %NULL if it wasn't set earlier.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="519">An icon name. The string belongs to @attributes and
should not be freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="514">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf"
              c:identifier="gtk_source_mark_attributes_get_pixbuf"
              glib:get-property="pixbuf">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="580">Gets a #GdkPixbuf to be used as a base for rendered icon. Note that the
pixbuf can be %NULL if it wasn't set earlier.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="587">A pixbuf. The pixbuf belongs to @attributes and
should not be unreffed.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="const GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="582">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stock_id"
              c:identifier="gtk_source_mark_attributes_get_stock_id"
              glib:get-property="stock-id"
              deprecated="1"
              deprecated-version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="476">Gets a stock id of an icon used by this attributes. Note that the stock id can
be %NULL if it wasn't set earlier.</doc>
        <doc-deprecated xml:space="preserve">Don't use this function.</doc-deprecated>
        <source-position filename="gtksourcemarkattributes.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="483">Stock id. Returned string is owned by @attributes and
shouldn't be freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="478">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tooltip_markup"
              c:identifier="gtk_source_mark_attributes_get_tooltip_markup">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="654">Queries for a tooltip by emitting
a #GtkSourceMarkAttributes::query-tooltip-markup signal. The tooltip may contain
a markup.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="119"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="663">A tooltip. The returned string should be freed by
using g_free() when done with it.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="656">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="657">a #GtkSourceMark.</doc>
            <type name="Mark" c:type="GtkSourceMark*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tooltip_text"
              c:identifier="gtk_source_mark_attributes_get_tooltip_text">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="627">Queries for a tooltip by emitting
a #GtkSourceMarkAttributes::query-tooltip-text signal. The tooltip is a plain
text.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="115"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="636">A tooltip. The returned string should be freed by
using g_free() when done with it.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="629">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="630">a #GtkSourceMark.</doc>
            <type name="Mark" c:type="GtkSourceMark*"/>
          </parameter>
        </parameters>
      </method>
      <method name="render_icon"
              c:identifier="gtk_source_mark_attributes_render_icon">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="598">Renders an icon of given size. The base of the icon is set by the last call
to one of: gtk_source_mark_attributes_set_pixbuf(),
gtk_source_mark_attributes_set_gicon(),
gtk_source_mark_attributes_set_icon_name() or
gtk_source_mark_attributes_set_stock_id(). @size cannot be lower than 1.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="610">A rendered pixbuf. The pixbuf belongs to @attributes
and should not be unreffed.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="const GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="600">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="601">widget of which style settings may be used.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="602">size of the rendered icon.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_background"
              c:identifier="gtk_source_mark_attributes_set_background"
              glib:set-property="background">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="420">Sets background color to the one given in @background.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="422">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="background" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="423">a #GdkRGBA.</doc>
            <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gicon"
              c:identifier="gtk_source_mark_attributes_set_gicon"
              glib:set-property="gicon">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="530">Sets an icon to be used as a base for rendered icon.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="532">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="gicon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="533">a #GIcon to be used.</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="gtk_source_mark_attributes_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="496">Sets a name of an icon to be used as a base for rendered icon.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="498">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="499">name of an icon to be used.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pixbuf"
              c:identifier="gtk_source_mark_attributes_set_pixbuf"
              glib:set-property="pixbuf">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="564">Sets a pixbuf to be used as a base for rendered icon.</doc>
        <source-position filename="gtksourcemarkattributes.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="566">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="567">a #GdkPixbuf to be used.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="const GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stock_id"
              c:identifier="gtk_source_mark_attributes_set_stock_id"
              glib:set-property="stock-id"
              deprecated="1"
              deprecated-version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="458">Sets stock id to be used as a base for rendered icon.</doc>
        <doc-deprecated xml:space="preserve">Don't use this function.</doc-deprecated>
        <source-position filename="gtksourcemarkattributes.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="460">a #GtkSourceMarkAttributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </instance-parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="461">a stock id.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="background"
                writable="1"
                transfer-ownership="none"
                setter="set_background"
                getter="get_background">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="283">A color used for background of a line.</doc>
        <type name="Gdk.RGBA"/>
      </property>
      <property name="gicon"
                writable="1"
                transfer-ownership="none"
                setter="set_gicon"
                getter="get_gicon">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="342">A #GIcon that may be a base of a rendered icon.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="328">An icon name that may be a base of a rendered icon.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="pixbuf"
                writable="1"
                transfer-ownership="none"
                setter="set_pixbuf"
                getter="get_pixbuf">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="314">A #GdkPixbuf that may be a base of a rendered icon.</doc>
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="stock-id"
                deprecated="1"
                deprecated-version="3.10"
                writable="1"
                transfer-ownership="none"
                setter="set_stock_id"
                getter="get_stock_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="297">A stock id that may be a base of a rendered icon.</doc>
        <doc-deprecated xml:space="preserve">Don't use this property.</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="MarkAttributesPrivate"
              c:type="GtkSourceMarkAttributesPrivate*"/>
      </field>
      <glib:signal name="query-tooltip-markup" when="last">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="377">The code should connect to this signal to provide a tooltip for given
@mark. The tooltip can contain a markup.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="385">A tooltip. The string should be freed with
g_free() when done with it.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="380">The #GtkSourceMark.</doc>
            <type name="Mark"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="query-tooltip-text" when="last">
        <doc xml:space="preserve"
             filename="gtksourcemarkattributes.c"
             line="356">The code should connect to this signal to provide a tooltip for given
@mark. The tooltip should be just a plain text.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcemarkattributes.c"
               line="364">A tooltip. The string should be freed with
g_free() when done with it.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcemarkattributes.c"
                 line="359">The #GtkSourceMark.</doc>
            <type name="Mark"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MarkAttributesClass"
            c:type="GtkSourceMarkAttributesClass"
            glib:is-gtype-struct-for="MarkAttributes">
      <source-position filename="gtksourcemarkattributes.h" line="65"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MarkAttributesPrivate"
            c:type="GtkSourceMarkAttributesPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcemarkattributes.h" line="47"/>
    </record>
    <record name="MarkClass"
            c:type="GtkSourceMarkClass"
            glib:is-gtype-struct-for="Mark">
      <source-position filename="gtksourcemark.h" line="63"/>
      <field name="parent_class">
        <type name="Gtk.TextMarkClass" c:type="GtkTextMarkClass"/>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcemark.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcemark.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="MarkPrivate"
            c:type="GtkSourceMarkPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcemark.h" line="47"/>
    </record>
    <callback name="MountOperationFactory"
              c:type="GtkSourceMountOperationFactory"
              version="3.14"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gtksourcefile.h"
           line="90">Type definition for a function that will be called to create a
#GMountOperation. This is useful for creating a #GtkMountOperation.</doc>
      <source-position filename="gtksourcefile.h" line="100"/>
      <return-value>
        <type name="Gio.MountOperation" c:type="GMountOperation*"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcefile.h"
               line="92">a #GtkSourceFile.</doc>
          <type name="File" c:type="GtkSourceFile*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gtksourcefile.h"
               line="93">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="NewlineType"
                 version="3.14"
                 glib:type-name="GtkSourceNewlineType"
                 glib:get-type="gtk_source_newline_type_get_type"
                 c:type="GtkSourceNewlineType">
      <member name="lf"
              value="0"
              c:identifier="GTK_SOURCE_NEWLINE_TYPE_LF"
              glib:nick="lf"
              glib:name="GTK_SOURCE_NEWLINE_TYPE_LF">
        <doc xml:space="preserve"
             filename="gtksourcefile.h"
             line="50">line feed, used on UNIX.</doc>
      </member>
      <member name="cr"
              value="1"
              c:identifier="GTK_SOURCE_NEWLINE_TYPE_CR"
              glib:nick="cr"
              glib:name="GTK_SOURCE_NEWLINE_TYPE_CR">
        <doc xml:space="preserve"
             filename="gtksourcefile.h"
             line="51">carriage return, used on Mac.</doc>
      </member>
      <member name="cr_lf"
              value="2"
              c:identifier="GTK_SOURCE_NEWLINE_TYPE_CR_LF"
              glib:nick="cr-lf"
              glib:name="GTK_SOURCE_NEWLINE_TYPE_CR_LF">
        <doc xml:space="preserve"
             filename="gtksourcefile.h"
             line="52">carriage return followed by a line feed, used
  on Windows.</doc>
      </member>
    </enumeration>
    <function-macro name="PRINT_COMPOSITOR"
                    c:identifier="GTK_SOURCE_PRINT_COMPOSITOR"
                    introspectable="0">
      <source-position filename="gtksourceprintcompositor.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PRINT_COMPOSITOR_CLASS"
                    c:identifier="GTK_SOURCE_PRINT_COMPOSITOR_CLASS"
                    introspectable="0">
      <source-position filename="gtksourceprintcompositor.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PRINT_COMPOSITOR_GET_CLASS"
                    c:identifier="GTK_SOURCE_PRINT_COMPOSITOR_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourceprintcompositor.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="PrintCompositor"
           c:symbol-prefix="print_compositor"
           c:type="GtkSourcePrintCompositor"
           parent="GObject.Object"
           glib:type-name="GtkSourcePrintCompositor"
           glib:get-type="gtk_source_print_compositor_get_type"
           glib:type-struct="PrintCompositorClass">
      <source-position filename="gtksourceprintcompositor.h" line="63"/>
      <constructor name="new"
                   c:identifier="gtk_source_print_compositor_new"
                   version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="755">Creates a new print compositor that can be used to print @buffer.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="761">a new print compositor object.</doc>
          <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="757">the #GtkSourceBuffer to print.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_view"
                   c:identifier="gtk_source_print_compositor_new_from_view"
                   version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="775">Creates a new print compositor that can be used to print the buffer
associated with @view.
This constructor sets some configuration properties to make the
printed output match @view as much as possible.  The properties set are
#GtkSourcePrintCompositor:tab-width, #GtkSourcePrintCompositor:highlight-syntax,
#GtkSourcePrintCompositor:wrap-mode, #GtkSourcePrintCompositor:body-font-name and
#GtkSourcePrintCompositor:print-line-numbers.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="73"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="787">a new print compositor object.</doc>
          <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="777">a #GtkSourceView to get configuration from.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="draw_page"
              c:identifier="gtk_source_print_compositor_draw_page">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="3014">Draw page @page_nr for printing on the the Cairo context encapsuled in @context.

This method has been designed to be called in the handler of the #GtkPrintOperation::draw_page signal
as shown in the following example:

&lt;informalexample&gt;&lt;programlisting&gt;
// Signal handler for the GtkPrintOperation::draw_page signal

static void
draw_page (GtkPrintOperation *operation,
           GtkPrintContext   *context,
           gint               page_nr,
           gpointer           user_data)
{
    GtkSourcePrintCompositor *compositor;

    compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);

    gtk_source_print_compositor_draw_page (compositor,
                                           context,
                                           page_nr);
}
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
        <source-position filename="gtksourceprintcompositor.h" line="223"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="3016">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="3017">the #GtkPrintContext encapsulating the context information that is required when
          drawing the page for printing.</doc>
            <type name="Gtk.PrintContext" c:type="GtkPrintContext*"/>
          </parameter>
          <parameter name="page_nr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="3019">the number of the page to print.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_body_font_name"
              c:identifier="gtk_source_print_compositor_get_body_font_name"
              glib:get-property="body-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1302">Returns the name of the font used to print the text body. The returned string
must be freed with g_free().</doc>
        <source-position filename="gtksourceprintcompositor.h" line="117"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1309">a new string containing the name of the font used to print the
text body.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1304">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_margin"
              c:identifier="gtk_source_print_compositor_get_bottom_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1567">Gets the bottom margin in units of @unit.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="157"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1574">the bottom margin.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1569">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1570">the unit for the return value.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buffer"
              c:identifier="gtk_source_print_compositor_get_buffer"
              glib:get-property="buffer"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="824">Gets the #GtkSourceBuffer associated with the compositor. The returned
object reference is owned by the compositor object and
should not be unreferenced.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="832">the #GtkSourceBuffer associated with the compositor.</doc>
          <type name="Buffer" c:type="GtkSourceBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="826">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_footer_font_name"
              c:identifier="gtk_source_print_compositor_get_footer_font_name"
              glib:get-property="footer-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1481">Returns the name of the font used to print the page footer.
The returned string must be freed with g_free().</doc>
        <source-position filename="gtksourceprintcompositor.h" line="144"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1488">a new string containing the name of the font used to print
the page footer.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1483">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_header_font_name"
              c:identifier="gtk_source_print_compositor_get_header_font_name"
              glib:get-property="header-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1419">Returns the name of the font used to print the page header.
The returned string must be freed with g_free().</doc>
        <source-position filename="gtksourceprintcompositor.h" line="135"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1426">a new string containing the name of the font used to print
the page header.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1421">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_highlight_syntax"
              c:identifier="gtk_source_print_compositor_get_highlight_syntax"
              glib:get-property="highlight-syntax"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="965">Determines whether the printed text will be highlighted according to the
buffer rules.  Note that highlighting will happen
only if the buffer to print has highlighting activated.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="973">%TRUE if the printed output will be highlighted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="967">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_left_margin"
              c:identifier="gtk_source_print_compositor_get_left_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1607">Gets the left margin in units of @unit.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="166"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1614">the left margin</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1609">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1610">the unit for the return value.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_line_numbers_font_name"
              c:identifier="gtk_source_print_compositor_get_line_numbers_font_name"
              glib:get-property="line-numbers-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1357">Returns the name of the font used to print line numbers on the left margin.
The returned string must be freed with g_free().</doc>
        <source-position filename="gtksourceprintcompositor.h" line="126"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1364">a new string containing the name of the font used to print
line numbers on the left margin.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1359">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_pages"
              c:identifier="gtk_source_print_compositor_get_n_pages"
              glib:get-property="n-pages"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1667">Returns the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the
document has not been completely paginated.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="212"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1674">the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the
document has not been completely paginated.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1669">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pagination_progress"
              c:identifier="gtk_source_print_compositor_get_pagination_progress"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="2739">Returns the current fraction of the document pagination that has been completed.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="219"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="2745">a fraction from 0.0 to 1.0 inclusive.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="2741">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_print_footer"
              c:identifier="gtk_source_print_compositor_get_print_footer"
              glib:get-property="print-footer"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1108">Determines if a footer is set to be printed for each page.  A
footer will be printed if this function returns %TRUE
&lt;emphasis&gt;and&lt;/emphasis&gt; some format strings have been specified
with gtk_source_print_compositor_set_footer_format().</doc>
        <source-position filename="gtksourceprintcompositor.h" line="195"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1117">%TRUE if the footer is set to be printed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1110">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_print_header"
              c:identifier="gtk_source_print_compositor_get_print_header"
              glib:get-property="print-header"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1052">Determines if a header is set to be printed for each page.  A
header will be printed if this function returns %TRUE
&lt;emphasis&gt;and&lt;/emphasis&gt; some format strings have been specified
with gtk_source_print_compositor_set_header_format().</doc>
        <source-position filename="gtksourceprintcompositor.h" line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1061">%TRUE if the header is set to be printed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1054">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_print_line_numbers"
              c:identifier="gtk_source_print_compositor_get_print_line_numbers"
              glib:get-property="print-line-numbers"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1218">Returns the interval used for line number printing.  If the
value is 0, no line numbers will be printed.  The default value is
1 (i.e. numbers printed in all lines).</doc>
        <source-position filename="gtksourceprintcompositor.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1226">the interval of printed line numbers.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1220">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_right_margin"
              c:identifier="gtk_source_print_compositor_get_right_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1647">Gets the right margin in units of @unit.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="175"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1654">the right margin.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1649">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1650">the unit for the return value.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tab_width"
              c:identifier="gtk_source_print_compositor_get_tab_width"
              glib:get-property="tab-width"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="872">Returns the width of tabulation in characters for printed text.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="878">width of tab.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="874">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_top_margin"
              c:identifier="gtk_source_print_compositor_get_top_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1527">Gets the top margin in units of @unit.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="148"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="1534">the top margin.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1529">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1530">the unit for the return value.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_wrap_mode"
              c:identifier="gtk_source_print_compositor_get_wrap_mode"
              glib:get-property="wrap-mode"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="917">Gets the line wrapping mode for the printed text.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="923">the line wrap mode.</doc>
          <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="919">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paginate"
              c:identifier="gtk_source_print_compositor_paginate"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="2428">Paginate the document associated with the @compositor.

In order to support non-blocking pagination, document is paginated in small chunks.
Each time gtk_source_print_compositor_paginate() is invoked, a chunk of the document
is paginated. To paginate the entire document, gtk_source_print_compositor_paginate()
must be invoked multiple times.
It returns %TRUE if the document has been completely paginated, otherwise it returns %FALSE.

This method has been designed to be invoked in the handler of the #GtkPrintOperation::paginate signal,
as shown in the following example:

&lt;informalexample&gt;&lt;programlisting&gt;
// Signal handler for the GtkPrintOperation::paginate signal

static gboolean
paginate (GtkPrintOperation *operation,
          GtkPrintContext   *context,
          gpointer           user_data)
{
    GtkSourcePrintCompositor *compositor;

    compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);

    if (gtk_source_print_compositor_paginate (compositor, context))
    {
        gint n_pages;

        n_pages = gtk_source_print_compositor_get_n_pages (compositor);
        gtk_print_operation_set_n_pages (operation, n_pages);

        return TRUE;
    }

    return FALSE;
}
&lt;/programlisting&gt;&lt;/informalexample&gt;

If you don't need to do pagination in chunks, you can simply do it all in the
#GtkPrintOperation::begin-print handler, and set the number of pages from there, like
in the following example:

&lt;informalexample&gt;&lt;programlisting&gt;
// Signal handler for the GtkPrintOperation::begin-print signal

static void
begin_print (GtkPrintOperation *operation,
             GtkPrintContext   *context,
             gpointer           user_data)
{
    GtkSourcePrintCompositor *compositor;
    gint n_pages;

    compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);

    while (!gtk_source_print_compositor_paginate (compositor, context));

    n_pages = gtk_source_print_compositor_get_n_pages (compositor);
    gtk_print_operation_set_n_pages (operation, n_pages);
}
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
        <source-position filename="gtksourceprintcompositor.h" line="215"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceprintcompositor.c"
               line="2495">%TRUE if the document has been completely paginated, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="2430">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="2431">the #GtkPrintContext whose parameters (e.g. paper size, print margins, etc.)
are used by the the @compositor to paginate the document.</doc>
            <type name="Gtk.PrintContext" c:type="GtkPrintContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_body_font_name"
              c:identifier="gtk_source_print_compositor_set_body_font_name"
              glib:set-property="body-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1269">Sets the default font for the printed text.

@font_name should be a
string representation of a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1271">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1272">the name of the default font for the body text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bottom_margin"
              c:identifier="gtk_source_print_compositor_set_bottom_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1547">Sets the bottom margin used by @compositor.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1549">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1550">the new bottom margin in units of @unit.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1551">the units for @margin.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_footer_font_name"
              c:identifier="gtk_source_print_compositor_set_footer_font_name"
              glib:set-property="footer-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1445">Sets the font for printing the page footer. If
%NULL is supplied, the default font (i.e. the one being used for the
text) will be used instead.

@font_name should be a
string representation of a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1447">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="font_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1448">the name of the font for the footer text, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_footer_format"
              c:identifier="gtk_source_print_compositor_set_footer_format"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1183">See gtk_source_print_compositor_set_header_format() for more information
about the parameters.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1185">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="separator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1186">%TRUE if you want a separator line to be printed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="left"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1187">a format string to print on the left of the footer.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="center"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1188">a format string to print on the center of the footer.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="right"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1189">a format string to print on the right of the footer.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_header_font_name"
              c:identifier="gtk_source_print_compositor_set_header_font_name"
              glib:set-property="header-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1383">Sets the font for printing the page header. If
%NULL is supplied, the default font (i.e. the one being used for the
text) will be used instead.

@font_name should be a
string representation of a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1385">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="font_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1386">the name of the font for header text, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_header_format"
              c:identifier="gtk_source_print_compositor_set_header_format"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1129">Sets strftime like header format strings, to be printed on the
left, center and right of the top of each page.  The strings may
include strftime(3) codes which will be expanded at print time.
A subset of strftime() codes are accepted, see g_date_time_format()
for more details on the accepted format specifiers.
Additionally the following format specifiers are accepted:
- #N: the page number
- #Q: the page count.

@separator specifies if a solid line should be drawn to separate
the header from the document text.

If %NULL is given for any of the three arguments, that particular
string will not be printed.

For the header to be printed, in
addition to specifying format strings, you need to enable header
printing with gtk_source_print_compositor_set_print_header().

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="198"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1131">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="separator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1132">%TRUE if you want a separator line to be printed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="left"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1133">a format string to print on the left of the header.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="center"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1134">a format string to print on the center of the header.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="right"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1135">a format string to print on the right of the header.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_highlight_syntax"
              c:identifier="gtk_source_print_compositor_set_highlight_syntax"
              glib:set-property="highlight-syntax"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="935">Sets whether the printed text will be highlighted according to the
buffer rules.  Both color and font style are applied.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="937">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="highlight" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="938">whether syntax should be highlighted.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_left_margin"
              c:identifier="gtk_source_print_compositor_set_left_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1587">Sets the left margin used by @compositor.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="170"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1589">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1590">the new left margin in units of @unit.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1591">the units for @margin.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_numbers_font_name"
              c:identifier="gtk_source_print_compositor_set_line_numbers_font_name"
              glib:set-property="line-numbers-font-name"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1322">Sets the font for printing line numbers on the left margin.  If
%NULL is supplied, the default font (i.e. the one being used for the
text) will be used instead.

@font_name should be a
string representation of a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1324">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="font_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1325">the name of the font for line numbers, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_print_footer"
              c:identifier="gtk_source_print_compositor_set_print_footer"
              glib:set-property="print-footer"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1073">Sets whether you want to print a footer in each page.  The
footer consists of three pieces of text and an optional line
separator, configurable with
gtk_source_print_compositor_set_footer_format().

Note that by default the footer format is unspecified, and if it's
empty it will not be printed, regardless of this setting.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="191"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1075">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="print" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1076">%TRUE if you want the footer to be printed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_print_header"
              c:identifier="gtk_source_print_compositor_set_print_header"
              glib:set-property="print-header"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1017">Sets whether you want to print a header in each page.  The
header consists of three pieces of text and an optional line
separator, configurable with
gtk_source_print_compositor_set_header_format().

Note that by default the header format is unspecified, and if it's
empty it will not be printed, regardless of this setting.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="184"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1019">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="print" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1020">%TRUE if you want the header to be printed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_print_line_numbers"
              c:identifier="gtk_source_print_compositor_set_print_line_numbers"
              glib:set-property="print-line-numbers"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="985">Sets the interval for printed line numbers.  If @interval is 0 no
numbers will be printed.  If greater than 0, a number will be
printed every @interval lines (i.e. 1 will print all line numbers).

Maximum accepted value for @interval is 100.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="987">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="988">interval for printed line numbers.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_right_margin"
              c:identifier="gtk_source_print_compositor_set_right_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1627">Sets the right margin used by @compositor.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="179"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1629">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1630">the new right margin in units of @unit.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1631">the units for @margin.</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tab_width"
              c:identifier="gtk_source_print_compositor_set_tab_width"
              glib:set-property="tab-width"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="844">Sets the width of tabulation in characters for printed text.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="846">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="847">width of tab in characters.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_top_margin"
              c:identifier="gtk_source_print_compositor_set_top_margin"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="1507">Sets the top margin used by @compositor.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1509">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1510">the new top margin in units of @unit</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="1511">the units for @margin</doc>
            <type name="Gtk.Unit" c:type="GtkUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap_mode"
              c:identifier="gtk_source_print_compositor_set_wrap_mode"
              glib:set-property="wrap-mode"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="890">Sets the line wrapping mode for the printed text.

This function cannot be called anymore after the first call to the
gtk_source_print_compositor_paginate() function.</doc>
        <source-position filename="gtksourceprintcompositor.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="compositor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="892">a #GtkSourcePrintCompositor.</doc>
            <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
          </instance-parameter>
          <parameter name="wrap_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceprintcompositor.c"
                 line="893">a #GtkWrapMode.</doc>
            <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
          </parameter>
        </parameters>
      </method>
      <property name="body-font-name"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_body_font_name"
                getter="get_body_font_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="580">Name of the font used for the text body.

Accepted values are strings representing a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="buffer"
                version="2.2"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="435">The GtkSourceBuffer object to print.</doc>
        <type name="Buffer"/>
      </property>
      <property name="footer-font-name"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_footer_font_name"
                getter="get_footer_font_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="651">Name of the font used to print page footer.
If this property is unspecified, the text body font is used.

Accepted values are strings representing a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="header-font-name"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_header_font_name"
                getter="get_header_font_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="627">Name of the font used to print page header.
If this property is unspecified, the text body font is used.

Accepted values are strings representing a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="highlight-syntax"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_highlight_syntax"
                getter="get_highlight_syntax"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="494">Whether to print the document with highlighted syntax.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-numbers-font-name"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_line_numbers_font_name"
                getter="get_line_numbers_font_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="603">Name of the font used to print line numbers on the left margin.
If this property is unspecified, the text body font is used.

Accepted values are strings representing a font description Pango can understand.
(e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
for a description of the format of the string representation.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="n-pages"
                version="2.2"
                transfer-ownership="none"
                getter="get_n_pages"
                default-value="-1">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="675">The number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the
document has not been completely paginated.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="print-footer"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_print_footer"
                getter="get_print_footer"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="557">Whether to print a footer in each page.

Note that by default the footer format is unspecified, and if it is
unspecified the footer will not be printed, regardless of the value of
this property.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="print-header"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_print_header"
                getter="get_print_header"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="534">Whether to print a header in each page.

Note that by default the header format is unspecified, and if it is
unspecified the header will not be printed, regardless of the value of
this property.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="print-line-numbers"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_print_line_numbers"
                getter="get_print_line_numbers"
                default-value="1">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="513">Interval of printed line numbers. If this property is set to 0 no
numbers will be printed.  If greater than 0, a number will be
printed every "print-line-numbers" lines (i.e. 1 will print all line numbers).

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="tab-width"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_tab_width"
                getter="get_tab_width"
                default-value="8">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="452">Width of a tab character expressed in spaces.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="wrap-mode"
                version="2.2"
                writable="1"
                transfer-ownership="none"
                setter="set_wrap_mode"
                getter="get_wrap_mode"
                default-value="GTK_WRAP_NONE">
        <doc xml:space="preserve"
             filename="gtksourceprintcompositor.c"
             line="474">Whether to wrap lines never, at word boundaries, or at character boundaries.

The value of this property cannot be changed anymore after the first
call to the gtk_source_print_compositor_paginate() function.</doc>
        <type name="Gtk.WrapMode"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="PrintCompositorPrivate"
              c:type="GtkSourcePrintCompositorPrivate*"/>
      </field>
    </class>
    <record name="PrintCompositorClass"
            c:type="GtkSourcePrintCompositorClass"
            glib:is-gtype-struct-for="PrintCompositor">
      <source-position filename="gtksourceprintcompositor.h" line="63"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourceprintcompositor.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourceprintcompositor.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="PrintCompositorPrivate"
            c:type="GtkSourcePrintCompositorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourceprintcompositor.h" line="47"/>
    </record>
    <class name="Region"
           c:symbol-prefix="region"
           c:type="GtkSourceRegion"
           parent="GObject.Object"
           glib:type-name="GtkSourceRegion"
           glib:get-type="gtk_source_region_get_type"
           glib:type-struct="RegionClass">
      <source-position filename="gtksourceregion.h" line="52"/>
      <constructor name="new"
                   c:identifier="gtk_source_region_new"
                   version="3.22">
        <source-position filename="gtksourceregion.h" line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="332">a new #GtkSourceRegion object for @buffer.</doc>
          <type name="Region" c:type="GtkSourceRegion*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="330">a #GtkTextBuffer.</doc>
            <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_region"
              c:identifier="gtk_source_region_add_region"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="527">Adds @region_to_add to @region. @region_to_add is not modified.</doc>
        <source-position filename="gtksourceregion.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="529">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="region_to_add"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="530">the #GtkSourceRegion to add to @region, or %NULL.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_subregion"
              c:identifier="gtk_source_region_add_subregion"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="403">Adds the subregion delimited by @_start and @_end to @region.</doc>
        <source-position filename="gtksourceregion.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="405">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="406">the start of the subregion.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="407">the end of the subregion.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_bounds"
              c:identifier="gtk_source_region_get_bounds"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="862">Gets the @start and @end bounds of the @region.</doc>
        <source-position filename="gtksourceregion.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="872">%TRUE if @start and @end have been set successfully (if non-%NULL),
  or %FALSE if the @region is empty.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="864">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="865">iterator to initialize with the start of @region,
  or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="867">iterator to initialize with the end of @region,
  or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buffer"
              c:identifier="gtk_source_region_get_buffer"
              glib:get-property="buffer"
              version="3.22">
        <source-position filename="gtksourceregion.h" line="75"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="349">the #GtkTextBuffer.</doc>
          <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="347">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_start_region_iter"
              c:identifier="gtk_source_region_get_start_region_iter"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="1189">Initializes a #GtkSourceRegionIter to the first subregion of @region. If
@region is empty, @iter will be initialized to the end iterator.</doc>
        <source-position filename="gtksourceregion.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1191">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1192">iterator to initialize to the first subregion.</doc>
            <type name="RegionIter" c:type="GtkSourceRegionIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="intersect_region"
              c:identifier="gtk_source_region_intersect_region"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="1083">Returns the intersection between @region1 and @region2. @region1 and
@region2 are not modified.</doc>
        <source-position filename="gtksourceregion.h" line="101"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="1091">the intersection as a #GtkSourceRegion
  object.</doc>
          <type name="Region" c:type="GtkSourceRegion*"/>
        </return-value>
        <parameters>
          <instance-parameter name="region1"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1085">a #GtkSourceRegion, or %NULL.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="region2"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1086">a #GtkSourceRegion, or %NULL.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </parameter>
        </parameters>
      </method>
      <method name="intersect_subregion"
              c:identifier="gtk_source_region_intersect_subregion"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="910">Returns the intersection between @region and the subregion delimited by
@_start and @_end. @region is not modified.</doc>
        <source-position filename="gtksourceregion.h" line="96"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="919">the intersection as a new
  #GtkSourceRegion.</doc>
          <type name="Region" c:type="GtkSourceRegion*"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="912">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="913">the start of the subregion.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="914">the end of the subregion.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_empty"
              c:identifier="gtk_source_region_is_empty"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="810">Returns whether the @region is empty. A %NULL @region is considered empty.</doc>
        <source-position filename="gtksourceregion.h" line="105"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="816">whether the @region is empty.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="region"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="812">a #GtkSourceRegion, or %NULL.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="subtract_region"
              c:identifier="gtk_source_region_subtract_region"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="757">Subtracts @region_to_subtract from @region. @region_to_subtract is not
modified.</doc>
        <source-position filename="gtksourceregion.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="759">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="region_to_subtract"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="760">the #GtkSourceRegion to subtract from
  @region, or %NULL.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </parameter>
        </parameters>
      </method>
      <method name="subtract_subregion"
              c:identifier="gtk_source_region_subtract_subregion"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="583">Subtracts the subregion delimited by @_start and @_end from @region.</doc>
        <source-position filename="gtksourceregion.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="585">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
          <parameter name="_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="586">the start of the subregion.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="587">the end of the subregion.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="gtk_source_region_to_string"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="1322">Gets a string represention of @region, for debugging purposes.

The returned string contains the character offsets of the subregions. It
doesn't include a newline character at the end of the string.</doc>
        <source-position filename="gtksourceregion.h" line="128"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="1331">a string represention of @region. Free
  with g_free() when no longer needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1324">a #GtkSourceRegion.</doc>
            <type name="Region" c:type="GtkSourceRegion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="buffer"
                version="3.22"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="303">The #GtkTextBuffer. The #GtkSourceRegion has a weak reference to the
buffer.</doc>
        <type name="Gtk.TextBuffer"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="RegionClass"
            c:type="GtkSourceRegionClass"
            glib:is-gtype-struct-for="Region">
      <source-position filename="gtksourceregion.h" line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="RegionIter" c:type="GtkSourceRegionIter" version="3.22">
      <doc xml:space="preserve"
           filename="gtksourceregion.h"
           line="54">#GtkSourceRegionIter is an opaque datatype; ignore all its fields.
Initialize the iter with gtk_source_region_get_start_region_iter().</doc>
      <source-position filename="gtksourceregion.h" line="69"/>
      <field name="dummy1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="dummy2" readable="0" private="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="dummy3" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <method name="get_subregion"
              c:identifier="gtk_source_region_iter_get_subregion"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="1268">Gets the subregion at this iterator.</doc>
        <source-position filename="gtksourceregion.h" line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="1276">%TRUE if @start and @end have been set successfully (if non-%NULL),
  or %FALSE if @iter is the end iterator or if the region is empty.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1270">a #GtkSourceRegionIter.</doc>
            <type name="RegionIter" c:type="GtkSourceRegionIter*"/>
          </instance-parameter>
          <parameter name="start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1271">iterator to initialize with the subregion start, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1272">iterator to initialize with the subregion end, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_end"
              c:identifier="gtk_source_region_iter_is_end"
              version="3.22">
        <source-position filename="gtksourceregion.h" line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="1223">whether @iter is the end iterator.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1221">a #GtkSourceRegionIter.</doc>
            <type name="RegionIter" c:type="GtkSourceRegionIter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="next"
              c:identifier="gtk_source_region_iter_next"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourceregion.c"
             line="1239">Moves @iter to the next subregion.</doc>
        <source-position filename="gtksourceregion.h" line="120"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceregion.c"
               line="1245">%TRUE if @iter moved and is dereferenceable, or %FALSE if @iter has
  been set to the end iterator.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceregion.c"
                 line="1241">a #GtkSourceRegionIter.</doc>
            <type name="RegionIter" c:type="GtkSourceRegionIter*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <function-macro name="SEARCH_CONTEXT"
                    c:identifier="GTK_SOURCE_SEARCH_CONTEXT"
                    introspectable="0">
      <source-position filename="gtksourcesearchcontext.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_CONTEXT_CLASS"
                    c:identifier="GTK_SOURCE_SEARCH_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcesearchcontext.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_CONTEXT_GET_CLASS"
                    c:identifier="GTK_SOURCE_SEARCH_CONTEXT_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcesearchcontext.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SETTINGS"
                    c:identifier="GTK_SOURCE_SEARCH_SETTINGS"
                    introspectable="0">
      <source-position filename="gtksourcesearchsettings.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SETTINGS_CLASS"
                    c:identifier="GTK_SOURCE_SEARCH_SETTINGS_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcesearchsettings.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SETTINGS_GET_CLASS"
                    c:identifier="GTK_SOURCE_SEARCH_SETTINGS_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcesearchsettings.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SPACE_DRAWER"
                    c:identifier="GTK_SOURCE_SPACE_DRAWER"
                    introspectable="0">
      <source-position filename="gtksourcespacedrawer.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SPACE_DRAWER_CLASS"
                    c:identifier="GTK_SOURCE_SPACE_DRAWER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcespacedrawer.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SPACE_DRAWER_GET_CLASS"
                    c:identifier="GTK_SOURCE_SPACE_DRAWER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcespacedrawer.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE"
                    c:identifier="GTK_SOURCE_STYLE"
                    introspectable="0">
      <source-position filename="gtksourcestyle.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyle.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_GET_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyle.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME"
                    introspectable="0">
      <source-position filename="gtksourcestylescheme.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooser.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_BUTTON"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_BUTTON"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_BUTTON_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_BUTTON_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_BUTTON_CONST"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_BUTTON_CONST"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_BUTTON_GET_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_BUTTON_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_GET_IFACE"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_GET_IFACE"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooser.h" line="40"/>
      <parameters>
        <parameter name="inst">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_WIDGET"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_WIDGET"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_WIDGET_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_WIDGET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_WIDGET_CONST"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_WIDGET_CONST"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CHOOSER_WIDGET_GET_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CHOOSER_WIDGET_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestylescheme.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_GET_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestylescheme.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_MANAGER"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_MANAGER"
                    introspectable="0">
      <source-position filename="gtksourcestyleschememanager.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_MANAGER_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschememanager.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STYLE_SCHEME_MANAGER_GET_CLASS"
                    c:identifier="GTK_SOURCE_STYLE_SCHEME_MANAGER_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourcestyleschememanager.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="SearchContext"
           c:symbol-prefix="search_context"
           c:type="GtkSourceSearchContext"
           parent="GObject.Object"
           glib:type-name="GtkSourceSearchContext"
           glib:get-type="gtk_source_search_context_get_type"
           glib:type-struct="SearchContextClass">
      <source-position filename="gtksourcesearchcontext.h" line="60"/>
      <constructor name="new"
                   c:identifier="gtk_source_search_context_new"
                   version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2869">Creates a new search context, associated with @buffer, and customized with
@settings. If @settings is %NULL, a new #GtkSourceSearchSettings object will
be created, that you can retrieve with
gtk_source_search_context_get_settings().</doc>
        <source-position filename="gtksourcesearchcontext.h" line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="2879">a new search context.</doc>
          <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2871">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
          <parameter name="settings"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2872">a #GtkSourceSearchSettings, or %NULL.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="backward"
              c:identifier="gtk_source_search_context_backward"
              version="3.10"
              deprecated="1"
              deprecated-version="3.22"
              glib:async-func="backward_async">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3492">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 @buffer is small, this function is more convenient to use.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_search_context_backward2() instead.</doc-deprecated>
        <source-position filename="gtksourcesearchcontext.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3503">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3494">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3495">start of search.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3496">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3497">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="backward2"
              c:identifier="gtk_source_search_context_backward2"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3520">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 @buffer is small, this function is more convenient to use.

The difference with gtk_source_search_context_backward() is that the
@has_wrapped_around out parameter has been added for convenience.

If the #GtkSourceSearchSettings:wrap-around property is %FALSE, this function
doesn't try to wrap around.

The @has_wrapped_around out parameter is set independently of whether a match
is found. So if this function returns %FALSE, @has_wrapped_around will have
the same value as the #GtkSourceSearchSettings:wrap-around property.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="146"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3543">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3522">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3523">start of search.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3524">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3525">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="has_wrapped_around"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3526">return location to know whether the
  search has wrapped around, or %NULL.</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="backward_async"
              c:identifier="gtk_source_search_context_backward_async"
              version="3.10"
              glib:finish-func="backward_finish"
              glib:sync-func="backward">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3599">The asynchronous version of gtk_source_search_context_backward2().

See the documentation of gtk_source_search_context_backward2() for more
details.

See the #GAsyncResult documentation to know how to use this function.

If the operation is cancelled, the @callback will only be called if
@cancellable was not %NULL. gtk_source_search_context_backward_async() takes
ownership of @cancellable, so you can unref it after calling this function.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3601">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3602">start of search.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3603">a #GCancellable, or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3604">a #GAsyncReadyCallback to call when the operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3605">the data to pass to the @callback function.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="backward_finish"
              c:identifier="gtk_source_search_context_backward_finish"
              version="3.10"
              deprecated="1"
              deprecated-version="3.22"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3641">Finishes a backward search started with
gtk_source_search_context_backward_async().</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_search_context_backward_finish2() instead.</doc-deprecated>
        <source-position filename="gtksourcesearchcontext.h" line="160"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3652">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3643">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3644">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3645">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3646">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="backward_finish2"
              c:identifier="gtk_source_search_context_backward_finish2"
              version="3.22"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3671">Finishes a backward search started with
gtk_source_search_context_backward_async().

See the documentation of gtk_source_search_context_backward2() for more
details.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="167"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3687">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3673">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3674">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3675">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3676">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="has_wrapped_around"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3677">return location to know whether the
  search has wrapped around, or %NULL.</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward"
              c:identifier="gtk_source_search_context_forward"
              version="3.10"
              deprecated="1"
              deprecated-version="3.22"
              glib:async-func="forward_async">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3235">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 @buffer is small, this function is more convenient to use.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_search_context_forward2() instead.</doc-deprecated>
        <source-position filename="gtksourcesearchcontext.h" line="105"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3246">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3237">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3238">start of search.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3239">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3240">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward2"
              c:identifier="gtk_source_search_context_forward2"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3263">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 @buffer is small, this function is more convenient to use.

The difference with gtk_source_search_context_forward() is that the
@has_wrapped_around out parameter has been added for convenience.

If the #GtkSourceSearchSettings:wrap-around property is %FALSE, this function
doesn't try to wrap around.

The @has_wrapped_around out parameter is set independently of whether a match
is found. So if this function returns %FALSE, @has_wrapped_around will have
the same value as the #GtkSourceSearchSettings:wrap-around property.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3286">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3265">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3266">start of search.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3267">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3268">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="has_wrapped_around"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3269">return location to know whether the
  search has wrapped around, or %NULL.</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward_async"
              c:identifier="gtk_source_search_context_forward_async"
              version="3.10"
              glib:finish-func="forward_finish"
              glib:sync-func="forward">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3341">The asynchronous version of gtk_source_search_context_forward2().

See the documentation of gtk_source_search_context_forward2() for more
details.

See the #GAsyncResult documentation to know how to use this function.

If the operation is cancelled, the @callback will only be called if
@cancellable was not %NULL. gtk_source_search_context_forward_async() takes
ownership of @cancellable, so you can unref it after calling this function.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3343">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3344">start of search.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3345">a #GCancellable, or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3346">a #GAsyncReadyCallback to call when the operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3347">the data to pass to the @callback function.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward_finish"
              c:identifier="gtk_source_search_context_forward_finish"
              version="3.10"
              deprecated="1"
              deprecated-version="3.22"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3383">Finishes a forward search started with
gtk_source_search_context_forward_async().</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_search_context_forward_finish2() instead.</doc-deprecated>
        <source-position filename="gtksourcesearchcontext.h" line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3394">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3385">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3386">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3387">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3388">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward_finish2"
              c:identifier="gtk_source_search_context_forward_finish2"
              version="3.22"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3413">Finishes a forward search started with
gtk_source_search_context_forward_async().

See the documentation of gtk_source_search_context_forward2() for more
details.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="132"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3429">whether a match was found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3415">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3416">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="match_start"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3417">return location for start of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3418">return location for end of match, or %NULL.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="has_wrapped_around"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3419">return location to know whether the
  search has wrapped around, or %NULL.</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buffer"
              c:identifier="gtk_source_search_context_get_buffer"
              glib:get-property="buffer"
              version="3.10">
        <source-position filename="gtksourcesearchcontext.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="2899">the associated buffer.</doc>
          <type name="Buffer" c:type="GtkSourceBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2897">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_highlight"
              c:identifier="gtk_source_search_context_get_highlight"
              glib:get-property="highlight"
              version="3.10">
        <source-position filename="gtksourcesearchcontext.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="2988">whether to highlight the search occurrences.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2986">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_match_style"
              c:identifier="gtk_source_search_context_get_match_style"
              glib:get-property="match-style"
              version="3.16">
        <source-position filename="gtksourcesearchcontext.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3029">the #GtkSourceStyle to apply on search matches.</doc>
          <type name="Style" c:type="GtkSourceStyle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3027">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_occurrence_position"
              c:identifier="gtk_source_search_context_get_occurrence_position"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3130">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
@match_start and @match_end don't delimit an occurrence.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3141">the position of the search occurrence. The first occurrence has the
position 1 (not 0). Returns 0 if @match_start and @match_end don't delimit
an occurrence. Returns -1 if the position is not yet known.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3132">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="match_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3133">the start of the occurrence.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3134">the end of the occurrence.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_occurrences_count"
              c:identifier="gtk_source_search_context_get_occurrences_count"
              glib:get-property="occurrences-count"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3106">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.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3114">the total number of search occurrences, or -1 if unknown.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3108">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_regex_error"
              c:identifier="gtk_source_search_context_get_regex_error"
              glib:get-property="regex-error"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3080">Regular expression patterns must follow certain rules. If
#GtkSourceSearchSettings:search-text breaks a rule, the error can be retrieved
with this function. The error domain is #G_REGEX_ERROR.

Free the return value with g_error_free().</doc>
        <source-position filename="gtksourcesearchcontext.h" line="94"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3090">the #GError, or %NULL if the pattern is valid.</doc>
          <type name="GLib.Error" c:type="GError*"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3082">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_settings"
              c:identifier="gtk_source_search_context_get_settings"
              glib:get-property="settings"
              version="3.10">
        <source-position filename="gtksourcesearchcontext.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="2914">the search settings.</doc>
          <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2912">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="replace"
              c:identifier="gtk_source_search_context_replace"
              version="3.10"
              deprecated="1"
              deprecated-version="3.22"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3803">Replaces a search match by another text. If @match_start and @match_end
doesn't correspond to a search match, %FALSE is returned.

For a regular expression replacement, you can check if @replace is valid by
calling g_regex_check_replacement(). The @replace text can contain
backreferences; read the g_regex_replace() documentation for more details.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_search_context_replace2() instead.</doc-deprecated>
        <source-position filename="gtksourcesearchcontext.h" line="175"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3819">whether the match has been replaced.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3805">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="match_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3806">the start of the match to replace.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3807">the end of the match to replace.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="replace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3808">the replacement text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replace_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3809">the length of @replace in bytes, or -1.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace2"
              c:identifier="gtk_source_search_context_replace2"
              version="3.22"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3848">Replaces a search match by another text. If @match_start and @match_end
doesn't correspond to a search match, %FALSE is returned.

Unlike with gtk_source_search_context_replace(), the @match_start and
@match_end iters are revalidated to point to the replacement text boundaries.

For a regular expression replacement, you can check if @replace is valid by
calling g_regex_check_replacement(). The @replace text can contain
backreferences; read the g_regex_replace() documentation for more details.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3867">whether the match has been replaced.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3850">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="match_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3851">the start of the match to replace.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3852">the end of the match to replace.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="replace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3853">the replacement text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replace_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3854">the length of @replace in bytes, or -1.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_all"
              c:identifier="gtk_source_search_context_replace_all"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3932">Replaces all search matches by another text. It is a synchronous function, so
it can block the user interface.

For a regular expression replacement, you can check if @replace is valid by
calling g_regex_check_replacement(). The @replace text can contain
backreferences; read the g_regex_replace() documentation for more details.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="191"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchcontext.c"
               line="3946">the number of replaced matches.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3934">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="replace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3935">the replacement text.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replace_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3936">the length of @replace in bytes, or -1.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_highlight"
              c:identifier="gtk_source_search_context_set_highlight"
              glib:set-property="highlight"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2999">Enables or disables the search occurrences highlighting.</doc>
        <source-position filename="gtksourcesearchcontext.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3001">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="highlight" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3002">the setting.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_match_style"
              c:identifier="gtk_source_search_context_set_match_style"
              glib:set-property="match-style"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="3041">Set the style to apply on search matches. If @match_style is %NULL, default
theme's scheme 'match-style' will be used.
To enable or disable the search highlighting, use
gtk_source_search_context_set_highlight().</doc>
        <source-position filename="gtksourcesearchcontext.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3043">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="match_style"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="3044">a #GtkSourceStyle, or %NULL.</doc>
            <type name="Style" c:type="GtkSourceStyle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_settings"
              c:identifier="gtk_source_search_context_set_settings"
              glib:set-property="settings"
              version="3.10"
              deprecated="1"
              deprecated-version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2925">Associate a #GtkSourceSearchSettings with the search context. If @settings is
%NULL, a new one will be created.

The search context holds a reference to @settings.</doc>
        <doc-deprecated xml:space="preserve">The #GtkSourceSearchContext:settings property will become a
construct-only property in a future version. Create a new
#GtkSourceSearchContext instead, or change the #GtkSourceSearchSettings
properties. When the #GtkSourceSearchContext:settings property will become
construct-only, it will be possible to simplify some code that needed to
listen to the notify::settings signal.</doc-deprecated>
        <source-position filename="gtksourcesearchcontext.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2927">a #GtkSourceSearchContext.</doc>
            <type name="SearchContext" c:type="GtkSourceSearchContext*"/>
          </instance-parameter>
          <parameter name="settings"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchcontext.c"
                 line="2928">the new #GtkSourceSearchSettings, or %NULL.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffer"
                version="3.10"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2756">The #GtkSourceBuffer associated to the search context.</doc>
        <type name="Buffer"/>
      </property>
      <property name="highlight"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_highlight"
                getter="get_highlight"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2790">Highlight the search occurrences.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="match-style"
                version="3.16"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_match_style"
                getter="get_match_style">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2807">A #GtkSourceStyle, or %NULL for theme's scheme default style.</doc>
        <type name="Style"/>
      </property>
      <property name="occurrences-count"
                version="3.10"
                transfer-ownership="none"
                getter="get_occurrences_count"
                default-value="0">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2824">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.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="regex-error"
                version="3.10"
                transfer-ownership="none"
                getter="get_regex_error">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2844">If the regex search pattern doesn't follow all the rules, this
property will be set. If the pattern is valid, the value is %NULL.

Free with g_error_free().</doc>
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="settings"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_settings"
                getter="get_settings">
        <doc xml:space="preserve"
             filename="gtksourcesearchcontext.c"
             line="2773">The #GtkSourceSearchSettings associated to the search context.</doc>
        <type name="SearchSettings"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SearchContextPrivate"
              c:type="GtkSourceSearchContextPrivate*"/>
      </field>
    </class>
    <record name="SearchContextClass"
            c:type="GtkSourceSearchContextClass"
            glib:is-gtype-struct-for="SearchContext">
      <source-position filename="gtksourcesearchcontext.h" line="60"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SearchContextPrivate"
            c:type="GtkSourceSearchContextPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcesearchcontext.h" line="46"/>
    </record>
    <class name="SearchSettings"
           c:symbol-prefix="search_settings"
           c:type="GtkSourceSearchSettings"
           parent="GObject.Object"
           glib:type-name="GtkSourceSearchSettings"
           glib:get-type="gtk_source_search_settings_get_type"
           glib:type-struct="SearchSettingsClass">
      <source-position filename="gtksourcesearchsettings.h" line="60"/>
      <constructor name="new"
                   c:identifier="gtk_source_search_settings_new"
                   version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="258">Creates a new search settings object.</doc>
        <source-position filename="gtksourcesearchsettings.h" line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcesearchsettings.c"
               line="263">a new search settings object.</doc>
          <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
        </return-value>
      </constructor>
      <method name="get_at_word_boundaries"
              c:identifier="gtk_source_search_settings_get_at_word_boundaries"
              glib:get-property="at-word-boundaries"
              version="3.10">
        <source-position filename="gtksourcesearchsettings.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchsettings.c"
               line="404">whether to search at word boundaries.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="402">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_case_sensitive"
              c:identifier="gtk_source_search_settings_get_case_sensitive"
              glib:get-property="case-sensitive"
              version="3.10">
        <source-position filename="gtksourcesearchsettings.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchsettings.c"
               line="362">whether the search is case sensitive.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="360">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_regex_enabled"
              c:identifier="gtk_source_search_settings_get_regex_enabled"
              glib:get-property="regex-enabled"
              version="3.10">
        <source-position filename="gtksourcesearchsettings.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchsettings.c"
               line="491">whether to search by regular expressions.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="489">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_text"
              c:identifier="gtk_source_search_settings_get_search_text"
              glib:get-property="search-text"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="314">Gets the text to search. The return value must not be freed.

You may be interested to call gtk_source_utils_escape_search_text() after
this function.</doc>
        <source-position filename="gtksourcesearchsettings.h" line="73"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcesearchsettings.c"
               line="323">the text to search, or %NULL if the search is disabled.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="316">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wrap_around"
              c:identifier="gtk_source_search_settings_get_wrap_around"
              glib:get-property="wrap-around"
              version="3.10">
        <source-position filename="gtksourcesearchsettings.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcesearchsettings.c"
               line="446">whether to wrap around the search.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="444">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_at_word_boundaries"
              c:identifier="gtk_source_search_settings_set_at_word_boundaries"
              glib:set-property="at-word-boundaries"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="373">Change whether the search is done at word boundaries. If @at_word_boundaries
is %TRUE, a search match must start and end a word. The match can span
multiple words. See also gtk_text_iter_starts_word() and
gtk_text_iter_ends_word().</doc>
        <source-position filename="gtksourcesearchsettings.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="375">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
          <parameter name="at_word_boundaries" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="376">the setting.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_case_sensitive"
              c:identifier="gtk_source_search_settings_set_case_sensitive"
              glib:set-property="case-sensitive"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="334">Enables or disables the case sensitivity for the search.</doc>
        <source-position filename="gtksourcesearchsettings.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="336">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
          <parameter name="case_sensitive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="337">the setting.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_regex_enabled"
              c:identifier="gtk_source_search_settings_set_regex_enabled"
              glib:set-property="regex-enabled"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="457">Enables or disables whether to search by regular expressions.
If enabled, the #GtkSourceSearchSettings:search-text property contains the
pattern of the regular expression.

#GtkSourceSearchContext uses #GRegex when regex search is enabled. See the
[Regular expression syntax](https://developer.gnome.org/glib/stable/glib-regex-syntax.html)
page in the GLib reference manual.</doc>
        <source-position filename="gtksourcesearchsettings.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="459">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
          <parameter name="regex_enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="460">the setting.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_text"
              c:identifier="gtk_source_search_settings_set_search_text"
              glib:set-property="search-text"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="272">Sets the text to search. If @search_text is %NULL or is empty, the search
will be disabled. A copy of @search_text will be made, so you can safely free
@search_text after a call to this function.

You may be interested to call gtk_source_utils_unescape_search_text() before
this function.</doc>
        <source-position filename="gtksourcesearchsettings.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="274">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
          <parameter name="search_text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="275">the nul-terminated text to search, or %NULL to disable the search.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap_around"
              c:identifier="gtk_source_search_settings_set_wrap_around"
              glib:set-property="wrap-around"
              version="3.10">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="415">Enables or disables the wrap around search. If @wrap_around is %TRUE, the
forward search continues at the beginning of the buffer if no search
occurrences are found. Similarly, the backward search continues to search at
the end of the buffer.</doc>
        <source-position filename="gtksourcesearchsettings.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="417">a #GtkSourceSearchSettings.</doc>
            <type name="SearchSettings" c:type="GtkSourceSearchSettings*"/>
          </instance-parameter>
          <parameter name="wrap_around" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcesearchsettings.c"
                 line="418">the setting.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="at-word-boundaries"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_at_word_boundaries"
                getter="get_at_word_boundaries"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="196">If %TRUE, a search match must start and end a word. The match can
span multiple words.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="case-sensitive"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_case_sensitive"
                getter="get_case_sensitive"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="179">Whether the search is case sensitive.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="regex-enabled"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_regex_enabled"
                getter="get_regex_enabled"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="233">Search by regular expressions with
#GtkSourceSearchSettings:search-text as the pattern.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="search-text"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_search_text"
                getter="get_search_text"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="160">A search string, or %NULL if the search is disabled. If the regular
expression search is enabled, #GtkSourceSearchSettings:search-text is
the pattern.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="wrap-around"
                version="3.10"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_wrap_around"
                getter="get_wrap_around"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcesearchsettings.c"
             line="214">For a forward search, continue at the beginning of the buffer if no
search occurrence is found. For a backward search, continue at the
end of the buffer.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SearchSettingsPrivate"
              c:type="GtkSourceSearchSettingsPrivate*"/>
      </field>
    </class>
    <record name="SearchSettingsClass"
            c:type="GtkSourceSearchSettingsClass"
            glib:is-gtype-struct-for="SearchSettings">
      <source-position filename="gtksourcesearchsettings.h" line="60"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SearchSettingsPrivate"
            c:type="GtkSourceSearchSettingsPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcesearchsettings.h" line="46"/>
    </record>
    <enumeration name="SmartHomeEndType"
                 glib:type-name="GtkSourceSmartHomeEndType"
                 glib:get-type="gtk_source_smart_home_end_type_get_type"
                 c:type="GtkSourceSmartHomeEndType">
      <member name="disabled"
              value="0"
              c:identifier="GTK_SOURCE_SMART_HOME_END_DISABLED"
              glib:nick="disabled"
              glib:name="GTK_SOURCE_SMART_HOME_END_DISABLED">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="65">smart-home-end disabled.</doc>
      </member>
      <member name="before"
              value="1"
              c:identifier="GTK_SOURCE_SMART_HOME_END_BEFORE"
              glib:nick="before"
              glib:name="GTK_SOURCE_SMART_HOME_END_BEFORE">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="66">move to the first/last
non-whitespace character on the first press of the HOME/END keys and
to the beginning/end of the line on the second press.</doc>
      </member>
      <member name="after"
              value="2"
              c:identifier="GTK_SOURCE_SMART_HOME_END_AFTER"
              glib:nick="after"
              glib:name="GTK_SOURCE_SMART_HOME_END_AFTER">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="69">move to the beginning/end of the
line on the first press of the HOME/END keys and to the first/last
non-whitespace character on the second press.</doc>
      </member>
      <member name="always"
              value="3"
              c:identifier="GTK_SOURCE_SMART_HOME_END_ALWAYS"
              glib:nick="always"
              glib:name="GTK_SOURCE_SMART_HOME_END_ALWAYS">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="72">always move to the first/last
non-whitespace character when the HOME/END keys are pressed.</doc>
      </member>
    </enumeration>
    <bitfield name="SortFlags"
              version="3.18"
              glib:type-name="GtkSourceSortFlags"
              glib:get-type="gtk_source_sort_flags_get_type"
              c:type="GtkSourceSortFlags">
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_SORT_FLAGS_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_SORT_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="87">no flags specified</doc>
      </member>
      <member name="case_sensitive"
              value="1"
              c:identifier="GTK_SOURCE_SORT_FLAGS_CASE_SENSITIVE"
              glib:nick="case-sensitive"
              glib:name="GTK_SOURCE_SORT_FLAGS_CASE_SENSITIVE">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="88">case sensitive sort</doc>
      </member>
      <member name="reverse_order"
              value="2"
              c:identifier="GTK_SOURCE_SORT_FLAGS_REVERSE_ORDER"
              glib:nick="reverse-order"
              glib:name="GTK_SOURCE_SORT_FLAGS_REVERSE_ORDER">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="89">sort in reverse order</doc>
      </member>
      <member name="remove_duplicates"
              value="4"
              c:identifier="GTK_SOURCE_SORT_FLAGS_REMOVE_DUPLICATES"
              glib:nick="remove-duplicates"
              glib:name="GTK_SOURCE_SORT_FLAGS_REMOVE_DUPLICATES">
        <doc xml:space="preserve"
             filename="gtksourcebuffer.h"
             line="90">remove duplicates</doc>
      </member>
    </bitfield>
    <class name="SpaceDrawer"
           c:symbol-prefix="space_drawer"
           c:type="GtkSourceSpaceDrawer"
           parent="GObject.Object"
           glib:type-name="GtkSourceSpaceDrawer"
           glib:get-type="gtk_source_space_drawer_get_type"
           glib:type-struct="SpaceDrawerClass">
      <source-position filename="gtksourcespacedrawer.h" line="60"/>
      <constructor name="new"
                   c:identifier="gtk_source_space_drawer_new"
                   version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="383">Creates a new #GtkSourceSpaceDrawer object. Useful for storing space drawing
settings independently of a #GtkSourceView.</doc>
        <source-position filename="gtksourcespacedrawer.h" line="116"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcespacedrawer.c"
               line="389">a new #GtkSourceSpaceDrawer.</doc>
          <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
        </return-value>
      </constructor>
      <method name="bind_matrix_setting"
              c:identifier="gtk_source_space_drawer_bind_matrix_setting"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="802">Binds the #GtkSourceSpaceDrawer:matrix property to a #GSettings key.

The #GSettings key must be of the same type as the
#GtkSourceSpaceDrawer:matrix property, that is, `"au"`.

The g_settings_bind() function cannot be used, because the default GIO
mapping functions don't support #GVariant properties (maybe it will be
supported by a future GIO version, in which case this function can be
deprecated).</doc>
        <source-position filename="gtksourcespacedrawer.h" line="142"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="804">a #GtkSourceSpaceDrawer object.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="805">a #GSettings object.</doc>
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="806">the @settings key to bind.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="807">flags for the binding.</doc>
            <type name="Gio.SettingsBindFlags" c:type="GSettingsBindFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enable_matrix"
              c:identifier="gtk_source_space_drawer_get_enable_matrix"
              glib:get-property="enable-matrix"
              version="3.24">
        <source-position filename="gtksourcespacedrawer.h" line="135"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcespacedrawer.c"
               line="750">whether the #GtkSourceSpaceDrawer:matrix property is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="748">a #GtkSourceSpaceDrawer.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_matrix"
              c:identifier="gtk_source_space_drawer_get_matrix"
              glib:get-property="matrix"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="618">Gets the value of the #GtkSourceSpaceDrawer:matrix property, as a #GVariant.
An empty array can be returned in case the matrix is a zero matrix.

The gtk_source_space_drawer_get_types_for_locations() function may be more
convenient to use.</doc>
        <source-position filename="gtksourcespacedrawer.h" line="128"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcespacedrawer.c"
               line="628">the #GtkSourceSpaceDrawer:matrix value as a new floating #GVariant
  instance.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="620">a #GtkSourceSpaceDrawer.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_types_for_locations"
              c:identifier="gtk_source_space_drawer_get_types_for_locations"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="548">If only one location is specified, this function returns what kind of
white spaces are drawn at that location. The value is retrieved from the
#GtkSourceSpaceDrawer:matrix property.

If several locations are specified, this function returns the logical AND for
those locations. Which means that if a certain kind of white space is present
in the return value, then that kind of white space is drawn at all the
specified @locations.</doc>
        <source-position filename="gtksourcespacedrawer.h" line="119"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcespacedrawer.c"
               line="562">a combination of #GtkSourceSpaceTypeFlags.</doc>
          <type name="SpaceTypeFlags" c:type="GtkSourceSpaceTypeFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="550">a #GtkSourceSpaceDrawer.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
          <parameter name="locations" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="551">one or several #GtkSourceSpaceLocationFlags.</doc>
            <type name="SpaceLocationFlags"
                  c:type="GtkSourceSpaceLocationFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_matrix"
              c:identifier="gtk_source_space_drawer_set_enable_matrix"
              glib:set-property="enable-matrix"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="761">Sets whether the #GtkSourceSpaceDrawer:matrix property is enabled.</doc>
        <source-position filename="gtksourcespacedrawer.h" line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="763">a #GtkSourceSpaceDrawer.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
          <parameter name="enable_matrix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="764">the new value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_matrix"
              c:identifier="gtk_source_space_drawer_set_matrix"
              glib:set-property="matrix"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="662">Sets a new value to the #GtkSourceSpaceDrawer:matrix property, as a
#GVariant. If @matrix is %NULL, then an empty array is set.

If @matrix is floating, it is consumed.

The gtk_source_space_drawer_set_types_for_locations() function may be more
convenient to use.</doc>
        <source-position filename="gtksourcespacedrawer.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="664">a #GtkSourceSpaceDrawer.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
          <parameter name="matrix"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="665">the new matrix value, or %NULL.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_types_for_locations"
              c:identifier="gtk_source_space_drawer_set_types_for_locations"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="574">Modifies the #GtkSourceSpaceDrawer:matrix property at the specified
@locations.</doc>
        <source-position filename="gtksourcespacedrawer.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drawer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="576">a #GtkSourceSpaceDrawer.</doc>
            <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
          </instance-parameter>
          <parameter name="locations" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="577">one or several #GtkSourceSpaceLocationFlags.</doc>
            <type name="SpaceLocationFlags"
                  c:type="GtkSourceSpaceLocationFlags"/>
          </parameter>
          <parameter name="types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcespacedrawer.c"
                 line="578">a combination of #GtkSourceSpaceTypeFlags.</doc>
            <type name="SpaceTypeFlags" c:type="GtkSourceSpaceTypeFlags"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-matrix"
                version="3.24"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_enable_matrix"
                getter="get_enable_matrix"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="327">Whether the #GtkSourceSpaceDrawer:matrix property is enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="matrix"
                version="3.24"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_matrix"
                getter="get_matrix">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.c"
             line="343">The :matrix property is a #GVariant property to specify where and
what kind of white spaces to draw.

The #GVariant is of type `"au"`, an array of unsigned integers. Each
integer is a combination of #GtkSourceSpaceTypeFlags. There is one
integer for each #GtkSourceSpaceLocationFlags, in the same order as
they are defined in the enum (%GTK_SOURCE_SPACE_LOCATION_NONE and
%GTK_SOURCE_SPACE_LOCATION_ALL are not taken into account).

If the array is shorter than the number of locations, then the value
for the missing locations will be %GTK_SOURCE_SPACE_TYPE_NONE.

By default, %GTK_SOURCE_SPACE_TYPE_ALL is set for all locations.</doc>
        <type name="GLib.Variant"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SpaceDrawerPrivate" c:type="GtkSourceSpaceDrawerPrivate*"/>
      </field>
    </class>
    <record name="SpaceDrawerClass"
            c:type="GtkSourceSpaceDrawerClass"
            glib:is-gtype-struct-for="SpaceDrawer">
      <source-position filename="gtksourcespacedrawer.h" line="60"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SpaceDrawerPrivate"
            c:type="GtkSourceSpaceDrawerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcespacedrawer.h" line="46"/>
    </record>
    <bitfield name="SpaceLocationFlags"
              version="3.24"
              glib:type-name="GtkSourceSpaceLocationFlags"
              glib:get-type="gtk_source_space_location_flags_get_type"
              c:type="GtkSourceSpaceLocationFlags">
      <doc xml:space="preserve"
           filename="gtksourcespacedrawer.h"
           line="87">#GtkSourceSpaceLocationFlags contains flags for white space locations.

If a line contains only white spaces (no text), the white spaces match both
%GTK_SOURCE_SPACE_LOCATION_LEADING and %GTK_SOURCE_SPACE_LOCATION_TRAILING.</doc>
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_SPACE_LOCATION_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_SPACE_LOCATION_NONE">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="89">No flags.</doc>
      </member>
      <member name="leading"
              value="1"
              c:identifier="GTK_SOURCE_SPACE_LOCATION_LEADING"
              glib:nick="leading"
              glib:name="GTK_SOURCE_SPACE_LOCATION_LEADING">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="90">Leading white spaces on a line, i.e. the
  indentation.</doc>
      </member>
      <member name="inside_text"
              value="2"
              c:identifier="GTK_SOURCE_SPACE_LOCATION_INSIDE_TEXT"
              glib:nick="inside-text"
              glib:name="GTK_SOURCE_SPACE_LOCATION_INSIDE_TEXT">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="92">White spaces inside a line of text.</doc>
      </member>
      <member name="trailing"
              value="4"
              c:identifier="GTK_SOURCE_SPACE_LOCATION_TRAILING"
              glib:nick="trailing"
              glib:name="GTK_SOURCE_SPACE_LOCATION_TRAILING">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="93">Trailing white spaces on a line.</doc>
      </member>
      <member name="all"
              value="7"
              c:identifier="GTK_SOURCE_SPACE_LOCATION_ALL"
              glib:nick="all"
              glib:name="GTK_SOURCE_SPACE_LOCATION_ALL">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="94">White spaces anywhere.</doc>
      </member>
    </bitfield>
    <bitfield name="SpaceTypeFlags"
              version="3.24"
              glib:type-name="GtkSourceSpaceTypeFlags"
              glib:get-type="gtk_source_space_type_flags_get_type"
              c:type="GtkSourceSpaceTypeFlags">
      <doc xml:space="preserve"
           filename="gtksourcespacedrawer.h"
           line="62">#GtkSourceSpaceTypeFlags contains flags for white space types.</doc>
      <member name="none"
              value="0"
              c:identifier="GTK_SOURCE_SPACE_TYPE_NONE"
              glib:nick="none"
              glib:name="GTK_SOURCE_SPACE_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="64">No flags.</doc>
      </member>
      <member name="space"
              value="1"
              c:identifier="GTK_SOURCE_SPACE_TYPE_SPACE"
              glib:nick="space"
              glib:name="GTK_SOURCE_SPACE_TYPE_SPACE">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="65">Space character.</doc>
      </member>
      <member name="tab"
              value="2"
              c:identifier="GTK_SOURCE_SPACE_TYPE_TAB"
              glib:nick="tab"
              glib:name="GTK_SOURCE_SPACE_TYPE_TAB">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="66">Tab character.</doc>
      </member>
      <member name="newline"
              value="4"
              c:identifier="GTK_SOURCE_SPACE_TYPE_NEWLINE"
              glib:nick="newline"
              glib:name="GTK_SOURCE_SPACE_TYPE_NEWLINE">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="67">Line break character. If the
  #GtkSourceBuffer:implicit-trailing-newline property is %TRUE,
  #GtkSourceSpaceDrawer also draws a line break at the end of the buffer.</doc>
      </member>
      <member name="nbsp"
              value="8"
              c:identifier="GTK_SOURCE_SPACE_TYPE_NBSP"
              glib:nick="nbsp"
              glib:name="GTK_SOURCE_SPACE_TYPE_NBSP">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="70">Non-breaking space character.</doc>
      </member>
      <member name="all"
              value="15"
              c:identifier="GTK_SOURCE_SPACE_TYPE_ALL"
              glib:nick="all"
              glib:name="GTK_SOURCE_SPACE_TYPE_ALL">
        <doc xml:space="preserve"
             filename="gtksourcespacedrawer.h"
             line="71">All white spaces.</doc>
      </member>
    </bitfield>
    <class name="Style"
           c:symbol-prefix="style"
           c:type="GtkSourceStyle"
           parent="GObject.Object"
           glib:type-name="GtkSourceStyle"
           glib:get-type="gtk_source_style_get_type"
           glib:type-struct="StyleClass">
      <source-position filename="gtksourcestyle.h" line="45"/>
      <method name="apply"
              c:identifier="gtk_source_style_apply"
              version="3.22">
        <doc xml:space="preserve"
             filename="gtksourcestyle.c"
             line="551">This function modifies the #GtkTextTag properties that are related to the
#GtkSourceStyle properties. Other #GtkTextTag properties are left untouched.

If @style is non-%NULL, applies @style to @tag.

If @style is %NULL, the related *-set properties of #GtkTextTag are set to
%FALSE.</doc>
        <source-position filename="gtksourcestyle.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="style"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcestyle.c"
                 line="553">a #GtkSourceStyle to apply, or %NULL.</doc>
            <type name="Style" c:type="const GtkSourceStyle*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyle.c"
                 line="554">a #GtkTextTag to apply styles to.</doc>
            <type name="Gtk.TextTag" c:type="GtkTextTag*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="gtk_source_style_copy" version="2.0">
        <doc xml:space="preserve"
             filename="gtksourcestyle.c"
             line="516">Creates a copy of @style, that is a new #GtkSourceStyle instance which
has the same attributes set.</doc>
        <source-position filename="gtksourcestyle.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcestyle.c"
               line="523">copy of @style, call g_object_unref()
when you are done with it.</doc>
          <type name="Style" c:type="GtkSourceStyle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="style" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyle.c"
                 line="518">a #GtkSourceStyle structure to copy.</doc>
            <type name="Style" c:type="const GtkSourceStyle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="background"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="background-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="bold"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="bold-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="foreground"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="foreground-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="italic"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="italic-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-background"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="line-background-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="pango-underline"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="PANGO_UNDERLINE_NONE">
        <type name="Pango.Underline"/>
      </property>
      <property name="scale"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="scale-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="strikethrough"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="strikethrough-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="underline"
                deprecated="1"
                deprecated-version="3.18"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc-deprecated xml:space="preserve">Use pango-underline.</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="underline-color"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="underline-color-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="underline-set"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="StyleClass"
            c:type="GtkSourceStyleClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Style">
      <source-position filename="gtksourcestyle.h" line="45"/>
    </record>
    <class name="StyleScheme"
           c:symbol-prefix="style_scheme"
           c:type="GtkSourceStyleScheme"
           parent="GObject.Object"
           glib:type-name="GtkSourceStyleScheme"
           glib:get-type="gtk_source_style_scheme_get_type"
           glib:type-struct="StyleSchemeClass">
      <source-position filename="gtksourcestylescheme.h" line="61"/>
      <method name="get_authors"
              c:identifier="gtk_source_style_scheme_get_authors"
              version="2.0">
        <source-position filename="gtksourcestylescheme.h" line="76"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcestylescheme.c"
               line="348">a
%NULL-terminated array containing the @scheme authors or %NULL if
no author is specified by the style scheme.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="346">a #GtkSourceStyleScheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gtk_source_style_scheme_get_description"
              glib:get-property="description"
              version="2.0">
        <source-position filename="gtksourcestylescheme.h" line="73"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcestylescheme.c"
               line="332">@scheme description (if defined), or %NULL.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="330">a #GtkSourceStyleScheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_filename"
              c:identifier="gtk_source_style_scheme_get_filename"
              glib:get-property="filename"
              version="2.0">
        <source-position filename="gtksourcestylescheme.h" line="79"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcestylescheme.c"
               line="371">@scheme file name if the scheme was created
parsing a style scheme file or %NULL in the other cases.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="369">a #GtkSourceStyleScheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="gtk_source_style_scheme_get_id"
              glib:get-property="id"
              version="2.0">
        <source-position filename="gtksourcestylescheme.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestylescheme.c"
               line="298">@scheme id.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="296">a #GtkSourceStyleScheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gtk_source_style_scheme_get_name"
              glib:get-property="name"
              version="2.0">
        <source-position filename="gtksourcestylescheme.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestylescheme.c"
               line="315">@scheme name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="313">a #GtkSourceStyleScheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_style"
              c:identifier="gtk_source_style_scheme_get_style"
              version="2.0">
        <source-position filename="gtksourcestylescheme.h" line="82"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcestylescheme.c"
               line="503">style which corresponds to @style_id in
the @scheme, or %NULL when no style with this name found.  It is owned by
@scheme and may not be unref'ed.</doc>
          <type name="Style" c:type="GtkSourceStyle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="500">a #GtkSourceStyleScheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </instance-parameter>
          <parameter name="style_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestylescheme.c"
                 line="501">id of the style to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="description"
                transfer-ownership="none"
                getter="get_description"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcestylescheme.c"
             line="241">Style scheme description, a translatable string to present to the user.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="filename"
                transfer-ownership="none"
                getter="get_filename"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcestylescheme.c"
             line="254">Style scheme filename or %NULL.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcestylescheme.c"
             line="214">Style scheme id, a unique string used to identify the style scheme
in #GtkSourceStyleSchemeManager.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gtksourcestylescheme.c"
             line="228">Style scheme name, a translatable string to present to the user.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="base">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="StyleSchemePrivate" c:type="GtkSourceStyleSchemePrivate*"/>
      </field>
    </class>
    <interface name="StyleSchemeChooser"
               c:symbol-prefix="style_scheme_chooser"
               c:type="GtkSourceStyleSchemeChooser"
               glib:type-name="GtkSourceStyleSchemeChooser"
               glib:get-type="gtk_source_style_scheme_chooser_get_type"
               glib:type-struct="StyleSchemeChooserInterface">
      <source-position filename="gtksourcestyleschemechooser.h" line="56"/>
      <virtual-method name="get_style_scheme"
                      invoker="get_style_scheme"
                      version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooser.c"
             line="65">Gets the currently-selected scheme.</doc>
        <source-position filename="gtksourcestyleschemechooser.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschemechooser.c"
               line="71">the currently-selected scheme.</doc>
          <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="67">a #GtkSourceStyleSchemeChooser</doc>
            <type name="StyleSchemeChooser"
                  c:type="GtkSourceStyleSchemeChooser*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_style_scheme"
                      invoker="set_style_scheme"
                      version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooser.c"
             line="83">Sets the scheme.</doc>
        <source-position filename="gtksourcestyleschemechooser.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="85">a #GtkSourceStyleSchemeChooser</doc>
            <type name="StyleSchemeChooser"
                  c:type="GtkSourceStyleSchemeChooser*"/>
          </instance-parameter>
          <parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="86">a #GtkSourceStyleScheme</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_style_scheme"
              c:identifier="gtk_source_style_scheme_chooser_get_style_scheme"
              glib:get-property="style-scheme"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooser.c"
             line="65">Gets the currently-selected scheme.</doc>
        <source-position filename="gtksourcestyleschemechooser.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschemechooser.c"
               line="71">the currently-selected scheme.</doc>
          <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="67">a #GtkSourceStyleSchemeChooser</doc>
            <type name="StyleSchemeChooser"
                  c:type="GtkSourceStyleSchemeChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_style_scheme"
              c:identifier="gtk_source_style_scheme_chooser_set_style_scheme"
              glib:set-property="style-scheme"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooser.c"
             line="83">Sets the scheme.</doc>
        <source-position filename="gtksourcestyleschemechooser.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="85">a #GtkSourceStyleSchemeChooser</doc>
            <type name="StyleSchemeChooser"
                  c:type="GtkSourceStyleSchemeChooser*"/>
          </instance-parameter>
          <parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="86">a #GtkSourceStyleScheme</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </parameter>
        </parameters>
      </method>
      <property name="style-scheme"
                version="3.16"
                writable="1"
                transfer-ownership="none"
                setter="set_style_scheme"
                getter="get_style_scheme">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooser.c"
             line="48">The :style-scheme property contains the currently selected style
scheme. The property can be set to change
the current selection programmatically.</doc>
        <type name="StyleScheme"/>
      </property>
    </interface>
    <class name="StyleSchemeChooserButton"
           c:symbol-prefix="style_scheme_chooser_button"
           c:type="GtkSourceStyleSchemeChooserButton"
           parent="Gtk.Button"
           glib:type-name="GtkSourceStyleSchemeChooserButton"
           glib:get-type="gtk_source_style_scheme_chooser_button_get_type"
           glib:type-struct="StyleSchemeChooserButtonClass">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="56"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Activatable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="StyleSchemeChooser"/>
      <constructor name="new"
                   c:identifier="gtk_source_style_scheme_chooser_button_new"
                   version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooserbutton.c"
             line="302">Creates a new #GtkSourceStyleSchemeChooserButton.</doc>
        <source-position filename="gtksourcestyleschemechooserbutton.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschemechooserbutton.c"
               line="307">a new #GtkSourceStyleSchemeChooserButton.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="Gtk.Button" c:type="GtkButton"/>
      </field>
    </class>
    <record name="StyleSchemeChooserButtonClass"
            c:type="GtkSourceStyleSchemeChooserButtonClass"
            glib:is-gtype-struct-for="StyleSchemeChooserButton">
      <source-position filename="gtksourcestyleschemechooserbutton.h"
                       line="56"/>
      <field name="parent">
        <type name="Gtk.ButtonClass" c:type="GtkButtonClass"/>
      </field>
    </record>
    <record name="StyleSchemeChooserInterface"
            c:type="GtkSourceStyleSchemeChooserInterface"
            glib:is-gtype-struct-for="StyleSchemeChooser">
      <source-position filename="gtksourcestyleschemechooser.h" line="56"/>
      <field name="base_interface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_style_scheme">
        <callback name="get_style_scheme">
          <source-position filename="gtksourcestyleschemechooser.h" line="49"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschemechooser.c"
                 line="71">the currently-selected scheme.</doc>
            <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcestyleschemechooser.c"
                   line="67">a #GtkSourceStyleSchemeChooser</doc>
              <type name="StyleSchemeChooser"
                    c:type="GtkSourceStyleSchemeChooser*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_style_scheme">
        <callback name="set_style_scheme">
          <source-position filename="gtksourcestyleschemechooser.h" line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcestyleschemechooser.c"
                   line="85">a #GtkSourceStyleSchemeChooser</doc>
              <type name="StyleSchemeChooser"
                    c:type="GtkSourceStyleSchemeChooser*"/>
            </parameter>
            <parameter name="scheme" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourcestyleschemechooser.c"
                   line="86">a #GtkSourceStyleScheme</doc>
              <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="StyleSchemeChooserWidget"
           c:symbol-prefix="style_scheme_chooser_widget"
           c:type="GtkSourceStyleSchemeChooserWidget"
           parent="Gtk.Bin"
           glib:type-name="GtkSourceStyleSchemeChooserWidget"
           glib:get-type="gtk_source_style_scheme_chooser_widget_get_type"
           glib:type-struct="StyleSchemeChooserWidgetClass">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="56"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="StyleSchemeChooser"/>
      <constructor name="new"
                   c:identifier="gtk_source_style_scheme_chooser_widget_new"
                   version="3.16">
        <doc xml:space="preserve"
             filename="gtksourcestyleschemechooserwidget.c"
             line="342">Creates a new #GtkSourceStyleSchemeChooserWidget.</doc>
        <source-position filename="gtksourcestyleschemechooserwidget.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschemechooserwidget.c"
               line="347">a new  #GtkSourceStyleSchemeChooserWidget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="Gtk.Bin" c:type="GtkBin"/>
      </field>
    </class>
    <record name="StyleSchemeChooserWidgetClass"
            c:type="GtkSourceStyleSchemeChooserWidgetClass"
            glib:is-gtype-struct-for="StyleSchemeChooserWidget">
      <source-position filename="gtksourcestyleschemechooserwidget.h"
                       line="56"/>
      <field name="parent">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
    </record>
    <record name="StyleSchemeClass"
            c:type="GtkSourceStyleSchemeClass"
            glib:is-gtype-struct-for="StyleScheme">
      <source-position filename="gtksourcestylescheme.h" line="61"/>
      <field name="base_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcestylescheme.h" line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcestylescheme.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="StyleSchemeManager"
           c:symbol-prefix="style_scheme_manager"
           c:type="GtkSourceStyleSchemeManager"
           parent="GObject.Object"
           glib:type-name="GtkSourceStyleSchemeManager"
           glib:get-type="gtk_source_style_scheme_manager_get_type"
           glib:type-struct="StyleSchemeManagerClass">
      <source-position filename="gtksourcestyleschememanager.h" line="64"/>
      <constructor name="new"
                   c:identifier="gtk_source_style_scheme_manager_new">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="182">Creates a new style manager. If you do not need more than one style
manager then use gtk_source_style_scheme_manager_get_default() instead.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcestyleschememanager.c"
               line="188">a new #GtkSourceStyleSchemeManager.</doc>
          <type name="StyleSchemeManager"
                c:type="GtkSourceStyleSchemeManager*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="gtk_source_style_scheme_manager_get_default">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="196">Returns the default #GtkSourceStyleSchemeManager instance.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschememanager.c"
               line="201">a #GtkSourceStyleSchemeManager. Return value
is owned by GtkSourceView library and must not be unref'ed.</doc>
          <type name="StyleSchemeManager"
                c:type="GtkSourceStyleSchemeManager*"/>
        </return-value>
      </function>
      <method name="append_search_path"
              c:identifier="gtk_source_style_scheme_manager_append_search_path">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="437">Appends @path to the list of directories where the @manager looks for
style scheme files.
See gtk_source_style_scheme_manager_set_search_path() for details.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="439">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="440">a directory or a filename.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="force_rescan"
              c:identifier="gtk_source_style_scheme_manager_force_rescan">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="530">Mark any currently cached information about the available style scehems
as invalid. All the available style schemes will be reloaded next time
the @manager is accessed.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="532">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scheme"
              c:identifier="gtk_source_style_scheme_manager_get_scheme">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="570">Looks up style scheme by id.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschememanager.c"
               line="577">a #GtkSourceStyleScheme object. Returned value is owned by
@manager and must not be unref'ed.</doc>
          <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="572">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
          <parameter name="scheme_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="573">style scheme id to find.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_scheme_ids"
              c:identifier="gtk_source_style_scheme_manager_get_scheme_ids"
              glib:get-property="scheme-ids">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="548">Returns the ids of the available style schemes.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="96"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gtksourcestyleschememanager.c"
               line="554">
a %NULL-terminated array of strings containing the ids of the available
style schemes or %NULL if no style scheme is available.
The array is sorted alphabetically according to the scheme name.
The array is owned by the @manager and must not be modified.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="550">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_path"
              c:identifier="gtk_source_style_scheme_manager_get_search_path"
              glib:get-property="search-path">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="508">Returns the current search path for the @manager.
See gtk_source_style_scheme_manager_set_search_path() for details.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourcestyleschememanager.c"
               line="515">a %NULL-terminated array
of string containing the search path.
The array is owned by the @manager and must not be modified.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="510">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="prepend_search_path"
              c:identifier="gtk_source_style_scheme_manager_prepend_search_path">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="472">Prepends @path to the list of directories where the @manager looks
for style scheme files.
See gtk_source_style_scheme_manager_set_search_path() for details.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="474">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="475">a directory or a filename.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_path"
              c:identifier="gtk_source_style_scheme_manager_set_search_path"
              glib:set-property="search-path">
        <doc xml:space="preserve"
             filename="gtksourcestyleschememanager.c"
             line="407">Sets the list of directories where the @manager looks for
style scheme files.
If @path is %NULL, the search path is reset to default.</doc>
        <source-position filename="gtksourcestyleschememanager.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="409">a #GtkSourceStyleSchemeManager.</doc>
            <type name="StyleSchemeManager"
                  c:type="GtkSourceStyleSchemeManager*"/>
          </instance-parameter>
          <parameter name="path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcestyleschememanager.c"
                 line="410">
a %NULL-terminated array of strings or %NULL.</doc>
            <array c:type="gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <property name="scheme-ids"
                transfer-ownership="none"
                getter="get_scheme_ids">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="search-path"
                writable="1"
                transfer-ownership="none"
                setter="set_search_path"
                getter="get_search_path">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="StyleSchemeManagerPrivate"
              c:type="GtkSourceStyleSchemeManagerPrivate*"/>
      </field>
    </class>
    <record name="StyleSchemeManagerClass"
            c:type="GtkSourceStyleSchemeManagerClass"
            glib:is-gtype-struct-for="StyleSchemeManager">
      <source-position filename="gtksourcestyleschememanager.h" line="64"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_gtk_source_reserved1" introspectable="0">
        <callback name="_gtk_source_reserved1">
          <source-position filename="gtksourcestyleschememanager.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved2" introspectable="0">
        <callback name="_gtk_source_reserved2">
          <source-position filename="gtksourcestyleschememanager.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved3" introspectable="0">
        <callback name="_gtk_source_reserved3">
          <source-position filename="gtksourcestyleschememanager.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gtk_source_reserved4" introspectable="0">
        <callback name="_gtk_source_reserved4">
          <source-position filename="gtksourcestyleschememanager.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="StyleSchemeManagerPrivate"
            c:type="GtkSourceStyleSchemeManagerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcestyleschememanager.h" line="46"/>
    </record>
    <record name="StyleSchemePrivate"
            c:type="GtkSourceStyleSchemePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourcestylescheme.h" line="45"/>
    </record>
    <class name="Tag"
           c:symbol-prefix="tag"
           c:type="GtkSourceTag"
           parent="Gtk.TextTag"
           glib:type-name="GtkSourceTag"
           glib:get-type="gtk_source_tag_get_type"
           glib:type-struct="TagClass">
      <source-position filename="gtksourcetag.h" line="52"/>
      <constructor name="new" c:identifier="gtk_source_tag_new" version="3.20">
        <doc xml:space="preserve"
             filename="gtksourcetag.c"
             line="171">Creates a #GtkSourceTag. Configure the tag using object arguments,
i.e. using g_object_set().

For usual cases, gtk_source_buffer_create_source_tag() is more convenient to
use.</doc>
        <source-position filename="gtksourcetag.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gtksourcetag.c"
               line="181">a new #GtkSourceTag.</doc>
          <type name="Gtk.TextTag" c:type="GtkTextTag*"/>
        </return-value>
        <parameters>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gtksourcetag.c"
                 line="173">tag name, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="draw-spaces"
                version="3.20"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcetag.c"
             line="127">Whether to draw white spaces. This property takes precedence over the value
defined by the GtkSourceSpaceDrawer's #GtkSourceSpaceDrawer:matrix property
(only where the tag is applied).

Setting this property also changes #GtkSourceTag:draw-spaces-set to
%TRUE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="draw-spaces-set"
                version="3.20"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourcetag.c"
             line="148">Whether the #GtkSourceTag:draw-spaces property is set and must be
taken into account.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.TextTag" c:type="GtkTextTag"/>
      </field>
    </class>
    <record name="TagClass"
            c:type="GtkSourceTagClass"
            glib:is-gtype-struct-for="Tag">
      <source-position filename="gtksourcetag.h" line="52"/>
      <field name="parent_class">
        <type name="Gtk.TextTagClass" c:type="GtkTextTagClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="10">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="UNDO_MANAGER"
                    c:identifier="GTK_SOURCE_UNDO_MANAGER"
                    introspectable="0">
      <source-position filename="gtksourceundomanager.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNDO_MANAGER_GET_INTERFACE"
                    c:identifier="GTK_SOURCE_UNDO_MANAGER_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="gtksourceundomanager.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="UndoManager"
               c:symbol-prefix="undo_manager"
               c:type="GtkSourceUndoManager"
               glib:type-name="GtkSourceUndoManager"
               glib:get-type="gtk_source_undo_manager_get_type"
               glib:type-struct="UndoManagerIface">
      <source-position filename="gtksourceundomanager.h" line="65"/>
      <virtual-method name="begin_not_undoable_action"
                      invoker="begin_not_undoable_action"
                      version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="221">Begin a not undoable action on the buffer. All changes between this call
and the call to gtk_source_undo_manager_end_not_undoable_action() cannot
be undone. This function should be re-entrant.</doc>
        <source-position filename="gtksourceundomanager.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="223">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="can_redo" invoker="can_redo" version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="167">Get whether there are redo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceundomanager.c"
               line="173">%TRUE if there are redo operations available, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="169">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="can_redo_changed"
                      invoker="can_redo_changed"
                      version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="271">Emits the #GtkSourceUndoManager::can-redo-changed signal.</doc>
        <source-position filename="gtksourceundomanager.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="273">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="can_undo" invoker="can_undo" version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="149">Get whether there are undo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceundomanager.c"
               line="155">%TRUE if there are undo operations available, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="151">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="can_undo_changed"
                      invoker="can_undo_changed"
                      version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="255">Emits the #GtkSourceUndoManager::can-undo-changed signal.</doc>
        <source-position filename="gtksourceundomanager.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="257">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="end_not_undoable_action"
                      invoker="end_not_undoable_action"
                      version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="239">Ends a not undoable action on the buffer.</doc>
        <source-position filename="gtksourceundomanager.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="241">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="redo" invoker="redo" version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="203">Perform a single redo. Calling this function when there are no redo operations
available is an error. Use gtk_source_undo_manager_can_redo() to find out
if there are redo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="205">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="undo" invoker="undo" version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="185">Perform a single undo. Calling this function when there are no undo operations
available is an error. Use gtk_source_undo_manager_can_undo() to find out
if there are undo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="187">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="begin_not_undoable_action"
              c:identifier="gtk_source_undo_manager_begin_not_undoable_action"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="221">Begin a not undoable action on the buffer. All changes between this call
and the call to gtk_source_undo_manager_end_not_undoable_action() cannot
be undone. This function should be re-entrant.</doc>
        <source-position filename="gtksourceundomanager.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="223">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_redo"
              c:identifier="gtk_source_undo_manager_can_redo"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="167">Get whether there are redo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceundomanager.c"
               line="173">%TRUE if there are redo operations available, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="169">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_redo_changed"
              c:identifier="gtk_source_undo_manager_can_redo_changed"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="271">Emits the #GtkSourceUndoManager::can-redo-changed signal.</doc>
        <source-position filename="gtksourceundomanager.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="273">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_undo"
              c:identifier="gtk_source_undo_manager_can_undo"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="149">Get whether there are undo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceundomanager.c"
               line="155">%TRUE if there are undo operations available, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="151">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_undo_changed"
              c:identifier="gtk_source_undo_manager_can_undo_changed"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="255">Emits the #GtkSourceUndoManager::can-undo-changed signal.</doc>
        <source-position filename="gtksourceundomanager.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="257">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="end_not_undoable_action"
              c:identifier="gtk_source_undo_manager_end_not_undoable_action"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="239">Ends a not undoable action on the buffer.</doc>
        <source-position filename="gtksourceundomanager.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="241">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="redo"
              c:identifier="gtk_source_undo_manager_redo"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="203">Perform a single redo. Calling this function when there are no redo operations
available is an error. Use gtk_source_undo_manager_can_redo() to find out
if there are redo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="205">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="undo"
              c:identifier="gtk_source_undo_manager_undo"
              version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="185">Perform a single undo. Calling this function when there are no undo operations
available is an error. Use gtk_source_undo_manager_can_undo() to find out
if there are undo operations available.</doc>
        <source-position filename="gtksourceundomanager.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="187">a #GtkSourceUndoManager.</doc>
            <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="can-redo-changed"
                   when="last"
                   action="1"
                   version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="130">Emitted when the ability to redo has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="can-undo-changed"
                   when="last"
                   action="1"
                   version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceundomanager.c"
             line="112">Emitted when the ability to undo has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="UndoManagerIface"
            c:type="GtkSourceUndoManagerIface"
            glib:is-gtype-struct-for="UndoManager">
      <source-position filename="gtksourceundomanager.h" line="65"/>
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="can_undo">
        <callback name="can_undo">
          <source-position filename="gtksourceundomanager.h" line="53"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="155">%TRUE if there are undo operations available, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="151">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_redo">
        <callback name="can_redo">
          <source-position filename="gtksourceundomanager.h" line="54"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceundomanager.c"
                 line="173">%TRUE if there are redo operations available, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="169">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="undo">
        <callback name="undo">
          <source-position filename="gtksourceundomanager.h" line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="187">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="redo">
        <callback name="redo">
          <source-position filename="gtksourceundomanager.h" line="57"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="205">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="begin_not_undoable_action">
        <callback name="begin_not_undoable_action">
          <source-position filename="gtksourceundomanager.h" line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="223">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="end_not_undoable_action">
        <callback name="end_not_undoable_action">
          <source-position filename="gtksourceundomanager.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="241">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_undo_changed">
        <callback name="can_undo_changed">
          <source-position filename="gtksourceundomanager.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="257">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_redo_changed">
        <callback name="can_redo_changed">
          <source-position filename="gtksourceundomanager.h" line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gtksourceundomanager.c"
                   line="273">a #GtkSourceUndoManager.</doc>
              <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="VIEW"
                    c:identifier="GTK_SOURCE_VIEW"
                    introspectable="0">
      <source-position filename="gtksourceview.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIEW_CLASS"
                    c:identifier="GTK_SOURCE_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="gtksourceview.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIEW_GET_CLASS"
                    c:identifier="GTK_SOURCE_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtksourceview.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="View"
           c:symbol-prefix="view"
           c:type="GtkSourceView"
           parent="Gtk.TextView"
           glib:type-name="GtkSourceView"
           glib:get-type="gtk_source_view_get_type"
           glib:type-struct="ViewClass">
      <source-position filename="gtksourceview.h" line="156"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gtk_source_view_new">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="2833">Creates a new #GtkSourceView.

By default, an empty #GtkSourceBuffer will be lazily created and can be
retrieved with gtk_text_view_get_buffer().

If you want to specify your own buffer, either override the
#GtkTextViewClass create_buffer factory method, or use
gtk_source_view_new_with_buffer().</doc>
        <source-position filename="gtksourceview.h" line="162"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="2845">a new #GtkSourceView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_buffer"
                   c:identifier="gtk_source_view_new_with_buffer">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="2853">Creates a new #GtkSourceView widget displaying the buffer
@buffer. One buffer can be shared among many widgets.</doc>
        <source-position filename="gtksourceview.h" line="165"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="2860">a new #GtkSourceView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2855">a #GtkSourceBuffer.</doc>
            <type name="Buffer" c:type="GtkSourceBuffer*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="line_mark_activated">
        <source-position filename="gtksourceview.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="move_lines">
        <source-position filename="gtksourceview.h" line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="copy" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="step" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="move_words">
        <source-position filename="gtksourceview.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="step" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="redo">
        <source-position filename="gtksourceview.h" line="143"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_completion">
        <source-position filename="gtksourceview.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="undo">
        <source-position filename="gtksourceview.h" line="142"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_auto_indent"
              c:identifier="gtk_source_view_get_auto_indent"
              glib:get-property="auto-indent">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4160">Returns whether auto-indentation of text is enabled.</doc>
        <source-position filename="gtksourceview.h" line="193"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4166">%TRUE if auto indentation is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4162">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_background_pattern"
              c:identifier="gtk_source_view_get_background_pattern"
              glib:get-property="background-pattern"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="5029">Returns the #GtkSourceBackgroundPatternType specifying if and how
the background pattern should be displayed for this @view.</doc>
        <source-position filename="gtksourceview.h" line="306"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="5036">the #GtkSourceBackgroundPatternType.</doc>
          <type name="BackgroundPatternType"
                c:type="GtkSourceBackgroundPatternType"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="5031">a #GtkSourceView</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_completion"
              c:identifier="gtk_source_view_get_completion"
              glib:get-property="completion">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4874">Gets the #GtkSourceCompletion associated with @view. The returned object is
guaranteed to be the same for the lifetime of @view. Each #GtkSourceView
object has a different #GtkSourceCompletion.</doc>
        <source-position filename="gtksourceview.h" line="294"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4882">the #GtkSourceCompletion associated with @view.</doc>
          <type name="Completion" c:type="GtkSourceCompletion*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4876">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_draw_spaces"
              c:identifier="gtk_source_view_get_draw_spaces"
              glib:get-property="draw-spaces"
              deprecated="1"
              deprecated-version="3.24">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4593">Returns the #GtkSourceDrawSpacesFlags specifying if and how spaces
should be displayed for this @view.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_space_drawer_get_types_for_locations()
instead.</doc-deprecated>
        <source-position filename="gtksourceview.h" line="286"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4600">the #GtkSourceDrawSpacesFlags, 0 if no spaces should be drawn.</doc>
          <type name="DrawSpacesFlags" c:type="GtkSourceDrawSpacesFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4595">a #GtkSourceView</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gutter"
              c:identifier="gtk_source_view_get_gutter"
              version="2.8">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4897">Returns the #GtkSourceGutter object associated with @window_type for @view.
Only GTK_TEXT_WINDOW_LEFT and GTK_TEXT_WINDOW_RIGHT are supported,
respectively corresponding to the left and right gutter. The line numbers
and mark category icons are rendered in the left gutter.</doc>
        <source-position filename="gtksourceview.h" line="297"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4909">the #GtkSourceGutter.</doc>
          <type name="Gutter" c:type="GtkSourceGutter*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4899">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="window_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4900">the gutter window type.</doc>
            <type name="Gtk.TextWindowType" c:type="GtkTextWindowType"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_highlight_current_line"
              c:identifier="gtk_source_view_get_highlight_current_line"
              glib:get-property="highlight-current-line">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4359">Returns whether the current line is highlighted.</doc>
        <source-position filename="gtksourceview.h" line="227"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4365">%TRUE if the current line is highlighted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4361">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_indent_on_tab"
              c:identifier="gtk_source_view_get_indent_on_tab"
              glib:get-property="indent-on-tab">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4244">Returns whether when the tab key is pressed the current selection
should get indented instead of replaced with the \t character.</doc>
        <source-position filename="gtksourceview.h" line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4251">%TRUE if the selection is indented when tab is pressed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4246">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_indent_width"
              c:identifier="gtk_source_view_get_indent_width"
              glib:get-property="indent-width">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="3128">Returns the number of spaces to use for each step of indent.
See gtk_source_view_set_indent_width() for details.</doc>
        <source-position filename="gtksourceview.h" line="186"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="3135">indent width.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3130">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_insert_spaces_instead_of_tabs"
              c:identifier="gtk_source_view_get_insert_spaces_instead_of_tabs"
              glib:get-property="insert-spaces-instead-of-tabs">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4203">Returns whether when inserting a tabulator character it should
be replaced by a group of space characters.</doc>
        <source-position filename="gtksourceview.h" line="201"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4210">%TRUE if spaces are inserted instead of tabs.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4205">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mark_attributes"
              c:identifier="gtk_source_view_get_mark_attributes">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4967">Gets attributes and priority for the @category.</doc>
        <source-position filename="gtksourceview.h" line="261"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4975">#GtkSourceMarkAttributes for the @category.
The object belongs to @view, so it must not be unreffed.</doc>
          <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4969">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="category" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4970">the category.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4971">place where priority of the category will be stored.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_right_margin_position"
              c:identifier="gtk_source_view_get_right_margin_position"
              glib:get-property="right-margin-position">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4441">Gets the position of the right margin in the given @view.</doc>
        <source-position filename="gtksourceview.h" line="243"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4447">the position of the right margin.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4443">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_line_marks"
              c:identifier="gtk_source_view_get_show_line_marks"
              glib:get-property="show-line-marks"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="2933">Returns whether line marks are displayed beside the text.</doc>
        <source-position filename="gtksourceview.h" line="251"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="2939">%TRUE if the line marks are displayed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2935">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_line_numbers"
              c:identifier="gtk_source_view_get_show_line_numbers"
              glib:get-property="show-line-numbers">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="2872">Returns whether line numbers are displayed beside the text.</doc>
        <source-position filename="gtksourceview.h" line="172"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="2878">%TRUE if the line numbers are displayed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2874">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_right_margin"
              c:identifier="gtk_source_view_get_show_right_margin"
              glib:get-property="show-right-margin">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4400">Returns whether a right margin is displayed.</doc>
        <source-position filename="gtksourceview.h" line="235"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4406">%TRUE if the right margin is shown.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4402">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_smart_backspace"
              c:identifier="gtk_source_view_get_smart_backspace"
              glib:get-property="smart-backspace"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4507">Returns %TRUE if pressing the Backspace key will try to delete spaces
up to the previous tab stop.</doc>
        <source-position filename="gtksourceview.h" line="270"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4514">%TRUE if smart Backspace handling is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4509">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_smart_home_end"
              c:identifier="gtk_source_view_get_smart_home_end"
              glib:get-property="smart-home-end">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4547">Returns a #GtkSourceSmartHomeEndType end value specifying
how the cursor will move when HOME and END keys are pressed.</doc>
        <source-position filename="gtksourceview.h" line="278"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4554">a #GtkSourceSmartHomeEndType value.</doc>
          <type name="SmartHomeEndType" c:type="GtkSourceSmartHomeEndType"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4549">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_space_drawer"
              c:identifier="gtk_source_view_get_space_drawer"
              glib:get-property="space-drawer"
              version="3.24">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="5047">Gets the #GtkSourceSpaceDrawer associated with @view. The returned object is
guaranteed to be the same for the lifetime of @view. Each #GtkSourceView
object has a different #GtkSourceSpaceDrawer.</doc>
        <source-position filename="gtksourceview.h" line="310"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="5055">the #GtkSourceSpaceDrawer associated with @view.</doc>
          <type name="SpaceDrawer" c:type="GtkSourceSpaceDrawer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="5049">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_width"
              c:identifier="gtk_source_view_get_tab_width"
              glib:get-property="tab-width">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="3072">Returns the width of tabulation in characters.</doc>
        <source-position filename="gtksourceview.h" line="179"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="3078">width of tab.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3074">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visual_column"
              c:identifier="gtk_source_view_get_visual_column">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4617">Determines the visual column at @iter taking into consideration the
#GtkSourceView:tab-width of @view.</doc>
        <source-position filename="gtksourceview.h" line="289"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceview.c"
               line="4625">the visual column at @iter.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4619">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4620">a position in @view.</doc>
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="indent_lines"
              c:identifier="gtk_source_view_indent_lines"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="3212">Inserts one indentation level at the beginning of the specified lines. The
empty lines are not indented.</doc>
        <source-position filename="gtksourceview.h" line="212"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3214">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3215">#GtkTextIter of the first line to indent</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3216">#GtkTextIter of the last line to indent</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_indent"
              c:identifier="gtk_source_view_set_auto_indent"
              glib:set-property="auto-indent">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4176">If %TRUE auto-indentation of text is enabled.

When Enter is pressed to create a new line, the auto-indentation inserts the
same indentation as the previous line. This is &lt;emphasis&gt;not&lt;/emphasis&gt; a
"smart indentation" where an indentation level is added or removed depending
on the context.</doc>
        <source-position filename="gtksourceview.h" line="189"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4178">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4179">whether to enable auto indentation.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_background_pattern"
              c:identifier="gtk_source_view_set_background_pattern"
              glib:set-property="background-pattern"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="5004">Set if and how the background pattern should be displayed.</doc>
        <source-position filename="gtksourceview.h" line="301"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="5006">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="background_pattern" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="5007">the #GtkSourceBackgroundPatternType.</doc>
            <type name="BackgroundPatternType"
                  c:type="GtkSourceBackgroundPatternType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_draw_spaces"
              c:identifier="gtk_source_view_set_draw_spaces"
              glib:set-property="draw-spaces"
              deprecated="1"
              deprecated-version="3.24">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4564">Set if and how the spaces should be visualized. Specifying @flags as 0 will
disable display of spaces.

For a finer-grained method, there is also the GtkSourceTag's
#GtkSourceTag:draw-spaces property.</doc>
        <doc-deprecated xml:space="preserve">Use gtk_source_space_drawer_set_types_for_locations()
instead.</doc-deprecated>
        <source-position filename="gtksourceview.h" line="281"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4566">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4567">#GtkSourceDrawSpacesFlags specifing how white spaces should
be displayed</doc>
            <type name="DrawSpacesFlags" c:type="GtkSourceDrawSpacesFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_highlight_current_line"
              c:identifier="gtk_source_view_set_highlight_current_line"
              glib:set-property="highlight-current-line">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4375">If @highlight is %TRUE the current line will be highlighted.</doc>
        <source-position filename="gtksourceview.h" line="222"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4377">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="highlight" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4378">whether to highlight the current line.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_indent_on_tab"
              c:identifier="gtk_source_view_set_indent_on_tab"
              glib:set-property="indent-on-tab">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4261">If %TRUE, when the tab key is pressed when several lines are selected, the
selected lines are indented of one level instead of being replaced with a \t
character. Shift+Tab unindents the selection.

If the first or last line is not selected completely, it is also indented or
unindented.

When the selection doesn't span several lines, the tab key always replaces
the selection with a normal \t character.</doc>
        <source-position filename="gtksourceview.h" line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4263">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4264">whether to indent a block when tab is pressed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_indent_width"
              c:identifier="gtk_source_view_set_indent_width"
              glib:set-property="indent-width">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="3088">Sets the number of spaces to use for each step of indent when the tab key is
pressed. If @width is -1, the value of the #GtkSourceView:tab-width property
will be used.

The #GtkSourceView:indent-width interacts with the
#GtkSourceView:insert-spaces-instead-of-tabs property and
#GtkSourceView:tab-width. An example will be clearer: if the
#GtkSourceView:indent-width is 4 and
#GtkSourceView:tab-width is 8 and
#GtkSourceView:insert-spaces-instead-of-tabs is %FALSE, then pressing the tab
key at the beginning of a line will insert 4 spaces. So far so good. Pressing
the tab key a second time will remove the 4 spaces and insert a \t character
instead (since #GtkSourceView:tab-width is 8). On the other hand, if
#GtkSourceView:insert-spaces-instead-of-tabs is %TRUE, the second tab key
pressed will insert 4 more spaces for a total of 8 spaces in the
#GtkTextBuffer.

The test-widget program (available in the GtkSourceView repository) may be
useful to better understand the indentation settings (enable the space
drawing!).</doc>
        <source-position filename="gtksourceview.h" line="182"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3090">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3091">indent width in characters.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_insert_spaces_instead_of_tabs"
              c:identifier="gtk_source_view_set_insert_spaces_instead_of_tabs"
              glib:set-property="insert-spaces-instead-of-tabs">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4220">If %TRUE a tab key pressed is replaced by a group of space characters. Of
course it is still possible to insert a real \t programmatically with the
#GtkTextBuffer API.</doc>
        <source-position filename="gtksourceview.h" line="196"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4222">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4223">whether to insert spaces instead of tabs.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mark_attributes"
              c:identifier="gtk_source_view_set_mark_attributes">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4939">Sets attributes and priority for the @category.</doc>
        <source-position filename="gtksourceview.h" line="254"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4941">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="category" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4942">the category.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="attributes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4943">mark attributes.</doc>
            <type name="MarkAttributes" c:type="GtkSourceMarkAttributes*"/>
          </parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4944">priority of the category.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_right_margin_position"
              c:identifier="gtk_source_view_set_right_margin_position"
              glib:set-property="right-margin-position">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4457">Sets the position of the right margin in the given @view.</doc>
        <source-position filename="gtksourceview.h" line="238"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4459">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4460">the width in characters where to position the right margin.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_line_marks"
              c:identifier="gtk_source_view_set_show_line_marks"
              glib:set-property="show-line-marks"
              version="2.2">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="2965">If %TRUE line marks will be displayed beside the text.</doc>
        <source-position filename="gtksourceview.h" line="247"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2967">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2968">whether line marks should be displayed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_line_numbers"
              c:identifier="gtk_source_view_set_show_line_numbers"
              glib:set-property="show-line-numbers">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="2888">If %TRUE line numbers will be displayed beside the text.</doc>
        <source-position filename="gtksourceview.h" line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2890">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="2891">whether line numbers should be displayed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_right_margin"
              c:identifier="gtk_source_view_set_show_right_margin"
              glib:set-property="show-right-margin">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4416">If %TRUE a right margin is displayed.</doc>
        <source-position filename="gtksourceview.h" line="231"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4418">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4419">whether to show a right margin.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_smart_backspace"
              c:identifier="gtk_source_view_set_smart_backspace"
              glib:set-property="smart-backspace"
              version="3.18">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4482">When set to %TRUE, pressing the Backspace key will try to delete spaces
up to the previous tab stop.</doc>
        <source-position filename="gtksourceview.h" line="266"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4484">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="smart_backspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4485">whether to enable smart Backspace handling.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_smart_home_end"
              c:identifier="gtk_source_view_set_smart_home_end"
              glib:set-property="smart-home-end">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="4526">Set the desired movement of the cursor when HOME and END keys
are pressed.</doc>
        <source-position filename="gtksourceview.h" line="273"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4528">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="smart_home_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="4529">the desired behavior among #GtkSourceSmartHomeEndType.</doc>
            <type name="SmartHomeEndType" c:type="GtkSourceSmartHomeEndType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tab_width"
              c:identifier="gtk_source_view_set_tab_width"
              glib:set-property="tab-width">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="3036">Sets the width of tabulation in characters. The #GtkTextBuffer still contains
\t characters, but they can take a different visual width in a #GtkSourceView
widget.</doc>
        <source-position filename="gtksourceview.h" line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3038">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3039">width of tab in characters.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unindent_lines"
              c:identifier="gtk_source_view_unindent_lines"
              version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="3366">Removes one indentation level at the beginning of the
specified lines.</doc>
        <source-position filename="gtksourceview.h" line="217"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3368">a #GtkSourceView.</doc>
            <type name="View" c:type="GtkSourceView*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3369">#GtkTextIter of the first line to indent</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="3370">#GtkTextIter of the last line to indent</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <property name="auto-indent"
                writable="1"
                transfer-ownership="none"
                setter="set_auto_indent"
                getter="get_auto_indent"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="background-pattern"
                version="3.16"
                writable="1"
                transfer-ownership="none"
                setter="set_background_pattern"
                getter="get_background_pattern"
                default-value="GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="663">Draw a specific background pattern on the view.</doc>
        <type name="BackgroundPatternType"/>
      </property>
      <property name="completion"
                transfer-ownership="none"
                getter="get_completion">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="482">The completion object associated with the view</doc>
        <type name="Completion"/>
      </property>
      <property name="draw-spaces"
                version="2.4"
                deprecated="1"
                deprecated-version="3.24"
                writable="1"
                transfer-ownership="none"
                setter="set_draw_spaces"
                getter="get_draw_spaces"
                default-value="0">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="640">Set if and how the spaces should be visualized.

For a finer-grained method, there is also the GtkSourceTag's
#GtkSourceTag:draw-spaces property.</doc>
        <doc-deprecated xml:space="preserve">Use the #GtkSourceSpaceDrawer:matrix property
instead.</doc-deprecated>
        <type name="DrawSpacesFlags"/>
      </property>
      <property name="highlight-current-line"
                writable="1"
                transfer-ownership="none"
                setter="set_highlight_current_line"
                getter="get_highlight_current_line"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="indent-on-tab"
                writable="1"
                transfer-ownership="none"
                setter="set_indent_on_tab"
                getter="get_indent_on_tab"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="indent-width"
                writable="1"
                transfer-ownership="none"
                setter="set_indent_width"
                getter="get_indent_width"
                default-value="-1">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="539">Width of an indentation step expressed in number of spaces.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="insert-spaces-instead-of-tabs"
                writable="1"
                transfer-ownership="none"
                setter="set_insert_spaces_instead_of_tabs"
                getter="get_insert_spaces_instead_of_tabs"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="right-margin-position"
                writable="1"
                transfer-ownership="none"
                setter="set_right_margin_position"
                getter="get_right_margin_position"
                default-value="80">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="587">Position of the right margin.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="show-line-marks"
                writable="1"
                transfer-ownership="none"
                setter="set_show_line_marks"
                getter="get_show_line_marks"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="509">Whether to display line mark pixbufs</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-line-numbers"
                writable="1"
                transfer-ownership="none"
                setter="set_show_line_numbers"
                getter="get_show_line_numbers"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="496">Whether to display line numbers</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-right-margin"
                writable="1"
                transfer-ownership="none"
                setter="set_show_right_margin"
                getter="get_show_right_margin"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="573">Whether to display the right margin.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="smart-backspace"
                version="3.18"
                writable="1"
                transfer-ownership="none"
                setter="set_smart_backspace"
                getter="get_smart_backspace"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="680">Whether smart Backspace should be used.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="smart-home-end"
                version="2.0"
                writable="1"
                transfer-ownership="none"
                setter="set_smart_home_end"
                getter="get_smart_home_end"
                default-value="GTK_SOURCE_SMART_HOME_END_DISABLED">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="603">Set the behavior of the HOME and END keys.</doc>
        <type name="SmartHomeEndType"/>
      </property>
      <property name="space-drawer"
                version="3.24"
                transfer-ownership="none"
                getter="get_space_drawer">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="696">The #GtkSourceSpaceDrawer object associated with the view.</doc>
        <type name="SpaceDrawer"/>
      </property>
      <property name="tab-width"
                writable="1"
                transfer-ownership="none"
                setter="set_tab_width"
                getter="get_tab_width"
                default-value="8">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="523">Width of a tab character expressed in number of spaces.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent">
        <type name="Gtk.TextView" c:type="GtkTextView"/>
      </field>
      <field name="priv">
        <type name="ViewPrivate" c:type="GtkSourceViewPrivate*"/>
      </field>
      <glib:signal name="change-case" when="last" action="1" version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="887">Keybinding signal to change case of the text at the current cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="case_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="890">the case to use</doc>
            <type name="ChangeCaseType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="change-number" when="last" action="1" version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="868">Keybinding signal to edit a number at the current cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="871">the number to add to the number at the current position</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="join-lines" when="last" action="1" version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="906">Keybinding signal to join the lines currently selected.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="line-mark-activated" when="last">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="751">Emitted when a line mark has been activated (for instance when there
was a button press in the line marks gutter). You can use @iter to
determine on which line the activation took place.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="754">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="755">the #GdkEvent that activated the event</doc>
            <type name="Gdk.Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="move-lines" when="last" action="1" version="2.10">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="772">The ::move-lines signal is a keybinding which gets emitted
when the user initiates moving a line. The default binding key
is Alt+Up/Down arrow. And moves the currently selected lines,
or the current line by @count. For the moment, only
@count of -1 or 1 is valid.

The @copy parameter is deprecated, it has never been used by
GtkSourceView (the value is always %FALSE) and was buggy.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="copy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="775">%TRUE if the line should be copied, %FALSE if it should be
  moved. This parameter is deprecated and will be removed in a later
  version, it should be always %FALSE.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="778">the number of lines to move over. Only 1 and -1 are
  supported.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="move-to-matching-bracket"
                   when="last"
                   action="1"
                   version="3.16">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="848">Keybinding signal to move the cursor to the matching bracket.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="extend_selection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="851">%TRUE if the move should extend the selection</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="move-words" when="last" action="1" version="3.0">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="802">The ::move-words signal is a keybinding which gets emitted
when the user initiates moving a word. The default binding key
is Alt+Left/Right Arrow and moves the current selection, or the current
word by one word.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="805">the number of words to move over</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="redo" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="show-completion" when="last" action="1">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="728">The ::show-completion signal is a key binding signal which gets
emitted when the user requests a completion, by pressing
&lt;keycombo&gt;&lt;keycap&gt;Control&lt;/keycap&gt;&lt;keycap&gt;space&lt;/keycap&gt;&lt;/keycombo&gt;.

This will create a #GtkSourceCompletionContext with the activation
type as %GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to activate the completion by
another means, for example with another key binding or a menu entry.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="smart-home-end" when="last" version="3.0">
        <doc xml:space="preserve"
             filename="gtksourceview.c"
             line="823">Emitted when a the cursor was moved according to the smart home
end setting. The signal is emitted after the cursor is moved, but
during the GtkTextView::move-cursor action. This can be used to find
out whether the cursor was moved by a normal home/end or by a smart
home/end.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="826">a #GtkTextIter</doc>
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtksourceview.c"
                 line="827">the count</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="undo" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ViewClass"
            c:type="GtkSourceViewClass"
            glib:is-gtype-struct-for="View">
      <source-position filename="gtksourceview.h" line="156"/>
      <field name="parent_class">
        <type name="Gtk.TextViewClass" c:type="GtkTextViewClass"/>
      </field>
      <field name="undo">
        <callback name="undo">
          <source-position filename="gtksourceview.h" line="142"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GtkSourceView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="redo">
        <callback name="redo">
          <source-position filename="gtksourceview.h" line="143"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GtkSourceView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="line_mark_activated">
        <callback name="line_mark_activated">
          <source-position filename="gtksourceview.h" line="144"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GtkSourceView*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Gdk.Event" c:type="GdkEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show_completion">
        <callback name="show_completion">
          <source-position filename="gtksourceview.h" line="147"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GtkSourceView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="move_lines">
        <callback name="move_lines">
          <source-position filename="gtksourceview.h" line="148"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GtkSourceView*"/>
            </parameter>
            <parameter name="copy" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="step" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="move_words">
        <callback name="move_words">
          <source-position filename="gtksourceview.h" line="152"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GtkSourceView*"/>
            </parameter>
            <parameter name="step" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ViewGutterPosition"
                 glib:type-name="GtkSourceViewGutterPosition"
                 glib:get-type="gtk_source_view_gutter_position_get_type"
                 c:type="GtkSourceViewGutterPosition">
      <member name="lines"
              value="-30"
              c:identifier="GTK_SOURCE_VIEW_GUTTER_POSITION_LINES"
              glib:nick="lines"
              glib:name="GTK_SOURCE_VIEW_GUTTER_POSITION_LINES">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="52">the gutter position of the lines
renderer</doc>
      </member>
      <member name="marks"
              value="-20"
              c:identifier="GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS"
              glib:nick="marks"
              glib:name="GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS">
        <doc xml:space="preserve"
             filename="gtksourceview.h"
             line="54">the gutter position of the marks
renderer</doc>
      </member>
    </enumeration>
    <record name="ViewPrivate"
            c:type="GtkSourceViewPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gtksourceview.h" line="48"/>
    </record>
    <docsection name="buffer">
      <doc xml:space="preserve"
           filename="gtksourcebuffer.c"
           line="51">A #GtkSourceBuffer object is the model for #GtkSourceView widgets.
It extends the #GtkTextBuffer class by adding features useful to display
and edit source code such as syntax highlighting and bracket matching. It
also implements support for the undo/redo.

To create a #GtkSourceBuffer use gtk_source_buffer_new() or
gtk_source_buffer_new_with_language(). The second form is just a convenience
function which allows you to initially set a #GtkSourceLanguage. You can also
directly create a #GtkSourceView and get its #GtkSourceBuffer with
gtk_text_view_get_buffer().

The highlighting is enabled by default, but you can disable it with
gtk_source_buffer_set_highlight_syntax().

# Undo/Redo

A custom #GtkSourceUndoManager can be implemented and set with
gtk_source_buffer_set_undo_manager(). However the default implementation
should be suitable for most uses, so you can use the API provided by
#GtkSourceBuffer instead of using #GtkSourceUndoManager. By default, actions
that can be undone or redone are defined as groups of operations between a
call to gtk_text_buffer_begin_user_action() and
gtk_text_buffer_end_user_action(). In general, this happens whenever the user
presses any key which modifies the buffer. But the default undo manager will
try to merge similar consecutive actions into one undo/redo level. The
merging is done word by word, so after writing a new sentence (character by
character), each undo will remove the previous word.

The default undo manager remembers the "modified" state of the buffer, and
restores it when an action is undone or redone. It can be useful in a text
editor to know whether the file is saved. See gtk_text_buffer_get_modified()
and gtk_text_buffer_set_modified().

The default undo manager also restores the selected text (or cursor
position), if the selection was related to the action. For example if the
user selects some text and deletes it, an undo will restore the selection. On
the other hand, if some text is selected but a deletion occurs elsewhere (the
deletion was done programmatically), an undo will not restore the selection,
it will only moves the cursor (the cursor is moved so that the user sees the
undo's effect). Warning: the selection restoring behavior might change in the
future.

# Context Classes # {#context-classes}

It is possible to retrieve some information from the syntax highlighting
engine. The default context classes that are applied to regions of a
#GtkSourceBuffer:
 - &lt;emphasis&gt;comment&lt;/emphasis&gt;: the region delimits a comment;
 - &lt;emphasis&gt;no-spell-check&lt;/emphasis&gt;: the region should not be spell checked;
 - &lt;emphasis&gt;path&lt;/emphasis&gt;: the region delimits a path to a file;
 - &lt;emphasis&gt;string&lt;/emphasis&gt;: the region delimits a string.

Custom language definition files can create their own context classes,
since the functions like gtk_source_buffer_iter_has_context_class() take
a string parameter as the context class.

#GtkSourceBuffer provides an API to access the context classes:
gtk_source_buffer_iter_has_context_class(),
gtk_source_buffer_get_context_classes_at_iter(),
gtk_source_buffer_iter_forward_to_context_class_toggle() and
gtk_source_buffer_iter_backward_to_context_class_toggle().

And the #GtkSourceBuffer::highlight-updated signal permits to be notified
when a context class region changes.

Each context class has also an associated #GtkTextTag with the name
&lt;emphasis&gt;gtksourceview:context-classes:&amp;lt;name&amp;gt;&lt;/emphasis&gt;. For example to
retrieve the #GtkTextTag for the string context class, one can write:
|[
GtkTextTagTable *tag_table;
GtkTextTag *tag;

tag_table = gtk_text_buffer_get_tag_table (buffer);
tag = gtk_text_tag_table_lookup (tag_table, "gtksourceview:context-classes:string");
]|

The tag must be used for read-only purposes.

Accessing a context class via the associated #GtkTextTag is less
convenient than the #GtkSourceBuffer API, because:
 - The tag doesn't always exist, you need to listen to the
   #GtkTextTagTable::tag-added and #GtkTextTagTable::tag-removed signals.
 - Instead of the #GtkSourceBuffer::highlight-updated signal, you can listen
   to the #GtkTextBuffer::apply-tag and #GtkTextBuffer::remove-tag signals.

A possible use-case for accessing a context class via the associated
#GtkTextTag is to read the region but without adding a hard dependency on the
GtkSourceView library (for example for a spell-checking library that wants to
read the no-spell-check region).</doc>
    </docsection>
    <docsection name="completion">
      <doc xml:space="preserve"
           filename="gtksourcecompletion.c"
           line="24">The completion system helps the user when he writes some text, such
as words, command names, functions, and suchlike. Proposals can be
shown, to complete the text the user is writing. Each proposal can
contain an additional piece of information, that is displayed when
the "Details" button is active.

Proposals are created via a #GtkSourceCompletionProvider. There can
be for example a provider to complete words (see
#GtkSourceCompletionWords), another provider for the completion of
function's names, etc. To add a provider, call
gtk_source_completion_add_provider().

When the completion is activated, a #GtkSourceCompletionContext object is
created. The providers are asked whether they match the context, with
gtk_source_completion_provider_match(). If a provider doesn't match the
context, it will not be visible in the completion window. On the
other hand, if the provider matches the context, its proposals will
be displayed.

When several providers match, they are all shown in the completion
window, but one can switch between providers: see the
#GtkSourceCompletion::move-page signal. It is also possible to
activate the first proposals with key bindings, see the
#GtkSourceCompletion:accelerators property.

The #GtkSourceCompletionProposal interface represents a proposal.
The #GtkSourceCompletionItem class is a simple implementation of this
interface.

If a proposal contains extra information (see
gtk_source_completion_provider_get_info_widget()), it will be
displayed in a #GtkSourceCompletionInfo window, which appears when
the "Details" button is clicked.

A #GtkSourceCompletionInfo window can also be used to display
calltips. When no proposals are available, it can be useful to
display extra information like a function's prototype (number of
parameters, types of parameters, etc).

Each #GtkSourceView object is associated with a #GtkSourceCompletion
instance. This instance can be obtained with
gtk_source_view_get_completion(). The #GtkSourceView class contains also the
#GtkSourceView::show-completion signal.

A same #GtkSourceCompletionProvider object can be used for several
#GtkSourceCompletion.

# GtkSourceCompletion as GtkBuildable

The GtkSourceCompletion implementation of the #GtkBuildable interface exposes
the info window object (see gtk_source_completion_get_info_window()) with the
internal-child "info_window".

An example of a UI definition fragment with GtkSourceCompletion:
|[
&lt;object class="GtkSourceCompletion"&gt;
  &lt;property name="select_on_show"&gt;False&lt;/property&gt;
  &lt;child internal-child="info_window"&gt;
    &lt;object class="GtkSourceCompletionInfo"&gt;
      &lt;property name="border_width"&gt;6&lt;/property&gt;
    &lt;/object&gt;
  &lt;/child&gt;
&lt;/object&gt;
]|</doc>
    </docsection>
    <function name="completion_error_quark"
              c:identifier="gtk_source_completion_error_quark"
              moved-to="CompletionError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <docsection name="completioncontext">
      <doc xml:space="preserve"
           filename="gtksourcecompletioncontext.c"
           line="22">Initially, the completion window is hidden. For a completion to occur, it has
to be activated. The different possible activations are listed in
#GtkSourceCompletionActivation. When an activation occurs, a
#GtkSourceCompletionContext object is created, and the eligible providers are
asked to add proposals with gtk_source_completion_context_add_proposals().

If no proposals are added, the completion window remains hidden, and the
context is destroyed.

On the other hand, if proposals are added, the completion window becomes
visible, and the user can choose a proposal. If the user is not happy with
the shown proposals, he or she can insert or delete characters, to modify the
completion context and therefore hoping to see the proposal he or she wants.
This means that when an insertion or deletion occurs in the #GtkTextBuffer
when the completion window is visible, the eligible providers are again asked
to add proposals. The #GtkSourceCompletionContext:activation remains the
same in this case.

When the completion window is hidden, the interactive completion is triggered
only on insertion in the buffer, not on deletion. Once the completion window
is visible, then on each insertion or deletion, there is a new population and
the providers are asked to add proposals. If there are no more proposals, the
completion window disappears. So if you want to keep the completion window
visible, but there are no proposals, you can insert a dummy proposal named
"No proposals". For example, the user types progressively the name of
a function, and some proposals appear. The user types a bad character and
there are no proposals anymore. What the user wants is to delete the last
character, and see the previous proposals. If the completion window
disappears, the previous proposals will not reappear on the character
deletion.

A #GtkTextIter is associated with the context, this is where the completion
takes place. With this #GtkTextIter, you can get the associated
#GtkTextBuffer with gtk_text_iter_get_buffer().</doc>
    </docsection>
    <docsection name="completioninfo">
      <doc xml:space="preserve"
           filename="gtksourcecompletioninfo.c"
           line="24">This object can be used to show a calltip or help for the
current completion proposal.

The info window has always the same size as the natural size of its child
widget, added with gtk_container_add().  If you want a fixed size instead, a
possibility is to use a scrolled window, as the following example
demonstrates.

&lt;example&gt;
  &lt;title&gt;Fixed size with a scrolled window.&lt;/title&gt;
  &lt;programlisting&gt;
GtkSourceCompletionInfo *info;
GtkWidget *your_widget;
GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);

gtk_widget_set_size_request (scrolled_window, 300, 200);
gtk_container_add (GTK_CONTAINER (scrolled_window), your_widget);
gtk_container_add (GTK_CONTAINER (info), scrolled_window);
  &lt;/programlisting&gt;
&lt;/example&gt;

If the calltip is displayed on top of a certain widget, say a #GtkTextView,
you should attach the calltip window to the #GtkTextView with
gtk_window_set_attached_to().  By doing this, the calltip will be hidden when
the #GtkWidget::focus-out-event signal is emitted by the #GtkTextView. You
may also be interested by the #GtkTextBuffer:cursor-position property (when
its value is modified). If you use the #GtkSourceCompletionInfo through the
#GtkSourceCompletion machinery, you don't need to worry about this.</doc>
    </docsection>
    <docsection name="completionitem">
      <doc xml:space="preserve"
           filename="gtksourcecompletionitem.c"
           line="23">The #GtkSourceCompletionItem class is a simple implementation of the
#GtkSourceCompletionProposal interface.</doc>
    </docsection>
    <docsection name="completionproposal">
      <doc xml:space="preserve"
           filename="gtksourcecompletionproposal.c"
           line="29">The proposal interface represents a completion item in the completion window.
It provides information on how to display the completion item and what action
should be taken when the completion item is activated.

The proposal is displayed in the completion window with a label and
optionally an icon.
The label may be specified using plain text or markup by implementing
the corresponding get function. Only one of those get functions
should return a value different from %NULL.
The icon may be specified as a #GdkPixbuf, as an icon name or as a #GIcon by
implementing the corresponding get function. At most one of those get functions
should return a value different from %NULL, if they all return %NULL no icon
will be used.</doc>
    </docsection>
    <docsection name="completionprovider">
      <doc xml:space="preserve"
           filename="gtksourcecompletionprovider.c"
           line="31">You must implement this interface to provide proposals to #GtkSourceCompletion

The provider may be displayed in the completion window as a header row, showing
its name and optionally an icon.
The icon may be specified as a #GdkPixbuf, as an icon name or as a #GIcon by
implementing the corresponding get function. At most one of those get functions
should return a value different from %NULL, if they all return %NULL no icon
will be used.</doc>
    </docsection>
    <docsection name="completionwords">
      <doc xml:space="preserve"
           filename="completion-providers/words/gtksourcecompletionwords.c"
           line="23">The #GtkSourceCompletionWords is an example of an implementation of
the #GtkSourceCompletionProvider interface. The proposals are words
appearing in the registered #GtkTextBuffer&lt;!-- --&gt;s.</doc>
    </docsection>
    <docsection name="encoding">
      <doc xml:space="preserve"
           filename="gtksourceencoding.c"
           line="31">The #GtkSourceEncoding boxed type represents a character encoding. It is used
for example by #GtkSourceFile. Note that the text in GTK+ widgets is always
encoded in UTF-8.</doc>
    </docsection>
    <function name="encoding_get_all"
              c:identifier="gtk_source_encoding_get_all"
              moved-to="Encoding.get_all"
              version="3.14">
      <doc xml:space="preserve"
           filename="gtksourceencoding.c"
           line="348">Gets all encodings.</doc>
      <source-position filename="gtksourceencoding.h" line="64"/>
      <return-value transfer-ownership="container">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="353">a list of
all #GtkSourceEncoding's. Free with g_slist_free().</doc>
        <type name="GLib.SList" c:type="GSList*">
          <type name="Encoding"/>
        </type>
      </return-value>
    </function>
    <function name="encoding_get_current"
              c:identifier="gtk_source_encoding_get_current"
              moved-to="Encoding.get_current"
              version="3.14">
      <doc xml:space="preserve"
           filename="gtksourceencoding.c"
           line="385">Gets the #GtkSourceEncoding for the current locale. See also g_get_charset().</doc>
      <source-position filename="gtksourceencoding.h" line="61"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="390">the current locale encoding.</doc>
        <type name="Encoding" c:type="const GtkSourceEncoding*"/>
      </return-value>
    </function>
    <function name="encoding_get_default_candidates"
              c:identifier="gtk_source_encoding_get_default_candidates"
              moved-to="Encoding.get_default_candidates"
              version="3.18">
      <doc xml:space="preserve"
           filename="gtksourceencoding.c"
           line="601">Gets the list of default candidate encodings to try when loading a file. See
gtk_source_file_loader_set_candidate_encodings().

This function returns a different list depending on the current locale (i.e.
language, country and default encoding). The UTF-8 encoding and the current
locale encoding are guaranteed to be present in the returned list.</doc>
      <source-position filename="gtksourceencoding.h" line="67"/>
      <return-value transfer-ownership="container">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="611">the list of
default candidate encodings. Free with g_slist_free().</doc>
        <type name="GLib.SList" c:type="GSList*">
          <type name="Encoding"/>
        </type>
      </return-value>
    </function>
    <function name="encoding_get_from_charset"
              c:identifier="gtk_source_encoding_get_from_charset"
              moved-to="Encoding.get_from_charset"
              version="3.14">
      <doc xml:space="preserve"
           filename="gtksourceencoding.c"
           line="306">Gets a #GtkSourceEncoding from a character set such as "UTF-8" or
"ISO-8859-1".</doc>
      <source-position filename="gtksourceencoding.h" line="46"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="313">the corresponding #GtkSourceEncoding, or %NULL
if not found.</doc>
        <type name="Encoding" c:type="const GtkSourceEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="charset" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceencoding.c"
               line="308">a character set.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_utf8"
              c:identifier="gtk_source_encoding_get_utf8"
              moved-to="Encoding.get_utf8"
              version="3.14">
      <source-position filename="gtksourceencoding.h" line="58"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gtksourceencoding.c"
             line="376">the UTF-8 encoding.</doc>
        <type name="Encoding" c:type="const GtkSourceEncoding*"/>
      </return-value>
    </function>
    <docsection name="file">
      <doc xml:space="preserve"
           filename="gtksourcefile.c"
           line="31">A #GtkSourceFile object is the on-disk representation of a #GtkSourceBuffer.
With a #GtkSourceFile, you can create and configure a #GtkSourceFileLoader
and #GtkSourceFileSaver which take by default the values of the
#GtkSourceFile properties (except for the file loader which auto-detect some
properties). On a successful load or save operation, the #GtkSourceFile
properties are updated. If an operation fails, the #GtkSourceFile properties
have still the previous valid values.</doc>
    </docsection>
    <function name="file_loader_error_quark"
              c:identifier="gtk_source_file_loader_error_quark"
              moved-to="FileLoaderError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="file_saver_error_quark"
              c:identifier="gtk_source_file_saver_error_quark"
              moved-to="FileSaverError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <docsection name="fileloader">
      <doc xml:space="preserve"
           filename="gtksourcefileloader.c"
           line="38">A #GtkSourceFileLoader object permits to load the contents of a #GFile or a
#GInputStream into a #GtkSourceBuffer.

A file loader should be used only for one load operation, including errors
handling. If an error occurs, you can reconfigure the loader and relaunch the
operation with gtk_source_file_loader_load_async().

Running a #GtkSourceFileLoader is an undoable action for the
#GtkSourceBuffer. That is, gtk_source_buffer_begin_not_undoable_action() and
gtk_source_buffer_end_not_undoable_action() are called, which delete the
undo/redo history.

After a file loading, the buffer is reset to the contents provided by the
#GFile or #GInputStream, so the buffer is set as “unmodified”, that is,
gtk_text_buffer_set_modified() is called with %FALSE. If the contents isn't
saved somewhere (for example if you load from stdin), then you should
probably call gtk_text_buffer_set_modified() with %TRUE after calling
gtk_source_file_loader_load_finish().</doc>
    </docsection>
    <docsection name="filesaver">
      <doc xml:space="preserve"
           filename="gtksourcefilesaver.c"
           line="38">A #GtkSourceFileSaver object permits to save a #GtkSourceBuffer into a
#GFile.

A file saver should be used only for one save operation, including errors
handling. If an error occurs, you can reconfigure the saver and relaunch the
operation with gtk_source_file_saver_save_async().</doc>
    </docsection>
    <docsection name="gutter">
      <doc xml:space="preserve"
           filename="gtksourcegutter.c"
           line="33">The #GtkSourceGutter object represents the left or right gutter of the text
view. It is used by #GtkSourceView to draw the line numbers and
#GtkSourceMark&lt;!-- --&gt;s that might be present on a line. By packing
additional #GtkSourceGutterRenderer objects in the gutter, you can extend the
gutter with your own custom drawings.

To get a #GtkSourceGutter, use the gtk_source_view_get_gutter() function.

The gutter works very much the same way as cells rendered in a #GtkTreeView.
The concept is similar, with the exception that the gutter does not have an
underlying #GtkTreeModel. The builtin line number renderer is at position
#GTK_SOURCE_VIEW_GUTTER_POSITION_LINES (-30) and the marks renderer is at
#GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS (-20). The gutter sorts the renderers
in ascending order, from left to right. So the marks are displayed on the
right of the line numbers.</doc>
    </docsection>
    <docsection name="gutterrenderer">
      <doc xml:space="preserve"
           filename="gtksourcegutterrenderer.c"
           line="32">A #GtkSourceGutterRenderer represents a column in a #GtkSourceGutter. The
column contains one cell for each visible line of the #GtkTextBuffer. Due to
text wrapping, a cell can thus span multiple lines of the #GtkTextView. In
this case, #GtkSourceGutterRendererAlignmentMode controls the alignment of
the cell.

The gutter renderer must announce its #GtkSourceGutterRenderer:size. The
height is determined by the text view height. The width must be determined by
the gutter renderer. The width generally takes into account the entire text
buffer. For instance, to display the line numbers, if the buffer contains 100
lines, the gutter renderer will always set its width such as three digits can
be printed, even if only the first 20 lines are shown. Another strategy is to
take into account only the visible lines.  In this case, only two digits are
necessary to display the line numbers of the first 20 lines. To take another
example, the gutter renderer for #GtkSourceMark&lt;!-- --&gt;s doesn't need to take
into account the text buffer to announce its width. It only depends on the
icons size displayed in the gutter column.

An horizontal and vertical padding can be added with
gtk_source_gutter_renderer_set_padding().  The total width of a gutter
renderer is its size (#GtkSourceGutterRenderer:size) plus two times the
horizontal padding (#GtkSourceGutterRenderer:xpad).

When the available size to render a cell is greater than the required size to
render the cell contents, the cell contents can be aligned horizontally and
vertically with gtk_source_gutter_renderer_set_alignment().

The cells rendering occurs in three phases:
- begin: the gtk_source_gutter_renderer_begin() function is called when some
  cells need to be redrawn. It provides the associated region of the
  #GtkTextBuffer. The cells need to be redrawn when the #GtkTextView is
  scrolled, or when the state of the cells change (see
  #GtkSourceGutterRendererState).
- draw: gtk_source_gutter_renderer_draw() is called for each cell that needs
  to be drawn.
- end: finally, gtk_source_gutter_renderer_end() is called.</doc>
    </docsection>
    <docsection name="gutterrendererpixbuf">
      <doc xml:space="preserve"
           filename="gtksourcegutterrendererpixbuf.c"
           line="30">A #GtkSourceGutterRendererPixbuf can be used to render an image in a cell of
#GtkSourceGutter.</doc>
    </docsection>
    <docsection name="gutterrenderertext">
      <doc xml:space="preserve"
           filename="gtksourcegutterrenderertext.c"
           line="29">A #GtkSourceGutterRendererText can be used to render text in a cell of
#GtkSourceGutter.</doc>
    </docsection>
    <docsection name="language">
      <doc xml:space="preserve"
           filename="gtksourcelanguage.c"
           line="43">A #GtkSourceLanguage represents a programming or markup language, affecting
syntax highlighting and [context classes][context-classes].

Use #GtkSourceLanguageManager to obtain a #GtkSourceLanguage instance, and
gtk_source_buffer_set_language() to apply it to a #GtkSourceBuffer.</doc>
    </docsection>
    <docsection name="languagemanager">
      <doc xml:space="preserve"
           filename="gtksourcelanguagemanager.c"
           line="36">#GtkSourceLanguageManager is an object which processes language description
files and creates and stores #GtkSourceLanguage objects, and provides API to
access them.
Use gtk_source_language_manager_get_default() to retrieve the default
instance of #GtkSourceLanguageManager, and
gtk_source_language_manager_guess_language() to get a #GtkSourceLanguage for
given file name and content type.</doc>
    </docsection>
    <docsection name="map">
      <doc xml:space="preserve"
           filename="gtksourcemap.c"
           line="34">#GtkSourceMap is a widget that maps the content of a #GtkSourceView into
a smaller view so the user can have a quick overview of the whole document.

This works by connecting a #GtkSourceView to to the #GtkSourceMap using
the #GtkSourceMap:view property or gtk_source_map_set_view().

#GtkSourceMap is a #GtkSourceView object. This means that you can add a
#GtkSourceGutterRenderer to a gutter in the same way you would for a
#GtkSourceView. One example might be a #GtkSourceGutterRenderer that shows
which lines have changed in the document.

Additionally, it is desirable to match the font of the #GtkSourceMap and
the #GtkSourceView used for editing. Therefore, #GtkSourceMap:font-desc
should be used to set the target font. You will need to adjust this to the
desired font size for the map. A 1pt font generally seems to be an
appropriate font size. "Monospace 1" is the default. See
pango_font_description_set_size() for how to alter the size of an existing
#PangoFontDescription.</doc>
    </docsection>
    <docsection name="mark">
      <doc xml:space="preserve"
           filename="gtksourcemark.c"
           line="31">A #GtkSourceMark marks a position in the text where you want to display
additional info. It is based on #GtkTextMark and thus is still valid after
the text has changed though its position may change.

#GtkSourceMark&lt;!-- --&gt;s are organised in categories which you have to set
when you create the mark. Each category can have a priority, a pixbuf and
other associated attributes. See gtk_source_view_set_mark_attributes().
The pixbuf will be displayed in the margin at the line where the mark
residents if the #GtkSourceView:show-line-marks property is set to %TRUE. If
there are multiple marks in the same line, the pixbufs will be drawn on top
of each other. The mark with the highest priority will be drawn on top.</doc>
    </docsection>
    <docsection name="markattributes">
      <doc xml:space="preserve"
           filename="gtksourcemarkattributes.c"
           line="32">#GtkSourceMarkAttributes is an object specifying attributes used by
a #GtkSourceView to visually show lines marked with #GtkSourceMark&lt;!-- --&gt;s
of a specific category. It allows you to define a background color of a line,
an icon shown in gutter and tooltips.

The background color is used as a background of a line where a mark is placed
and it can be set with gtk_source_mark_attributes_set_background(). To check
if any custom background color was defined and what color it is, use
gtk_source_mark_attributes_get_background().

An icon is a graphic element which is shown in the gutter of a view. An
example use is showing a red filled circle in a debugger to show that a
breakpoint was set in certain line. To get an icon that will be placed in
a gutter, first a base for it must be specified and then
gtk_source_mark_attributes_render_icon() must be called.
There are several ways to specify a base for an icon:
&lt;itemizedlist&gt;
 &lt;listitem&gt;
  &lt;para&gt;
   gtk_source_mark_attributes_set_icon_name()
  &lt;/para&gt;
 &lt;/listitem&gt;
 &lt;listitem&gt;
  &lt;para&gt;
   gtk_source_mark_attributes_set_stock_id()
  &lt;/para&gt;
 &lt;/listitem&gt;
 &lt;listitem&gt;
  &lt;para&gt;
   gtk_source_mark_attributes_set_gicon()
  &lt;/para&gt;
 &lt;/listitem&gt;
 &lt;listitem&gt;
  &lt;para&gt;
   gtk_source_mark_attributes_set_pixbuf()
  &lt;/para&gt;
 &lt;/listitem&gt;
&lt;/itemizedlist&gt;
Using any of the above functions overrides the one used earlier. But note
that a getter counterpart of earlier used function can still return some
value, but it is just not used when rendering the proper icon.

To provide meaningful tooltips for a given mark of a category, you should
connect to #GtkSourceMarkAttributes::query-tooltip-text or
#GtkSourceMarkAttributes::query-tooltip-markup where the latter
takes precedence.</doc>
    </docsection>
    <docsection name="printcompositor">
      <doc xml:space="preserve"
           filename="gtksourceprintcompositor.c"
           line="39">The #GtkSourcePrintCompositor object is used to compose a #GtkSourceBuffer
for printing. You can set various configuration options to customize the
printed output. #GtkSourcePrintCompositor is designed to be used with the
high-level printing API of gtk+, i.e. #GtkPrintOperation.

The margins specified in this object are the layout margins: they define the
blank space bordering the printed area of the pages. They must not be
confused with the "print margins", i.e. the parts of the page that the
printer cannot print on, defined in the #GtkPageSetup objects. If the
specified layout margins are smaller than the "print margins", the latter
ones are used as a fallback by the #GtkSourcePrintCompositor object, so that
the printed area is not clipped.</doc>
    </docsection>
    <docsection name="region">
      <doc xml:space="preserve"
           filename="gtksourceregion.c"
           line="29">A #GtkSourceRegion permits to store a group of subregions of a
#GtkTextBuffer. #GtkSourceRegion stores the subregions with pairs of
#GtkTextMark's, so the region is still valid after insertions and deletions
in the #GtkTextBuffer.

The #GtkTextMark for the start of a subregion has a left gravity, while the
#GtkTextMark for the end of a subregion has a right gravity.

The typical use-case of #GtkSourceRegion is to scan a #GtkTextBuffer chunk by
chunk, not the whole buffer at once to not block the user interface. The
#GtkSourceRegion represents in that case the remaining region to scan. You
can listen to the #GtkTextBuffer::insert-text and
#GtkTextBuffer::delete-range signals to update the #GtkSourceRegion
accordingly.

To iterate through the subregions, you need to use a #GtkSourceRegionIter,
for example:
|[
GtkSourceRegion *region;
GtkSourceRegionIter region_iter;

gtk_source_region_get_start_region_iter (region, &amp;region_iter);

while (!gtk_source_region_iter_is_end (&amp;region_iter))
{
        GtkTextIter subregion_start;
        GtkTextIter subregion_end;

        if (!gtk_source_region_iter_get_subregion (&amp;region_iter,
                                                   &amp;subregion_start,
                                                   &amp;subregion_end))
        {
                break;
        }

        // Do something useful with the subregion.

        gtk_source_region_iter_next (&amp;region_iter);
}
]|</doc>
    </docsection>
    <docsection name="searchcontext">
      <doc xml:space="preserve"
           filename="gtksourcesearchcontext.c"
           line="41">A #GtkSourceSearchContext is used for the search and replace in a
#GtkSourceBuffer. The search settings are represented by a
#GtkSourceSearchSettings 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.

The total number of search occurrences can be retrieved with
gtk_source_search_context_get_occurrences_count(). To know the position of a
certain match, use gtk_source_search_context_get_occurrence_position().

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.

To search forward, use gtk_source_search_context_forward() or
gtk_source_search_context_forward_async() for the asynchronous version.
The backward search is done similarly. To replace a search match, or all
matches, use gtk_source_search_context_replace() and
gtk_source_search_context_replace_all().

The search occurrences are highlighted by default. To disable it, use
gtk_source_search_context_set_highlight(). You can enable the search
highlighting for several #GtkSourceSearchContext&lt;!-- --&gt;s attached to the
same buffer. Moreover, each of those #GtkSourceSearchContext&lt;!-- --&gt;s can
have a different text style associated. Use
gtk_source_search_context_set_match_style() to specify the #GtkSourceStyle
to apply on search matches.

Note that the #GtkSourceSearchContext:highlight and
#GtkSourceSearchContext:match-style properties are in the
#GtkSourceSearchContext class, not #GtkSourceSearchSettings. Appearance
settings should be tied to one, and only one buffer, as different buffers can
have different style scheme associated (a #GtkSourceSearchSettings object
can be bound indirectly to several buffers).

The concept of "current match" doesn't exist yet. A way to highlight
differently the current match is to select it.

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.)

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.</doc>
    </docsection>
    <docsection name="searchsettings">
      <doc xml:space="preserve"
           filename="gtksourcesearchsettings.c"
           line="29">A #GtkSourceSearchSettings object represents the settings of a search. The
search settings can be associated with one or several
#GtkSourceSearchContext&lt;!-- --&gt;s.</doc>
    </docsection>
    <docsection name="spacedrawer">
      <doc xml:space="preserve"
           filename="gtksourcespacedrawer.c"
           line="38">#GtkSourceSpaceDrawer provides a way to visualize white spaces, by drawing
symbols.

Call gtk_source_view_get_space_drawer() to get the #GtkSourceSpaceDrawer
instance of a certain #GtkSourceView.

By default, no white spaces are drawn because the
#GtkSourceSpaceDrawer:enable-matrix is %FALSE.

To draw white spaces, gtk_source_space_drawer_set_types_for_locations() can
be called to set the #GtkSourceSpaceDrawer:matrix property (by default all
space types are enabled at all locations). Then call
gtk_source_space_drawer_set_enable_matrix().

For a finer-grained method, there is also the GtkSourceTag's
#GtkSourceTag:draw-spaces property.

# Example

To draw non-breaking spaces everywhere and draw all types of trailing spaces
except newlines:
|[
gtk_source_space_drawer_set_types_for_locations (space_drawer,
                                                 GTK_SOURCE_SPACE_LOCATION_ALL,
                                                 GTK_SOURCE_SPACE_TYPE_NBSP);

gtk_source_space_drawer_set_types_for_locations (space_drawer,
                                                 GTK_SOURCE_SPACE_LOCATION_TRAILING,
                                                 GTK_SOURCE_SPACE_TYPE_ALL &amp;
                                                 ~GTK_SOURCE_SPACE_TYPE_NEWLINE);

gtk_source_space_drawer_set_enable_matrix (space_drawer, TRUE);
]|

# Use-case: draw unwanted white spaces

A possible use-case is to draw only unwanted white spaces. Examples:
- Draw all trailing spaces.
- If the indentation and alignment must be done with spaces, draw tabs.

And non-breaking spaces can always be drawn, everywhere, to distinguish them
from normal spaces.</doc>
    </docsection>
    <docsection name="style">
      <doc xml:space="preserve"
           filename="gtksourcestyle.c"
           line="30">The #GtkSourceStyle structure is used to describe text attributes
which are set when given style is used.</doc>
    </docsection>
    <docsection name="stylescheme">
      <doc xml:space="preserve"
           filename="gtksourcestylescheme.c"
           line="36">#GtkSourceStyleScheme contains all the text styles to be used in
#GtkSourceView and #GtkSourceBuffer. For instance, it contains text styles
for syntax highlighting, it may contain foreground and background color for
non-highlighted text, color for the line numbers, current line highlighting,
bracket matching, etc.

Style schemes are stored in XML files. The format of a scheme file is
documented in the [style scheme reference][style-reference].

The two style schemes with IDs "classic" and "tango" follow more closely the
GTK+ theme (for example for the background color).</doc>
    </docsection>
    <docsection name="styleschemechooser">
      <doc xml:space="preserve"
           filename="gtksourcestyleschemechooser.c"
           line="28">#GtkSourceStyleSchemeChooser is an interface that is implemented by widgets
for choosing style schemes.

In GtkSourceView, the main widgets that implement this interface are
#GtkSourceStyleSchemeChooserWidget and #GtkSourceStyleSchemeChooserButton.</doc>
    </docsection>
    <docsection name="styleschemechooserbutton">
      <doc xml:space="preserve"
           filename="gtksourcestyleschemechooserbutton.c"
           line="32">The #GtkSourceStyleSchemeChooserButton is a button which displays
the currently selected style scheme and allows to open a style scheme
selection dialog to change the style scheme.
It is suitable widget for selecting a style scheme in a preference dialog.

In #GtkSourceStyleSchemeChooserButton, a #GtkSourceStyleSchemeChooserWidget
is used to provide a dialog for selecting style schemes.</doc>
    </docsection>
    <docsection name="styleschemechooserwidget">
      <doc xml:space="preserve"
           filename="gtksourcestyleschemechooserwidget.c"
           line="35">The #GtkSourceStyleSchemeChooserWidget widget lets the user select a
style scheme. By default, the chooser presents a predefined list
of style schemes.

To change the initially selected style scheme,
use gtk_source_style_scheme_chooser_set_style_scheme().
To get the selected style scheme
use gtk_source_style_scheme_chooser_get_style_scheme().</doc>
    </docsection>
    <docsection name="styleschememanager">
      <doc xml:space="preserve"
           filename="gtksourcestyleschememanager.c"
           line="32">Object which provides access to #GtkSourceStyleScheme&lt;!-- --&gt;s.</doc>
    </docsection>
    <docsection name="tag">
      <doc xml:space="preserve"
           filename="gtksourcetag.c"
           line="30">#GtkSourceTag is a subclass of #GtkTextTag that adds properties useful for
the GtkSourceView library.

If, for a certain tag, #GtkTextTag is sufficient, it's better that you create
a #GtkTextTag, not a #GtkSourceTag.</doc>
    </docsection>
    <docsection name="undomanager">
      <doc xml:space="preserve"
           filename="gtksourceundomanager.c"
           line="35">For most uses it isn't needed to use #GtkSourceUndoManager. #GtkSourceBuffer
already provides an API and a default implementation for the undo/redo.

For specific needs, the #GtkSourceUndoManager interface can be implemented to
provide custom undo management. Use gtk_source_buffer_set_undo_manager() to
install a custom undo manager for a particular #GtkSourceBuffer.

Use gtk_source_undo_manager_can_undo_changed() and
gtk_source_undo_manager_can_redo_changed() when respectively the undo state
or redo state of the undo stack has changed.</doc>
    </docsection>
    <docsection name="utils">
      <doc xml:space="preserve"
           filename="gtksourceutils.c"
           line="27">Utilities functions.</doc>
    </docsection>
    <function name="utils_escape_search_text"
              c:identifier="gtk_source_utils_escape_search_text"
              version="3.10">
      <doc xml:space="preserve"
           filename="gtksourceutils.c"
           line="130">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().

&lt;warning&gt;
Warning: the escape and unescape functions are not reciprocal! For example,
escape (unescape (\)) = \\. So avoid cycles such as: search entry -&gt; unescape
-&gt; search settings -&gt; escape -&gt; search entry. The original search entry text
may be modified.
&lt;/warning&gt;</doc>
      <source-position filename="gtksourceutils.h" line="42"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gtksourceutils.c"
             line="151">the escaped @text.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceutils.c"
               line="132">the text to escape.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_unescape_search_text"
              c:identifier="gtk_source_utils_unescape_search_text"
              version="3.10">
      <doc xml:space="preserve"
           filename="gtksourceutils.c"
           line="38">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().</doc>
      <source-position filename="gtksourceutils.h" line="39"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gtksourceutils.c"
             line="51">the unescaped @text.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtksourceutils.c"
               line="40">the text to unescape.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="view">
      <doc xml:space="preserve"
           filename="gtksourceview.c"
           line="56">#GtkSourceView is the main class of the GtkSourceView library.
Use a #GtkSourceBuffer to display text with a #GtkSourceView.

This class provides:
 - Show the line numbers;
 - Show a right margin;
 - Highlight the current line;
 - Indentation settings;
 - Configuration for the Home and End keyboard keys;
 - Configure and show line marks;
 - And a few other things.

An easy way to test all these features is to use the test-widget mini-program
provided in the GtkSourceView repository, in the tests/ directory.

# GtkSourceView as GtkBuildable

The GtkSourceView implementation of the #GtkBuildable interface exposes the
#GtkSourceView:completion object with the internal-child "completion".

An example of a UI definition fragment with GtkSourceView:
|[
&lt;object class="GtkSourceView" id="source_view"&gt;
  &lt;property name="tab_width"&gt;4&lt;/property&gt;
  &lt;property name="auto_indent"&gt;True&lt;/property&gt;
  &lt;child internal-child="completion"&gt;
    &lt;object class="GtkSourceCompletion"&gt;
      &lt;property name="select_on_show"&gt;False&lt;/property&gt;
    &lt;/object&gt;
  &lt;/child&gt;
&lt;/object&gt;
]|</doc>
    </docsection>
  </namespace>
</repository>
