sourceview5_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ d7c0763cacbc)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git @ 4d1189172a70)
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8    clippy::approx_constant,
9    clippy::type_complexity,
10    clippy::unreadable_literal,
11    clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use gdk_pixbuf_sys as gdk_pixbuf;
16use gdk_sys as gdk;
17use gio_sys as gio;
18use glib_sys as glib;
19use gobject_sys as gobject;
20use gtk_sys as gtk;
21use pango_sys as pango;
22
23#[allow(unused_imports)]
24use libc::{
25    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26    intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE,
27};
28#[cfg(unix)]
29#[allow(unused_imports)]
30use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
31
32#[allow(unused_imports)]
33use glib::{gboolean, gconstpointer, gpointer, GType};
34
35// Enums
36pub type GtkSourceBackgroundPatternType = c_int;
37pub const GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE: GtkSourceBackgroundPatternType = 0;
38pub const GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID: GtkSourceBackgroundPatternType = 1;
39
40pub type GtkSourceBracketMatchType = c_int;
41pub const GTK_SOURCE_BRACKET_MATCH_NONE: GtkSourceBracketMatchType = 0;
42pub const GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE: GtkSourceBracketMatchType = 1;
43pub const GTK_SOURCE_BRACKET_MATCH_NOT_FOUND: GtkSourceBracketMatchType = 2;
44pub const GTK_SOURCE_BRACKET_MATCH_FOUND: GtkSourceBracketMatchType = 3;
45
46pub type GtkSourceChangeCaseType = c_int;
47pub const GTK_SOURCE_CHANGE_CASE_LOWER: GtkSourceChangeCaseType = 0;
48pub const GTK_SOURCE_CHANGE_CASE_UPPER: GtkSourceChangeCaseType = 1;
49pub const GTK_SOURCE_CHANGE_CASE_TOGGLE: GtkSourceChangeCaseType = 2;
50pub const GTK_SOURCE_CHANGE_CASE_TITLE: GtkSourceChangeCaseType = 3;
51
52pub type GtkSourceCompletionActivation = c_int;
53pub const GTK_SOURCE_COMPLETION_ACTIVATION_NONE: GtkSourceCompletionActivation = 0;
54pub const GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE: GtkSourceCompletionActivation = 1;
55pub const GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED: GtkSourceCompletionActivation = 2;
56
57pub type GtkSourceCompletionColumn = c_int;
58pub const GTK_SOURCE_COMPLETION_COLUMN_ICON: GtkSourceCompletionColumn = 0;
59pub const GTK_SOURCE_COMPLETION_COLUMN_BEFORE: GtkSourceCompletionColumn = 1;
60pub const GTK_SOURCE_COMPLETION_COLUMN_TYPED_TEXT: GtkSourceCompletionColumn = 2;
61pub const GTK_SOURCE_COMPLETION_COLUMN_AFTER: GtkSourceCompletionColumn = 3;
62pub const GTK_SOURCE_COMPLETION_COLUMN_COMMENT: GtkSourceCompletionColumn = 4;
63pub const GTK_SOURCE_COMPLETION_COLUMN_DETAILS: GtkSourceCompletionColumn = 5;
64
65pub type GtkSourceCompressionType = c_int;
66pub const GTK_SOURCE_COMPRESSION_TYPE_NONE: GtkSourceCompressionType = 0;
67pub const GTK_SOURCE_COMPRESSION_TYPE_GZIP: GtkSourceCompressionType = 1;
68
69pub type GtkSourceFileLoaderError = c_int;
70pub const GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG: GtkSourceFileLoaderError = 0;
71pub const GTK_SOURCE_FILE_LOADER_ERROR_ENCODING_AUTO_DETECTION_FAILED: GtkSourceFileLoaderError = 1;
72pub const GTK_SOURCE_FILE_LOADER_ERROR_CONVERSION_FALLBACK: GtkSourceFileLoaderError = 2;
73
74pub type GtkSourceFileSaverError = c_int;
75pub const GTK_SOURCE_FILE_SAVER_ERROR_INVALID_CHARS: GtkSourceFileSaverError = 0;
76pub const GTK_SOURCE_FILE_SAVER_ERROR_EXTERNALLY_MODIFIED: GtkSourceFileSaverError = 1;
77
78pub type GtkSourceGutterRendererAlignmentMode = c_int;
79pub const GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL: GtkSourceGutterRendererAlignmentMode = 0;
80pub const GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST: GtkSourceGutterRendererAlignmentMode = 1;
81pub const GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST: GtkSourceGutterRendererAlignmentMode = 2;
82
83pub type GtkSourceNewlineType = c_int;
84pub const GTK_SOURCE_NEWLINE_TYPE_LF: GtkSourceNewlineType = 0;
85pub const GTK_SOURCE_NEWLINE_TYPE_CR: GtkSourceNewlineType = 1;
86pub const GTK_SOURCE_NEWLINE_TYPE_CR_LF: GtkSourceNewlineType = 2;
87
88pub type GtkSourceSmartHomeEndType = c_int;
89pub const GTK_SOURCE_SMART_HOME_END_DISABLED: GtkSourceSmartHomeEndType = 0;
90pub const GTK_SOURCE_SMART_HOME_END_BEFORE: GtkSourceSmartHomeEndType = 1;
91pub const GTK_SOURCE_SMART_HOME_END_AFTER: GtkSourceSmartHomeEndType = 2;
92pub const GTK_SOURCE_SMART_HOME_END_ALWAYS: GtkSourceSmartHomeEndType = 3;
93
94pub type GtkSourceViewGutterPosition = c_int;
95pub const GTK_SOURCE_VIEW_GUTTER_POSITION_LINES: GtkSourceViewGutterPosition = -30;
96pub const GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS: GtkSourceViewGutterPosition = -20;
97
98// Constants
99
100// Flags
101pub type GtkSourceFileSaverFlags = c_uint;
102pub const GTK_SOURCE_FILE_SAVER_FLAGS_NONE: GtkSourceFileSaverFlags = 0;
103pub const GTK_SOURCE_FILE_SAVER_FLAGS_IGNORE_INVALID_CHARS: GtkSourceFileSaverFlags = 1;
104pub const GTK_SOURCE_FILE_SAVER_FLAGS_IGNORE_MODIFICATION_TIME: GtkSourceFileSaverFlags = 2;
105pub const GTK_SOURCE_FILE_SAVER_FLAGS_CREATE_BACKUP: GtkSourceFileSaverFlags = 4;
106
107pub type GtkSourceSortFlags = c_uint;
108pub const GTK_SOURCE_SORT_FLAGS_NONE: GtkSourceSortFlags = 0;
109pub const GTK_SOURCE_SORT_FLAGS_CASE_SENSITIVE: GtkSourceSortFlags = 1;
110pub const GTK_SOURCE_SORT_FLAGS_REVERSE_ORDER: GtkSourceSortFlags = 2;
111pub const GTK_SOURCE_SORT_FLAGS_REMOVE_DUPLICATES: GtkSourceSortFlags = 4;
112
113pub type GtkSourceSpaceLocationFlags = c_uint;
114pub const GTK_SOURCE_SPACE_LOCATION_NONE: GtkSourceSpaceLocationFlags = 0;
115pub const GTK_SOURCE_SPACE_LOCATION_LEADING: GtkSourceSpaceLocationFlags = 1;
116pub const GTK_SOURCE_SPACE_LOCATION_INSIDE_TEXT: GtkSourceSpaceLocationFlags = 2;
117pub const GTK_SOURCE_SPACE_LOCATION_TRAILING: GtkSourceSpaceLocationFlags = 4;
118pub const GTK_SOURCE_SPACE_LOCATION_ALL: GtkSourceSpaceLocationFlags = 7;
119
120pub type GtkSourceSpaceTypeFlags = c_uint;
121pub const GTK_SOURCE_SPACE_TYPE_NONE: GtkSourceSpaceTypeFlags = 0;
122pub const GTK_SOURCE_SPACE_TYPE_SPACE: GtkSourceSpaceTypeFlags = 1;
123pub const GTK_SOURCE_SPACE_TYPE_TAB: GtkSourceSpaceTypeFlags = 2;
124pub const GTK_SOURCE_SPACE_TYPE_NEWLINE: GtkSourceSpaceTypeFlags = 4;
125pub const GTK_SOURCE_SPACE_TYPE_NBSP: GtkSourceSpaceTypeFlags = 8;
126pub const GTK_SOURCE_SPACE_TYPE_ALL: GtkSourceSpaceTypeFlags = 15;
127
128// Callbacks
129pub type GtkSourceMountOperationFactory =
130    Option<unsafe extern "C" fn(*mut GtkSourceFile, gpointer) -> *mut gio::GMountOperation>;
131pub type GtkSourceSchedulerCallback = Option<unsafe extern "C" fn(i64, gpointer) -> gboolean>;
132
133// Records
134#[derive(Copy, Clone)]
135#[repr(C)]
136pub struct GtkSourceBufferClass {
137    pub parent_class: gtk::GtkTextBufferClass,
138    pub bracket_matched: Option<
139        unsafe extern "C" fn(
140            *mut GtkSourceBuffer,
141            *mut gtk::GtkTextIter,
142            GtkSourceBracketMatchType,
143        ),
144    >,
145    pub _reserved: [gpointer; 20],
146}
147
148impl ::std::fmt::Debug for GtkSourceBufferClass {
149    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
150        f.debug_struct(&format!("GtkSourceBufferClass @ {self:p}"))
151            .field("parent_class", &self.parent_class)
152            .field("bracket_matched", &self.bracket_matched)
153            .finish()
154    }
155}
156
157#[derive(Copy, Clone)]
158#[repr(C)]
159pub struct GtkSourceCompletionCellClass {
160    pub parent_class: gtk::GtkWidgetClass,
161}
162
163impl ::std::fmt::Debug for GtkSourceCompletionCellClass {
164    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
165        f.debug_struct(&format!("GtkSourceCompletionCellClass @ {self:p}"))
166            .field("parent_class", &self.parent_class)
167            .finish()
168    }
169}
170
171#[derive(Copy, Clone)]
172#[repr(C)]
173pub struct GtkSourceCompletionClass {
174    pub parent_class: gobject::GObjectClass,
175}
176
177impl ::std::fmt::Debug for GtkSourceCompletionClass {
178    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
179        f.debug_struct(&format!("GtkSourceCompletionClass @ {self:p}"))
180            .field("parent_class", &self.parent_class)
181            .finish()
182    }
183}
184
185#[derive(Copy, Clone)]
186#[repr(C)]
187pub struct GtkSourceCompletionContextClass {
188    pub parent_class: gobject::GObjectClass,
189}
190
191impl ::std::fmt::Debug for GtkSourceCompletionContextClass {
192    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
193        f.debug_struct(&format!("GtkSourceCompletionContextClass @ {self:p}"))
194            .field("parent_class", &self.parent_class)
195            .finish()
196    }
197}
198
199#[derive(Copy, Clone)]
200#[repr(C)]
201pub struct GtkSourceCompletionProposalInterface {
202    pub parent_iface: gobject::GTypeInterface,
203    pub get_typed_text:
204        Option<unsafe extern "C" fn(*mut GtkSourceCompletionProposal) -> *mut c_char>,
205}
206
207impl ::std::fmt::Debug for GtkSourceCompletionProposalInterface {
208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
209        f.debug_struct(&format!("GtkSourceCompletionProposalInterface @ {self:p}"))
210            .field("parent_iface", &self.parent_iface)
211            .field("get_typed_text", &self.get_typed_text)
212            .finish()
213    }
214}
215
216#[derive(Copy, Clone)]
217#[repr(C)]
218pub struct GtkSourceCompletionProviderInterface {
219    pub parent_iface: gobject::GTypeInterface,
220    pub get_title: Option<unsafe extern "C" fn(*mut GtkSourceCompletionProvider) -> *mut c_char>,
221    pub get_priority: Option<
222        unsafe extern "C" fn(
223            *mut GtkSourceCompletionProvider,
224            *mut GtkSourceCompletionContext,
225        ) -> c_int,
226    >,
227    pub is_trigger: Option<
228        unsafe extern "C" fn(
229            *mut GtkSourceCompletionProvider,
230            *const gtk::GtkTextIter,
231            u32,
232        ) -> gboolean,
233    >,
234    pub key_activates: Option<
235        unsafe extern "C" fn(
236            *mut GtkSourceCompletionProvider,
237            *mut GtkSourceCompletionContext,
238            *mut GtkSourceCompletionProposal,
239            c_uint,
240            gdk::GdkModifierType,
241        ) -> gboolean,
242    >,
243    pub populate: Option<
244        unsafe extern "C" fn(
245            *mut GtkSourceCompletionProvider,
246            *mut GtkSourceCompletionContext,
247            *mut *mut glib::GError,
248        ) -> *mut gio::GListModel,
249    >,
250    pub populate_async: Option<
251        unsafe extern "C" fn(
252            *mut GtkSourceCompletionProvider,
253            *mut GtkSourceCompletionContext,
254            *mut gio::GCancellable,
255            gio::GAsyncReadyCallback,
256            gpointer,
257        ),
258    >,
259    pub populate_finish: Option<
260        unsafe extern "C" fn(
261            *mut GtkSourceCompletionProvider,
262            *mut gio::GAsyncResult,
263            *mut *mut glib::GError,
264        ) -> *mut gio::GListModel,
265    >,
266    pub refilter: Option<
267        unsafe extern "C" fn(
268            *mut GtkSourceCompletionProvider,
269            *mut GtkSourceCompletionContext,
270            *mut gio::GListModel,
271        ),
272    >,
273    pub display: Option<
274        unsafe extern "C" fn(
275            *mut GtkSourceCompletionProvider,
276            *mut GtkSourceCompletionContext,
277            *mut GtkSourceCompletionProposal,
278            *mut GtkSourceCompletionCell,
279        ),
280    >,
281    pub activate: Option<
282        unsafe extern "C" fn(
283            *mut GtkSourceCompletionProvider,
284            *mut GtkSourceCompletionContext,
285            *mut GtkSourceCompletionProposal,
286        ),
287    >,
288    pub list_alternates: Option<
289        unsafe extern "C" fn(
290            *mut GtkSourceCompletionProvider,
291            *mut GtkSourceCompletionContext,
292            *mut GtkSourceCompletionProposal,
293        ) -> *mut glib::GPtrArray,
294    >,
295}
296
297impl ::std::fmt::Debug for GtkSourceCompletionProviderInterface {
298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
299        f.debug_struct(&format!("GtkSourceCompletionProviderInterface @ {self:p}"))
300            .field("parent_iface", &self.parent_iface)
301            .field("get_title", &self.get_title)
302            .field("get_priority", &self.get_priority)
303            .field("is_trigger", &self.is_trigger)
304            .field("key_activates", &self.key_activates)
305            .field("populate", &self.populate)
306            .field("populate_async", &self.populate_async)
307            .field("populate_finish", &self.populate_finish)
308            .field("refilter", &self.refilter)
309            .field("display", &self.display)
310            .field("activate", &self.activate)
311            .field("list_alternates", &self.list_alternates)
312            .finish()
313    }
314}
315
316#[derive(Copy, Clone)]
317#[repr(C)]
318pub struct GtkSourceCompletionSnippetsClass {
319    pub parent_class: gobject::GObjectClass,
320    pub _reserved: [gpointer; 10],
321}
322
323impl ::std::fmt::Debug for GtkSourceCompletionSnippetsClass {
324    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
325        f.debug_struct(&format!("GtkSourceCompletionSnippetsClass @ {self:p}"))
326            .field("parent_class", &self.parent_class)
327            .finish()
328    }
329}
330
331#[derive(Copy, Clone)]
332#[repr(C)]
333pub struct GtkSourceCompletionWordsClass {
334    pub parent_class: gobject::GObjectClass,
335    pub _reserved: [gpointer; 10],
336}
337
338impl ::std::fmt::Debug for GtkSourceCompletionWordsClass {
339    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
340        f.debug_struct(&format!("GtkSourceCompletionWordsClass @ {self:p}"))
341            .field("parent_class", &self.parent_class)
342            .finish()
343    }
344}
345
346#[repr(C)]
347pub struct GtkSourceEncoding {
348    _data: [u8; 0],
349    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
350}
351
352impl ::std::fmt::Debug for GtkSourceEncoding {
353    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
354        f.debug_struct(&format!("GtkSourceEncoding @ {self:p}"))
355            .finish()
356    }
357}
358
359#[derive(Copy, Clone)]
360#[repr(C)]
361pub struct GtkSourceFileClass {
362    pub parent_class: gobject::GObjectClass,
363    pub _reserved: [gpointer; 10],
364}
365
366impl ::std::fmt::Debug for GtkSourceFileClass {
367    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
368        f.debug_struct(&format!("GtkSourceFileClass @ {self:p}"))
369            .field("parent_class", &self.parent_class)
370            .finish()
371    }
372}
373
374#[derive(Copy, Clone)]
375#[repr(C)]
376pub struct GtkSourceFileLoaderClass {
377    pub parent_class: gobject::GObjectClass,
378}
379
380impl ::std::fmt::Debug for GtkSourceFileLoaderClass {
381    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
382        f.debug_struct(&format!("GtkSourceFileLoaderClass @ {self:p}"))
383            .field("parent_class", &self.parent_class)
384            .finish()
385    }
386}
387
388#[derive(Copy, Clone)]
389#[repr(C)]
390pub struct GtkSourceFileSaverClass {
391    pub parent_class: gobject::GObjectClass,
392}
393
394impl ::std::fmt::Debug for GtkSourceFileSaverClass {
395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
396        f.debug_struct(&format!("GtkSourceFileSaverClass @ {self:p}"))
397            .field("parent_class", &self.parent_class)
398            .finish()
399    }
400}
401
402#[derive(Copy, Clone)]
403#[repr(C)]
404pub struct GtkSourceGutterClass {
405    pub parent_class: gtk::GtkWidgetClass,
406}
407
408impl ::std::fmt::Debug for GtkSourceGutterClass {
409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
410        f.debug_struct(&format!("GtkSourceGutterClass @ {self:p}"))
411            .field("parent_class", &self.parent_class)
412            .finish()
413    }
414}
415
416#[derive(Copy, Clone)]
417#[repr(C)]
418pub struct GtkSourceGutterLinesClass {
419    pub parent_class: gobject::GObjectClass,
420}
421
422impl ::std::fmt::Debug for GtkSourceGutterLinesClass {
423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
424        f.debug_struct(&format!("GtkSourceGutterLinesClass @ {self:p}"))
425            .field("parent_class", &self.parent_class)
426            .finish()
427    }
428}
429
430#[derive(Copy, Clone)]
431#[repr(C)]
432pub struct GtkSourceGutterRendererClass {
433    pub parent_class: gtk::GtkWidgetClass,
434    pub query_data: Option<
435        unsafe extern "C" fn(*mut GtkSourceGutterRenderer, *mut GtkSourceGutterLines, c_uint),
436    >,
437    pub begin:
438        Option<unsafe extern "C" fn(*mut GtkSourceGutterRenderer, *mut GtkSourceGutterLines)>,
439    pub snapshot_line: Option<
440        unsafe extern "C" fn(
441            *mut GtkSourceGutterRenderer,
442            *mut gtk::GtkSnapshot,
443            *mut GtkSourceGutterLines,
444            c_uint,
445        ),
446    >,
447    pub end: Option<unsafe extern "C" fn(*mut GtkSourceGutterRenderer)>,
448    pub change_view: Option<unsafe extern "C" fn(*mut GtkSourceGutterRenderer, *mut GtkSourceView)>,
449    pub change_buffer:
450        Option<unsafe extern "C" fn(*mut GtkSourceGutterRenderer, *mut GtkSourceBuffer)>,
451    pub query_activatable: Option<
452        unsafe extern "C" fn(
453            *mut GtkSourceGutterRenderer,
454            *mut gtk::GtkTextIter,
455            *mut gdk::GdkRectangle,
456        ) -> gboolean,
457    >,
458    pub activate: Option<
459        unsafe extern "C" fn(
460            *mut GtkSourceGutterRenderer,
461            *mut gtk::GtkTextIter,
462            *mut gdk::GdkRectangle,
463            c_uint,
464            gdk::GdkModifierType,
465            c_int,
466        ),
467    >,
468    pub _reserved: [gpointer; 20],
469}
470
471impl ::std::fmt::Debug for GtkSourceGutterRendererClass {
472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
473        f.debug_struct(&format!("GtkSourceGutterRendererClass @ {self:p}"))
474            .field("parent_class", &self.parent_class)
475            .field("query_data", &self.query_data)
476            .field("begin", &self.begin)
477            .field("snapshot_line", &self.snapshot_line)
478            .field("end", &self.end)
479            .field("change_view", &self.change_view)
480            .field("change_buffer", &self.change_buffer)
481            .field("query_activatable", &self.query_activatable)
482            .field("activate", &self.activate)
483            .finish()
484    }
485}
486
487#[derive(Copy, Clone)]
488#[repr(C)]
489pub struct GtkSourceGutterRendererPixbufClass {
490    pub parent_class: GtkSourceGutterRendererClass,
491    pub _reserved: [gpointer; 10],
492}
493
494impl ::std::fmt::Debug for GtkSourceGutterRendererPixbufClass {
495    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
496        f.debug_struct(&format!("GtkSourceGutterRendererPixbufClass @ {self:p}"))
497            .field("parent_class", &self.parent_class)
498            .finish()
499    }
500}
501
502#[derive(Copy, Clone)]
503#[repr(C)]
504pub struct GtkSourceGutterRendererTextClass {
505    pub parent_class: GtkSourceGutterRendererClass,
506    pub _reserved: [gpointer; 10],
507}
508
509impl ::std::fmt::Debug for GtkSourceGutterRendererTextClass {
510    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
511        f.debug_struct(&format!("GtkSourceGutterRendererTextClass @ {self:p}"))
512            .field("parent_class", &self.parent_class)
513            .finish()
514    }
515}
516
517#[derive(Copy, Clone)]
518#[repr(C)]
519pub struct GtkSourceHoverClass {
520    pub parent_class: gobject::GObjectClass,
521}
522
523impl ::std::fmt::Debug for GtkSourceHoverClass {
524    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
525        f.debug_struct(&format!("GtkSourceHoverClass @ {self:p}"))
526            .field("parent_class", &self.parent_class)
527            .finish()
528    }
529}
530
531#[derive(Copy, Clone)]
532#[repr(C)]
533pub struct GtkSourceHoverContextClass {
534    pub parent_class: gobject::GObjectClass,
535}
536
537impl ::std::fmt::Debug for GtkSourceHoverContextClass {
538    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
539        f.debug_struct(&format!("GtkSourceHoverContextClass @ {self:p}"))
540            .field("parent_class", &self.parent_class)
541            .finish()
542    }
543}
544
545#[derive(Copy, Clone)]
546#[repr(C)]
547pub struct GtkSourceHoverDisplayClass {
548    pub parent_class: gtk::GtkWidgetClass,
549}
550
551impl ::std::fmt::Debug for GtkSourceHoverDisplayClass {
552    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
553        f.debug_struct(&format!("GtkSourceHoverDisplayClass @ {self:p}"))
554            .field("parent_class", &self.parent_class)
555            .finish()
556    }
557}
558
559#[derive(Copy, Clone)]
560#[repr(C)]
561pub struct GtkSourceHoverProviderInterface {
562    pub parent_iface: gobject::GTypeInterface,
563    pub populate: Option<
564        unsafe extern "C" fn(
565            *mut GtkSourceHoverProvider,
566            *mut GtkSourceHoverContext,
567            *mut GtkSourceHoverDisplay,
568            *mut *mut glib::GError,
569        ) -> gboolean,
570    >,
571    pub populate_async: Option<
572        unsafe extern "C" fn(
573            *mut GtkSourceHoverProvider,
574            *mut GtkSourceHoverContext,
575            *mut GtkSourceHoverDisplay,
576            *mut gio::GCancellable,
577            gio::GAsyncReadyCallback,
578            gpointer,
579        ),
580    >,
581    pub populate_finish: Option<
582        unsafe extern "C" fn(
583            *mut GtkSourceHoverProvider,
584            *mut gio::GAsyncResult,
585            *mut *mut glib::GError,
586        ) -> gboolean,
587    >,
588}
589
590impl ::std::fmt::Debug for GtkSourceHoverProviderInterface {
591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
592        f.debug_struct(&format!("GtkSourceHoverProviderInterface @ {self:p}"))
593            .field("parent_iface", &self.parent_iface)
594            .field("populate", &self.populate)
595            .field("populate_async", &self.populate_async)
596            .field("populate_finish", &self.populate_finish)
597            .finish()
598    }
599}
600
601#[derive(Copy, Clone)]
602#[repr(C)]
603pub struct GtkSourceIndenterInterface {
604    pub parent_iface: gobject::GTypeInterface,
605    pub is_trigger: Option<
606        unsafe extern "C" fn(
607            *mut GtkSourceIndenter,
608            *mut GtkSourceView,
609            *const gtk::GtkTextIter,
610            gdk::GdkModifierType,
611            c_uint,
612        ) -> gboolean,
613    >,
614    pub indent: Option<
615        unsafe extern "C" fn(*mut GtkSourceIndenter, *mut GtkSourceView, *mut gtk::GtkTextIter),
616    >,
617}
618
619impl ::std::fmt::Debug for GtkSourceIndenterInterface {
620    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
621        f.debug_struct(&format!("GtkSourceIndenterInterface @ {self:p}"))
622            .field("parent_iface", &self.parent_iface)
623            .field("is_trigger", &self.is_trigger)
624            .field("indent", &self.indent)
625            .finish()
626    }
627}
628
629#[derive(Copy, Clone)]
630#[repr(C)]
631pub struct GtkSourceLanguageClass {
632    pub parent_class: gobject::GObjectClass,
633}
634
635impl ::std::fmt::Debug for GtkSourceLanguageClass {
636    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
637        f.debug_struct(&format!("GtkSourceLanguageClass @ {self:p}"))
638            .field("parent_class", &self.parent_class)
639            .finish()
640    }
641}
642
643#[derive(Copy, Clone)]
644#[repr(C)]
645pub struct GtkSourceLanguageManagerClass {
646    pub parent_class: gobject::GObjectClass,
647}
648
649impl ::std::fmt::Debug for GtkSourceLanguageManagerClass {
650    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
651        f.debug_struct(&format!("GtkSourceLanguageManagerClass @ {self:p}"))
652            .field("parent_class", &self.parent_class)
653            .finish()
654    }
655}
656
657#[derive(Copy, Clone)]
658#[repr(C)]
659pub struct GtkSourceMapClass {
660    pub parent_class: GtkSourceViewClass,
661    pub _reserved: [gpointer; 10],
662}
663
664impl ::std::fmt::Debug for GtkSourceMapClass {
665    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
666        f.debug_struct(&format!("GtkSourceMapClass @ {self:p}"))
667            .field("parent_class", &self.parent_class)
668            .finish()
669    }
670}
671
672#[derive(Copy, Clone)]
673#[repr(C)]
674pub struct GtkSourceMarkAttributesClass {
675    pub parent_class: gobject::GObjectClass,
676}
677
678impl ::std::fmt::Debug for GtkSourceMarkAttributesClass {
679    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
680        f.debug_struct(&format!("GtkSourceMarkAttributesClass @ {self:p}"))
681            .field("parent_class", &self.parent_class)
682            .finish()
683    }
684}
685
686#[derive(Copy, Clone)]
687#[repr(C)]
688pub struct GtkSourceMarkClass {
689    pub parent_class: gtk::GtkTextMarkClass,
690    pub _reserved: [gpointer; 10],
691}
692
693impl ::std::fmt::Debug for GtkSourceMarkClass {
694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
695        f.debug_struct(&format!("GtkSourceMarkClass @ {self:p}"))
696            .field("parent_class", &self.parent_class)
697            .finish()
698    }
699}
700
701#[derive(Copy, Clone)]
702#[repr(C)]
703pub struct GtkSourcePrintCompositorClass {
704    pub parent_class: gobject::GObjectClass,
705    pub _reserved: [gpointer; 10],
706}
707
708impl ::std::fmt::Debug for GtkSourcePrintCompositorClass {
709    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
710        f.debug_struct(&format!("GtkSourcePrintCompositorClass @ {self:p}"))
711            .field("parent_class", &self.parent_class)
712            .finish()
713    }
714}
715
716#[derive(Copy, Clone)]
717#[repr(C)]
718pub struct GtkSourceRegionClass {
719    pub parent_class: gobject::GObjectClass,
720    pub _reserved: [gpointer; 10],
721}
722
723impl ::std::fmt::Debug for GtkSourceRegionClass {
724    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
725        f.debug_struct(&format!("GtkSourceRegionClass @ {self:p}"))
726            .field("parent_class", &self.parent_class)
727            .finish()
728    }
729}
730
731#[derive(Copy, Clone)]
732#[repr(C)]
733pub struct GtkSourceRegionIter {
734    pub dummy1: gpointer,
735    pub dummy2: u32,
736    pub dummy3: gpointer,
737}
738
739impl ::std::fmt::Debug for GtkSourceRegionIter {
740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
741        f.debug_struct(&format!("GtkSourceRegionIter @ {self:p}"))
742            .finish()
743    }
744}
745
746#[derive(Copy, Clone)]
747#[repr(C)]
748pub struct GtkSourceSearchContextClass {
749    pub parent_class: gobject::GObjectClass,
750}
751
752impl ::std::fmt::Debug for GtkSourceSearchContextClass {
753    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
754        f.debug_struct(&format!("GtkSourceSearchContextClass @ {self:p}"))
755            .field("parent_class", &self.parent_class)
756            .finish()
757    }
758}
759
760#[derive(Copy, Clone)]
761#[repr(C)]
762pub struct GtkSourceSearchSettingsClass {
763    pub parent_class: gobject::GObjectClass,
764    pub _reserved: [gpointer; 10],
765}
766
767impl ::std::fmt::Debug for GtkSourceSearchSettingsClass {
768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
769        f.debug_struct(&format!("GtkSourceSearchSettingsClass @ {self:p}"))
770            .field("parent_class", &self.parent_class)
771            .finish()
772    }
773}
774
775#[derive(Copy, Clone)]
776#[repr(C)]
777pub struct GtkSourceSnippetChunkClass {
778    pub parent_class: gobject::GInitiallyUnownedClass,
779}
780
781impl ::std::fmt::Debug for GtkSourceSnippetChunkClass {
782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
783        f.debug_struct(&format!("GtkSourceSnippetChunkClass @ {self:p}"))
784            .field("parent_class", &self.parent_class)
785            .finish()
786    }
787}
788
789#[derive(Copy, Clone)]
790#[repr(C)]
791pub struct GtkSourceSnippetClass {
792    pub parent_class: gobject::GObjectClass,
793}
794
795impl ::std::fmt::Debug for GtkSourceSnippetClass {
796    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
797        f.debug_struct(&format!("GtkSourceSnippetClass @ {self:p}"))
798            .field("parent_class", &self.parent_class)
799            .finish()
800    }
801}
802
803#[derive(Copy, Clone)]
804#[repr(C)]
805pub struct GtkSourceSnippetContextClass {
806    pub parent_class: gobject::GObjectClass,
807}
808
809impl ::std::fmt::Debug for GtkSourceSnippetContextClass {
810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
811        f.debug_struct(&format!("GtkSourceSnippetContextClass @ {self:p}"))
812            .field("parent_class", &self.parent_class)
813            .finish()
814    }
815}
816
817#[derive(Copy, Clone)]
818#[repr(C)]
819pub struct GtkSourceSnippetManagerClass {
820    pub parent_class: gobject::GObjectClass,
821}
822
823impl ::std::fmt::Debug for GtkSourceSnippetManagerClass {
824    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
825        f.debug_struct(&format!("GtkSourceSnippetManagerClass @ {self:p}"))
826            .field("parent_class", &self.parent_class)
827            .finish()
828    }
829}
830
831#[derive(Copy, Clone)]
832#[repr(C)]
833pub struct GtkSourceSpaceDrawerClass {
834    pub parent_class: gobject::GObjectClass,
835}
836
837impl ::std::fmt::Debug for GtkSourceSpaceDrawerClass {
838    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
839        f.debug_struct(&format!("GtkSourceSpaceDrawerClass @ {self:p}"))
840            .field("parent_class", &self.parent_class)
841            .finish()
842    }
843}
844
845#[derive(Copy, Clone)]
846#[repr(C)]
847pub struct GtkSourceStyleClass {
848    pub parent_class: gobject::GObjectClass,
849}
850
851impl ::std::fmt::Debug for GtkSourceStyleClass {
852    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
853        f.debug_struct(&format!("GtkSourceStyleClass @ {self:p}"))
854            .field("parent_class", &self.parent_class)
855            .finish()
856    }
857}
858
859#[derive(Copy, Clone)]
860#[repr(C)]
861pub struct GtkSourceStyleSchemeChooserButtonClass {
862    pub parent: gtk::GtkButtonClass,
863    pub _reserved: [gpointer; 10],
864}
865
866impl ::std::fmt::Debug for GtkSourceStyleSchemeChooserButtonClass {
867    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
868        f.debug_struct(&format!(
869            "GtkSourceStyleSchemeChooserButtonClass @ {self:p}"
870        ))
871        .field("parent", &self.parent)
872        .finish()
873    }
874}
875
876#[derive(Copy, Clone)]
877#[repr(C)]
878pub struct GtkSourceStyleSchemeChooserInterface {
879    pub base_interface: gobject::GTypeInterface,
880    pub get_style_scheme:
881        Option<unsafe extern "C" fn(*mut GtkSourceStyleSchemeChooser) -> *mut GtkSourceStyleScheme>,
882    pub set_style_scheme:
883        Option<unsafe extern "C" fn(*mut GtkSourceStyleSchemeChooser, *mut GtkSourceStyleScheme)>,
884    pub _reserved: [gpointer; 12],
885}
886
887impl ::std::fmt::Debug for GtkSourceStyleSchemeChooserInterface {
888    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
889        f.debug_struct(&format!("GtkSourceStyleSchemeChooserInterface @ {self:p}"))
890            .field("base_interface", &self.base_interface)
891            .field("get_style_scheme", &self.get_style_scheme)
892            .field("set_style_scheme", &self.set_style_scheme)
893            .finish()
894    }
895}
896
897#[derive(Copy, Clone)]
898#[repr(C)]
899pub struct GtkSourceStyleSchemeChooserWidgetClass {
900    pub parent: gtk::GtkWidgetClass,
901    pub _reserved: [gpointer; 10],
902}
903
904impl ::std::fmt::Debug for GtkSourceStyleSchemeChooserWidgetClass {
905    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
906        f.debug_struct(&format!(
907            "GtkSourceStyleSchemeChooserWidgetClass @ {self:p}"
908        ))
909        .field("parent", &self.parent)
910        .finish()
911    }
912}
913
914#[derive(Copy, Clone)]
915#[repr(C)]
916pub struct GtkSourceStyleSchemeClass {
917    pub parent_class: gobject::GObjectClass,
918}
919
920impl ::std::fmt::Debug for GtkSourceStyleSchemeClass {
921    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
922        f.debug_struct(&format!("GtkSourceStyleSchemeClass @ {self:p}"))
923            .field("parent_class", &self.parent_class)
924            .finish()
925    }
926}
927
928#[derive(Copy, Clone)]
929#[repr(C)]
930pub struct GtkSourceStyleSchemeManagerClass {
931    pub parent_class: gobject::GObjectClass,
932}
933
934impl ::std::fmt::Debug for GtkSourceStyleSchemeManagerClass {
935    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
936        f.debug_struct(&format!("GtkSourceStyleSchemeManagerClass @ {self:p}"))
937            .field("parent_class", &self.parent_class)
938            .finish()
939    }
940}
941
942#[derive(Copy, Clone)]
943#[repr(C)]
944pub struct GtkSourceStyleSchemePreviewClass {
945    pub parent_class: gtk::GtkWidgetClass,
946}
947
948impl ::std::fmt::Debug for GtkSourceStyleSchemePreviewClass {
949    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
950        f.debug_struct(&format!("GtkSourceStyleSchemePreviewClass @ {self:p}"))
951            .field("parent_class", &self.parent_class)
952            .finish()
953    }
954}
955
956#[derive(Copy, Clone)]
957#[repr(C)]
958pub struct GtkSourceTagClass {
959    pub parent_class: gtk::GtkTextTagClass,
960    pub _reserved: [gpointer; 10],
961}
962
963impl ::std::fmt::Debug for GtkSourceTagClass {
964    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
965        f.debug_struct(&format!("GtkSourceTagClass @ {self:p}"))
966            .field("parent_class", &self.parent_class)
967            .finish()
968    }
969}
970
971#[derive(Copy, Clone)]
972#[repr(C)]
973pub struct GtkSourceViewClass {
974    pub parent_class: gtk::GtkTextViewClass,
975    pub line_mark_activated: Option<
976        unsafe extern "C" fn(
977            *mut GtkSourceView,
978            *const gtk::GtkTextIter,
979            c_uint,
980            gdk::GdkModifierType,
981            c_int,
982        ),
983    >,
984    pub show_completion: Option<unsafe extern "C" fn(*mut GtkSourceView)>,
985    pub move_lines: Option<unsafe extern "C" fn(*mut GtkSourceView, gboolean)>,
986    pub move_words: Option<unsafe extern "C" fn(*mut GtkSourceView, c_int)>,
987    pub push_snippet: Option<
988        unsafe extern "C" fn(*mut GtkSourceView, *mut GtkSourceSnippet, *mut gtk::GtkTextIter),
989    >,
990    pub _reserved: [gpointer; 20],
991}
992
993impl ::std::fmt::Debug for GtkSourceViewClass {
994    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
995        f.debug_struct(&format!("GtkSourceViewClass @ {self:p}"))
996            .field("parent_class", &self.parent_class)
997            .field("line_mark_activated", &self.line_mark_activated)
998            .field("show_completion", &self.show_completion)
999            .field("move_lines", &self.move_lines)
1000            .field("move_words", &self.move_words)
1001            .field("push_snippet", &self.push_snippet)
1002            .finish()
1003    }
1004}
1005
1006#[derive(Copy, Clone)]
1007#[repr(C)]
1008pub struct GtkSourceVimIMContextClass {
1009    pub parent_class: gtk::GtkIMContextClass,
1010}
1011
1012impl ::std::fmt::Debug for GtkSourceVimIMContextClass {
1013    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1014        f.debug_struct(&format!("GtkSourceVimIMContextClass @ {self:p}"))
1015            .field("parent_class", &self.parent_class)
1016            .finish()
1017    }
1018}
1019
1020// Classes
1021#[derive(Copy, Clone)]
1022#[repr(C)]
1023pub struct GtkSourceBuffer {
1024    pub parent_instance: gtk::GtkTextBuffer,
1025}
1026
1027impl ::std::fmt::Debug for GtkSourceBuffer {
1028    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1029        f.debug_struct(&format!("GtkSourceBuffer @ {self:p}"))
1030            .field("parent_instance", &self.parent_instance)
1031            .finish()
1032    }
1033}
1034
1035#[repr(C)]
1036pub struct GtkSourceCompletion {
1037    _data: [u8; 0],
1038    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1039}
1040
1041impl ::std::fmt::Debug for GtkSourceCompletion {
1042    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1043        f.debug_struct(&format!("GtkSourceCompletion @ {self:p}"))
1044            .finish()
1045    }
1046}
1047
1048#[repr(C)]
1049pub struct GtkSourceCompletionCell {
1050    _data: [u8; 0],
1051    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1052}
1053
1054impl ::std::fmt::Debug for GtkSourceCompletionCell {
1055    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1056        f.debug_struct(&format!("GtkSourceCompletionCell @ {self:p}"))
1057            .finish()
1058    }
1059}
1060
1061#[repr(C)]
1062pub struct GtkSourceCompletionContext {
1063    _data: [u8; 0],
1064    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1065}
1066
1067impl ::std::fmt::Debug for GtkSourceCompletionContext {
1068    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1069        f.debug_struct(&format!("GtkSourceCompletionContext @ {self:p}"))
1070            .finish()
1071    }
1072}
1073
1074#[derive(Copy, Clone)]
1075#[repr(C)]
1076pub struct GtkSourceCompletionSnippets {
1077    pub parent_instance: gobject::GObject,
1078}
1079
1080impl ::std::fmt::Debug for GtkSourceCompletionSnippets {
1081    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1082        f.debug_struct(&format!("GtkSourceCompletionSnippets @ {self:p}"))
1083            .field("parent_instance", &self.parent_instance)
1084            .finish()
1085    }
1086}
1087
1088#[derive(Copy, Clone)]
1089#[repr(C)]
1090pub struct GtkSourceCompletionWords {
1091    pub parent_instance: gobject::GObject,
1092}
1093
1094impl ::std::fmt::Debug for GtkSourceCompletionWords {
1095    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1096        f.debug_struct(&format!("GtkSourceCompletionWords @ {self:p}"))
1097            .field("parent_instance", &self.parent_instance)
1098            .finish()
1099    }
1100}
1101
1102#[derive(Copy, Clone)]
1103#[repr(C)]
1104pub struct GtkSourceFile {
1105    pub parent_instance: gobject::GObject,
1106}
1107
1108impl ::std::fmt::Debug for GtkSourceFile {
1109    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1110        f.debug_struct(&format!("GtkSourceFile @ {self:p}"))
1111            .field("parent_instance", &self.parent_instance)
1112            .finish()
1113    }
1114}
1115
1116#[repr(C)]
1117pub struct GtkSourceFileLoader {
1118    _data: [u8; 0],
1119    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1120}
1121
1122impl ::std::fmt::Debug for GtkSourceFileLoader {
1123    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1124        f.debug_struct(&format!("GtkSourceFileLoader @ {self:p}"))
1125            .finish()
1126    }
1127}
1128
1129#[repr(C)]
1130pub struct GtkSourceFileSaver {
1131    _data: [u8; 0],
1132    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1133}
1134
1135impl ::std::fmt::Debug for GtkSourceFileSaver {
1136    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1137        f.debug_struct(&format!("GtkSourceFileSaver @ {self:p}"))
1138            .finish()
1139    }
1140}
1141
1142#[repr(C)]
1143pub struct GtkSourceGutter {
1144    _data: [u8; 0],
1145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1146}
1147
1148impl ::std::fmt::Debug for GtkSourceGutter {
1149    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1150        f.debug_struct(&format!("GtkSourceGutter @ {self:p}"))
1151            .finish()
1152    }
1153}
1154
1155#[repr(C)]
1156pub struct GtkSourceGutterLines {
1157    _data: [u8; 0],
1158    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1159}
1160
1161impl ::std::fmt::Debug for GtkSourceGutterLines {
1162    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1163        f.debug_struct(&format!("GtkSourceGutterLines @ {self:p}"))
1164            .finish()
1165    }
1166}
1167
1168#[derive(Copy, Clone)]
1169#[repr(C)]
1170pub struct GtkSourceGutterRenderer {
1171    pub parent_instance: gtk::GtkWidget,
1172}
1173
1174impl ::std::fmt::Debug for GtkSourceGutterRenderer {
1175    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1176        f.debug_struct(&format!("GtkSourceGutterRenderer @ {self:p}"))
1177            .field("parent_instance", &self.parent_instance)
1178            .finish()
1179    }
1180}
1181
1182#[derive(Copy, Clone)]
1183#[repr(C)]
1184pub struct GtkSourceGutterRendererPixbuf {
1185    pub parent_instance: GtkSourceGutterRenderer,
1186}
1187
1188impl ::std::fmt::Debug for GtkSourceGutterRendererPixbuf {
1189    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1190        f.debug_struct(&format!("GtkSourceGutterRendererPixbuf @ {self:p}"))
1191            .field("parent_instance", &self.parent_instance)
1192            .finish()
1193    }
1194}
1195
1196#[derive(Copy, Clone)]
1197#[repr(C)]
1198pub struct GtkSourceGutterRendererText {
1199    pub parent_instance: GtkSourceGutterRenderer,
1200}
1201
1202impl ::std::fmt::Debug for GtkSourceGutterRendererText {
1203    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1204        f.debug_struct(&format!("GtkSourceGutterRendererText @ {self:p}"))
1205            .field("parent_instance", &self.parent_instance)
1206            .finish()
1207    }
1208}
1209
1210#[repr(C)]
1211pub struct GtkSourceHover {
1212    _data: [u8; 0],
1213    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1214}
1215
1216impl ::std::fmt::Debug for GtkSourceHover {
1217    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1218        f.debug_struct(&format!("GtkSourceHover @ {self:p}"))
1219            .finish()
1220    }
1221}
1222
1223#[repr(C)]
1224pub struct GtkSourceHoverContext {
1225    _data: [u8; 0],
1226    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1227}
1228
1229impl ::std::fmt::Debug for GtkSourceHoverContext {
1230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1231        f.debug_struct(&format!("GtkSourceHoverContext @ {self:p}"))
1232            .finish()
1233    }
1234}
1235
1236#[repr(C)]
1237pub struct GtkSourceHoverDisplay {
1238    _data: [u8; 0],
1239    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1240}
1241
1242impl ::std::fmt::Debug for GtkSourceHoverDisplay {
1243    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1244        f.debug_struct(&format!("GtkSourceHoverDisplay @ {self:p}"))
1245            .finish()
1246    }
1247}
1248
1249#[repr(C)]
1250pub struct GtkSourceLanguage {
1251    _data: [u8; 0],
1252    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1253}
1254
1255impl ::std::fmt::Debug for GtkSourceLanguage {
1256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1257        f.debug_struct(&format!("GtkSourceLanguage @ {self:p}"))
1258            .finish()
1259    }
1260}
1261
1262#[repr(C)]
1263pub struct GtkSourceLanguageManager {
1264    _data: [u8; 0],
1265    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1266}
1267
1268impl ::std::fmt::Debug for GtkSourceLanguageManager {
1269    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1270        f.debug_struct(&format!("GtkSourceLanguageManager @ {self:p}"))
1271            .finish()
1272    }
1273}
1274
1275#[derive(Copy, Clone)]
1276#[repr(C)]
1277pub struct GtkSourceMap {
1278    pub parent_instance: GtkSourceView,
1279}
1280
1281impl ::std::fmt::Debug for GtkSourceMap {
1282    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1283        f.debug_struct(&format!("GtkSourceMap @ {self:p}"))
1284            .field("parent_instance", &self.parent_instance)
1285            .finish()
1286    }
1287}
1288
1289#[derive(Copy, Clone)]
1290#[repr(C)]
1291pub struct GtkSourceMark {
1292    pub parent_instance: gtk::GtkTextMark,
1293}
1294
1295impl ::std::fmt::Debug for GtkSourceMark {
1296    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1297        f.debug_struct(&format!("GtkSourceMark @ {self:p}"))
1298            .field("parent_instance", &self.parent_instance)
1299            .finish()
1300    }
1301}
1302
1303#[repr(C)]
1304pub struct GtkSourceMarkAttributes {
1305    _data: [u8; 0],
1306    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1307}
1308
1309impl ::std::fmt::Debug for GtkSourceMarkAttributes {
1310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1311        f.debug_struct(&format!("GtkSourceMarkAttributes @ {self:p}"))
1312            .finish()
1313    }
1314}
1315
1316#[derive(Copy, Clone)]
1317#[repr(C)]
1318pub struct GtkSourcePrintCompositor {
1319    pub parent_instance: gobject::GObject,
1320}
1321
1322impl ::std::fmt::Debug for GtkSourcePrintCompositor {
1323    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1324        f.debug_struct(&format!("GtkSourcePrintCompositor @ {self:p}"))
1325            .field("parent_instance", &self.parent_instance)
1326            .finish()
1327    }
1328}
1329
1330#[derive(Copy, Clone)]
1331#[repr(C)]
1332pub struct GtkSourceRegion {
1333    pub parent_instance: gobject::GObject,
1334}
1335
1336impl ::std::fmt::Debug for GtkSourceRegion {
1337    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1338        f.debug_struct(&format!("GtkSourceRegion @ {self:p}"))
1339            .field("parent_instance", &self.parent_instance)
1340            .finish()
1341    }
1342}
1343
1344#[repr(C)]
1345pub struct GtkSourceSearchContext {
1346    _data: [u8; 0],
1347    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1348}
1349
1350impl ::std::fmt::Debug for GtkSourceSearchContext {
1351    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1352        f.debug_struct(&format!("GtkSourceSearchContext @ {self:p}"))
1353            .finish()
1354    }
1355}
1356
1357#[derive(Copy, Clone)]
1358#[repr(C)]
1359pub struct GtkSourceSearchSettings {
1360    pub parent_instance: gobject::GObject,
1361}
1362
1363impl ::std::fmt::Debug for GtkSourceSearchSettings {
1364    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1365        f.debug_struct(&format!("GtkSourceSearchSettings @ {self:p}"))
1366            .field("parent_instance", &self.parent_instance)
1367            .finish()
1368    }
1369}
1370
1371#[repr(C)]
1372pub struct GtkSourceSnippet {
1373    _data: [u8; 0],
1374    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1375}
1376
1377impl ::std::fmt::Debug for GtkSourceSnippet {
1378    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1379        f.debug_struct(&format!("GtkSourceSnippet @ {self:p}"))
1380            .finish()
1381    }
1382}
1383
1384#[repr(C)]
1385pub struct GtkSourceSnippetChunk {
1386    _data: [u8; 0],
1387    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1388}
1389
1390impl ::std::fmt::Debug for GtkSourceSnippetChunk {
1391    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1392        f.debug_struct(&format!("GtkSourceSnippetChunk @ {self:p}"))
1393            .finish()
1394    }
1395}
1396
1397#[repr(C)]
1398pub struct GtkSourceSnippetContext {
1399    _data: [u8; 0],
1400    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1401}
1402
1403impl ::std::fmt::Debug for GtkSourceSnippetContext {
1404    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1405        f.debug_struct(&format!("GtkSourceSnippetContext @ {self:p}"))
1406            .finish()
1407    }
1408}
1409
1410#[repr(C)]
1411pub struct GtkSourceSnippetManager {
1412    _data: [u8; 0],
1413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1414}
1415
1416impl ::std::fmt::Debug for GtkSourceSnippetManager {
1417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1418        f.debug_struct(&format!("GtkSourceSnippetManager @ {self:p}"))
1419            .finish()
1420    }
1421}
1422
1423#[repr(C)]
1424pub struct GtkSourceSpaceDrawer {
1425    _data: [u8; 0],
1426    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1427}
1428
1429impl ::std::fmt::Debug for GtkSourceSpaceDrawer {
1430    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1431        f.debug_struct(&format!("GtkSourceSpaceDrawer @ {self:p}"))
1432            .finish()
1433    }
1434}
1435
1436#[repr(C)]
1437pub struct GtkSourceStyle {
1438    _data: [u8; 0],
1439    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1440}
1441
1442impl ::std::fmt::Debug for GtkSourceStyle {
1443    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1444        f.debug_struct(&format!("GtkSourceStyle @ {self:p}"))
1445            .finish()
1446    }
1447}
1448
1449#[repr(C)]
1450pub struct GtkSourceStyleScheme {
1451    _data: [u8; 0],
1452    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1453}
1454
1455impl ::std::fmt::Debug for GtkSourceStyleScheme {
1456    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1457        f.debug_struct(&format!("GtkSourceStyleScheme @ {self:p}"))
1458            .finish()
1459    }
1460}
1461
1462#[derive(Copy, Clone)]
1463#[repr(C)]
1464pub struct GtkSourceStyleSchemeChooserButton {
1465    pub parent_instance: gtk::GtkButton,
1466}
1467
1468impl ::std::fmt::Debug for GtkSourceStyleSchemeChooserButton {
1469    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1470        f.debug_struct(&format!("GtkSourceStyleSchemeChooserButton @ {self:p}"))
1471            .field("parent_instance", &self.parent_instance)
1472            .finish()
1473    }
1474}
1475
1476#[derive(Copy, Clone)]
1477#[repr(C)]
1478pub struct GtkSourceStyleSchemeChooserWidget {
1479    pub parent_instance: gtk::GtkWidget,
1480}
1481
1482impl ::std::fmt::Debug for GtkSourceStyleSchemeChooserWidget {
1483    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1484        f.debug_struct(&format!("GtkSourceStyleSchemeChooserWidget @ {self:p}"))
1485            .field("parent_instance", &self.parent_instance)
1486            .finish()
1487    }
1488}
1489
1490#[repr(C)]
1491pub struct GtkSourceStyleSchemeManager {
1492    _data: [u8; 0],
1493    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1494}
1495
1496impl ::std::fmt::Debug for GtkSourceStyleSchemeManager {
1497    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1498        f.debug_struct(&format!("GtkSourceStyleSchemeManager @ {self:p}"))
1499            .finish()
1500    }
1501}
1502
1503#[repr(C)]
1504pub struct GtkSourceStyleSchemePreview {
1505    _data: [u8; 0],
1506    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1507}
1508
1509impl ::std::fmt::Debug for GtkSourceStyleSchemePreview {
1510    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1511        f.debug_struct(&format!("GtkSourceStyleSchemePreview @ {self:p}"))
1512            .finish()
1513    }
1514}
1515
1516#[derive(Copy, Clone)]
1517#[repr(C)]
1518pub struct GtkSourceTag {
1519    pub parent_instance: gtk::GtkTextTag,
1520}
1521
1522impl ::std::fmt::Debug for GtkSourceTag {
1523    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1524        f.debug_struct(&format!("GtkSourceTag @ {self:p}"))
1525            .field("parent_instance", &self.parent_instance)
1526            .finish()
1527    }
1528}
1529
1530#[derive(Copy, Clone)]
1531#[repr(C)]
1532pub struct GtkSourceView {
1533    pub parent_instance: gtk::GtkTextView,
1534}
1535
1536impl ::std::fmt::Debug for GtkSourceView {
1537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1538        f.debug_struct(&format!("GtkSourceView @ {self:p}"))
1539            .field("parent_instance", &self.parent_instance)
1540            .finish()
1541    }
1542}
1543
1544#[repr(C)]
1545pub struct GtkSourceVimIMContext {
1546    _data: [u8; 0],
1547    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1548}
1549
1550impl ::std::fmt::Debug for GtkSourceVimIMContext {
1551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1552        f.debug_struct(&format!("GtkSourceVimIMContext @ {self:p}"))
1553            .finish()
1554    }
1555}
1556
1557// Interfaces
1558#[repr(C)]
1559pub struct GtkSourceCompletionProposal {
1560    _data: [u8; 0],
1561    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1562}
1563
1564impl ::std::fmt::Debug for GtkSourceCompletionProposal {
1565    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1566        write!(f, "GtkSourceCompletionProposal @ {self:p}")
1567    }
1568}
1569
1570#[repr(C)]
1571pub struct GtkSourceCompletionProvider {
1572    _data: [u8; 0],
1573    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1574}
1575
1576impl ::std::fmt::Debug for GtkSourceCompletionProvider {
1577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1578        write!(f, "GtkSourceCompletionProvider @ {self:p}")
1579    }
1580}
1581
1582#[repr(C)]
1583pub struct GtkSourceHoverProvider {
1584    _data: [u8; 0],
1585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1586}
1587
1588impl ::std::fmt::Debug for GtkSourceHoverProvider {
1589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1590        write!(f, "GtkSourceHoverProvider @ {self:p}")
1591    }
1592}
1593
1594#[repr(C)]
1595pub struct GtkSourceIndenter {
1596    _data: [u8; 0],
1597    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1598}
1599
1600impl ::std::fmt::Debug for GtkSourceIndenter {
1601    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1602        write!(f, "GtkSourceIndenter @ {self:p}")
1603    }
1604}
1605
1606#[repr(C)]
1607pub struct GtkSourceStyleSchemeChooser {
1608    _data: [u8; 0],
1609    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1610}
1611
1612impl ::std::fmt::Debug for GtkSourceStyleSchemeChooser {
1613    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1614        write!(f, "GtkSourceStyleSchemeChooser @ {self:p}")
1615    }
1616}
1617
1618#[link(name = "gtksourceview-5")]
1619extern "C" {
1620
1621    //=========================================================================
1622    // GtkSourceBackgroundPatternType
1623    //=========================================================================
1624    pub fn gtk_source_background_pattern_type_get_type() -> GType;
1625
1626    //=========================================================================
1627    // GtkSourceBracketMatchType
1628    //=========================================================================
1629    pub fn gtk_source_bracket_match_type_get_type() -> GType;
1630
1631    //=========================================================================
1632    // GtkSourceChangeCaseType
1633    //=========================================================================
1634    pub fn gtk_source_change_case_type_get_type() -> GType;
1635
1636    //=========================================================================
1637    // GtkSourceCompletionActivation
1638    //=========================================================================
1639    pub fn gtk_source_completion_activation_get_type() -> GType;
1640
1641    //=========================================================================
1642    // GtkSourceCompletionColumn
1643    //=========================================================================
1644    pub fn gtk_source_completion_column_get_type() -> GType;
1645
1646    //=========================================================================
1647    // GtkSourceCompressionType
1648    //=========================================================================
1649    pub fn gtk_source_compression_type_get_type() -> GType;
1650
1651    //=========================================================================
1652    // GtkSourceFileLoaderError
1653    //=========================================================================
1654    pub fn gtk_source_file_loader_error_get_type() -> GType;
1655    pub fn gtk_source_file_loader_error_quark() -> glib::GQuark;
1656
1657    //=========================================================================
1658    // GtkSourceFileSaverError
1659    //=========================================================================
1660    pub fn gtk_source_file_saver_error_get_type() -> GType;
1661    pub fn gtk_source_file_saver_error_quark() -> glib::GQuark;
1662
1663    //=========================================================================
1664    // GtkSourceGutterRendererAlignmentMode
1665    //=========================================================================
1666    pub fn gtk_source_gutter_renderer_alignment_mode_get_type() -> GType;
1667
1668    //=========================================================================
1669    // GtkSourceNewlineType
1670    //=========================================================================
1671    pub fn gtk_source_newline_type_get_type() -> GType;
1672
1673    //=========================================================================
1674    // GtkSourceSmartHomeEndType
1675    //=========================================================================
1676    pub fn gtk_source_smart_home_end_type_get_type() -> GType;
1677
1678    //=========================================================================
1679    // GtkSourceViewGutterPosition
1680    //=========================================================================
1681    pub fn gtk_source_view_gutter_position_get_type() -> GType;
1682
1683    //=========================================================================
1684    // GtkSourceFileSaverFlags
1685    //=========================================================================
1686    pub fn gtk_source_file_saver_flags_get_type() -> GType;
1687
1688    //=========================================================================
1689    // GtkSourceSortFlags
1690    //=========================================================================
1691    pub fn gtk_source_sort_flags_get_type() -> GType;
1692
1693    //=========================================================================
1694    // GtkSourceSpaceLocationFlags
1695    //=========================================================================
1696    pub fn gtk_source_space_location_flags_get_type() -> GType;
1697
1698    //=========================================================================
1699    // GtkSourceSpaceTypeFlags
1700    //=========================================================================
1701    pub fn gtk_source_space_type_flags_get_type() -> GType;
1702
1703    //=========================================================================
1704    // GtkSourceEncoding
1705    //=========================================================================
1706    pub fn gtk_source_encoding_get_type() -> GType;
1707    pub fn gtk_source_encoding_copy(enc: *const GtkSourceEncoding) -> *mut GtkSourceEncoding;
1708    pub fn gtk_source_encoding_free(enc: *mut GtkSourceEncoding);
1709    pub fn gtk_source_encoding_get_charset(enc: *const GtkSourceEncoding) -> *const c_char;
1710    pub fn gtk_source_encoding_get_name(enc: *const GtkSourceEncoding) -> *const c_char;
1711    pub fn gtk_source_encoding_to_string(enc: *const GtkSourceEncoding) -> *mut c_char;
1712    pub fn gtk_source_encoding_get_all() -> *mut glib::GSList;
1713    pub fn gtk_source_encoding_get_current() -> *const GtkSourceEncoding;
1714    pub fn gtk_source_encoding_get_default_candidates() -> *mut glib::GSList;
1715    pub fn gtk_source_encoding_get_from_charset(charset: *const c_char)
1716        -> *const GtkSourceEncoding;
1717    pub fn gtk_source_encoding_get_utf8() -> *const GtkSourceEncoding;
1718
1719    //=========================================================================
1720    // GtkSourceRegionIter
1721    //=========================================================================
1722    pub fn gtk_source_region_iter_get_subregion(
1723        iter: *mut GtkSourceRegionIter,
1724        start: *mut gtk::GtkTextIter,
1725        end: *mut gtk::GtkTextIter,
1726    ) -> gboolean;
1727    pub fn gtk_source_region_iter_is_end(iter: *mut GtkSourceRegionIter) -> gboolean;
1728    pub fn gtk_source_region_iter_next(iter: *mut GtkSourceRegionIter) -> gboolean;
1729
1730    //=========================================================================
1731    // GtkSourceBuffer
1732    //=========================================================================
1733    pub fn gtk_source_buffer_get_type() -> GType;
1734    pub fn gtk_source_buffer_new(table: *mut gtk::GtkTextTagTable) -> *mut GtkSourceBuffer;
1735    pub fn gtk_source_buffer_new_with_language(
1736        language: *mut GtkSourceLanguage,
1737    ) -> *mut GtkSourceBuffer;
1738    pub fn gtk_source_buffer_backward_iter_to_source_mark(
1739        buffer: *mut GtkSourceBuffer,
1740        iter: *mut gtk::GtkTextIter,
1741        category: *const c_char,
1742    ) -> gboolean;
1743    pub fn gtk_source_buffer_change_case(
1744        buffer: *mut GtkSourceBuffer,
1745        case_type: GtkSourceChangeCaseType,
1746        start: *mut gtk::GtkTextIter,
1747        end: *mut gtk::GtkTextIter,
1748    );
1749    pub fn gtk_source_buffer_create_source_mark(
1750        buffer: *mut GtkSourceBuffer,
1751        name: *const c_char,
1752        category: *const c_char,
1753        where_: *const gtk::GtkTextIter,
1754    ) -> *mut GtkSourceMark;
1755    pub fn gtk_source_buffer_create_source_tag(
1756        buffer: *mut GtkSourceBuffer,
1757        tag_name: *const c_char,
1758        first_property_name: *const c_char,
1759        ...
1760    ) -> *mut gtk::GtkTextTag;
1761    pub fn gtk_source_buffer_ensure_highlight(
1762        buffer: *mut GtkSourceBuffer,
1763        start: *const gtk::GtkTextIter,
1764        end: *const gtk::GtkTextIter,
1765    );
1766    pub fn gtk_source_buffer_forward_iter_to_source_mark(
1767        buffer: *mut GtkSourceBuffer,
1768        iter: *mut gtk::GtkTextIter,
1769        category: *const c_char,
1770    ) -> gboolean;
1771    pub fn gtk_source_buffer_get_context_classes_at_iter(
1772        buffer: *mut GtkSourceBuffer,
1773        iter: *const gtk::GtkTextIter,
1774    ) -> *mut *mut c_char;
1775    pub fn gtk_source_buffer_get_highlight_matching_brackets(
1776        buffer: *mut GtkSourceBuffer,
1777    ) -> gboolean;
1778    pub fn gtk_source_buffer_get_highlight_syntax(buffer: *mut GtkSourceBuffer) -> gboolean;
1779    pub fn gtk_source_buffer_get_implicit_trailing_newline(
1780        buffer: *mut GtkSourceBuffer,
1781    ) -> gboolean;
1782    pub fn gtk_source_buffer_get_language(buffer: *mut GtkSourceBuffer) -> *mut GtkSourceLanguage;
1783    pub fn gtk_source_buffer_get_loading(buffer: *mut GtkSourceBuffer) -> gboolean;
1784    pub fn gtk_source_buffer_get_source_marks_at_iter(
1785        buffer: *mut GtkSourceBuffer,
1786        iter: *mut gtk::GtkTextIter,
1787        category: *const c_char,
1788    ) -> *mut glib::GSList;
1789    pub fn gtk_source_buffer_get_source_marks_at_line(
1790        buffer: *mut GtkSourceBuffer,
1791        line: c_int,
1792        category: *const c_char,
1793    ) -> *mut glib::GSList;
1794    pub fn gtk_source_buffer_get_style_scheme(
1795        buffer: *mut GtkSourceBuffer,
1796    ) -> *mut GtkSourceStyleScheme;
1797    pub fn gtk_source_buffer_iter_backward_to_context_class_toggle(
1798        buffer: *mut GtkSourceBuffer,
1799        iter: *mut gtk::GtkTextIter,
1800        context_class: *const c_char,
1801    ) -> gboolean;
1802    pub fn gtk_source_buffer_iter_forward_to_context_class_toggle(
1803        buffer: *mut GtkSourceBuffer,
1804        iter: *mut gtk::GtkTextIter,
1805        context_class: *const c_char,
1806    ) -> gboolean;
1807    pub fn gtk_source_buffer_iter_has_context_class(
1808        buffer: *mut GtkSourceBuffer,
1809        iter: *const gtk::GtkTextIter,
1810        context_class: *const c_char,
1811    ) -> gboolean;
1812    pub fn gtk_source_buffer_join_lines(
1813        buffer: *mut GtkSourceBuffer,
1814        start: *mut gtk::GtkTextIter,
1815        end: *mut gtk::GtkTextIter,
1816    );
1817    pub fn gtk_source_buffer_remove_source_marks(
1818        buffer: *mut GtkSourceBuffer,
1819        start: *const gtk::GtkTextIter,
1820        end: *const gtk::GtkTextIter,
1821        category: *const c_char,
1822    );
1823    pub fn gtk_source_buffer_set_highlight_matching_brackets(
1824        buffer: *mut GtkSourceBuffer,
1825        highlight: gboolean,
1826    );
1827    pub fn gtk_source_buffer_set_highlight_syntax(
1828        buffer: *mut GtkSourceBuffer,
1829        highlight: gboolean,
1830    );
1831    pub fn gtk_source_buffer_set_implicit_trailing_newline(
1832        buffer: *mut GtkSourceBuffer,
1833        implicit_trailing_newline: gboolean,
1834    );
1835    pub fn gtk_source_buffer_set_language(
1836        buffer: *mut GtkSourceBuffer,
1837        language: *mut GtkSourceLanguage,
1838    );
1839    pub fn gtk_source_buffer_set_style_scheme(
1840        buffer: *mut GtkSourceBuffer,
1841        scheme: *mut GtkSourceStyleScheme,
1842    );
1843    pub fn gtk_source_buffer_sort_lines(
1844        buffer: *mut GtkSourceBuffer,
1845        start: *mut gtk::GtkTextIter,
1846        end: *mut gtk::GtkTextIter,
1847        flags: GtkSourceSortFlags,
1848        column: c_int,
1849    );
1850
1851    //=========================================================================
1852    // GtkSourceCompletion
1853    //=========================================================================
1854    pub fn gtk_source_completion_get_type() -> GType;
1855    pub fn gtk_source_completion_fuzzy_highlight(
1856        haystack: *const c_char,
1857        casefold_query: *const c_char,
1858    ) -> *mut pango::PangoAttrList;
1859    pub fn gtk_source_completion_fuzzy_match(
1860        haystack: *const c_char,
1861        casefold_needle: *const c_char,
1862        priority: *mut c_uint,
1863    ) -> gboolean;
1864    pub fn gtk_source_completion_add_provider(
1865        self_: *mut GtkSourceCompletion,
1866        provider: *mut GtkSourceCompletionProvider,
1867    );
1868    pub fn gtk_source_completion_block_interactive(self_: *mut GtkSourceCompletion);
1869    pub fn gtk_source_completion_get_buffer(
1870        self_: *mut GtkSourceCompletion,
1871    ) -> *mut GtkSourceBuffer;
1872    pub fn gtk_source_completion_get_page_size(self_: *mut GtkSourceCompletion) -> c_uint;
1873    pub fn gtk_source_completion_get_view(self_: *mut GtkSourceCompletion) -> *mut GtkSourceView;
1874    pub fn gtk_source_completion_hide(self_: *mut GtkSourceCompletion);
1875    pub fn gtk_source_completion_remove_provider(
1876        self_: *mut GtkSourceCompletion,
1877        provider: *mut GtkSourceCompletionProvider,
1878    );
1879    pub fn gtk_source_completion_set_page_size(self_: *mut GtkSourceCompletion, page_size: c_uint);
1880    pub fn gtk_source_completion_show(self_: *mut GtkSourceCompletion);
1881    pub fn gtk_source_completion_unblock_interactive(self_: *mut GtkSourceCompletion);
1882
1883    //=========================================================================
1884    // GtkSourceCompletionCell
1885    //=========================================================================
1886    pub fn gtk_source_completion_cell_get_type() -> GType;
1887    pub fn gtk_source_completion_cell_get_column(
1888        self_: *mut GtkSourceCompletionCell,
1889    ) -> GtkSourceCompletionColumn;
1890    pub fn gtk_source_completion_cell_get_widget(
1891        self_: *mut GtkSourceCompletionCell,
1892    ) -> *mut gtk::GtkWidget;
1893    pub fn gtk_source_completion_cell_set_gicon(
1894        self_: *mut GtkSourceCompletionCell,
1895        gicon: *mut gio::GIcon,
1896    );
1897    pub fn gtk_source_completion_cell_set_icon_name(
1898        self_: *mut GtkSourceCompletionCell,
1899        icon_name: *const c_char,
1900    );
1901    pub fn gtk_source_completion_cell_set_markup(
1902        self_: *mut GtkSourceCompletionCell,
1903        markup: *const c_char,
1904    );
1905    pub fn gtk_source_completion_cell_set_paintable(
1906        self_: *mut GtkSourceCompletionCell,
1907        paintable: *mut gdk::GdkPaintable,
1908    );
1909    pub fn gtk_source_completion_cell_set_text(
1910        self_: *mut GtkSourceCompletionCell,
1911        text: *const c_char,
1912    );
1913    pub fn gtk_source_completion_cell_set_text_with_attributes(
1914        self_: *mut GtkSourceCompletionCell,
1915        text: *const c_char,
1916        attrs: *mut pango::PangoAttrList,
1917    );
1918    pub fn gtk_source_completion_cell_set_widget(
1919        self_: *mut GtkSourceCompletionCell,
1920        child: *mut gtk::GtkWidget,
1921    );
1922
1923    //=========================================================================
1924    // GtkSourceCompletionContext
1925    //=========================================================================
1926    pub fn gtk_source_completion_context_get_type() -> GType;
1927    pub fn gtk_source_completion_context_get_activation(
1928        self_: *mut GtkSourceCompletionContext,
1929    ) -> GtkSourceCompletionActivation;
1930    pub fn gtk_source_completion_context_get_bounds(
1931        self_: *mut GtkSourceCompletionContext,
1932        begin: *mut gtk::GtkTextIter,
1933        end: *mut gtk::GtkTextIter,
1934    ) -> gboolean;
1935    pub fn gtk_source_completion_context_get_buffer(
1936        self_: *mut GtkSourceCompletionContext,
1937    ) -> *mut GtkSourceBuffer;
1938    pub fn gtk_source_completion_context_get_busy(
1939        self_: *mut GtkSourceCompletionContext,
1940    ) -> gboolean;
1941    pub fn gtk_source_completion_context_get_completion(
1942        self_: *mut GtkSourceCompletionContext,
1943    ) -> *mut GtkSourceCompletion;
1944    pub fn gtk_source_completion_context_get_empty(
1945        self_: *mut GtkSourceCompletionContext,
1946    ) -> gboolean;
1947    pub fn gtk_source_completion_context_get_language(
1948        self_: *mut GtkSourceCompletionContext,
1949    ) -> *mut GtkSourceLanguage;
1950    #[cfg(feature = "v5_6")]
1951    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
1952    pub fn gtk_source_completion_context_get_proposals_for_provider(
1953        self_: *mut GtkSourceCompletionContext,
1954        provider: *mut GtkSourceCompletionProvider,
1955    ) -> *mut gio::GListModel;
1956    pub fn gtk_source_completion_context_get_view(
1957        self_: *mut GtkSourceCompletionContext,
1958    ) -> *mut GtkSourceView;
1959    pub fn gtk_source_completion_context_get_word(
1960        self_: *mut GtkSourceCompletionContext,
1961    ) -> *mut c_char;
1962    #[cfg(feature = "v5_6")]
1963    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
1964    pub fn gtk_source_completion_context_list_providers(
1965        self_: *mut GtkSourceCompletionContext,
1966    ) -> *mut gio::GListModel;
1967    pub fn gtk_source_completion_context_set_proposals_for_provider(
1968        self_: *mut GtkSourceCompletionContext,
1969        provider: *mut GtkSourceCompletionProvider,
1970        results: *mut gio::GListModel,
1971    );
1972
1973    //=========================================================================
1974    // GtkSourceCompletionSnippets
1975    //=========================================================================
1976    pub fn gtk_source_completion_snippets_get_type() -> GType;
1977    pub fn gtk_source_completion_snippets_new() -> *mut GtkSourceCompletionSnippets;
1978
1979    //=========================================================================
1980    // GtkSourceCompletionWords
1981    //=========================================================================
1982    pub fn gtk_source_completion_words_get_type() -> GType;
1983    pub fn gtk_source_completion_words_new(title: *const c_char) -> *mut GtkSourceCompletionWords;
1984    pub fn gtk_source_completion_words_register(
1985        words: *mut GtkSourceCompletionWords,
1986        buffer: *mut gtk::GtkTextBuffer,
1987    );
1988    pub fn gtk_source_completion_words_unregister(
1989        words: *mut GtkSourceCompletionWords,
1990        buffer: *mut gtk::GtkTextBuffer,
1991    );
1992
1993    //=========================================================================
1994    // GtkSourceFile
1995    //=========================================================================
1996    pub fn gtk_source_file_get_type() -> GType;
1997    pub fn gtk_source_file_new() -> *mut GtkSourceFile;
1998    pub fn gtk_source_file_check_file_on_disk(file: *mut GtkSourceFile);
1999    pub fn gtk_source_file_get_compression_type(
2000        file: *mut GtkSourceFile,
2001    ) -> GtkSourceCompressionType;
2002    pub fn gtk_source_file_get_encoding(file: *mut GtkSourceFile) -> *const GtkSourceEncoding;
2003    pub fn gtk_source_file_get_location(file: *mut GtkSourceFile) -> *mut gio::GFile;
2004    pub fn gtk_source_file_get_newline_type(file: *mut GtkSourceFile) -> GtkSourceNewlineType;
2005    pub fn gtk_source_file_is_deleted(file: *mut GtkSourceFile) -> gboolean;
2006    pub fn gtk_source_file_is_externally_modified(file: *mut GtkSourceFile) -> gboolean;
2007    pub fn gtk_source_file_is_local(file: *mut GtkSourceFile) -> gboolean;
2008    pub fn gtk_source_file_is_readonly(file: *mut GtkSourceFile) -> gboolean;
2009    pub fn gtk_source_file_set_location(file: *mut GtkSourceFile, location: *mut gio::GFile);
2010    pub fn gtk_source_file_set_mount_operation_factory(
2011        file: *mut GtkSourceFile,
2012        callback: GtkSourceMountOperationFactory,
2013        user_data: gpointer,
2014        notify: glib::GDestroyNotify,
2015    );
2016
2017    //=========================================================================
2018    // GtkSourceFileLoader
2019    //=========================================================================
2020    pub fn gtk_source_file_loader_get_type() -> GType;
2021    pub fn gtk_source_file_loader_new(
2022        buffer: *mut GtkSourceBuffer,
2023        file: *mut GtkSourceFile,
2024    ) -> *mut GtkSourceFileLoader;
2025    pub fn gtk_source_file_loader_new_from_stream(
2026        buffer: *mut GtkSourceBuffer,
2027        file: *mut GtkSourceFile,
2028        stream: *mut gio::GInputStream,
2029    ) -> *mut GtkSourceFileLoader;
2030    pub fn gtk_source_file_loader_get_buffer(
2031        loader: *mut GtkSourceFileLoader,
2032    ) -> *mut GtkSourceBuffer;
2033    pub fn gtk_source_file_loader_get_compression_type(
2034        loader: *mut GtkSourceFileLoader,
2035    ) -> GtkSourceCompressionType;
2036    pub fn gtk_source_file_loader_get_encoding(
2037        loader: *mut GtkSourceFileLoader,
2038    ) -> *const GtkSourceEncoding;
2039    pub fn gtk_source_file_loader_get_file(loader: *mut GtkSourceFileLoader) -> *mut GtkSourceFile;
2040    pub fn gtk_source_file_loader_get_input_stream(
2041        loader: *mut GtkSourceFileLoader,
2042    ) -> *mut gio::GInputStream;
2043    pub fn gtk_source_file_loader_get_location(loader: *mut GtkSourceFileLoader)
2044        -> *mut gio::GFile;
2045    pub fn gtk_source_file_loader_get_newline_type(
2046        loader: *mut GtkSourceFileLoader,
2047    ) -> GtkSourceNewlineType;
2048    pub fn gtk_source_file_loader_load_async(
2049        loader: *mut GtkSourceFileLoader,
2050        io_priority: c_int,
2051        cancellable: *mut gio::GCancellable,
2052        progress_callback: gio::GFileProgressCallback,
2053        progress_callback_data: gpointer,
2054        progress_callback_notify: glib::GDestroyNotify,
2055        callback: gio::GAsyncReadyCallback,
2056        user_data: gpointer,
2057    );
2058    pub fn gtk_source_file_loader_load_finish(
2059        loader: *mut GtkSourceFileLoader,
2060        result: *mut gio::GAsyncResult,
2061        error: *mut *mut glib::GError,
2062    ) -> gboolean;
2063    pub fn gtk_source_file_loader_set_candidate_encodings(
2064        loader: *mut GtkSourceFileLoader,
2065        candidate_encodings: *mut glib::GSList,
2066    );
2067
2068    //=========================================================================
2069    // GtkSourceFileSaver
2070    //=========================================================================
2071    pub fn gtk_source_file_saver_get_type() -> GType;
2072    pub fn gtk_source_file_saver_new(
2073        buffer: *mut GtkSourceBuffer,
2074        file: *mut GtkSourceFile,
2075    ) -> *mut GtkSourceFileSaver;
2076    pub fn gtk_source_file_saver_new_with_target(
2077        buffer: *mut GtkSourceBuffer,
2078        file: *mut GtkSourceFile,
2079        target_location: *mut gio::GFile,
2080    ) -> *mut GtkSourceFileSaver;
2081    pub fn gtk_source_file_saver_get_buffer(saver: *mut GtkSourceFileSaver)
2082        -> *mut GtkSourceBuffer;
2083    pub fn gtk_source_file_saver_get_compression_type(
2084        saver: *mut GtkSourceFileSaver,
2085    ) -> GtkSourceCompressionType;
2086    pub fn gtk_source_file_saver_get_encoding(
2087        saver: *mut GtkSourceFileSaver,
2088    ) -> *const GtkSourceEncoding;
2089    pub fn gtk_source_file_saver_get_file(saver: *mut GtkSourceFileSaver) -> *mut GtkSourceFile;
2090    pub fn gtk_source_file_saver_get_flags(
2091        saver: *mut GtkSourceFileSaver,
2092    ) -> GtkSourceFileSaverFlags;
2093    pub fn gtk_source_file_saver_get_location(saver: *mut GtkSourceFileSaver) -> *mut gio::GFile;
2094    pub fn gtk_source_file_saver_get_newline_type(
2095        saver: *mut GtkSourceFileSaver,
2096    ) -> GtkSourceNewlineType;
2097    pub fn gtk_source_file_saver_save_async(
2098        saver: *mut GtkSourceFileSaver,
2099        io_priority: c_int,
2100        cancellable: *mut gio::GCancellable,
2101        progress_callback: gio::GFileProgressCallback,
2102        progress_callback_data: gpointer,
2103        progress_callback_notify: glib::GDestroyNotify,
2104        callback: gio::GAsyncReadyCallback,
2105        user_data: gpointer,
2106    );
2107    pub fn gtk_source_file_saver_save_finish(
2108        saver: *mut GtkSourceFileSaver,
2109        result: *mut gio::GAsyncResult,
2110        error: *mut *mut glib::GError,
2111    ) -> gboolean;
2112    pub fn gtk_source_file_saver_set_compression_type(
2113        saver: *mut GtkSourceFileSaver,
2114        compression_type: GtkSourceCompressionType,
2115    );
2116    pub fn gtk_source_file_saver_set_encoding(
2117        saver: *mut GtkSourceFileSaver,
2118        encoding: *const GtkSourceEncoding,
2119    );
2120    pub fn gtk_source_file_saver_set_flags(
2121        saver: *mut GtkSourceFileSaver,
2122        flags: GtkSourceFileSaverFlags,
2123    );
2124    pub fn gtk_source_file_saver_set_newline_type(
2125        saver: *mut GtkSourceFileSaver,
2126        newline_type: GtkSourceNewlineType,
2127    );
2128
2129    //=========================================================================
2130    // GtkSourceGutter
2131    //=========================================================================
2132    pub fn gtk_source_gutter_get_type() -> GType;
2133    pub fn gtk_source_gutter_get_view(gutter: *mut GtkSourceGutter) -> *mut GtkSourceView;
2134    pub fn gtk_source_gutter_insert(
2135        gutter: *mut GtkSourceGutter,
2136        renderer: *mut GtkSourceGutterRenderer,
2137        position: c_int,
2138    ) -> gboolean;
2139    pub fn gtk_source_gutter_remove(
2140        gutter: *mut GtkSourceGutter,
2141        renderer: *mut GtkSourceGutterRenderer,
2142    );
2143    pub fn gtk_source_gutter_reorder(
2144        gutter: *mut GtkSourceGutter,
2145        renderer: *mut GtkSourceGutterRenderer,
2146        position: c_int,
2147    );
2148
2149    //=========================================================================
2150    // GtkSourceGutterLines
2151    //=========================================================================
2152    pub fn gtk_source_gutter_lines_get_type() -> GType;
2153    pub fn gtk_source_gutter_lines_add_class(
2154        lines: *mut GtkSourceGutterLines,
2155        line: c_uint,
2156        name: *const c_char,
2157    );
2158    pub fn gtk_source_gutter_lines_add_qclass(
2159        lines: *mut GtkSourceGutterLines,
2160        line: c_uint,
2161        qname: glib::GQuark,
2162    );
2163    pub fn gtk_source_gutter_lines_get_buffer(
2164        lines: *mut GtkSourceGutterLines,
2165    ) -> *mut gtk::GtkTextBuffer;
2166    pub fn gtk_source_gutter_lines_get_first(lines: *mut GtkSourceGutterLines) -> c_uint;
2167    pub fn gtk_source_gutter_lines_get_iter_at_line(
2168        lines: *mut GtkSourceGutterLines,
2169        iter: *mut gtk::GtkTextIter,
2170        line: c_uint,
2171    );
2172    pub fn gtk_source_gutter_lines_get_last(lines: *mut GtkSourceGutterLines) -> c_uint;
2173    pub fn gtk_source_gutter_lines_get_line_yrange(
2174        lines: *mut GtkSourceGutterLines,
2175        line: c_uint,
2176        mode: GtkSourceGutterRendererAlignmentMode,
2177        y: *mut c_int,
2178        height: *mut c_int,
2179    );
2180    pub fn gtk_source_gutter_lines_get_view(
2181        lines: *mut GtkSourceGutterLines,
2182    ) -> *mut gtk::GtkTextView;
2183    #[cfg(feature = "v5_6")]
2184    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
2185    pub fn gtk_source_gutter_lines_has_any_class(
2186        lines: *mut GtkSourceGutterLines,
2187        line: c_uint,
2188    ) -> gboolean;
2189    pub fn gtk_source_gutter_lines_has_class(
2190        lines: *mut GtkSourceGutterLines,
2191        line: c_uint,
2192        name: *const c_char,
2193    ) -> gboolean;
2194    pub fn gtk_source_gutter_lines_has_qclass(
2195        lines: *mut GtkSourceGutterLines,
2196        line: c_uint,
2197        qname: glib::GQuark,
2198    ) -> gboolean;
2199    pub fn gtk_source_gutter_lines_is_cursor(
2200        lines: *mut GtkSourceGutterLines,
2201        line: c_uint,
2202    ) -> gboolean;
2203    pub fn gtk_source_gutter_lines_is_prelit(
2204        lines: *mut GtkSourceGutterLines,
2205        line: c_uint,
2206    ) -> gboolean;
2207    pub fn gtk_source_gutter_lines_is_selected(
2208        lines: *mut GtkSourceGutterLines,
2209        line: c_uint,
2210    ) -> gboolean;
2211    pub fn gtk_source_gutter_lines_remove_class(
2212        lines: *mut GtkSourceGutterLines,
2213        line: c_uint,
2214        name: *const c_char,
2215    );
2216    pub fn gtk_source_gutter_lines_remove_qclass(
2217        lines: *mut GtkSourceGutterLines,
2218        line: c_uint,
2219        qname: glib::GQuark,
2220    );
2221
2222    //=========================================================================
2223    // GtkSourceGutterRenderer
2224    //=========================================================================
2225    pub fn gtk_source_gutter_renderer_get_type() -> GType;
2226    pub fn gtk_source_gutter_renderer_activate(
2227        renderer: *mut GtkSourceGutterRenderer,
2228        iter: *const gtk::GtkTextIter,
2229        area: *const gdk::GdkRectangle,
2230        button: c_uint,
2231        state: gdk::GdkModifierType,
2232        n_presses: c_int,
2233    );
2234    pub fn gtk_source_gutter_renderer_align_cell(
2235        renderer: *mut GtkSourceGutterRenderer,
2236        line: c_uint,
2237        width: c_float,
2238        height: c_float,
2239        x: *mut c_float,
2240        y: *mut c_float,
2241    );
2242    pub fn gtk_source_gutter_renderer_get_alignment_mode(
2243        renderer: *mut GtkSourceGutterRenderer,
2244    ) -> GtkSourceGutterRendererAlignmentMode;
2245    pub fn gtk_source_gutter_renderer_get_buffer(
2246        renderer: *mut GtkSourceGutterRenderer,
2247    ) -> *mut GtkSourceBuffer;
2248    pub fn gtk_source_gutter_renderer_get_view(
2249        renderer: *mut GtkSourceGutterRenderer,
2250    ) -> *mut GtkSourceView;
2251    pub fn gtk_source_gutter_renderer_get_xalign(renderer: *mut GtkSourceGutterRenderer)
2252        -> c_float;
2253    pub fn gtk_source_gutter_renderer_get_xpad(renderer: *mut GtkSourceGutterRenderer) -> c_int;
2254    pub fn gtk_source_gutter_renderer_get_yalign(renderer: *mut GtkSourceGutterRenderer)
2255        -> c_float;
2256    pub fn gtk_source_gutter_renderer_get_ypad(renderer: *mut GtkSourceGutterRenderer) -> c_int;
2257    pub fn gtk_source_gutter_renderer_query_activatable(
2258        renderer: *mut GtkSourceGutterRenderer,
2259        iter: *const gtk::GtkTextIter,
2260        area: *const gdk::GdkRectangle,
2261    ) -> gboolean;
2262    pub fn gtk_source_gutter_renderer_set_alignment_mode(
2263        renderer: *mut GtkSourceGutterRenderer,
2264        mode: GtkSourceGutterRendererAlignmentMode,
2265    );
2266    pub fn gtk_source_gutter_renderer_set_xalign(
2267        renderer: *mut GtkSourceGutterRenderer,
2268        xalign: c_float,
2269    );
2270    pub fn gtk_source_gutter_renderer_set_xpad(renderer: *mut GtkSourceGutterRenderer, xpad: c_int);
2271    pub fn gtk_source_gutter_renderer_set_yalign(
2272        renderer: *mut GtkSourceGutterRenderer,
2273        yalign: c_float,
2274    );
2275    pub fn gtk_source_gutter_renderer_set_ypad(renderer: *mut GtkSourceGutterRenderer, ypad: c_int);
2276
2277    //=========================================================================
2278    // GtkSourceGutterRendererPixbuf
2279    //=========================================================================
2280    pub fn gtk_source_gutter_renderer_pixbuf_get_type() -> GType;
2281    pub fn gtk_source_gutter_renderer_pixbuf_new() -> *mut GtkSourceGutterRenderer;
2282    pub fn gtk_source_gutter_renderer_pixbuf_get_gicon(
2283        renderer: *mut GtkSourceGutterRendererPixbuf,
2284    ) -> *mut gio::GIcon;
2285    pub fn gtk_source_gutter_renderer_pixbuf_get_icon_name(
2286        renderer: *mut GtkSourceGutterRendererPixbuf,
2287    ) -> *const c_char;
2288    pub fn gtk_source_gutter_renderer_pixbuf_get_paintable(
2289        renderer: *mut GtkSourceGutterRendererPixbuf,
2290    ) -> *mut gdk::GdkPaintable;
2291    pub fn gtk_source_gutter_renderer_pixbuf_get_pixbuf(
2292        renderer: *mut GtkSourceGutterRendererPixbuf,
2293    ) -> *mut gdk_pixbuf::GdkPixbuf;
2294    pub fn gtk_source_gutter_renderer_pixbuf_overlay_paintable(
2295        renderer: *mut GtkSourceGutterRendererPixbuf,
2296        paintable: *mut gdk::GdkPaintable,
2297    );
2298    pub fn gtk_source_gutter_renderer_pixbuf_set_gicon(
2299        renderer: *mut GtkSourceGutterRendererPixbuf,
2300        icon: *mut gio::GIcon,
2301    );
2302    pub fn gtk_source_gutter_renderer_pixbuf_set_icon_name(
2303        renderer: *mut GtkSourceGutterRendererPixbuf,
2304        icon_name: *const c_char,
2305    );
2306    pub fn gtk_source_gutter_renderer_pixbuf_set_paintable(
2307        renderer: *mut GtkSourceGutterRendererPixbuf,
2308        paintable: *mut gdk::GdkPaintable,
2309    );
2310    pub fn gtk_source_gutter_renderer_pixbuf_set_pixbuf(
2311        renderer: *mut GtkSourceGutterRendererPixbuf,
2312        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
2313    );
2314
2315    //=========================================================================
2316    // GtkSourceGutterRendererText
2317    //=========================================================================
2318    pub fn gtk_source_gutter_renderer_text_get_type() -> GType;
2319    pub fn gtk_source_gutter_renderer_text_new() -> *mut GtkSourceGutterRenderer;
2320    pub fn gtk_source_gutter_renderer_text_measure(
2321        renderer: *mut GtkSourceGutterRendererText,
2322        text: *const c_char,
2323        width: *mut c_int,
2324        height: *mut c_int,
2325    );
2326    pub fn gtk_source_gutter_renderer_text_measure_markup(
2327        renderer: *mut GtkSourceGutterRendererText,
2328        markup: *const c_char,
2329        width: *mut c_int,
2330        height: *mut c_int,
2331    );
2332    pub fn gtk_source_gutter_renderer_text_set_markup(
2333        renderer: *mut GtkSourceGutterRendererText,
2334        markup: *const c_char,
2335        length: c_int,
2336    );
2337    pub fn gtk_source_gutter_renderer_text_set_text(
2338        renderer: *mut GtkSourceGutterRendererText,
2339        text: *const c_char,
2340        length: c_int,
2341    );
2342
2343    //=========================================================================
2344    // GtkSourceHover
2345    //=========================================================================
2346    pub fn gtk_source_hover_get_type() -> GType;
2347    pub fn gtk_source_hover_add_provider(
2348        self_: *mut GtkSourceHover,
2349        provider: *mut GtkSourceHoverProvider,
2350    );
2351    pub fn gtk_source_hover_remove_provider(
2352        self_: *mut GtkSourceHover,
2353        provider: *mut GtkSourceHoverProvider,
2354    );
2355
2356    //=========================================================================
2357    // GtkSourceHoverContext
2358    //=========================================================================
2359    pub fn gtk_source_hover_context_get_type() -> GType;
2360    pub fn gtk_source_hover_context_get_bounds(
2361        self_: *mut GtkSourceHoverContext,
2362        begin: *mut gtk::GtkTextIter,
2363        end: *mut gtk::GtkTextIter,
2364    ) -> gboolean;
2365    pub fn gtk_source_hover_context_get_buffer(
2366        self_: *mut GtkSourceHoverContext,
2367    ) -> *mut GtkSourceBuffer;
2368    pub fn gtk_source_hover_context_get_iter(
2369        self_: *mut GtkSourceHoverContext,
2370        iter: *mut gtk::GtkTextIter,
2371    ) -> gboolean;
2372    pub fn gtk_source_hover_context_get_view(
2373        self_: *mut GtkSourceHoverContext,
2374    ) -> *mut GtkSourceView;
2375
2376    //=========================================================================
2377    // GtkSourceHoverDisplay
2378    //=========================================================================
2379    pub fn gtk_source_hover_display_get_type() -> GType;
2380    pub fn gtk_source_hover_display_append(
2381        self_: *mut GtkSourceHoverDisplay,
2382        child: *mut gtk::GtkWidget,
2383    );
2384    pub fn gtk_source_hover_display_insert_after(
2385        self_: *mut GtkSourceHoverDisplay,
2386        child: *mut gtk::GtkWidget,
2387        sibling: *mut gtk::GtkWidget,
2388    );
2389    pub fn gtk_source_hover_display_prepend(
2390        self_: *mut GtkSourceHoverDisplay,
2391        child: *mut gtk::GtkWidget,
2392    );
2393    pub fn gtk_source_hover_display_remove(
2394        self_: *mut GtkSourceHoverDisplay,
2395        child: *mut gtk::GtkWidget,
2396    );
2397
2398    //=========================================================================
2399    // GtkSourceLanguage
2400    //=========================================================================
2401    pub fn gtk_source_language_get_type() -> GType;
2402    pub fn gtk_source_language_get_globs(language: *mut GtkSourceLanguage) -> *mut *mut c_char;
2403    pub fn gtk_source_language_get_hidden(language: *mut GtkSourceLanguage) -> gboolean;
2404    pub fn gtk_source_language_get_id(language: *mut GtkSourceLanguage) -> *const c_char;
2405    pub fn gtk_source_language_get_metadata(
2406        language: *mut GtkSourceLanguage,
2407        name: *const c_char,
2408    ) -> *const c_char;
2409    pub fn gtk_source_language_get_mime_types(language: *mut GtkSourceLanguage)
2410        -> *mut *mut c_char;
2411    pub fn gtk_source_language_get_name(language: *mut GtkSourceLanguage) -> *const c_char;
2412    pub fn gtk_source_language_get_section(language: *mut GtkSourceLanguage) -> *const c_char;
2413    pub fn gtk_source_language_get_style_fallback(
2414        language: *mut GtkSourceLanguage,
2415        style_id: *const c_char,
2416    ) -> *const c_char;
2417    pub fn gtk_source_language_get_style_ids(language: *mut GtkSourceLanguage) -> *mut *mut c_char;
2418    pub fn gtk_source_language_get_style_name(
2419        language: *mut GtkSourceLanguage,
2420        style_id: *const c_char,
2421    ) -> *const c_char;
2422
2423    //=========================================================================
2424    // GtkSourceLanguageManager
2425    //=========================================================================
2426    pub fn gtk_source_language_manager_get_type() -> GType;
2427    pub fn gtk_source_language_manager_new() -> *mut GtkSourceLanguageManager;
2428    pub fn gtk_source_language_manager_get_default() -> *mut GtkSourceLanguageManager;
2429    #[cfg(feature = "v5_4")]
2430    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
2431    pub fn gtk_source_language_manager_append_search_path(
2432        lm: *mut GtkSourceLanguageManager,
2433        path: *const c_char,
2434    );
2435    pub fn gtk_source_language_manager_get_language(
2436        lm: *mut GtkSourceLanguageManager,
2437        id: *const c_char,
2438    ) -> *mut GtkSourceLanguage;
2439    pub fn gtk_source_language_manager_get_language_ids(
2440        lm: *mut GtkSourceLanguageManager,
2441    ) -> *const *const c_char;
2442    pub fn gtk_source_language_manager_get_search_path(
2443        lm: *mut GtkSourceLanguageManager,
2444    ) -> *const *const c_char;
2445    pub fn gtk_source_language_manager_guess_language(
2446        lm: *mut GtkSourceLanguageManager,
2447        filename: *const c_char,
2448        content_type: *const c_char,
2449    ) -> *mut GtkSourceLanguage;
2450    #[cfg(feature = "v5_4")]
2451    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
2452    pub fn gtk_source_language_manager_prepend_search_path(
2453        lm: *mut GtkSourceLanguageManager,
2454        path: *const c_char,
2455    );
2456    pub fn gtk_source_language_manager_set_search_path(
2457        lm: *mut GtkSourceLanguageManager,
2458        dirs: *const *const c_char,
2459    );
2460
2461    //=========================================================================
2462    // GtkSourceMap
2463    //=========================================================================
2464    pub fn gtk_source_map_get_type() -> GType;
2465    pub fn gtk_source_map_new() -> *mut gtk::GtkWidget;
2466    pub fn gtk_source_map_get_view(map: *mut GtkSourceMap) -> *mut GtkSourceView;
2467    pub fn gtk_source_map_set_view(map: *mut GtkSourceMap, view: *mut GtkSourceView);
2468
2469    //=========================================================================
2470    // GtkSourceMark
2471    //=========================================================================
2472    pub fn gtk_source_mark_get_type() -> GType;
2473    pub fn gtk_source_mark_new(name: *const c_char, category: *const c_char) -> *mut GtkSourceMark;
2474    pub fn gtk_source_mark_get_category(mark: *mut GtkSourceMark) -> *const c_char;
2475    pub fn gtk_source_mark_next(
2476        mark: *mut GtkSourceMark,
2477        category: *const c_char,
2478    ) -> *mut GtkSourceMark;
2479    pub fn gtk_source_mark_prev(
2480        mark: *mut GtkSourceMark,
2481        category: *const c_char,
2482    ) -> *mut GtkSourceMark;
2483
2484    //=========================================================================
2485    // GtkSourceMarkAttributes
2486    //=========================================================================
2487    pub fn gtk_source_mark_attributes_get_type() -> GType;
2488    pub fn gtk_source_mark_attributes_new() -> *mut GtkSourceMarkAttributes;
2489    pub fn gtk_source_mark_attributes_get_background(
2490        attributes: *mut GtkSourceMarkAttributes,
2491        background: *mut gdk::GdkRGBA,
2492    ) -> gboolean;
2493    pub fn gtk_source_mark_attributes_get_gicon(
2494        attributes: *mut GtkSourceMarkAttributes,
2495    ) -> *mut gio::GIcon;
2496    pub fn gtk_source_mark_attributes_get_icon_name(
2497        attributes: *mut GtkSourceMarkAttributes,
2498    ) -> *const c_char;
2499    pub fn gtk_source_mark_attributes_get_pixbuf(
2500        attributes: *mut GtkSourceMarkAttributes,
2501    ) -> *const gdk_pixbuf::GdkPixbuf;
2502    pub fn gtk_source_mark_attributes_get_tooltip_markup(
2503        attributes: *mut GtkSourceMarkAttributes,
2504        mark: *mut GtkSourceMark,
2505    ) -> *mut c_char;
2506    pub fn gtk_source_mark_attributes_get_tooltip_text(
2507        attributes: *mut GtkSourceMarkAttributes,
2508        mark: *mut GtkSourceMark,
2509    ) -> *mut c_char;
2510    pub fn gtk_source_mark_attributes_render_icon(
2511        attributes: *mut GtkSourceMarkAttributes,
2512        widget: *mut gtk::GtkWidget,
2513        size: c_int,
2514    ) -> *mut gdk::GdkPaintable;
2515    pub fn gtk_source_mark_attributes_set_background(
2516        attributes: *mut GtkSourceMarkAttributes,
2517        background: *const gdk::GdkRGBA,
2518    );
2519    pub fn gtk_source_mark_attributes_set_gicon(
2520        attributes: *mut GtkSourceMarkAttributes,
2521        gicon: *mut gio::GIcon,
2522    );
2523    pub fn gtk_source_mark_attributes_set_icon_name(
2524        attributes: *mut GtkSourceMarkAttributes,
2525        icon_name: *const c_char,
2526    );
2527    pub fn gtk_source_mark_attributes_set_pixbuf(
2528        attributes: *mut GtkSourceMarkAttributes,
2529        pixbuf: *const gdk_pixbuf::GdkPixbuf,
2530    );
2531
2532    //=========================================================================
2533    // GtkSourcePrintCompositor
2534    //=========================================================================
2535    pub fn gtk_source_print_compositor_get_type() -> GType;
2536    pub fn gtk_source_print_compositor_new(
2537        buffer: *mut GtkSourceBuffer,
2538    ) -> *mut GtkSourcePrintCompositor;
2539    pub fn gtk_source_print_compositor_new_from_view(
2540        view: *mut GtkSourceView,
2541    ) -> *mut GtkSourcePrintCompositor;
2542    pub fn gtk_source_print_compositor_draw_page(
2543        compositor: *mut GtkSourcePrintCompositor,
2544        context: *mut gtk::GtkPrintContext,
2545        page_nr: c_int,
2546    );
2547    pub fn gtk_source_print_compositor_get_body_font_name(
2548        compositor: *mut GtkSourcePrintCompositor,
2549    ) -> *mut c_char;
2550    pub fn gtk_source_print_compositor_get_bottom_margin(
2551        compositor: *mut GtkSourcePrintCompositor,
2552        unit: gtk::GtkUnit,
2553    ) -> c_double;
2554    pub fn gtk_source_print_compositor_get_buffer(
2555        compositor: *mut GtkSourcePrintCompositor,
2556    ) -> *mut GtkSourceBuffer;
2557    pub fn gtk_source_print_compositor_get_footer_font_name(
2558        compositor: *mut GtkSourcePrintCompositor,
2559    ) -> *mut c_char;
2560    pub fn gtk_source_print_compositor_get_header_font_name(
2561        compositor: *mut GtkSourcePrintCompositor,
2562    ) -> *mut c_char;
2563    pub fn gtk_source_print_compositor_get_highlight_syntax(
2564        compositor: *mut GtkSourcePrintCompositor,
2565    ) -> gboolean;
2566    pub fn gtk_source_print_compositor_get_left_margin(
2567        compositor: *mut GtkSourcePrintCompositor,
2568        unit: gtk::GtkUnit,
2569    ) -> c_double;
2570    pub fn gtk_source_print_compositor_get_line_numbers_font_name(
2571        compositor: *mut GtkSourcePrintCompositor,
2572    ) -> *mut c_char;
2573    pub fn gtk_source_print_compositor_get_n_pages(
2574        compositor: *mut GtkSourcePrintCompositor,
2575    ) -> c_int;
2576    pub fn gtk_source_print_compositor_get_pagination_progress(
2577        compositor: *mut GtkSourcePrintCompositor,
2578    ) -> c_double;
2579    pub fn gtk_source_print_compositor_get_print_footer(
2580        compositor: *mut GtkSourcePrintCompositor,
2581    ) -> gboolean;
2582    pub fn gtk_source_print_compositor_get_print_header(
2583        compositor: *mut GtkSourcePrintCompositor,
2584    ) -> gboolean;
2585    pub fn gtk_source_print_compositor_get_print_line_numbers(
2586        compositor: *mut GtkSourcePrintCompositor,
2587    ) -> c_uint;
2588    pub fn gtk_source_print_compositor_get_right_margin(
2589        compositor: *mut GtkSourcePrintCompositor,
2590        unit: gtk::GtkUnit,
2591    ) -> c_double;
2592    pub fn gtk_source_print_compositor_get_tab_width(
2593        compositor: *mut GtkSourcePrintCompositor,
2594    ) -> c_uint;
2595    pub fn gtk_source_print_compositor_get_top_margin(
2596        compositor: *mut GtkSourcePrintCompositor,
2597        unit: gtk::GtkUnit,
2598    ) -> c_double;
2599    pub fn gtk_source_print_compositor_get_wrap_mode(
2600        compositor: *mut GtkSourcePrintCompositor,
2601    ) -> gtk::GtkWrapMode;
2602    #[cfg(feature = "v5_2")]
2603    #[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
2604    pub fn gtk_source_print_compositor_ignore_tag(
2605        compositor: *mut GtkSourcePrintCompositor,
2606        tag: *mut gtk::GtkTextTag,
2607    );
2608    pub fn gtk_source_print_compositor_paginate(
2609        compositor: *mut GtkSourcePrintCompositor,
2610        context: *mut gtk::GtkPrintContext,
2611    ) -> gboolean;
2612    pub fn gtk_source_print_compositor_set_body_font_name(
2613        compositor: *mut GtkSourcePrintCompositor,
2614        font_name: *const c_char,
2615    );
2616    pub fn gtk_source_print_compositor_set_bottom_margin(
2617        compositor: *mut GtkSourcePrintCompositor,
2618        margin: c_double,
2619        unit: gtk::GtkUnit,
2620    );
2621    pub fn gtk_source_print_compositor_set_footer_font_name(
2622        compositor: *mut GtkSourcePrintCompositor,
2623        font_name: *const c_char,
2624    );
2625    pub fn gtk_source_print_compositor_set_footer_format(
2626        compositor: *mut GtkSourcePrintCompositor,
2627        separator: gboolean,
2628        left: *const c_char,
2629        center: *const c_char,
2630        right: *const c_char,
2631    );
2632    pub fn gtk_source_print_compositor_set_header_font_name(
2633        compositor: *mut GtkSourcePrintCompositor,
2634        font_name: *const c_char,
2635    );
2636    pub fn gtk_source_print_compositor_set_header_format(
2637        compositor: *mut GtkSourcePrintCompositor,
2638        separator: gboolean,
2639        left: *const c_char,
2640        center: *const c_char,
2641        right: *const c_char,
2642    );
2643    pub fn gtk_source_print_compositor_set_highlight_syntax(
2644        compositor: *mut GtkSourcePrintCompositor,
2645        highlight: gboolean,
2646    );
2647    pub fn gtk_source_print_compositor_set_left_margin(
2648        compositor: *mut GtkSourcePrintCompositor,
2649        margin: c_double,
2650        unit: gtk::GtkUnit,
2651    );
2652    pub fn gtk_source_print_compositor_set_line_numbers_font_name(
2653        compositor: *mut GtkSourcePrintCompositor,
2654        font_name: *const c_char,
2655    );
2656    pub fn gtk_source_print_compositor_set_print_footer(
2657        compositor: *mut GtkSourcePrintCompositor,
2658        print: gboolean,
2659    );
2660    pub fn gtk_source_print_compositor_set_print_header(
2661        compositor: *mut GtkSourcePrintCompositor,
2662        print: gboolean,
2663    );
2664    pub fn gtk_source_print_compositor_set_print_line_numbers(
2665        compositor: *mut GtkSourcePrintCompositor,
2666        interval: c_uint,
2667    );
2668    pub fn gtk_source_print_compositor_set_right_margin(
2669        compositor: *mut GtkSourcePrintCompositor,
2670        margin: c_double,
2671        unit: gtk::GtkUnit,
2672    );
2673    pub fn gtk_source_print_compositor_set_tab_width(
2674        compositor: *mut GtkSourcePrintCompositor,
2675        width: c_uint,
2676    );
2677    pub fn gtk_source_print_compositor_set_top_margin(
2678        compositor: *mut GtkSourcePrintCompositor,
2679        margin: c_double,
2680        unit: gtk::GtkUnit,
2681    );
2682    pub fn gtk_source_print_compositor_set_wrap_mode(
2683        compositor: *mut GtkSourcePrintCompositor,
2684        wrap_mode: gtk::GtkWrapMode,
2685    );
2686
2687    //=========================================================================
2688    // GtkSourceRegion
2689    //=========================================================================
2690    pub fn gtk_source_region_get_type() -> GType;
2691    pub fn gtk_source_region_new(buffer: *mut gtk::GtkTextBuffer) -> *mut GtkSourceRegion;
2692    pub fn gtk_source_region_add_region(
2693        region: *mut GtkSourceRegion,
2694        region_to_add: *mut GtkSourceRegion,
2695    );
2696    pub fn gtk_source_region_add_subregion(
2697        region: *mut GtkSourceRegion,
2698        _start: *const gtk::GtkTextIter,
2699        _end: *const gtk::GtkTextIter,
2700    );
2701    pub fn gtk_source_region_get_bounds(
2702        region: *mut GtkSourceRegion,
2703        start: *mut gtk::GtkTextIter,
2704        end: *mut gtk::GtkTextIter,
2705    ) -> gboolean;
2706    pub fn gtk_source_region_get_buffer(region: *mut GtkSourceRegion) -> *mut gtk::GtkTextBuffer;
2707    pub fn gtk_source_region_get_start_region_iter(
2708        region: *mut GtkSourceRegion,
2709        iter: *mut GtkSourceRegionIter,
2710    );
2711    pub fn gtk_source_region_intersect_region(
2712        region1: *mut GtkSourceRegion,
2713        region2: *mut GtkSourceRegion,
2714    ) -> *mut GtkSourceRegion;
2715    pub fn gtk_source_region_intersect_subregion(
2716        region: *mut GtkSourceRegion,
2717        _start: *const gtk::GtkTextIter,
2718        _end: *const gtk::GtkTextIter,
2719    ) -> *mut GtkSourceRegion;
2720    pub fn gtk_source_region_is_empty(region: *mut GtkSourceRegion) -> gboolean;
2721    pub fn gtk_source_region_subtract_region(
2722        region: *mut GtkSourceRegion,
2723        region_to_subtract: *mut GtkSourceRegion,
2724    );
2725    pub fn gtk_source_region_subtract_subregion(
2726        region: *mut GtkSourceRegion,
2727        _start: *const gtk::GtkTextIter,
2728        _end: *const gtk::GtkTextIter,
2729    );
2730    pub fn gtk_source_region_to_string(region: *mut GtkSourceRegion) -> *mut c_char;
2731
2732    //=========================================================================
2733    // GtkSourceSearchContext
2734    //=========================================================================
2735    pub fn gtk_source_search_context_get_type() -> GType;
2736    pub fn gtk_source_search_context_new(
2737        buffer: *mut GtkSourceBuffer,
2738        settings: *mut GtkSourceSearchSettings,
2739    ) -> *mut GtkSourceSearchContext;
2740    pub fn gtk_source_search_context_backward(
2741        search: *mut GtkSourceSearchContext,
2742        iter: *const gtk::GtkTextIter,
2743        match_start: *mut gtk::GtkTextIter,
2744        match_end: *mut gtk::GtkTextIter,
2745        has_wrapped_around: *mut gboolean,
2746    ) -> gboolean;
2747    pub fn gtk_source_search_context_backward_async(
2748        search: *mut GtkSourceSearchContext,
2749        iter: *const gtk::GtkTextIter,
2750        cancellable: *mut gio::GCancellable,
2751        callback: gio::GAsyncReadyCallback,
2752        user_data: gpointer,
2753    );
2754    pub fn gtk_source_search_context_backward_finish(
2755        search: *mut GtkSourceSearchContext,
2756        result: *mut gio::GAsyncResult,
2757        match_start: *mut gtk::GtkTextIter,
2758        match_end: *mut gtk::GtkTextIter,
2759        has_wrapped_around: *mut gboolean,
2760        error: *mut *mut glib::GError,
2761    ) -> gboolean;
2762    pub fn gtk_source_search_context_forward(
2763        search: *mut GtkSourceSearchContext,
2764        iter: *const gtk::GtkTextIter,
2765        match_start: *mut gtk::GtkTextIter,
2766        match_end: *mut gtk::GtkTextIter,
2767        has_wrapped_around: *mut gboolean,
2768    ) -> gboolean;
2769    pub fn gtk_source_search_context_forward_async(
2770        search: *mut GtkSourceSearchContext,
2771        iter: *const gtk::GtkTextIter,
2772        cancellable: *mut gio::GCancellable,
2773        callback: gio::GAsyncReadyCallback,
2774        user_data: gpointer,
2775    );
2776    pub fn gtk_source_search_context_forward_finish(
2777        search: *mut GtkSourceSearchContext,
2778        result: *mut gio::GAsyncResult,
2779        match_start: *mut gtk::GtkTextIter,
2780        match_end: *mut gtk::GtkTextIter,
2781        has_wrapped_around: *mut gboolean,
2782        error: *mut *mut glib::GError,
2783    ) -> gboolean;
2784    pub fn gtk_source_search_context_get_buffer(
2785        search: *mut GtkSourceSearchContext,
2786    ) -> *mut GtkSourceBuffer;
2787    pub fn gtk_source_search_context_get_highlight(search: *mut GtkSourceSearchContext)
2788        -> gboolean;
2789    pub fn gtk_source_search_context_get_match_style(
2790        search: *mut GtkSourceSearchContext,
2791    ) -> *mut GtkSourceStyle;
2792    pub fn gtk_source_search_context_get_occurrence_position(
2793        search: *mut GtkSourceSearchContext,
2794        match_start: *const gtk::GtkTextIter,
2795        match_end: *const gtk::GtkTextIter,
2796    ) -> c_int;
2797    pub fn gtk_source_search_context_get_occurrences_count(
2798        search: *mut GtkSourceSearchContext,
2799    ) -> c_int;
2800    pub fn gtk_source_search_context_get_regex_error(
2801        search: *mut GtkSourceSearchContext,
2802    ) -> *mut glib::GError;
2803    pub fn gtk_source_search_context_get_settings(
2804        search: *mut GtkSourceSearchContext,
2805    ) -> *mut GtkSourceSearchSettings;
2806    pub fn gtk_source_search_context_replace(
2807        search: *mut GtkSourceSearchContext,
2808        match_start: *mut gtk::GtkTextIter,
2809        match_end: *mut gtk::GtkTextIter,
2810        replace: *const c_char,
2811        replace_length: c_int,
2812        error: *mut *mut glib::GError,
2813    ) -> gboolean;
2814    pub fn gtk_source_search_context_replace_all(
2815        search: *mut GtkSourceSearchContext,
2816        replace: *const c_char,
2817        replace_length: c_int,
2818        error: *mut *mut glib::GError,
2819    ) -> c_uint;
2820    pub fn gtk_source_search_context_set_highlight(
2821        search: *mut GtkSourceSearchContext,
2822        highlight: gboolean,
2823    );
2824    pub fn gtk_source_search_context_set_match_style(
2825        search: *mut GtkSourceSearchContext,
2826        match_style: *mut GtkSourceStyle,
2827    );
2828
2829    //=========================================================================
2830    // GtkSourceSearchSettings
2831    //=========================================================================
2832    pub fn gtk_source_search_settings_get_type() -> GType;
2833    pub fn gtk_source_search_settings_new() -> *mut GtkSourceSearchSettings;
2834    pub fn gtk_source_search_settings_get_at_word_boundaries(
2835        settings: *mut GtkSourceSearchSettings,
2836    ) -> gboolean;
2837    pub fn gtk_source_search_settings_get_case_sensitive(
2838        settings: *mut GtkSourceSearchSettings,
2839    ) -> gboolean;
2840    pub fn gtk_source_search_settings_get_regex_enabled(
2841        settings: *mut GtkSourceSearchSettings,
2842    ) -> gboolean;
2843    pub fn gtk_source_search_settings_get_search_text(
2844        settings: *mut GtkSourceSearchSettings,
2845    ) -> *const c_char;
2846    #[cfg(feature = "v5_12")]
2847    #[cfg_attr(docsrs, doc(cfg(feature = "v5_12")))]
2848    pub fn gtk_source_search_settings_get_visible_only(
2849        settings: *mut GtkSourceSearchSettings,
2850    ) -> gboolean;
2851    pub fn gtk_source_search_settings_get_wrap_around(
2852        settings: *mut GtkSourceSearchSettings,
2853    ) -> gboolean;
2854    pub fn gtk_source_search_settings_set_at_word_boundaries(
2855        settings: *mut GtkSourceSearchSettings,
2856        at_word_boundaries: gboolean,
2857    );
2858    pub fn gtk_source_search_settings_set_case_sensitive(
2859        settings: *mut GtkSourceSearchSettings,
2860        case_sensitive: gboolean,
2861    );
2862    pub fn gtk_source_search_settings_set_regex_enabled(
2863        settings: *mut GtkSourceSearchSettings,
2864        regex_enabled: gboolean,
2865    );
2866    pub fn gtk_source_search_settings_set_search_text(
2867        settings: *mut GtkSourceSearchSettings,
2868        search_text: *const c_char,
2869    );
2870    #[cfg(feature = "v5_12")]
2871    #[cfg_attr(docsrs, doc(cfg(feature = "v5_12")))]
2872    pub fn gtk_source_search_settings_set_visible_only(
2873        settings: *mut GtkSourceSearchSettings,
2874        visible_only: gboolean,
2875    );
2876    pub fn gtk_source_search_settings_set_wrap_around(
2877        settings: *mut GtkSourceSearchSettings,
2878        wrap_around: gboolean,
2879    );
2880
2881    //=========================================================================
2882    // GtkSourceSnippet
2883    //=========================================================================
2884    pub fn gtk_source_snippet_get_type() -> GType;
2885    pub fn gtk_source_snippet_new(
2886        trigger: *const c_char,
2887        language_id: *const c_char,
2888    ) -> *mut GtkSourceSnippet;
2889    #[cfg(feature = "v5_6")]
2890    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
2891    pub fn gtk_source_snippet_new_parsed(
2892        text: *const c_char,
2893        error: *mut *mut glib::GError,
2894    ) -> *mut GtkSourceSnippet;
2895    pub fn gtk_source_snippet_add_chunk(
2896        snippet: *mut GtkSourceSnippet,
2897        chunk: *mut GtkSourceSnippetChunk,
2898    );
2899    pub fn gtk_source_snippet_copy(snippet: *mut GtkSourceSnippet) -> *mut GtkSourceSnippet;
2900    pub fn gtk_source_snippet_get_context(
2901        snippet: *mut GtkSourceSnippet,
2902    ) -> *mut GtkSourceSnippetContext;
2903    pub fn gtk_source_snippet_get_description(snippet: *mut GtkSourceSnippet) -> *const c_char;
2904    pub fn gtk_source_snippet_get_focus_position(snippet: *mut GtkSourceSnippet) -> c_int;
2905    pub fn gtk_source_snippet_get_language_id(snippet: *mut GtkSourceSnippet) -> *const c_char;
2906    pub fn gtk_source_snippet_get_n_chunks(snippet: *mut GtkSourceSnippet) -> c_uint;
2907    pub fn gtk_source_snippet_get_name(snippet: *mut GtkSourceSnippet) -> *const c_char;
2908    pub fn gtk_source_snippet_get_nth_chunk(
2909        snippet: *mut GtkSourceSnippet,
2910        nth: c_uint,
2911    ) -> *mut GtkSourceSnippetChunk;
2912    pub fn gtk_source_snippet_get_trigger(snippet: *mut GtkSourceSnippet) -> *const c_char;
2913    pub fn gtk_source_snippet_set_description(
2914        snippet: *mut GtkSourceSnippet,
2915        description: *const c_char,
2916    );
2917    pub fn gtk_source_snippet_set_language_id(
2918        snippet: *mut GtkSourceSnippet,
2919        language_id: *const c_char,
2920    );
2921    pub fn gtk_source_snippet_set_name(snippet: *mut GtkSourceSnippet, name: *const c_char);
2922    pub fn gtk_source_snippet_set_trigger(snippet: *mut GtkSourceSnippet, trigger: *const c_char);
2923
2924    //=========================================================================
2925    // GtkSourceSnippetChunk
2926    //=========================================================================
2927    pub fn gtk_source_snippet_chunk_get_type() -> GType;
2928    pub fn gtk_source_snippet_chunk_new() -> *mut GtkSourceSnippetChunk;
2929    pub fn gtk_source_snippet_chunk_copy(
2930        chunk: *mut GtkSourceSnippetChunk,
2931    ) -> *mut GtkSourceSnippetChunk;
2932    pub fn gtk_source_snippet_chunk_get_context(
2933        chunk: *mut GtkSourceSnippetChunk,
2934    ) -> *mut GtkSourceSnippetContext;
2935    pub fn gtk_source_snippet_chunk_get_focus_position(chunk: *mut GtkSourceSnippetChunk) -> c_int;
2936    pub fn gtk_source_snippet_chunk_get_spec(chunk: *mut GtkSourceSnippetChunk) -> *const c_char;
2937    pub fn gtk_source_snippet_chunk_get_text(chunk: *mut GtkSourceSnippetChunk) -> *const c_char;
2938    pub fn gtk_source_snippet_chunk_get_text_set(chunk: *mut GtkSourceSnippetChunk) -> gboolean;
2939    pub fn gtk_source_snippet_chunk_get_tooltip_text(
2940        chunk: *mut GtkSourceSnippetChunk,
2941    ) -> *const c_char;
2942    pub fn gtk_source_snippet_chunk_set_context(
2943        chunk: *mut GtkSourceSnippetChunk,
2944        context: *mut GtkSourceSnippetContext,
2945    );
2946    pub fn gtk_source_snippet_chunk_set_focus_position(
2947        chunk: *mut GtkSourceSnippetChunk,
2948        focus_position: c_int,
2949    );
2950    pub fn gtk_source_snippet_chunk_set_spec(
2951        chunk: *mut GtkSourceSnippetChunk,
2952        spec: *const c_char,
2953    );
2954    pub fn gtk_source_snippet_chunk_set_text(
2955        chunk: *mut GtkSourceSnippetChunk,
2956        text: *const c_char,
2957    );
2958    pub fn gtk_source_snippet_chunk_set_text_set(
2959        chunk: *mut GtkSourceSnippetChunk,
2960        text_set: gboolean,
2961    );
2962    pub fn gtk_source_snippet_chunk_set_tooltip_text(
2963        chunk: *mut GtkSourceSnippetChunk,
2964        tooltip_text: *const c_char,
2965    );
2966
2967    //=========================================================================
2968    // GtkSourceSnippetContext
2969    //=========================================================================
2970    pub fn gtk_source_snippet_context_get_type() -> GType;
2971    pub fn gtk_source_snippet_context_new() -> *mut GtkSourceSnippetContext;
2972    pub fn gtk_source_snippet_context_clear_variables(self_: *mut GtkSourceSnippetContext);
2973    pub fn gtk_source_snippet_context_expand(
2974        self_: *mut GtkSourceSnippetContext,
2975        input: *const c_char,
2976    ) -> *mut c_char;
2977    pub fn gtk_source_snippet_context_get_variable(
2978        self_: *mut GtkSourceSnippetContext,
2979        key: *const c_char,
2980    ) -> *const c_char;
2981    pub fn gtk_source_snippet_context_set_constant(
2982        self_: *mut GtkSourceSnippetContext,
2983        key: *const c_char,
2984        value: *const c_char,
2985    );
2986    pub fn gtk_source_snippet_context_set_line_prefix(
2987        self_: *mut GtkSourceSnippetContext,
2988        line_prefix: *const c_char,
2989    );
2990    pub fn gtk_source_snippet_context_set_tab_width(
2991        self_: *mut GtkSourceSnippetContext,
2992        tab_width: c_int,
2993    );
2994    pub fn gtk_source_snippet_context_set_use_spaces(
2995        self_: *mut GtkSourceSnippetContext,
2996        use_spaces: gboolean,
2997    );
2998    pub fn gtk_source_snippet_context_set_variable(
2999        self_: *mut GtkSourceSnippetContext,
3000        key: *const c_char,
3001        value: *const c_char,
3002    );
3003
3004    //=========================================================================
3005    // GtkSourceSnippetManager
3006    //=========================================================================
3007    pub fn gtk_source_snippet_manager_get_type() -> GType;
3008    pub fn gtk_source_snippet_manager_get_default() -> *mut GtkSourceSnippetManager;
3009    pub fn gtk_source_snippet_manager_get_search_path(
3010        self_: *mut GtkSourceSnippetManager,
3011    ) -> *const *const c_char;
3012    pub fn gtk_source_snippet_manager_get_snippet(
3013        self_: *mut GtkSourceSnippetManager,
3014        group: *const c_char,
3015        language_id: *const c_char,
3016        trigger: *const c_char,
3017    ) -> *mut GtkSourceSnippet;
3018    #[cfg(feature = "v5_6")]
3019    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
3020    pub fn gtk_source_snippet_manager_list_all(
3021        self_: *mut GtkSourceSnippetManager,
3022    ) -> *mut gio::GListModel;
3023    pub fn gtk_source_snippet_manager_list_groups(
3024        self_: *mut GtkSourceSnippetManager,
3025    ) -> *mut *const c_char;
3026    pub fn gtk_source_snippet_manager_list_matching(
3027        self_: *mut GtkSourceSnippetManager,
3028        group: *const c_char,
3029        language_id: *const c_char,
3030        trigger_prefix: *const c_char,
3031    ) -> *mut gio::GListModel;
3032    pub fn gtk_source_snippet_manager_set_search_path(
3033        self_: *mut GtkSourceSnippetManager,
3034        dirs: *const *const c_char,
3035    );
3036
3037    //=========================================================================
3038    // GtkSourceSpaceDrawer
3039    //=========================================================================
3040    pub fn gtk_source_space_drawer_get_type() -> GType;
3041    pub fn gtk_source_space_drawer_new() -> *mut GtkSourceSpaceDrawer;
3042    pub fn gtk_source_space_drawer_bind_matrix_setting(
3043        drawer: *mut GtkSourceSpaceDrawer,
3044        settings: *mut gio::GSettings,
3045        key: *const c_char,
3046        flags: gio::GSettingsBindFlags,
3047    );
3048    pub fn gtk_source_space_drawer_get_enable_matrix(drawer: *mut GtkSourceSpaceDrawer)
3049        -> gboolean;
3050    pub fn gtk_source_space_drawer_get_matrix(
3051        drawer: *mut GtkSourceSpaceDrawer,
3052    ) -> *mut glib::GVariant;
3053    pub fn gtk_source_space_drawer_get_types_for_locations(
3054        drawer: *mut GtkSourceSpaceDrawer,
3055        locations: GtkSourceSpaceLocationFlags,
3056    ) -> GtkSourceSpaceTypeFlags;
3057    pub fn gtk_source_space_drawer_set_enable_matrix(
3058        drawer: *mut GtkSourceSpaceDrawer,
3059        enable_matrix: gboolean,
3060    );
3061    pub fn gtk_source_space_drawer_set_matrix(
3062        drawer: *mut GtkSourceSpaceDrawer,
3063        matrix: *mut glib::GVariant,
3064    );
3065    pub fn gtk_source_space_drawer_set_types_for_locations(
3066        drawer: *mut GtkSourceSpaceDrawer,
3067        locations: GtkSourceSpaceLocationFlags,
3068        types: GtkSourceSpaceTypeFlags,
3069    );
3070
3071    //=========================================================================
3072    // GtkSourceStyle
3073    //=========================================================================
3074    pub fn gtk_source_style_get_type() -> GType;
3075    pub fn gtk_source_style_apply(style: *const GtkSourceStyle, tag: *mut gtk::GtkTextTag);
3076    pub fn gtk_source_style_copy(style: *const GtkSourceStyle) -> *mut GtkSourceStyle;
3077
3078    //=========================================================================
3079    // GtkSourceStyleScheme
3080    //=========================================================================
3081    pub fn gtk_source_style_scheme_get_type() -> GType;
3082    pub fn gtk_source_style_scheme_get_authors(
3083        scheme: *mut GtkSourceStyleScheme,
3084    ) -> *const *const c_char;
3085    pub fn gtk_source_style_scheme_get_description(
3086        scheme: *mut GtkSourceStyleScheme,
3087    ) -> *const c_char;
3088    pub fn gtk_source_style_scheme_get_filename(scheme: *mut GtkSourceStyleScheme)
3089        -> *const c_char;
3090    pub fn gtk_source_style_scheme_get_id(scheme: *mut GtkSourceStyleScheme) -> *const c_char;
3091    #[cfg(feature = "v5_4")]
3092    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3093    pub fn gtk_source_style_scheme_get_metadata(
3094        scheme: *mut GtkSourceStyleScheme,
3095        name: *const c_char,
3096    ) -> *const c_char;
3097    pub fn gtk_source_style_scheme_get_name(scheme: *mut GtkSourceStyleScheme) -> *const c_char;
3098    pub fn gtk_source_style_scheme_get_style(
3099        scheme: *mut GtkSourceStyleScheme,
3100        style_id: *const c_char,
3101    ) -> *mut GtkSourceStyle;
3102
3103    //=========================================================================
3104    // GtkSourceStyleSchemeChooserButton
3105    //=========================================================================
3106    pub fn gtk_source_style_scheme_chooser_button_get_type() -> GType;
3107    pub fn gtk_source_style_scheme_chooser_button_new() -> *mut gtk::GtkWidget;
3108
3109    //=========================================================================
3110    // GtkSourceStyleSchemeChooserWidget
3111    //=========================================================================
3112    pub fn gtk_source_style_scheme_chooser_widget_get_type() -> GType;
3113    pub fn gtk_source_style_scheme_chooser_widget_new() -> *mut gtk::GtkWidget;
3114
3115    //=========================================================================
3116    // GtkSourceStyleSchemeManager
3117    //=========================================================================
3118    pub fn gtk_source_style_scheme_manager_get_type() -> GType;
3119    pub fn gtk_source_style_scheme_manager_new() -> *mut GtkSourceStyleSchemeManager;
3120    pub fn gtk_source_style_scheme_manager_get_default() -> *mut GtkSourceStyleSchemeManager;
3121    pub fn gtk_source_style_scheme_manager_append_search_path(
3122        manager: *mut GtkSourceStyleSchemeManager,
3123        path: *const c_char,
3124    );
3125    pub fn gtk_source_style_scheme_manager_force_rescan(manager: *mut GtkSourceStyleSchemeManager);
3126    pub fn gtk_source_style_scheme_manager_get_scheme(
3127        manager: *mut GtkSourceStyleSchemeManager,
3128        scheme_id: *const c_char,
3129    ) -> *mut GtkSourceStyleScheme;
3130    pub fn gtk_source_style_scheme_manager_get_scheme_ids(
3131        manager: *mut GtkSourceStyleSchemeManager,
3132    ) -> *const *const c_char;
3133    pub fn gtk_source_style_scheme_manager_get_search_path(
3134        manager: *mut GtkSourceStyleSchemeManager,
3135    ) -> *const *const c_char;
3136    pub fn gtk_source_style_scheme_manager_prepend_search_path(
3137        manager: *mut GtkSourceStyleSchemeManager,
3138        path: *const c_char,
3139    );
3140    pub fn gtk_source_style_scheme_manager_set_search_path(
3141        manager: *mut GtkSourceStyleSchemeManager,
3142        path: *const *const c_char,
3143    );
3144
3145    //=========================================================================
3146    // GtkSourceStyleSchemePreview
3147    //=========================================================================
3148    #[cfg(feature = "v5_4")]
3149    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3150    pub fn gtk_source_style_scheme_preview_get_type() -> GType;
3151    #[cfg(feature = "v5_4")]
3152    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3153    pub fn gtk_source_style_scheme_preview_new(
3154        scheme: *mut GtkSourceStyleScheme,
3155    ) -> *mut gtk::GtkWidget;
3156    #[cfg(feature = "v5_4")]
3157    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3158    pub fn gtk_source_style_scheme_preview_get_scheme(
3159        self_: *mut GtkSourceStyleSchemePreview,
3160    ) -> *mut GtkSourceStyleScheme;
3161    #[cfg(feature = "v5_4")]
3162    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3163    pub fn gtk_source_style_scheme_preview_get_selected(
3164        self_: *mut GtkSourceStyleSchemePreview,
3165    ) -> gboolean;
3166    #[cfg(feature = "v5_4")]
3167    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3168    pub fn gtk_source_style_scheme_preview_set_selected(
3169        self_: *mut GtkSourceStyleSchemePreview,
3170        selected: gboolean,
3171    );
3172
3173    //=========================================================================
3174    // GtkSourceTag
3175    //=========================================================================
3176    pub fn gtk_source_tag_get_type() -> GType;
3177    pub fn gtk_source_tag_new(name: *const c_char) -> *mut gtk::GtkTextTag;
3178
3179    //=========================================================================
3180    // GtkSourceView
3181    //=========================================================================
3182    pub fn gtk_source_view_get_type() -> GType;
3183    pub fn gtk_source_view_new() -> *mut gtk::GtkWidget;
3184    pub fn gtk_source_view_new_with_buffer(buffer: *mut GtkSourceBuffer) -> *mut gtk::GtkWidget;
3185    pub fn gtk_source_view_get_auto_indent(view: *mut GtkSourceView) -> gboolean;
3186    pub fn gtk_source_view_get_background_pattern(
3187        view: *mut GtkSourceView,
3188    ) -> GtkSourceBackgroundPatternType;
3189    pub fn gtk_source_view_get_completion(view: *mut GtkSourceView) -> *mut GtkSourceCompletion;
3190    pub fn gtk_source_view_get_enable_snippets(view: *mut GtkSourceView) -> gboolean;
3191    pub fn gtk_source_view_get_gutter(
3192        view: *mut GtkSourceView,
3193        window_type: gtk::GtkTextWindowType,
3194    ) -> *mut GtkSourceGutter;
3195    pub fn gtk_source_view_get_highlight_current_line(view: *mut GtkSourceView) -> gboolean;
3196    pub fn gtk_source_view_get_hover(view: *mut GtkSourceView) -> *mut GtkSourceHover;
3197    pub fn gtk_source_view_get_indent_on_tab(view: *mut GtkSourceView) -> gboolean;
3198    pub fn gtk_source_view_get_indent_width(view: *mut GtkSourceView) -> c_int;
3199    pub fn gtk_source_view_get_indenter(view: *mut GtkSourceView) -> *mut GtkSourceIndenter;
3200    pub fn gtk_source_view_get_insert_spaces_instead_of_tabs(view: *mut GtkSourceView) -> gboolean;
3201    pub fn gtk_source_view_get_mark_attributes(
3202        view: *mut GtkSourceView,
3203        category: *const c_char,
3204        priority: *mut c_int,
3205    ) -> *mut GtkSourceMarkAttributes;
3206    pub fn gtk_source_view_get_right_margin_position(view: *mut GtkSourceView) -> c_uint;
3207    pub fn gtk_source_view_get_show_line_marks(view: *mut GtkSourceView) -> gboolean;
3208    pub fn gtk_source_view_get_show_line_numbers(view: *mut GtkSourceView) -> gboolean;
3209    pub fn gtk_source_view_get_show_right_margin(view: *mut GtkSourceView) -> gboolean;
3210    pub fn gtk_source_view_get_smart_backspace(view: *mut GtkSourceView) -> gboolean;
3211    pub fn gtk_source_view_get_smart_home_end(
3212        view: *mut GtkSourceView,
3213    ) -> GtkSourceSmartHomeEndType;
3214    pub fn gtk_source_view_get_space_drawer(view: *mut GtkSourceView) -> *mut GtkSourceSpaceDrawer;
3215    pub fn gtk_source_view_get_tab_width(view: *mut GtkSourceView) -> c_uint;
3216    pub fn gtk_source_view_get_visual_column(
3217        view: *mut GtkSourceView,
3218        iter: *const gtk::GtkTextIter,
3219    ) -> c_uint;
3220    pub fn gtk_source_view_indent_lines(
3221        view: *mut GtkSourceView,
3222        start: *mut gtk::GtkTextIter,
3223        end: *mut gtk::GtkTextIter,
3224    );
3225    pub fn gtk_source_view_push_snippet(
3226        view: *mut GtkSourceView,
3227        snippet: *mut GtkSourceSnippet,
3228        location: *mut gtk::GtkTextIter,
3229    );
3230    pub fn gtk_source_view_set_auto_indent(view: *mut GtkSourceView, enable: gboolean);
3231    pub fn gtk_source_view_set_background_pattern(
3232        view: *mut GtkSourceView,
3233        background_pattern: GtkSourceBackgroundPatternType,
3234    );
3235    pub fn gtk_source_view_set_enable_snippets(view: *mut GtkSourceView, enable_snippets: gboolean);
3236    pub fn gtk_source_view_set_highlight_current_line(
3237        view: *mut GtkSourceView,
3238        highlight: gboolean,
3239    );
3240    pub fn gtk_source_view_set_indent_on_tab(view: *mut GtkSourceView, enable: gboolean);
3241    pub fn gtk_source_view_set_indent_width(view: *mut GtkSourceView, width: c_int);
3242    pub fn gtk_source_view_set_indenter(view: *mut GtkSourceView, indenter: *mut GtkSourceIndenter);
3243    pub fn gtk_source_view_set_insert_spaces_instead_of_tabs(
3244        view: *mut GtkSourceView,
3245        enable: gboolean,
3246    );
3247    pub fn gtk_source_view_set_mark_attributes(
3248        view: *mut GtkSourceView,
3249        category: *const c_char,
3250        attributes: *mut GtkSourceMarkAttributes,
3251        priority: c_int,
3252    );
3253    pub fn gtk_source_view_set_right_margin_position(view: *mut GtkSourceView, pos: c_uint);
3254    pub fn gtk_source_view_set_show_line_marks(view: *mut GtkSourceView, show: gboolean);
3255    pub fn gtk_source_view_set_show_line_numbers(view: *mut GtkSourceView, show: gboolean);
3256    pub fn gtk_source_view_set_show_right_margin(view: *mut GtkSourceView, show: gboolean);
3257    pub fn gtk_source_view_set_smart_backspace(view: *mut GtkSourceView, smart_backspace: gboolean);
3258    pub fn gtk_source_view_set_smart_home_end(
3259        view: *mut GtkSourceView,
3260        smart_home_end: GtkSourceSmartHomeEndType,
3261    );
3262    pub fn gtk_source_view_set_tab_width(view: *mut GtkSourceView, width: c_uint);
3263    pub fn gtk_source_view_unindent_lines(
3264        view: *mut GtkSourceView,
3265        start: *mut gtk::GtkTextIter,
3266        end: *mut gtk::GtkTextIter,
3267    );
3268
3269    //=========================================================================
3270    // GtkSourceVimIMContext
3271    //=========================================================================
3272    #[cfg(feature = "v5_4")]
3273    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3274    pub fn gtk_source_vim_im_context_get_type() -> GType;
3275    #[cfg(feature = "v5_4")]
3276    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3277    pub fn gtk_source_vim_im_context_new() -> *mut gtk::GtkIMContext;
3278    #[cfg(feature = "v5_4")]
3279    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3280    pub fn gtk_source_vim_im_context_execute_command(
3281        self_: *mut GtkSourceVimIMContext,
3282        command: *const c_char,
3283    );
3284    #[cfg(feature = "v5_4")]
3285    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3286    pub fn gtk_source_vim_im_context_get_command_bar_text(
3287        self_: *mut GtkSourceVimIMContext,
3288    ) -> *const c_char;
3289    #[cfg(feature = "v5_4")]
3290    #[cfg_attr(docsrs, doc(cfg(feature = "v5_4")))]
3291    pub fn gtk_source_vim_im_context_get_command_text(
3292        self_: *mut GtkSourceVimIMContext,
3293    ) -> *const c_char;
3294
3295    //=========================================================================
3296    // GtkSourceCompletionProposal
3297    //=========================================================================
3298    pub fn gtk_source_completion_proposal_get_type() -> GType;
3299    #[cfg(feature = "v5_6")]
3300    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
3301    pub fn gtk_source_completion_proposal_get_typed_text(
3302        proposal: *mut GtkSourceCompletionProposal,
3303    ) -> *mut c_char;
3304
3305    //=========================================================================
3306    // GtkSourceCompletionProvider
3307    //=========================================================================
3308    pub fn gtk_source_completion_provider_get_type() -> GType;
3309    pub fn gtk_source_completion_provider_activate(
3310        self_: *mut GtkSourceCompletionProvider,
3311        context: *mut GtkSourceCompletionContext,
3312        proposal: *mut GtkSourceCompletionProposal,
3313    );
3314    pub fn gtk_source_completion_provider_display(
3315        self_: *mut GtkSourceCompletionProvider,
3316        context: *mut GtkSourceCompletionContext,
3317        proposal: *mut GtkSourceCompletionProposal,
3318        cell: *mut GtkSourceCompletionCell,
3319    );
3320    pub fn gtk_source_completion_provider_get_priority(
3321        self_: *mut GtkSourceCompletionProvider,
3322        context: *mut GtkSourceCompletionContext,
3323    ) -> c_int;
3324    pub fn gtk_source_completion_provider_get_title(
3325        self_: *mut GtkSourceCompletionProvider,
3326    ) -> *mut c_char;
3327    pub fn gtk_source_completion_provider_is_trigger(
3328        self_: *mut GtkSourceCompletionProvider,
3329        iter: *const gtk::GtkTextIter,
3330        ch: u32,
3331    ) -> gboolean;
3332    pub fn gtk_source_completion_provider_key_activates(
3333        self_: *mut GtkSourceCompletionProvider,
3334        context: *mut GtkSourceCompletionContext,
3335        proposal: *mut GtkSourceCompletionProposal,
3336        keyval: c_uint,
3337        state: gdk::GdkModifierType,
3338    ) -> gboolean;
3339    pub fn gtk_source_completion_provider_list_alternates(
3340        self_: *mut GtkSourceCompletionProvider,
3341        context: *mut GtkSourceCompletionContext,
3342        proposal: *mut GtkSourceCompletionProposal,
3343    ) -> *mut glib::GPtrArray;
3344    pub fn gtk_source_completion_provider_populate_async(
3345        self_: *mut GtkSourceCompletionProvider,
3346        context: *mut GtkSourceCompletionContext,
3347        cancellable: *mut gio::GCancellable,
3348        callback: gio::GAsyncReadyCallback,
3349        user_data: gpointer,
3350    );
3351    pub fn gtk_source_completion_provider_populate_finish(
3352        self_: *mut GtkSourceCompletionProvider,
3353        result: *mut gio::GAsyncResult,
3354        error: *mut *mut glib::GError,
3355    ) -> *mut gio::GListModel;
3356    pub fn gtk_source_completion_provider_refilter(
3357        self_: *mut GtkSourceCompletionProvider,
3358        context: *mut GtkSourceCompletionContext,
3359        model: *mut gio::GListModel,
3360    );
3361
3362    //=========================================================================
3363    // GtkSourceHoverProvider
3364    //=========================================================================
3365    pub fn gtk_source_hover_provider_get_type() -> GType;
3366    pub fn gtk_source_hover_provider_populate_async(
3367        self_: *mut GtkSourceHoverProvider,
3368        context: *mut GtkSourceHoverContext,
3369        display: *mut GtkSourceHoverDisplay,
3370        cancellable: *mut gio::GCancellable,
3371        callback: gio::GAsyncReadyCallback,
3372        user_data: gpointer,
3373    );
3374    pub fn gtk_source_hover_provider_populate_finish(
3375        self_: *mut GtkSourceHoverProvider,
3376        result: *mut gio::GAsyncResult,
3377        error: *mut *mut glib::GError,
3378    ) -> gboolean;
3379
3380    //=========================================================================
3381    // GtkSourceIndenter
3382    //=========================================================================
3383    pub fn gtk_source_indenter_get_type() -> GType;
3384    pub fn gtk_source_indenter_indent(
3385        self_: *mut GtkSourceIndenter,
3386        view: *mut GtkSourceView,
3387        iter: *mut gtk::GtkTextIter,
3388    );
3389    pub fn gtk_source_indenter_is_trigger(
3390        self_: *mut GtkSourceIndenter,
3391        view: *mut GtkSourceView,
3392        location: *const gtk::GtkTextIter,
3393        state: gdk::GdkModifierType,
3394        keyval: c_uint,
3395    ) -> gboolean;
3396
3397    //=========================================================================
3398    // GtkSourceStyleSchemeChooser
3399    //=========================================================================
3400    pub fn gtk_source_style_scheme_chooser_get_type() -> GType;
3401    pub fn gtk_source_style_scheme_chooser_get_style_scheme(
3402        chooser: *mut GtkSourceStyleSchemeChooser,
3403    ) -> *mut GtkSourceStyleScheme;
3404    pub fn gtk_source_style_scheme_chooser_set_style_scheme(
3405        chooser: *mut GtkSourceStyleSchemeChooser,
3406        scheme: *mut GtkSourceStyleScheme,
3407    );
3408
3409    //=========================================================================
3410    // Other functions
3411    //=========================================================================
3412    pub fn gtk_source_check_version(major: c_uint, minor: c_uint, micro: c_uint) -> gboolean;
3413    pub fn gtk_source_finalize();
3414    pub fn gtk_source_get_major_version() -> c_uint;
3415    pub fn gtk_source_get_micro_version() -> c_uint;
3416    pub fn gtk_source_get_minor_version() -> c_uint;
3417    pub fn gtk_source_init();
3418    #[cfg(feature = "v5_2")]
3419    #[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
3420    pub fn gtk_source_scheduler_add(
3421        callback: GtkSourceSchedulerCallback,
3422        user_data: gpointer,
3423    ) -> size_t;
3424    #[cfg(feature = "v5_2")]
3425    #[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
3426    pub fn gtk_source_scheduler_add_full(
3427        callback: GtkSourceSchedulerCallback,
3428        user_data: gpointer,
3429        notify: glib::GDestroyNotify,
3430    ) -> size_t;
3431    #[cfg(feature = "v5_2")]
3432    #[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
3433    pub fn gtk_source_scheduler_remove(handler_id: size_t);
3434    pub fn gtk_source_utils_escape_search_text(text: *const c_char) -> *mut c_char;
3435    pub fn gtk_source_utils_unescape_search_text(text: *const c_char) -> *mut c_char;
3436
3437}