21 #ifndef __GTK_SOURCE_TAG_H__
22 #define __GTK_SOURCE_TAG_H__
26 #include <gtk/gtktexttag.h>
30 #define GTK_TYPE_SYNTAX_TAG (gtk_syntax_tag_get_type ())
31 #define GTK_SYNTAX_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SYNTAX_TAG, GtkSyntaxTag))
32 #define GTK_SYNTAX_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SYNTAX_TAG, GtkSyntaxTagClass))
33 #define GTK_IS_SYNTAX_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SYNTAX_TAG))
34 #define GTK_IS_SYNTAX_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SYNTAX_TAG))
35 #define GTK_SYNTAX_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SYNTAX_TAG, GtkSyntaxTagClass))
37 #define GTK_TYPE_PATTERN_TAG (gtk_pattern_tag_get_type ())
38 #define GTK_PATTERN_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PATTERN_TAG, GtkPatternTag))
39 #define GTK_PATTERN_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PATTERN_TAG, GtkPatternTagClass))
40 #define GTK_IS_PATTERN_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PATTERN_TAG))
41 #define GTK_IS_PATTERN_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PATTERN_TAG))
42 #define GTK_PATTERN_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PATTERN_TAG, GtkPatternTagClass))
44 #define GTK_TYPE_EMBEDDED_TAG (gtk_embedded_tag_get_type ())
45 #define GTK_EMBEDDED_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EMBEDDED_TAG, GtkEmbeddedTag))
46 #define GTK_EMBEDDED_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EMBEDDED_TAG, GtkEmbeddedTagClass))
47 #define GTK_IS_EMBEDDED_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EMBEDDED_TAG))
48 #define GTK_IS_EMBEDDED_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EMBEDDED_TAG))
49 #define GTK_EMBEDDED_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EMBEDDED_TAG, GtkEmbeddedTagClass))
51 typedef struct _GtkSourceBufferMatch
55 }GtkSourceBufferMatch;
59 typedef struct _Regex {
60 struct re_pattern_buffer buf;
61 struct re_registers reg;
65 typedef struct _GtkSyntaxTag GtkSyntaxTag;
66 typedef struct _GtkSyntaxTagClass GtkSyntaxTagClass;
67 typedef struct _GtkPatternTag GtkPatternTag;
68 typedef struct _GtkPatternTagClass GtkPatternTagClass;
69 typedef struct _GtkEmbeddedTag GtkEmbeddedTag;
70 typedef struct _GtkEmbeddedTagClass GtkEmbeddedTagClass;
72 struct _GtkSyntaxTag {
73 GtkTextTag parent_instance;
79 struct _GtkSyntaxTagClass {
80 GtkTextTagClass parent_class;
83 struct _GtkPatternTag {
84 GtkTextTag parent_instance;
88 struct _GtkPatternTagClass {
89 GtkTextTagClass parent_class;
92 struct _GtkEmbeddedTag {
93 GtkTextTag parent_instance;
98 struct _GtkEmbeddedTagClass {
99 GtkTextTagClass parent_class;
103 GType gtk_syntax_tag_get_type(
void) G_GNUC_CONST;
104 GtkTextTag* gtk_syntax_tag_new(
const gchar *name,
const gchar *patternstart,
105 const gchar *patternend);
107 GType gtk_pattern_tag_get_type(
void) G_GNUC_CONST;
108 GtkTextTag* gtk_pattern_tag_new(
const gchar *name,
const gchar *pattern);
110 GType gtk_embedded_tag_get_type(
void) G_GNUC_CONST;
111 GtkTextTag* gtk_embedded_tag_new(
const gchar *name,
const gchar *outside,
112 const gchar *inside);
114 gboolean gtk_source_compile_regex (
const gchar *pattern, Regex *regex);