;; From gtksourcebuffer.h

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_BRACKET_MATCH_NONE,
;; 	GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE,
;; 	GTK_SOURCE_BRACKET_MATCH_NOT_FOUND,
;; 	GTK_SOURCE_BRACKET_MATCH_FOUND
;; } GtkSourceBracketMatchType;

(define-enum-extended SourceBracketMatchType
  (in-module "Gtk")
  (c-name "GtkSourceBracketMatchType")
  (values
    '("none" "GTK_SOURCE_BRACKET_MATCH_NONE" "0")
    '("out-of-range" "GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE" "1")
    '("not-found" "GTK_SOURCE_BRACKET_MATCH_NOT_FOUND" "2")
    '("found" "GTK_SOURCE_BRACKET_MATCH_FOUND" "3")
  )
)

;; From gtksourcecompletioncontext.h

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_COMPLETION_ACTIVATION_NONE = 0,
;; 	GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE = 1 << 0,
;; 	GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED = 1 << 1
;; } GtkSourceCompletionActivation;

(define-flags-extended SourceCompletionActivation
  (in-module "Gtk")
  (c-name "GtkSourceCompletionActivation")
  (values
    '("none" "GTK_SOURCE_COMPLETION_ACTIVATION_NONE" "0x0")
    '("interactive" "GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE" "1 << 0")
    '("user-requested" "GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED" "1 << 1")
  )
)

;; From gtksourcecompletion.h

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_COMPLETION_ERROR_ALREADY_BOUND = 0,
;; 	GTK_SOURCE_COMPLETION_ERROR_NOT_BOUND
;; } GtkSourceCompletionError;

(define-enum-extended SourceCompletionError
  (in-module "Gtk")
  (c-name "GtkSourceCompletionError")
  (values
    '("already-bound" "GTK_SOURCE_COMPLETION_ERROR_ALREADY_BOUND" "0")
    '("not-bound" "GTK_SOURCE_COMPLETION_ERROR_NOT_BOUND" "1")
  )
)

;; From gtksourcegutterrenderer.h

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_GUTTER_RENDERER_STATE_NORMAL = 0,
;; 	GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR = 1 << 0,
;; 	GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT = 1 << 1,
;; 	GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED = 1 << 2
;; } GtkSourceGutterRendererState;

(define-flags-extended SourceGutterRendererState
  (in-module "Gtk")
  (c-name "GtkSourceGutterRendererState")
  (values
    '("normal" "GTK_SOURCE_GUTTER_RENDERER_STATE_NORMAL" "0x0")
    '("cursor" "GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR" "1 << 0")
    '("prelit" "GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT" "1 << 1")
    '("selected" "GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED" "1 << 2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL,
;; 	GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST,
;; 	GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST
;; } GtkSourceGutterRendererAlignmentMode;

(define-enum-extended SourceGutterRendererAlignmentMode
  (in-module "Gtk")
  (c-name "GtkSourceGutterRendererAlignmentMode")
  (values
    '("cell" "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL" "0")
    '("first" "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST" "1")
    '("last" "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST" "2")
  )
)

;; From gtksourceview.h

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_VIEW_GUTTER_POSITION_LINES = -30,
;; 	GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS = -20
;; } GtkSourceViewGutterPosition;

(define-enum-extended SourceViewGutterPosition
  (in-module "Gtk")
  (c-name "GtkSourceViewGutterPosition")
  (values
    '("lines" "GTK_SOURCE_VIEW_GUTTER_POSITION_LINES" "-30")
    '("marks" "GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS" "-20")
  )
)

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_SMART_HOME_END_DISABLED,
;; 	GTK_SOURCE_SMART_HOME_END_BEFORE,
;; 	GTK_SOURCE_SMART_HOME_END_AFTER,
;; 	GTK_SOURCE_SMART_HOME_END_ALWAYS
;; } GtkSourceSmartHomeEndType;

(define-enum-extended SourceSmartHomeEndType
  (in-module "Gtk")
  (c-name "GtkSourceSmartHomeEndType")
  (values
    '("disabled" "GTK_SOURCE_SMART_HOME_END_DISABLED" "0")
    '("before" "GTK_SOURCE_SMART_HOME_END_BEFORE" "1")
    '("after" "GTK_SOURCE_SMART_HOME_END_AFTER" "2")
    '("always" "GTK_SOURCE_SMART_HOME_END_ALWAYS" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_DRAW_SPACES_SPACE      = 1 << 0,
;; 	GTK_SOURCE_DRAW_SPACES_TAB        = 1 << 1,
;; 	GTK_SOURCE_DRAW_SPACES_NEWLINE    = 1 << 2,
;; 	GTK_SOURCE_DRAW_SPACES_NBSP       = 1 << 3,
;; 	GTK_SOURCE_DRAW_SPACES_LEADING    = 1 << 4,
;; 	GTK_SOURCE_DRAW_SPACES_TEXT       = 1 << 5,
;; 	GTK_SOURCE_DRAW_SPACES_TRAILING   = 1 << 6,
;; 	GTK_SOURCE_DRAW_SPACES_ALL        = (GTK_SOURCE_DRAW_SPACES_SPACE   | \
;; 	                                     GTK_SOURCE_DRAW_SPACES_TAB     | \
;; 	                                     GTK_SOURCE_DRAW_SPACES_NEWLINE | \
;; 	                                     GTK_SOURCE_DRAW_SPACES_NBSP | \
;; 	                                     GTK_SOURCE_DRAW_SPACES_LEADING | \
;; 	                                     GTK_SOURCE_DRAW_SPACES_TEXT | \
;; 	                                     GTK_SOURCE_DRAW_SPACES_TRAILING)
;; } GtkSourceDrawSpacesFlags;

(define-flags-extended SourceDrawSpacesFlags
  (in-module "Gtk")
  (c-name "GtkSourceDrawSpacesFlags")
  (values
    '("space" "GTK_SOURCE_DRAW_SPACES_SPACE" "1 << 0")
    '("tab" "GTK_SOURCE_DRAW_SPACES_TAB" "1 << 1")
    '("newline" "GTK_SOURCE_DRAW_SPACES_NEWLINE" "1 << 2")
    '("nbsp" "GTK_SOURCE_DRAW_SPACES_NBSP" "1 << 3")
    '("leading" "GTK_SOURCE_DRAW_SPACES_LEADING" "1 << 4")
    '("text" "GTK_SOURCE_DRAW_SPACES_TEXT" "1 << 5")
    '("trailing" "GTK_SOURCE_DRAW_SPACES_TRAILING" "1 << 6")
    '("all" "GTK_SOURCE_DRAW_SPACES_ALL" "0x7F")
  )
)

