[gtksourceviewmm] Wrap GtkSourceMarkCategory and some stuff in other classes.



commit 21eaa16238f11ad6f71df458a5fd84d3e41ea410
Author: Krzesimir Nowak <qdlacz gmail com>
Date:   Tue Dec 21 20:55:11 2010 +0100

    Wrap GtkSourceMarkCategory and some stuff in other classes.
    
    * gtksourceview/src/sourcemarkcategory.hg:
    * gtksourceview/src/sourcemarkcategory.ccg: New class.
    * gtksourceview/src/filelist.am: Added it to build system.
    * gtksourceview/gtksourceviewmm/.gitignore: Ignore generated sources.
    * codegen/m4/convert_gtksourceview.m4: Added needed conversion.
    * gtksourceview/src/gtksourceview_docs.xml:
    * gtksourceview/src/gtksourceview_signals.defs:
    * gtksourceview/src/gtksourceview_vfuncs.defs: Regenerated as usual.
    Hopefully this is last commit with such great changes in docs.xml
    thanks to José Alburquerque for implementing my suggestion. It was
    a surprise for me.
    * gtksourceview/src/sourcegutter.hg: Wrapped missing properties.
    * gtksourceview/src/sourcegutterrenderer.hg: Wrapped new vfuncs.

 codegen/m4/convert_gtksourceview.m4          |    3 +
 gtksourceview/gtksourceviewmm/.gitignore     |    1 +
 gtksourceview/src/filelist.am                |    1 +
 gtksourceview/src/gtksourceview_docs.xml     | 6378 +++++++++++++-------------
 gtksourceview/src/gtksourceview_signals.defs |   18 -
 gtksourceview/src/gtksourceview_vfuncs.defs  |   17 +
 gtksourceview/src/sourcegutter.hg            |    2 +
 gtksourceview/src/sourcegutterrenderer.hg    |   51 +-
 gtksourceview/src/sourcemarkcategory.ccg     |   36 +
 gtksourceview/src/sourcemarkcategory.hg      |  129 +
 10 files changed, 3409 insertions(+), 3227 deletions(-)
---
diff --git a/codegen/m4/convert_gtksourceview.m4 b/codegen/m4/convert_gtksourceview.m4
index 62ad0a5..3deef2b 100644
--- a/codegen/m4/convert_gtksourceview.m4
+++ b/codegen/m4/convert_gtksourceview.m4
@@ -75,6 +75,9 @@ _CONVERSION(`GtkSourceLanguageManager*',`Glib::RefPtr<SourceLanguageManager>',`G
 _CONVERSION(`GtkSourceMark*',`Glib::RefPtr<SourceMark>',`Glib::wrap($3)')
 
 
+# Gsv::SourceMark -> GtkSourceMark
+_CONVERSION(`const Glib::RefPtr<SourceMark>&',`GtkSourceMark*',`Glib::unwrap($3)')
+
 # GtkSourceStyle -> Gsv::SourceStyle
 _CONVERSION(`GtkSourceStyle*',`Glib::RefPtr<SourceStyle>',`Glib::wrap($3)')
 
diff --git a/gtksourceview/gtksourceviewmm/.gitignore b/gtksourceview/gtksourceviewmm/.gitignore
index 9106f3b..ddb70fa 100644
--- a/gtksourceview/gtksourceviewmm/.gitignore
+++ b/gtksourceview/gtksourceviewmm/.gitignore
@@ -14,6 +14,7 @@
 /sourcelanguage.*
 /sourcelanguagemanager.*
 /sourcemark.*
+/sourcemarkcategory.*
 /sourceprintcompositor.*
 /sourcestyle.*
 /sourcestylescheme.*
diff --git a/gtksourceview/src/filelist.am b/gtksourceview/src/filelist.am
index 1dab839..e2ec0bf 100644
--- a/gtksourceview/src/filelist.am
+++ b/gtksourceview/src/filelist.am
@@ -25,6 +25,7 @@ files_hg =				\
 	sourcelanguage.hg		\
 	sourcelanguagemanager.hg	\
 	sourcemark.hg			\
+	sourcemarkcategory.hg		\
 	sourceprintcompositor.hg	\
 	sourcestyle.hg			\
 	sourcestylescheme.hg		\
diff --git a/gtksourceview/src/gtksourceview_docs.xml b/gtksourceview/src/gtksourceview_docs.xml
index a6c39a8..85956c0 100644
--- a/gtksourceview/src/gtksourceview_docs.xml
+++ b/gtksourceview/src/gtksourceview_docs.xml
@@ -1,354 +1,448 @@
 <root>
-<function name="gtk_source_print_compositor_set_top_margin">
+<function name="add_invalid">
 <description>
-Sets the top margin used by @compositor.
-
-Since: 2.2
+Inserts segment into the list of invalid segments.
+Called whenever new invalid segment is created or when
+a segment is marked invalid.
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="ce">
+<parameter_description> the engine.
 </parameter_description>
 </parameter>
-<parameter name="margin">
-<parameter_description> the new top margin in units of @unit
+<parameter name="segment">
+<parameter_description> segment.
 </parameter_description>
 </parameter>
-<parameter name="unit">
-<parameter_description> the units for @margin
+</parameters>
+<return></return>
+</function>
+
+<function name="all_analyzed">
+<description>
+
+</description>
+<parameters>
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether everything is analyzed (but it doesn't care about the tags).
+</return>
 </function>
 
-<function name="segment_ends_here">
+<function name="analyze_line">
 <description>
-Checks whether given segment ends at pos. Unlike
-child_starts_here() it doesn't modify tree, it merely
-calls regex_match() for the end regex.
+Finds contexts at the line and updates the syntax tree on it.
+
 
 </description>
 <parameters>
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
+</parameter_description>
+</parameter>
 <parameter name="state">
-<parameter_description> the segment.
+<parameter_description> the state at the beginning of line.
 </parameter_description>
 </parameter>
 <parameter name="line">
-<parameter_description> analyzed line.
+<parameter_description> the line.
 </parameter_description>
 </parameter>
-<parameter name="pos">
-<parameter_description> the position inside @line, bytes.
+<parameter name="hint">
+<parameter_description> a child of @state around start of line, to make it faster.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> starting state at the next line.
+</return>
 </function>
 
-<function name="gtk_source_completion_item_new">
+<function name="ancestor_context_ends_here">
 <description>
-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.
+Verifies if some ancestor context ends at the current position.
+This function only checks conetxts and does not modify the tree,
+it's used by ancestor_ends_here().
 
 
 </description>
 <parameters>
-<parameter name="label">
-<parameter_description> The item label.
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> The item text.
+<parameter name="state">
+<parameter_description> current context.
 </parameter_description>
 </parameter>
-<parameter name="icon">
-<parameter_description> The item icon.
+<parameter name="line">
+<parameter_description> the line to analyze.
 </parameter_description>
 </parameter>
-<parameter name="info">
-<parameter_description> The item extra information.
+<parameter name="line_pos">
+<parameter_description> the position inside @line, bytes.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceCompletionItem.
+<return> the ancestor context that terminates here or %NULL.
 </return>
 </function>
 
-<function name="gtk_source_language_get_metadata">
+<function name="ancestor_ends_here">
 <description>
+Verifies if some ancestor context ends at given position. If
+state changed and @new_state is not %NULL, then the new state is stored
+in @new_state, and descendants of @new_state are closed, so the
+terminating segment becomes current state.
+
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="state">
+<parameter_description> current state.
 </parameter_description>
 </parameter>
-<parameter name="name">
-<parameter_description> metadata property name.
+<parameter name="line">
+<parameter_description> the line to analyze.
+</parameter_description>
+</parameter>
+<parameter name="line_pos">
+<parameter_description> the position inside @line, bytes.
+</parameter_description>
+</parameter>
+<parameter name="new_state">
+<parameter_description> where to store the new state.
 </parameter_description>
 </parameter>
 </parameters>
-<return> value of property @name stored in the metadata of @language
-or %NULL if language doesn't contain that metadata property.
-The returned string is owned by @language and should not be freed
-or modified.
+<return> %TRUE if an ancestor ends at the given position.
 </return>
 </function>
 
-<function name="segment_destroy">
+<function name="apply_match">
 <description>
-Recursively frees given segment. It removes the segment
-from ce structure, but it doesn't update parent and
-siblings. segment_remove() is the function that takes
-care of everything.
+Moves @line_pos after the matched text. @line_pos is not
+updated and the function returns %FALSE if the match cannot be
+applied because an ancestor ends in the middle of the matched
+text.
+
+If the match can be applied the function applies the appropriate
+sub patterns.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
+<parameter name="state">
+<parameter_description> the current state of the parser.
 </parameter_description>
 </parameter>
-<parameter name="context">
-<parameter_description> the segment to destroy.
+<parameter name="line">
+<parameter_description> the line to analyze.
+</parameter_description>
+</parameter>
+<parameter name="line_pos">
+<parameter_description> position in the line, bytes.
+</parameter_description>
+</parameter>
+<parameter name="regex">
+<parameter_description> regex that matched.
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> kind of sub patterns to apply.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the match can be applied.
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_window_type">
+<function name="apply_sub_patterns">
 <description>
-Get the #GtkTextWindowType associated with the gutter renderer.
-
+Applies sub patterns of kind @where to the matched text.
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="contextstate">
+<parameter_description> a #Context.
+</parameter_description>
+</parameter>
+<parameter name="line_starts_at">
+<parameter_description> beginning offset of the line.
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> the line to analyze.
+</parameter_description>
+</parameter>
+<parameter name="line_pos">
+<parameter_description> the position inside @line.
+</parameter_description>
+</parameter>
+<parameter name="line_length">
+<parameter_description> the length of @line.
+</parameter_description>
+</parameter>
+<parameter name="regex">
+<parameter_description> regex that matched.
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> kind of sub patterns to apply.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GtkTextWindowType
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_alignment_mode">
+<function name="can_apply_match">
 <description>
-Get the alignment mode. The alignment mode describes the manner in which the
-renderer is aligned (see :xalign and :yalign).
+See apply_match(), this function is a helper function
+called from where, it doesn't modify syntax tree.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="state">
+<parameter_description> the current state of the parser.
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> the line to analyze.
+</parameter_description>
+</parameter>
+<parameter name="match_start">
+<parameter_description> start position of match, bytes.
+</parameter_description>
+</parameter>
+<parameter name="match_end">
+<parameter_description> where to put end of match, bytes.
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> kind of sub patterns to apply.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GtkSourceGutterRendererAlignmentMode
-
+<return> %TRUE if the match can be applied.
 </return>
 </function>
 
-<function name="gtk_source_undo_manager_undo">
+<function name="check_line_end">
 <description>
-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.
+Closes the contexts that cannot contain end of lines if needed.
+Updates hint if new state is different from @state.
 
-Since: 2.10
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter name="state">
+<parameter_description> current state.
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> child of @state used in analyze_line() and next_segment().
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the new state.
+</return>
 </function>
 
-<function name="gtk_source_buffer_remove_source_marks">
+<function name="child_starts_here">
 <description>
-Remove all marks of @category between @start and @end from the buffer.
-If @category is NULL, all marks in the range will be removed.
+Verifies if a context of the type in @curr_definition starts at
+ line_pos in @line. If the contexts start here @new_state and
+ line_pos are updated.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="ce">
+<parameter_description> the engine.
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> a #GtkTextIter.
+<parameter name="state">
+<parameter_description> current state.
 </parameter_description>
 </parameter>
-<parameter name="end">
-<parameter_description> a #GtkTextIter.
+<parameter name="child_def">
+<parameter_description> the child.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> category to search for, or %NULL.
+<parameter name="line">
+<parameter_description> line to analyze.
+</parameter_description>
+</parameter>
+<parameter name="line_pos">
+<parameter_description> the position inside @line, bytes.
+</parameter_description>
+</parameter>
+<parameter name="new_state">
+<parameter_description> where to store the new state.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the context starts here.
+</return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_new">
+<function name="container_context_starts_here">
 <description>
-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.
-
+See child_starts_here().
 
 </description>
 <parameters>
 </parameters>
-<return> a new #GtkSourceStyleSchemeManager.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_buffer_end_not_undoable_action">
+<function name="context_freeze">
 <description>
-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.
+Recursively increments reference count in context and its children,
+and marks them, so context_thaw is able to correctly decrement
+reference count.
+This function is for update_syntax: we want to preserve existing
+contexts when possible, and update_syntax erases contexts from
+reanalyzed lines; so to avoid destructing and recreating contexts
+every time, we need to increment reference count on existing contexts,
+and decrement it when we are done with analysis, so no more needed
+contexts go away. Keeping a list of referenced contexts is painful
+or slow, so we just reference all contexts present at the moment.
+
+Note this is not reentrant, context_freeze()/context_thaw() pair is called
+only from update_syntax().
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="context">
+<parameter_description> the context.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_buffer_get_max_undo_levels">
+<function name="context_is_pure_container">
 <description>
-Determines the number of undo levels the buffer will track for
-buffer edits.
-
+Checks whether context is a container with no start regex.
+References to such contexts are implicitly translated to
+wildcard references (context_id:*).
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="def">
+<parameter_description> context definition.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the maximum number of possible undo levels or
--1 if no limit is set.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_provider_update_info">
+<function name="context_thaw">
 <description>
-Update extra information shown in @info for @proposal. This should be
-implemented if your provider sets a custom info widget for @proposal.
-This function MUST be implemented when 
-#gtk_source_completion_provider_get_info_widget is implemented.
+Recursively decrements reference count in context and its children,
+if it was incremented by context_freeze().
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
-</parameter_description>
-</parameter>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
-</parameter_description>
-</parameter>
-<parameter name="info">
-<parameter_description> a #GtkSourceCompletionInfo.
+<parameter name="context">
+<parameter_description> the context.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_provider_populate">
+<function name="context_unref">
 <description>
-Populate @context with proposals from @provider.
+Decreases reference count and removes @context
+from the tree when it drops to zero.
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
-</parameter_description>
-</parameter>
 <parameter name="context">
-<parameter_description> a #GtkSourceCompletionContext.
+<parameter_description> the context.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_background">
+<function name="create_reg_all">
 <description>
-Get the background color of the renderer.
+Creates regular expression for all possible transitions: it
+combines terminating regex, terminating regexes of parent
+contexts if those can terminate this one, and start regexes
+of child contexts.
+
+It takes as an argument actual context or a context definition. In
+case when context end depends on start (\%{foo start} references),
+it must use the context, definition is not enough. If there are no
+those references, then the reg_all is created right in the definition
+when no contexts exist yet. This is why this function has its funny
+arguments.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="context">
+<parameter_description> context.
 </parameter_description>
 </parameter>
-<parameter name="color">
-<parameter_description> return value for a #GdkRGBA
+<parameter name="definition">
+<parameter_description> context definition.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the background color is set, %FALSE otherwise
-
+<return> resulting regex or %NULL when pcre failed to compile the regex.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_set_print_header">
+<function name="create_segment">
 <description>
-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.    
+Creates a new segment and inserts it into the tree.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="ce">
+<parameter_description> the engine.
 </parameter_description>
 </parameter>
-<parameter name="print">
-<parameter_description> %TRUE if you want the header to be printed.
+<parameter name="parent">
+<parameter_description> parent segment (%NULL for the root segment).
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> context for this segment (%NULL for invalid segments).
+</parameter_description>
+</parameter>
+<parameter name="start_at">
+<parameter_description> start offset, characters.
+</parameter_description>
+</parameter>
+<parameter name="end_at">
+<parameter_description> end offset, characters.
+</parameter_description>
+</parameter>
+<parameter name="is_start">
+<parameter_description> is_start flag.
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> a segment somewhere near new one, to omtimize search.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> newly created segment.
+</return>
 </function>
 
-<function name="ensure_highlighted">
+<function name="delete_range_">
 <description>
-Updates text tags in reanalyzed parts of given area.
-It applies tags according to whatever is in the syntax
-tree currently, so highlighting may not be correct
-(gtk_source_context_engine_update_highlight is the method
-that actually ensures correct highlighting).
+Updates segment tree after deletion: removes segments at deleted
+interval, updates tree offsets, etc.
+It's called only from update_tree().
 
 </description>
 <parameters>
@@ -357,40 +451,36 @@ that actually ensures correct highlighting).
 </parameter_description>
 </parameter>
 <parameter name="start">
-<parameter_description> the beginning of the region to highlight.
+<parameter_description> the start of deleted area.
 </parameter_description>
 </parameter>
 <parameter name="end">
-<parameter_description> the end of the region to highlight.
+<parameter_description> the end of deleted area.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_buffer_new_with_language">
+<function name="destroy_tags_hash">
 <description>
-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().
-
+Destroys syntax tags cache.
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new source buffer which will highlight text
-according to the highlighting patterns in @language.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_context_engine_attach_buffer">
+<function name="disable_highlighting">
 <description>
-Detaches engine from previous buffer, and attaches to @buffer if
-it's not %NULL.
+Dsiables highlighting in case of errors (currently if highlighting
+a single line took too long, so that highlighting doesn't freeze
+text editor).
 
 </description>
 <parameters>
@@ -398,134 +488,193 @@ it's not %NULL.
 <parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="buffer">
-<parameter_description> buffer.
+</parameters>
+<return></return>
+</function>
+
+<function name="enable_highlight">
+<description>
+Whether to highlight (i.e. apply tags) analyzed area.
+Note that this does not turn on/off the analyzis stuff,
+it affects only text tags.
+
+</description>
+<parameters>
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
+</parameter_description>
+</parameter>
+<parameter name="enable">
+<parameter_description> whether to enable highlighting.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_header_font_name">
+<function name="ensure_highlighted">
 <description>
-Returns the name of the font used to print the page header. 
-The returned string must be freed with g_free().
-
-Since: 2.2
+Updates text tags in reanalyzed parts of given area.
+It applies tags according to whatever is in the syntax
+tree currently, so highlighting may not be correct
+(gtk_source_context_engine_update_highlight is the method
+that actually ensures correct highlighting).
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> the beginning of the region to highlight.
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> the end of the region to highlight.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new string containing the name of the font used to print 
-the page header.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_set_auto_indent">
+<function name="erase_segments">
 <description>
-If %TRUE auto indentation of text is enabled.
+Erases all non-toplevel segments in the interval
+[ start, @end]. Its action on the tree is roughly
+equivalent to segment_erase_range_(ce-&gt;priv-&gt;root_segment, start, end)
+(but that does not accept toplevel segment).
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="enable">
-<parameter_description> whether to enable auto indentation.
+<parameter name="start">
+<parameter_description> start offset of region to erase, characters.
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end offset of region to erase, characters.
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> segment around @start to make it faster.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="fix_offset_delete_one_">
+<function name="find_insertion_place">
 <description>
+After text is inserted, a new invalid segment is created and inserted
+into the tree. This function finds an appropriate position for the new
+segment. To make it faster, it uses hint and calls
+find_insertion_place_forward_ or find_insertion_place_backward_ depending
+on position of offset relative to hint.
+There is no return value, it always succeeds (or crashes).
 
 </description>
 <parameters>
+<parameter name="segment">
+<parameter_description> (grand)parent segment the new one should be inserted into.
+</parameter_description>
+</parameter>
 <parameter name="offset">
-<parameter_description> segment.
+<parameter_description> offset at which text is inserted.
 </parameter_description>
 </parameter>
 <parameter name="start">
-<parameter_description> start of deleted text.
+<parameter_description> segment from which to start search (to avoid
+walking whole tree).
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description> length of deleted text.
+<parameter name="parent">
+<parameter_description> initialized with the parent of new segment.
+</parameter_description>
+</parameter>
+<parameter name="prev">
+<parameter_description> initialized with the previous sibling of new segment.
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> a segment somewhere near insertion place to optimize search.
 </parameter_description>
 </parameter>
 </parameters>
-<return> new offset depending on location of @offset
-relative to deleted text.
-Called only from fix_offsets_delete_().
-</return>
+<return></return>
 </function>
 
-<function name="ancestor_ends_here">
+<function name="find_insertion_place_backward_">
 <description>
-Verifies if some ancestor context ends at given position. If
-state changed and @new_state is not %NULL, then the new state is stored
-in @new_state, and descendants of @new_state are closed, so the
-terminating segment becomes current state.
-
+Auxiliary function used in find_insertion_place().
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> current state.
+<parameter name="segment">
+<parameter_description> (grand)parent segment the new one should be inserted into.
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description> the line to analyze.
+<parameter name="offset">
+<parameter_description> offset at which text is inserted.
 </parameter_description>
 </parameter>
-<parameter name="line_pos">
-<parameter_description> the position inside @line, bytes.
+<parameter name="start">
+<parameter_description> segment from which to start search (to avoid
+walking whole tree).
 </parameter_description>
 </parameter>
-<parameter name="new_state">
-<parameter_description> where to store the new state.
+<parameter name="parent">
+<parameter_description> initialized with the parent of new segment.
+</parameter_description>
+</parameter>
+<parameter name="prev">
+<parameter_description> initialized with the previous sibling of new segment.
+</parameter_description>
+</parameter>
+<parameter name="next">
+<parameter_description> initialized with the next sibling of new segment.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if an ancestor ends at the given position.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_mark_new">
+<function name="find_insertion_place_forward_">
 <description>
-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_mark().
-
-Since: 2.2
+Auxiliary function used in find_insertion_place().
 
 </description>
 <parameters>
-<parameter name="name">
-<parameter_description> Name of the #GtkSourceMark, can be NULL when not using a name
+<parameter name="segment">
+<parameter_description> (grand)parent segment the new one should be inserted into.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> is used to classify marks according to common characteristics
-(e.g. all the marks representing a bookmark could belong to the &quot;bookmark&quot; 
-category, or all the marks representing a compilation error could belong to 
-&quot;error&quot; category).
+<parameter name="offset">
+<parameter_description> offset at which text is inserted.
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> segment from which to start search (to avoid
+walking whole tree).
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> initialized with the parent of new segment.
+</parameter_description>
+</parameter>
+<parameter name="prev">
+<parameter_description> initialized with the previous sibling of new segment.
+</parameter_description>
+</parameter>
+<parameter name="next">
+<parameter_description> initialized with the next sibling of new segment.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceMark that can be added using gtk_text_buffer_add_mark().
-
-</return>
+<return></return>
 </function>
 
 <function name="find_segment_position">
@@ -564,27 +713,26 @@ parent-&gt;children list.
 <return></return>
 </function>
 
-<function name="gtk_source_undo_manager_redo">
+<function name="find_single_byte_escape">
 <description>
-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.
-
-Since: 2.10
+Checks whether pattern contains \C escape sequence,
+which means &quot;single byte&quot; in pcre and naturally leads
+to crash if used for highlighting.
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter name="string">
+<parameter_description> the pattern.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="update_tree">
+<function name="first_update_callback">
 <description>
-Modifies syntax tree according to data in invalid_region.
+Same as idle_worker, except: it runs once, and install idle_worker
+if not everything was analyzed at once.
 
 </description>
 <parameters>
@@ -596,134 +744,157 @@ Modifies syntax tree according to data in invalid_region.
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_query_activatable">
+<function name="fix_offset_delete_one_">
 <description>
-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.
-
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter at the start of the line to be activated
+<parameter name="offset">
+<parameter_description> segment.
 </parameter_description>
 </parameter>
-<parameter name="area">
-<parameter_description> a #GdkRectangle of the cell area to be activated
+<parameter name="start">
+<parameter_description> start of deleted text.
 </parameter_description>
 </parameter>
-<parameter name="event">
-<parameter_description> the event that triggered the query
+<parameter name="length">
+<parameter_description> length of deleted text.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the renderer can be activated, %FALSE otherwise
-
+<return> new offset depending on location of @offset
+relative to deleted text.
+Called only from fix_offsets_delete_().
 </return>
 </function>
 
-<function name="gtk_source_buffer_new">
+<function name="fix_offsets_delete_">
 <description>
-Creates a new source buffer.
-
+Recursively updates offsets after deleting text. To be called
+only from delete_range_().
 
 </description>
 <parameters>
-<parameter name="table">
-<parameter_description> a #GtkTextTagTable, or %NULL to create a new one.
+<parameter name="segment">
+<parameter_description> segment.
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start offset.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of deleted text.
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> some segment somewhere near deleted text to optimize search.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new source buffer.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_context_engine_update_highlight">
+<function name="fix_offsets_insert_">
 <description>
-GtkSourceEngine::update_highlight method.
-
-Makes sure the area is analyzed and highlighted. If @synchronous
-is %FALSE, then it queues idle worker.
+Recursively updates offsets after inserting text. To be called
+only from insert_range().
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="segment">
+<parameter_description> segment.
 </parameter_description>
 </parameter>
 <parameter name="start">
-<parameter_description> start of area to update.
-</parameter_description>
-</parameter>
-<parameter name="end">
-<parameter_description> start of area to update.
+<parameter_description> start offset.
 </parameter_description>
 </parameter>
-<parameter name="synchronous">
-<parameter_description> whether it should block until everything
-is analyzed/highlighted.
+<parameter name="delta">
+<parameter_description> length of inserted text.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_style_copy">
+<function name="get_invalid_at">
 <description>
-Creates a copy of @style, that is a new #GtkSourceStyle instance which
-has the same attributes set.
+Finds invalid segment adjacent to offset (i.e. such that start &lt;= offset &lt;= end),
+if any.
 
-Since: 2.0
 
 </description>
 <parameters>
-<parameter name="style">
-<parameter_description> a #GtkSourceStyle structure to copy.
+<parameter name="ce">
+<parameter_description> the engine.
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset.
 </parameter_description>
 </parameter>
 </parameters>
-<return> copy of @style, call g_object_unref()
-when you are done with it.
-
+<return> invalid segment or %NULL.
 </return>
 </function>
 
-<function name="destroy_tags_hash">
+<function name="get_invalid_line">
 <description>
-Destroys syntax tags cache.
 
 </description>
 <parameters>
 <parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> first invalid line, or -1.
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_pixbuf_get_gicon">
+<function name="get_invalid_segment">
 <description>
-Get the gicon of the renderer
-
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRendererPixbuf
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GIcon
-
+<return> first invalid segment, or %NULL.
 </return>
 </function>
 
+<function name="get_line_info">
+<description>
+Retrieves line text from the buffer, finds line terminator and fills
+ line structure.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> #GtkTextBuffer.
+</parameter_description>
+</parameter>
+<parameter name="line_start">
+<parameter_description> iterator pointing to the beginning of line.
+</parameter_description>
+</parameter>
+<parameter name="line_end">
+<parameter_description> iterator pointing to the beginning of next line or to the end
+of this line if it's the last line in @buffer.
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> #LineInfo structure to be filled.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="get_segment_at_offset">
 <description>
 Finds the deepest segment &quot;at @offset&quot;.
@@ -751,56 +922,104 @@ segments, it returns the first one.
 <return></return>
 </function>
 
-<function name="first_update_callback">
+<function name="gtk_source_buffer_backward_iter_to_source_mark">
 <description>
-Same as idle_worker, except: it runs once, and install idle_worker
-if not everything was analyzed at once.
+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.
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> an iterator.
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> category to search for, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether @iter was moved.
+
+</return>
 </function>
 
-<function name="gtk_source_completion_item_new_with_markup">
+<function name="gtk_source_buffer_begin_not_undoable_action">
 <description>
-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.
+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.
 
 </description>
 <parameters>
-<parameter name="markup">
-<parameter_description> The item markup label.
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> The item text.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="icon">
-<parameter_description> The item icon.
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_source_buffer_can_redo">
+<description>
+Determines whether a source buffer can redo the last action
+(i.e. if the last operation was an undo).
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="info">
-<parameter_description> The item extra information.
+</parameters>
+<return> %TRUE if a redo is possible.
+</return>
+</function>
+
+<function name="gtk_source_buffer_can_undo">
+<description>
+Determines whether a source buffer can undo the last action.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceCompletionItem.
+<return> %TRUE if it's possible to undo the last action.
 </return>
 </function>
 
-<function name="gtk_source_buffer_iter_has_context_class">
+<function name="gtk_source_buffer_create_source_mark">
 <description>
-Check if the class @context_klass is set on @iter.
+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.
 
-Since: 2.10
+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..
+
+Since: 2.2
 
 </description>
 <parameters>
@@ -808,83 +1027,104 @@ Since: 2.10
 <parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="name">
+<parameter_description> the name of the mark, or %NULL.
 </parameter_description>
 </parameter>
-<parameter name="context_class">
-<parameter_description> class to search for.
+<parameter name="category">
+<parameter_description> a string defining the mark category.
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> location to place the mark.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new #GtkSourceMark, owned by the buffer.
+
+</return>
 </function>
 
-<function name="gtk_source_view_get_completion">
+<function name="gtk_source_buffer_end_not_undoable_action">
 <description>
-Gets the #GtkSourceCompletion associated with @view.
-
+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.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return>
-the #GtkSourceCompletion associated with @view.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_context_engine_set_style_scheme">
+<function name="gtk_source_buffer_ensure_highlight">
 <description>
-GtkSourceEngine::set_style_scheme method.
-Sets current style scheme, updates tag styles and everything.
+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;
 
 </description>
 <parameters>
-<parameter name="engine">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="scheme">
-<parameter_description> #GtkSourceStyleScheme to set.
+<parameter name="start">
+<parameter_description> start of the area to highlight.
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end of the area to highlight.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_set_search_path">
+<function name="gtk_source_buffer_forward_iter_to_source_mark">
 <description>
-Sets the list of directories where the @manager looks for
-style scheme files.
-If @path is %NULL, the search path is reset to default.
+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.
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceStyleSchemeManager.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="path">
-<parameter_description>
-a %NULL-terminated array of strings or %NULL.
+<parameter name="iter">
+<parameter_description> an iterator.
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> category to search for, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether @iter was moved.
+
+</return>
 </function>
 
-<function name="gtk_source_buffer_set_highlight_matching_brackets">
+<function name="gtk_source_buffer_get_context_classes_at_iter">
 <description>
-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.  You can specify the
-style with the gtk_source_buffer_set_bracket_match_style()
-function.
+Get all defined context classes at @iter.
+
+Since: 2.10
 
 </description>
 <parameters>
@@ -892,284 +1132,409 @@ function.
 <parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="highlight">
-<parameter_description> %TRUE if you want matching brackets highlighted.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new %NULL
+terminated array of context class names.
+Use g_strfreev() to free the array if it is no longer needed.
+
+</return>
 </function>
 
-<function name="gtk_source_undo_manager_can_redo_changed">
+<function name="gtk_source_buffer_get_highlight_matching_brackets">
 <description>
-Emits the #GtkSourceUndoManager::can-redo-changed signal.
+Determines whether bracket match highlighting is activated for the
+source buffer.
 
-Since: 2.10
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the source buffer will highlight matching
+brackets.
+</return>
 </function>
 
-<function name="get_invalid_segment">
+<function name="gtk_source_buffer_get_highlight_syntax">
 <description>
+Determines whether syntax highlighting is activated in the source
+buffer.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return> first invalid segment, or %NULL.
+<return> %TRUE if syntax highlighting is enabled, %FALSE otherwise.
 </return>
 </function>
 
-<function name="gtk_source_view_get_show_line_numbers">
+<function name="gtk_source_buffer_get_language">
 <description>
-Returns whether line numbers are displayed beside the text.
+Returns the #GtkSourceLanguage associated with the buffer,
+see gtk_source_buffer_set_language().  The returned object should not be
+unreferenced by the user.
 
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the line numbers are displayed.
+<return> the #GtkSourceLanguage associated with the buffer, or %NULL.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_set_footer_font_name">
+<function name="gtk_source_buffer_get_max_undo_levels">
 <description>
-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.  
+Determines the number of undo levels the buffer will track for
+buffer edits.
 
- font_name should be a
-string representation of a font description Pango can understand.
-(e.g. &quot;Monospace 10&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.    
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the maximum number of possible undo levels or
+-1 if no limit is set.
+</return>
+</function>
+
+<function name="gtk_source_buffer_get_source_marks_at_iter">
+<description>
+Returns the list of marks of the given category at @iter. If @category
+is %NULL it returns all marks at @iter.
 
 Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="font_name">
-<parameter_description> the name of the font for the footer text, or %NULL.
+<parameter name="iter">
+<parameter_description> an iterator.
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> category to search for, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return>
+a newly allocated #GSList.
+
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_set_background">
+<function name="gtk_source_buffer_get_source_marks_at_line">
 <description>
-Set the background color of the renderer. If @color is set to %NULL, the
-renderer will not have a background color.
+Returns the list of marks of the given category at @line.
+If @category is NULL, all marks at @line are returned.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="color">
-<parameter_description> a #GdkRGBA or %NULL
+<parameter name="line">
+<parameter_description> a line number.
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> category to search for, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return>
+a newly allocated #GSList.
+
+</return>
 </function>
 
-<function name="find_insertion_place">
+<function name="gtk_source_buffer_get_style_scheme">
 <description>
-After text is inserted, a new invalid segment is created and inserted
-into the tree. This function finds an appropriate position for the new
-segment. To make it faster, it uses hint and calls
-find_insertion_place_forward_ or find_insertion_place_backward_ depending
-on position of offset relative to hint.
-There is no return value, it always succeeds (or crashes).
+Returns the #GtkSourceStyleScheme associated with the buffer,
+see gtk_source_buffer_set_style_scheme().
+The returned object should not be unreferenced by the user.
+
 
 </description>
 <parameters>
-<parameter name="segment">
-<parameter_description> (grand)parent segment the new one should be inserted into.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="offset">
-<parameter_description> offset at which text is inserted.
+</parameters>
+<return> the #GtkSourceStyleScheme associated
+with the buffer, or %NULL.
+</return>
+</function>
+
+<function name="gtk_source_buffer_get_undo_manager">
+<description>
+Returns the #GtkSourceUndoManager associated with the buffer,
+see gtk_source_buffer_set_undo_manager().  The returned object should not be
+unreferenced by the user.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> segment from which to start search (to avoid
-walking whole tree).
+</parameters>
+<return> the #GtkSourceUndoManager associated with the buffer, or %NULL.
+</return>
+</function>
+
+<function name="gtk_source_buffer_iter_backward_to_context_class_toggle">
+<description>
+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.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="parent">
-<parameter_description> initialized with the parent of new segment.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
-<parameter name="prev">
-<parameter_description> initialized with the previous sibling of new segment.
+<parameter name="context_class">
+<parameter_description> the context class.
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> a segment somewhere near insertion place to optimize search.
+</parameters>
+<return> whether we found a context class toggle before @iter
+
+</return>
+</function>
+
+<function name="gtk_source_buffer_iter_forward_to_context_class_toggle">
+<description>
+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.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
+</parameter_description>
+</parameter>
+<parameter name="context_class">
+<parameter_description> the context class.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether we found a context class toggle after @iter
+
+</return>
 </function>
 
-<function name="context_thaw">
+<function name="gtk_source_buffer_iter_has_context_class">
 <description>
-Recursively decrements reference count in context and its children,
-if it was incremented by context_freeze().
+Check if the class @context_klass is set on @iter.
+
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> the context.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
+</parameter_description>
+</parameter>
+<parameter name="context_class">
+<parameter_description> class to search for.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="delete_range_">
+<function name="gtk_source_buffer_new">
 <description>
-Updates segment tree after deletion: removes segments at deleted
-interval, updates tree offsets, etc.
-It's called only from update_tree().
+Creates a new source buffer.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="table">
+<parameter_description> a #GtkTextTagTable, or %NULL to create a new one.
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> the start of deleted area.
+</parameters>
+<return> a new source buffer.
+</return>
+</function>
+
+<function name="gtk_source_buffer_new_with_language">
+<description>
+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().
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
-<parameter name="end">
-<parameter_description> the end of deleted area.
+</parameters>
+<return> a new source buffer which will highlight text
+according to the highlighting patterns in @language.
+</return>
+</function>
+
+<function name="gtk_source_buffer_redo">
+<description>
+Redoes the last undo operation.  Use gtk_source_buffer_can_redo()
+to check whether a call to this function will have any effect.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="highlight_region">
+<function name="gtk_source_buffer_remove_source_marks">
 <description>
-Highlights the specified region.
+Remove all marks of @category between @start and @end from the buffer.
+If @category is NULL, all marks in the range will be removed.
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 <parameter name="start">
-<parameter_description> the beginning of the region to highlight.
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
 <parameter name="end">
-<parameter_description> the end of the region to highlight.
+<parameter_description> a #GtkTextIter.
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> category to search for, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_style_scheme_get_description">
+<function name="gtk_source_buffer_set_highlight_matching_brackets">
 <description>
-Since: 2.0
+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.  You can specify the
+style with the gtk_source_buffer_set_bracket_match_style()
+function.
 
 </description>
 <parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+<parameter name="highlight">
+<parameter_description> %TRUE if you want matching brackets highlighted.
 </parameter_description>
 </parameter>
 </parameters>
-<return> @scheme description (if defined), or %NULL.
-
-</return>
+<return></return>
 </function>
 
-<function name="line_info_destroy">
+<function name="gtk_source_buffer_set_highlight_syntax">
 <description>
-Destroys data allocated by get_line_info().
+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 language 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.
 
 </description>
 <parameters>
-<parameter name="line">
-<parameter_description> #LineInfo.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+<parameter name="highlight">
+<parameter_description> %TRUE to enable syntax highlighting, %FALSE to disable it.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_header_format">
+<function name="gtk_source_buffer_set_language">
 <description>
-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.
-All strftime() codes are accepted, with the addition of %N for the
-page number and %Q for 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.    
+Associate a #GtkSourceLanguage with the buffer. If @language is
+not-%NULL and syntax highlighting is enabled (see gtk_source_buffer_set_highlight_syntax()),
+the syntax patterns defined in @language will be used to highlight the text
+contained in the buffer. If @language is %NULL, the text contained in the
+buffer is not highlighted.
 
-Since: 2.2
+The buffer holds a reference to @language.
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="separator">
-<parameter_description> %TRUE if you want a separator line to be printed.
-</parameter_description>
-</parameter>
-<parameter name="left">
-<parameter_description> a format string to print on the left of the header.
-</parameter_description>
-</parameter>
-<parameter name="center">
-<parameter_description> a format string to print on the center of the header.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="right">
-<parameter_description> a format string to print on the right of the header.
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage to set, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
@@ -1205,670 +1570,666 @@ But, inserting a newline does start a new action.
 <return></return>
 </function>
 
-<function name="segment_merge">
+<function name="gtk_source_buffer_set_style_scheme">
 <description>
-Merges adjacent segments @first and @second given
-their contexts are equal.
+Sets style scheme used by the buffer. If @scheme is %NULL no
+style scheme is used.
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="first">
-<parameter_description> first segment.
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme or %NULL.
 </parameter_description>
 </parameter>
-<parameter name="second">
-<parameter_description> second segment.
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_source_buffer_set_undo_manager">
+<description>
+Set the buffer undo manager. If @manager is %NULL the default undo manager
+will be set.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
+</parameter_description>
+</parameter>
+<parameter name="manager">
+<parameter_description> A #GtkSourceUndoManager or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_hide">
+<function name="gtk_source_buffer_undo">
 <description>
-Hides the completion if it is active (visible).
+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.
+
+Actions are defined as groups of operations between a call to
+gtk_text_buffer_begin_user_action() and
+gtk_text_buffer_end_user_action(), or sequences of similar edits
+(inserts or deletes) on the same line.
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="erase_segments">
+<function name="gtk_source_completion_add_provider">
 <description>
-Erases all non-toplevel segments in the interval
-[ start, @end]. Its action on the tree is roughly
-equivalent to segment_erase_range_(ce-&gt;priv-&gt;root_segment, start, end)
-(but that does not accept toplevel segment).
+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.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> start offset of region to erase, characters.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
-<parameter name="end">
-<parameter_description> end offset of region to erase, characters.
+<parameter name="error">
+<parameter_description> a #GError.
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> segment around @start to make it faster.
+</parameters>
+<return> %TRUE if @provider was successfully added, otherwise if @error
+is provided, it will be set with the error and %FALSE is returned.
+</return>
+</function>
+
+<function name="gtk_source_completion_block_interactive">
+<description>
+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.
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_info_move_to_iter">
+<function name="gtk_source_completion_context_add_proposals">
 <description>
-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.
+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).
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #GtkSourceCompletionInfo.
+<parameter name="context">
+<parameter_description> a #GtkSourceCompletionContext.
 </parameter_description>
 </parameter>
-<parameter name="view">
-<parameter_description> a #GtkTextView on which the info window should be positioned.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="proposals">
+<parameter_description> The list of proposals to add.
+</parameter_description>
+</parameter>
+<parameter name="finished">
+<parameter_description> Whether the provider is finished adding proposals.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_n_pages">
+<function name="gtk_source_completion_context_get_activation">
 <description>
-Returns the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the 
-document has not been completely paginated.
+Get the context activation.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="context">
+<parameter_description> a #GtkSourceCompletionContext.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the 
-document has not been completely paginated.
-
+<return> The context activation.
 </return>
 </function>
 
-<function name="gtk_source_language_get_style_ids">
+<function name="gtk_source_completion_context_get_iter">
 <description>
-Returns the ids of the styles defined by this @language.
-
+Get the iter at which the completion was invoked. Providers can use this
+to determine how and if to match proposals.
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="context">
+<parameter_description> a #GtkSourceCompletionContext.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a  %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().
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_get_insert_spaces_instead_of_tabs">
+<function name="gtk_source_completion_create_context">
 <description>
-Returns whether when inserting a tabulator character it should
-be replaced by a group of space characters.
+Create a new #GtkSourceCompletionContext for @completion. The position at
+which the completion using the new context will consider completion can
+be provider by @position. If @position is %NULL, the current cursor
+position will be used.
 
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> a #GtkTextIter, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if spaces are inserted instead of tabs.
+<return> 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.
 </return>
 </function>
 
-<function name="gtk_source_buffer_get_context_classes_at_iter">
+<function name="gtk_source_completion_get_info_window">
 <description>
-Get all defined context classes at @iter.
+The info widget is the window where the completion displays optional extra
+information of the proposal.
 
-Since: 2.10
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new %NULL
-terminated array of context class names.
-Use g_strfreev() to free the array if it is no longer needed.
-
+<return> The #GtkSourceCompletionInfo window
+associated with @completion.
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_set_alignment_mode">
+<function name="gtk_source_completion_get_providers">
 <description>
-Set the alignment mode. The alignment mode describes the manner in which the
-renderer is aligned (see :xalign and :yalign).
+Get list of providers registered on @completion. The returned list is owned
+by the completion and should not be freed.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
-</parameter_description>
-</parameter>
-<parameter name="mode">
-<parameter_description> a #GtkSourceGutterRendererAlignmentMode
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return>
+list of #GtkSourceCompletionProvider.
+</return>
 </function>
 
-<function name="gtk_source_print_compositor_set_print_footer">
+<function name="gtk_source_completion_get_view">
 <description>
-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.    
+The #GtkSourceView associated with @completion.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
-<parameter name="print">
-<parameter_description> %TRUE if you want the footer to be printed.
+</parameters>
+<return>
+The #GtkSourceView associated with @completion.
+</return>
+</function>
+
+<function name="gtk_source_completion_hide">
+<description>
+Hides the completion if it is active (visible).
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="segment_make_invalid_">
+<function name="gtk_source_completion_info_get_widget">
 <description>
-Invalidates segment. Called only from insert_range().
+Get the current content widget.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="segment">
-<parameter_description> segment to invalidate.
+<parameter name="info">
+<parameter_description> a #GtkSourceCompletionInfo.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> The current content widget.
+</return>
 </function>
 
-<function name="fix_offsets_insert_">
+<function name="gtk_source_completion_info_move_to_iter">
 <description>
-Recursively updates offsets after inserting text. To be called
-only from insert_range().
+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.
 
 </description>
 <parameters>
-<parameter name="segment">
-<parameter_description> segment.
+<parameter name="info">
+<parameter_description> a #GtkSourceCompletionInfo.
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> start offset.
+<parameter name="view">
+<parameter_description> a #GtkTextView on which the info window should be positioned.
 </parameter_description>
 </parameter>
-<parameter name="delta">
-<parameter_description> length of inserted text.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="segment_add_subpattern">
+<function name="gtk_source_completion_info_new">
 <description>
-Prepends subpattern to subpatterns list in the segment.
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> the segment.
-</parameter_description>
-</parameter>
-<parameter name="sp">
-<parameter_description> subpattern.
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> a new GtkSourceCompletionInfo.
+</return>
 </function>
 
-<function name="segment_remove">
+<function name="gtk_source_completion_info_set_widget">
 <description>
-Removes the segment from syntax tree and frees it.
-It correctly updates parent's children list, not
-like segment_destroy() where caller has to take care
-of tree integrity.
+Sets the content widget of the info window. If @widget does not fit within
+the size requirements of the window, a #GtkScrolledWindow will automatically
+be created and added to the window.
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSoucreContextEngine.
+<parameter name="info">
+<parameter_description> a #GtkSourceCompletionInfo.
 </parameter_description>
 </parameter>
-<parameter name="segment">
-<parameter_description> segment to remove.
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="next_segment">
+<function name="gtk_source_completion_item_new">
 <description>
-Verifies if a context starts or ends in @line at @line_pos of after it.
-If the contexts starts or ends here @new_state and @line_pos are updated.
+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.
 
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
-</parameter_description>
-</parameter>
-<parameter name="state">
-<parameter_description> current state.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> analyzed line.
+<parameter name="label">
+<parameter_description> The item label.
 </parameter_description>
 </parameter>
-<parameter name="line_pos">
-<parameter_description> position inside @line, bytes.
+<parameter name="text">
+<parameter_description> The item text.
 </parameter_description>
 </parameter>
-<parameter name="new_state">
-<parameter_description> where to store the new state.
+<parameter name="icon">
+<parameter_description> The item icon.
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> child of @state used to optimize tree operations.
+<parameter name="info">
+<parameter_description> The item extra information.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE is there are no more contexts in @line.
+<return> a new #GtkSourceCompletionItem.
 </return>
 </function>
 
-<function name="gtk_source_completion_proposal_get_label">
+<function name="gtk_source_completion_item_new_from_stock">
 <description>
-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().
+Creates a new #GtkSourceCompletionItem from a stock item. If @label is %NULL, 
+the stock label will be used.
 
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="label">
+<parameter_description> The item label.
 </parameter_description>
 </parameter>
-</parameters>
-<return> a new string containing the label of @proposal.
-</return>
-</function>
-
-<function name="gtk_source_gutter_renderer_set_padding">
-<description>
-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).
-
-
-</description>
-<parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="text">
+<parameter_description> The item text.
 </parameter_description>
 </parameter>
-<parameter name="xpad">
-<parameter_description> the x-padding
+<parameter name="stock">
+<parameter_description> The stock icon.
 </parameter_description>
 </parameter>
-<parameter name="ypad">
-<parameter_description> the y-padding
+<parameter name="info">
+<parameter_description> The item extra information.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new #GtkSourceCompletionItem.
+</return>
 </function>
 
-<function name="gtk_source_completion_utils_get_word_iter">
+<function name="gtk_source_completion_item_new_with_markup">
 <description>
+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.
+
 
 </description>
 <parameters>
-<parameter name="source_buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="markup">
+<parameter_description> The item markup label.
 </parameter_description>
 </parameter>
-<parameter name="start_word">
-<parameter_description> if != NULL then assign it the start position of the word
+<parameter name="text">
+<parameter_description> The item text.
 </parameter_description>
 </parameter>
-<parameter name="end_word">
-<parameter_description> if != NULL then assing it the end position of the word
+<parameter name="icon">
+<parameter_description> The item icon.
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> The item extra information.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the current word.
+<return> a new #GtkSourceCompletionItem.
 </return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_prepend_search_path">
+<function name="gtk_source_completion_move_window">
 <description>
-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.
+Move the completion window to a specific iter.
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceStyleSchemeManager.
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
-<parameter name="path">
-<parameter_description> a directory or a filename.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_mark_get_category">
+<function name="gtk_source_completion_new">
 <description>
-Returns the mark category.
+Creates a new #GtkSourceCompletion associated with @view.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="mark">
-<parameter_description> a #GtkSourceMark.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the category of the #GtkSourceMark.
-
+<return> a new #GtkSourceCompletion.
 </return>
 </function>
 
-<function name="install_first_update">
+<function name="gtk_source_completion_proposal_changed">
 <description>
-Schedules first_update_callback call.
-Always safe to call.
+Emits the &quot;changed&quot; signal on @proposal. This should be called by
+implementations whenever the name, icon or info of the proposal has
+changed.
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_body_font_name">
+<function name="gtk_source_completion_proposal_equal">
 <description>
-Sets the default font for the printed text. 
-
- font_name should be a
-string representation of a font description Pango can understand.
-(e.g. &quot;Monospace 10&quot;). See pango_font_description_from_string()
-for a description of the format of the string representation. 
+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).
 
-This function cannot be called anymore after the first call to the 
-gtk_source_print_compositor_paginate() function.   
-
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
-<parameter name="font_name">
-<parameter_description> the name of the default font for the body text.
+<parameter name="other">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if @proposal and @object are the same proposal
+</return>
 </function>
 
-<function name="gtk_source_print_compositor_set_header_font_name">
+<function name="gtk_source_completion_proposal_get_icon">
 <description>
-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. &quot;Monospace 10&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.    
+Gets the icon of @proposal.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="font_name">
-<parameter_description> the name of the font for header text, or %NULL.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> The icon of @proposal.
+</return>
 </function>
 
-<function name="gtk_source_completion_words_unregister">
+<function name="gtk_source_completion_proposal_get_info">
 <description>
-Unregisters @buffer from teh @words provider.
+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().
+
 
 </description>
 <parameters>
-<parameter name="words">
-<parameter_description> a #GtkSourceCompletionWords
-</parameter_description>
-</parameter>
-<parameter name="buffer">
-<parameter_description> a #GtkTextBuffer
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new string containing extra information of @proposal or %NULL if
+no extra information is associated to @proposal.
+</return>
 </function>
 
-<function name="gtk_source_undo_manager_can_undo">
+<function name="gtk_source_completion_proposal_get_label">
 <description>
-Get whether there are undo operations available.
+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().
 
-Since: 2.10
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if there are undo operations available, %FALSE otherwise
-
+<return> a new string containing the label of @proposal.
 </return>
 </function>
 
-<function name="gtk_source_buffer_get_undo_manager">
+<function name="gtk_source_completion_proposal_get_markup">
 <description>
-Returns the #GtkSourceUndoManager associated with the buffer,
-see gtk_source_buffer_set_undo_manager().  The returned object should not be
-unreferenced by the user.
+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().
 
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkSourceUndoManager associated with the buffer, or %NULL.
+<return> a new string containing the label of @proposal with markup.
 </return>
 </function>
 
-<function name="segment_tree_zero_len">
+<function name="gtk_source_completion_proposal_get_text">
 <description>
-Erases syntax tree and sets root segment length to zero.
-It's a shortcut for case when all the text is deleted from
-the buffer.
+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. The returned string must be freed with g_free().
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSoucreContextEngine.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new string containing the text of @proposal.
+</return>
 </function>
 
-<function name="gtk_source_completion_new">
+<function name="gtk_source_completion_proposal_hash">
 <description>
-Creates a new #GtkSourceCompletion associated with @view.
+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).
 
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceCompletion.
+<return> The hash value of @proposal.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_set_footer_format">
+<function name="gtk_source_completion_provider_activate_proposal">
 <description>
-Sets strftime like header format strings, to be printed on the
-left, center and right of the bottom of each page. The strings may
-include strftime(3) codes which will be expanded at print time.
-All strftime() codes are accepted, with the addition of %N for the
-page number and %Q for the page count.
-
- separator specifies if a solid line should be drawn to separate
-the footer from the document text.
-
-If %NULL is given for any of the three arguments, that particular
-string will not be printed.
-
-For the footer to be printed, in
-addition to specifying format strings, you need to enable footer
-printing with gtk_source_print_compositor_set_print_footer().
-
-This function cannot be called anymore after the first call to the 
-gtk_source_print_compositor_paginate() function.    
+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 label of @proposal.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="separator">
-<parameter_description> %TRUE if you want a separator line to be printed.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
-<parameter name="left">
-<parameter_description> a format string to print on the left of the footer.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
-<parameter name="center">
-<parameter_description> a format string to print on the center of the footer.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
-<parameter name="right">
-<parameter_description> a format string to print on the right of the footer.
+</parameters>
+<return> %TRUE to indicate that the proposal activation has been handled,
+%FALSE otherwise.
+</return>
+</function>
+
+<function name="gtk_source_completion_provider_get_activation">
+<description>
+Get with what kind of activation the provider should be activated.
+
+
+</description>
+<parameters>
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a combination of #GtkSourceCompletionActivation.
+</return>
 </function>
 
-<function name="gtk_source_gutter_queue_draw">
+<function name="gtk_source_completion_provider_get_icon">
 <description>
-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.
+Get the icon of the provider.
 
-Since: 2.8
 
 </description>
 <parameters>
-<parameter name="gutter">
-<parameter_description> a #GtkSourceGutter.
+<parameter name="provider">
+<parameter_description> The #GtkSourceCompletionProvider
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> The icon to be used for the provider,
+or %NULL if the provider does not have a special icon.
+</return>
 </function>
 
 <function name="gtk_source_completion_provider_get_info_widget">
@@ -1899,570 +2260,609 @@ information about @proposal.
 </return>
 </function>
 
-<function name="gtk_source_completion_utils_replace_current_word">
+<function name="gtk_source_completion_provider_get_interactive_delay">
 <description>
-Replaces the current word in the #GtkSourceBuffer with the new word.
+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 #GtkSourceCompletion::auto-complete-delay.
+
 
 </description>
 <parameters>
-<parameter name="source_buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> The text to be inserted instead of the current word.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the interactive delay in milliseconds.
+</return>
 </function>
 
-<function name="gtk_source_language_get_section">
+<function name="gtk_source_completion_provider_get_name">
 <description>
-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.
+Get the name of the provider. This should be a translatable name for
+display to the user. For example: _(&quot;Document word completion provider&quot;). The
+returned string must be freed with g_free().
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the section of @language.
+<return> a new string containing the name of the provider.
 </return>
 </function>
 
-<function name="gtk_source_buffer_redo">
+<function name="gtk_source_completion_provider_get_priority">
 <description>
-Redoes the last undo operation.  Use gtk_source_buffer_can_redo()
-to check whether a call to this function will have any effect.
+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.
+
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the provider priority.
+</return>
 </function>
 
-<function name="gtk_source_buffer_ensure_highlight">
+<function name="gtk_source_completion_provider_get_start_iter">
 <description>
-Forces buffer to analyze and highlight the given area synchronously.
+Get the #GtkTextIter at which the completion for @proposal starts. When
+implemented, the completion can use this information to position the
+completion window accordingly when a proposal is selected in the completion
+window.
 
-&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;
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> start of the area to highlight.
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
 </parameter_description>
 </parameter>
-<parameter name="end">
-<parameter_description> end of the area to highlight.
+<parameter name="context">
+<parameter_description> a #GtkSourceCompletionContext.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if @iter was set for @proposal, %FALSE otherwise.
+</return>
 </function>
 
-<function name="gtk_source_buffer_backward_iter_to_source_mark">
+<function name="gtk_source_completion_provider_match">
 <description>
-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.
+Get whether the provider match the context of completion detailed in
+ context 
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> an iterator.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> category to search for, or %NULL
+<parameter name="context">
+<parameter_description> a #GtkSourceCompletionContext.
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether @iter was moved.
-
+<return> %TRUE if @provider matches the completion context, %FALSE otherwise.
 </return>
 </function>
 
-<function name="gtk_source_view_set_indent_width">
+<function name="gtk_source_completion_provider_populate">
 <description>
-Sets the number of spaces to use for each step of indent.
-If @width is -1, the value of the GtkSourceView::tab-width property
-will be used.
+Populate @context with proposals from @provider.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> indent width in characters.
+<parameter name="context">
+<parameter_description> a #GtkSourceCompletionContext.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="simple_context_starts_here">
+<function name="gtk_source_completion_provider_update_info">
 <description>
-See child_starts_here().
+Update extra information shown in @info for @proposal. This should be
+implemented if your provider sets a custom info widget for @proposal.
+This function MUST be implemented when 
+#gtk_source_completion_provider_get_info_widget is implemented.
 
 </description>
 <parameters>
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
+</parameter_description>
+</parameter>
+<parameter name="proposal">
+<parameter_description> a #GtkSourceCompletionProposal.
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> a #GtkSourceCompletionInfo.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_set_size">
+<function name="gtk_source_completion_remove_provider">
 <description>
-Sets the size of the renderer. A value of -1 specifies that the size
-is to be determined dynamically.
+Remove @provider from the completion.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
 </parameter_description>
 </parameter>
-<parameter name="size">
-<parameter_description> the size
+<parameter name="provider">
+<parameter_description> a #GtkSourceCompletionProvider.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if @provider was successfully removed, otherwise if @error
+is provided, it will be set with the error and %FALSE is returned.
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_view">
+<function name="gtk_source_completion_show">
 <description>
-Get the view associated to the gutter renderer
+Starts a new completion with the specified #GtkSourceCompletionContext and
+a list of potential candidate providers for completion.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
+</parameter_description>
+</parameter>
+<parameter name="providers">
+<parameter_description>
+a list of #GtkSourceCompletionProvider, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> The #GtkSourceCompletionContext
+with which to start the completion.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GtkTextView
-
+<return> %TRUE if it was possible to the show completion window.
 </return>
 </function>
 
-<function name="gtk_source_view_get_smart_home_end">
+<function name="gtk_source_completion_unblock_interactive">
 <description>
-Returns a #GtkSourceSmartHomeEndType end value specifying
-how the cursor will move when HOME and END keys are pressed.
+Unblock interactive completion. This can be used after using
+#gtk_source_completion_block_interactive to enable interactive completion
+again.
 
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkSourceCompletion.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_source_completion_utils_get_pos_at_cursor">
+<description>
 
 </description>
 <parameters>
+<parameter name="window">
+<parameter_description> the #GtkWindow to move.
+</parameter_description>
+</parameter>
 <parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter_description> the #GtkSoureView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GtkSourceSmartHomeEndTypeend value.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_buffer_undo">
+<function name="gtk_source_completion_utils_get_word">
 <description>
-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.
-
-Actions are defined as groups of operations between a call to
-gtk_text_buffer_begin_user_action() and
-gtk_text_buffer_end_user_action(), or sequences of similar edits
-(inserts or deletes) on the same line.
 
 </description>
 <parameters>
-<parameter name="buffer">
+<parameter name="source_buffer">
 <parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the current word.
+</return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_get_scheme">
+<function name="gtk_source_completion_utils_get_word_iter">
 <description>
-Looks up style scheme by id.
-
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceStyleSchemeManager.
+<parameter name="source_buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="scheme_id">
-<parameter_description> style scheme id to find.
+<parameter name="start_word">
+<parameter_description> if != NULL then assign it the start position of the word
+</parameter_description>
+</parameter>
+<parameter name="end_word">
+<parameter_description> if != NULL then assing it the end position of the word
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GtkSourceStyleScheme object. Returned value is owned by
- manager and must not be unref'ed.
+<return> the current word.
 </return>
 </function>
 
-<function name="get_invalid_at">
+<function name="gtk_source_completion_utils_is_separator">
 <description>
-Finds invalid segment adjacent to offset (i.e. such that start &lt;= offset &lt;= end),
-if any.
+A separator is a character like (, an space etc. An _ is not a separator
 
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> the offset.
+<parameter name="ch">
+<parameter_description> the character to check.
 </parameter_description>
 </parameter>
 </parameters>
-<return> invalid segment or %NULL.
+<return> %TRUE if @ch is a separator.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_set_right_margin">
+<function name="gtk_source_completion_utils_move_to_iter">
 <description>
-Sets the right margin used by @compositor.
-
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="window">
+<parameter_description> the #GtkWindow to move.
 </parameter_description>
 </parameter>
-<parameter name="margin">
-<parameter_description> the new right margin in units of @unit.
+<parameter name="view">
+<parameter_description> the #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="unit">
-<parameter_description> the units for @margin.
+<parameter name="iter">
+<parameter_description> the iter to move @window to.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_set_show_right_margin">
+<function name="gtk_source_completion_utils_replace_current_word">
 <description>
-If %TRUE a right margin is displayed.
+Replaces the current word in the #GtkSourceBuffer with the new word.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="source_buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
-<parameter name="show">
-<parameter_description> whether to show a right margin.
+<parameter name="text">
+<parameter_description> The text to be inserted instead of the current word.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="find_insertion_place_backward_">
+<function name="gtk_source_completion_words_new">
 <description>
-Auxiliary function used in find_insertion_place().
 
 </description>
 <parameters>
-<parameter name="segment">
-<parameter_description> (grand)parent segment the new one should be inserted into.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset at which text is inserted.
-</parameter_description>
-</parameter>
-<parameter name="start">
-<parameter_description> segment from which to start search (to avoid
-walking whole tree).
+<parameter name="name">
+<parameter_description> The name for the provider
 </parameter_description>
 </parameter>
-<parameter name="parent">
-<parameter_description> initialized with the parent of new segment.
+<parameter name="icon">
+<parameter_description> A specific icon for the provider
 </parameter_description>
 </parameter>
-<parameter name="prev">
-<parameter_description> initialized with the previous sibling of new segment.
+</parameters>
+<return> a new #GtkSourceCompletionWords provider
+</return>
+</function>
+
+<function name="gtk_source_completion_words_register">
+<description>
+Registers @buffer in the @words provider.
+
+</description>
+<parameters>
+<parameter name="words">
+<parameter_description> a #GtkSourceCompletionWords
 </parameter_description>
 </parameter>
-<parameter name="next">
-<parameter_description> initialized with the next sibling of new segment.
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_new_from_view">
+<function name="gtk_source_completion_words_unregister">
 <description>
-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.
-
-Since: 2.2
+Unregisters @buffer from teh @words provider.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView to get configuration from.
+<parameter name="words">
+<parameter_description> a #GtkSourceCompletionWords
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new print compositor object.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_get_view">
+<function name="gtk_source_context_engine_attach_buffer">
 <description>
-The #GtkSourceView associated with @completion.
-
+Detaches engine from previous buffer, and attaches to @buffer if
+it's not %NULL.
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> buffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return>
-The #GtkSourceView associated with @completion.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_language_manager_set_search_path">
+<function name="gtk_source_context_engine_set_style_scheme">
 <description>
-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;
+GtkSourceEngine::set_style_scheme method.
+Sets current style scheme, updates tag styles and everything.
 
 </description>
 <parameters>
-<parameter name="lm">
-<parameter_description> a #GtkSourceLanguageManager.
+<parameter name="engine">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="dirs">
-<parameter_description>
-a %NULL-terminated array of strings or %NULL.
+<parameter name="scheme">
+<parameter_description> #GtkSourceStyleScheme to set.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_set_show_line_numbers">
+<function name="gtk_source_context_engine_text_deleted">
 <description>
-If %TRUE line numbers will be displayed beside the text.
+Called from GtkTextBuffer::delete_range.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="show">
-<parameter_description> whether line numbers should be displayed.
+<parameter name="offset">
+<parameter_description> the start of deleted text.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length (in characters) of deleted text.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_context_get_iter">
+<function name="gtk_source_context_engine_text_inserted">
 <description>
-Get the iter at which the completion was invoked. Providers can use this
-to determine how and if to match proposals.
+Called from GtkTextBuffer::insert_text.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GtkSourceCompletionContext.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="start_offset">
+<parameter_description> the start of inserted text.
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the end of inserted text.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="can_apply_match">
+<function name="gtk_source_context_engine_update_highlight">
 <description>
-See apply_match(), this function is a helper function
-called from where, it doesn't modify syntax tree.
+GtkSourceEngine::update_highlight method.
 
+Makes sure the area is analyzed and highlighted. If @synchronous
+is %FALSE, then it queues idle worker.
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> the current state of the parser.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> the line to analyze.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="match_start">
-<parameter_description> start position of match, bytes.
+<parameter name="start">
+<parameter_description> start of area to update.
 </parameter_description>
 </parameter>
-<parameter name="match_end">
-<parameter_description> where to put end of match, bytes.
+<parameter name="end">
+<parameter_description> start of area to update.
 </parameter_description>
 </parameter>
-<parameter name="where">
-<parameter_description> kind of sub patterns to apply.
+<parameter name="synchronous">
+<parameter_description> whether it should block until everything
+is analyzed/highlighted.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the match can be applied.
-</return>
-</function>
-
-<function name="container_context_starts_here">
-<description>
-See child_starts_here().
-
-</description>
-<parameters>
-</parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_style_scheme_get_authors">
+<function name="gtk_source_gutter_get_window">
 <description>
-Since: 2.0
+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.
+
+Since: 2.8
 
 </description>
 <parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
+<parameter name="gutter">
+<parameter_description> a #GtkSourceGutter.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a %NULL-terminated
-array containing the @scheme authors or %NULL if no author
-is specified by the style scheme.
+<return> the #GdkWindow of the gutter, or %NULL
+if the gutter has no window.
 
 </return>
 </function>
 
-<function name="segment_erase_range_">
+<function name="gtk_source_gutter_insert">
 <description>
-Recurisvely removes segments from [ start, @end] interval
-starting from @segment. If @segment belongs to the range,
-or it's a zero-length segment at @end offset, and it's not
-the toplevel segment, then it's removed from the tree.
-If @segment intersects with the range (unless it's the toplevel
-segment), then its ends are adjusted appropriately, and it's
-split into two if it completely contains the range.
+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.
+
+Since: 3.0
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="gutter">
+<parameter_description> a #GtkSourceGutter.
 </parameter_description>
 </parameter>
-<parameter name="segment">
-<parameter_description> the segment.
+<parameter name="renderer">
+<parameter_description> a gutter renderer (must inherit from #GtkSourceGutterRenderer).
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> start offset of range to erase, characters.
+<parameter name="position">
+<parameter_description> the renderer position.
 </parameter_description>
 </parameter>
-<parameter name="end">
-<parameter_description> end offset of range to erase, characters.
+</parameters>
+<return> %TRUE if operation succeeded. Otherwise %FALSE.
+
+</return>
+</function>
+
+<function name="gtk_source_gutter_queue_draw">
+<description>
+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.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="gutter">
+<parameter_description> a #GtkSourceGutter.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="sub_pattern_free">
+<function name="gtk_source_gutter_remove">
 <description>
-Calls g_free on subpattern, was useful for debugging.
+Removes @renderer from @gutter.
+
+Since: 2.8
 
 </description>
 <parameters>
-<parameter name="sp">
-<parameter_description> subppatern.
+<parameter name="gutter">
+<parameter_description> a #GtkSourceGutter.
+</parameter_description>
+</parameter>
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_proposal_get_icon">
+<function name="gtk_source_gutter_renderer_activate">
 <description>
-Gets the icon of @proposal.
+Emits the ::activate signal of the renderer. This is called from
+#GtkSourceGutter and should never have to be called manually.
 
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter at the start of the line where the renderer is activated
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> a #GdkRectangle of the cell area where the renderer is activated
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the event that triggered the activation
 </parameter_description>
 </parameter>
 </parameters>
-<return> The icon of @proposal.
-</return>
+<return></return>
 </function>
 
 <function name="gtk_source_gutter_renderer_begin">
@@ -2502,476 +2902,296 @@ some state before the ::draw method is called for each cell.
 <return></return>
 </function>
 
-<function name="gtk_source_completion_provider_get_name">
+<function name="gtk_source_gutter_renderer_draw">
 <description>
-Get the name of the provider. This should be a translatable name for
-display to the user. For example: _(&quot;Document word completion provider&quot;). The
-returned string must be freed with g_free().
+Main renderering method. Implementations should implement this method to
+draw onto the cairo context. The @background_area indicates total area of
+the cell (without padding or margin) to be drawn. The @cell_area indicates
+the area where content can be drawn (text, images, etc).
+
+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.
 
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-</parameters>
-<return> a new string containing the name of the provider.
-</return>
-</function>
-
-<function name="gtk_source_view_get_gutter">
-<description>
-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 gutter corresponding to
-GTK_TEXT_WINDOW_LEFT.
-
-Since: 2.8
-
-
-</description>
-<parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="cr">
+<parameter_description> the cairo render context
 </parameter_description>
 </parameter>
-<parameter name="window_type">
-<parameter_description> the gutter window type.
+<parameter name="background_area">
+<parameter_description> a #GdkRectangle indicating the total area to be drawn
 </parameter_description>
 </parameter>
-</parameters>
-<return> the #GtkSourceGutter.
-</return>
-</function>
-
-<function name="gtk_source_completion_info_get_widget">
-<description>
-Get the current content widget.
-
-
-</description>
-<parameters>
-<parameter name="info">
-<parameter_description> a #GtkSourceCompletionInfo.
+<parameter name="cell_area">
+<parameter_description> a #GdkRectangle indicating the area to draw content
 </parameter_description>
 </parameter>
-</parameters>
-<return> The current content widget.
-</return>
-</function>
-
-<function name="gtk_source_completion_words_register">
-<description>
-Registers @buffer in the @words provider.
-
-</description>
-<parameters>
-<parameter name="words">
-<parameter_description> a #GtkSourceCompletionWords
+<parameter name="start">
+<parameter_description> a #GtkTextIter
 </parameter_description>
 </parameter>
-<parameter name="buffer">
-<parameter_description> a #GtkTextBuffer
+<parameter name="end">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> a #GtkSourceGutterRendererState
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_buffer_can_redo">
+<function name="gtk_source_gutter_renderer_end">
 <description>
-Determines whether a source buffer can redo the last action
-(i.e. if the last operation was an undo).
+Called when drawing a region of lines has ended.
 
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if a redo is possible.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_append_search_path">
+<function name="gtk_source_gutter_renderer_get_alignment">
 <description>
-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.
+Get the x-alignment and y-alignment of the gutter renderer.
+
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceStyleSchemeManager.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="path">
-<parameter_description> a directory or a filename.
+<parameter name="xalign">
+<parameter_description> return location for the x-alignment (can be %NULL)
 </parameter_description>
 </parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_source_style_scheme_get_id">
-<description>
-Since: 2.0
-
-</description>
-<parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
+<parameter name="yalign">
+<parameter_description> return location for the y-alignment (can be %NULL)
 </parameter_description>
 </parameter>
 </parameters>
-<return> @scheme id.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_proposal_hash">
+<function name="gtk_source_gutter_renderer_get_alignment_mode">
 <description>
-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).
+Get the alignment mode. The alignment mode describes the manner in which the
+renderer is aligned (see :xalign and :yalign).
 
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> The hash value of @proposal.
+<return> a #GtkSourceGutterRendererAlignmentMode
+
 </return>
 </function>
 
-<function name="gtk_source_mark_prev">
+<function name="gtk_source_gutter_renderer_get_background">
 <description>
-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.
+Get the background color of the renderer.
 
-If @category is %NULL, looks for marks of any category
-
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="mark">
-<parameter_description> a #GtkSourceMark.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> a string specifying the mark category, or %NULL.
+<parameter name="color">
+<parameter_description> return value for a #GdkRGBA
 </parameter_description>
 </parameter>
 </parameters>
-<return> the previous #GtkSourceMark, or %NULL.
+<return> %TRUE if the background color is set, %FALSE otherwise
 
 </return>
 </function>
 
-<function name="apply_sub_patterns">
+<function name="gtk_source_gutter_renderer_get_padding">
 <description>
-Applies sub patterns of kind @where to the matched text.
+Get the x-padding and y-padding of the gutter renderer.
+
 
 </description>
 <parameters>
-<parameter name="contextstate">
-<parameter_description> a #Context.
-</parameter_description>
-</parameter>
-<parameter name="line_starts_at">
-<parameter_description> beginning offset of the line.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> the line to analyze.
-</parameter_description>
-</parameter>
-<parameter name="line_pos">
-<parameter_description> the position inside @line.
-</parameter_description>
-</parameter>
-<parameter name="line_length">
-<parameter_description> the length of @line.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="regex">
-<parameter_description> regex that matched.
+<parameter name="xpad">
+<parameter_description> return location for the x-padding (can be %NULL)
 </parameter_description>
 </parameter>
-<parameter name="where">
-<parameter_description> kind of sub patterns to apply.
+<parameter name="ypad">
+<parameter_description> return location for the y-padding (can be %NULL)
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_print_header">
+<function name="gtk_source_gutter_renderer_get_size">
 <description>
-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().
+Get the size of the renderer.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the header is set to be printed.
+<return> the size of the renderer.
 
 </return>
 </function>
 
-<function name="gtk_source_undo_manager_can_redo">
+<function name="gtk_source_gutter_renderer_get_view">
 <description>
-Get whether there are redo operations available.
+Get the view associated to the gutter renderer
 
-Since: 2.10
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if there are redo operations available, %FALSE otherwise
+<return> a #GtkTextView
 
 </return>
 </function>
 
-<function name="gtk_source_completion_item_new_from_stock">
+<function name="gtk_source_gutter_renderer_get_visible">
 <description>
-Creates a new #GtkSourceCompletionItem from a stock item. If @label is %NULL, 
-the stock label will be used.
+Get whether the gutter renderer is visible.
 
 
 </description>
 <parameters>
-<parameter name="label">
-<parameter_description> The item label.
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> The item text.
-</parameter_description>
-</parameter>
-<parameter name="stock">
-<parameter_description> The stock icon.
-</parameter_description>
-</parameter>
-<parameter name="info">
-<parameter_description> The item extra information.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceCompletionItem.
+<return> %TRUE if the renderer is visible, %FALSE otherwise
+
 </return>
 </function>
 
-<function name="add_invalid">
+<function name="gtk_source_gutter_renderer_get_window_type">
 <description>
-Inserts segment into the list of invalid segments.
-Called whenever new invalid segment is created or when
-a segment is marked invalid.
+Get the #GtkTextWindowType associated with the gutter renderer.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="segment">
-<parameter_description> segment.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
-
-<function name="gtk_source_language_manager_get_default">
-<description>
-Returns the default #GtkSourceLanguageManager instance.
-
+<return> a #GtkTextWindowType
 
-</description>
-<parameters>
-</parameters>
-<return> a #GtkSourceLanguageManager.
-Return value is owned by GtkSourceView library and must not be unref'ed.
 </return>
 </function>
 
-<function name="gtk_source_completion_provider_get_priority">
+<function name="gtk_source_gutter_renderer_pixbuf_get_gicon">
 <description>
-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.
+Get the gicon of the renderer
 
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRendererPixbuf
 </parameter_description>
 </parameter>
 </parameters>
-<return> the provider priority.
-</return>
-</function>
-
-<function name="gtk_source_completion_info_new">
-<description>
+<return> a #GIcon
 
-</description>
-<parameters>
-</parameters>
-<return> a new GtkSourceCompletionInfo.
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_text_new">
+<function name="gtk_source_gutter_renderer_pixbuf_get_pixbuf">
 <description>
-Create a new #GtkSourceGutterRendererText.
-
-
-</description>
-<parameters>
-</parameters>
-<return> A #GtkSourceGutterRenderer
-
-</return>
-</function>
+Get the pixbuf of the renderer.
 
-<function name="gtk_source_buffer_set_undo_manager">
-<description>
-Set the buffer undo manager. If @manager is %NULL the default undo manager
-will be set.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="manager">
-<parameter_description> A #GtkSourceUndoManager or %NULL.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRendererPixbuf
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
-
-<function name="gtk_source_completion_provider_match">
-<description>
-Get whether the provider match the context of completion detailed in
- context 
-
+<return> a #GdkPixbuf
 
-</description>
-<parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> a #GtkSourceCompletionContext.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @provider matches the completion context, %FALSE otherwise.
 </return>
 </function>
 
-<function name="remove_invalid">
+<function name="gtk_source_gutter_renderer_pixbuf_new">
 <description>
-Removes segment from the list of invalid segments;
-Called when an invalid segment is destroyed (invalid
-segments never become valid).
+Create a new #GtkSourceGutterRendererPixbuf.
 
-</description>
-<parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="segment">
-<parameter_description> segment.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="install_idle_worker">
-<description>
-Schedules reanalyzing buffer in idle.
-Always safe to call.
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> A #GtkSourceGutterRenderer
+
+</return>
 </function>
 
-<function name="fix_offsets_delete_">
+<function name="gtk_source_gutter_renderer_query_activatable">
 <description>
-Recursively updates offsets after deleting text. To be called
-only from delete_range_().
+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.
+
 
 </description>
 <parameters>
-<parameter name="segment">
-<parameter_description> segment.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="start">
-<parameter_description> start offset.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter at the start of the line to be activated
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description> length of deleted text.
+<parameter name="area">
+<parameter_description> a #GdkRectangle of the cell area to be activated
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> some segment somewhere near deleted text to optimize search.
+<parameter name="event">
+<parameter_description> the event that triggered the query
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
-
-<function name="sub_pattern_to_int">
-<description>
-Tries to convert @name to a number and assumes
-it's a name if that fails. Used for references in
-subpattern contexts (e.g. \%{1 start} or \%{blah start}).
+<return> %TRUE if the renderer can be activated, %FALSE otherwise
 
-</description>
-<parameters>
-<parameter name="name">
-<parameter_description> the string from lang file.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
+</return>
 </function>
 
 <function name="gtk_source_gutter_renderer_query_data">
@@ -3004,784 +3224,763 @@ a signal handler externally to the ::query-data signal.
 <return></return>
 </function>
 
-<function name="gtk_source_language_manager_get_language">
+<function name="gtk_source_gutter_renderer_query_tooltip">
 <description>
-Gets the #GtkSourceLanguage identified by the given @id in the language
-manager.
+Emits the ::query-tooltip signal. This function is called from
+#GtkSourceGutter. Implementations can override the default signal handler
+or can connect to the signal externally.
 
 
 </description>
 <parameters>
-<parameter name="lm">
-<parameter_description> a #GtkSourceLanguageManager.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer.
 </parameter_description>
 </parameter>
-<parameter name="id">
-<parameter_description> a language id.
+<parameter name="iter">
+<parameter_description> a #GtkTextIter.
 </parameter_description>
 </parameter>
-</parameters>
-<return> 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.
-</return>
-</function>
-
-<function name="gtk_source_view_get_tab_width">
-<description>
-Returns the width of tabulation in characters.
-
-
-</description>
-<parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="area">
+<parameter_description> a #GdkRectangle.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> The x position of the tooltip.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The y position of the tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip.
 </parameter_description>
 </parameter>
 </parameters>
-<return> width of tab.
+<return> %TRUE if the tooltip has been set, %FALSE otherwise
+
 </return>
 </function>
 
-<function name="regex_resolve">
+<function name="gtk_source_gutter_renderer_queue_draw">
 <description>
-If the regular expression does not contain references to the start
-regular expression, the functions increases the reference count
-of @regex and returns it.
-
-If the regular expression contains references to the start regular
-expression in the form &quot;\%{start_sub_pattern start}&quot;, it replaces
-them (they are extracted from @start_regex and @matched_text) and
-returns the new regular expression.
+Emits the ::queue-draw signal of the renderer. Call this from an
+implementation to inform that the renderer has changed such that it needs
+to redraw.
 
 
 </description>
 <parameters>
-<parameter name="regex">
-<parameter_description> a #Regex.
-</parameter_description>
-</parameter>
-<parameter name="start_regex">
-<parameter_description> a #Regex.
-</parameter_description>
-</parameter>
-<parameter name="matched_text">
-<parameter_description> the text matched against @start_regex.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #Regex.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_buffer_iter_backward_to_context_class_toggle">
+<function name="gtk_source_gutter_renderer_set_alignment">
 <description>
-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.
+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).
 
-Since: 2.10
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="xalign">
+<parameter_description> the x-alignment
 </parameter_description>
 </parameter>
-<parameter name="context_class">
-<parameter_description> the context class.
+<parameter name="yalign">
+<parameter_description> the y-alignment
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether we found a context class toggle before @iter
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_set_draw_spaces">
+<function name="gtk_source_gutter_renderer_set_alignment_mode">
 <description>
-Set if and how the spaces should be visualized. Specifying @flags as 0 will
-disable display of spaces.
+Set the alignment mode. The alignment mode describes the manner in which the
+renderer is aligned (see :xalign and :yalign).
+
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="flags">
-<parameter_description> #GtkSourceDrawSpacesFlags specifing how white spaces should
-be displayed
+<parameter name="mode">
+<parameter_description> a #GtkSourceGutterRendererAlignmentMode
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="segment_extend">
+<function name="gtk_source_gutter_renderer_set_background">
 <description>
-Updates end offset in the segment and its ancestors.
+Set the background color of the renderer. If @color is set to %NULL, the
+renderer will not have a background color.
+
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> the semgent.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="end_at">
-<parameter_description> new end offset, characters.
+<parameter name="color">
+<parameter_description> a #GdkRGBA or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_set_show_line_marks">
+<function name="gtk_source_gutter_renderer_set_padding">
 <description>
-If %TRUE line marks will be displayed beside the text.
+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).
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="show">
-<parameter_description> whether line marks should be displayed.
+<parameter name="xpad">
+<parameter_description> the x-padding
+</parameter_description>
+</parameter>
+<parameter name="ypad">
+<parameter_description> the y-padding
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="create_reg_all">
+<function name="gtk_source_gutter_renderer_set_size">
 <description>
-Creates regular expression for all possible transitions: it
-combines terminating regex, terminating regexes of parent
-contexts if those can terminate this one, and start regexes
-of child contexts.
-
-It takes as an argument actual context or a context definition. In
-case when context end depends on start (\%{foo start} references),
-it must use the context, definition is not enough. If there are no
-those references, then the reg_all is created right in the definition
-when no contexts exist yet. This is why this function has its funny
-arguments.
+Sets the size of the renderer. A value of -1 specifies that the size
+is to be determined dynamically.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> context.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="definition">
-<parameter_description> context definition.
+<parameter name="size">
+<parameter_description> the size
 </parameter_description>
 </parameter>
 </parameters>
-<return> resulting regex or %NULL when pcre failed to compile the regex.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_utils_move_to_iter">
+<function name="gtk_source_gutter_renderer_set_visible">
 <description>
+Set whether the gutter renderer is visible.
+
 
 </description>
 <parameters>
-<parameter name="window">
-<parameter_description> the #GtkWindow to move.
-</parameter_description>
-</parameter>
-<parameter name="view">
-<parameter_description> the #GtkSourceView.
+<parameter name="renderer">
+<parameter_description> a #GtkSourceGutterRenderer
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> the iter to move @window to.
+<parameter name="visible">
+<parameter_description> the visibility
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_wrap_mode">
+<function name="gtk_source_gutter_renderer_text_new">
 <description>
-Gets the line wrapping mode for the printed text.
+Create a new #GtkSourceGutterRendererText.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
 </parameters>
-<return> the line wrap mode.
+<return> A #GtkSourceGutterRenderer
 
 </return>
 </function>
 
-<function name="gtk_source_buffer_create_source_mark">
+<function name="gtk_source_gutter_reorder">
 <description>
-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..
+Reorders @renderer in @gutter to new @position.
 
-Since: 2.2
+Since: 2.8
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> the name of the mark, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="category">
-<parameter_description> a string defining the mark category.
+<parameter name="gutter">
+<parameter_description> a #GtkSourceGutterRenderer.
 </parameter_description>
 </parameter>
-<parameter name="where">
-<parameter_description> location to place the mark.
+<parameter name="renderer">
+<parameter_description> a #GtkCellRenderer.
 </parameter_description>
 </parameter>
-</parameters>
-<return> a new #GtkSourceMark, owned by the buffer.
-
-</return>
-</function>
-
-<function name="context_is_pure_container">
-<description>
-Checks whether context is a container with no start regex.
-References to such contexts are implicitly translated to
-wildcard references (context_id:*).
-
-</description>
-<parameters>
-<parameter name="def">
-<parameter_description> context definition.
+<parameter name="position">
+<parameter_description> the new renderer position.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="idle_worker">
+<function name="gtk_source_language_get_globs">
 <description>
-Analyzes a batch in idle. Stops when
-whole buffer is analyzed.
+Returns the globs associated to this language. This is just
+an utility wrapper around gtk_source_language_get_metadata() to
+retrieve the &quot;globs&quot; metadata property and split it into an array.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> 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().
+</return>
 </function>
 
-<function name="gtk_source_completion_proposal_changed">
+<function name="gtk_source_language_get_hidden">
 <description>
-Emits the &quot;changed&quot; signal on @proposal. This should be called by
-implementations whenever the name, icon or info of the proposal has
-changed.
+Returns whether the language should be hidden from the user.
+
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the language should be hidden, %FALSE otherwise.
+</return>
 </function>
 
-<function name="gtk_source_print_compositor_get_buffer">
+<function name="gtk_source_language_get_id">
 <description>
-Gets the #GtkSourceBuffer associated with the compositor. The returned
-object reference is owned by the compositor object and
-should not be unreferenced.
+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.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkSourceBuffer associated with the compositor.
-
+<return> the ID of @language.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_set_line_numbers_font_name">
+<function name="gtk_source_language_get_metadata">
 <description>
-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. &quot;Monospace 10&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.    
-
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
-<parameter name="font_name">
-<parameter_description> the name of the font for line numbers, or %NULL.
+<parameter name="name">
+<parameter_description> metadata property name.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> value of property @name stored in the metadata of @language
+or %NULL if language doesn't contain that metadata property.
+The returned string is owned by @language and should not be freed
+or modified.
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_end">
+<function name="gtk_source_language_get_mime_types">
 <description>
-Called when drawing a region of lines has ended.
+Returns the mime types associated to this language. This is just
+an utility wrapper around gtk_source_language_get_metadata() to
+retrieve the &quot;mimetypes&quot; metadata property and split it into an
+array.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> 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().
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_size">
+<function name="gtk_source_language_get_name">
 <description>
-Get the size of the renderer.
+Returns the localized name of the language.
+The returned string is owned by @language and should not be freed
+or modified.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the size of the renderer.
-
+<return> the name of @language.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_get_tab_width">
+<function name="gtk_source_language_get_section">
 <description>
-Returns the width of tabulation in characters for printed text.
+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.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return> width of tab.
-
+<return> the section of @language.
 </return>
 </function>
 
-<function name="gtk_source_completion_words_new">
+<function name="gtk_source_language_get_style_ids">
 <description>
+Returns the ids of the styles defined by this @language.
+
 
 </description>
 <parameters>
-<parameter name="name">
-<parameter_description> The name for the provider
-</parameter_description>
-</parameter>
-<parameter name="icon">
-<parameter_description> A specific icon for the provider
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceCompletionWords provider
+<return> a  %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().
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_padding">
+<function name="gtk_source_language_get_style_name">
 <description>
-Get the x-padding and y-padding of the gutter renderer.
+Returns the name of the style with ID @style_id defined by this @language.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
-</parameter_description>
-</parameter>
-<parameter name="xpad">
-<parameter_description> return location for the x-padding (can be %NULL)
+<parameter name="language">
+<parameter_description> a #GtkSourceLanguage.
 </parameter_description>
 </parameter>
-<parameter name="ypad">
-<parameter_description> return location for the y-padding (can be %NULL)
+<parameter name="style_id">
+<parameter_description> a style ID.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> 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.
+</return>
 </function>
 
-<function name="gtk_source_print_compositor_get_footer_font_name">
+<function name="gtk_source_language_manager_get_default">
 <description>
-Returns the name of the font used to print the page footer. 
-The returned string must be freed with g_free().
+Returns the default #GtkSourceLanguageManager instance.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
 </parameters>
-<return> a new string containing the name of the font used to print 
-the page footer.
-
+<return> a #GtkSourceLanguageManager.
+Return value is owned by GtkSourceView library and must not be unref'ed.
 </return>
 </function>
 
-<function name="sub_pattern_new">
+<function name="gtk_source_language_manager_get_language">
 <description>
-Creates new subpattern and adds it to the segment's
-subpatterns list.
+Gets the #GtkSourceLanguage identified by the given @id in the language
+manager.
 
 
 </description>
 <parameters>
-<parameter name="segment">
-<parameter_description> the segment.
-</parameter_description>
-</parameter>
-<parameter name="start_at">
-<parameter_description> start offset of the subpattern.
-</parameter_description>
-</parameter>
-<parameter name="end_at">
-<parameter_description> end offset of the subpattern.
+<parameter name="lm">
+<parameter_description> a #GtkSourceLanguageManager.
 </parameter_description>
 </parameter>
-<parameter name="sp_def">
-<parameter_description> the subppatern definition.
+<parameter name="id">
+<parameter_description> a language id.
 </parameter_description>
 </parameter>
 </parameters>
-<return> new subpattern.
+<return> 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.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_get_highlight_syntax">
+<function name="gtk_source_language_manager_get_language_ids">
 <description>
-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.
+Returns the ids of the available languages.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="lm">
+<parameter_description> a #GtkSourceLanguageManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the printed output will be highlighted.
-
+<return> a %NULL-terminated array of string
+containing the ids of the available languages or %NULL if
+no language is available.
+The array is owned by @lm and must not be modified.
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_query_tooltip">
+<function name="gtk_source_language_manager_get_search_path">
 <description>
-Emits the ::query-tooltip signal. This function is called from
-#GtkSourceGutter. Implementations can override the default signal handler
-or can connect to the signal externally.
+Gets the list directories where @lm looks for language files.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer.
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
-</parameter_description>
-</parameter>
-<parameter name="area">
-<parameter_description> a #GdkRectangle.
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> The x position of the tooltip.
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> The y position of the tooltip.
-</parameter_description>
-</parameter>
-<parameter name="tooltip">
-<parameter_description> a #GtkTooltip.
+<parameter name="lm">
+<parameter_description> a #GtkSourceLanguageManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the tooltip has been set, %FALSE otherwise
-
+<return> %NULL-terminated array
+containg a list of language files directories.
+The array is owned by @lm and must not be modified.
 </return>
 </function>
 
-<function name="gtk_source_context_engine_text_inserted">
+<function name="gtk_source_language_manager_guess_language">
 <description>
-Called from GtkTextBuffer::insert_text.
+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.
+
+Since: 2.4
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="lm">
+<parameter_description> a #GtkSourceLanguageManager.
 </parameter_description>
 </parameter>
-<parameter name="start_offset">
-<parameter_description> the start of inserted text.
+<parameter name="filename">
+<parameter_description> a filename in Glib filename encoding, or %NULL.
 </parameter_description>
 </parameter>
-<parameter name="end_offset">
-<parameter_description> the end of inserted text.
+<parameter name="content_type">
+<parameter_description> a content type (as in GIO API), or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> 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.
+
+</return>
 </function>
 
-<function name="gtk_source_print_compositor_get_print_footer">
+<function name="gtk_source_language_manager_new">
 <description>
-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().
+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.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE if the footer is set to be printed.
-
+<return> a new #GtkSourceLanguageManager.
 </return>
 </function>
 
-<function name="gtk_source_completion_proposal_equal">
+<function name="gtk_source_language_manager_set_search_path">
 <description>
-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).
+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;
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="lm">
+<parameter_description> a #GtkSourceLanguageManager.
 </parameter_description>
 </parameter>
-<parameter name="other">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="dirs">
+<parameter_description>
+a %NULL-terminated array of strings or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @proposal and @object are the same proposal
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_language_get_name">
+<function name="gtk_source_mark_category_get_gicon">
 <description>
-Returns the localized name of the language.
-The returned string is owned by @language and should not be freed
-or modified.
+Get the #GIcon associated with the mark category.
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="category">
+<parameter_description> a #GtkSourceMarkCategory
 </parameter_description>
 </parameter>
 </parameters>
-<return> the name of @language.
+<return> A #GIcon
+
 </return>
 </function>
 
-<function name="simple_segment_split_">
+<function name="gtk_source_mark_get_category">
 <description>
-Creates a new invalid segment and inserts it in the middle
-of the given one. Called from insert_range() to mark inserted
-text.
+Returns the mark category.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="segment">
-<parameter_description> segment to split.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset at which text insertion occurred.
+<parameter name="mark">
+<parameter_description> a #GtkSourceMark.
 </parameter_description>
 </parameter>
 </parameters>
-<return> new invalid segment.
+<return> the category of the #GtkSourceMark.
+
 </return>
 </function>
 
-<function name="gtk_source_buffer_can_undo">
+<function name="gtk_source_mark_new">
 <description>
-Determines whether a source buffer can undo the last action.
+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_mark().
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="name">
+<parameter_description> Name of the #GtkSourceMark, can be NULL when not using a name
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> is used to classify marks according to common characteristics
+(e.g. all the marks representing a bookmark could belong to the &quot;bookmark&quot; 
+category, or all the marks representing a compilation error could belong to 
+&quot;error&quot; category).
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if it's possible to undo the last action.
+<return> a new #GtkSourceMark that can be added using gtk_text_buffer_add_mark().
+
 </return>
 </function>
 
-<function name="gtk_source_completion_info_set_widget">
+<function name="gtk_source_mark_next">
 <description>
-Sets the content widget of the info window. If @widget does not fit within
-the size requirements of the window, a #GtkScrolledWindow will automatically
-be created and added to the window.
+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.
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #GtkSourceCompletionInfo.
+<parameter name="mark">
+<parameter_description> a #GtkSourceMark.
 </parameter_description>
 </parameter>
-<parameter name="widget">
-<parameter_description> a #GtkWidget.
+<parameter name="category">
+<parameter_description> a string specifying the mark category, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the next #GtkSourceMark, or %NULL.
+
+</return>
 </function>
 
-<function name="gtk_source_mark_category_get_gicon">
+<function name="gtk_source_mark_prev">
 <description>
-Get the #GIcon associated with the mark category.
+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
 
+Since: 2.2
 
 </description>
 <parameters>
+<parameter name="mark">
+<parameter_description> a #GtkSourceMark.
+</parameter_description>
+</parameter>
 <parameter name="category">
-<parameter_description> a #GtkSourceMarkCategory
+<parameter_description> a string specifying the mark category, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> A #GIcon
+<return> the previous #GtkSourceMark, or %NULL.
 
 </return>
 </function>
 
-<function name="gtk_source_completion_provider_get_start_iter">
+<function name="gtk_source_print_compositor_draw_page">
 <description>
-Get the #GtkTextIter at which the completion for @proposal starts. When
-implemented, the completion can use this information to position the
-completion window accordingly when a proposal is selected in the completion
-window.
+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;
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
-</parameter_description>
-</parameter>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 <parameter name="context">
-<parameter_description> a #GtkSourceCompletionContext.
+<parameter_description> the #GtkPrintContext encapsulating the context information that is required when 
+drawing the page for printing.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="page_nr">
+<parameter_description> the number of the page to print.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @iter was set for @proposal, %FALSE otherwise.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_language_manager_new">
+<function name="gtk_source_print_compositor_get_body_font_name">
 <description>
-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.
+Returns the name of the font used to print the text body. The returned string
+must be freed with g_free().
 
+Since: 2.2
 
 </description>
 <parameters>
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
+</parameter_description>
+</parameter>
 </parameters>
-<return> a new #GtkSourceLanguageManager.
+<return> a new string containing the name of the font used to print the 
+text body.
+
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_set_tab_width">
+<function name="gtk_source_print_compositor_get_bottom_margin">
 <description>
-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.
+Gets the bottom margin in units of @unit.
 
 Since: 2.2
 
@@ -3791,213 +3990,203 @@ Since: 2.2
 <parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> width of tab in characters.
+<parameter name="unit">
+<parameter_description> the unit for the return value.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the bottom margin.
+
+</return>
 </function>
 
-<function name="segment_new">
+<function name="gtk_source_print_compositor_get_buffer">
 <description>
-Creates a new segment structure. It doesn't take care about
-parent or siblings, create_segment() is the function to
-create new segments in the tree.
+Gets the #GtkSourceBuffer associated with the compositor. The returned
+object reference is owned by the compositor object and
+should not be unreferenced.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="parent">
-<parameter_description> parent segment (%NULL for the root segment).
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> context for this segment (%NULL for invalid segments).
-</parameter_description>
-</parameter>
-<parameter name="start_at">
-<parameter_description> start offset in the buffer, characters.
-</parameter_description>
-</parameter>
-<parameter name="end_at">
-<parameter_description> end offset in the buffer, characters.
-</parameter_description>
-</parameter>
-<parameter name="is_start">
-<parameter_description> is_start flag.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> newly created segment.
+<return> the #GtkSourceBuffer associated with the compositor.
+
 </return>
 </function>
 
-<function name="gtk_source_style_scheme_get_name">
+<function name="gtk_source_print_compositor_get_footer_font_name">
 <description>
-Since: 2.0
+Returns the name of the font used to print the page footer. 
+The returned string must be freed with g_free().
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> @scheme name.
+<return> a new string containing the name of the font used to print 
+the page footer.
 
 </return>
 </function>
 
-<function name="gtk_source_style_scheme_get_style">
+<function name="gtk_source_print_compositor_get_header_font_name">
 <description>
-Since: 2.0
+Returns the name of the font used to print the page header. 
+The returned string must be freed with g_free().
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
-</parameter_description>
-</parameter>
-<parameter name="style_id">
-<parameter_description> id of the style to retrieve.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> 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.
+<return> a new string containing the name of the font used to print 
+the page header.
 
 </return>
 </function>
 
-<function name="update_syntax">
+<function name="gtk_source_print_compositor_get_highlight_syntax">
 <description>
-Updates syntax tree. If @end is not %NULL, then it analyzes
-(reanalyzes invalid areas in) region from start of buffer
-to @end. Otherwise, it analyzes batch of text starting at
-first invalid line.
-In order to avoid blocking ui it uses a timer and stops
-when time elapsed is greater than @time, so analyzed region is
-not necessarily what's requested (unless @time is 0).
+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.
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
-</parameter_description>
-</parameter>
-<parameter name="end">
-<parameter_description> desired end of region to analyze or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="time">
-<parameter_description> maximal amount of time in milliseconds allowed to spend here
-or 0 for 'unlimited'.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the printed output will be highlighted.
+
+</return>
 </function>
 
-<function name="gtk_source_view_get_visual_column">
+<function name="gtk_source_print_compositor_get_left_margin">
 <description>
-Determines the visual column at @iter taking into
-consideration the indent width of @view.
+Gets the left margin in units of @unit.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a position in @view.
+<parameter name="unit">
+<parameter_description> the unit for the return value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the visual column at @iter.
+<return> the left margin
+
 </return>
 </function>
 
-<function name="gtk_source_view_set_right_margin_position">
+<function name="gtk_source_print_compositor_get_line_numbers_font_name">
 <description>
-Sets the position of the right margin in the given @view.
+Returns the name of the font used to print line numbers on the left margin. 
+The returned string must be freed with g_free().
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
-</parameter_description>
-</parameter>
-<parameter name="pos">
-<parameter_description> the width in characters where to position the right margin.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new string containing the name of the font used to print 
+line numbers on the left margin.
+
+</return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_get_search_path">
+<function name="gtk_source_print_compositor_get_n_pages">
 <description>
-Returns the current search path for the @manager.
-See gtk_source_style_scheme_manager_set_search_path() for details.
+Returns the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the 
+document has not been completely paginated.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceStyleSchemeManager.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a %NULL-terminated array
-of string containing the search path.
-The array is owned by the @manager and must not be modified.
+<return> the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the 
+document has not been completely paginated.
+
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_visible">
+<function name="gtk_source_print_compositor_get_pagination_progress">
 <description>
-Get whether the gutter renderer is visible.
+Returns the current fraction of the document pagination that has been completed.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the renderer is visible, %FALSE otherwise
+<return> a fraction from 0.0 to 1.0 inclusive.
 
 </return>
 </function>
 
-<function name="context_unref">
+<function name="gtk_source_print_compositor_get_print_footer">
 <description>
-Decreases reference count and removes @context
-from the tree when it drops to zero.
+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().
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> the context.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the footer is set to be printed.
+
+</return>
 </function>
 
-<function name="gtk_source_print_compositor_get_line_numbers_font_name">
+<function name="gtk_source_print_compositor_get_print_header">
 <description>
-Returns the name of the font used to print line numbers on the left margin. 
-The returned string must be freed with g_free().
+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().
 
 Since: 2.2
 
@@ -4008,401 +4197,506 @@ Since: 2.2
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new string containing the name of the font used to print 
-line numbers on the left margin.
+<return> %TRUE if the header is set to be printed.
 
 </return>
 </function>
 
-<function name="gtk_source_mark_next">
+<function name="gtk_source_print_compositor_get_print_line_numbers">
 <description>
-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.
+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).
 
 Since: 2.2
 
 </description>
 <parameters>
-<parameter name="mark">
-<parameter_description> a #GtkSourceMark.
-</parameter_description>
-</parameter>
-<parameter name="category">
-<parameter_description> a string specifying the mark category, or %NULL.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the next #GtkSourceMark, or %NULL.
+<return> the interval of printed line numbers.
 
 </return>
 </function>
 
-<function name="gtk_source_buffer_get_highlight_matching_brackets">
+<function name="gtk_source_print_compositor_get_right_margin">
 <description>
-Determines whether bracket match highlighting is activated for the
-source buffer.
+Gets the right margin in units of @unit.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the source buffer will highlight matching
-brackets.
+<return> the right margin.
+
 </return>
 </function>
 
-<function name="gtk_source_buffer_get_language">
+<function name="gtk_source_print_compositor_get_tab_width">
 <description>
-Returns the #GtkSourceLanguage associated with the buffer,
-see gtk_source_buffer_set_language().  The returned object should not be
-unreferenced by the user.
+Returns the width of tabulation in characters for printed text.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkSourceLanguage associated with the buffer, or %NULL.
+<return> width of tab.
+
 </return>
 </function>
 
-<function name="gtk_source_buffer_forward_iter_to_source_mark">
+<function name="gtk_source_print_compositor_get_top_margin">
 <description>
-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.
+Gets the top margin in units of @unit.
 
 Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> an iterator.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> category to search for, or %NULL
+<parameter name="unit">
+<parameter_description> the unit for the return value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether @iter was moved.
+<return> the top margin.
 
 </return>
 </function>
 
-<function name="gtk_source_completion_utils_is_separator">
+<function name="gtk_source_print_compositor_get_wrap_mode">
 <description>
-A separator is a character like (, an space etc. An _ is not a separator
+Gets the line wrapping mode for the printed text.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ch">
-<parameter_description> the character to check.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @ch is a separator.
+<return> the line wrap mode.
+
 </return>
 </function>
 
-<function name="gtk_source_view_get_indent_on_tab">
+<function name="gtk_source_print_compositor_new">
 <description>
-Returns whether when the tab key is pressed the current selection
-should get indented instead of replaced with the \t character.
+Creates a new print compositor that can be used to print @buffer.
 
-Since: 1.8
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="buffer">
+<parameter_description> the #GtkSourceBuffer to print.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the selection is indented when tab is pressed.
+<return> a new print compositor object.
 
 </return>
 </function>
 
-<function name="check_line_end">
+<function name="gtk_source_print_compositor_new_from_view">
 <description>
-Closes the contexts that cannot contain end of lines if needed.
-Updates hint if new state is different from @state.
+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.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> current state.
-</parameter_description>
-</parameter>
-<parameter name="hint">
-<parameter_description> child of @state used in analyze_line() and next_segment().
+<parameter name="view">
+<parameter_description> a #GtkSourceView to get configuration from.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new state.
+<return> a new print compositor object.
+
 </return>
 </function>
 
-<function name="gtk_source_undo_manager_end_not_undoable_action">
+<function name="gtk_source_print_compositor_paginate">
 <description>
-Ends a not undoable action on the buffer.
+Paginate the document associated with the @compositor.
 
-Since: 2.10
+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.
 
-</description>
-<parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
+This method has been designed to be invoked in the handler of the #GtkPrintOperation::paginate signal,
+as shown in the following example:
 
-<function name="segment_cmp">
-<description>
-Compares segments by their offset, used to sort list of invalid segments.
+&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;
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="s1">
-<parameter_description> first segment.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="s2">
-<parameter_description> second segment.
+<parameter name="context">
+<parameter_description> the #GtkPrintContext whose parameters (e.g. paper size, print margins, etc.) 
+are used by the the @compositor to paginate the document.
 </parameter_description>
 </parameter>
 </parameters>
-<return> an integer like strcmp() does.
+<return> %TRUE if the document has been completely paginated, %FALSE otherwise.
+
 </return>
 </function>
 
-<function name="gtk_source_buffer_get_highlight_syntax">
+<function name="gtk_source_print_compositor_set_body_font_name">
 <description>
-Determines whether syntax highlighting is activated in the source
-buffer.
+Sets the default font for the printed text. 
 
+ font_name should be a
+string representation of a font description Pango can understand.
+(e.g. &quot;Monospace 10&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.   
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
+</parameter_description>
+</parameter>
+<parameter name="font_name">
+<parameter_description> the name of the default font for the body text.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if syntax highlighting is enabled, %FALSE otherwise.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_remove_provider">
+<function name="gtk_source_print_compositor_set_bottom_margin">
 <description>
-Remove @provider from the completion.
+Sets the bottom margin used by @compositor.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="margin">
+<parameter_description> the new bottom margin in units of @unit.
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> a #GError.
+<parameter name="unit">
+<parameter_description> the units for @margin.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @provider was successfully removed, otherwise if @error
-is provided, it will be set with the error and %FALSE is returned.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_set_highlight_current_line">
+<function name="gtk_source_print_compositor_set_footer_font_name">
 <description>
-If @show is %TRUE the current line is highlighted.
+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. &quot;Monospace 10&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.    
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="show">
-<parameter_description> whether to highlight the current line.
+<parameter name="font_name">
+<parameter_description> the name of the font for the footer text, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_get_show_right_margin">
+<function name="gtk_source_print_compositor_set_footer_format">
 <description>
-Returns whether a right margin is displayed.
+Sets strftime like header format strings, to be printed on the
+left, center and right of the bottom of each page. The strings may
+include strftime(3) codes which will be expanded at print time.
+All strftime() codes are accepted, with the addition of %N for the
+page number and %Q for the page count.
+
+ separator specifies if a solid line should be drawn to separate
+the footer from the document text.
+
+If %NULL is given for any of the three arguments, that particular
+string will not be printed.
+
+For the footer to be printed, in
+addition to specifying format strings, you need to enable footer
+printing with gtk_source_print_compositor_set_print_footer().
 
+This function cannot be called anymore after the first call to the 
+gtk_source_print_compositor_paginate() function.    
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
+</parameter_description>
+</parameter>
+<parameter name="separator">
+<parameter_description> %TRUE if you want a separator line to be printed.
+</parameter_description>
+</parameter>
+<parameter name="left">
+<parameter_description> a format string to print on the left of the footer.
+</parameter_description>
+</parameter>
+<parameter name="center">
+<parameter_description> a format string to print on the center of the footer.
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> a format string to print on the right of the footer.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the right margin is shown.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_pixbuf_new">
+<function name="gtk_source_print_compositor_set_header_font_name">
 <description>
-Create a new #GtkSourceGutterRendererPixbuf.
-
+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.  
 
-</description>
-<parameters>
-</parameters>
-<return> A #GtkSourceGutterRenderer
+ font_name should be a
+string representation of a font description Pango can understand.
+(e.g. &quot;Monospace 10&quot;). See pango_font_description_from_string()
+for a description of the format of the string representation. 
 
-</return>
-</function>
+This function cannot be called anymore after the first call to the 
+gtk_source_print_compositor_paginate() function.    
 
-<function name="enable_highlight">
-<description>
-Whether to highlight (i.e. apply tags) analyzed area.
-Note that this does not turn on/off the analyzis stuff,
-it affects only text tags.
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="enable">
-<parameter_description> whether to enable highlighting.
+<parameter name="font_name">
+<parameter_description> the name of the font for header text, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_proposal_get_text">
+<function name="gtk_source_print_compositor_set_header_format">
 <description>
-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. The returned string must be freed with g_free().
+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.
+All strftime() codes are accepted, with the addition of %N for the
+page number and %Q for the page count.
 
+ separator specifies if a solid line should be drawn to separate
+the header from the document text.
 
-</description>
-<parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
-</parameter_description>
-</parameter>
-</parameters>
-<return> a new string containing the text of @proposal.
-</return>
-</function>
+If %NULL is given for any of the three arguments, that particular
+string will not be printed.
 
-<function name="insert_range">
-<description>
-Updates segment tree after insertion: it updates tree
-offsets as appropriate, and inserts a new invalid segment
-or extends existing invalid segment as @offset, so
-after the call segment [ offset, @offset + @length) is marked
-invalid in the tree.
-It may be safely called with length == 0 at any moment
-to invalidate some offset (and it's used here and there).
+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.    
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="offset">
-<parameter_description> the start of new segment.
+<parameter name="separator">
+<parameter_description> %TRUE if you want a separator line to be printed.
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description> the length of the segment.
+<parameter name="left">
+<parameter_description> a format string to print on the left of the header.
+</parameter_description>
+</parameter>
+<parameter name="center">
+<parameter_description> a format string to print on the center of the header.
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> a format string to print on the right of the header.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_language_get_style_name">
+<function name="gtk_source_print_compositor_set_highlight_syntax">
 <description>
-Returns the name of the style with ID @style_id defined by this @language.
+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.   
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="style_id">
-<parameter_description> a style ID.
+<parameter name="highlight">
+<parameter_description> whether syntax should be highlighted.
 </parameter_description>
 </parameter>
 </parameters>
-<return> 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.
-</return>
+<return></return>
 </function>
 
-<function name="context_freeze">
+<function name="gtk_source_print_compositor_set_left_margin">
 <description>
-Recursively increments reference count in context and its children,
-and marks them, so context_thaw is able to correctly decrement
-reference count.
-This function is for update_syntax: we want to preserve existing
-contexts when possible, and update_syntax erases contexts from
-reanalyzed lines; so to avoid destructing and recreating contexts
-every time, we need to increment reference count on existing contexts,
-and decrement it when we are done with analysis, so no more needed
-contexts go away. Keeping a list of referenced contexts is painful
-or slow, so we just reference all contexts present at the moment.
+Sets the left margin used by @compositor.
 
-Note this is not reentrant, context_freeze()/context_thaw() pair is called
-only from update_syntax().
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> the context.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
+</parameter_description>
+</parameter>
+<parameter name="margin">
+<parameter_description> the new left margin in units of @unit.
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units for @margin.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_left_margin">
+<function name="gtk_source_print_compositor_set_line_numbers_font_name">
 <description>
-Gets the left margin in units of @unit.
+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. &quot;Monospace 10&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.    
 
 Since: 2.2
 
@@ -4412,190 +4706,176 @@ Since: 2.2
 <parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="unit">
-<parameter_description> the unit for the return value.
+<parameter name="font_name">
+<parameter_description> the name of the font for line numbers, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the left margin
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_block_interactive">
+<function name="gtk_source_print_compositor_set_print_footer">
 <description>
-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.
+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.    
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
+</parameter_description>
+</parameter>
+<parameter name="print">
+<parameter_description> %TRUE if you want the footer to be printed.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_insert">
+<function name="gtk_source_print_compositor_set_print_header">
 <description>
-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.
+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().
 
-Since: 3.0
+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.    
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="gutter">
-<parameter_description> a #GtkSourceGutter.
-</parameter_description>
-</parameter>
-<parameter name="renderer">
-<parameter_description> a gutter renderer (must inherit from #GtkSourceGutterRenderer).
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="position">
-<parameter_description> the renderer position.
+<parameter name="print">
+<parameter_description> %TRUE if you want the header to be printed.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if operation succeeded. Otherwise %FALSE.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_create_context">
+<function name="gtk_source_print_compositor_set_print_line_numbers">
 <description>
-Create a new #GtkSourceCompletionContext for @completion. The position at
-which the completion using the new context will consider completion can
-be provider by @position. If @position is %NULL, the current cursor
-position will be used.
+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.   
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="position">
-<parameter_description> a #GtkTextIter, or %NULL.
+<parameter name="interval">
+<parameter_description> interval for printed line numbers.
 </parameter_description>
 </parameter>
 </parameters>
-<return> 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.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_buffer_iter_forward_to_context_class_toggle">
+<function name="gtk_source_print_compositor_set_right_margin">
 <description>
-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.
+Sets the right margin used by @compositor.
 
-Since: 2.10
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="margin">
+<parameter_description> the new right margin in units of @unit.
 </parameter_description>
 </parameter>
-<parameter name="context_class">
-<parameter_description> the context class.
+<parameter name="unit">
+<parameter_description> the units for @margin.
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether we found a context class toggle after @iter
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_add_provider">
+<function name="gtk_source_print_compositor_set_tab_width">
 <description>
-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.
+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.
+
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
-</parameter_description>
-</parameter>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> a #GError.
+<parameter name="width">
+<parameter_description> width of tab in characters.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @provider was successfully added, otherwise if @error
-is provided, it will be set with the error and %FALSE is returned.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_proposal_get_info">
+<function name="gtk_source_print_compositor_set_top_margin">
 <description>
-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().
+Sets the top margin used by @compositor.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="compositor">
+<parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-</parameters>
-<return> a new string containing extra information of @proposal or %NULL if
-no extra information is associated to @proposal.
-</return>
-</function>
-
-<function name="gtk_source_completion_unblock_interactive">
-<description>
-Unblock interactive completion. This can be used after using
-#gtk_source_completion_block_interactive to enable interactive completion
-again.
-
-</description>
-<parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="margin">
+<parameter_description> the new top margin in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units for @margin
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_print_line_numbers">
+<function name="gtk_source_print_compositor_set_wrap_mode">
 <description>
-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.
+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.   
+gtk_source_print_compositor_paginate() function.  
 
 Since: 2.2
 
@@ -4605,316 +4885,284 @@ Since: 2.2
 <parameter_description> a #GtkSourcePrintCompositor.
 </parameter_description>
 </parameter>
-<parameter name="interval">
-<parameter_description> interval for printed line numbers.
+<parameter name="wrap_mode">
+<parameter_description> a #GtkWrapMode.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_language_manager_get_search_path">
+<function name="gtk_source_style_copy">
 <description>
-Gets the list directories where @lm looks for language files.
+Creates a copy of @style, that is a new #GtkSourceStyle instance which
+has the same attributes set.
 
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="lm">
-<parameter_description> a #GtkSourceLanguageManager.
+<parameter name="style">
+<parameter_description> a #GtkSourceStyle structure to copy.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %NULL-terminated array
-containg a list of language files directories.
-The array is owned by @lm and must not be modified.
+<return> copy of @style, call g_object_unref()
+when you are done with it.
+
 </return>
 </function>
 
-<function name="gtk_source_view_get_draw_spaces">
+<function name="gtk_source_style_scheme_get_authors">
 <description>
-Returns the #GtkSourceDrawSpacesFlags specifying if and how spaces
-should be displayed for this @view.
-
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkSourceDrawSpacesFlags, 0 if no spaces should be drawn.
+<return> a %NULL-terminated
+array containing the @scheme authors or %NULL if no author
+is specified by the style scheme.
+
 </return>
 </function>
 
-<function name="gtk_source_completion_utils_get_word">
+<function name="gtk_source_style_scheme_get_description">
 <description>
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="source_buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the current word.
+<return> @scheme description (if defined), or %NULL.
+
 </return>
 </function>
 
-<function name="all_analyzed">
+<function name="gtk_source_style_scheme_get_filename">
 <description>
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether everything is analyzed (but it doesn't care about the tags).
+<return> @scheme file name if the scheme was created parsing a
+style scheme file or %NULL in the other cases.
+
 </return>
 </function>
 
-<function name="gtk_source_view_new">
+<function name="gtk_source_style_scheme_get_id">
 <description>
-Creates a new #GtkSourceView. An empty default buffer will be
-created for you. If you want to specify your own buffer, consider
-gtk_source_view_new_with_buffer().
-
+Since: 2.0
 
 </description>
 <parameters>
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
+</parameter_description>
+</parameter>
 </parameters>
-<return> a new #GtkSourceView.
+<return> @scheme id.
+
 </return>
 </function>
 
-<function name="gtk_source_language_get_globs">
+<function name="gtk_source_style_scheme_get_name">
 <description>
-Returns the globs associated to this language. This is just
-an utility wrapper around gtk_source_language_get_metadata() to
-retrieve the &quot;globs&quot; metadata property and split it into an array.
-
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
 </parameter_description>
 </parameter>
 </parameters>
-<return> 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().
+<return> @scheme name.
+
 </return>
 </function>
 
-<function name="get_line_info">
+<function name="gtk_source_style_scheme_get_style">
 <description>
-Retrieves line text from the buffer, finds line terminator and fills
- line structure.
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> #GtkTextBuffer.
-</parameter_description>
-</parameter>
-<parameter name="line_start">
-<parameter_description> iterator pointing to the beginning of line.
-</parameter_description>
-</parameter>
-<parameter name="line_end">
-<parameter_description> iterator pointing to the beginning of next line or to the end
-of this line if it's the last line in @buffer.
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description> #LineInfo structure to be filled.
+<parameter name="style_id">
+<parameter_description> id of the style to retrieve.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> 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.
+
+</return>
 </function>
 
-<function name="gtk_source_buffer_set_style_scheme">
+<function name="gtk_source_style_scheme_manager_append_search_path">
 <description>
-Sets style scheme used by the buffer. If @scheme is %NULL no
-style scheme is used.
+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.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="manager">
+<parameter_description> a #GtkSourceStyleSchemeManager.
 </parameter_description>
 </parameter>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme or %NULL.
+<parameter name="path">
+<parameter_description> a directory or a filename.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_style_scheme_set_style">
+<function name="gtk_source_style_scheme_manager_force_rescan">
 <description>
-Since: 2.0
+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.
 
 </description>
 <parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> style name.
-</parameter_description>
-</parameter>
-<parameter name="style">
-<parameter_description> style to set or %NULL.
+<parameter name="manager">
+<parameter_description> a #GtkSourceStyleSchemeManager.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_language_manager_get_language_ids">
+<function name="gtk_source_style_scheme_manager_get_default">
 <description>
-Returns the ids of the available languages.
+Returns the default #GtkSourceStyleSchemeManager instance.
 
 
 </description>
 <parameters>
-<parameter name="lm">
-<parameter_description> a #GtkSourceLanguageManager.
-</parameter_description>
-</parameter>
 </parameters>
-<return> a %NULL-terminated array of string
-containing the ids of the available languages or %NULL if
-no language is available.
-The array is owned by @lm and must not be modified.
+<return> a #GtkSourceStyleSchemeManager. Return value
+is owned by GtkSourceView library and must not be unref'ed.
 </return>
 </function>
 
-<function name="gtk_source_view_get_indent_width">
+<function name="gtk_source_style_scheme_manager_get_scheme">
 <description>
-Returns the number of spaces to use for each step of indent.
-See gtk_source_view_set_indent_width() for details.
+Looks up style scheme by id.
 
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="manager">
+<parameter_description> a #GtkSourceStyleSchemeManager.
+</parameter_description>
+</parameter>
+<parameter name="scheme_id">
+<parameter_description> style scheme id to find.
 </parameter_description>
 </parameter>
 </parameters>
-<return> indent width.
+<return> a #GtkSourceStyleScheme object. Returned value is owned by
+ manager and must not be unref'ed.
 </return>
 </function>
 
-<function name="find_insertion_place_forward_">
+<function name="gtk_source_style_scheme_manager_get_scheme_ids">
 <description>
-Auxiliary function used in find_insertion_place().
+Returns the ids of the available style schemes.
+
 
 </description>
 <parameters>
-<parameter name="segment">
-<parameter_description> (grand)parent segment the new one should be inserted into.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset at which text is inserted.
-</parameter_description>
-</parameter>
-<parameter name="start">
-<parameter_description> segment from which to start search (to avoid
-walking whole tree).
-</parameter_description>
-</parameter>
-<parameter name="parent">
-<parameter_description> initialized with the parent of new segment.
-</parameter_description>
-</parameter>
-<parameter name="prev">
-<parameter_description> initialized with the previous sibling of new segment.
-</parameter_description>
-</parameter>
-<parameter name="next">
-<parameter_description> initialized with the next sibling of new segment.
+<parameter name="manager">
+<parameter_description> a #GtkSourceStyleSchemeManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a %NULL-terminated array
+of string containing the ids of the available style schemes or %NULL if no
+style scheme is available. The array is owned by the @manager and must not be modified.
+</return>
 </function>
 
-<function name="gtk_source_undo_manager_begin_not_undoable_action">
+<function name="gtk_source_style_scheme_manager_get_search_path">
 <description>
-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.
+Returns the current search path for the @manager.
+See gtk_source_style_scheme_manager_set_search_path() for details.
 
-Since: 2.10
 
 </description>
 <parameters>
 <parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter_description> a #GtkSourceStyleSchemeManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a %NULL-terminated array
+of string containing the search path.
+The array is owned by the @manager and must not be modified.
+</return>
 </function>
 
-<function name="ancestor_context_ends_here">
+<function name="gtk_source_style_scheme_manager_new">
 <description>
-Verifies if some ancestor context ends at the current position.
-This function only checks conetxts and does not modify the tree,
-it's used by ancestor_ends_here().
+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.
 
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> current context.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> the line to analyze.
-</parameter_description>
-</parameter>
-<parameter name="line_pos">
-<parameter_description> the position inside @line, bytes.
-</parameter_description>
-</parameter>
 </parameters>
-<return> the ancestor context that terminates here or %NULL.
+<return> a new #GtkSourceStyleSchemeManager.
 </return>
 </function>
 
-<function name="disable_highlighting">
+<function name="gtk_source_style_scheme_manager_prepend_search_path">
 <description>
-Dsiables highlighting in case of errors (currently if highlighting
-a single line took too long, so that highlighting doesn't freeze
-text editor).
+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.
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
+<parameter name="manager">
+<parameter_description> a #GtkSourceStyleSchemeManager.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a directory or a filename.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_force_rescan">
+<function name="gtk_source_style_scheme_manager_set_search_path">
 <description>
-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.
+Sets the list of directories where the @manager looks for
+style scheme files.
+If @path is %NULL, the search path is reset to default.
 
 </description>
 <parameters>
@@ -4922,275 +5170,201 @@ the @manager is accessed.
 <parameter_description> a #GtkSourceStyleSchemeManager.
 </parameter_description>
 </parameter>
+<parameter name="path">
+<parameter_description>
+a %NULL-terminated array of strings or %NULL.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_get_info_window">
+<function name="gtk_source_style_scheme_set_style">
 <description>
-The info widget is the window where the completion displays optional extra
-information of the proposal.
-
+Since: 2.0
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="scheme">
+<parameter_description> a #GtkSourceStyleScheme.
 </parameter_description>
 </parameter>
-</parameters>
-<return> The #GtkSourceCompletionInfo window
-associated with @completion.
-</return>
-</function>
-
-<function name="find_single_byte_escape">
-<description>
-Checks whether pattern contains \C escape sequence,
-which means &quot;single byte&quot; in pcre and naturally leads
-to crash if used for highlighting.
-
-</description>
-<parameters>
-<parameter name="string">
-<parameter_description> the pattern.
+<parameter name="name">
+<parameter_description> style name.
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> style to set or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_right_margin">
+<function name="gtk_source_undo_manager_begin_not_undoable_action">
 <description>
-Gets the right margin in units of @unit.
+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.
 
-Since: 2.2
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="unit">
-<parameter_description> the unit for the return value.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the right margin.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_provider_get_activation">
+<function name="gtk_source_undo_manager_can_redo">
 <description>
-Get with what kind of activation the provider should be activated.
+Get whether there are redo operations available.
 
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a combination of #GtkSourceCompletionActivation.
+<return> %TRUE if there are redo operations available, %FALSE otherwise
+
 </return>
 </function>
 
-<function name="gtk_source_buffer_begin_not_undoable_action">
+<function name="gtk_source_undo_manager_can_redo_changed">
 <description>
-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).
+Emits the #GtkSourceUndoManager::can-redo-changed signal.
 
-You may nest gtk_source_buffer_begin_not_undoable_action() /
-gtk_source_buffer_end_not_undoable_action() blocks.
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="create_segment">
+<function name="gtk_source_undo_manager_can_undo">
 <description>
-Creates a new segment and inserts it into the tree.
+Get whether there are undo operations available.
 
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> the engine.
-</parameter_description>
-</parameter>
-<parameter name="parent">
-<parameter_description> parent segment (%NULL for the root segment).
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> context for this segment (%NULL for invalid segments).
-</parameter_description>
-</parameter>
-<parameter name="start_at">
-<parameter_description> start offset, characters.
-</parameter_description>
-</parameter>
-<parameter name="end_at">
-<parameter_description> end offset, characters.
-</parameter_description>
-</parameter>
-<parameter name="is_start">
-<parameter_description> is_start flag.
-</parameter_description>
-</parameter>
-<parameter name="hint">
-<parameter_description> a segment somewhere near new one, to omtimize search.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return> newly created segment.
+<return> %TRUE if there are undo operations available, %FALSE otherwise
+
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_draw_page">
+<function name="gtk_source_undo_manager_can_undo_changed">
 <description>
-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);
+Emits the #GtkSourceUndoManager::can-undo-changed signal.
 
-gtk_source_print_compositor_draw_page (compositor, 
-context,
-page_nr);
-}
-&lt;/programlisting&gt;&lt;/informalexample&gt;
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> the #GtkPrintContext encapsulating the context information that is required when 
-drawing the page for printing.
-</parameter_description>
-</parameter>
-<parameter name="page_nr">
-<parameter_description> the number of the page to print.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_language_get_id">
+<function name="gtk_source_undo_manager_default_merge_action">
 <description>
-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.
+This function tries to merge the undo action at the top of
+the stack with a new undo action. So when we undo for example
+typing, we can undo the whole word and not each letter by itself.
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="um">
+<parameter_description> a #GtkSourceUndoManagerDefault.
+</parameter_description>
+</parameter>
+<parameter name="undo_action">
+<parameter_description> a #GtkSourceUndoAction.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the ID of @language.
+<return> %TRUE is merge was sucessful, %FALSE otherwise.
 </return>
 </function>
 
-<function name="gtk_source_buffer_set_highlight_syntax">
+<function name="gtk_source_undo_manager_end_not_undoable_action">
 <description>
-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 language 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.
+Ends a not undoable action on the buffer.
+
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="highlight">
-<parameter_description> %TRUE to enable syntax highlighting, %FALSE to disable it.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_new">
+<function name="gtk_source_undo_manager_redo">
 <description>
-Creates a new print compositor that can be used to print @buffer.
+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.
 
-Since: 2.2
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> the #GtkSourceBuffer to print.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new print compositor object.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_bottom_margin">
+<function name="gtk_source_undo_manager_undo">
 <description>
-Sets the bottom margin used by @compositor.
+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.
 
-Since: 2.2
+Since: 2.10
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="margin">
-<parameter_description> the new bottom margin in units of @unit.
-</parameter_description>
-</parameter>
-<parameter name="unit">
-<parameter_description> the units for @margin.
+<parameter name="manager">
+<parameter_description> a #GtkSourceUndoManager.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_get_show_line_marks">
+<function name="gtk_source_view_get_auto_indent">
 <description>
-Returns whether line marks are displayed beside the text.
+Returns whether auto indentation of text is enabled.
 
-Since: 2.2
 
 </description>
 <parameters>
@@ -5199,329 +5373,199 @@ Since: 2.2
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the line marks are displayed.
-
+<return> %TRUE if auto indentation is enabled.
 </return>
 </function>
 
-<function name="invalidate_region">
+<function name="gtk_source_view_get_completion">
 <description>
-Adds the area to the invalid region and queues highlighting.
- length may be negative which means deletion; positive
-means insertion; 0 means &quot;something happened here&quot;, it's
-treated as zero-length insertion.
+Gets the #GtkSourceCompletion associated with @view.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> the start of invalidated area.
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> the length of the area.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return>
+the #GtkSourceCompletion associated with @view.
+</return>
 </function>
 
-<function name="apply_match">
+<function name="gtk_source_view_get_draw_spaces">
 <description>
-Moves @line_pos after the matched text. @line_pos is not
-updated and the function returns %FALSE if the match cannot be
-applied because an ancestor ends in the middle of the matched
-text.
-
-If the match can be applied the function applies the appropriate
-sub patterns.
+Returns the #GtkSourceDrawSpacesFlags specifying if and how spaces
+should be displayed for this @view.
 
 
 </description>
 <parameters>
-<parameter name="state">
-<parameter_description> the current state of the parser.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> the line to analyze.
-</parameter_description>
-</parameter>
-<parameter name="line_pos">
-<parameter_description> position in the line, bytes.
-</parameter_description>
-</parameter>
-<parameter name="regex">
-<parameter_description> regex that matched.
-</parameter_description>
-</parameter>
-<parameter name="where">
-<parameter_description> kind of sub patterns to apply.
+<parameter name="view">
+<parameter_description> a #GtkSourceView
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the match can be applied.
+<return> the #GtkSourceDrawSpacesFlags, 0 if no spaces should be drawn.
 </return>
 </function>
 
-<function name="gtk_source_buffer_get_source_marks_at_iter">
+<function name="gtk_source_view_get_gutter">
 <description>
-Returns the list of marks of the given category at @iter. If @category
-is %NULL it returns all marks at @iter.
+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 gutter corresponding to
+GTK_TEXT_WINDOW_LEFT.
+
+Since: 2.8
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> an iterator.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> category to search for, or %NULL
+<parameter name="window_type">
+<parameter_description> the gutter window type.
 </parameter_description>
 </parameter>
 </parameters>
-<return>
-a newly allocated #GSList.
-
+<return> the #GtkSourceGutter.
 </return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_get_scheme_ids">
+<function name="gtk_source_view_get_highlight_current_line">
 <description>
-Returns the ids of the available style schemes.
+Returns whether the current line is highlighted.
 
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceStyleSchemeManager.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a %NULL-terminated array
-of string containing the ids of the available style schemes or %NULL if no
-style scheme is available. The array is owned by the @manager and must not be modified.
+<return> %TRUE if the current line is highlighted.
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_get_alignment">
-<description>
-Get the x-alignment and y-alignment of the gutter renderer.
-
-
-</description>
-<parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
-</parameter_description>
-</parameter>
-<parameter name="xalign">
-<parameter_description> return location for the x-alignment (can be %NULL)
-</parameter_description>
-</parameter>
-<parameter name="yalign">
-<parameter_description> return location for the y-alignment (can be %NULL)
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_source_language_manager_guess_language">
+<function name="gtk_source_view_get_indent_on_tab">
 <description>
-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.
+Returns whether when the tab key is pressed the current selection
+should get indented instead of replaced with the \t character.
 
-Since: 2.4
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="lm">
-<parameter_description> a #GtkSourceLanguageManager.
-</parameter_description>
-</parameter>
-<parameter name="filename">
-<parameter_description> a filename in Glib filename encoding, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="content_type">
-<parameter_description> a content type (as in GIO API), or %NULL.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> 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.
+<return> %TRUE if the selection is indented when tab is pressed.
 
 </return>
 </function>
 
-<function name="gtk_source_completion_context_get_activation">
+<function name="gtk_source_view_get_indent_width">
 <description>
-Get the context activation.
+Returns the number of spaces to use for each step of indent.
+See gtk_source_view_set_indent_width() for details.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GtkSourceCompletionContext.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> The context activation.
+<return> indent width.
 </return>
 </function>
 
-<function name="gtk_source_style_scheme_manager_get_default">
+<function name="gtk_source_view_get_insert_spaces_instead_of_tabs">
 <description>
-Returns the default #GtkSourceStyleSchemeManager instance.
+Returns whether when inserting a tabulator character it should
+be replaced by a group of space characters.
 
 
 </description>
 <parameters>
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
+</parameter_description>
+</parameter>
 </parameters>
-<return> a #GtkSourceStyleSchemeManager. Return value
-is owned by GtkSourceView library and must not be unref'ed.
+<return> %TRUE if spaces are inserted instead of tabs.
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_draw">
+<function name="gtk_source_view_get_mark_category">
 <description>
-Main renderering method. Implementations should implement this method to
-draw onto the cairo context. The @background_area indicates total area of
-the cell (without padding or margin) to be drawn. The @cell_area indicates
-the area where content can be drawn (text, images, etc).
-
-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.
+Get the source mark category object for @category. A
+#GtkSourceMarkCategory is automatically created for the given category
+if it does not exist yet.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
-</parameter_description>
-</parameter>
-<parameter name="cr">
-<parameter_description> the cairo render context
-</parameter_description>
-</parameter>
-<parameter name="background_area">
-<parameter_description> a #GdkRectangle indicating the total area to be drawn
-</parameter_description>
-</parameter>
-<parameter name="cell_area">
-<parameter_description> a #GdkRectangle indicating the area to draw content
-</parameter_description>
-</parameter>
-<parameter name="start">
-<parameter_description> a #GtkTextIter
-</parameter_description>
-</parameter>
-<parameter name="end">
-<parameter_description> a #GtkTextIter
+<parameter name="view">
+<parameter_description> a #GtkSourceView
 </parameter_description>
 </parameter>
-<parameter name="state">
-<parameter_description> a #GtkSourceGutterRendererState
+<parameter name="category">
+<parameter_description> the category
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the #GtkSourceMarkCategory object
+
+</return>
 </function>
 
-<function name="gtk_source_undo_manager_default_merge_action">
+<function name="gtk_source_view_get_right_margin_position">
 <description>
-This function tries to merge the undo action at the top of
-the stack with a new undo action. So when we undo for example
-typing, we can undo the whole word and not each letter by itself.
+Gets the position of the right margin in the given @view.
 
 
 </description>
 <parameters>
-<parameter name="um">
-<parameter_description> a #GtkSourceUndoManagerDefault.
-</parameter_description>
-</parameter>
-<parameter name="undo_action">
-<parameter_description> a #GtkSourceUndoAction.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE is merge was sucessful, %FALSE otherwise.
+<return> the position of the right margin.
 </return>
 </function>
 
-<function name="gtk_source_completion_provider_activate_proposal">
+<function name="gtk_source_view_get_show_line_marks">
 <description>
-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 label of @proposal.
+Returns whether line marks are displayed beside the text.
 
+Since: 2.2
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
-</parameter_description>
-</parameter>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE to indicate that the proposal activation has been handled,
-%FALSE otherwise.
+<return> %TRUE if the line marks are displayed.
+
 </return>
 </function>
 
-<function name="gtk_source_view_get_auto_indent">
+<function name="gtk_source_view_get_show_line_numbers">
 <description>
-Returns whether auto indentation of text is enabled.
+Returns whether line numbers are displayed beside the text.
 
 
 </description>
@@ -5531,140 +5575,63 @@ Returns whether auto indentation of text is enabled.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if auto indentation is enabled.
+<return> %TRUE if the line numbers are displayed.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_paginate">
+<function name="gtk_source_view_get_show_right_margin">
 <description>
-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;
+Returns whether a right margin is displayed.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> the #GtkPrintContext whose parameters (e.g. paper size, print margins, etc.) 
-are used by the the @compositor to paginate the document.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the document has been completely paginated, %FALSE otherwise.
-
+<return> %TRUE if the right margin is shown.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_get_pagination_progress">
+<function name="gtk_source_view_get_smart_home_end">
 <description>
-Returns the current fraction of the document pagination that has been completed.
+Returns a #GtkSourceSmartHomeEndType end value specifying
+how the cursor will move when HOME and END keys are pressed.
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a fraction from 0.0 to 1.0 inclusive.
-
+<return> a #GtkSourceSmartHomeEndTypeend value.
 </return>
 </function>
 
-<function name="gtk_source_completion_show">
+<function name="gtk_source_view_get_tab_width">
 <description>
-Starts a new completion with the specified #GtkSourceCompletionContext and
-a list of potential candidate providers for completion.
+Returns the width of tabulation in characters.
 
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
-</parameter_description>
-</parameter>
-<parameter name="providers">
-<parameter_description>
-a list of #GtkSourceCompletionProvider, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> The #GtkSourceCompletionContext
-with which to start the completion.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if it was possible to the show completion window.
+<return> width of tab.
 </return>
 </function>
 
-<function name="gtk_source_view_get_highlight_current_line">
+<function name="gtk_source_view_get_visual_column">
 <description>
-Returns whether the current line is highlighted.
+Determines the visual column at @iter taking into
+consideration the indent width of @view.
 
 
 </description>
@@ -5673,76 +5640,68 @@ Returns whether the current line is highlighted.
 <parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
+<parameter name="iter">
+<parameter_description> a position in @view.
+</parameter_description>
+</parameter>
 </parameters>
-<return> %TRUE if the current line is highlighted.
+<return> the visual column at @iter.
 </return>
 </function>
 
-<function name="gtk_source_print_compositor_get_print_line_numbers">
+<function name="gtk_source_view_new">
 <description>
-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).
+Creates a new #GtkSourceView. An empty default buffer will be
+created for you. If you want to specify your own buffer, consider
+gtk_source_view_new_with_buffer().
 
-Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
 </parameters>
-<return> the interval of printed line numbers.
-
+<return> a new #GtkSourceView.
 </return>
 </function>
 
-<function name="gtk_source_completion_get_providers">
+<function name="gtk_source_view_new_with_buffer">
 <description>
-Get list of providers registered on @completion. The returned list is owned
-by the completion and should not be freed.
+Creates a new #GtkSourceView widget displaying the buffer
+ buffer  One buffer can be shared among many widgets.
 
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="buffer">
+<parameter_description> a #GtkSourceBuffer.
 </parameter_description>
 </parameter>
 </parameters>
-<return>
-list of #GtkSourceCompletionProvider.
+<return> a new #GtkSourceView.
 </return>
 </function>
 
-<function name="gtk_source_view_get_mark_category">
+<function name="gtk_source_view_set_auto_indent">
 <description>
-Get the source mark category object for @category. A
-#GtkSourceMarkCategory is automatically created for the given category
-if it does not exist yet.
-
+If %TRUE auto indentation of text is enabled.
 
 </description>
 <parameters>
 <parameter name="view">
-<parameter_description> a #GtkSourceView
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> the category
+<parameter name="enable">
+<parameter_description> whether to enable auto indentation.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkSourceMarkCategory object
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_set_smart_home_end">
+<function name="gtk_source_view_set_draw_spaces">
 <description>
-Set the desired movement of the cursor when HOME and END keys
-are pressed.
+Set if and how the spaces should be visualized. Specifying @flags as 0 will
+disable display of spaces.
 
 </description>
 <parameters>
@@ -5750,25 +5709,27 @@ are pressed.
 <parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="smart_he">
-<parameter_description> the desired behavior among #GtkSourceSmartHomeEndType.
+<parameter name="flags">
+<parameter_description> #GtkSourceDrawSpacesFlags specifing how white spaces should
+be displayed
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_utils_get_pos_at_cursor">
+<function name="gtk_source_view_set_highlight_current_line">
 <description>
+If @show is %TRUE the current line is highlighted.
 
 </description>
 <parameters>
-<parameter name="window">
-<parameter_description> the #GtkWindow to move.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="view">
-<parameter_description> the #GtkSoureView.
+<parameter name="show">
+<parameter_description> whether to highlight the current line.
 </parameter_description>
 </parameter>
 </parameters>
@@ -5797,759 +5758,798 @@ Since: 1.8
 <return></return>
 </function>
 
-<function name="gtk_source_completion_provider_get_icon">
+<function name="gtk_source_view_set_indent_width">
 <description>
-Get the icon of the provider.
-
+Sets the number of spaces to use for each step of indent.
+If @width is -1, the value of the GtkSourceView::tab-width property
+will be used.
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> The #GtkSourceCompletionProvider
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> indent width in characters.
 </parameter_description>
 </parameter>
 </parameters>
-<return> The icon to be used for the provider,
-or %NULL if the provider does not have a special icon.
-</return>
+<return></return>
 </function>
 
-<function name="regex_new">
+<function name="gtk_source_view_set_insert_spaces_instead_of_tabs">
 <description>
-Creates a new regex.
-
+If %TRUE any tabulator character inserted is replaced by a group
+of space characters.
 
 </description>
 <parameters>
-<parameter name="pattern">
-<parameter_description> the regular expression.
-</parameter_description>
-</parameter>
-<parameter name="flags">
-<parameter_description> compile options for @pattern.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> location to store the error occuring, or %NULL to ignore errors.
+<parameter name="enable">
+<parameter_description> whether to insert spaces instead of tabs.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated #Regex.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_new_with_buffer">
+<function name="gtk_source_view_set_right_margin_position">
 <description>
-Creates a new #GtkSourceView widget displaying the buffer
- buffer  One buffer can be shared among many widgets.
-
+Sets the position of the right margin in the given @view.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the width in characters where to position the right margin.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GtkSourceView.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_left_margin">
+<function name="gtk_source_view_set_show_line_marks">
 <description>
-Sets the left margin used by @compositor.
+If %TRUE line marks will be displayed beside the text.
 
 Since: 2.2
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="margin">
-<parameter_description> the new left margin in units of @unit.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="unit">
-<parameter_description> the units for @margin.
+<parameter name="show">
+<parameter_description> whether line marks should be displayed.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_get_window">
+<function name="gtk_source_view_set_show_line_numbers">
 <description>
-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.
-
-Since: 2.8
+If %TRUE line numbers will be displayed beside the text.
 
 </description>
 <parameters>
-<parameter name="gutter">
-<parameter_description> a #GtkSourceGutter.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
+</parameter_description>
+</parameter>
+<parameter name="show">
+<parameter_description> whether line numbers should be displayed.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GdkWindow of the gutter, or %NULL
-if the gutter has no window.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_body_font_name">
+<function name="gtk_source_view_set_show_right_margin">
 <description>
-Returns the name of the font used to print the text body. The returned string
-must be freed with g_free().
-
-Since: 2.2
+If %TRUE a right margin is displayed.
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
+</parameter_description>
+</parameter>
+<parameter name="show">
+<parameter_description> whether to show a right margin.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new string containing the name of the font used to print the 
-text body.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_completion_move_window">
+<function name="gtk_source_view_set_smart_home_end">
 <description>
-Move the completion window to a specific iter.
+Set the desired movement of the cursor when HOME and END keys
+are pressed.
 
 </description>
 <parameters>
-<parameter name="completion">
-<parameter_description> a #GtkSourceCompletion.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter.
+<parameter name="smart_he">
+<parameter_description> the desired behavior among #GtkSourceSmartHomeEndType.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_buffer_get_source_marks_at_line">
+<function name="gtk_source_view_set_tab_width">
 <description>
-Returns the list of marks of the given category at @line.
-If @category is NULL, all marks at @line are returned.
-
-Since: 2.2
+Sets the width of tabulation in characters.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> a line number.
+<parameter name="view">
+<parameter_description> a #GtkSourceView.
 </parameter_description>
 </parameter>
-<parameter name="category">
-<parameter_description> category to search for, or %NULL
+<parameter name="width">
+<parameter_description> width of tab in characters.
 </parameter_description>
 </parameter>
 </parameters>
-<return>
-a newly allocated #GSList.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_style_scheme_get_filename">
+<function name="highlight_region">
 <description>
-Since: 2.0
+Highlights the specified region.
 
 </description>
 <parameters>
-<parameter name="scheme">
-<parameter_description> a #GtkSourceStyleScheme.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> the beginning of the region to highlight.
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> the end of the region to highlight.
 </parameter_description>
 </parameter>
 </parameters>
-<return> @scheme file name if the scheme was created parsing a
-style scheme file or %NULL in the other cases.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_view_set_insert_spaces_instead_of_tabs">
+<function name="idle_worker">
 <description>
-If %TRUE any tabulator character inserted is replaced by a group
-of space characters.
+Analyzes a batch in idle. Stops when
+whole buffer is analyzed.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
-</parameter_description>
-</parameter>
-<parameter name="enable">
-<parameter_description> whether to insert spaces instead of tabs.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_undo_manager_can_undo_changed">
+<function name="insert_range">
 <description>
-Emits the #GtkSourceUndoManager::can-undo-changed signal.
-
-Since: 2.10
+Updates segment tree after insertion: it updates tree
+offsets as appropriate, and inserts a new invalid segment
+or extends existing invalid segment as @offset, so
+after the call segment [ offset, @offset + @length) is marked
+invalid in the tree.
+It may be safely called with length == 0 at any moment
+to invalidate some offset (and it's used here and there).
 
 </description>
 <parameters>
-<parameter name="manager">
-<parameter_description> a #GtkSourceUndoManager.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the start of new segment.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of the segment.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_get_right_margin_position">
+<function name="install_first_update">
 <description>
-Gets the position of the right margin in the given @view.
-
+Schedules first_update_callback call.
+Always safe to call.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the position of the right margin.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_gutter_reorder">
+<function name="install_idle_worker">
 <description>
-Reorders @renderer in @gutter to new @position.
-
-Since: 2.8
+Schedules reanalyzing buffer in idle.
+Always safe to call.
 
 </description>
 <parameters>
-<parameter name="gutter">
-<parameter_description> a #GtkSourceGutterRenderer.
-</parameter_description>
-</parameter>
-<parameter name="renderer">
-<parameter_description> a #GtkCellRenderer.
-</parameter_description>
-</parameter>
-<parameter name="position">
-<parameter_description> the new renderer position.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_buffer_set_language">
+<function name="invalidate_region">
 <description>
-Associate a #GtkSourceLanguage with the buffer. If @language is
-not-%NULL and syntax highlighting is enabled (see gtk_source_buffer_set_highlight_syntax()),
-the syntax patterns defined in @language will be used to highlight the text
-contained in the buffer. If @language is %NULL, the text contained in the
-buffer is not highlighted.
-
-The buffer holds a reference to @language.
+Adds the area to the invalid region and queues highlighting.
+ length may be negative which means deletion; positive
+means insertion; 0 means &quot;something happened here&quot;, it's
+treated as zero-length insertion.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage to set, or %NULL.
+<parameter name="offset">
+<parameter_description> the start of invalidated area.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of the area.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_pixbuf_get_pixbuf">
+<function name="line_info_destroy">
 <description>
-Get the pixbuf of the renderer.
-
+Destroys data allocated by get_line_info().
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRendererPixbuf
+<parameter name="line">
+<parameter_description> #LineInfo.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkPixbuf
-
-</return>
+<return></return>
 </function>
 
-<function name="child_starts_here">
+<function name="next_segment">
 <description>
-Verifies if a context of the type in @curr_definition starts at
- line_pos in @line. If the contexts start here @new_state and
- line_pos are updated.
+Verifies if a context starts or ends in @line at @line_pos of after it.
+If the contexts starts or ends here @new_state and @line_pos are updated.
 
 
 </description>
 <parameters>
 <parameter name="ce">
-<parameter_description> the engine.
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 <parameter name="state">
 <parameter_description> current state.
 </parameter_description>
 </parameter>
-<parameter name="child_def">
-<parameter_description> the child.
-</parameter_description>
-</parameter>
 <parameter name="line">
-<parameter_description> line to analyze.
+<parameter_description> analyzed line.
 </parameter_description>
 </parameter>
 <parameter name="line_pos">
-<parameter_description> the position inside @line, bytes.
+<parameter_description> position inside @line, bytes.
 </parameter_description>
 </parameter>
 <parameter name="new_state">
 <parameter_description> where to store the new state.
 </parameter_description>
 </parameter>
+<parameter name="hint">
+<parameter_description> child of @state used to optimize tree operations.
+</parameter_description>
+</parameter>
 </parameters>
-<return> %TRUE if the context starts here.
+<return> %FALSE is there are no more contexts in @line.
 </return>
 </function>
 
-<function name="gtk_source_gutter_renderer_activate">
+<function name="regex_new">
 <description>
-Emits the ::activate signal of the renderer. This is called from
-#GtkSourceGutter and should never have to be called manually.
+Creates a new regex.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
-</parameter_description>
-</parameter>
-<parameter name="iter">
-<parameter_description> a #GtkTextIter at the start of the line where the renderer is activated
+<parameter name="pattern">
+<parameter_description> the regular expression.
 </parameter_description>
 </parameter>
-<parameter name="area">
-<parameter_description> a #GdkRectangle of the cell area where the renderer is activated
+<parameter name="flags">
+<parameter_description> compile options for @pattern.
 </parameter_description>
 </parameter>
-<parameter name="event">
-<parameter_description> the event that triggered the activation
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a newly-allocated #Regex.
+</return>
 </function>
 
-<function name="gtk_source_gutter_renderer_queue_draw">
+<function name="regex_resolve">
 <description>
-Emits the ::queue-draw signal of the renderer. Call this from an
-implementation to inform that the renderer has changed such that it needs
-to redraw.
+If the regular expression does not contain references to the start
+regular expression, the functions increases the reference count
+of @regex and returns it.
+
+If the regular expression contains references to the start regular
+expression in the form &quot;\%{start_sub_pattern start}&quot;, it replaces
+them (they are extracted from @start_regex and @matched_text) and
+returns the new regular expression.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="regex">
+<parameter_description> a #Regex.
+</parameter_description>
+</parameter>
+<parameter name="start_regex">
+<parameter_description> a #Regex.
+</parameter_description>
+</parameter>
+<parameter name="matched_text">
+<parameter_description> the text matched against @start_regex.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a #Regex.
+</return>
 </function>
 
-<function name="analyze_line">
+<function name="remove_invalid">
 <description>
-Finds contexts at the line and updates the syntax tree on it.
-
+Removes segment from the list of invalid segments;
+Called when an invalid segment is destroyed (invalid
+segments never become valid).
 
 </description>
 <parameters>
 <parameter name="ce">
-<parameter_description> #GtkSourceContextEngine.
-</parameter_description>
-</parameter>
-<parameter name="state">
-<parameter_description> the state at the beginning of line.
-</parameter_description>
-</parameter>
-<parameter name="line">
-<parameter_description> the line.
+<parameter_description> the engine.
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> a child of @state around start of line, to make it faster.
+<parameter name="segment">
+<parameter_description> segment.
 </parameter_description>
 </parameter>
 </parameters>
-<return> starting state at the next line.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_highlight_syntax">
+<function name="resolve_reference">
 <description>
-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.   
-
-Since: 2.2
+Checks whether all children of a context definition refer to valid
+contexts. Called from _gtk_source_context_data_finish_parse.
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
-</parameter_description>
-</parameter>
-<parameter name="highlight">
-<parameter_description> whether syntax should be highlighted.
-</parameter_description>
-</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_top_margin">
+<function name="segment_add_subpattern">
 <description>
-Gets the top margin in units of @unit.
-
-Since: 2.2
+Prepends subpattern to subpatterns list in the segment.
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="state">
+<parameter_description> the segment.
 </parameter_description>
 </parameter>
-<parameter name="unit">
-<parameter_description> the unit for the return value.
+<parameter name="sp">
+<parameter_description> subpattern.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the top margin.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_buffer_get_style_scheme">
+<function name="segment_cmp">
 <description>
-Returns the #GtkSourceStyleScheme associated with the buffer,
-see gtk_source_buffer_set_style_scheme().
-The returned object should not be unreferenced by the user.
+Compares segments by their offset, used to sort list of invalid segments.
 
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #GtkSourceBuffer.
+<parameter name="s1">
+<parameter_description> first segment.
+</parameter_description>
+</parameter>
+<parameter name="s2">
+<parameter_description> second segment.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkSourceStyleScheme associated
-with the buffer, or %NULL.
+<return> an integer like strcmp() does.
 </return>
 </function>
 
-<function name="resolve_reference">
+<function name="segment_destroy">
 <description>
-Checks whether all children of a context definition refer to valid
-contexts. Called from _gtk_source_context_data_finish_parse.
+Recursively frees given segment. It removes the segment
+from ce structure, but it doesn't update parent and
+siblings. segment_remove() is the function that takes
+care of everything.
 
 </description>
 <parameters>
+<parameter name="ce">
+<parameter_description> the engine.
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> the segment to destroy.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_remove">
+<function name="segment_ends_here">
 <description>
-Removes @renderer from @gutter.
-
-Since: 2.8
+Checks whether given segment ends at pos. Unlike
+child_starts_here() it doesn't modify tree, it merely
+calls regex_match() for the end regex.
 
 </description>
 <parameters>
-<parameter name="gutter">
-<parameter_description> a #GtkSourceGutter.
+<parameter name="state">
+<parameter_description> the segment.
 </parameter_description>
 </parameter>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer.
+<parameter name="line">
+<parameter_description> analyzed line.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position inside @line, bytes.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_set_alignment">
+<function name="segment_erase_range_">
 <description>
-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).
-
+Recurisvely removes segments from [ start, @end] interval
+starting from @segment. If @segment belongs to the range,
+or it's a zero-length segment at @end offset, and it's not
+the toplevel segment, then it's removed from the tree.
+If @segment intersects with the range (unless it's the toplevel
+segment), then its ends are adjusted appropriately, and it's
+split into two if it completely contains the range.
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="xalign">
-<parameter_description> the x-alignment
+<parameter name="segment">
+<parameter_description> the segment.
 </parameter_description>
 </parameter>
-<parameter name="yalign">
-<parameter_description> the y-alignment
+<parameter name="start">
+<parameter_description> start offset of range to erase, characters.
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end offset of range to erase, characters.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_view_set_tab_width">
+<function name="segment_extend">
 <description>
-Sets the width of tabulation in characters.
+Updates end offset in the segment and its ancestors.
 
 </description>
 <parameters>
-<parameter name="view">
-<parameter_description> a #GtkSourceView.
+<parameter name="state">
+<parameter_description> the semgent.
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> width of tab in characters.
+<parameter name="end_at">
+<parameter_description> new end offset, characters.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_completion_proposal_get_markup">
+<function name="segment_make_invalid_">
 <description>
-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().
-
+Invalidates segment. Called only from insert_range().
 
 </description>
 <parameters>
-<parameter name="proposal">
-<parameter_description> a #GtkSourceCompletionProposal.
+<parameter name="ce">
+<parameter_description> the engine.
+</parameter_description>
+</parameter>
+<parameter name="segment">
+<parameter_description> segment to invalidate.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new string containing the label of @proposal with markup.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_print_compositor_set_wrap_mode">
+<function name="segment_merge">
 <description>
-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.  
-
-Since: 2.2
+Merges adjacent segments @first and @second given
+their contexts are equal.
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="wrap_mode">
-<parameter_description> a #GtkWrapMode.
+<parameter name="first">
+<parameter_description> first segment.
+</parameter_description>
+</parameter>
+<parameter name="second">
+<parameter_description> second segment.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_gutter_renderer_set_visible">
+<function name="segment_new">
 <description>
-Set whether the gutter renderer is visible.
+Creates a new segment structure. It doesn't take care about
+parent or siblings, create_segment() is the function to
+create new segments in the tree.
 
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #GtkSourceGutterRenderer
+<parameter name="ce">
+<parameter_description> the engine.
 </parameter_description>
 </parameter>
-<parameter name="visible">
-<parameter_description> the visibility
+<parameter name="parent">
+<parameter_description> parent segment (%NULL for the root segment).
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> context for this segment (%NULL for invalid segments).
+</parameter_description>
+</parameter>
+<parameter name="start_at">
+<parameter_description> start offset in the buffer, characters.
+</parameter_description>
+</parameter>
+<parameter name="end_at">
+<parameter_description> end offset in the buffer, characters.
+</parameter_description>
+</parameter>
+<parameter name="is_start">
+<parameter_description> is_start flag.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> newly created segment.
+</return>
 </function>
 
-<function name="gtk_source_completion_context_add_proposals">
+<function name="segment_remove">
 <description>
-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).
+Removes the segment from syntax tree and frees it.
+It correctly updates parent's children list, not
+like segment_destroy() where caller has to take care
+of tree integrity.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GtkSourceCompletionContext.
-</parameter_description>
-</parameter>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="ce">
+<parameter_description> #GtkSoucreContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="proposals">
-<parameter_description> The list of proposals to add.
+<parameter name="segment">
+<parameter_description> segment to remove.
 </parameter_description>
 </parameter>
-<parameter name="finished">
-<parameter_description> Whether the provider is finished adding proposals.
+</parameters>
+<return></return>
+</function>
+
+<function name="segment_tree_zero_len">
+<description>
+Erases syntax tree and sets root segment length to zero.
+It's a shortcut for case when all the text is deleted from
+the buffer.
+
+</description>
+<parameters>
+<parameter name="ce">
+<parameter_description> #GtkSoucreContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_source_language_get_mime_types">
+<function name="simple_context_starts_here">
 <description>
-Returns the mime types associated to this language. This is just
-an utility wrapper around gtk_source_language_get_metadata() to
-retrieve the &quot;mimetypes&quot; metadata property and split it into an
-array.
+See child_starts_here().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="simple_segment_split_">
+<description>
+Creates a new invalid segment and inserts it in the middle
+of the given one. Called from insert_range() to mark inserted
+text.
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage.
+<parameter name="ce">
+<parameter_description> the engine.
+</parameter_description>
+</parameter>
+<parameter name="segment">
+<parameter_description> segment to split.
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset at which text insertion occurred.
 </parameter_description>
 </parameter>
 </parameters>
-<return> 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().
+<return> new invalid segment.
 </return>
 </function>
 
-<function name="gtk_source_completion_provider_get_interactive_delay">
+<function name="sub_pattern_free">
 <description>
-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 #GtkSourceCompletion::auto-complete-delay.
-
+Calls g_free on subpattern, was useful for debugging.
 
 </description>
 <parameters>
-<parameter name="provider">
-<parameter_description> a #GtkSourceCompletionProvider.
+<parameter name="sp">
+<parameter_description> subppatern.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the interactive delay in milliseconds.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_context_engine_text_deleted">
+<function name="sub_pattern_new">
 <description>
-Called from GtkTextBuffer::delete_range.
+Creates new subpattern and adds it to the segment's
+subpatterns list.
+
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="segment">
+<parameter_description> the segment.
 </parameter_description>
 </parameter>
-<parameter name="offset">
-<parameter_description> the start of deleted text.
+<parameter name="start_at">
+<parameter_description> start offset of the subpattern.
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description> the length (in characters) of deleted text.
+<parameter name="end_at">
+<parameter_description> end offset of the subpattern.
+</parameter_description>
+</parameter>
+<parameter name="sp_def">
+<parameter_description> the subppatern definition.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> new subpattern.
+</return>
 </function>
 
-<function name="get_invalid_line">
+<function name="sub_pattern_to_int">
 <description>
+Tries to convert @name to a number and assumes
+it's a name if that fails. Used for references in
+subpattern contexts (e.g. \%{1 start} or \%{blah start}).
 
 </description>
 <parameters>
-<parameter name="ce">
-<parameter_description> a #GtkSourceContextEngine.
+<parameter name="name">
+<parameter_description> the string from lang file.
 </parameter_description>
 </parameter>
 </parameters>
-<return> first invalid line, or -1.
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_print_compositor_get_bottom_margin">
+<function name="update_syntax">
 <description>
-Gets the bottom margin in units of @unit.
-
-Since: 2.2
+Updates syntax tree. If @end is not %NULL, then it analyzes
+(reanalyzes invalid areas in) region from start of buffer
+to @end. Otherwise, it analyzes batch of text starting at
+first invalid line.
+In order to avoid blocking ui it uses a timer and stops
+when time elapsed is greater than @time, so analyzed region is
+not necessarily what's requested (unless @time is 0).
 
 </description>
 <parameters>
-<parameter name="compositor">
-<parameter_description> a #GtkSourcePrintCompositor.
+<parameter name="ce">
+<parameter_description> #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
-<parameter name="unit">
-<parameter_description> the unit for the return value.
+<parameter name="end">
+<parameter_description> desired end of region to analyze or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="time">
+<parameter_description> maximal amount of time in milliseconds allowed to spend here
+or 0 for 'unlimited'.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the bottom margin.
-
-</return>
+<return></return>
 </function>
 
-<function name="gtk_source_language_get_hidden">
+<function name="update_tree">
 <description>
-Returns whether the language should be hidden from the user.
-
+Modifies syntax tree according to data in invalid_region.
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #GtkSourceLanguage
+<parameter name="ce">
+<parameter_description> a #GtkSourceContextEngine.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the language should be hidden, %FALSE otherwise.
-</return>
+<return></return>
 </function>
 
 </root>
diff --git a/gtksourceview/src/gtksourceview_signals.defs b/gtksourceview/src/gtksourceview_signals.defs
index b9c624f..fe33e2b 100644
--- a/gtksourceview/src/gtksourceview_signals.defs
+++ b/gtksourceview/src/gtksourceview_signals.defs
@@ -484,15 +484,6 @@
   (construct-only #f)
 )
 
-(define-property extension-events
-  (of-object "GtkSourceCompletionInfo")
-  (prop-type "GParamEnum")
-  (docs "The mask that decides what kind of extension events this widget gets")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property no-show-all
   (of-object "GtkSourceCompletionInfo")
   (prop-type "GParamBoolean")
@@ -2175,15 +2166,6 @@
   (construct-only #f)
 )
 
-(define-property extension-events
-  (of-object "GtkSourceView")
-  (prop-type "GParamEnum")
-  (docs "The mask that decides what kind of extension events this widget gets")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property no-show-all
   (of-object "GtkSourceView")
   (prop-type "GParamBoolean")
diff --git a/gtksourceview/src/gtksourceview_vfuncs.defs b/gtksourceview/src/gtksourceview_vfuncs.defs
index de26283..15df993 100644
--- a/gtksourceview/src/gtksourceview_vfuncs.defs
+++ b/gtksourceview/src/gtksourceview_vfuncs.defs
@@ -180,3 +180,20 @@
   (of-object "GtkSourceGutterRenderer")
   (return-type "void")
 )
+
+(define-vfunc change_view
+  (of-object "GtkSourceGutterRenderer")
+  (return-type "void")
+  (parameters
+    '("GtkTextView*" "old_view")
+  )
+)
+
+(define-vfunc change_buffer
+  (of-object "GtkSourceGutterRenderer")
+  (return-type "void")
+  (parameters
+    '("GtkTextBuffer*" "old_buffer")
+  )
+)
+
diff --git a/gtksourceview/src/sourcegutter.hg b/gtksourceview/src/sourcegutter.hg
index 2c268ee..01958cb 100644
--- a/gtksourceview/src/sourcegutter.hg
+++ b/gtksourceview/src/sourcegutter.hg
@@ -133,6 +133,8 @@ public:
 
   _WRAP_PROPERTY("view", SourceView*)
   _WRAP_PROPERTY("window-type", Gtk::TextWindowType)
+  _WRAP_PROPERTY("xpad", int)
+  _WRAP_PROPERTY("ypad", int)
 };
 
 } // namespace Gsv
diff --git a/gtksourceview/src/sourcegutterrenderer.hg b/gtksourceview/src/sourcegutterrenderer.hg
index 4859ae6..1b36018 100644
--- a/gtksourceview/src/sourcegutterrenderer.hg
+++ b/gtksourceview/src/sourcegutterrenderer.hg
@@ -40,7 +40,6 @@ class SourceGutterRenderer : public Gtk::Object
   _CLASS_GTKOBJECT(SourceGutterRenderer, GtkSourceGutterRenderer, GTK_SOURCE_GUTTER_RENDERER, Gtk::Object, GInitiallyUnowned)
 public:
 #m4 _CONVERSION(`const Cairo::RefPtr<Cairo::Context>&', `cairo_t*', `(($3) ? ($3)->cobj() : 0)')
-//#m4 _CONVERSION(`const Gdk::Rectangle&',`GdkRectangle*',($3).gobj())
 #m4 _CONVERSION(`Gtk::TextIter&',`GtkTextIter*',($3).gobj())
   _WRAP_METHOD(void begin(
                   const Cairo::RefPtr<Cairo::Context>& cr,
@@ -104,6 +103,18 @@ public:
 
   _WRAP_METHOD(void queue_draw(), gtk_source_gutter_renderer_queue_draw)
 
+  _WRAP_PROPERTY("visible", bool);
+  _WRAP_PROPERTY("xpad", int);
+  _WRAP_PROPERTY("ypad", int);
+  _WRAP_PROPERTY("xalign", float);
+  _WRAP_PROPERTY("yalign", float);
+  _WRAP_PROPERTY("view", Gtk::TextView*);
+  _WRAP_PROPERTY("alignment-mode", SourceGutterRendererAlignmentMode);
+  _WRAP_PROPERTY("window-type", Gtk::TextWindowType);
+  _WRAP_PROPERTY("size", int);
+  _WRAP_PROPERTY("background-rgba", Gdk::RGBA);
+  _WRAP_PROPERTY("background-set", bool);
+
 #m4 _CONVERSION(`GdkRectangle*',`const Gdk::Rectangle&',`Glib::wrap($3)')
 #m4 _CONVERSION(`GtkTextIter*',`const Gtk::TextIter&',`Glib::wrap($3)')
 #m4 _CONVERSION(`const Gtk::TextIter&',`GtkTextIter*',`const_cast<GtkTextIter*>(($3).gobj())')
@@ -133,31 +144,31 @@ public:
 protected:
   _CTOR_DEFAULT()
 
-#m4begin
-dnl This extra conversion does the extra reference, often needed by code for vfuncs and signal.
-_CONVERSION(`cairo_t*',`const Cairo::RefPtr<Cairo::Context>&',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* has_reference */))')
-#m4end
-//#m4 _CONVERSION(`GdkRectangle*',`const Gdk::Rectangle&',`Glib::wrap($3)')
+#m4 _CONVERSION(`cairo_t*',`const Cairo::RefPtr<Cairo::Context>&',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false))')
 #m4 _CONVERSION(`GtkTextIter*',`Gtk::TextIter&',`Glib::wrap($3)')
 
-  _WRAP_VFUNC(void begin(
-                  const Cairo::RefPtr<Cairo::Context>& cr,
-                  const Gdk::Rectangle& background_area,
-                  const Gdk::Rectangle& cell_area,
-                  Gtk::TextIter& start,
-                  Gtk::TextIter& end), begin)
+  _WRAP_VFUNC(void begin(const Cairo::RefPtr<Cairo::Context>& cr,
+                         const Gdk::Rectangle& background_area,
+                         const Gdk::Rectangle& cell_area,
+                         Gtk::TextIter& start,
+                         Gtk::TextIter& end), begin)
 
-  _WRAP_VFUNC(void draw(
-                  const Cairo::RefPtr<Cairo::Context>& cr,
-                  const Gdk::Rectangle& background_area,
-                  const Gdk::Rectangle& cell_area,
-                  Gtk::TextIter& start,
-                  Gtk::TextIter& end,
-                  SourceGutterRendererState), draw)
+  _WRAP_VFUNC(void draw(const Cairo::RefPtr<Cairo::Context>& cr,
+                        const Gdk::Rectangle& background_area,
+                        const Gdk::Rectangle& cell_area,
+                        Gtk::TextIter& start,
+                        Gtk::TextIter& end,
+                        SourceGutterRendererState), draw)
 
   _WRAP_VFUNC(void end(), end)
 
-public:
+#m4 _CONVERSION(`Gtk::TextView*',`GtkTextView*',`Glib::unwrap($3)')
+  _WRAP_VFUNC(void change_view(Gtk::TextView* old_view), change_view)
+
+#m4 _CONVERSION(`GtkTextBuffer*',`const Glib::RefPtr<Gtk::TextBuffer>&',`Glib::wrap($3, true)')
+#m4 _CONVERSION(`const Glib::RefPtr<Gtk::TextBuffer>&',`GtkTextBuffer*',`Glib::unwrap($3)')
+  _WRAP_VFUNC(void change_buffer(const Glib::RefPtr<Gtk::TextBuffer>& old_buffer), change_buffer)
+
 };
 
 } // namespace Gsv
diff --git a/gtksourceview/src/sourcemarkcategory.ccg b/gtksourceview/src/sourcemarkcategory.ccg
new file mode 100644
index 0000000..c60c270
--- /dev/null
+++ b/gtksourceview/src/sourcemarkcategory.ccg
@@ -0,0 +1,36 @@
+/* sourcemarkcategory.cc
+ *
+ * Copyright (C) 2010 Krzesimir Nowak
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtksourceview/gtksourcemarkcategory.h>
+
+#include <giomm/icon.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/rgba.h>
+#include <gtkmm/widget.h>
+#include <gtksourceviewmm/sourcemark.h>
+
+namespace Gsv
+{
+
+bool SourceMarkCategory::is_background_set() const
+{
+  return gtk_source_mark_category_get_background(const_cast<SourceMarkCategory*>(this)->gobj(), 0);
+}
+
+} // namespace Gsv
diff --git a/gtksourceview/src/sourcemarkcategory.hg b/gtksourceview/src/sourcemarkcategory.hg
new file mode 100644
index 0000000..3a0216a
--- /dev/null
+++ b/gtksourceview/src/sourcemarkcategory.hg
@@ -0,0 +1,129 @@
+/* sourcemarkcategory.h
+ *
+ * Copyright (C) 2010 Krzesimir Nowak
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/// \file
+/// \brief SourceMarkCategory class
+
+#include <glibmm/object.h>
+#include <glibmm/refptr.h>
+//#include <gtksourceviewmm/sourceview.h>
+
+_DEFS(gtksourceviewmm,gtksourceview)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gio
+{
+
+class Icon;
+
+} // namespace Gio
+
+namespace Gdk
+{
+
+class Pixbuf;
+class RGBA;
+
+} // namespace Gdk
+
+namespace Gtk
+{
+
+class Widget;
+
+} // namespace Gtk
+
+namespace Gsv
+{
+
+class SourceMark;
+
+// TODO: write docs.
+class SourceMarkCategory : public Glib::Object
+{
+  _CLASS_GOBJECT(SourceMarkCategory, GtkSourceMarkCategory, GTK_SOURCE_MARK_CATEGORY, Glib::Object, GObject)
+protected:
+  _WRAP_CTOR(SourceMarkCategory(const std::string& id), gtk_source_mark_category_new)
+public:
+  _WRAP_CREATE(const std::string& id)
+
+  _WRAP_METHOD(std::string get_id() const, gtk_source_mark_category_get_id)
+
+  _WRAP_METHOD(bool get_background(Gdk::RGBA& rgba) const, gtk_source_mark_category_get_background)
+
+  bool is_background_set() const;
+
+  _WRAP_METHOD(void set_background(const Gdk::RGBA& rgba), gtk_source_mark_category_set_background)
+
+  _WRAP_METHOD(int get_priority() const, gtk_source_mark_category_get_priority)
+
+  _WRAP_METHOD(void set_priority(int priority), gtk_source_mark_category_set_priority)
+
+  _WRAP_METHOD(std::string get_stock_id() const, gtk_source_mark_category_get_stock_id)
+
+  _WRAP_METHOD(void set_stock_id(const std::string& stock_id), gtk_source_mark_category_set_stock_id)
+
+  _WRAP_METHOD(void set_icon_name(const std::string& icon_name), gtk_source_mark_category_set_icon_name)
+
+  _WRAP_METHOD(std::string get_stock_icon_name() const, gtk_source_mark_category_get_stock_icon_name)
+
+#m4 _CONVERSION(`GIcon*', `Glib::RefPtr<Gio::Icon>', `Glib::wrap($3)')
+  _WRAP_METHOD(Glib::RefPtr<Gio::Icon> get_icon(), gtk_source_mark_category_get_gicon, refreturn)
+
+  _WRAP_METHOD(Glib::RefPtr<const Gio::Icon> get_icon() const, gtk_source_mark_category_get_gicon, constversion)
+
+#m4 _CONVERSION(`const Glib::RefPtr<Gio::Icon>&', `GIcon*', `Glib::unwrap($3)')
+  _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gio::Icon>& icon), gtk_source_mark_category_set_gicon)
+
+#m4 _CONVERSION(`const GdkPixbuf*', `Glib::RefPtr<const Gdk::Pixbuf>', `Glib::wrap(const_cast<GdkPixbuf*>($3))')
+  _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const, gtk_source_mark_category_get_pixbuf, refreturn)
+
+#m4 _CONVERSION(`const Glib::RefPtr<const Gdk::Pixbuf>&', `const GdkPixbuf*', `Glib::unwrap($3)')
+  _WRAP_METHOD(void set_pixbuf(const Glib::RefPtr<const Gdk::Pixbuf>& pixbuf), gtk_source_mark_category_set_pixbuf)
+
+  _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> render_icon(Gtk::Widget* widget, int size) const, gtk_source_mark_category_render_icon)
+
+  _WRAP_METHOD(Glib::ustring get_tooltip_text(const Glib::RefPtr<SourceMark>& mark) const, gtk_source_mark_category_get_tooltip_text)
+
+  _WRAP_METHOD(Glib::ustring get_tooltip_markup(const Glib::RefPtr<SourceMark>& mark) const, gtk_source_mark_category_get_tooltip_markup)
+
+  _WRAP_PROPERTY("id", std::string)
+
+  _WRAP_PROPERTY("background", Gdk::RGBA)
+
+  _WRAP_PROPERTY("priority", int)
+
+  _WRAP_PROPERTY("stock-id", std::string)
+
+  _WRAP_PROPERTY("pixbuf", Glib::RefPtr<Gdk::Pixbuf>)
+
+  _WRAP_PROPERTY("icon-name", std::string)
+
+  _WRAP_PROPERTY("gicon", Glib::RefPtr<Gio::Icon>)
+
+#m4 _CONVERSION(`GtkSourceMark*',`const Glib::RefPtr<SourceMark>&',`Glib::wrap($3, true)')
+#m4 _CONVERSION(`Glib::ustring',`const gchar*',`($3).c_str()')
+  _WRAP_SIGNAL(Glib::ustring query_tooltip_text(const Glib::RefPtr<SourceMark>& mark), "query-tooltip-text", no_default_handler)
+
+  _WRAP_SIGNAL(Glib::ustring query_tooltip_markup(const Glib::RefPtr<SourceMark>& mark), "query-tooltip-markup", no_default_handler)
+};
+
+} // namespace Gsv
+
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]