sig
  val cast : 'Gobject.obj -> GtkSourceView_types.source_view Gobject.obj
  module P :
    sig
      val auto_indent : ([> `sourceview ], bool) Gobject.property
      val highlight_current_line : ([> `sourceview ], bool) Gobject.property
      val insert_spaces_instead_of_tabs :
        ([> `sourceview ], bool) Gobject.property
      val margin : ([> `sourceview ], int) Gobject.property
      val show_line_markers : ([> `sourceview ], bool) Gobject.property
      val show_line_numbers : ([> `sourceview ], bool) Gobject.property
      val show_margin : ([> `sourceview ], bool) Gobject.property
      val smart_home_end : ([> `sourceview ], bool) Gobject.property
      val tabs_width : ([> `sourceview ], int) Gobject.property
    end
  module S :
    sig
      val redo : ([> `sourceview ], unit -> unit) GtkSignal.t
      val undo : ([> `sourceview ], unit -> unit) GtkSignal.t
    end
  val create :
    GtkSourceView_types.source_view Gobject.param list ->
    GtkSourceView_types.source_view Gobject.obj
  val make_params :
    cont:(([> `sourceview ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?auto_indent:bool ->
    ?highlight_current_line:bool ->
    ?insert_spaces_instead_of_tabs:bool ->
    ?margin:int ->
    ?show_line_markers:bool ->
    ?show_line_numbers:bool ->
    ?show_margin:bool -> ?smart_home_end:bool -> ?tabs_width:int -> 'b
end