<!-- ##### SECTION Title ##### -->
GtkSourceBuffer

<!-- ##### SECTION Short_Description ##### -->
Text buffer object for #GtkSourceView

<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkSourceBuffer object is the model for #GtkSourceView widgets.
It extends the #GtkTextBuffer object by adding features necessary to
display and edit source code: syntax highlighting, bracket matching
and markers.  It also implements support for undo/redo operations.
</para>

<para>
To create a #GtkSourceBuffer use gtk_source_buffer_new() or
gtk_source_buffer_new_with_language().  The second form is just a
convenience function which allows you to initially set a
#GtkSourceLanguage.
</para>

<para>
By default highlighting is enabled, but you can disable it with
gtk_source_buffer_set_highlight().
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
There is an <link linkend="TextWidget">introduction</link> document
describing the basic concepts of the buffer/view interactions.
</para>

<para>
Check #GtkTextBuffer for information about the base buffer; and
#GtkSourceView for examples on setting up the buffer to be displayed
in a view widget.
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### STRUCT GtkSourceBuffer ##### -->
<para>

</para>


<!-- ##### SIGNAL GtkSourceBuffer::highlight-updated ##### -->
<para>

</para>

@sourcebuffer: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### ARG GtkSourceBuffer:can-redo ##### -->
<para>

</para>

<!-- ##### ARG GtkSourceBuffer:can-undo ##### -->
<para>

</para>

<!-- ##### ARG GtkSourceBuffer:highlight-matching-brackets ##### -->
<para>

</para>

<!-- ##### ARG GtkSourceBuffer:highlight-syntax ##### -->
<para>

</para>

<!-- ##### ARG GtkSourceBuffer:language ##### -->
<para>

</para>

<!-- ##### ARG GtkSourceBuffer:max-undo-levels ##### -->
<para>

</para>

<!-- ##### ARG GtkSourceBuffer:style-scheme ##### -->
<para>

</para>

<!-- ##### STRUCT GtkSourceBufferClass ##### -->
<para>

</para>

@parent_class: 
@_gtk_source_reserved1: 
@_gtk_source_reserved2: 
@_gtk_source_reserved3: 
@_gtk_source_reserved4: 
@_gtk_source_reserved5: 
@_gtk_source_reserved6: 

<!-- ##### FUNCTION gtk_source_buffer_new ##### -->
<para>

</para>

@table: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_new_with_language ##### -->
<para>

</para>

@language: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_set_highlight_syntax ##### -->
<para>

</para>

@buffer: 
@highlight: 


<!-- ##### FUNCTION gtk_source_buffer_get_highlight_syntax ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_set_language ##### -->
<para>

</para>

@buffer: 
@language: 


<!-- ##### FUNCTION gtk_source_buffer_get_language ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_set_highlight_matching_brackets ##### -->
<para>

</para>

@buffer: 
@highlight: 


<!-- ##### FUNCTION gtk_source_buffer_get_highlight_matching_brackets ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_set_style_scheme ##### -->
<para>

</para>

@buffer: 
@scheme: 


<!-- ##### FUNCTION gtk_source_buffer_get_style_scheme ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_get_max_undo_levels ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_set_max_undo_levels ##### -->
<para>

</para>

@buffer: 
@max_undo_levels: 


<!-- ##### FUNCTION gtk_source_buffer_redo ##### -->
<para>

</para>

@buffer: 


<!-- ##### FUNCTION gtk_source_buffer_undo ##### -->
<para>

</para>

@buffer: 


<!-- ##### FUNCTION gtk_source_buffer_can_redo ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_can_undo ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_source_buffer_begin_not_undoable_action ##### -->
<para>

</para>

@buffer: 


<!-- ##### FUNCTION gtk_source_buffer_end_not_undoable_action ##### -->
<para>

</para>

@buffer: 


<!-- ##### FUNCTION gtk_source_buffer_ensure_highlight ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 


