;; 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 gtksourceiter.h

;; Original typedef:
;; typedef enum
;; {
;; 	GTK_SOURCE_SEARCH_VISIBLE_ONLY		 = 1 << 0,
;; 	GTK_SOURCE_SEARCH_TEXT_ONLY		 = 1 << 1,
;; 	GTK_SOURCE_SEARCH_CASE_INSENSITIVE	 = 1 << 2
;; 	/* Possible future plans: SEARCH_REGEXP */
;; } GtkSourceSearchFlags;

(define-flags-extended SourceSearchFlags
  (in-module "Gtk")
  (c-name "GtkSourceSearchFlags")
  (values
    '("visible-only" "GTK_SOURCE_SEARCH_VISIBLE_ONLY" "1 << 0")
    '("text-only" "GTK_SOURCE_SEARCH_TEXT_ONLY" "1 << 1")
    '("case-insensitive" "GTK_SOURCE_SEARCH_CASE_INSENSITIVE" "1 << 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")
  )
)

