sig
  val cast : 'Gobject.obj -> GtkSourceView3_types.source_view Gobject.obj
  module P = GtkSourceView3Props.SourceView.P
  module S = GtkSourceView3Props.SourceView.S
  val create :
    GtkSourceView3_types.source_view Gobject.param list ->
    GtkSourceView3_types.source_view Gobject.obj
  external get_completion :
    [> `sourceview ] Gobject.obj ->
    GtkSourceView3_types.source_completion Gobject.obj
    = "ml_gtk_source_view_get_completion"
  external get_draw_spaces :
    [> `sourceview ] Gobject.obj ->
    SourceView3Enums.source_draw_spaces_flags list
    = "ml_gtk_source_view_get_draw_spaces"
  external set_draw_spaces :
    [> `sourceview ] Gobject.obj ->
    SourceView3Enums.source_draw_spaces_flags list -> unit
    = "ml_gtk_source_view_set_draw_spaces"
  external set_mark_attributes :
    [> `sourceview ] Gobject.obj ->
    category:string ->
    GtkSourceView3_types.source_mark_attributes Gobject.obj -> int -> unit
    = "ml_gtk_source_view_set_mark_attributes"
  val make_params :
    cont:(([> `sourceview ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param 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 -> 'b
  external new_ : unit -> GtkSourceView3_types.source_view Gtk.obj
    = "ml_gtk_source_view_new"
  external new_with_buffer :
    [> `sourcebuffer ] Gtk.obj -> GtkSourceView3_types.source_view Gtk.obj
    = "ml_gtk_source_view_new_with_buffer"
  external get_mark_attributes :
    [> `sourceview ] Gtk.obj ->
    category:string ->
    GtkSourceView3_types.source_mark_attributes Gtk.obj option
    = "ml_gtk_source_view_get_mark_attributes"
  external get_mark_priority :
    [> `sourceview ] Gtk.obj -> category:string -> int
    = "ml_gtk_source_view_get_mark_priority"
  external set_cursor_color : [> `sourceview ] Gtk.obj -> Gdk.color -> unit
    = "ml_gtk_modify_cursor_color"
end