+(** {2 GtkSourceLanguage} *)
+
+class source_language_signals:
+ ([> Gtk_sourceview.source_language ] as 'b) obj ->
+ object ('a)
+ inherit ['b] GObj.gobject_signals
+ method tag_style_changed: callback:(string -> unit) -> GtkSignal.id
+ end
+
+class source_language:
+ Gtk_sourceview.source_language obj ->
+ object
+ method as_source_language: Gtk_sourceview.source_language obj
+ method connect: source_language_signals
+ method get_escape_char: Glib.unichar
+ method get_name: string
+ method get_section: string
+ method misc: GObj.gobject_ops
+ end
+
+(** {2 GtkSourceLanguagesManager} *)
+
+class source_languages_manager:
+ Gtk_sourceview.source_languages_manager obj ->
+ object
+ method get_oid: int
+ method as_source_languages_manager:
+ Gtk_sourceview.source_languages_manager obj
+ method get_language_from_mime_type: string -> source_language option
+ method lang_files_dirs: string list
+ end
+
+val source_languages_manager:
+(* ?lang_files_dirs:string list -> *)
+ unit ->
+ source_languages_manager
+
+val source_language_from_file:
+ ?languages_manager:source_languages_manager -> string ->
+ source_language option
+
+(** {2 GtkSourceBuffer} *)
+
+class source_buffer_signals:
+ ([> Gtk_sourceview.source_buffer ] as 'b) obj ->
+ object ('a)
+ inherit GText.buffer_signals
+ method can_redo: callback:(bool -> unit) -> GtkSignal.id
+ method can_undo: callback:(bool -> unit) -> GtkSignal.id
+ method highlight_updated:
+ callback:(Gtk.text_iter -> Gtk.text_iter -> unit) -> GtkSignal.id
+ method marker_updated: callback:(Gtk.text_iter -> unit) -> GtkSignal.id
+ end
+
+class source_buffer:
+ Gtk_sourceview.source_buffer obj ->
+ object
+ inherit GText.buffer_skel
+ method connect: source_buffer_signals
+ method misc: GObj.gobject_ops
+ method check_brackets: bool
+ method set_check_brackets: bool -> unit
+(* method set_bracket_match_style: tag_style -> unit *)
+ method highlight: bool
+ method set_highlight: bool -> unit
+ method max_undo_levels: int
+ method set_max_undo_levels: int -> unit
+ method language: source_language option
+ method set_language: source_language -> unit
+ method escape_char: Glib.unichar
+ method set_escape_char: Glib.unichar -> unit
+ method can_undo: bool
+ method can_redo: bool
+ method undo: unit -> unit
+ method redo: unit -> unit
+ method begin_not_undoable_action: unit -> unit
+ method end_not_undoable_action: unit -> unit
+(* method create_marker: name:char -> typ:char -> source_marker *)
+(* method move_marker: source_marker -> Gtext.text_iter -> unit *)
+(* method delete_marker: source_marker -> unit *)
+(* method get_marker: name:char -> source_marker *)
+(* method get_markers_in_region:
+ start:text_iter -> stop:text_iter -> source_marker list *)
+(* method get_first_marker: unit -> source_marker *)
+(* method get_last_marker: unit -> source_marker *)
+(* method get_iter_at_marker: ... *)
+(* method get_next_marker: unit -> source_marker *)
+(* method get_prev_marker: unit -> source_marker *)
+ end
+
+val source_buffer:
+ ?language:source_language ->
+(* ?tag_table:source_tag_table -> *)
+ ?text:string ->
+ ?check_brackets:bool ->
+ ?escape_char:int ->
+ ?highlight:bool ->
+ ?max_undo_levels:int ->
+ unit ->
+ source_buffer
+
+(** {2 GtkSourceView} *)
+
+class source_view_signals: