Skip to main content

sourceview5_sys/
lib.rs

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