# Module GtkSourceView2.SourceBuffer

    module SourceBuffer: sig .. end

    include GtkSourceView2Props.SourceBuffer

    val new_ : [ `texttagtable ] Gtk.obj -> GtkSourceView2_types.source_buffer Gtk.obj

    val new_with_langage : [> `sourcelanguage ] Gtk.obj -> GtkSourceView2_types.source_buffer Gtk.obj

    val undo : [> `sourcebuffer ] Gtk.obj -> unit

    val redo : [> `sourcebuffer ] Gtk.obj -> unit

    val begin_not_undoable_action : [> `sourcebuffer ] Gtk.obj -> unit

    val end_not_undoable_action : [> `sourcebuffer ] Gtk.obj -> unit

    val set_highlight_matching_brackets : [> `sourcebuffer ] Gtk.obj -> bool -> unit

    val create_source_mark : [> `sourcebuffer ] Gtk.obj ->
           string option ->
           string option -> Gtk.text_iter -> GtkSourceView2_types.source_mark Gtk.obj

    val remove_source_marks : [> `sourcebuffer ] Gtk.obj ->
           Gtk.text_iter -> Gtk.text_iter -> string option -> unit

    val get_source_marks_at_line : [> `sourcebuffer ] Gtk.obj ->
           int -> string option -> GtkSourceView2_types.source_mark Gtk.obj list

    val get_source_marks_at_iter : [> `sourcebuffer ] Gtk.obj ->
           Gtk.text_iter ->
           string option -> GtkSourceView2_types.source_mark Gtk.obj list

    val forward_iter_to_source_mark : [> `sourcebuffer ] Gtk.obj -> Gtk.text_iter -> string option -> bool

    val backward_iter_to_source_mark : [> `sourcebuffer ] Gtk.obj -> Gtk.text_iter -> string option -> bool

    val iter_has_context_class : [> `sourcebuffer ] Gtk.obj -> Gtk.text_iter -> string -> bool

    val iter_forward_to_context_class_toggle : [> `sourcebuffer ] Gtk.obj -> Gtk.text_iter -> string -> bool

    val iter_backward_to_context_class_toggle : [> `sourcebuffer ] Gtk.obj -> Gtk.text_iter -> string -> bool

    val ensure_highlight : [> `sourcebuffer ] Gtk.obj -> Gtk.text_iter -> Gtk.text_iter -> unit