/* gtksourceview-4.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Gtk", gir_namespace = "GtkSource", gir_version = "4", lower_case_cprefix = "gtk_")]
namespace Gtk {
	namespace SourceUtils {
		[CCode (cheader_filename = "gtksourceview/gtksource.h")]
		[Version (since = "3.10")]
		public static string escape_search_text (string text);
		[CCode (cheader_filename = "gtksourceview/gtksource.h")]
		[Version (since = "3.10")]
		public static string unescape_search_text (string text);
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_buffer_get_type ()")]
	[GIR (name = "Buffer")]
	public class SourceBuffer : Gtk.TextBuffer {
		[CCode (has_construct_function = false)]
		public SourceBuffer (Gtk.TextTagTable? table);
		[Version (since = "2.2")]
		public bool backward_iter_to_source_mark (ref Gtk.TextIter iter, string? category);
		public void begin_not_undoable_action ();
		[Version (since = "3.12")]
		public void change_case (Gtk.SourceChangeCaseType case_type, Gtk.TextIter start, Gtk.TextIter end);
		[Version (since = "2.2")]
		public unowned Gtk.SourceMark create_source_mark (string? name, string category, Gtk.TextIter where);
		public void end_not_undoable_action ();
		public void ensure_highlight (Gtk.TextIter start, Gtk.TextIter end);
		[Version (since = "2.2")]
		public bool forward_iter_to_source_mark (ref Gtk.TextIter iter, string? category);
		[CCode (array_length = false, array_null_terminated = true)]
		[Version (since = "2.10")]
		public string[] get_context_classes_at_iter (Gtk.TextIter iter);
		public bool get_highlight_matching_brackets ();
		public bool get_highlight_syntax ();
		[Version (since = "3.14")]
		public bool get_implicit_trailing_newline ();
		public unowned Gtk.SourceLanguage? get_language ();
		public int get_max_undo_levels ();
		[Version (since = "2.2")]
		public GLib.SList<weak Gtk.SourceMark> get_source_marks_at_iter (Gtk.TextIter iter, string? category);
		[Version (since = "2.2")]
		public GLib.SList<weak Gtk.SourceMark> get_source_marks_at_line (int line, string? category);
		public unowned Gtk.SourceStyleScheme? get_style_scheme ();
		public unowned Gtk.SourceUndoManager? get_undo_manager ();
		[Version (since = "2.10")]
		public bool iter_backward_to_context_class_toggle (ref Gtk.TextIter iter, string context_class);
		[Version (since = "2.10")]
		public bool iter_forward_to_context_class_toggle (ref Gtk.TextIter iter, string context_class);
		[Version (since = "2.10")]
		public bool iter_has_context_class (Gtk.TextIter iter, string context_class);
		[Version (since = "3.16")]
		public void join_lines (Gtk.TextIter start, Gtk.TextIter end);
		[Version (since = "2.2")]
		public void remove_source_marks (Gtk.TextIter start, Gtk.TextIter end, string? category);
		public void set_highlight_matching_brackets (bool highlight);
		public void set_highlight_syntax (bool highlight);
		[Version (since = "3.14")]
		public void set_implicit_trailing_newline (bool implicit_trailing_newline);
		public void set_language (Gtk.SourceLanguage? language);
		public void set_max_undo_levels (int max_undo_levels);
		public void set_style_scheme (Gtk.SourceStyleScheme? scheme);
		public void set_undo_manager (Gtk.SourceUndoManager? manager);
		[Version (since = "3.18")]
		public void sort_lines (Gtk.TextIter start, Gtk.TextIter end, Gtk.SourceSortFlags flags, int column);
		[CCode (has_construct_function = false)]
		public SourceBuffer.with_language (Gtk.SourceLanguage language);
		[NoAccessorMethod]
		public bool can_redo { get; }
		[NoAccessorMethod]
		public bool can_undo { get; }
		public bool highlight_matching_brackets { get; set; }
		public bool highlight_syntax { get; set; }
		[Version (since = "3.14")]
		public bool implicit_trailing_newline { get; set construct; }
		public Gtk.SourceLanguage language { get; set; }
		public int max_undo_levels { get; set; }
		public Gtk.SourceStyleScheme style_scheme { get; set; }
		public Gtk.SourceUndoManager undo_manager { get; set construct; }
		[Version (since = "2.12")]
		public virtual signal void bracket_matched (Gtk.TextIter? iter, Gtk.SourceBracketMatchType state);
		public signal void highlight_updated (Gtk.TextIter start, Gtk.TextIter end);
		[HasEmitter]
		public virtual signal void redo ();
		public signal void source_mark_updated (Gtk.TextMark mark);
		[HasEmitter]
		public virtual signal void undo ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_get_type ()")]
	[GIR (name = "Completion")]
	public class SourceCompletion : GLib.Object, Gtk.Buildable {
		[CCode (has_construct_function = false)]
		protected SourceCompletion ();
		public bool add_provider (Gtk.SourceCompletionProvider provider) throws GLib.Error;
		public void block_interactive ();
		public unowned Gtk.SourceCompletionContext create_context (Gtk.TextIter? position);
		public unowned Gtk.SourceCompletionInfo get_info_window ();
		public unowned GLib.List<Gtk.SourceCompletionProvider> get_providers ();
		public unowned Gtk.SourceView? get_view ();
		[NoWrapper]
		public virtual bool proposal_activated (Gtk.SourceCompletionProvider provider, Gtk.SourceCompletionProposal proposal);
		public bool remove_provider (Gtk.SourceCompletionProvider provider) throws GLib.Error;
		public bool start (GLib.List<Gtk.SourceCompletionProvider>? providers, Gtk.SourceCompletionContext context);
		public void unblock_interactive ();
		[NoAccessorMethod]
		public uint accelerators { get; set construct; }
		[NoAccessorMethod]
		public uint auto_complete_delay { get; set construct; }
		[NoAccessorMethod]
		public uint proposal_page_size { get; set construct; }
		[NoAccessorMethod]
		public uint provider_page_size { get; set construct; }
		[NoAccessorMethod]
		public bool remember_info_visibility { get; set construct; }
		[NoAccessorMethod]
		public bool select_on_show { get; set construct; }
		[NoAccessorMethod]
		public bool show_headers { get; set construct; }
		[NoAccessorMethod]
		public bool show_icons { get; set construct; }
		public Gtk.SourceView view { get; construct; }
		public virtual signal void activate_proposal ();
		[HasEmitter]
		public virtual signal void hide ();
		public virtual signal void move_cursor (Gtk.ScrollStep step, int num);
		public virtual signal void move_page (Gtk.ScrollStep step, int num);
		public virtual signal void populate_context (Gtk.SourceCompletionContext context);
		public virtual signal void show ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_context_get_type ()")]
	[GIR (name = "CompletionContext")]
	public class SourceCompletionContext : GLib.InitiallyUnowned {
		[CCode (has_construct_function = false)]
		protected SourceCompletionContext ();
		public void add_proposals (Gtk.SourceCompletionProvider provider, GLib.List<Gtk.SourceCompletionProposal>? proposals, bool finished);
		public Gtk.SourceCompletionActivation get_activation ();
		public bool get_iter (out Gtk.TextIter iter);
		[NoAccessorMethod]
		public Gtk.SourceCompletionActivation activation { get; set construct; }
		[NoAccessorMethod]
		public Gtk.SourceCompletion completion { owned get; construct; }
		[NoAccessorMethod]
		public Gtk.TextIter iter { owned get; set; }
		public virtual signal void cancelled ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_info_get_type ()")]
	[GIR (name = "CompletionInfo")]
	public class SourceCompletionInfo : Gtk.Window, Atk.Implementor, Gtk.Buildable {
		[CCode (has_construct_function = false)]
		public SourceCompletionInfo ();
		public void move_to_iter (Gtk.TextView view, Gtk.TextIter? iter);
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_item_get_type ()")]
	[GIR (name = "CompletionItem")]
	public class SourceCompletionItem : GLib.Object, Gtk.SourceCompletionProposal {
		[CCode (has_construct_function = false)]
		[Version (since = "4.0")]
		public SourceCompletionItem ();
		[Version (since = "3.24")]
		public void set_gicon (GLib.Icon? gicon);
		[Version (since = "3.24")]
		public void set_icon (Gdk.Pixbuf? icon);
		[Version (since = "3.24")]
		public void set_icon_name (string? icon_name);
		[Version (since = "3.24")]
		public void set_info (string? info);
		[Version (since = "3.24")]
		public void set_label (string? label);
		[Version (since = "3.24")]
		public void set_markup (string? markup);
		[Version (since = "3.24")]
		public void set_text (string? text);
		[NoAccessorMethod]
		[Version (since = "3.18")]
		public GLib.Icon gicon { owned get; set; }
		[NoAccessorMethod]
		public Gdk.Pixbuf icon { owned get; set; }
		[NoAccessorMethod]
		[Version (since = "3.18")]
		public string icon_name { owned get; set; }
		[NoAccessorMethod]
		public string info { owned get; set; }
		[NoAccessorMethod]
		public string label { owned get; set; }
		[NoAccessorMethod]
		public string markup { owned get; set; }
		[NoAccessorMethod]
		public string text { owned get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_words_get_type ()")]
	[GIR (name = "CompletionWords")]
	public class SourceCompletionWords : GLib.Object, Gtk.SourceCompletionProvider {
		[CCode (has_construct_function = false)]
		public SourceCompletionWords (string? name, Gdk.Pixbuf? icon);
		public void register (Gtk.TextBuffer buffer);
		public void unregister (Gtk.TextBuffer buffer);
		[NoAccessorMethod]
		[Version (since = "3.10")]
		public Gtk.SourceCompletionActivation activation { get; set construct; }
		[NoAccessorMethod]
		public Gdk.Pixbuf icon { owned get; set construct; }
		[NoAccessorMethod]
		public int interactive_delay { get; set construct; }
		[NoAccessorMethod]
		public uint minimum_word_size { get; set construct; }
		[NoAccessorMethod]
		public string name { owned get; set construct; }
		[NoAccessorMethod]
		public int priority { get; set construct; }
		[NoAccessorMethod]
		public uint proposals_batch_size { get; set construct; }
		[NoAccessorMethod]
		public uint scan_batch_size { get; set construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gtk_source_encoding_get_type ()")]
	[Compact]
	[GIR (name = "Encoding")]
	public class SourceEncoding {
		[Version (since = "3.14")]
		public Gtk.SourceEncoding copy ();
		[CCode (cname = "gtk_source_encoding_get_all")]
		[Version (replacement = "Encoding.get_all", since = "3.14")]
		public static GLib.SList<weak Gtk.SourceEncoding> et_all ();
		[CCode (cname = "gtk_source_encoding_get_current")]
		[Version (replacement = "Encoding.get_current", since = "3.14")]
		public static unowned Gtk.SourceEncoding et_current ();
		[CCode (cname = "gtk_source_encoding_get_default_candidates")]
		[Version (replacement = "Encoding.get_default_candidates", since = "3.18")]
		public static GLib.SList<weak Gtk.SourceEncoding> et_default_candidates ();
		[CCode (cname = "gtk_source_encoding_get_from_charset")]
		[Version (replacement = "Encoding.get_from_charset", since = "3.14")]
		public static unowned Gtk.SourceEncoding? et_from_charset (string charset);
		[CCode (cname = "gtk_source_encoding_get_utf8")]
		[Version (replacement = "Encoding.get_utf8", since = "3.14")]
		public static unowned Gtk.SourceEncoding et_utf8 ();
		[Version (since = "3.14")]
		public void free ();
		[Version (since = "3.14")]
		public static GLib.SList<weak Gtk.SourceEncoding> get_all ();
		[Version (since = "3.14")]
		public unowned string get_charset ();
		[Version (since = "3.14")]
		public static unowned Gtk.SourceEncoding get_current ();
		[Version (since = "3.18")]
		public static GLib.SList<weak Gtk.SourceEncoding> get_default_candidates ();
		[Version (since = "3.14")]
		public static unowned Gtk.SourceEncoding? get_from_charset (string charset);
		[Version (since = "3.14")]
		public unowned string get_name ();
		[Version (since = "3.14")]
		public static unowned Gtk.SourceEncoding get_utf8 ();
		[Version (since = "3.14")]
		public string to_string ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_file_get_type ()")]
	[GIR (name = "File")]
	public class SourceFile : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.14")]
		public SourceFile ();
		[Version (since = "3.18")]
		public void check_file_on_disk ();
		[Version (since = "3.14")]
		public Gtk.SourceCompressionType get_compression_type ();
		[Version (since = "3.14")]
		public unowned Gtk.SourceEncoding get_encoding ();
		[Version (since = "3.14")]
		public unowned GLib.File get_location ();
		[Version (since = "3.14")]
		public Gtk.SourceNewlineType get_newline_type ();
		[Version (since = "3.18")]
		public bool is_deleted ();
		[Version (since = "3.18")]
		public bool is_externally_modified ();
		[Version (since = "3.18")]
		public bool is_local ();
		[Version (since = "3.18")]
		public bool is_readonly ();
		[Version (since = "3.14")]
		public void set_location (GLib.File? location);
		[Version (since = "3.14")]
		public Gtk.SourceCompressionType compression_type { get; }
		[Version (since = "3.14")]
		public Gtk.SourceEncoding encoding { get; }
		[Version (since = "3.14")]
		public GLib.File location { get; set construct; }
		[Version (since = "3.14")]
		public Gtk.SourceNewlineType newline_type { get; }
		[NoAccessorMethod]
		[Version (since = "3.18")]
		public bool read_only { get; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_file_loader_get_type ()")]
	[GIR (name = "FileLoader")]
	public class SourceFileLoader : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.14")]
		public SourceFileLoader (Gtk.SourceBuffer buffer, Gtk.SourceFile file);
		[CCode (has_construct_function = false)]
		[Version (since = "3.14")]
		public SourceFileLoader.from_stream (Gtk.SourceBuffer buffer, Gtk.SourceFile file, GLib.InputStream stream);
		[Version (since = "3.14")]
		public unowned Gtk.SourceBuffer get_buffer ();
		[Version (since = "3.14")]
		public Gtk.SourceCompressionType get_compression_type ();
		[Version (since = "3.14")]
		public unowned Gtk.SourceEncoding get_encoding ();
		[Version (since = "3.14")]
		public unowned Gtk.SourceFile get_file ();
		[Version (since = "3.14")]
		public unowned GLib.InputStream? get_input_stream ();
		[Version (since = "3.14")]
		public unowned GLib.File? get_location ();
		[Version (since = "3.14")]
		public Gtk.SourceNewlineType get_newline_type ();
		[Version (since = "3.14")]
		public async bool load_async (int io_priority, GLib.Cancellable? cancellable, owned GLib.FileProgressCallback? progress_callback) throws GLib.Error;
		[Version (since = "3.14")]
		public void set_candidate_encodings (GLib.SList<Gtk.SourceEncoding> candidate_encodings);
		[Version (since = "3.14")]
		public Gtk.SourceBuffer buffer { get; construct; }
		[Version (since = "3.14")]
		public Gtk.SourceFile file { get; construct; }
		[Version (since = "3.14")]
		public GLib.InputStream input_stream { get; construct; }
		[Version (since = "3.14")]
		public GLib.File location { get; construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_file_saver_get_type ()")]
	[GIR (name = "FileSaver")]
	public class SourceFileSaver : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.14")]
		public SourceFileSaver (Gtk.SourceBuffer buffer, Gtk.SourceFile file);
		[Version (since = "3.14")]
		public unowned Gtk.SourceBuffer get_buffer ();
		[Version (since = "3.14")]
		public Gtk.SourceCompressionType get_compression_type ();
		[Version (since = "3.14")]
		public unowned Gtk.SourceEncoding get_encoding ();
		[Version (since = "3.14")]
		public unowned Gtk.SourceFile get_file ();
		[Version (since = "3.14")]
		public Gtk.SourceFileSaverFlags get_flags ();
		[Version (since = "3.14")]
		public unowned GLib.File get_location ();
		[Version (since = "3.14")]
		public Gtk.SourceNewlineType get_newline_type ();
		[Version (since = "3.14")]
		public async bool save_async (int io_priority, GLib.Cancellable? cancellable, owned GLib.FileProgressCallback? progress_callback) throws GLib.Error;
		[Version (since = "3.14")]
		public void set_compression_type (Gtk.SourceCompressionType compression_type);
		[Version (since = "3.14")]
		public void set_encoding (Gtk.SourceEncoding? encoding);
		[Version (since = "3.14")]
		public void set_flags (Gtk.SourceFileSaverFlags flags);
		[Version (since = "3.14")]
		public void set_newline_type (Gtk.SourceNewlineType newline_type);
		[CCode (has_construct_function = false)]
		[Version (since = "3.14")]
		public SourceFileSaver.with_target (Gtk.SourceBuffer buffer, Gtk.SourceFile file, GLib.File target_location);
		[Version (since = "3.14")]
		public Gtk.SourceBuffer buffer { get; construct; }
		[Version (since = "3.14")]
		public Gtk.SourceCompressionType compression_type { get; set construct; }
		[Version (since = "3.14")]
		public Gtk.SourceEncoding encoding { get; set construct; }
		[Version (since = "3.14")]
		public Gtk.SourceFile file { get; construct; }
		[Version (since = "3.14")]
		public Gtk.SourceFileSaverFlags flags { get; set construct; }
		[Version (since = "3.14")]
		public GLib.File location { get; construct; }
		[Version (since = "3.14")]
		public Gtk.SourceNewlineType newline_type { get; set construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_get_type ()")]
	[GIR (name = "Gutter")]
	public class SourceGutter : GLib.Object {
		[CCode (has_construct_function = false)]
		protected SourceGutter ();
		public unowned Gtk.SourceGutterRenderer? get_renderer_at_pos (int x, int y);
		[Version (since = "3.24")]
		public unowned Gtk.SourceView get_view ();
		[Version (since = "3.24")]
		public Gtk.TextWindowType get_window_type ();
		[Version (since = "3.0")]
		public bool insert (Gtk.SourceGutterRenderer renderer, int position);
		[Version (since = "2.8")]
		public void queue_draw ();
		[Version (since = "2.8")]
		public void remove (Gtk.SourceGutterRenderer renderer);
		[Version (since = "2.8")]
		public void reorder (Gtk.SourceGutterRenderer renderer, int position);
		public Gtk.SourceView view { get; construct; }
		public Gtk.TextWindowType window_type { get; construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_get_type ()")]
	[GIR (name = "GutterRenderer")]
	public abstract class SourceGutterRenderer : GLib.InitiallyUnowned {
		[CCode (has_construct_function = false)]
		protected SourceGutterRenderer ();
		public virtual void begin (Cairo.Context cr, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.TextIter start, Gtk.TextIter end);
		[NoWrapper]
		public virtual void change_buffer (Gtk.TextBuffer? old_buffer);
		[NoWrapper]
		public virtual void change_view (Gtk.TextView? old_view);
		public virtual void draw (Cairo.Context cr, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.TextIter start, Gtk.TextIter end, Gtk.SourceGutterRendererState state);
		public virtual void end ();
		public void get_alignment (out float xalign, out float yalign);
		public Gtk.SourceGutterRendererAlignmentMode get_alignment_mode ();
		public bool get_background (out Gdk.RGBA color);
		public void get_padding (out int xpad, out int ypad);
		public int get_size ();
		public unowned Gtk.TextView get_view ();
		public bool get_visible ();
		public Gtk.TextWindowType get_window_type ();
		public void set_alignment (float xalign, float yalign);
		public void set_alignment_mode (Gtk.SourceGutterRendererAlignmentMode mode);
		public void set_background (Gdk.RGBA? color);
		public void set_padding (int xpad, int ypad);
		public void set_size (int size);
		public void set_visible (bool visible);
		public Gtk.SourceGutterRendererAlignmentMode alignment_mode { get; set construct; }
		[NoAccessorMethod]
		public Gdk.RGBA background_rgba { owned get; set; }
		[NoAccessorMethod]
		public bool background_set { get; set construct; }
		public int size { get; set construct; }
		public Gtk.TextView view { get; }
		public bool visible { get; set construct; }
		public Gtk.TextWindowType window_type { get; }
		[NoAccessorMethod]
		public float xalign { get; set construct; }
		[NoAccessorMethod]
		public int xpad { get; set construct; }
		[NoAccessorMethod]
		public float yalign { get; set construct; }
		[NoAccessorMethod]
		public int ypad { get; set construct; }
		[HasEmitter]
		public virtual signal void activate (Gtk.TextIter iter, Gdk.Rectangle area, Gdk.Event event);
		[HasEmitter]
		public virtual signal bool query_activatable (Gtk.TextIter iter, Gdk.Rectangle area, Gdk.Event event);
		[HasEmitter]
		public virtual signal void query_data (Gtk.TextIter start, Gtk.TextIter end, Gtk.SourceGutterRendererState state);
		[HasEmitter]
		public virtual signal bool query_tooltip (Gtk.TextIter iter, Gdk.Rectangle area, int x, int y, Gtk.Tooltip tooltip);
		[HasEmitter]
		public virtual signal void queue_draw ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_pixbuf_get_type ()")]
	[GIR (name = "GutterRendererPixbuf")]
	public class SourceGutterRendererPixbuf : Gtk.SourceGutterRenderer {
		[CCode (has_construct_function = false, type = "GtkSourceGutterRenderer*")]
		public SourceGutterRendererPixbuf ();
		public unowned GLib.Icon get_gicon ();
		public unowned string get_icon_name ();
		public unowned Gdk.Pixbuf get_pixbuf ();
		public void set_gicon (GLib.Icon? icon);
		public void set_icon_name (string? icon_name);
		public void set_pixbuf (Gdk.Pixbuf? pixbuf);
		public GLib.Icon gicon { get; set; }
		public string icon_name { get; set; }
		public Gdk.Pixbuf pixbuf { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_text_get_type ()")]
	[GIR (name = "GutterRendererText")]
	public class SourceGutterRendererText : Gtk.SourceGutterRenderer {
		[CCode (has_construct_function = false, type = "GtkSourceGutterRenderer*")]
		public SourceGutterRendererText ();
		public void measure (string text, out int width, out int height);
		public void measure_markup (string markup, out int width, out int height);
		public void set_markup (string markup, int length);
		public void set_text (string text, int length);
		[NoAccessorMethod]
		public string markup { owned get; set construct; }
		[NoAccessorMethod]
		public string text { owned get; set construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_language_get_type ()")]
	[GIR (name = "Language")]
	public class SourceLanguage : GLib.Object {
		[CCode (has_construct_function = false)]
		protected SourceLanguage ();
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? get_globs ();
		public bool get_hidden ();
		public unowned string get_id ();
		public unowned string? get_metadata (string name);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? get_mime_types ();
		public unowned string get_name ();
		public unowned string get_section ();
		[Version (since = "3.4")]
		public unowned string? get_style_fallback (string style_id);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? get_style_ids ();
		public unowned string? get_style_name (string style_id);
		public bool hidden { get; }
		public string id { get; }
		public string name { get; }
		public string section { get; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_language_manager_get_type ()")]
	[GIR (name = "LanguageManager")]
	public class SourceLanguageManager : GLib.Object {
		[CCode (has_construct_function = false)]
		public SourceLanguageManager ();
		public static unowned Gtk.SourceLanguageManager get_default ();
		public unowned Gtk.SourceLanguage? get_language (string id);
		[CCode (array_length = false, array_null_terminated = true)]
		public unowned string[]? get_language_ids ();
		[CCode (array_length = false, array_null_terminated = true)]
		public unowned string[] get_search_path ();
		[Version (since = "2.4")]
		public unowned Gtk.SourceLanguage? guess_language (string? filename, string? content_type);
		public void set_search_path ([CCode (array_length = false, array_null_terminated = true)] string[]? dirs);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] language_ids { get; }
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] search_path { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_map_get_type ()")]
	[GIR (name = "Map")]
	public class SourceMap : Gtk.SourceView, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		[Version (since = "3.18")]
		public SourceMap ();
		[Version (since = "3.18")]
		public unowned Gtk.SourceView? get_view ();
		[Version (since = "3.18")]
		public void set_view (Gtk.SourceView view);
		[NoAccessorMethod]
		public Pango.FontDescription font_desc { owned get; set; }
		public Gtk.SourceView view { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_mark_get_type ()")]
	[GIR (name = "Mark")]
	public class SourceMark : Gtk.TextMark {
		[CCode (has_construct_function = false)]
		[Version (since = "2.2")]
		public SourceMark (string? name, string category);
		[Version (since = "2.2")]
		public unowned string get_category ();
		[Version (since = "2.2")]
		public unowned Gtk.SourceMark? next (string? category);
		[Version (since = "2.2")]
		public unowned Gtk.SourceMark? prev (string category);
		public string category { get; construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_mark_attributes_get_type ()")]
	[GIR (name = "MarkAttributes")]
	public class SourceMarkAttributes : GLib.Object {
		[CCode (has_construct_function = false)]
		public SourceMarkAttributes ();
		public bool get_background (out Gdk.RGBA background);
		public unowned GLib.Icon get_gicon ();
		public unowned string get_icon_name ();
		public unowned Gdk.Pixbuf get_pixbuf ();
		public string get_tooltip_markup (Gtk.SourceMark mark);
		public string get_tooltip_text (Gtk.SourceMark mark);
		public unowned Gdk.Pixbuf render_icon (Gtk.Widget widget, int size);
		public void set_background (Gdk.RGBA background);
		public void set_gicon (GLib.Icon gicon);
		public void set_icon_name (string icon_name);
		public void set_pixbuf (Gdk.Pixbuf pixbuf);
		[NoAccessorMethod]
		public Gdk.RGBA background { owned get; set; }
		public GLib.Icon gicon { get; set; }
		public string icon_name { get; set; }
		public Gdk.Pixbuf pixbuf { get; set; }
		public signal string query_tooltip_markup (Gtk.SourceMark mark);
		public signal string query_tooltip_text (Gtk.SourceMark mark);
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_print_compositor_get_type ()")]
	[GIR (name = "PrintCompositor")]
	public class SourcePrintCompositor : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "2.2")]
		public SourcePrintCompositor (Gtk.SourceBuffer buffer);
		public void draw_page (Gtk.PrintContext context, int page_nr);
		[CCode (has_construct_function = false)]
		[Version (since = "2.2")]
		public SourcePrintCompositor.from_view (Gtk.SourceView view);
		[Version (since = "2.2")]
		public string get_body_font_name ();
		[Version (since = "2.2")]
		public double get_bottom_margin (Gtk.Unit unit);
		[Version (since = "2.2")]
		public unowned Gtk.SourceBuffer get_buffer ();
		[Version (since = "2.2")]
		public string get_footer_font_name ();
		[Version (since = "2.2")]
		public string get_header_font_name ();
		[Version (since = "2.2")]
		public bool get_highlight_syntax ();
		[Version (since = "2.2")]
		public double get_left_margin (Gtk.Unit unit);
		[Version (since = "2.2")]
		public string get_line_numbers_font_name ();
		[Version (since = "2.2")]
		public int get_n_pages ();
		[Version (since = "2.2")]
		public double get_pagination_progress ();
		[Version (since = "2.2")]
		public bool get_print_footer ();
		[Version (since = "2.2")]
		public bool get_print_header ();
		[Version (since = "2.2")]
		public uint get_print_line_numbers ();
		[Version (since = "2.2")]
		public double get_right_margin (Gtk.Unit unit);
		[Version (since = "2.2")]
		public uint get_tab_width ();
		[Version (since = "2.2")]
		public double get_top_margin (Gtk.Unit unit);
		[Version (since = "2.2")]
		public Gtk.WrapMode get_wrap_mode ();
		[Version (since = "2.2")]
		public bool paginate (Gtk.PrintContext context);
		[Version (since = "2.2")]
		public void set_body_font_name (string font_name);
		[Version (since = "2.2")]
		public void set_bottom_margin (double margin, Gtk.Unit unit);
		[Version (since = "2.2")]
		public void set_footer_font_name (string? font_name);
		[Version (since = "2.2")]
		public void set_footer_format (bool separator, string? left, string? center, string? right);
		[Version (since = "2.2")]
		public void set_header_font_name (string? font_name);
		[Version (since = "2.2")]
		public void set_header_format (bool separator, string? left, string? center, string? right);
		[Version (since = "2.2")]
		public void set_highlight_syntax (bool highlight);
		[Version (since = "2.2")]
		public void set_left_margin (double margin, Gtk.Unit unit);
		[Version (since = "2.2")]
		public void set_line_numbers_font_name (string? font_name);
		[Version (since = "2.2")]
		public void set_print_footer (bool print);
		[Version (since = "2.2")]
		public void set_print_header (bool print);
		[Version (since = "2.2")]
		public void set_print_line_numbers (uint interval);
		[Version (since = "2.2")]
		public void set_right_margin (double margin, Gtk.Unit unit);
		[Version (since = "2.2")]
		public void set_tab_width (uint width);
		[Version (since = "2.2")]
		public void set_top_margin (double margin, Gtk.Unit unit);
		[Version (since = "2.2")]
		public void set_wrap_mode (Gtk.WrapMode wrap_mode);
		[Version (since = "2.2")]
		public string body_font_name { owned get; set; }
		[Version (since = "2.2")]
		public Gtk.SourceBuffer buffer { get; construct; }
		[Version (since = "2.2")]
		public string footer_font_name { owned get; set; }
		[Version (since = "2.2")]
		public string header_font_name { owned get; set; }
		[Version (since = "2.2")]
		public bool highlight_syntax { get; set; }
		[Version (since = "2.2")]
		public string line_numbers_font_name { owned get; set; }
		[Version (since = "2.2")]
		public int n_pages { get; }
		[Version (since = "2.2")]
		public bool print_footer { get; set; }
		[Version (since = "2.2")]
		public bool print_header { get; set; }
		[Version (since = "2.2")]
		public uint print_line_numbers { get; set; }
		[Version (since = "2.2")]
		public uint tab_width { get; set; }
		[Version (since = "2.2")]
		public Gtk.WrapMode wrap_mode { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_region_get_type ()")]
	[GIR (name = "Region")]
	public class SourceRegion : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.22")]
		public SourceRegion (Gtk.TextBuffer buffer);
		[Version (since = "3.22")]
		public void add_region (Gtk.SourceRegion? region_to_add);
		[Version (since = "3.22")]
		public void add_subregion (Gtk.TextIter _start, Gtk.TextIter _end);
		[Version (since = "3.22")]
		public bool get_bounds (out Gtk.TextIter start, out Gtk.TextIter end);
		[Version (since = "3.22")]
		public unowned Gtk.TextBuffer? get_buffer ();
		[Version (since = "3.22")]
		public Gtk.SourceRegionIter get_start_region_iter ();
		[Version (since = "3.22")]
		public Gtk.SourceRegion? intersect_region (Gtk.SourceRegion? region2);
		[Version (since = "3.22")]
		public Gtk.SourceRegion? intersect_subregion (Gtk.TextIter _start, Gtk.TextIter _end);
		[Version (since = "3.22")]
		public bool is_empty ();
		[Version (since = "3.22")]
		public void subtract_region (Gtk.SourceRegion? region_to_subtract);
		[Version (since = "3.22")]
		public void subtract_subregion (Gtk.TextIter _start, Gtk.TextIter _end);
		[Version (since = "3.22")]
		public string? to_string ();
		[Version (since = "3.22")]
		public Gtk.TextBuffer buffer { get; construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_search_context_get_type ()")]
	[GIR (name = "SearchContext")]
	public class SourceSearchContext : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.10")]
		public SourceSearchContext (Gtk.SourceBuffer buffer, Gtk.SourceSearchSettings? settings);
		[Version (since = "4.0")]
		public bool backward (Gtk.TextIter iter, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around);
		[Version (since = "3.10")]
		public async bool backward_async (Gtk.TextIter iter, GLib.Cancellable? cancellable, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around) throws GLib.Error;
		[Version (since = "4.0")]
		public bool forward (Gtk.TextIter iter, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around);
		[Version (since = "3.10")]
		public async bool forward_async (Gtk.TextIter iter, GLib.Cancellable? cancellable, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around) throws GLib.Error;
		[Version (since = "3.10")]
		public unowned Gtk.SourceBuffer get_buffer ();
		[Version (since = "3.10")]
		public bool get_highlight ();
		[Version (since = "3.16")]
		public unowned Gtk.SourceStyle get_match_style ();
		[Version (since = "3.10")]
		public int get_occurrence_position (Gtk.TextIter match_start, Gtk.TextIter match_end);
		[Version (since = "3.10")]
		public int get_occurrences_count ();
		[Version (since = "3.10")]
		public GLib.Error? get_regex_error ();
		[Version (since = "3.10")]
		public unowned Gtk.SourceSearchSettings get_settings ();
		[Version (since = "4.0")]
		public bool replace (Gtk.TextIter match_start, Gtk.TextIter match_end, string replace, int replace_length) throws GLib.Error;
		[Version (since = "3.10")]
		public uint replace_all (string replace, int replace_length) throws GLib.Error;
		[Version (since = "3.10")]
		public void set_highlight (bool highlight);
		[Version (since = "3.16")]
		public void set_match_style (Gtk.SourceStyle? match_style);
		[Version (since = "3.10")]
		public Gtk.SourceBuffer buffer { get; construct; }
		[Version (since = "3.10")]
		public bool highlight { get; set construct; }
		[Version (since = "3.16")]
		public Gtk.SourceStyle match_style { get; set construct; }
		[Version (since = "3.10")]
		public int occurrences_count { get; }
		[Version (since = "3.10")]
		public GLib.Error? regex_error { owned get; }
		[Version (since = "3.10")]
		public Gtk.SourceSearchSettings settings { get; construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_search_settings_get_type ()")]
	[GIR (name = "SearchSettings")]
	public class SourceSearchSettings : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.10")]
		public SourceSearchSettings ();
		[Version (since = "3.10")]
		public bool get_at_word_boundaries ();
		[Version (since = "3.10")]
		public bool get_case_sensitive ();
		[Version (since = "3.10")]
		public bool get_regex_enabled ();
		[Version (since = "3.10")]
		public unowned string? get_search_text ();
		[Version (since = "3.10")]
		public bool get_wrap_around ();
		[Version (since = "3.10")]
		public void set_at_word_boundaries (bool at_word_boundaries);
		[Version (since = "3.10")]
		public void set_case_sensitive (bool case_sensitive);
		[Version (since = "3.10")]
		public void set_regex_enabled (bool regex_enabled);
		[Version (since = "3.10")]
		public void set_search_text (string? search_text);
		[Version (since = "3.10")]
		public void set_wrap_around (bool wrap_around);
		[Version (since = "3.10")]
		public bool at_word_boundaries { get; set construct; }
		[Version (since = "3.10")]
		public bool case_sensitive { get; set construct; }
		[Version (since = "3.10")]
		public bool regex_enabled { get; set construct; }
		[Version (since = "3.10")]
		public string search_text { get; set construct; }
		[Version (since = "3.10")]
		public bool wrap_around { get; set construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_space_drawer_get_type ()")]
	[GIR (name = "SpaceDrawer")]
	public class SourceSpaceDrawer : GLib.Object {
		[CCode (has_construct_function = false)]
		[Version (since = "3.24")]
		public SourceSpaceDrawer ();
		[Version (since = "3.24")]
		public void bind_matrix_setting (GLib.Settings settings, string key, GLib.SettingsBindFlags flags);
		[Version (since = "3.24")]
		public bool get_enable_matrix ();
		[Version (since = "3.24")]
		public GLib.Variant get_matrix ();
		[Version (since = "3.24")]
		public Gtk.SourceSpaceTypeFlags get_types_for_locations (Gtk.SourceSpaceLocationFlags locations);
		[Version (since = "3.24")]
		public void set_enable_matrix (bool enable_matrix);
		[Version (since = "3.24")]
		public void set_matrix (GLib.Variant? matrix);
		[Version (since = "3.24")]
		public void set_types_for_locations (Gtk.SourceSpaceLocationFlags locations, Gtk.SourceSpaceTypeFlags types);
		[Version (since = "3.24")]
		public bool enable_matrix { get; set construct; }
		[Version (since = "3.24")]
		public GLib.Variant matrix { owned get; set construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_get_type ()")]
	[GIR (name = "Style")]
	public class SourceStyle : GLib.Object {
		[CCode (has_construct_function = false)]
		protected SourceStyle ();
		[Version (since = "3.22")]
		public void apply (Gtk.TextTag tag);
		[Version (since = "2.0")]
		public Gtk.SourceStyle copy ();
		[NoAccessorMethod]
		public string background { owned get; construct; }
		[NoAccessorMethod]
		public bool background_set { get; construct; }
		[NoAccessorMethod]
		public bool bold { get; construct; }
		[NoAccessorMethod]
		public bool bold_set { get; construct; }
		[NoAccessorMethod]
		public string foreground { owned get; construct; }
		[NoAccessorMethod]
		public bool foreground_set { get; construct; }
		[NoAccessorMethod]
		public bool italic { get; construct; }
		[NoAccessorMethod]
		public bool italic_set { get; construct; }
		[NoAccessorMethod]
		public string line_background { owned get; construct; }
		[NoAccessorMethod]
		public bool line_background_set { get; construct; }
		[NoAccessorMethod]
		public Pango.Underline pango_underline { get; construct; }
		[NoAccessorMethod]
		public string scale { owned get; construct; }
		[NoAccessorMethod]
		public bool scale_set { get; construct; }
		[NoAccessorMethod]
		public bool strikethrough { get; construct; }
		[NoAccessorMethod]
		public bool strikethrough_set { get; construct; }
		[NoAccessorMethod]
		public string underline_color { owned get; construct; }
		[NoAccessorMethod]
		public bool underline_color_set { get; construct; }
		[NoAccessorMethod]
		public bool underline_set { get; construct; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_get_type ()")]
	[GIR (name = "StyleScheme")]
	public class SourceStyleScheme : GLib.Object {
		[CCode (has_construct_function = false)]
		protected SourceStyleScheme ();
		[CCode (array_length = false, array_null_terminated = true)]
		[Version (since = "2.0")]
		public unowned string[]? get_authors ();
		[Version (since = "2.0")]
		public unowned string? get_description ();
		[Version (since = "2.0")]
		public unowned string? get_filename ();
		[Version (since = "2.0")]
		public unowned string get_id ();
		[Version (since = "2.0")]
		public unowned string get_name ();
		[Version (since = "2.0")]
		public unowned Gtk.SourceStyle? get_style (string style_id);
		public string description { get; }
		public string filename { get; }
		public string id { get; construct; }
		public string name { get; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_chooser_button_get_type ()")]
	[GIR (name = "StyleSchemeChooserButton")]
	public class SourceStyleSchemeChooserButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable, Gtk.SourceStyleSchemeChooser {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		[Version (since = "3.16")]
		public SourceStyleSchemeChooserButton ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_chooser_widget_get_type ()")]
	[GIR (name = "StyleSchemeChooserWidget")]
	public class SourceStyleSchemeChooserWidget : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.SourceStyleSchemeChooser {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		[Version (since = "3.16")]
		public SourceStyleSchemeChooserWidget ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_manager_get_type ()")]
	[GIR (name = "StyleSchemeManager")]
	public class SourceStyleSchemeManager : GLib.Object {
		[CCode (has_construct_function = false)]
		public SourceStyleSchemeManager ();
		public void append_search_path (string path);
		public void force_rescan ();
		public static unowned Gtk.SourceStyleSchemeManager get_default ();
		public unowned Gtk.SourceStyleScheme? get_scheme (string scheme_id);
		[CCode (array_length = false, array_null_terminated = true)]
		public unowned string[]? get_scheme_ids ();
		[CCode (array_length = false, array_null_terminated = true)]
		public unowned string[] get_search_path ();
		public void prepend_search_path (string path);
		public void set_search_path ([CCode (array_length = false, array_null_terminated = true)] string[]? path);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] scheme_ids { get; }
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] search_path { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_tag_get_type ()")]
	[GIR (name = "Tag")]
	public class SourceTag : Gtk.TextTag {
		[CCode (has_construct_function = false, type = "GtkTextTag*")]
		[Version (since = "3.20")]
		public SourceTag (string? name);
		[NoAccessorMethod]
		[Version (since = "3.20")]
		public bool draw_spaces { get; set; }
		[NoAccessorMethod]
		[Version (since = "3.20")]
		public bool draw_spaces_set { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_view_get_type ()")]
	[GIR (name = "View")]
	public class SourceView : Gtk.TextView, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public SourceView ();
		public bool get_auto_indent ();
		[Version (since = "3.16")]
		public Gtk.SourceBackgroundPatternType get_background_pattern ();
		public unowned Gtk.SourceCompletion get_completion ();
		[Version (since = "2.8")]
		public unowned Gtk.SourceGutter get_gutter (Gtk.TextWindowType window_type);
		public bool get_highlight_current_line ();
		public bool get_indent_on_tab ();
		public int get_indent_width ();
		public bool get_insert_spaces_instead_of_tabs ();
		public unowned Gtk.SourceMarkAttributes get_mark_attributes (string category, int priority);
		public uint get_right_margin_position ();
		[Version (since = "2.2")]
		public bool get_show_line_marks ();
		public bool get_show_line_numbers ();
		public bool get_show_right_margin ();
		[Version (since = "3.18")]
		public bool get_smart_backspace ();
		public Gtk.SourceSmartHomeEndType get_smart_home_end ();
		[Version (since = "3.24")]
		public unowned Gtk.SourceSpaceDrawer get_space_drawer ();
		public uint get_tab_width ();
		public uint get_visual_column (Gtk.TextIter iter);
		[Version (since = "3.16")]
		public void indent_lines (Gtk.TextIter start, Gtk.TextIter end);
		public void set_auto_indent (bool enable);
		[Version (since = "3.16")]
		public void set_background_pattern (Gtk.SourceBackgroundPatternType background_pattern);
		public void set_highlight_current_line (bool highlight);
		public void set_indent_on_tab (bool enable);
		public void set_indent_width (int width);
		public void set_insert_spaces_instead_of_tabs (bool enable);
		public void set_mark_attributes (string category, Gtk.SourceMarkAttributes attributes, int priority);
		public void set_right_margin_position (uint pos);
		[Version (since = "2.2")]
		public void set_show_line_marks (bool show);
		public void set_show_line_numbers (bool show);
		public void set_show_right_margin (bool show);
		[Version (since = "3.18")]
		public void set_smart_backspace (bool smart_backspace);
		public void set_smart_home_end (Gtk.SourceSmartHomeEndType smart_home_end);
		public void set_tab_width (uint width);
		[Version (since = "3.16")]
		public void unindent_lines (Gtk.TextIter start, Gtk.TextIter end);
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public SourceView.with_buffer (Gtk.SourceBuffer buffer);
		public bool auto_indent { get; set; }
		[Version (since = "3.16")]
		public Gtk.SourceBackgroundPatternType background_pattern { get; set; }
		public Gtk.SourceCompletion completion { get; }
		public bool highlight_current_line { get; set; }
		public bool indent_on_tab { get; set; }
		public int indent_width { get; set; }
		public bool insert_spaces_instead_of_tabs { get; set; }
		public uint right_margin_position { get; set; }
		public bool show_line_marks { get; set; }
		public bool show_line_numbers { get; set; }
		public bool show_right_margin { get; set; }
		[Version (since = "3.18")]
		public bool smart_backspace { get; set; }
		[Version (since = "2.0")]
		public Gtk.SourceSmartHomeEndType smart_home_end { get; set; }
		[Version (since = "3.24")]
		public Gtk.SourceSpaceDrawer space_drawer { get; }
		public uint tab_width { get; set; }
		[Version (since = "3.16")]
		public signal void change_case (Gtk.SourceChangeCaseType case_type);
		[Version (since = "3.16")]
		public signal void change_number (int count);
		[Version (since = "3.16")]
		public signal void join_lines ();
		public virtual signal void line_mark_activated (Gtk.TextIter iter, Gdk.Event event);
		public virtual signal void move_lines (bool down);
		[Version (since = "3.16")]
		public signal void move_to_matching_bracket (bool extend_selection);
		[Version (since = "3.0")]
		public virtual signal void move_words (int step);
		public virtual signal void redo ();
		public virtual signal void show_completion ();
		public virtual signal void undo ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_proposal_get_type ()")]
	[GIR (name = "CompletionProposal")]
	public interface SourceCompletionProposal : GLib.Object {
		public virtual bool equal (Gtk.SourceCompletionProposal other);
		[Version (since = "3.18")]
		public abstract unowned GLib.Icon? get_gicon ();
		public virtual unowned Gdk.Pixbuf? get_icon ();
		[Version (since = "3.18")]
		public abstract unowned string? get_icon_name ();
		public abstract string? get_info ();
		public abstract string get_label ();
		public abstract string get_markup ();
		public abstract string get_text ();
		public virtual uint hash ();
		[HasEmitter]
		public virtual signal void changed ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_provider_get_type ()")]
	[GIR (name = "CompletionProvider")]
	public interface SourceCompletionProvider : GLib.Object {
		public virtual bool activate_proposal (Gtk.SourceCompletionProposal proposal, Gtk.TextIter iter);
		public virtual Gtk.SourceCompletionActivation get_activation ();
		[Version (since = "3.18")]
		public virtual unowned GLib.Icon? get_gicon ();
		public virtual unowned Gdk.Pixbuf? get_icon ();
		[Version (since = "3.18")]
		public virtual unowned string? get_icon_name ();
		public virtual unowned Gtk.Widget? get_info_widget (Gtk.SourceCompletionProposal proposal);
		public virtual int get_interactive_delay ();
		public virtual string get_name ();
		public virtual int get_priority ();
		public virtual bool get_start_iter (Gtk.SourceCompletionContext context, Gtk.SourceCompletionProposal proposal, out Gtk.TextIter iter);
		public virtual bool match (Gtk.SourceCompletionContext context);
		public virtual void populate (Gtk.SourceCompletionContext context);
		public virtual void update_info (Gtk.SourceCompletionProposal proposal, Gtk.SourceCompletionInfo info);
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_cname = "GtkSourceStyleSchemeChooserInterface", type_id = "gtk_source_style_scheme_chooser_get_type ()")]
	[GIR (name = "StyleSchemeChooser")]
	public interface SourceStyleSchemeChooser : GLib.Object {
		[Version (since = "3.16")]
		public abstract unowned Gtk.SourceStyleScheme get_style_scheme ();
		[Version (since = "3.16")]
		public abstract void set_style_scheme (Gtk.SourceStyleScheme scheme);
		[Version (since = "3.16")]
		public abstract Gtk.SourceStyleScheme style_scheme { get; set; }
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_undo_manager_get_type ()")]
	[GIR (name = "UndoManager")]
	public interface SourceUndoManager : GLib.Object {
		[Version (since = "2.10")]
		public abstract void begin_not_undoable_action ();
		[Version (since = "2.10")]
		public abstract bool can_redo ();
		[Version (since = "2.10")]
		public abstract bool can_undo ();
		[Version (since = "2.10")]
		public abstract void end_not_undoable_action ();
		[Version (since = "2.10")]
		public abstract void redo ();
		[Version (since = "2.10")]
		public abstract void undo ();
		[HasEmitter]
		[Version (since = "2.10")]
		public virtual signal void can_redo_changed ();
		[HasEmitter]
		[Version (since = "2.10")]
		public virtual signal void can_undo_changed ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", has_type_id = false)]
	[GIR (name = "RegionIter")]
	[Version (since = "3.22")]
	public struct SourceRegionIter {
		public bool get_subregion (out Gtk.TextIter start, out Gtk.TextIter end);
		public bool is_end ();
		public bool next ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_BACKGROUND_PATTERN_TYPE_", type_id = "gtk_source_background_pattern_type_get_type ()")]
	[GIR (name = "BackgroundPatternType")]
	[Version (since = "3.16")]
	public enum SourceBackgroundPatternType {
		NONE,
		GRID
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_BRACKET_MATCH_", type_id = "gtk_source_bracket_match_type_get_type ()")]
	[GIR (name = "BracketMatchType")]
	public enum SourceBracketMatchType {
		NONE,
		OUT_OF_RANGE,
		NOT_FOUND,
		FOUND
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_CHANGE_CASE_", type_id = "gtk_source_change_case_type_get_type ()")]
	[GIR (name = "ChangeCaseType")]
	[Version (since = "3.12")]
	public enum SourceChangeCaseType {
		LOWER,
		UPPER,
		TOGGLE,
		TITLE
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_COMPLETION_ACTIVATION_", type_id = "gtk_source_completion_activation_get_type ()")]
	[Flags]
	[GIR (name = "CompletionActivation")]
	public enum SourceCompletionActivation {
		NONE,
		INTERACTIVE,
		USER_REQUESTED
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_COMPRESSION_TYPE_", type_id = "gtk_source_compression_type_get_type ()")]
	[GIR (name = "CompressionType")]
	[Version (since = "3.14")]
	public enum SourceCompressionType {
		NONE,
		GZIP
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_FILE_SAVER_FLAGS_", type_id = "gtk_source_file_saver_flags_get_type ()")]
	[Flags]
	[GIR (name = "FileSaverFlags")]
	[Version (since = "3.14")]
	public enum SourceFileSaverFlags {
		NONE,
		IGNORE_INVALID_CHARS,
		IGNORE_MODIFICATION_TIME,
		CREATE_BACKUP
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_", type_id = "gtk_source_gutter_renderer_alignment_mode_get_type ()")]
	[GIR (name = "GutterRendererAlignmentMode")]
	public enum SourceGutterRendererAlignmentMode {
		CELL,
		FIRST,
		LAST
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_GUTTER_RENDERER_STATE_", type_id = "gtk_source_gutter_renderer_state_get_type ()")]
	[Flags]
	[GIR (name = "GutterRendererState")]
	public enum SourceGutterRendererState {
		NORMAL,
		CURSOR,
		PRELIT,
		SELECTED
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_NEWLINE_TYPE_", type_id = "gtk_source_newline_type_get_type ()")]
	[GIR (name = "NewlineType")]
	[Version (since = "3.14")]
	public enum SourceNewlineType {
		LF,
		CR,
		CR_LF
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SMART_HOME_END_", type_id = "gtk_source_smart_home_end_type_get_type ()")]
	[GIR (name = "SmartHomeEndType")]
	public enum SourceSmartHomeEndType {
		DISABLED,
		BEFORE,
		AFTER,
		ALWAYS
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SORT_FLAGS_", type_id = "gtk_source_sort_flags_get_type ()")]
	[Flags]
	[GIR (name = "SortFlags")]
	[Version (since = "3.18")]
	public enum SourceSortFlags {
		NONE,
		CASE_SENSITIVE,
		REVERSE_ORDER,
		REMOVE_DUPLICATES
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SPACE_LOCATION_", type_id = "gtk_source_space_location_flags_get_type ()")]
	[Flags]
	[GIR (name = "SpaceLocationFlags")]
	[Version (since = "3.24")]
	public enum SourceSpaceLocationFlags {
		NONE,
		LEADING,
		INSIDE_TEXT,
		TRAILING,
		ALL
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SPACE_TYPE_", type_id = "gtk_source_space_type_flags_get_type ()")]
	[Flags]
	[GIR (name = "SpaceTypeFlags")]
	[Version (since = "3.24")]
	public enum SourceSpaceTypeFlags {
		NONE,
		SPACE,
		TAB,
		NEWLINE,
		NBSP,
		ALL
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_VIEW_GUTTER_POSITION_", type_id = "gtk_source_view_gutter_position_get_type ()")]
	[GIR (name = "ViewGutterPosition")]
	public enum SourceViewGutterPosition {
		LINES,
		MARKS
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_COMPLETION_ERROR_", type_id = "gtk_source_completion_error_get_type ()")]
	[GIR (name = "CompletionError")]
	public errordomain SourceCompletionError {
		ALREADY_BOUND,
		NOT_BOUND;
		public static GLib.Quark quark ();
		[CCode (cname = "gtk_source_completion_error_quark")]
		[Version (replacement = "CompletionError.quark")]
		public static GLib.Quark uark ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_FILE_LOADER_ERROR_", type_id = "gtk_source_file_loader_error_get_type ()")]
	[GIR (name = "FileLoaderError")]
	public errordomain SourceFileLoaderError {
		TOO_BIG,
		ENCODING_AUTO_DETECTION_FAILED,
		CONVERSION_FALLBACK;
		public static GLib.Quark quark ();
		[CCode (cname = "gtk_source_file_loader_error_quark")]
		[Version (replacement = "FileLoaderError.quark")]
		public static GLib.Quark uark ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_FILE_SAVER_ERROR_", type_id = "gtk_source_file_saver_error_get_type ()")]
	[GIR (name = "FileSaverError")]
	[Version (since = "3.14")]
	public errordomain SourceFileSaverError {
		INVALID_CHARS,
		EXTERNALLY_MODIFIED;
		public static GLib.Quark quark ();
		[CCode (cname = "gtk_source_file_saver_error_quark")]
		[Version (replacement = "FileSaverError.quark")]
		public static GLib.Quark uark ();
	}
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "gtk_source_finalize")]
	[Version (since = "4.0")]
	public static void Sourcefinalize ();
	[CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "gtk_source_init")]
	[Version (since = "4.0")]
	public static void Sourceinit ();
}
