sig
  class source_style_scheme :
    GtkSourceView3_types.source_style_scheme Gtk.obj ->
    object
      method as_source_style_scheme :
        GtkSourceView3_types.source_style_scheme Gtk.obj
      method description : string
      method name : string
    end
  class source_style_scheme_manager :
    GtkSourceView3_types.source_style_scheme_manager Gtk.obj ->
    object
      method append_search_path : string -> unit
      method force_rescan : unit -> unit
      method prepend_search_path : string -> unit
      method search_path : string list
      method set_search_path : string list -> unit
      method style_scheme : string -> GSourceView3.source_style_scheme option
      method style_scheme_ids : string list
    end
  val source_style_scheme_manager :
    default:bool -> GSourceView3.source_style_scheme_manager
  class source_completion_info_signals :
    GtkSourceView3_types.source_completion_info Gtk.obj ->
    object ('a)
      method add : callback:(GObj.widget -> unit) -> GtkSignal.id
      method after : 'a
      method before_show : callback:(unit -> unit) -> GtkSignal.id
      method destroy : callback:(unit -> unit) -> GtkSignal.id
      method notify_border_width : callback:(int -> unit) -> GtkSignal.id
      method notify_max_height : callback:(int -> unit) -> GtkSignal.id
      method notify_max_width : callback:(int -> unit) -> GtkSignal.id
      method notify_resize_mode :
        callback:(GtkEnums.resize_mode -> unit) -> GtkSignal.id
      method notify_shrink_height : callback:(bool -> unit) -> GtkSignal.id
      method notify_shrink_width : callback:(bool -> unit) -> GtkSignal.id
      method remove : callback:(GObj.widget -> unit) -> GtkSignal.id
    end
  class source_completion_info :
    ([> GtkSourceView3_types.source_completion_info ] as 'a) Gtk.obj ->
    object
      val obj : 'Gtk.obj
      method accept_focus : bool
      method activate_default : unit -> bool
      method activate_focus : unit -> bool
      method add : GObj.widget -> unit
      method add_accel_group : Gtk.accel_group -> unit
      method all_children : GObj.widget list
      method as_source_completion_info :
        GtkSourceView3_types.source_completion_info Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method as_window : Gtk.window Gtk.obj
      method border_width : int
      method child : GObj.widget
      method children : GObj.widget list
      method coerce : GObj.widget
      method connect : GContainer.container_signals
      method decorated : bool
      method default_height : int
      method default_width : int
      method deiconify : unit -> unit
      method deletable : bool
      method destroy : unit -> unit
      method destroy_with_parent : bool
      method drag : GObj.drag_ops
      method event : GObj.event_ops
      method focus : GContainer.focus
      method focus_on_map : bool
      method fullscreen : unit -> unit
      method get_oid : int
      method gravity : GdkEnums.gravity
      method has_toplevel_focus : bool
      method icon : GdkPixbuf.pixbuf option
      method icon_name : string
      method iconify : unit -> unit
      method is_active : bool
      method kind : Gtk.Tags.window_type
      method max_height : int
      method max_width : int
      method maximize : unit -> unit
      method misc : GObj.misc_ops
      method modal : bool
      method move : x:int -> y:int -> unit
      method opacity : float
      method parse_geometry : string -> bool
      method position : Gtk.Tags.window_position
      method present : unit -> unit
      method remove : GObj.widget -> unit
      method resizable : bool
      method resize : width:int -> height:int -> unit
      method resize_mode : Gtk.Tags.resize_mode
      method role : string
      method screen : Gdk.screen
      method set_accept_focus : bool -> unit
      method set_border_width : int -> unit
      method set_decorated : bool -> unit
      method set_default_height : int -> unit
      method set_default_size : width:int -> height:int -> unit
      method set_default_width : int -> unit
      method set_deletable : bool -> unit
      method set_destroy_with_parent : bool -> unit
      method set_focus_on_map : bool -> unit
      method set_geometry_hints :
        ?min_size:int * int ->
        ?max_size:int * int ->
        ?base_size:int * int ->
        ?aspect:float * float ->
        ?resize_inc:int * int ->
        ?win_gravity:Gdk.Tags.gravity ->
        ?pos:bool -> ?user_pos:bool -> ?user_size:bool -> GObj.widget -> unit
      method set_gravity : Gdk.Tags.gravity -> unit
      method set_icon : GdkPixbuf.pixbuf option -> unit
      method set_icon_name : string -> unit
      method set_max_height : int -> unit
      method set_max_width : int -> unit
      method set_modal : bool -> unit
      method set_opacity : float -> unit
      method set_position : Gtk.Tags.window_position -> unit
      method set_resizable : bool -> unit
      method set_resize_mode : Gtk.Tags.resize_mode -> unit
      method set_role : string -> unit
      method set_screen : Gdk.screen -> unit
      method set_shrink_height : bool -> unit
      method set_shrink_width : bool -> unit
      method set_skip_pager_hint : bool -> unit
      method set_skip_taskbar_hint : bool -> unit
      method set_title : string -> unit
      method set_transient_for : Gtk.window Gtk.obj -> unit
      method set_type_hint : Gdk.Tags.window_type_hint -> unit
      method set_urgency_hint : bool -> unit
      method set_widget : GObj.widget -> unit
      method set_wmclass : name:string -> clas:string -> unit
      method show : unit -> unit
      method shrink_height : bool
      method shrink_width : bool
      method skip_pager_hint : bool
      method skip_taskbar_hint : bool
      method stick : unit -> unit
      method title : string
      method type_hint : Gdk.Tags.window_type_hint
      method unfullscreen : unit -> unit
      method unmaximize : unit -> unit
      method unstick : unit -> unit
      method urgency_hint : bool
      method widget : GObj.widget
    end
  class source_completion_proposal_signals :
    GtkSourceView3_types.source_completion_proposal Gtk.obj ->
    object ('a)
      method after : 'a
      method changed : callback:(unit -> unit) -> GtkSignal.id
      method notify_icon :
        callback:(GdkPixbuf.pixbuf -> unit) -> GtkSignal.id
      method notify_info : callback:(string -> unit) -> GtkSignal.id
      method notify_label : callback:(string -> unit) -> GtkSignal.id
      method notify_markup : callback:(string -> unit) -> GtkSignal.id
      method notify_text : callback:(string -> unit) -> GtkSignal.id
    end
  class source_completion_proposal :
    GtkSourceView3_types.source_completion_proposal Gtk.obj ->
    object
      method as_source_completion_proposal :
        GtkSourceView3_types.source_completion_proposal Gtk.obj
      method connect : GSourceView3.source_completion_proposal_signals
      method icon : GdkPixbuf.pixbuf
      method info : string
      method label : string
      method markup : string
      method text : string
    end
  class source_completion_item :
    GtkSourceView3_types.source_completion_proposal Gtk.obj ->
    object
      method as_source_completion_proposal :
        GtkSourceView3_types.source_completion_proposal Gtk.obj
      method connect : source_completion_proposal_signals
      method icon : GdkPixbuf.pixbuf
      method info : string
      method label : string
      method markup : string
      method set_icon : GdkPixbuf.pixbuf -> unit
      method set_info : string -> unit
      method set_label : string -> unit
      method set_markup : string -> unit
      method set_text : string -> unit
      method text : string
    end
  val source_completion_item :
    ?label:string ->
    ?text:string ->
    ?icon:GdkPixbuf.pixbuf ->
    ?info:string -> unit -> GSourceView3.source_completion_item
  val source_completion_item_with_markup :
    ?label:string ->
    ?text:string ->
    ?icon:GdkPixbuf.pixbuf ->
    ?info:string -> unit -> GSourceView3.source_completion_item
  val source_completion_item_from_stock :
    ?label:string ->
    ?text:string ->
    stock:GtkStock.id ->
    info:string -> unit -> GSourceView3.source_completion_item
  class source_completion_provider :
    GtkSourceView3_types.source_completion_provider Gtk.obj ->
    object
      method activate_proposal :
        GSourceView3.source_completion_proposal -> GText.iter -> bool
      method activation :
        SourceView3Enums.source_completion_activation_flags list
      method as_source_completion_provider :
        GtkSourceView3_types.source_completion_provider Gtk.obj
      method icon : GdkPixbuf.pixbuf option
      method info_widget :
        GSourceView3.source_completion_proposal -> GObj.widget option
      method interactive_delay : int
      method matched : GSourceView3.source_completion_context -> bool
      method name : string
      method populate : GSourceView3.source_completion_context -> unit
      method priority : int
      method start_iter :
        GSourceView3.source_completion_context ->
        GSourceView3.source_completion_proposal -> GText.iter
      method update_info :
        GSourceView3.source_completion_proposal ->
        GSourceView3.source_completion_info -> unit
    end
  and source_completion_context_signals :
    GtkSourceView3_types.source_completion_context Gtk.obj ->
    object ('a)
      method after : 'a
      method cancelled : callback:(unit -> unit) -> GtkSignal.id
    end
  and source_completion_context :
    GtkSourceView3_types.source_completion_context Gtk.obj ->
    object
      method activation :
        SourceView3Enums.source_completion_activation_flags list
      method add_proposals :
        GSourceView3.source_completion_provider ->
        GSourceView3.source_completion_proposal list -> bool -> unit
      method as_source_completion_context :
        GtkSourceView3_types.source_completion_context Gtk.obj
      method connect : GSourceView3.source_completion_context_signals
      method iter : GText.iter
      method set_activation :
        SourceView3Enums.source_completion_activation_flags list -> unit
      method set_iter : GText.iter -> unit
    end
  class type custom_completion_provider =
    object
      method activate_proposal :
        GSourceView3.source_completion_proposal -> GText.iter -> bool
      method activation :
        SourceView3Enums.source_completion_activation_flags list
      method icon : GdkPixbuf.pixbuf option
      method info_widget :
        GSourceView3.source_completion_proposal -> GObj.widget option
      method interactive_delay : int
      method matched : GSourceView3.source_completion_context -> bool
      method name : string
      method populate : GSourceView3.source_completion_context -> unit
      method priority : int
      method start_iter :
        GSourceView3.source_completion_context ->
        GSourceView3.source_completion_proposal -> GText.iter -> bool
      method update_info :
        GSourceView3.source_completion_proposal ->
        GSourceView3.source_completion_info -> unit
    end
  val source_completion_provider :
    GSourceView3.custom_completion_provider ->
    GSourceView3.source_completion_provider
  class source_completion_signals :
    GtkSourceView3_types.source_completion Gtk.obj ->
    object ('a)
      method activate_proposal : callback:(unit -> unit) -> GtkSignal.id
      method after : 'a
      method hide : callback:(unit -> unit) -> GtkSignal.id
      method move_cursor :
        callback:(GtkEnums.scroll_step -> int -> unit) -> GtkSignal.id
      method move_page :
        callback:(GtkEnums.scroll_step -> int -> unit) -> GtkSignal.id
      method notify_accelerators : callback:(int -> unit) -> GtkSignal.id
      method notify_auto_complete_delay :
        callback:(int -> unit) -> GtkSignal.id
      method notify_proposal_page_size :
        callback:(int -> unit) -> GtkSignal.id
      method notify_provider_page_size :
        callback:(int -> unit) -> GtkSignal.id
      method notify_remember_info_visibility :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_select_on_show : callback:(bool -> unit) -> GtkSignal.id
      method notify_show_headers : callback:(bool -> unit) -> GtkSignal.id
      method notify_show_icons : callback:(bool -> unit) -> GtkSignal.id
      method populate_context :
        callback:(GSourceView3.source_completion_context -> unit) ->
        GtkSignal.id
      method show : callback:(unit -> unit) -> GtkSignal.id
    end
  class source_completion :
    GtkSourceView3_types.source_completion Gtk.obj ->
    object
      method accelerators : int
      method add_provider : GSourceView3.source_completion_provider -> bool
      method as_source_completion :
        GtkSourceView3_types.source_completion Gtk.obj
      method auto_complete_delay : int
      method block_interactive : unit -> unit
      method connect : GSourceView3.source_completion_signals
      method create_context :
        GText.iter -> GSourceView3.source_completion_context
      method hide : unit -> unit
      method move_window : GText.iter -> unit
      method proposal_page_size : int
      method provider_page_size : int
      method providers : GSourceView3.source_completion_provider list
      method remember_info_visibility : bool
      method remove_provider :
        GSourceView3.source_completion_provider -> bool
      method select_on_show : bool
      method set_accelerators : int -> unit
      method set_auto_complete_delay : int -> unit
      method set_proposal_page_size : int -> unit
      method set_provider_page_size : int -> unit
      method set_remember_info_visibility : bool -> unit
      method set_select_on_show : bool -> unit
      method set_show_headers : bool -> unit
      method set_show_icons : bool -> unit
      method show :
        GSourceView3.source_completion_provider list ->
        GSourceView3.source_completion_context -> bool
      method show_headers : bool
      method show_icons : bool
      method unblock_interactive : unit -> unit
    end
  class source_language :
    GtkSourceView3_types.source_language Gtk.obj ->
    object
      method as_source_language :
        GtkSourceView3_types.source_language Gtk.obj
      method globs : string list
      method hidden : bool
      method id : string
      method metadata : string -> string option
      method mime_types : string list
      method misc : GObj.gobject_ops
      method name : string
      method section : string
      method style_ids : string list
      method style_name : string -> string option
    end
  class source_language_manager :
    GtkSourceView3_types.source_language_manager Gtk.obj ->
    object
      method as_source_language_manager :
        GtkSourceView3_types.source_language_manager Gtk.obj
      method get_oid : int
      method guess_language :
        ?filename:string ->
        ?content_type:string -> unit -> GSourceView3.source_language option
      method language : string -> GSourceView3.source_language option
      method language_ids : string list
      method search_path : string list
      method set_search_path : string list -> unit
    end
  val source_language_manager :
    default:bool -> GSourceView3.source_language_manager
  class source_mark :
    GtkSourceView3_types.source_mark Gtk.obj ->
    object
      method as_source_mark : GtkSourceView3_types.source_mark Gtk.obj
      method category : string option
      method coerce : GText.mark
      method next :
        ?category:string -> unit -> GSourceView3.source_mark option
      method prev :
        ?category:string -> unit -> GSourceView3.source_mark option
    end
  val source_mark : ?category:string -> unit -> GSourceView3.source_mark
  class source_undo_manager_signals :
    GtkSourceView3_types.source_undo_manager Gtk.obj ->
    object ('a)
      method after : 'a
      method can_redo_changed : callback:(unit -> unit) -> GtkSignal.id
      method can_undo_changed : callback:(unit -> unit) -> GtkSignal.id
    end
  class source_undo_manager :
    GtkSourceView3_types.source_undo_manager Gtk.obj ->
    object
      val obj : GtkSourceView3_types.source_undo_manager Gtk.obj
      method as_source_undo_manager :
        GtkSourceView3_types.source_undo_manager Gtk.obj
      method begin_not_undoable_action : unit -> unit
      method can_redo : bool
      method can_redo_changed : unit -> unit
      method can_undo : bool
      method can_undo_changed : unit -> unit
      method connect : GSourceView3.source_undo_manager_signals
      method end_not_undoable_action : unit -> unit
      method redo : unit -> unit
      method undo : unit -> unit
    end
  class type custom_undo_manager =
    object
      method begin_not_undoable_action : unit -> unit
      method can_redo : bool
      method can_redo_changed : unit -> unit
      method can_undo : bool
      method can_undo_changed : unit -> unit
      method end_not_undoable_action : unit -> unit
      method redo : unit -> unit
      method undo : unit -> unit
    end
  val source_undo_manager :
    GSourceView3.custom_undo_manager -> GSourceView3.source_undo_manager
  class source_buffer_signals :
    GtkSourceView3_types.source_buffer Gtk.obj ->
    object ('a)
      method after : 'a
      method apply_tag :
        callback:(GText.tag -> start:GText.iter -> stop:GText.iter -> unit) ->
        GtkSignal.id
      method begin_user_action : callback:(unit -> unit) -> GtkSignal.id
      method changed : callback:(unit -> unit) -> GtkSignal.id
      method private connect :
        'c.
          (GtkSourceView3_types.source_buffer, 'c) GtkSignal.t ->
          callback:'-> GtkSignal.id
      method delete_range :
        callback:(start:GText.iter -> stop:GText.iter -> unit) ->
        GtkSignal.id
      method end_user_action : callback:(unit -> unit) -> GtkSignal.id
      method highlight_updated :
        callback:(Gtk.text_iter -> Gtk.text_iter -> unit) -> GtkSignal.id
      method insert_child_anchor :
        callback:(GText.iter -> Gtk.text_child_anchor -> unit) ->
        GtkSignal.id
      method insert_pixbuf :
        callback:(GText.iter -> GdkPixbuf.pixbuf -> unit) -> GtkSignal.id
      method insert_text :
        callback:(GText.iter -> string -> unit) -> GtkSignal.id
      method mark_deleted : callback:(Gtk.text_mark -> unit) -> GtkSignal.id
      method mark_set :
        callback:(GText.iter -> Gtk.text_mark -> unit) -> GtkSignal.id
      method modified_changed : callback:(unit -> unit) -> GtkSignal.id
      method private notify :
        'c.
          (GtkSourceView3_types.source_buffer, 'c) Gobject.property ->
          callback:('-> unit) -> GtkSignal.id
      method notify_can_redo : callback:(bool -> unit) -> GtkSignal.id
      method notify_can_undo : callback:(bool -> unit) -> GtkSignal.id
      method notify_cursor_position : callback:(int -> unit) -> GtkSignal.id
      method notify_has_selection : callback:(bool -> unit) -> GtkSignal.id
      method notify_highlight_matching_brackets :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_highlight_syntax :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_max_undo_levels : callback:(int -> unit) -> GtkSignal.id
      method notify_tag_table :
        callback:(Gtk.text_tag_table -> unit) -> GtkSignal.id
      method remove_tag :
        callback:(GText.tag -> start:GText.iter -> stop:GText.iter -> unit) ->
        GtkSignal.id
      method source_mark_updated :
        callback:(GtkSourceView3_types.source_mark Gtk.obj -> unit) ->
        GtkSignal.id
    end
  and source_buffer :
    GtkSourceView3_types.source_buffer Gtk.obj ->
    object
      val obj : GtkSourceView3_types.source_buffer Gtk.obj
      method add_selection_clipboard : GData.clipboard -> unit
      method apply_tag :
        GText.tag -> start:GText.iter -> stop:GText.iter -> unit
      method apply_tag_by_name :
        string -> start:GText.iter -> stop:GText.iter -> unit
      method as_buffer : Gtk.text_buffer
      method as_source_buffer : GtkSourceView3_types.source_buffer Gtk.obj
      method backward_iter_to_source_mark :
        ?category:string -> GText.iter -> bool
      method begin_not_undoable_action : unit -> unit
      method begin_user_action : unit -> unit
      method bounds : GText.iter * GText.iter
      method can_redo : bool
      method can_undo : bool
      method char_count : int
      method connect : GSourceView3.source_buffer_signals
      method copy_clipboard : GData.clipboard -> unit
      method create_child_anchor : GText.iter -> GText.child_anchor
      method create_mark :
        ?name:string -> ?left_gravity:bool -> GText.iter -> Gtk.text_mark
      method create_source_mark :
        ?name:string ->
        ?category:string -> GText.iter -> GSourceView3.source_mark
      method create_tag :
        ?name:string -> GText.tag_property list -> GText.tag
      method cursor_position : int
      method cut_clipboard :
        ?default_editable:bool -> GData.clipboard -> unit
      method delete : start:GText.iter -> stop:GText.iter -> unit
      method delete_interactive :
        start:GText.iter ->
        stop:GText.iter -> ?default_editable:bool -> unit -> bool
      method delete_mark : GText.mark -> unit
      method delete_selection :
        ?interactive:bool -> ?default_editable:bool -> unit -> bool
      method end_iter : GText.iter
      method end_not_undoable_action : unit -> unit
      method end_user_action : unit -> unit
      method ensure_highlight : start:GText.iter -> stop:GText.iter -> unit
      method forward_iter_to_source_mark :
        ?category:string -> GText.iter -> bool
      method get_iter : GText.position -> GText.iter
      method get_iter_at_byte : line:int -> int -> GText.iter
      method get_iter_at_char : ?line:int -> int -> GText.iter
      method get_iter_at_mark : GText.mark -> GText.iter
      method get_mark : GText.mark -> Gtk.text_mark
      method get_oid : int
      method get_text :
        ?start:GText.iter ->
        ?stop:GText.iter -> ?slice:bool -> ?visible:bool -> unit -> string
      method has_selection : bool
      method highlight_matching_brackets : bool
      method highlight_syntax : bool
      method insert :
        ?iter:GText.iter ->
        ?tag_names:string list -> ?tags:GText.tag list -> string -> unit
      method insert_child_anchor : GText.iter -> GText.child_anchor -> unit
      method insert_interactive :
        ?iter:GText.iter -> ?default_editable:bool -> string -> bool
      method insert_pixbuf :
        iter:GText.iter -> pixbuf:GdkPixbuf.pixbuf -> unit
      method insert_range :
        iter:GText.iter -> start:GText.iter -> stop:GText.iter -> unit
      method insert_range_interactive :
        iter:GText.iter ->
        start:GText.iter ->
        stop:GText.iter -> ?default_editable:bool -> unit -> bool
      method iter_backward_to_context_class_toggle :
        GText.iter -> string -> bool
      method iter_forward_to_context_class_toggle :
        GText.iter -> string -> bool
      method iter_has_context_class : GText.iter -> string -> bool
      method language : GSourceView3.source_language option
      method line_count : int
      method max_undo_levels : int
      method misc : GObj.gobject_ops
      method modified : bool
      method move_mark : GText.mark -> where:GText.iter -> unit
      method paste_clipboard :
        ?iter:GText.iter -> ?default_editable:bool -> GData.clipboard -> unit
      method place_cursor : where:GText.iter -> unit
      method redo : unit -> unit
      method remove_all_tags : start:GText.iter -> stop:GText.iter -> unit
      method remove_selection_clipboard : GData.clipboard -> unit
      method remove_source_marks :
        ?category:string ->
        start:GText.iter -> stop:GText.iter -> unit -> unit
      method remove_tag :
        GText.tag -> start:GText.iter -> stop:GText.iter -> unit
      method remove_tag_by_name :
        string -> start:GText.iter -> stop:GText.iter -> unit
      method select_range : GText.iter -> GText.iter -> unit
      method selection_bounds : GText.iter * GText.iter
      method set_highlight_matching_brackets : bool -> unit
      method set_highlight_syntax : bool -> unit
      method set_language : GSourceView3.source_language option -> unit
      method set_max_undo_levels : int -> unit
      method set_modified : bool -> unit
      method set_style_scheme :
        GSourceView3.source_style_scheme option -> unit
      method set_text : string -> unit
      method set_undo_manager : GSourceView3.source_undo_manager -> unit
      method source_marks_at_iter :
        ?category:string -> GText.iter -> GSourceView3.source_mark list
      method source_marks_at_line :
        ?category:string -> int -> GSourceView3.source_mark list
      method start_iter : GText.iter
      method style_scheme : GSourceView3.source_style_scheme option
      method tag_table : Gtk.text_tag_table
      method undo : unit -> unit
      method undo_manager : GSourceView3.source_undo_manager
    end
  val source_buffer :
    ?language:GSourceView3.source_language ->
    ?style_scheme:GSourceView3.source_style_scheme ->
    ?tag_table:GText.tag_table ->
    ?text:string ->
    ?undo_manager:GSourceView3.source_undo_manager ->
    ?highlight_matching_brackets:bool ->
    ?highlight_syntax:bool ->
    ?max_undo_levels:int -> unit -> GSourceView3.source_buffer
  class source_view_signals :
    [> GtkSourceView3_types.source_view ] Gtk.obj ->
    object ('a)
      method after : 'a
      method copy_clipboard : callback:(unit -> unit) -> GtkSignal.id
      method cut_clipboard : callback:(unit -> unit) -> GtkSignal.id
      method delete_from_cursor :
        callback:(Gtk.Tags.delete_type -> int -> unit) -> GtkSignal.id
      method destroy : callback:(unit -> unit) -> GtkSignal.id
      method insert_at_cursor : callback:(string -> unit) -> GtkSignal.id
      method line_mark_activated :
        callback:(Gtk.text_iter -> GdkEvent.any -> unit) -> GtkSignal.id
      method move_cursor :
        callback:(Gtk.Tags.movement_step -> int -> extend:bool -> unit) ->
        GtkSignal.id
      method move_focus :
        callback:(Gtk.Tags.direction_type -> unit) -> GtkSignal.id
      method move_lines : callback:(bool -> int -> unit) -> GtkSignal.id
      method move_words : callback:(int -> unit) -> GtkSignal.id
      method notify_accepts_tab : callback:(bool -> unit) -> GtkSignal.id
      method notify_auto_indent : callback:(bool -> unit) -> GtkSignal.id
      method notify_bottom_margin : callback:(int -> unit) -> GtkSignal.id
      method notify_cursor_visible : callback:(bool -> unit) -> GtkSignal.id
      method notify_editable : callback:(bool -> unit) -> GtkSignal.id
      method notify_highlight_current_line :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_im_module : callback:(string -> unit) -> GtkSignal.id
      method notify_indent : callback:(int -> unit) -> GtkSignal.id
      method notify_indent_on_tab : callback:(bool -> unit) -> GtkSignal.id
      method notify_indent_width : callback:(int -> unit) -> GtkSignal.id
      method notify_input_hints :
        callback:(GtkEnums.input_hints -> unit) -> GtkSignal.id
      method notify_input_purpose :
        callback:(GtkEnums.input_purpose -> unit) -> GtkSignal.id
      method notify_insert_spaces_instead_of_tabs :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_justification :
        callback:(GtkEnums.justification -> unit) -> GtkSignal.id
      method notify_left_margin : callback:(int -> unit) -> GtkSignal.id
      method notify_monospace : callback:(bool -> unit) -> GtkSignal.id
      method notify_overwrite : callback:(bool -> unit) -> GtkSignal.id
      method notify_pixels_above_lines :
        callback:(int -> unit) -> GtkSignal.id
      method notify_pixels_below_lines :
        callback:(int -> unit) -> GtkSignal.id
      method notify_pixels_inside_wrap :
        callback:(int -> unit) -> GtkSignal.id
      method notify_populate_all : callback:(bool -> unit) -> GtkSignal.id
      method notify_right_margin : callback:(int -> unit) -> GtkSignal.id
      method notify_right_margin_position :
        callback:(int -> unit) -> GtkSignal.id
      method notify_show_line_marks : callback:(bool -> unit) -> GtkSignal.id
      method notify_show_line_numbers :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_show_right_margin :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_smart_home_end :
        callback:(SourceView3Enums.source_smart_home_end_type -> unit) ->
        GtkSignal.id
      method notify_tab_width : callback:(int -> unit) -> GtkSignal.id
      method notify_top_margin : callback:(int -> unit) -> GtkSignal.id
      method notify_wrap_mode :
        callback:(GtkEnums.wrap_mode -> unit) -> GtkSignal.id
      method page_horizontally :
        callback:(int -> extend:bool -> unit) -> GtkSignal.id
      method paste_clipboard : callback:(unit -> unit) -> GtkSignal.id
      method populate_popup :
        callback:(Gtk.menu Gtk.obj -> unit) -> GtkSignal.id
      method redo : callback:(unit -> unit) -> GtkSignal.id
      method set_anchor : callback:(unit -> unit) -> GtkSignal.id
      method set_scroll_adjustments :
        callback:(GData.adjustment option -> GData.adjustment option -> unit) ->
        GtkSignal.id
      method show_completion : callback:(unit -> unit) -> GtkSignal.id
      method smart_home_end :
        callback:(Gtk.text_iter -> int -> unit) -> GtkSignal.id
      method toggle_overwrite : callback:(unit -> unit) -> GtkSignal.id
      method undo : callback:(unit -> unit) -> GtkSignal.id
    end
  class source_view :
    GtkSourceView3_types.source_view Gtk.obj ->
    object
      val obj : GtkSourceView3_types.source_view Gtk.obj
      method accepts_tab : bool
      method add_child_at_anchor : GObj.widget -> GText.child_anchor -> unit
      method add_child_in_window :
        child:GObj.widget ->
        which_window:Gtk.Tags.text_window_type -> x:int -> y:int -> unit
      method as_view : Gtk.text_view Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method auto_indent : bool
      method backward_display_line : GText.iter -> bool
      method backward_display_line_start : GText.iter -> bool
      method bottom_margin : int
      method buffer : GText.buffer
      method buffer_to_window_coords :
        tag:Gtk.Tags.text_window_type -> x:int -> y:int -> int * int
      method coerce : GObj.widget
      method completion : GSourceView3.source_completion
      method connect : GSourceView3.source_view_signals
      method cursor_visible : bool
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method draw_spaces : SourceView3Enums.source_draw_spaces_flags list
      method editable : bool
      method event : GObj.event_ops
      method forward_display_line : GText.iter -> bool
      method forward_display_line_end : GText.iter -> bool
      method get_border_window_size :
        [ `BOTTOM | `LEFT | `RIGHT | `TOP ] -> int
      method get_iter_at_location : x:int -> y:int -> GText.iter
      method get_iter_location : GText.iter -> Gdk.Rectangle.t
      method get_line_at_y : int -> GText.iter * int
      method get_line_yrange : GText.iter -> int * int
      method get_oid : int
      method get_window : Gtk.Tags.text_window_type -> Gdk.window option
      method get_window_type : Gdk.window -> Gtk.Tags.text_window_type
      method highlight_current_line : bool
      method im_module : string
      method indent : int
      method indent_on_tab : bool
      method indent_width : int
      method input_hints : GtkEnums.input_hints
      method input_purpose : GtkEnums.input_purpose
      method insert_spaces_instead_of_tabs : bool
      method justification : Gtk.Tags.justification
      method left_margin : int
      method misc : GObj.misc_ops
      method monospace : bool
      method move_child : child:GObj.widget -> x:int -> y:int -> unit
      method move_mark_onscreen : GText.mark -> bool
      method move_visually : GText.iter -> int -> bool
      method overwrite : bool
      method pixels_above_lines : int
      method pixels_below_lines : int
      method pixels_inside_wrap : int
      method place_cursor_onscreen : unit -> bool
      method populate_all : bool
      method right_margin : int
      method right_margin_position : int
      method scroll_mark_onscreen : GText.mark -> unit
      method scroll_to_iter :
        ?within_margin:float ->
        ?use_align:bool ->
        ?xalign:float -> ?yalign:float -> GText.iter -> bool
      method scroll_to_mark :
        ?within_margin:float ->
        ?use_align:bool ->
        ?xalign:float -> ?yalign:float -> GText.mark -> unit
      method set_accepts_tab : bool -> unit
      method set_auto_indent : bool -> unit
      method set_border_window_size :
        typ:[ `BOTTOM | `LEFT | `RIGHT | `TOP ] -> size:int -> unit
      method set_bottom_margin : int -> unit
      method set_buffer : GText.buffer -> unit
      method set_cursor_color : Gdk.color -> unit
      method set_cursor_visible : bool -> unit
      method set_draw_spaces :
        SourceView3Enums.source_draw_spaces_flags list -> unit
      method set_editable : bool -> unit
      method set_highlight_current_line : bool -> unit
      method set_im_module : string -> unit
      method set_indent : int -> unit
      method set_indent_on_tab : bool -> unit
      method set_indent_width : int -> unit
      method set_input_hints : GtkEnums.input_hints -> unit
      method set_input_purpose : GtkEnums.input_purpose -> unit
      method set_insert_spaces_instead_of_tabs : bool -> unit
      method set_justification : Gtk.Tags.justification -> unit
      method set_left_margin : int -> unit
      method set_monospace : bool -> unit
      method set_overwrite : bool -> unit
      method set_pixels_above_lines : int -> unit
      method set_pixels_below_lines : int -> unit
      method set_pixels_inside_wrap : int -> unit
      method set_populate_all : bool -> unit
      method set_right_margin : int -> unit
      method set_right_margin_position : int -> unit
      method set_show_line_marks : bool -> unit
      method set_show_line_numbers : bool -> unit
      method set_show_right_margin : bool -> unit
      method set_smart_home_end :
        SourceView3Enums.source_smart_home_end_type -> unit
      method set_tab_width : int -> unit
      method set_top_margin : int -> unit
      method set_wrap_mode : Gtk.Tags.wrap_mode -> unit
      method show_line_marks : bool
      method show_line_numbers : bool
      method show_right_margin : bool
      method smart_home_end : SourceView3Enums.source_smart_home_end_type
      method source_buffer : GSourceView3.source_buffer
      method starts_display_line : GText.iter -> bool
      method tab_width : int
      method top_margin : int
      method visible_rect : Gdk.Rectangle.t
      method window_to_buffer_coords :
        tag:Gtk.Tags.text_window_type -> x:int -> y:int -> int * int
      method wrap_mode : Gtk.Tags.wrap_mode
    end
  val source_view :
    ?source_buffer:GSourceView3.source_buffer ->
    ?draw_spaces:SourceView3Enums.source_draw_spaces_flags list ->
    ?auto_indent:bool ->
    ?highlight_current_line:bool ->
    ?indent_on_tab:bool ->
    ?indent_width:int ->
    ?insert_spaces_instead_of_tabs:bool ->
    ?right_margin_position:int ->
    ?show_line_marks:bool ->
    ?show_line_numbers:bool ->
    ?show_right_margin:bool ->
    ?smart_home_end:SourceView3Enums.source_smart_home_end_type ->
    ?tab_width:int ->
    ?editable:bool ->
    ?cursor_visible:bool ->
    ?justification:GtkEnums.justification ->
    ?wrap_mode:GtkEnums.wrap_mode ->
    ?accepts_tab:bool ->
    ?border_width:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) ->
    ?show:bool -> unit -> GSourceView3.source_view
end