diff --git a/GI/GtkSource.hs b/GI/GtkSource.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource.hs
@@ -0,0 +1,44 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource
+    (     module GI.GtkSource.Callbacks           ,
+    module GI.GtkSource.Enums               ,
+    module GI.GtkSource.Flags               ,
+    module GI.GtkSource.Functions           ,
+    module GI.GtkSource.Interfaces          ,
+    module GI.GtkSource.Objects             ,
+    module GI.GtkSource.Structs             ,
+
+
+
+    module Data.GI.Base                     ,
+
+
+    ) where
+
+import GI.GtkSource.Callbacks
+import GI.GtkSource.Enums
+import GI.GtkSource.Flags
+import GI.GtkSource.Functions
+import GI.GtkSource.Interfaces
+import GI.GtkSource.Objects
+import GI.GtkSource.Structs
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+
+import Data.GI.Base
+
diff --git a/GI/GtkSource/Callbacks.hs b/GI/GtkSource/Callbacks.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Callbacks.hs
@@ -0,0 +1,21 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Callbacks () where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+
+
+
diff --git a/GI/GtkSource/Enums.hs b/GI/GtkSource/Enums.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Enums.hs
@@ -0,0 +1,369 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Enums
+    ( 
+    catchFileSaverError                     ,
+    handleFileSaverError                    ,
+    catchFileLoaderError                    ,
+    handleFileLoaderError                   ,
+    catchCompletionError                    ,
+    handleCompletionError                   ,
+
+-- * Exported types
+    ViewGutterPosition(..)                  ,
+    SmartHomeEndType(..)                    ,
+    NewlineType(..)                         ,
+    GutterRendererAlignmentMode(..)         ,
+    FileSaverError(..)                      ,
+    FileLoaderError(..)                     ,
+    CompressionType(..)                     ,
+    CompletionError(..)                     ,
+    ChangeCaseType(..)                      ,
+    BracketMatchType(..)                    ,
+    BackgroundPatternType(..)               ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+
+
+
+-- Enum ViewGutterPosition
+
+data ViewGutterPosition = 
+      ViewGutterPositionLines
+    | ViewGutterPositionMarks
+    | AnotherViewGutterPosition Int
+    deriving (Show, Eq)
+
+instance Enum ViewGutterPosition where
+    fromEnum ViewGutterPositionLines = -30
+    fromEnum ViewGutterPositionMarks = -20
+    fromEnum (AnotherViewGutterPosition k) = k
+
+    toEnum -30 = ViewGutterPositionLines
+    toEnum -20 = ViewGutterPositionMarks
+    toEnum k = AnotherViewGutterPosition k
+
+foreign import ccall "gtk_source_view_gutter_position_get_type" c_gtk_source_view_gutter_position_get_type :: 
+    IO GType
+
+instance BoxedEnum ViewGutterPosition where
+    boxedEnumType _ = c_gtk_source_view_gutter_position_get_type
+
+-- Enum SmartHomeEndType
+
+data SmartHomeEndType = 
+      SmartHomeEndTypeDisabled
+    | SmartHomeEndTypeBefore
+    | SmartHomeEndTypeAfter
+    | SmartHomeEndTypeAlways
+    | AnotherSmartHomeEndType Int
+    deriving (Show, Eq)
+
+instance Enum SmartHomeEndType where
+    fromEnum SmartHomeEndTypeDisabled = 0
+    fromEnum SmartHomeEndTypeBefore = 1
+    fromEnum SmartHomeEndTypeAfter = 2
+    fromEnum SmartHomeEndTypeAlways = 3
+    fromEnum (AnotherSmartHomeEndType k) = k
+
+    toEnum 0 = SmartHomeEndTypeDisabled
+    toEnum 1 = SmartHomeEndTypeBefore
+    toEnum 2 = SmartHomeEndTypeAfter
+    toEnum 3 = SmartHomeEndTypeAlways
+    toEnum k = AnotherSmartHomeEndType k
+
+foreign import ccall "gtk_source_smart_home_end_type_get_type" c_gtk_source_smart_home_end_type_get_type :: 
+    IO GType
+
+instance BoxedEnum SmartHomeEndType where
+    boxedEnumType _ = c_gtk_source_smart_home_end_type_get_type
+
+-- Enum NewlineType
+
+data NewlineType = 
+      NewlineTypeLf
+    | NewlineTypeCr
+    | NewlineTypeCrLf
+    | AnotherNewlineType Int
+    deriving (Show, Eq)
+
+instance Enum NewlineType where
+    fromEnum NewlineTypeLf = 0
+    fromEnum NewlineTypeCr = 1
+    fromEnum NewlineTypeCrLf = 2
+    fromEnum (AnotherNewlineType k) = k
+
+    toEnum 0 = NewlineTypeLf
+    toEnum 1 = NewlineTypeCr
+    toEnum 2 = NewlineTypeCrLf
+    toEnum k = AnotherNewlineType k
+
+foreign import ccall "gtk_source_newline_type_get_type" c_gtk_source_newline_type_get_type :: 
+    IO GType
+
+instance BoxedEnum NewlineType where
+    boxedEnumType _ = c_gtk_source_newline_type_get_type
+
+-- Enum GutterRendererAlignmentMode
+
+data GutterRendererAlignmentMode = 
+      GutterRendererAlignmentModeCell
+    | GutterRendererAlignmentModeFirst
+    | GutterRendererAlignmentModeLast
+    | AnotherGutterRendererAlignmentMode Int
+    deriving (Show, Eq)
+
+instance Enum GutterRendererAlignmentMode where
+    fromEnum GutterRendererAlignmentModeCell = 0
+    fromEnum GutterRendererAlignmentModeFirst = 1
+    fromEnum GutterRendererAlignmentModeLast = 2
+    fromEnum (AnotherGutterRendererAlignmentMode k) = k
+
+    toEnum 0 = GutterRendererAlignmentModeCell
+    toEnum 1 = GutterRendererAlignmentModeFirst
+    toEnum 2 = GutterRendererAlignmentModeLast
+    toEnum k = AnotherGutterRendererAlignmentMode k
+
+foreign import ccall "gtk_source_gutter_renderer_alignment_mode_get_type" c_gtk_source_gutter_renderer_alignment_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum GutterRendererAlignmentMode where
+    boxedEnumType _ = c_gtk_source_gutter_renderer_alignment_mode_get_type
+
+-- Enum FileSaverError
+
+data FileSaverError = 
+      FileSaverErrorInvalidChars
+    | FileSaverErrorExternallyModified
+    | AnotherFileSaverError Int
+    deriving (Show, Eq)
+
+instance Enum FileSaverError where
+    fromEnum FileSaverErrorInvalidChars = 0
+    fromEnum FileSaverErrorExternallyModified = 1
+    fromEnum (AnotherFileSaverError k) = k
+
+    toEnum 0 = FileSaverErrorInvalidChars
+    toEnum 1 = FileSaverErrorExternallyModified
+    toEnum k = AnotherFileSaverError k
+
+instance GErrorClass FileSaverError where
+    gerrorClassDomain _ = "gtk-source-file-saver-error"
+
+catchFileSaverError ::
+    IO a ->
+    (FileSaverError -> GErrorMessage -> IO a) ->
+    IO a
+catchFileSaverError = catchGErrorJustDomain
+
+handleFileSaverError ::
+    (FileSaverError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleFileSaverError = handleGErrorJustDomain
+
+foreign import ccall "gtk_source_file_saver_error_get_type" c_gtk_source_file_saver_error_get_type :: 
+    IO GType
+
+instance BoxedEnum FileSaverError where
+    boxedEnumType _ = c_gtk_source_file_saver_error_get_type
+
+-- Enum FileLoaderError
+
+data FileLoaderError = 
+      FileLoaderErrorTooBig
+    | FileLoaderErrorEncodingAutoDetectionFailed
+    | FileLoaderErrorConversionFallback
+    | AnotherFileLoaderError Int
+    deriving (Show, Eq)
+
+instance Enum FileLoaderError where
+    fromEnum FileLoaderErrorTooBig = 0
+    fromEnum FileLoaderErrorEncodingAutoDetectionFailed = 1
+    fromEnum FileLoaderErrorConversionFallback = 2
+    fromEnum (AnotherFileLoaderError k) = k
+
+    toEnum 0 = FileLoaderErrorTooBig
+    toEnum 1 = FileLoaderErrorEncodingAutoDetectionFailed
+    toEnum 2 = FileLoaderErrorConversionFallback
+    toEnum k = AnotherFileLoaderError k
+
+instance GErrorClass FileLoaderError where
+    gerrorClassDomain _ = "gtk-source-file-loader-error"
+
+catchFileLoaderError ::
+    IO a ->
+    (FileLoaderError -> GErrorMessage -> IO a) ->
+    IO a
+catchFileLoaderError = catchGErrorJustDomain
+
+handleFileLoaderError ::
+    (FileLoaderError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleFileLoaderError = handleGErrorJustDomain
+
+foreign import ccall "gtk_source_file_loader_error_get_type" c_gtk_source_file_loader_error_get_type :: 
+    IO GType
+
+instance BoxedEnum FileLoaderError where
+    boxedEnumType _ = c_gtk_source_file_loader_error_get_type
+
+-- Enum CompressionType
+
+data CompressionType = 
+      CompressionTypeNone
+    | CompressionTypeGzip
+    | AnotherCompressionType Int
+    deriving (Show, Eq)
+
+instance Enum CompressionType where
+    fromEnum CompressionTypeNone = 0
+    fromEnum CompressionTypeGzip = 1
+    fromEnum (AnotherCompressionType k) = k
+
+    toEnum 0 = CompressionTypeNone
+    toEnum 1 = CompressionTypeGzip
+    toEnum k = AnotherCompressionType k
+
+foreign import ccall "gtk_source_compression_type_get_type" c_gtk_source_compression_type_get_type :: 
+    IO GType
+
+instance BoxedEnum CompressionType where
+    boxedEnumType _ = c_gtk_source_compression_type_get_type
+
+-- Enum CompletionError
+
+data CompletionError = 
+      CompletionErrorAlreadyBound
+    | CompletionErrorNotBound
+    | AnotherCompletionError Int
+    deriving (Show, Eq)
+
+instance Enum CompletionError where
+    fromEnum CompletionErrorAlreadyBound = 0
+    fromEnum CompletionErrorNotBound = 1
+    fromEnum (AnotherCompletionError k) = k
+
+    toEnum 0 = CompletionErrorAlreadyBound
+    toEnum 1 = CompletionErrorNotBound
+    toEnum k = AnotherCompletionError k
+
+instance GErrorClass CompletionError where
+    gerrorClassDomain _ = "gtk-source-completion-error-quark"
+
+catchCompletionError ::
+    IO a ->
+    (CompletionError -> GErrorMessage -> IO a) ->
+    IO a
+catchCompletionError = catchGErrorJustDomain
+
+handleCompletionError ::
+    (CompletionError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleCompletionError = handleGErrorJustDomain
+
+foreign import ccall "gtk_source_completion_error_get_type" c_gtk_source_completion_error_get_type :: 
+    IO GType
+
+instance BoxedEnum CompletionError where
+    boxedEnumType _ = c_gtk_source_completion_error_get_type
+
+-- Enum ChangeCaseType
+
+data ChangeCaseType = 
+      ChangeCaseTypeLower
+    | ChangeCaseTypeUpper
+    | ChangeCaseTypeToggle
+    | ChangeCaseTypeTitle
+    | AnotherChangeCaseType Int
+    deriving (Show, Eq)
+
+instance Enum ChangeCaseType where
+    fromEnum ChangeCaseTypeLower = 0
+    fromEnum ChangeCaseTypeUpper = 1
+    fromEnum ChangeCaseTypeToggle = 2
+    fromEnum ChangeCaseTypeTitle = 3
+    fromEnum (AnotherChangeCaseType k) = k
+
+    toEnum 0 = ChangeCaseTypeLower
+    toEnum 1 = ChangeCaseTypeUpper
+    toEnum 2 = ChangeCaseTypeToggle
+    toEnum 3 = ChangeCaseTypeTitle
+    toEnum k = AnotherChangeCaseType k
+
+foreign import ccall "gtk_source_change_case_type_get_type" c_gtk_source_change_case_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ChangeCaseType where
+    boxedEnumType _ = c_gtk_source_change_case_type_get_type
+
+-- Enum BracketMatchType
+
+data BracketMatchType = 
+      BracketMatchTypeNone
+    | BracketMatchTypeOutOfRange
+    | BracketMatchTypeNotFound
+    | BracketMatchTypeFound
+    | AnotherBracketMatchType Int
+    deriving (Show, Eq)
+
+instance Enum BracketMatchType where
+    fromEnum BracketMatchTypeNone = 0
+    fromEnum BracketMatchTypeOutOfRange = 1
+    fromEnum BracketMatchTypeNotFound = 2
+    fromEnum BracketMatchTypeFound = 3
+    fromEnum (AnotherBracketMatchType k) = k
+
+    toEnum 0 = BracketMatchTypeNone
+    toEnum 1 = BracketMatchTypeOutOfRange
+    toEnum 2 = BracketMatchTypeNotFound
+    toEnum 3 = BracketMatchTypeFound
+    toEnum k = AnotherBracketMatchType k
+
+foreign import ccall "gtk_source_bracket_match_type_get_type" c_gtk_source_bracket_match_type_get_type :: 
+    IO GType
+
+instance BoxedEnum BracketMatchType where
+    boxedEnumType _ = c_gtk_source_bracket_match_type_get_type
+
+-- Enum BackgroundPatternType
+
+data BackgroundPatternType = 
+      BackgroundPatternTypeNone
+    | BackgroundPatternTypeGrid
+    | AnotherBackgroundPatternType Int
+    deriving (Show, Eq)
+
+instance Enum BackgroundPatternType where
+    fromEnum BackgroundPatternTypeNone = 0
+    fromEnum BackgroundPatternTypeGrid = 1
+    fromEnum (AnotherBackgroundPatternType k) = k
+
+    toEnum 0 = BackgroundPatternTypeNone
+    toEnum 1 = BackgroundPatternTypeGrid
+    toEnum k = AnotherBackgroundPatternType k
+
+foreign import ccall "gtk_source_background_pattern_type_get_type" c_gtk_source_background_pattern_type_get_type :: 
+    IO GType
+
+instance BoxedEnum BackgroundPatternType where
+    boxedEnumType _ = c_gtk_source_background_pattern_type_get_type
+
+
diff --git a/GI/GtkSource/Flags.hs b/GI/GtkSource/Flags.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Flags.hs
@@ -0,0 +1,196 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Flags
+    ( 
+
+-- * Exported types
+    SortFlags(..)                           ,
+    GutterRendererState(..)                 ,
+    FileSaverFlags(..)                      ,
+    DrawSpacesFlags(..)                     ,
+    CompletionActivation(..)                ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+
+
+
+-- Flags SortFlags
+
+data SortFlags = 
+      SortFlagsNone
+    | SortFlagsCaseSensitive
+    | SortFlagsReverseOrder
+    | SortFlagsRemoveDuplicates
+    | AnotherSortFlags Int
+    deriving (Show, Eq)
+
+instance Enum SortFlags where
+    fromEnum SortFlagsNone = 0
+    fromEnum SortFlagsCaseSensitive = 1
+    fromEnum SortFlagsReverseOrder = 2
+    fromEnum SortFlagsRemoveDuplicates = 4
+    fromEnum (AnotherSortFlags k) = k
+
+    toEnum 0 = SortFlagsNone
+    toEnum 1 = SortFlagsCaseSensitive
+    toEnum 2 = SortFlagsReverseOrder
+    toEnum 4 = SortFlagsRemoveDuplicates
+    toEnum k = AnotherSortFlags k
+
+foreign import ccall "gtk_source_sort_flags_get_type" c_gtk_source_sort_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags SortFlags where
+    boxedFlagsType _ = c_gtk_source_sort_flags_get_type
+
+instance IsGFlag SortFlags
+
+-- Flags GutterRendererState
+
+data GutterRendererState = 
+      GutterRendererStateNormal
+    | GutterRendererStateCursor
+    | GutterRendererStatePrelit
+    | GutterRendererStateSelected
+    | AnotherGutterRendererState Int
+    deriving (Show, Eq)
+
+instance Enum GutterRendererState where
+    fromEnum GutterRendererStateNormal = 0
+    fromEnum GutterRendererStateCursor = 1
+    fromEnum GutterRendererStatePrelit = 2
+    fromEnum GutterRendererStateSelected = 4
+    fromEnum (AnotherGutterRendererState k) = k
+
+    toEnum 0 = GutterRendererStateNormal
+    toEnum 1 = GutterRendererStateCursor
+    toEnum 2 = GutterRendererStatePrelit
+    toEnum 4 = GutterRendererStateSelected
+    toEnum k = AnotherGutterRendererState k
+
+foreign import ccall "gtk_source_gutter_renderer_state_get_type" c_gtk_source_gutter_renderer_state_get_type :: 
+    IO GType
+
+instance BoxedFlags GutterRendererState where
+    boxedFlagsType _ = c_gtk_source_gutter_renderer_state_get_type
+
+instance IsGFlag GutterRendererState
+
+-- Flags FileSaverFlags
+
+data FileSaverFlags = 
+      FileSaverFlagsNone
+    | FileSaverFlagsIgnoreInvalidChars
+    | FileSaverFlagsIgnoreModificationTime
+    | FileSaverFlagsCreateBackup
+    | AnotherFileSaverFlags Int
+    deriving (Show, Eq)
+
+instance Enum FileSaverFlags where
+    fromEnum FileSaverFlagsNone = 0
+    fromEnum FileSaverFlagsIgnoreInvalidChars = 1
+    fromEnum FileSaverFlagsIgnoreModificationTime = 2
+    fromEnum FileSaverFlagsCreateBackup = 4
+    fromEnum (AnotherFileSaverFlags k) = k
+
+    toEnum 0 = FileSaverFlagsNone
+    toEnum 1 = FileSaverFlagsIgnoreInvalidChars
+    toEnum 2 = FileSaverFlagsIgnoreModificationTime
+    toEnum 4 = FileSaverFlagsCreateBackup
+    toEnum k = AnotherFileSaverFlags k
+
+foreign import ccall "gtk_source_file_saver_flags_get_type" c_gtk_source_file_saver_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags FileSaverFlags where
+    boxedFlagsType _ = c_gtk_source_file_saver_flags_get_type
+
+instance IsGFlag FileSaverFlags
+
+-- Flags DrawSpacesFlags
+
+data DrawSpacesFlags = 
+      DrawSpacesFlagsSpace
+    | DrawSpacesFlagsTab
+    | DrawSpacesFlagsNewline
+    | DrawSpacesFlagsNbsp
+    | DrawSpacesFlagsLeading
+    | DrawSpacesFlagsText
+    | DrawSpacesFlagsTrailing
+    | DrawSpacesFlagsAll
+    | AnotherDrawSpacesFlags Int
+    deriving (Show, Eq)
+
+instance Enum DrawSpacesFlags where
+    fromEnum DrawSpacesFlagsSpace = 1
+    fromEnum DrawSpacesFlagsTab = 2
+    fromEnum DrawSpacesFlagsNewline = 4
+    fromEnum DrawSpacesFlagsNbsp = 8
+    fromEnum DrawSpacesFlagsLeading = 16
+    fromEnum DrawSpacesFlagsText = 32
+    fromEnum DrawSpacesFlagsTrailing = 64
+    fromEnum DrawSpacesFlagsAll = 127
+    fromEnum (AnotherDrawSpacesFlags k) = k
+
+    toEnum 1 = DrawSpacesFlagsSpace
+    toEnum 2 = DrawSpacesFlagsTab
+    toEnum 4 = DrawSpacesFlagsNewline
+    toEnum 8 = DrawSpacesFlagsNbsp
+    toEnum 16 = DrawSpacesFlagsLeading
+    toEnum 32 = DrawSpacesFlagsText
+    toEnum 64 = DrawSpacesFlagsTrailing
+    toEnum 127 = DrawSpacesFlagsAll
+    toEnum k = AnotherDrawSpacesFlags k
+
+foreign import ccall "gtk_source_draw_spaces_flags_get_type" c_gtk_source_draw_spaces_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags DrawSpacesFlags where
+    boxedFlagsType _ = c_gtk_source_draw_spaces_flags_get_type
+
+instance IsGFlag DrawSpacesFlags
+
+-- Flags CompletionActivation
+
+data CompletionActivation = 
+      CompletionActivationNone
+    | CompletionActivationInteractive
+    | CompletionActivationUserRequested
+    | AnotherCompletionActivation Int
+    deriving (Show, Eq)
+
+instance Enum CompletionActivation where
+    fromEnum CompletionActivationNone = 0
+    fromEnum CompletionActivationInteractive = 1
+    fromEnum CompletionActivationUserRequested = 2
+    fromEnum (AnotherCompletionActivation k) = k
+
+    toEnum 0 = CompletionActivationNone
+    toEnum 1 = CompletionActivationInteractive
+    toEnum 2 = CompletionActivationUserRequested
+    toEnum k = AnotherCompletionActivation k
+
+foreign import ccall "gtk_source_completion_activation_get_type" c_gtk_source_completion_activation_get_type :: 
+    IO GType
+
+instance BoxedFlags CompletionActivation where
+    boxedFlagsType _ = c_gtk_source_completion_activation_get_type
+
+instance IsGFlag CompletionActivation
+
+
diff --git a/GI/GtkSource/Functions.hs b/GI/GtkSource/Functions.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Functions.hs
@@ -0,0 +1,87 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Functions
+    ( 
+
+ -- * Methods
+-- ** utilsEscapeSearchText
+    utilsEscapeSearchText                   ,
+
+
+-- ** utilsUnescapeSearchText
+    utilsUnescapeSearchText                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+
+-- function gtk_source_utils_unescape_search_text
+-- Args : [Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_utils_unescape_search_text" gtk_source_utils_unescape_search_text :: 
+    CString ->                              -- text : TBasicType TUTF8
+    IO CString
+
+
+utilsUnescapeSearchText ::
+    (MonadIO m) =>
+    T.Text                                  -- text
+    -> m T.Text                             -- result
+utilsUnescapeSearchText text = liftIO $ do
+    text' <- textToCString text
+    result <- gtk_source_utils_unescape_search_text text'
+    checkUnexpectedReturnNULL "gtk_source_utils_unescape_search_text" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem text'
+    return result'
+
+
+-- function gtk_source_utils_escape_search_text
+-- Args : [Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_utils_escape_search_text" gtk_source_utils_escape_search_text :: 
+    CString ->                              -- text : TBasicType TUTF8
+    IO CString
+
+
+utilsEscapeSearchText ::
+    (MonadIO m) =>
+    T.Text                                  -- text
+    -> m T.Text                             -- result
+utilsEscapeSearchText text = liftIO $ do
+    text' <- textToCString text
+    result <- gtk_source_utils_escape_search_text text'
+    checkUnexpectedReturnNULL "gtk_source_utils_escape_search_text" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem text'
+    return result'
+
+
+
diff --git a/GI/GtkSource/Interfaces.hs b/GI/GtkSource/Interfaces.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces.hs
@@ -0,0 +1,33 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Interfaces
+    (     module GI.GtkSource.Interfaces.CompletionProposal,
+    module GI.GtkSource.Interfaces.CompletionProvider,
+    module GI.GtkSource.Interfaces.StyleSchemeChooser,
+    module GI.GtkSource.Interfaces.UndoManager,
+
+
+    ) where
+
+import GI.GtkSource.Interfaces.CompletionProposal
+import GI.GtkSource.Interfaces.CompletionProvider
+import GI.GtkSource.Interfaces.StyleSchemeChooser
+import GI.GtkSource.Interfaces.UndoManager
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+
+
diff --git a/GI/GtkSource/Interfaces/CompletionProposal.hs b/GI/GtkSource/Interfaces/CompletionProposal.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/CompletionProposal.hs
@@ -0,0 +1,514 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Interfaces.CompletionProposal
+    ( 
+
+-- * Exported types
+    CompletionProposal(..)                  ,
+    noCompletionProposal                    ,
+    CompletionProposalK                     ,
+    toCompletionProposal                    ,
+
+
+ -- * Methods
+-- ** completionProposalChanged
+    CompletionProposalChangedMethodInfo     ,
+    completionProposalChanged               ,
+
+
+-- ** completionProposalEqual
+    CompletionProposalEqualMethodInfo       ,
+    completionProposalEqual                 ,
+
+
+-- ** completionProposalGetGicon
+    CompletionProposalGetGiconMethodInfo    ,
+    completionProposalGetGicon              ,
+
+
+-- ** completionProposalGetIcon
+    CompletionProposalGetIconMethodInfo     ,
+    completionProposalGetIcon               ,
+
+
+-- ** completionProposalGetIconName
+    CompletionProposalGetIconNameMethodInfo ,
+    completionProposalGetIconName           ,
+
+
+-- ** completionProposalGetInfo
+    CompletionProposalGetInfoMethodInfo     ,
+    completionProposalGetInfo               ,
+
+
+-- ** completionProposalGetLabel
+    CompletionProposalGetLabelMethodInfo    ,
+    completionProposalGetLabel              ,
+
+
+-- ** completionProposalGetMarkup
+    CompletionProposalGetMarkupMethodInfo   ,
+    completionProposalGetMarkup             ,
+
+
+-- ** completionProposalGetText
+    CompletionProposalGetTextMethodInfo     ,
+    completionProposalGetText               ,
+
+
+-- ** completionProposalHash
+    CompletionProposalHashMethodInfo        ,
+    completionProposalHash                  ,
+
+
+
+
+ -- * Signals
+-- ** Changed
+    CompletionProposalChangedCallback       ,
+    CompletionProposalChangedCallbackC      ,
+    CompletionProposalChangedSignalInfo     ,
+    afterCompletionProposalChanged          ,
+    completionProposalChangedCallbackWrapper,
+    completionProposalChangedClosure        ,
+    mkCompletionProposalChangedCallback     ,
+    noCompletionProposalChangedCallback     ,
+    onCompletionProposalChanged             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.Gio as Gio
+
+-- interface CompletionProposal 
+
+newtype CompletionProposal = CompletionProposal (ForeignPtr CompletionProposal)
+noCompletionProposal :: Maybe CompletionProposal
+noCompletionProposal = Nothing
+
+type family ResolveCompletionProposalMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionProposalMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionProposalMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionProposalMethod "changed" o = CompletionProposalChangedMethodInfo
+    ResolveCompletionProposalMethod "equal" o = CompletionProposalEqualMethodInfo
+    ResolveCompletionProposalMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionProposalMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionProposalMethod "hash" o = CompletionProposalHashMethodInfo
+    ResolveCompletionProposalMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionProposalMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionProposalMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionProposalMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionProposalMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionProposalMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionProposalMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionProposalMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionProposalMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionProposalMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionProposalMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionProposalMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionProposalMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionProposalMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionProposalMethod "getGicon" o = CompletionProposalGetGiconMethodInfo
+    ResolveCompletionProposalMethod "getIcon" o = CompletionProposalGetIconMethodInfo
+    ResolveCompletionProposalMethod "getIconName" o = CompletionProposalGetIconNameMethodInfo
+    ResolveCompletionProposalMethod "getInfo" o = CompletionProposalGetInfoMethodInfo
+    ResolveCompletionProposalMethod "getLabel" o = CompletionProposalGetLabelMethodInfo
+    ResolveCompletionProposalMethod "getMarkup" o = CompletionProposalGetMarkupMethodInfo
+    ResolveCompletionProposalMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionProposalMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionProposalMethod "getText" o = CompletionProposalGetTextMethodInfo
+    ResolveCompletionProposalMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionProposalMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionProposalMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionProposalMethod t CompletionProposal, MethodInfo info CompletionProposal p) => IsLabelProxy t (CompletionProposal -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionProposalMethod t CompletionProposal, MethodInfo info CompletionProposal p) => IsLabel t (CompletionProposal -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal CompletionProposal::changed
+type CompletionProposalChangedCallback =
+    IO ()
+
+noCompletionProposalChangedCallback :: Maybe CompletionProposalChangedCallback
+noCompletionProposalChangedCallback = Nothing
+
+type CompletionProposalChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionProposalChangedCallback :: CompletionProposalChangedCallbackC -> IO (FunPtr CompletionProposalChangedCallbackC)
+
+completionProposalChangedClosure :: CompletionProposalChangedCallback -> IO Closure
+completionProposalChangedClosure cb = newCClosure =<< mkCompletionProposalChangedCallback wrapped
+    where wrapped = completionProposalChangedCallbackWrapper cb
+
+completionProposalChangedCallbackWrapper ::
+    CompletionProposalChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+completionProposalChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onCompletionProposalChanged :: (GObject a, MonadIO m) => a -> CompletionProposalChangedCallback -> m SignalHandlerId
+onCompletionProposalChanged obj cb = liftIO $ connectCompletionProposalChanged obj cb SignalConnectBefore
+afterCompletionProposalChanged :: (GObject a, MonadIO m) => a -> CompletionProposalChangedCallback -> m SignalHandlerId
+afterCompletionProposalChanged obj cb = connectCompletionProposalChanged obj cb SignalConnectAfter
+
+connectCompletionProposalChanged :: (GObject a, MonadIO m) =>
+                                    a -> CompletionProposalChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionProposalChanged obj cb after = liftIO $ do
+    cb' <- mkCompletionProposalChangedCallback (completionProposalChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "changed" cb' after
+
+type instance AttributeList CompletionProposal = CompletionProposalAttributeList
+type CompletionProposalAttributeList = ('[ ] :: [(Symbol, *)])
+
+data CompletionProposalChangedSignalInfo
+instance SignalInfo CompletionProposalChangedSignalInfo where
+    type HaskellCallbackType CompletionProposalChangedSignalInfo = CompletionProposalChangedCallback
+    connectSignal _ = connectCompletionProposalChanged
+
+type instance SignalList CompletionProposal = CompletionProposalSignalList
+type CompletionProposalSignalList = ('[ '("changed", CompletionProposalChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+foreign import ccall "gtk_source_completion_proposal_get_type"
+    c_gtk_source_completion_proposal_get_type :: IO GType
+
+type instance ParentTypes CompletionProposal = CompletionProposalParentTypes
+type CompletionProposalParentTypes = '[GObject.Object]
+
+instance GObject CompletionProposal where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_completion_proposal_get_type
+    
+
+class GObject o => CompletionProposalK o
+instance (GObject o, IsDescendantOf CompletionProposal o) => CompletionProposalK o
+
+toCompletionProposal :: CompletionProposalK o => o -> IO CompletionProposal
+toCompletionProposal = unsafeCastTo CompletionProposal
+
+-- method CompletionProposal::changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_changed" gtk_source_completion_proposal_changed :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO ()
+
+
+completionProposalChanged ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+completionProposalChanged _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_completion_proposal_changed _obj'
+    touchManagedPtr _obj
+    return ()
+
+data CompletionProposalChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalChangedMethodInfo a signature where
+    overloadedMethod _ = completionProposalChanged
+
+-- method CompletionProposal::equal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_equal" gtk_source_completion_proposal_equal :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    Ptr CompletionProposal ->               -- other : TInterface "GtkSource" "CompletionProposal"
+    IO CInt
+
+
+completionProposalEqual ::
+    (MonadIO m, CompletionProposalK a, CompletionProposalK b) =>
+    a                                       -- _obj
+    -> b                                    -- other
+    -> m Bool                               -- result
+completionProposalEqual _obj other = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let other' = unsafeManagedPtrCastPtr other
+    result <- gtk_source_completion_proposal_equal _obj' other'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr other
+    return result'
+
+data CompletionProposalEqualMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, CompletionProposalK a, CompletionProposalK b) => MethodInfo CompletionProposalEqualMethodInfo a signature where
+    overloadedMethod _ = completionProposalEqual
+
+-- method CompletionProposal::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "Icon")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_gicon" gtk_source_completion_proposal_get_gicon :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO (Ptr Gio.Icon)
+
+
+completionProposalGetGicon ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m (Maybe Gio.Icon)                   -- result
+completionProposalGetGicon _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_gicon _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.Icon) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProposalGetGiconMethodInfo
+instance (signature ~ (m (Maybe Gio.Icon)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetGiconMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetGicon
+
+-- method CompletionProposal::get_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GdkPixbuf" "Pixbuf")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_icon" gtk_source_completion_proposal_get_icon :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+completionProposalGetIcon ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m (Maybe GdkPixbuf.Pixbuf)           -- result
+completionProposalGetIcon _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_icon _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProposalGetIconMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetIconMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetIcon
+
+-- method CompletionProposal::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_icon_name" gtk_source_completion_proposal_get_icon_name :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO CString
+
+
+completionProposalGetIconName ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m (Maybe T.Text)                     -- result
+completionProposalGetIconName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_icon_name _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProposalGetIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetIconNameMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetIconName
+
+-- method CompletionProposal::get_info
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_info" gtk_source_completion_proposal_get_info :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO CString
+
+
+completionProposalGetInfo ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m (Maybe T.Text)                     -- result
+completionProposalGetInfo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_info _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProposalGetInfoMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetInfoMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetInfo
+
+-- method CompletionProposal::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_label" gtk_source_completion_proposal_get_label :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO CString
+
+
+completionProposalGetLabel ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+completionProposalGetLabel _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_label _obj'
+    checkUnexpectedReturnNULL "gtk_source_completion_proposal_get_label" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionProposalGetLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetLabelMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetLabel
+
+-- method CompletionProposal::get_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_markup" gtk_source_completion_proposal_get_markup :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO CString
+
+
+completionProposalGetMarkup ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+completionProposalGetMarkup _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_markup _obj'
+    checkUnexpectedReturnNULL "gtk_source_completion_proposal_get_markup" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionProposalGetMarkupMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetMarkupMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetMarkup
+
+-- method CompletionProposal::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_get_text" gtk_source_completion_proposal_get_text :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO CString
+
+
+completionProposalGetText ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+completionProposalGetText _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_get_text _obj'
+    checkUnexpectedReturnNULL "gtk_source_completion_proposal_get_text" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionProposalGetTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalGetTextMethodInfo a signature where
+    overloadedMethod _ = completionProposalGetText
+
+-- method CompletionProposal::hash
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_proposal_hash" gtk_source_completion_proposal_hash :: 
+    Ptr CompletionProposal ->               -- _obj : TInterface "GtkSource" "CompletionProposal"
+    IO Word32
+
+
+completionProposalHash ::
+    (MonadIO m, CompletionProposalK a) =>
+    a                                       -- _obj
+    -> m Word32                             -- result
+completionProposalHash _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_proposal_hash _obj'
+    touchManagedPtr _obj
+    return result
+
+data CompletionProposalHashMethodInfo
+instance (signature ~ (m Word32), MonadIO m, CompletionProposalK a) => MethodInfo CompletionProposalHashMethodInfo a signature where
+    overloadedMethod _ = completionProposalHash
+
+
diff --git a/GI/GtkSource/Interfaces/CompletionProposal.hs-boot b/GI/GtkSource/Interfaces/CompletionProposal.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/CompletionProposal.hs-boot
@@ -0,0 +1,24 @@
+module GI.GtkSource.Interfaces.CompletionProposal where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype CompletionProposal = CompletionProposal (ForeignPtr CompletionProposal)
+data CompletionProposalChangedSignalInfo
+instance GObject CompletionProposal where
+class GObject o => CompletionProposalK o
+instance (GObject o, IsDescendantOf CompletionProposal o) => CompletionProposalK o
+data CompletionProposalChangedMethodInfo
+data CompletionProposalEqualMethodInfo
+data CompletionProposalGetGiconMethodInfo
+data CompletionProposalGetIconMethodInfo
+data CompletionProposalGetIconNameMethodInfo
+data CompletionProposalGetInfoMethodInfo
+data CompletionProposalGetLabelMethodInfo
+data CompletionProposalGetMarkupMethodInfo
+data CompletionProposalGetTextMethodInfo
+data CompletionProposalHashMethodInfo
diff --git a/GI/GtkSource/Interfaces/CompletionProvider.hs b/GI/GtkSource/Interfaces/CompletionProvider.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/CompletionProvider.hs
@@ -0,0 +1,587 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Interfaces.CompletionProvider
+    ( 
+
+-- * Exported types
+    CompletionProvider(..)                  ,
+    noCompletionProvider                    ,
+    CompletionProviderK                     ,
+    toCompletionProvider                    ,
+
+
+ -- * Methods
+-- ** completionProviderActivateProposal
+    CompletionProviderActivateProposalMethodInfo,
+    completionProviderActivateProposal      ,
+
+
+-- ** completionProviderGetActivation
+    CompletionProviderGetActivationMethodInfo,
+    completionProviderGetActivation         ,
+
+
+-- ** completionProviderGetGicon
+    CompletionProviderGetGiconMethodInfo    ,
+    completionProviderGetGicon              ,
+
+
+-- ** completionProviderGetIcon
+    CompletionProviderGetIconMethodInfo     ,
+    completionProviderGetIcon               ,
+
+
+-- ** completionProviderGetIconName
+    CompletionProviderGetIconNameMethodInfo ,
+    completionProviderGetIconName           ,
+
+
+-- ** completionProviderGetInfoWidget
+    CompletionProviderGetInfoWidgetMethodInfo,
+    completionProviderGetInfoWidget         ,
+
+
+-- ** completionProviderGetInteractiveDelay
+    CompletionProviderGetInteractiveDelayMethodInfo,
+    completionProviderGetInteractiveDelay   ,
+
+
+-- ** completionProviderGetName
+    CompletionProviderGetNameMethodInfo     ,
+    completionProviderGetName               ,
+
+
+-- ** completionProviderGetPriority
+    CompletionProviderGetPriorityMethodInfo ,
+    completionProviderGetPriority           ,
+
+
+-- ** completionProviderGetStartIter
+    CompletionProviderGetStartIterMethodInfo,
+    completionProviderGetStartIter          ,
+
+
+-- ** completionProviderMatch
+    CompletionProviderMatchMethodInfo       ,
+    completionProviderMatch                 ,
+
+
+-- ** completionProviderPopulate
+    CompletionProviderPopulateMethodInfo    ,
+    completionProviderPopulate              ,
+
+
+-- ** completionProviderUpdateInfo
+    CompletionProviderUpdateInfoMethodInfo  ,
+    completionProviderUpdateInfo            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.Gio as Gio
+import qualified GI.Gtk as Gtk
+
+-- interface CompletionProvider 
+
+newtype CompletionProvider = CompletionProvider (ForeignPtr CompletionProvider)
+noCompletionProvider :: Maybe CompletionProvider
+noCompletionProvider = Nothing
+
+type family ResolveCompletionProviderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionProviderMethod "activateProposal" o = CompletionProviderActivateProposalMethodInfo
+    ResolveCompletionProviderMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionProviderMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionProviderMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionProviderMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionProviderMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionProviderMethod "match" o = CompletionProviderMatchMethodInfo
+    ResolveCompletionProviderMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionProviderMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionProviderMethod "populate" o = CompletionProviderPopulateMethodInfo
+    ResolveCompletionProviderMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionProviderMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionProviderMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionProviderMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionProviderMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionProviderMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionProviderMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionProviderMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionProviderMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionProviderMethod "updateInfo" o = CompletionProviderUpdateInfoMethodInfo
+    ResolveCompletionProviderMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionProviderMethod "getActivation" o = CompletionProviderGetActivationMethodInfo
+    ResolveCompletionProviderMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionProviderMethod "getGicon" o = CompletionProviderGetGiconMethodInfo
+    ResolveCompletionProviderMethod "getIcon" o = CompletionProviderGetIconMethodInfo
+    ResolveCompletionProviderMethod "getIconName" o = CompletionProviderGetIconNameMethodInfo
+    ResolveCompletionProviderMethod "getInfoWidget" o = CompletionProviderGetInfoWidgetMethodInfo
+    ResolveCompletionProviderMethod "getInteractiveDelay" o = CompletionProviderGetInteractiveDelayMethodInfo
+    ResolveCompletionProviderMethod "getName" o = CompletionProviderGetNameMethodInfo
+    ResolveCompletionProviderMethod "getPriority" o = CompletionProviderGetPriorityMethodInfo
+    ResolveCompletionProviderMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionProviderMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionProviderMethod "getStartIter" o = CompletionProviderGetStartIterMethodInfo
+    ResolveCompletionProviderMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionProviderMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionProviderMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionProviderMethod t CompletionProvider, MethodInfo info CompletionProvider p) => IsLabelProxy t (CompletionProvider -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionProviderMethod t CompletionProvider, MethodInfo info CompletionProvider p) => IsLabel t (CompletionProvider -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+type instance AttributeList CompletionProvider = CompletionProviderAttributeList
+type CompletionProviderAttributeList = ('[ ] :: [(Symbol, *)])
+
+type instance SignalList CompletionProvider = CompletionProviderSignalList
+type CompletionProviderSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+foreign import ccall "gtk_source_completion_provider_get_type"
+    c_gtk_source_completion_provider_get_type :: IO GType
+
+type instance ParentTypes CompletionProvider = CompletionProviderParentTypes
+type CompletionProviderParentTypes = '[GObject.Object]
+
+instance GObject CompletionProvider where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_completion_provider_get_type
+    
+
+class GObject o => CompletionProviderK o
+instance (GObject o, IsDescendantOf CompletionProvider o) => CompletionProviderK o
+
+toCompletionProvider :: CompletionProviderK o => o -> IO CompletionProvider
+toCompletionProvider = unsafeCastTo CompletionProvider
+
+-- method CompletionProvider::activate_proposal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_activate_proposal" gtk_source_completion_provider_activate_proposal :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    Ptr CompletionProposal ->               -- proposal : TInterface "GtkSource" "CompletionProposal"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO CInt
+
+
+completionProviderActivateProposal ::
+    (MonadIO m, CompletionProviderK a, CompletionProposalK b) =>
+    a                                       -- _obj
+    -> b                                    -- proposal
+    -> Gtk.TextIter                         -- iter
+    -> m Bool                               -- result
+completionProviderActivateProposal _obj proposal iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let proposal' = unsafeManagedPtrCastPtr proposal
+    let iter' = unsafeManagedPtrGetPtr iter
+    result <- gtk_source_completion_provider_activate_proposal _obj' proposal' iter'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr proposal
+    touchManagedPtr iter
+    return result'
+
+data CompletionProviderActivateProposalMethodInfo
+instance (signature ~ (b -> Gtk.TextIter -> m Bool), MonadIO m, CompletionProviderK a, CompletionProposalK b) => MethodInfo CompletionProviderActivateProposalMethodInfo a signature where
+    overloadedMethod _ = completionProviderActivateProposal
+
+-- method CompletionProvider::get_activation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionActivation")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_activation" gtk_source_completion_provider_get_activation :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO CUInt
+
+
+completionProviderGetActivation ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m [CompletionActivation]             -- result
+completionProviderGetActivation _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_activation _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionProviderGetActivationMethodInfo
+instance (signature ~ (m [CompletionActivation]), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetActivationMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetActivation
+
+-- method CompletionProvider::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "Icon")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_gicon" gtk_source_completion_provider_get_gicon :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO (Ptr Gio.Icon)
+
+
+completionProviderGetGicon ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m (Maybe Gio.Icon)                   -- result
+completionProviderGetGicon _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_gicon _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.Icon) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProviderGetGiconMethodInfo
+instance (signature ~ (m (Maybe Gio.Icon)), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetGiconMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetGicon
+
+-- method CompletionProvider::get_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GdkPixbuf" "Pixbuf")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_icon" gtk_source_completion_provider_get_icon :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+completionProviderGetIcon ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m (Maybe GdkPixbuf.Pixbuf)           -- result
+completionProviderGetIcon _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_icon _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProviderGetIconMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf)), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetIconMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetIcon
+
+-- method CompletionProvider::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_icon_name" gtk_source_completion_provider_get_icon_name :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO CString
+
+
+completionProviderGetIconName ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m (Maybe T.Text)                     -- result
+completionProviderGetIconName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_icon_name _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionProviderGetIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetIconNameMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetIconName
+
+-- method CompletionProvider::get_info_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gtk" "Widget")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_info_widget" gtk_source_completion_provider_get_info_widget :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    Ptr CompletionProposal ->               -- proposal : TInterface "GtkSource" "CompletionProposal"
+    IO (Ptr Gtk.Widget)
+
+
+completionProviderGetInfoWidget ::
+    (MonadIO m, CompletionProviderK a, CompletionProposalK b) =>
+    a                                       -- _obj
+    -> b                                    -- proposal
+    -> m (Maybe Gtk.Widget)                 -- result
+completionProviderGetInfoWidget _obj proposal = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let proposal' = unsafeManagedPtrCastPtr proposal
+    result <- gtk_source_completion_provider_get_info_widget _obj' proposal'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget) result'
+        return result''
+    touchManagedPtr _obj
+    touchManagedPtr proposal
+    return maybeResult
+
+data CompletionProviderGetInfoWidgetMethodInfo
+instance (signature ~ (b -> m (Maybe Gtk.Widget)), MonadIO m, CompletionProviderK a, CompletionProposalK b) => MethodInfo CompletionProviderGetInfoWidgetMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetInfoWidget
+
+-- method CompletionProvider::get_interactive_delay
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_interactive_delay" gtk_source_completion_provider_get_interactive_delay :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO Int32
+
+
+completionProviderGetInteractiveDelay ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+completionProviderGetInteractiveDelay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_interactive_delay _obj'
+    touchManagedPtr _obj
+    return result
+
+data CompletionProviderGetInteractiveDelayMethodInfo
+instance (signature ~ (m Int32), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetInteractiveDelayMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetInteractiveDelay
+
+-- method CompletionProvider::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_name" gtk_source_completion_provider_get_name :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO CString
+
+
+completionProviderGetName ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+completionProviderGetName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_completion_provider_get_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionProviderGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetNameMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetName
+
+-- method CompletionProvider::get_priority
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_priority" gtk_source_completion_provider_get_priority :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    IO Int32
+
+
+completionProviderGetPriority ::
+    (MonadIO m, CompletionProviderK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+completionProviderGetPriority _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_provider_get_priority _obj'
+    touchManagedPtr _obj
+    return result
+
+data CompletionProviderGetPriorityMethodInfo
+instance (signature ~ (m Int32), MonadIO m, CompletionProviderK a) => MethodInfo CompletionProviderGetPriorityMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetPriority
+
+-- method CompletionProvider::get_start_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_get_start_iter" gtk_source_completion_provider_get_start_iter :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    Ptr CompletionContext ->                -- context : TInterface "GtkSource" "CompletionContext"
+    Ptr CompletionProposal ->               -- proposal : TInterface "GtkSource" "CompletionProposal"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO CInt
+
+
+completionProviderGetStartIter ::
+    (MonadIO m, CompletionProviderK a, CompletionContextK b, CompletionProposalK c) =>
+    a                                       -- _obj
+    -> b                                    -- context
+    -> c                                    -- proposal
+    -> m (Bool,Gtk.TextIter)                -- result
+completionProviderGetStartIter _obj context proposal = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let context' = unsafeManagedPtrCastPtr context
+    let proposal' = unsafeManagedPtrCastPtr proposal
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    result <- gtk_source_completion_provider_get_start_iter _obj' context' proposal' iter
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TextIter) iter
+    touchManagedPtr _obj
+    touchManagedPtr context
+    touchManagedPtr proposal
+    return (result', iter')
+
+data CompletionProviderGetStartIterMethodInfo
+instance (signature ~ (b -> c -> m (Bool,Gtk.TextIter)), MonadIO m, CompletionProviderK a, CompletionContextK b, CompletionProposalK c) => MethodInfo CompletionProviderGetStartIterMethodInfo a signature where
+    overloadedMethod _ = completionProviderGetStartIter
+
+-- method CompletionProvider::match
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_match" gtk_source_completion_provider_match :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    Ptr CompletionContext ->                -- context : TInterface "GtkSource" "CompletionContext"
+    IO CInt
+
+
+completionProviderMatch ::
+    (MonadIO m, CompletionProviderK a, CompletionContextK b) =>
+    a                                       -- _obj
+    -> b                                    -- context
+    -> m Bool                               -- result
+completionProviderMatch _obj context = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let context' = unsafeManagedPtrCastPtr context
+    result <- gtk_source_completion_provider_match _obj' context'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr context
+    return result'
+
+data CompletionProviderMatchMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, CompletionProviderK a, CompletionContextK b) => MethodInfo CompletionProviderMatchMethodInfo a signature where
+    overloadedMethod _ = completionProviderMatch
+
+-- method CompletionProvider::populate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_populate" gtk_source_completion_provider_populate :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    Ptr CompletionContext ->                -- context : TInterface "GtkSource" "CompletionContext"
+    IO ()
+
+
+completionProviderPopulate ::
+    (MonadIO m, CompletionProviderK a, CompletionContextK b) =>
+    a                                       -- _obj
+    -> b                                    -- context
+    -> m ()                                 -- result
+completionProviderPopulate _obj context = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let context' = unsafeManagedPtrCastPtr context
+    gtk_source_completion_provider_populate _obj' context'
+    touchManagedPtr _obj
+    touchManagedPtr context
+    return ()
+
+data CompletionProviderPopulateMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, CompletionProviderK a, CompletionContextK b) => MethodInfo CompletionProviderPopulateMethodInfo a signature where
+    overloadedMethod _ = completionProviderPopulate
+
+-- method CompletionProvider::update_info
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface "GtkSource" "CompletionProposal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GtkSource" "CompletionInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_provider_update_info" gtk_source_completion_provider_update_info :: 
+    Ptr CompletionProvider ->               -- _obj : TInterface "GtkSource" "CompletionProvider"
+    Ptr CompletionProposal ->               -- proposal : TInterface "GtkSource" "CompletionProposal"
+    Ptr CompletionInfo ->                   -- info : TInterface "GtkSource" "CompletionInfo"
+    IO ()
+
+
+completionProviderUpdateInfo ::
+    (MonadIO m, CompletionProviderK a, CompletionProposalK b, CompletionInfoK c) =>
+    a                                       -- _obj
+    -> b                                    -- proposal
+    -> c                                    -- info
+    -> m ()                                 -- result
+completionProviderUpdateInfo _obj proposal info = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let proposal' = unsafeManagedPtrCastPtr proposal
+    let info' = unsafeManagedPtrCastPtr info
+    gtk_source_completion_provider_update_info _obj' proposal' info'
+    touchManagedPtr _obj
+    touchManagedPtr proposal
+    touchManagedPtr info
+    return ()
+
+data CompletionProviderUpdateInfoMethodInfo
+instance (signature ~ (b -> c -> m ()), MonadIO m, CompletionProviderK a, CompletionProposalK b, CompletionInfoK c) => MethodInfo CompletionProviderUpdateInfoMethodInfo a signature where
+    overloadedMethod _ = completionProviderUpdateInfo
+
+
diff --git a/GI/GtkSource/Interfaces/CompletionProvider.hs-boot b/GI/GtkSource/Interfaces/CompletionProvider.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/CompletionProvider.hs-boot
@@ -0,0 +1,26 @@
+module GI.GtkSource.Interfaces.CompletionProvider where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype CompletionProvider = CompletionProvider (ForeignPtr CompletionProvider)
+instance GObject CompletionProvider where
+class GObject o => CompletionProviderK o
+instance (GObject o, IsDescendantOf CompletionProvider o) => CompletionProviderK o
+data CompletionProviderActivateProposalMethodInfo
+data CompletionProviderGetActivationMethodInfo
+data CompletionProviderGetGiconMethodInfo
+data CompletionProviderGetIconMethodInfo
+data CompletionProviderGetIconNameMethodInfo
+data CompletionProviderGetInfoWidgetMethodInfo
+data CompletionProviderGetInteractiveDelayMethodInfo
+data CompletionProviderGetNameMethodInfo
+data CompletionProviderGetPriorityMethodInfo
+data CompletionProviderGetStartIterMethodInfo
+data CompletionProviderMatchMethodInfo
+data CompletionProviderPopulateMethodInfo
+data CompletionProviderUpdateInfoMethodInfo
diff --git a/GI/GtkSource/Interfaces/StyleSchemeChooser.hs b/GI/GtkSource/Interfaces/StyleSchemeChooser.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/StyleSchemeChooser.hs
@@ -0,0 +1,209 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Interfaces.StyleSchemeChooser
+    ( 
+
+-- * Exported types
+    StyleSchemeChooser(..)                  ,
+    noStyleSchemeChooser                    ,
+    StyleSchemeChooserK                     ,
+    toStyleSchemeChooser                    ,
+
+
+ -- * Methods
+-- ** styleSchemeChooserGetStyleScheme
+    StyleSchemeChooserGetStyleSchemeMethodInfo,
+    styleSchemeChooserGetStyleScheme        ,
+
+
+-- ** styleSchemeChooserSetStyleScheme
+    StyleSchemeChooserSetStyleSchemeMethodInfo,
+    styleSchemeChooserSetStyleScheme        ,
+
+
+
+
+ -- * Properties
+-- ** StyleScheme
+    StyleSchemeChooserStyleSchemePropertyInfo,
+    constructStyleSchemeChooserStyleScheme  ,
+    getStyleSchemeChooserStyleScheme        ,
+    setStyleSchemeChooserStyleScheme        ,
+    styleSchemeChooserStyleScheme           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+-- interface StyleSchemeChooser 
+
+newtype StyleSchemeChooser = StyleSchemeChooser (ForeignPtr StyleSchemeChooser)
+noStyleSchemeChooser :: Maybe StyleSchemeChooser
+noStyleSchemeChooser = Nothing
+
+type family ResolveStyleSchemeChooserMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleSchemeChooserMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStyleSchemeChooserMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStyleSchemeChooserMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStyleSchemeChooserMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStyleSchemeChooserMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStyleSchemeChooserMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStyleSchemeChooserMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStyleSchemeChooserMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStyleSchemeChooserMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStyleSchemeChooserMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStyleSchemeChooserMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStyleSchemeChooserMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStyleSchemeChooserMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStyleSchemeChooserMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStyleSchemeChooserMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStyleSchemeChooserMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStyleSchemeChooserMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStyleSchemeChooserMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStyleSchemeChooserMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStyleSchemeChooserMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStyleSchemeChooserMethod "getStyleScheme" o = StyleSchemeChooserGetStyleSchemeMethodInfo
+    ResolveStyleSchemeChooserMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStyleSchemeChooserMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStyleSchemeChooserMethod "setStyleScheme" o = StyleSchemeChooserSetStyleSchemeMethodInfo
+    ResolveStyleSchemeChooserMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleSchemeChooserMethod t StyleSchemeChooser, MethodInfo info StyleSchemeChooser p) => IsLabelProxy t (StyleSchemeChooser -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStyleSchemeChooserMethod t StyleSchemeChooser, MethodInfo info StyleSchemeChooser p) => IsLabel t (StyleSchemeChooser -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "style-scheme"
+   -- Type: TInterface "GtkSource" "StyleScheme"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getStyleSchemeChooserStyleScheme :: (MonadIO m, StyleSchemeChooserK o) => o -> m StyleScheme
+getStyleSchemeChooserStyleScheme obj = liftIO $ checkUnexpectedNothing "getStyleSchemeChooserStyleScheme" $ getObjectPropertyObject obj "style-scheme" StyleScheme
+
+setStyleSchemeChooserStyleScheme :: (MonadIO m, StyleSchemeChooserK o, StyleSchemeK a) => o -> a -> m ()
+setStyleSchemeChooserStyleScheme obj val = liftIO $ setObjectPropertyObject obj "style-scheme" (Just val)
+
+constructStyleSchemeChooserStyleScheme :: (StyleSchemeK a) => a -> IO ([Char], GValue)
+constructStyleSchemeChooserStyleScheme val = constructObjectPropertyObject "style-scheme" (Just val)
+
+data StyleSchemeChooserStyleSchemePropertyInfo
+instance AttrInfo StyleSchemeChooserStyleSchemePropertyInfo where
+    type AttrAllowedOps StyleSchemeChooserStyleSchemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleSchemeChooserStyleSchemePropertyInfo = StyleSchemeK
+    type AttrBaseTypeConstraint StyleSchemeChooserStyleSchemePropertyInfo = StyleSchemeChooserK
+    type AttrGetType StyleSchemeChooserStyleSchemePropertyInfo = StyleScheme
+    type AttrLabel StyleSchemeChooserStyleSchemePropertyInfo = "style-scheme"
+    attrGet _ = getStyleSchemeChooserStyleScheme
+    attrSet _ = setStyleSchemeChooserStyleScheme
+    attrConstruct _ = constructStyleSchemeChooserStyleScheme
+    attrClear _ = undefined
+
+type instance AttributeList StyleSchemeChooser = StyleSchemeChooserAttributeList
+type StyleSchemeChooserAttributeList = ('[ '("styleScheme", StyleSchemeChooserStyleSchemePropertyInfo)] :: [(Symbol, *)])
+
+styleSchemeChooserStyleScheme :: AttrLabelProxy "styleScheme"
+styleSchemeChooserStyleScheme = AttrLabelProxy
+
+type instance SignalList StyleSchemeChooser = StyleSchemeChooserSignalList
+type StyleSchemeChooserSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+foreign import ccall "gtk_source_style_scheme_chooser_get_type"
+    c_gtk_source_style_scheme_chooser_get_type :: IO GType
+
+type instance ParentTypes StyleSchemeChooser = StyleSchemeChooserParentTypes
+type StyleSchemeChooserParentTypes = '[GObject.Object]
+
+instance GObject StyleSchemeChooser where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_style_scheme_chooser_get_type
+    
+
+class GObject o => StyleSchemeChooserK o
+instance (GObject o, IsDescendantOf StyleSchemeChooser o) => StyleSchemeChooserK o
+
+toStyleSchemeChooser :: StyleSchemeChooserK o => o -> IO StyleSchemeChooser
+toStyleSchemeChooser = unsafeCastTo StyleSchemeChooser
+
+-- method StyleSchemeChooser::get_style_scheme
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeChooser", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleScheme")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_chooser_get_style_scheme" gtk_source_style_scheme_chooser_get_style_scheme :: 
+    Ptr StyleSchemeChooser ->               -- _obj : TInterface "GtkSource" "StyleSchemeChooser"
+    IO (Ptr StyleScheme)
+
+
+styleSchemeChooserGetStyleScheme ::
+    (MonadIO m, StyleSchemeChooserK a) =>
+    a                                       -- _obj
+    -> m StyleScheme                        -- result
+styleSchemeChooserGetStyleScheme _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_chooser_get_style_scheme _obj'
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_chooser_get_style_scheme" result
+    result' <- (newObject StyleScheme) result
+    touchManagedPtr _obj
+    return result'
+
+data StyleSchemeChooserGetStyleSchemeMethodInfo
+instance (signature ~ (m StyleScheme), MonadIO m, StyleSchemeChooserK a) => MethodInfo StyleSchemeChooserGetStyleSchemeMethodInfo a signature where
+    overloadedMethod _ = styleSchemeChooserGetStyleScheme
+
+-- method StyleSchemeChooser::set_style_scheme
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeChooser", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_chooser_set_style_scheme" gtk_source_style_scheme_chooser_set_style_scheme :: 
+    Ptr StyleSchemeChooser ->               -- _obj : TInterface "GtkSource" "StyleSchemeChooser"
+    Ptr StyleScheme ->                      -- scheme : TInterface "GtkSource" "StyleScheme"
+    IO ()
+
+
+styleSchemeChooserSetStyleScheme ::
+    (MonadIO m, StyleSchemeChooserK a, StyleSchemeK b) =>
+    a                                       -- _obj
+    -> b                                    -- scheme
+    -> m ()                                 -- result
+styleSchemeChooserSetStyleScheme _obj scheme = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let scheme' = unsafeManagedPtrCastPtr scheme
+    gtk_source_style_scheme_chooser_set_style_scheme _obj' scheme'
+    touchManagedPtr _obj
+    touchManagedPtr scheme
+    return ()
+
+data StyleSchemeChooserSetStyleSchemeMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, StyleSchemeChooserK a, StyleSchemeK b) => MethodInfo StyleSchemeChooserSetStyleSchemeMethodInfo a signature where
+    overloadedMethod _ = styleSchemeChooserSetStyleScheme
+
+
diff --git a/GI/GtkSource/Interfaces/StyleSchemeChooser.hs-boot b/GI/GtkSource/Interfaces/StyleSchemeChooser.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/StyleSchemeChooser.hs-boot
@@ -0,0 +1,16 @@
+module GI.GtkSource.Interfaces.StyleSchemeChooser where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype StyleSchemeChooser = StyleSchemeChooser (ForeignPtr StyleSchemeChooser)
+data StyleSchemeChooserStyleSchemePropertyInfo
+instance GObject StyleSchemeChooser where
+class GObject o => StyleSchemeChooserK o
+instance (GObject o, IsDescendantOf StyleSchemeChooser o) => StyleSchemeChooserK o
+data StyleSchemeChooserGetStyleSchemeMethodInfo
+data StyleSchemeChooserSetStyleSchemeMethodInfo
diff --git a/GI/GtkSource/Interfaces/UndoManager.hs b/GI/GtkSource/Interfaces/UndoManager.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/UndoManager.hs
@@ -0,0 +1,476 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Interfaces.UndoManager
+    ( 
+
+-- * Exported types
+    UndoManager(..)                         ,
+    noUndoManager                           ,
+    UndoManagerK                            ,
+    toUndoManager                           ,
+
+
+ -- * Methods
+-- ** undoManagerBeginNotUndoableAction
+    UndoManagerBeginNotUndoableActionMethodInfo,
+    undoManagerBeginNotUndoableAction       ,
+
+
+-- ** undoManagerCanRedo
+    UndoManagerCanRedoMethodInfo            ,
+    undoManagerCanRedo                      ,
+
+
+-- ** undoManagerCanRedoChanged
+    UndoManagerCanRedoChangedMethodInfo     ,
+    undoManagerCanRedoChanged               ,
+
+
+-- ** undoManagerCanUndo
+    UndoManagerCanUndoMethodInfo            ,
+    undoManagerCanUndo                      ,
+
+
+-- ** undoManagerCanUndoChanged
+    UndoManagerCanUndoChangedMethodInfo     ,
+    undoManagerCanUndoChanged               ,
+
+
+-- ** undoManagerEndNotUndoableAction
+    UndoManagerEndNotUndoableActionMethodInfo,
+    undoManagerEndNotUndoableAction         ,
+
+
+-- ** undoManagerRedo
+    UndoManagerRedoMethodInfo               ,
+    undoManagerRedo                         ,
+
+
+-- ** undoManagerUndo
+    UndoManagerUndoMethodInfo               ,
+    undoManagerUndo                         ,
+
+
+
+
+ -- * Signals
+-- ** CanRedoChanged
+    UndoManagerCanRedoChangedCallback       ,
+    UndoManagerCanRedoChangedCallbackC      ,
+    UndoManagerCanRedoChangedSignalInfo     ,
+    afterUndoManagerCanRedoChanged          ,
+    mkUndoManagerCanRedoChangedCallback     ,
+    noUndoManagerCanRedoChangedCallback     ,
+    onUndoManagerCanRedoChanged             ,
+    undoManagerCanRedoChangedCallbackWrapper,
+    undoManagerCanRedoChangedClosure        ,
+
+
+-- ** CanUndoChanged
+    UndoManagerCanUndoChangedCallback       ,
+    UndoManagerCanUndoChangedCallbackC      ,
+    UndoManagerCanUndoChangedSignalInfo     ,
+    afterUndoManagerCanUndoChanged          ,
+    mkUndoManagerCanUndoChangedCallback     ,
+    noUndoManagerCanUndoChangedCallback     ,
+    onUndoManagerCanUndoChanged             ,
+    undoManagerCanUndoChangedCallbackWrapper,
+    undoManagerCanUndoChangedClosure        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+-- interface UndoManager 
+
+newtype UndoManager = UndoManager (ForeignPtr UndoManager)
+noUndoManager :: Maybe UndoManager
+noUndoManager = Nothing
+
+type family ResolveUndoManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveUndoManagerMethod "beginNotUndoableAction" o = UndoManagerBeginNotUndoableActionMethodInfo
+    ResolveUndoManagerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveUndoManagerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveUndoManagerMethod "canRedo" o = UndoManagerCanRedoMethodInfo
+    ResolveUndoManagerMethod "canRedoChanged" o = UndoManagerCanRedoChangedMethodInfo
+    ResolveUndoManagerMethod "canUndo" o = UndoManagerCanUndoMethodInfo
+    ResolveUndoManagerMethod "canUndoChanged" o = UndoManagerCanUndoChangedMethodInfo
+    ResolveUndoManagerMethod "endNotUndoableAction" o = UndoManagerEndNotUndoableActionMethodInfo
+    ResolveUndoManagerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveUndoManagerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveUndoManagerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveUndoManagerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveUndoManagerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveUndoManagerMethod "redo" o = UndoManagerRedoMethodInfo
+    ResolveUndoManagerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveUndoManagerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveUndoManagerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveUndoManagerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveUndoManagerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveUndoManagerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveUndoManagerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveUndoManagerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveUndoManagerMethod "undo" o = UndoManagerUndoMethodInfo
+    ResolveUndoManagerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveUndoManagerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveUndoManagerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveUndoManagerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveUndoManagerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveUndoManagerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveUndoManagerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveUndoManagerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveUndoManagerMethod t UndoManager, MethodInfo info UndoManager p) => IsLabelProxy t (UndoManager -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveUndoManagerMethod t UndoManager, MethodInfo info UndoManager p) => IsLabel t (UndoManager -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal UndoManager::can-redo-changed
+type UndoManagerCanRedoChangedCallback =
+    IO ()
+
+noUndoManagerCanRedoChangedCallback :: Maybe UndoManagerCanRedoChangedCallback
+noUndoManagerCanRedoChangedCallback = Nothing
+
+type UndoManagerCanRedoChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkUndoManagerCanRedoChangedCallback :: UndoManagerCanRedoChangedCallbackC -> IO (FunPtr UndoManagerCanRedoChangedCallbackC)
+
+undoManagerCanRedoChangedClosure :: UndoManagerCanRedoChangedCallback -> IO Closure
+undoManagerCanRedoChangedClosure cb = newCClosure =<< mkUndoManagerCanRedoChangedCallback wrapped
+    where wrapped = undoManagerCanRedoChangedCallbackWrapper cb
+
+undoManagerCanRedoChangedCallbackWrapper ::
+    UndoManagerCanRedoChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+undoManagerCanRedoChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onUndoManagerCanRedoChanged :: (GObject a, MonadIO m) => a -> UndoManagerCanRedoChangedCallback -> m SignalHandlerId
+onUndoManagerCanRedoChanged obj cb = liftIO $ connectUndoManagerCanRedoChanged obj cb SignalConnectBefore
+afterUndoManagerCanRedoChanged :: (GObject a, MonadIO m) => a -> UndoManagerCanRedoChangedCallback -> m SignalHandlerId
+afterUndoManagerCanRedoChanged obj cb = connectUndoManagerCanRedoChanged obj cb SignalConnectAfter
+
+connectUndoManagerCanRedoChanged :: (GObject a, MonadIO m) =>
+                                    a -> UndoManagerCanRedoChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectUndoManagerCanRedoChanged obj cb after = liftIO $ do
+    cb' <- mkUndoManagerCanRedoChangedCallback (undoManagerCanRedoChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "can-redo-changed" cb' after
+
+-- signal UndoManager::can-undo-changed
+type UndoManagerCanUndoChangedCallback =
+    IO ()
+
+noUndoManagerCanUndoChangedCallback :: Maybe UndoManagerCanUndoChangedCallback
+noUndoManagerCanUndoChangedCallback = Nothing
+
+type UndoManagerCanUndoChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkUndoManagerCanUndoChangedCallback :: UndoManagerCanUndoChangedCallbackC -> IO (FunPtr UndoManagerCanUndoChangedCallbackC)
+
+undoManagerCanUndoChangedClosure :: UndoManagerCanUndoChangedCallback -> IO Closure
+undoManagerCanUndoChangedClosure cb = newCClosure =<< mkUndoManagerCanUndoChangedCallback wrapped
+    where wrapped = undoManagerCanUndoChangedCallbackWrapper cb
+
+undoManagerCanUndoChangedCallbackWrapper ::
+    UndoManagerCanUndoChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+undoManagerCanUndoChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onUndoManagerCanUndoChanged :: (GObject a, MonadIO m) => a -> UndoManagerCanUndoChangedCallback -> m SignalHandlerId
+onUndoManagerCanUndoChanged obj cb = liftIO $ connectUndoManagerCanUndoChanged obj cb SignalConnectBefore
+afterUndoManagerCanUndoChanged :: (GObject a, MonadIO m) => a -> UndoManagerCanUndoChangedCallback -> m SignalHandlerId
+afterUndoManagerCanUndoChanged obj cb = connectUndoManagerCanUndoChanged obj cb SignalConnectAfter
+
+connectUndoManagerCanUndoChanged :: (GObject a, MonadIO m) =>
+                                    a -> UndoManagerCanUndoChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectUndoManagerCanUndoChanged obj cb after = liftIO $ do
+    cb' <- mkUndoManagerCanUndoChangedCallback (undoManagerCanUndoChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "can-undo-changed" cb' after
+
+type instance AttributeList UndoManager = UndoManagerAttributeList
+type UndoManagerAttributeList = ('[ ] :: [(Symbol, *)])
+
+data UndoManagerCanRedoChangedSignalInfo
+instance SignalInfo UndoManagerCanRedoChangedSignalInfo where
+    type HaskellCallbackType UndoManagerCanRedoChangedSignalInfo = UndoManagerCanRedoChangedCallback
+    connectSignal _ = connectUndoManagerCanRedoChanged
+
+data UndoManagerCanUndoChangedSignalInfo
+instance SignalInfo UndoManagerCanUndoChangedSignalInfo where
+    type HaskellCallbackType UndoManagerCanUndoChangedSignalInfo = UndoManagerCanUndoChangedCallback
+    connectSignal _ = connectUndoManagerCanUndoChanged
+
+type instance SignalList UndoManager = UndoManagerSignalList
+type UndoManagerSignalList = ('[ '("canRedoChanged", UndoManagerCanRedoChangedSignalInfo), '("canUndoChanged", UndoManagerCanUndoChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+foreign import ccall "gtk_source_undo_manager_get_type"
+    c_gtk_source_undo_manager_get_type :: IO GType
+
+type instance ParentTypes UndoManager = UndoManagerParentTypes
+type UndoManagerParentTypes = '[GObject.Object]
+
+instance GObject UndoManager where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_undo_manager_get_type
+    
+
+class GObject o => UndoManagerK o
+instance (GObject o, IsDescendantOf UndoManager o) => UndoManagerK o
+
+toUndoManager :: UndoManagerK o => o -> IO UndoManager
+toUndoManager = unsafeCastTo UndoManager
+
+-- method UndoManager::begin_not_undoable_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_begin_not_undoable_action" gtk_source_undo_manager_begin_not_undoable_action :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+undoManagerBeginNotUndoableAction ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+undoManagerBeginNotUndoableAction _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_undo_manager_begin_not_undoable_action _obj'
+    touchManagedPtr _obj
+    return ()
+
+data UndoManagerBeginNotUndoableActionMethodInfo
+instance (signature ~ (m ()), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerBeginNotUndoableActionMethodInfo a signature where
+    overloadedMethod _ = undoManagerBeginNotUndoableAction
+
+-- method UndoManager::can_redo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_can_redo" gtk_source_undo_manager_can_redo :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO CInt
+
+
+undoManagerCanRedo ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+undoManagerCanRedo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_undo_manager_can_redo _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data UndoManagerCanRedoMethodInfo
+instance (signature ~ (m Bool), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerCanRedoMethodInfo a signature where
+    overloadedMethod _ = undoManagerCanRedo
+
+-- method UndoManager::can_redo_changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_can_redo_changed" gtk_source_undo_manager_can_redo_changed :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+undoManagerCanRedoChanged ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+undoManagerCanRedoChanged _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_undo_manager_can_redo_changed _obj'
+    touchManagedPtr _obj
+    return ()
+
+data UndoManagerCanRedoChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerCanRedoChangedMethodInfo a signature where
+    overloadedMethod _ = undoManagerCanRedoChanged
+
+-- method UndoManager::can_undo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_can_undo" gtk_source_undo_manager_can_undo :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO CInt
+
+
+undoManagerCanUndo ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+undoManagerCanUndo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_undo_manager_can_undo _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data UndoManagerCanUndoMethodInfo
+instance (signature ~ (m Bool), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerCanUndoMethodInfo a signature where
+    overloadedMethod _ = undoManagerCanUndo
+
+-- method UndoManager::can_undo_changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_can_undo_changed" gtk_source_undo_manager_can_undo_changed :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+undoManagerCanUndoChanged ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+undoManagerCanUndoChanged _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_undo_manager_can_undo_changed _obj'
+    touchManagedPtr _obj
+    return ()
+
+data UndoManagerCanUndoChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerCanUndoChangedMethodInfo a signature where
+    overloadedMethod _ = undoManagerCanUndoChanged
+
+-- method UndoManager::end_not_undoable_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_end_not_undoable_action" gtk_source_undo_manager_end_not_undoable_action :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+undoManagerEndNotUndoableAction ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+undoManagerEndNotUndoableAction _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_undo_manager_end_not_undoable_action _obj'
+    touchManagedPtr _obj
+    return ()
+
+data UndoManagerEndNotUndoableActionMethodInfo
+instance (signature ~ (m ()), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerEndNotUndoableActionMethodInfo a signature where
+    overloadedMethod _ = undoManagerEndNotUndoableAction
+
+-- method UndoManager::redo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_redo" gtk_source_undo_manager_redo :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+undoManagerRedo ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+undoManagerRedo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_undo_manager_redo _obj'
+    touchManagedPtr _obj
+    return ()
+
+data UndoManagerRedoMethodInfo
+instance (signature ~ (m ()), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerRedoMethodInfo a signature where
+    overloadedMethod _ = undoManagerRedo
+
+-- method UndoManager::undo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_undo_manager_undo" gtk_source_undo_manager_undo :: 
+    Ptr UndoManager ->                      -- _obj : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+undoManagerUndo ::
+    (MonadIO m, UndoManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+undoManagerUndo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_undo_manager_undo _obj'
+    touchManagedPtr _obj
+    return ()
+
+data UndoManagerUndoMethodInfo
+instance (signature ~ (m ()), MonadIO m, UndoManagerK a) => MethodInfo UndoManagerUndoMethodInfo a signature where
+    overloadedMethod _ = undoManagerUndo
+
+
diff --git a/GI/GtkSource/Interfaces/UndoManager.hs-boot b/GI/GtkSource/Interfaces/UndoManager.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Interfaces/UndoManager.hs-boot
@@ -0,0 +1,23 @@
+module GI.GtkSource.Interfaces.UndoManager where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype UndoManager = UndoManager (ForeignPtr UndoManager)
+data UndoManagerCanRedoChangedSignalInfo
+data UndoManagerCanUndoChangedSignalInfo
+instance GObject UndoManager where
+class GObject o => UndoManagerK o
+instance (GObject o, IsDescendantOf UndoManager o) => UndoManagerK o
+data UndoManagerBeginNotUndoableActionMethodInfo
+data UndoManagerCanRedoMethodInfo
+data UndoManagerCanRedoChangedMethodInfo
+data UndoManagerCanUndoMethodInfo
+data UndoManagerCanUndoChangedMethodInfo
+data UndoManagerEndNotUndoableActionMethodInfo
+data UndoManagerRedoMethodInfo
+data UndoManagerUndoMethodInfo
diff --git a/GI/GtkSource/Objects.hs b/GI/GtkSource/Objects.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects.hs
@@ -0,0 +1,79 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects
+    (     module GI.GtkSource.Objects.Buffer      ,
+    module GI.GtkSource.Objects.Completion  ,
+    module GI.GtkSource.Objects.CompletionContext,
+    module GI.GtkSource.Objects.CompletionInfo,
+    module GI.GtkSource.Objects.CompletionItem,
+    module GI.GtkSource.Objects.CompletionWords,
+    module GI.GtkSource.Objects.File        ,
+    module GI.GtkSource.Objects.FileLoader  ,
+    module GI.GtkSource.Objects.FileSaver   ,
+    module GI.GtkSource.Objects.Gutter      ,
+    module GI.GtkSource.Objects.GutterRenderer,
+    module GI.GtkSource.Objects.GutterRendererPixbuf,
+    module GI.GtkSource.Objects.GutterRendererText,
+    module GI.GtkSource.Objects.Language    ,
+    module GI.GtkSource.Objects.LanguageManager,
+    module GI.GtkSource.Objects.Map         ,
+    module GI.GtkSource.Objects.Mark        ,
+    module GI.GtkSource.Objects.MarkAttributes,
+    module GI.GtkSource.Objects.PrintCompositor,
+    module GI.GtkSource.Objects.SearchContext,
+    module GI.GtkSource.Objects.SearchSettings,
+    module GI.GtkSource.Objects.Style       ,
+    module GI.GtkSource.Objects.StyleScheme ,
+    module GI.GtkSource.Objects.StyleSchemeChooserButton,
+    module GI.GtkSource.Objects.StyleSchemeChooserWidget,
+    module GI.GtkSource.Objects.StyleSchemeManager,
+    module GI.GtkSource.Objects.View        ,
+
+
+    ) where
+
+import GI.GtkSource.Objects.Buffer
+import GI.GtkSource.Objects.Completion
+import GI.GtkSource.Objects.CompletionContext
+import GI.GtkSource.Objects.CompletionInfo
+import GI.GtkSource.Objects.CompletionItem
+import GI.GtkSource.Objects.CompletionWords
+import GI.GtkSource.Objects.File
+import GI.GtkSource.Objects.FileLoader
+import GI.GtkSource.Objects.FileSaver
+import GI.GtkSource.Objects.Gutter
+import GI.GtkSource.Objects.GutterRenderer
+import GI.GtkSource.Objects.GutterRendererPixbuf
+import GI.GtkSource.Objects.GutterRendererText
+import GI.GtkSource.Objects.Language
+import GI.GtkSource.Objects.LanguageManager
+import GI.GtkSource.Objects.Map
+import GI.GtkSource.Objects.Mark
+import GI.GtkSource.Objects.MarkAttributes
+import GI.GtkSource.Objects.PrintCompositor
+import GI.GtkSource.Objects.SearchContext
+import GI.GtkSource.Objects.SearchSettings
+import GI.GtkSource.Objects.Style
+import GI.GtkSource.Objects.StyleScheme
+import GI.GtkSource.Objects.StyleSchemeChooserButton
+import GI.GtkSource.Objects.StyleSchemeChooserWidget
+import GI.GtkSource.Objects.StyleSchemeManager
+import GI.GtkSource.Objects.View
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+
+
diff --git a/GI/GtkSource/Objects/Buffer.hs b/GI/GtkSource/Objects/Buffer.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Buffer.hs
@@ -0,0 +1,2190 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Buffer
+    ( 
+
+-- * Exported types
+    Buffer(..)                              ,
+    BufferK                                 ,
+    toBuffer                                ,
+    noBuffer                                ,
+
+
+ -- * Methods
+-- ** bufferBackwardIterToSourceMark
+    BufferBackwardIterToSourceMarkMethodInfo,
+    bufferBackwardIterToSourceMark          ,
+
+
+-- ** bufferBeginNotUndoableAction
+    BufferBeginNotUndoableActionMethodInfo  ,
+    bufferBeginNotUndoableAction            ,
+
+
+-- ** bufferCanRedo
+    BufferCanRedoMethodInfo                 ,
+    bufferCanRedo                           ,
+
+
+-- ** bufferCanUndo
+    BufferCanUndoMethodInfo                 ,
+    bufferCanUndo                           ,
+
+
+-- ** bufferChangeCase
+    BufferChangeCaseMethodInfo              ,
+    bufferChangeCase                        ,
+
+
+-- ** bufferCreateSourceMark
+    BufferCreateSourceMarkMethodInfo        ,
+    bufferCreateSourceMark                  ,
+
+
+-- ** bufferEndNotUndoableAction
+    BufferEndNotUndoableActionMethodInfo    ,
+    bufferEndNotUndoableAction              ,
+
+
+-- ** bufferEnsureHighlight
+    BufferEnsureHighlightMethodInfo         ,
+    bufferEnsureHighlight                   ,
+
+
+-- ** bufferForwardIterToSourceMark
+    BufferForwardIterToSourceMarkMethodInfo ,
+    bufferForwardIterToSourceMark           ,
+
+
+-- ** bufferGetContextClassesAtIter
+    BufferGetContextClassesAtIterMethodInfo ,
+    bufferGetContextClassesAtIter           ,
+
+
+-- ** bufferGetHighlightMatchingBrackets
+    BufferGetHighlightMatchingBracketsMethodInfo,
+    bufferGetHighlightMatchingBrackets      ,
+
+
+-- ** bufferGetHighlightSyntax
+    BufferGetHighlightSyntaxMethodInfo      ,
+    bufferGetHighlightSyntax                ,
+
+
+-- ** bufferGetImplicitTrailingNewline
+    BufferGetImplicitTrailingNewlineMethodInfo,
+    bufferGetImplicitTrailingNewline        ,
+
+
+-- ** bufferGetLanguage
+    BufferGetLanguageMethodInfo             ,
+    bufferGetLanguage                       ,
+
+
+-- ** bufferGetMaxUndoLevels
+    BufferGetMaxUndoLevelsMethodInfo        ,
+    bufferGetMaxUndoLevels                  ,
+
+
+-- ** bufferGetSourceMarksAtIter
+    BufferGetSourceMarksAtIterMethodInfo    ,
+    bufferGetSourceMarksAtIter              ,
+
+
+-- ** bufferGetSourceMarksAtLine
+    BufferGetSourceMarksAtLineMethodInfo    ,
+    bufferGetSourceMarksAtLine              ,
+
+
+-- ** bufferGetStyleScheme
+    BufferGetStyleSchemeMethodInfo          ,
+    bufferGetStyleScheme                    ,
+
+
+-- ** bufferGetUndoManager
+    BufferGetUndoManagerMethodInfo          ,
+    bufferGetUndoManager                    ,
+
+
+-- ** bufferIterBackwardToContextClassToggle
+    BufferIterBackwardToContextClassToggleMethodInfo,
+    bufferIterBackwardToContextClassToggle  ,
+
+
+-- ** bufferIterForwardToContextClassToggle
+    BufferIterForwardToContextClassToggleMethodInfo,
+    bufferIterForwardToContextClassToggle   ,
+
+
+-- ** bufferIterHasContextClass
+    BufferIterHasContextClassMethodInfo     ,
+    bufferIterHasContextClass               ,
+
+
+-- ** bufferJoinLines
+    BufferJoinLinesMethodInfo               ,
+    bufferJoinLines                         ,
+
+
+-- ** bufferNew
+    bufferNew                               ,
+
+
+-- ** bufferNewWithLanguage
+    bufferNewWithLanguage                   ,
+
+
+-- ** bufferRedo
+    BufferRedoMethodInfo                    ,
+    bufferRedo                              ,
+
+
+-- ** bufferRemoveSourceMarks
+    BufferRemoveSourceMarksMethodInfo       ,
+    bufferRemoveSourceMarks                 ,
+
+
+-- ** bufferSetHighlightMatchingBrackets
+    BufferSetHighlightMatchingBracketsMethodInfo,
+    bufferSetHighlightMatchingBrackets      ,
+
+
+-- ** bufferSetHighlightSyntax
+    BufferSetHighlightSyntaxMethodInfo      ,
+    bufferSetHighlightSyntax                ,
+
+
+-- ** bufferSetImplicitTrailingNewline
+    BufferSetImplicitTrailingNewlineMethodInfo,
+    bufferSetImplicitTrailingNewline        ,
+
+
+-- ** bufferSetLanguage
+    BufferSetLanguageMethodInfo             ,
+    bufferSetLanguage                       ,
+
+
+-- ** bufferSetMaxUndoLevels
+    BufferSetMaxUndoLevelsMethodInfo        ,
+    bufferSetMaxUndoLevels                  ,
+
+
+-- ** bufferSetStyleScheme
+    BufferSetStyleSchemeMethodInfo          ,
+    bufferSetStyleScheme                    ,
+
+
+-- ** bufferSetUndoManager
+    BufferSetUndoManagerMethodInfo          ,
+    bufferSetUndoManager                    ,
+
+
+-- ** bufferSortLines
+    BufferSortLinesMethodInfo               ,
+    bufferSortLines                         ,
+
+
+-- ** bufferUndo
+    BufferUndoMethodInfo                    ,
+    bufferUndo                              ,
+
+
+
+
+ -- * Properties
+-- ** CanRedo
+    BufferCanRedoPropertyInfo               ,
+    getBufferCanRedo                        ,
+
+
+-- ** CanUndo
+    BufferCanUndoPropertyInfo               ,
+    getBufferCanUndo                        ,
+
+
+-- ** HighlightMatchingBrackets
+    BufferHighlightMatchingBracketsPropertyInfo,
+    bufferHighlightMatchingBrackets         ,
+    constructBufferHighlightMatchingBrackets,
+    getBufferHighlightMatchingBrackets      ,
+    setBufferHighlightMatchingBrackets      ,
+
+
+-- ** HighlightSyntax
+    BufferHighlightSyntaxPropertyInfo       ,
+    bufferHighlightSyntax                   ,
+    constructBufferHighlightSyntax          ,
+    getBufferHighlightSyntax                ,
+    setBufferHighlightSyntax                ,
+
+
+-- ** ImplicitTrailingNewline
+    BufferImplicitTrailingNewlinePropertyInfo,
+    bufferImplicitTrailingNewline           ,
+    constructBufferImplicitTrailingNewline  ,
+    getBufferImplicitTrailingNewline        ,
+    setBufferImplicitTrailingNewline        ,
+
+
+-- ** Language
+    BufferLanguagePropertyInfo              ,
+    bufferLanguage                          ,
+    clearBufferLanguage                     ,
+    constructBufferLanguage                 ,
+    getBufferLanguage                       ,
+    setBufferLanguage                       ,
+
+
+-- ** MaxUndoLevels
+    BufferMaxUndoLevelsPropertyInfo         ,
+    bufferMaxUndoLevels                     ,
+    constructBufferMaxUndoLevels            ,
+    getBufferMaxUndoLevels                  ,
+    setBufferMaxUndoLevels                  ,
+
+
+-- ** StyleScheme
+    BufferStyleSchemePropertyInfo           ,
+    bufferStyleScheme                       ,
+    clearBufferStyleScheme                  ,
+    constructBufferStyleScheme              ,
+    getBufferStyleScheme                    ,
+    setBufferStyleScheme                    ,
+
+
+-- ** UndoManager
+    BufferUndoManagerPropertyInfo           ,
+    bufferUndoManager                       ,
+    clearBufferUndoManager                  ,
+    constructBufferUndoManager              ,
+    getBufferUndoManager                    ,
+    setBufferUndoManager                    ,
+
+
+
+
+ -- * Signals
+-- ** BracketMatched
+    BufferBracketMatchedCallback            ,
+    BufferBracketMatchedCallbackC           ,
+    BufferBracketMatchedSignalInfo          ,
+    afterBufferBracketMatched               ,
+    bufferBracketMatchedCallbackWrapper     ,
+    bufferBracketMatchedClosure             ,
+    mkBufferBracketMatchedCallback          ,
+    noBufferBracketMatchedCallback          ,
+    onBufferBracketMatched                  ,
+
+
+-- ** HighlightUpdated
+    BufferHighlightUpdatedCallback          ,
+    BufferHighlightUpdatedCallbackC         ,
+    BufferHighlightUpdatedSignalInfo        ,
+    afterBufferHighlightUpdated             ,
+    bufferHighlightUpdatedCallbackWrapper   ,
+    bufferHighlightUpdatedClosure           ,
+    mkBufferHighlightUpdatedCallback        ,
+    noBufferHighlightUpdatedCallback        ,
+    onBufferHighlightUpdated                ,
+
+
+-- ** Redo
+    BufferRedoCallback                      ,
+    BufferRedoCallbackC                     ,
+    BufferRedoSignalInfo                    ,
+    afterBufferRedo                         ,
+    bufferRedoCallbackWrapper               ,
+    bufferRedoClosure                       ,
+    mkBufferRedoCallback                    ,
+    noBufferRedoCallback                    ,
+    onBufferRedo                            ,
+
+
+-- ** SourceMarkUpdated
+    BufferSourceMarkUpdatedCallback         ,
+    BufferSourceMarkUpdatedCallbackC        ,
+    BufferSourceMarkUpdatedSignalInfo       ,
+    afterBufferSourceMarkUpdated            ,
+    bufferSourceMarkUpdatedCallbackWrapper  ,
+    bufferSourceMarkUpdatedClosure          ,
+    mkBufferSourceMarkUpdatedCallback       ,
+    noBufferSourceMarkUpdatedCallback       ,
+    onBufferSourceMarkUpdated               ,
+
+
+-- ** Undo
+    BufferUndoCallback                      ,
+    BufferUndoCallbackC                     ,
+    BufferUndoSignalInfo                    ,
+    afterBufferUndo                         ,
+    bufferUndoCallbackWrapper               ,
+    bufferUndoClosure                       ,
+    mkBufferUndoCallback                    ,
+    noBufferUndoCallback                    ,
+    onBufferUndo                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype Buffer = Buffer (ForeignPtr Buffer)
+foreign import ccall "gtk_source_buffer_get_type"
+    c_gtk_source_buffer_get_type :: IO GType
+
+type instance ParentTypes Buffer = BufferParentTypes
+type BufferParentTypes = '[Gtk.TextBuffer, GObject.Object]
+
+instance GObject Buffer where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_buffer_get_type
+    
+
+class GObject o => BufferK o
+instance (GObject o, IsDescendantOf Buffer o) => BufferK o
+
+toBuffer :: BufferK o => o -> IO Buffer
+toBuffer = unsafeCastTo Buffer
+
+noBuffer :: Maybe Buffer
+noBuffer = Nothing
+
+type family ResolveBufferMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBufferMethod "addMark" o = Gtk.TextBufferAddMarkMethodInfo
+    ResolveBufferMethod "addSelectionClipboard" o = Gtk.TextBufferAddSelectionClipboardMethodInfo
+    ResolveBufferMethod "applyTag" o = Gtk.TextBufferApplyTagMethodInfo
+    ResolveBufferMethod "applyTagByName" o = Gtk.TextBufferApplyTagByNameMethodInfo
+    ResolveBufferMethod "backspace" o = Gtk.TextBufferBackspaceMethodInfo
+    ResolveBufferMethod "backwardIterToSourceMark" o = BufferBackwardIterToSourceMarkMethodInfo
+    ResolveBufferMethod "beginNotUndoableAction" o = BufferBeginNotUndoableActionMethodInfo
+    ResolveBufferMethod "beginUserAction" o = Gtk.TextBufferBeginUserActionMethodInfo
+    ResolveBufferMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveBufferMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveBufferMethod "canRedo" o = BufferCanRedoMethodInfo
+    ResolveBufferMethod "canUndo" o = BufferCanUndoMethodInfo
+    ResolveBufferMethod "changeCase" o = BufferChangeCaseMethodInfo
+    ResolveBufferMethod "copyClipboard" o = Gtk.TextBufferCopyClipboardMethodInfo
+    ResolveBufferMethod "createChildAnchor" o = Gtk.TextBufferCreateChildAnchorMethodInfo
+    ResolveBufferMethod "createMark" o = Gtk.TextBufferCreateMarkMethodInfo
+    ResolveBufferMethod "createSourceMark" o = BufferCreateSourceMarkMethodInfo
+    ResolveBufferMethod "cutClipboard" o = Gtk.TextBufferCutClipboardMethodInfo
+    ResolveBufferMethod "delete" o = Gtk.TextBufferDeleteMethodInfo
+    ResolveBufferMethod "deleteInteractive" o = Gtk.TextBufferDeleteInteractiveMethodInfo
+    ResolveBufferMethod "deleteMark" o = Gtk.TextBufferDeleteMarkMethodInfo
+    ResolveBufferMethod "deleteMarkByName" o = Gtk.TextBufferDeleteMarkByNameMethodInfo
+    ResolveBufferMethod "deleteSelection" o = Gtk.TextBufferDeleteSelectionMethodInfo
+    ResolveBufferMethod "deserialize" o = Gtk.TextBufferDeserializeMethodInfo
+    ResolveBufferMethod "deserializeGetCanCreateTags" o = Gtk.TextBufferDeserializeGetCanCreateTagsMethodInfo
+    ResolveBufferMethod "deserializeSetCanCreateTags" o = Gtk.TextBufferDeserializeSetCanCreateTagsMethodInfo
+    ResolveBufferMethod "endNotUndoableAction" o = BufferEndNotUndoableActionMethodInfo
+    ResolveBufferMethod "endUserAction" o = Gtk.TextBufferEndUserActionMethodInfo
+    ResolveBufferMethod "ensureHighlight" o = BufferEnsureHighlightMethodInfo
+    ResolveBufferMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveBufferMethod "forwardIterToSourceMark" o = BufferForwardIterToSourceMarkMethodInfo
+    ResolveBufferMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveBufferMethod "insert" o = Gtk.TextBufferInsertMethodInfo
+    ResolveBufferMethod "insertAtCursor" o = Gtk.TextBufferInsertAtCursorMethodInfo
+    ResolveBufferMethod "insertChildAnchor" o = Gtk.TextBufferInsertChildAnchorMethodInfo
+    ResolveBufferMethod "insertInteractive" o = Gtk.TextBufferInsertInteractiveMethodInfo
+    ResolveBufferMethod "insertInteractiveAtCursor" o = Gtk.TextBufferInsertInteractiveAtCursorMethodInfo
+    ResolveBufferMethod "insertMarkup" o = Gtk.TextBufferInsertMarkupMethodInfo
+    ResolveBufferMethod "insertPixbuf" o = Gtk.TextBufferInsertPixbufMethodInfo
+    ResolveBufferMethod "insertRange" o = Gtk.TextBufferInsertRangeMethodInfo
+    ResolveBufferMethod "insertRangeInteractive" o = Gtk.TextBufferInsertRangeInteractiveMethodInfo
+    ResolveBufferMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveBufferMethod "iterBackwardToContextClassToggle" o = BufferIterBackwardToContextClassToggleMethodInfo
+    ResolveBufferMethod "iterForwardToContextClassToggle" o = BufferIterForwardToContextClassToggleMethodInfo
+    ResolveBufferMethod "iterHasContextClass" o = BufferIterHasContextClassMethodInfo
+    ResolveBufferMethod "joinLines" o = BufferJoinLinesMethodInfo
+    ResolveBufferMethod "moveMark" o = Gtk.TextBufferMoveMarkMethodInfo
+    ResolveBufferMethod "moveMarkByName" o = Gtk.TextBufferMoveMarkByNameMethodInfo
+    ResolveBufferMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveBufferMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveBufferMethod "pasteClipboard" o = Gtk.TextBufferPasteClipboardMethodInfo
+    ResolveBufferMethod "placeCursor" o = Gtk.TextBufferPlaceCursorMethodInfo
+    ResolveBufferMethod "redo" o = BufferRedoMethodInfo
+    ResolveBufferMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveBufferMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveBufferMethod "registerDeserializeFormat" o = Gtk.TextBufferRegisterDeserializeFormatMethodInfo
+    ResolveBufferMethod "registerDeserializeTagset" o = Gtk.TextBufferRegisterDeserializeTagsetMethodInfo
+    ResolveBufferMethod "registerSerializeFormat" o = Gtk.TextBufferRegisterSerializeFormatMethodInfo
+    ResolveBufferMethod "registerSerializeTagset" o = Gtk.TextBufferRegisterSerializeTagsetMethodInfo
+    ResolveBufferMethod "removeAllTags" o = Gtk.TextBufferRemoveAllTagsMethodInfo
+    ResolveBufferMethod "removeSelectionClipboard" o = Gtk.TextBufferRemoveSelectionClipboardMethodInfo
+    ResolveBufferMethod "removeSourceMarks" o = BufferRemoveSourceMarksMethodInfo
+    ResolveBufferMethod "removeTag" o = Gtk.TextBufferRemoveTagMethodInfo
+    ResolveBufferMethod "removeTagByName" o = Gtk.TextBufferRemoveTagByNameMethodInfo
+    ResolveBufferMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveBufferMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveBufferMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveBufferMethod "selectRange" o = Gtk.TextBufferSelectRangeMethodInfo
+    ResolveBufferMethod "serialize" o = Gtk.TextBufferSerializeMethodInfo
+    ResolveBufferMethod "sortLines" o = BufferSortLinesMethodInfo
+    ResolveBufferMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveBufferMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveBufferMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveBufferMethod "undo" o = BufferUndoMethodInfo
+    ResolveBufferMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveBufferMethod "unregisterDeserializeFormat" o = Gtk.TextBufferUnregisterDeserializeFormatMethodInfo
+    ResolveBufferMethod "unregisterSerializeFormat" o = Gtk.TextBufferUnregisterSerializeFormatMethodInfo
+    ResolveBufferMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveBufferMethod "getBounds" o = Gtk.TextBufferGetBoundsMethodInfo
+    ResolveBufferMethod "getCharCount" o = Gtk.TextBufferGetCharCountMethodInfo
+    ResolveBufferMethod "getContextClassesAtIter" o = BufferGetContextClassesAtIterMethodInfo
+    ResolveBufferMethod "getCopyTargetList" o = Gtk.TextBufferGetCopyTargetListMethodInfo
+    ResolveBufferMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveBufferMethod "getDeserializeFormats" o = Gtk.TextBufferGetDeserializeFormatsMethodInfo
+    ResolveBufferMethod "getEndIter" o = Gtk.TextBufferGetEndIterMethodInfo
+    ResolveBufferMethod "getHasSelection" o = Gtk.TextBufferGetHasSelectionMethodInfo
+    ResolveBufferMethod "getHighlightMatchingBrackets" o = BufferGetHighlightMatchingBracketsMethodInfo
+    ResolveBufferMethod "getHighlightSyntax" o = BufferGetHighlightSyntaxMethodInfo
+    ResolveBufferMethod "getImplicitTrailingNewline" o = BufferGetImplicitTrailingNewlineMethodInfo
+    ResolveBufferMethod "getInsert" o = Gtk.TextBufferGetInsertMethodInfo
+    ResolveBufferMethod "getIterAtChildAnchor" o = Gtk.TextBufferGetIterAtChildAnchorMethodInfo
+    ResolveBufferMethod "getIterAtLine" o = Gtk.TextBufferGetIterAtLineMethodInfo
+    ResolveBufferMethod "getIterAtLineIndex" o = Gtk.TextBufferGetIterAtLineIndexMethodInfo
+    ResolveBufferMethod "getIterAtLineOffset" o = Gtk.TextBufferGetIterAtLineOffsetMethodInfo
+    ResolveBufferMethod "getIterAtMark" o = Gtk.TextBufferGetIterAtMarkMethodInfo
+    ResolveBufferMethod "getIterAtOffset" o = Gtk.TextBufferGetIterAtOffsetMethodInfo
+    ResolveBufferMethod "getLanguage" o = BufferGetLanguageMethodInfo
+    ResolveBufferMethod "getLineCount" o = Gtk.TextBufferGetLineCountMethodInfo
+    ResolveBufferMethod "getMark" o = Gtk.TextBufferGetMarkMethodInfo
+    ResolveBufferMethod "getMaxUndoLevels" o = BufferGetMaxUndoLevelsMethodInfo
+    ResolveBufferMethod "getModified" o = Gtk.TextBufferGetModifiedMethodInfo
+    ResolveBufferMethod "getPasteTargetList" o = Gtk.TextBufferGetPasteTargetListMethodInfo
+    ResolveBufferMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveBufferMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveBufferMethod "getSelectionBound" o = Gtk.TextBufferGetSelectionBoundMethodInfo
+    ResolveBufferMethod "getSelectionBounds" o = Gtk.TextBufferGetSelectionBoundsMethodInfo
+    ResolveBufferMethod "getSerializeFormats" o = Gtk.TextBufferGetSerializeFormatsMethodInfo
+    ResolveBufferMethod "getSlice" o = Gtk.TextBufferGetSliceMethodInfo
+    ResolveBufferMethod "getSourceMarksAtIter" o = BufferGetSourceMarksAtIterMethodInfo
+    ResolveBufferMethod "getSourceMarksAtLine" o = BufferGetSourceMarksAtLineMethodInfo
+    ResolveBufferMethod "getStartIter" o = Gtk.TextBufferGetStartIterMethodInfo
+    ResolveBufferMethod "getStyleScheme" o = BufferGetStyleSchemeMethodInfo
+    ResolveBufferMethod "getTagTable" o = Gtk.TextBufferGetTagTableMethodInfo
+    ResolveBufferMethod "getText" o = Gtk.TextBufferGetTextMethodInfo
+    ResolveBufferMethod "getUndoManager" o = BufferGetUndoManagerMethodInfo
+    ResolveBufferMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveBufferMethod "setHighlightMatchingBrackets" o = BufferSetHighlightMatchingBracketsMethodInfo
+    ResolveBufferMethod "setHighlightSyntax" o = BufferSetHighlightSyntaxMethodInfo
+    ResolveBufferMethod "setImplicitTrailingNewline" o = BufferSetImplicitTrailingNewlineMethodInfo
+    ResolveBufferMethod "setLanguage" o = BufferSetLanguageMethodInfo
+    ResolveBufferMethod "setMaxUndoLevels" o = BufferSetMaxUndoLevelsMethodInfo
+    ResolveBufferMethod "setModified" o = Gtk.TextBufferSetModifiedMethodInfo
+    ResolveBufferMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveBufferMethod "setStyleScheme" o = BufferSetStyleSchemeMethodInfo
+    ResolveBufferMethod "setText" o = Gtk.TextBufferSetTextMethodInfo
+    ResolveBufferMethod "setUndoManager" o = BufferSetUndoManagerMethodInfo
+    ResolveBufferMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveBufferMethod t Buffer, MethodInfo info Buffer p) => IsLabelProxy t (Buffer -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveBufferMethod t Buffer, MethodInfo info Buffer p) => IsLabel t (Buffer -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal Buffer::bracket-matched
+type BufferBracketMatchedCallback =
+    Gtk.TextIter ->
+    BracketMatchType ->
+    IO ()
+
+noBufferBracketMatchedCallback :: Maybe BufferBracketMatchedCallback
+noBufferBracketMatchedCallback = Nothing
+
+type BufferBracketMatchedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkBufferBracketMatchedCallback :: BufferBracketMatchedCallbackC -> IO (FunPtr BufferBracketMatchedCallbackC)
+
+bufferBracketMatchedClosure :: BufferBracketMatchedCallback -> IO Closure
+bufferBracketMatchedClosure cb = newCClosure =<< mkBufferBracketMatchedCallback wrapped
+    where wrapped = bufferBracketMatchedCallbackWrapper cb
+
+bufferBracketMatchedCallbackWrapper ::
+    BufferBracketMatchedCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    CUInt ->
+    Ptr () ->
+    IO ()
+bufferBracketMatchedCallbackWrapper _cb _ iter state _ = do
+    iter' <- (newBoxed Gtk.TextIter) iter
+    let state' = (toEnum . fromIntegral) state
+    _cb  iter' state'
+
+onBufferBracketMatched :: (GObject a, MonadIO m) => a -> BufferBracketMatchedCallback -> m SignalHandlerId
+onBufferBracketMatched obj cb = liftIO $ connectBufferBracketMatched obj cb SignalConnectBefore
+afterBufferBracketMatched :: (GObject a, MonadIO m) => a -> BufferBracketMatchedCallback -> m SignalHandlerId
+afterBufferBracketMatched obj cb = connectBufferBracketMatched obj cb SignalConnectAfter
+
+connectBufferBracketMatched :: (GObject a, MonadIO m) =>
+                               a -> BufferBracketMatchedCallback -> SignalConnectMode -> m SignalHandlerId
+connectBufferBracketMatched obj cb after = liftIO $ do
+    cb' <- mkBufferBracketMatchedCallback (bufferBracketMatchedCallbackWrapper cb)
+    connectSignalFunPtr obj "bracket-matched" cb' after
+
+-- signal Buffer::highlight-updated
+type BufferHighlightUpdatedCallback =
+    Gtk.TextIter ->
+    Gtk.TextIter ->
+    IO ()
+
+noBufferHighlightUpdatedCallback :: Maybe BufferHighlightUpdatedCallback
+noBufferHighlightUpdatedCallback = Nothing
+
+type BufferHighlightUpdatedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Ptr Gtk.TextIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkBufferHighlightUpdatedCallback :: BufferHighlightUpdatedCallbackC -> IO (FunPtr BufferHighlightUpdatedCallbackC)
+
+bufferHighlightUpdatedClosure :: BufferHighlightUpdatedCallback -> IO Closure
+bufferHighlightUpdatedClosure cb = newCClosure =<< mkBufferHighlightUpdatedCallback wrapped
+    where wrapped = bufferHighlightUpdatedCallbackWrapper cb
+
+bufferHighlightUpdatedCallbackWrapper ::
+    BufferHighlightUpdatedCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Ptr Gtk.TextIter ->
+    Ptr () ->
+    IO ()
+bufferHighlightUpdatedCallbackWrapper _cb _ start end _ = do
+    start' <- (newBoxed Gtk.TextIter) start
+    end' <- (newBoxed Gtk.TextIter) end
+    _cb  start' end'
+
+onBufferHighlightUpdated :: (GObject a, MonadIO m) => a -> BufferHighlightUpdatedCallback -> m SignalHandlerId
+onBufferHighlightUpdated obj cb = liftIO $ connectBufferHighlightUpdated obj cb SignalConnectBefore
+afterBufferHighlightUpdated :: (GObject a, MonadIO m) => a -> BufferHighlightUpdatedCallback -> m SignalHandlerId
+afterBufferHighlightUpdated obj cb = connectBufferHighlightUpdated obj cb SignalConnectAfter
+
+connectBufferHighlightUpdated :: (GObject a, MonadIO m) =>
+                                 a -> BufferHighlightUpdatedCallback -> SignalConnectMode -> m SignalHandlerId
+connectBufferHighlightUpdated obj cb after = liftIO $ do
+    cb' <- mkBufferHighlightUpdatedCallback (bufferHighlightUpdatedCallbackWrapper cb)
+    connectSignalFunPtr obj "highlight-updated" cb' after
+
+-- signal Buffer::redo
+type BufferRedoCallback =
+    IO ()
+
+noBufferRedoCallback :: Maybe BufferRedoCallback
+noBufferRedoCallback = Nothing
+
+type BufferRedoCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkBufferRedoCallback :: BufferRedoCallbackC -> IO (FunPtr BufferRedoCallbackC)
+
+bufferRedoClosure :: BufferRedoCallback -> IO Closure
+bufferRedoClosure cb = newCClosure =<< mkBufferRedoCallback wrapped
+    where wrapped = bufferRedoCallbackWrapper cb
+
+bufferRedoCallbackWrapper ::
+    BufferRedoCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+bufferRedoCallbackWrapper _cb _ _ = do
+    _cb 
+
+onBufferRedo :: (GObject a, MonadIO m) => a -> BufferRedoCallback -> m SignalHandlerId
+onBufferRedo obj cb = liftIO $ connectBufferRedo obj cb SignalConnectBefore
+afterBufferRedo :: (GObject a, MonadIO m) => a -> BufferRedoCallback -> m SignalHandlerId
+afterBufferRedo obj cb = connectBufferRedo obj cb SignalConnectAfter
+
+connectBufferRedo :: (GObject a, MonadIO m) =>
+                     a -> BufferRedoCallback -> SignalConnectMode -> m SignalHandlerId
+connectBufferRedo obj cb after = liftIO $ do
+    cb' <- mkBufferRedoCallback (bufferRedoCallbackWrapper cb)
+    connectSignalFunPtr obj "redo" cb' after
+
+-- signal Buffer::source-mark-updated
+type BufferSourceMarkUpdatedCallback =
+    Gtk.TextMark ->
+    IO ()
+
+noBufferSourceMarkUpdatedCallback :: Maybe BufferSourceMarkUpdatedCallback
+noBufferSourceMarkUpdatedCallback = Nothing
+
+type BufferSourceMarkUpdatedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextMark ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkBufferSourceMarkUpdatedCallback :: BufferSourceMarkUpdatedCallbackC -> IO (FunPtr BufferSourceMarkUpdatedCallbackC)
+
+bufferSourceMarkUpdatedClosure :: BufferSourceMarkUpdatedCallback -> IO Closure
+bufferSourceMarkUpdatedClosure cb = newCClosure =<< mkBufferSourceMarkUpdatedCallback wrapped
+    where wrapped = bufferSourceMarkUpdatedCallbackWrapper cb
+
+bufferSourceMarkUpdatedCallbackWrapper ::
+    BufferSourceMarkUpdatedCallback ->
+    Ptr () ->
+    Ptr Gtk.TextMark ->
+    Ptr () ->
+    IO ()
+bufferSourceMarkUpdatedCallbackWrapper _cb _ mark _ = do
+    mark' <- (newObject Gtk.TextMark) mark
+    _cb  mark'
+
+onBufferSourceMarkUpdated :: (GObject a, MonadIO m) => a -> BufferSourceMarkUpdatedCallback -> m SignalHandlerId
+onBufferSourceMarkUpdated obj cb = liftIO $ connectBufferSourceMarkUpdated obj cb SignalConnectBefore
+afterBufferSourceMarkUpdated :: (GObject a, MonadIO m) => a -> BufferSourceMarkUpdatedCallback -> m SignalHandlerId
+afterBufferSourceMarkUpdated obj cb = connectBufferSourceMarkUpdated obj cb SignalConnectAfter
+
+connectBufferSourceMarkUpdated :: (GObject a, MonadIO m) =>
+                                  a -> BufferSourceMarkUpdatedCallback -> SignalConnectMode -> m SignalHandlerId
+connectBufferSourceMarkUpdated obj cb after = liftIO $ do
+    cb' <- mkBufferSourceMarkUpdatedCallback (bufferSourceMarkUpdatedCallbackWrapper cb)
+    connectSignalFunPtr obj "source-mark-updated" cb' after
+
+-- signal Buffer::undo
+type BufferUndoCallback =
+    IO ()
+
+noBufferUndoCallback :: Maybe BufferUndoCallback
+noBufferUndoCallback = Nothing
+
+type BufferUndoCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkBufferUndoCallback :: BufferUndoCallbackC -> IO (FunPtr BufferUndoCallbackC)
+
+bufferUndoClosure :: BufferUndoCallback -> IO Closure
+bufferUndoClosure cb = newCClosure =<< mkBufferUndoCallback wrapped
+    where wrapped = bufferUndoCallbackWrapper cb
+
+bufferUndoCallbackWrapper ::
+    BufferUndoCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+bufferUndoCallbackWrapper _cb _ _ = do
+    _cb 
+
+onBufferUndo :: (GObject a, MonadIO m) => a -> BufferUndoCallback -> m SignalHandlerId
+onBufferUndo obj cb = liftIO $ connectBufferUndo obj cb SignalConnectBefore
+afterBufferUndo :: (GObject a, MonadIO m) => a -> BufferUndoCallback -> m SignalHandlerId
+afterBufferUndo obj cb = connectBufferUndo obj cb SignalConnectAfter
+
+connectBufferUndo :: (GObject a, MonadIO m) =>
+                     a -> BufferUndoCallback -> SignalConnectMode -> m SignalHandlerId
+connectBufferUndo obj cb after = liftIO $ do
+    cb' <- mkBufferUndoCallback (bufferUndoCallbackWrapper cb)
+    connectSignalFunPtr obj "undo" cb' after
+
+-- VVV Prop "can-redo"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+getBufferCanRedo :: (MonadIO m, BufferK o) => o -> m Bool
+getBufferCanRedo obj = liftIO $ getObjectPropertyBool obj "can-redo"
+
+data BufferCanRedoPropertyInfo
+instance AttrInfo BufferCanRedoPropertyInfo where
+    type AttrAllowedOps BufferCanRedoPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint BufferCanRedoPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint BufferCanRedoPropertyInfo = BufferK
+    type AttrGetType BufferCanRedoPropertyInfo = Bool
+    type AttrLabel BufferCanRedoPropertyInfo = "can-redo"
+    attrGet _ = getBufferCanRedo
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "can-undo"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+getBufferCanUndo :: (MonadIO m, BufferK o) => o -> m Bool
+getBufferCanUndo obj = liftIO $ getObjectPropertyBool obj "can-undo"
+
+data BufferCanUndoPropertyInfo
+instance AttrInfo BufferCanUndoPropertyInfo where
+    type AttrAllowedOps BufferCanUndoPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint BufferCanUndoPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint BufferCanUndoPropertyInfo = BufferK
+    type AttrGetType BufferCanUndoPropertyInfo = Bool
+    type AttrLabel BufferCanUndoPropertyInfo = "can-undo"
+    attrGet _ = getBufferCanUndo
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "highlight-matching-brackets"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getBufferHighlightMatchingBrackets :: (MonadIO m, BufferK o) => o -> m Bool
+getBufferHighlightMatchingBrackets obj = liftIO $ getObjectPropertyBool obj "highlight-matching-brackets"
+
+setBufferHighlightMatchingBrackets :: (MonadIO m, BufferK o) => o -> Bool -> m ()
+setBufferHighlightMatchingBrackets obj val = liftIO $ setObjectPropertyBool obj "highlight-matching-brackets" val
+
+constructBufferHighlightMatchingBrackets :: Bool -> IO ([Char], GValue)
+constructBufferHighlightMatchingBrackets val = constructObjectPropertyBool "highlight-matching-brackets" val
+
+data BufferHighlightMatchingBracketsPropertyInfo
+instance AttrInfo BufferHighlightMatchingBracketsPropertyInfo where
+    type AttrAllowedOps BufferHighlightMatchingBracketsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BufferHighlightMatchingBracketsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint BufferHighlightMatchingBracketsPropertyInfo = BufferK
+    type AttrGetType BufferHighlightMatchingBracketsPropertyInfo = Bool
+    type AttrLabel BufferHighlightMatchingBracketsPropertyInfo = "highlight-matching-brackets"
+    attrGet _ = getBufferHighlightMatchingBrackets
+    attrSet _ = setBufferHighlightMatchingBrackets
+    attrConstruct _ = constructBufferHighlightMatchingBrackets
+    attrClear _ = undefined
+
+-- VVV Prop "highlight-syntax"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getBufferHighlightSyntax :: (MonadIO m, BufferK o) => o -> m Bool
+getBufferHighlightSyntax obj = liftIO $ getObjectPropertyBool obj "highlight-syntax"
+
+setBufferHighlightSyntax :: (MonadIO m, BufferK o) => o -> Bool -> m ()
+setBufferHighlightSyntax obj val = liftIO $ setObjectPropertyBool obj "highlight-syntax" val
+
+constructBufferHighlightSyntax :: Bool -> IO ([Char], GValue)
+constructBufferHighlightSyntax val = constructObjectPropertyBool "highlight-syntax" val
+
+data BufferHighlightSyntaxPropertyInfo
+instance AttrInfo BufferHighlightSyntaxPropertyInfo where
+    type AttrAllowedOps BufferHighlightSyntaxPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BufferHighlightSyntaxPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint BufferHighlightSyntaxPropertyInfo = BufferK
+    type AttrGetType BufferHighlightSyntaxPropertyInfo = Bool
+    type AttrLabel BufferHighlightSyntaxPropertyInfo = "highlight-syntax"
+    attrGet _ = getBufferHighlightSyntax
+    attrSet _ = setBufferHighlightSyntax
+    attrConstruct _ = constructBufferHighlightSyntax
+    attrClear _ = undefined
+
+-- VVV Prop "implicit-trailing-newline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getBufferImplicitTrailingNewline :: (MonadIO m, BufferK o) => o -> m Bool
+getBufferImplicitTrailingNewline obj = liftIO $ getObjectPropertyBool obj "implicit-trailing-newline"
+
+setBufferImplicitTrailingNewline :: (MonadIO m, BufferK o) => o -> Bool -> m ()
+setBufferImplicitTrailingNewline obj val = liftIO $ setObjectPropertyBool obj "implicit-trailing-newline" val
+
+constructBufferImplicitTrailingNewline :: Bool -> IO ([Char], GValue)
+constructBufferImplicitTrailingNewline val = constructObjectPropertyBool "implicit-trailing-newline" val
+
+data BufferImplicitTrailingNewlinePropertyInfo
+instance AttrInfo BufferImplicitTrailingNewlinePropertyInfo where
+    type AttrAllowedOps BufferImplicitTrailingNewlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BufferImplicitTrailingNewlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint BufferImplicitTrailingNewlinePropertyInfo = BufferK
+    type AttrGetType BufferImplicitTrailingNewlinePropertyInfo = Bool
+    type AttrLabel BufferImplicitTrailingNewlinePropertyInfo = "implicit-trailing-newline"
+    attrGet _ = getBufferImplicitTrailingNewline
+    attrSet _ = setBufferImplicitTrailingNewline
+    attrConstruct _ = constructBufferImplicitTrailingNewline
+    attrClear _ = undefined
+
+-- VVV Prop "language"
+   -- Type: TInterface "GtkSource" "Language"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+getBufferLanguage :: (MonadIO m, BufferK o) => o -> m (Maybe Language)
+getBufferLanguage obj = liftIO $ getObjectPropertyObject obj "language" Language
+
+setBufferLanguage :: (MonadIO m, BufferK o, LanguageK a) => o -> a -> m ()
+setBufferLanguage obj val = liftIO $ setObjectPropertyObject obj "language" (Just val)
+
+constructBufferLanguage :: (LanguageK a) => a -> IO ([Char], GValue)
+constructBufferLanguage val = constructObjectPropertyObject "language" (Just val)
+
+clearBufferLanguage :: (MonadIO m, BufferK o) => o -> m ()
+clearBufferLanguage obj = liftIO $ setObjectPropertyObject obj "language" (Nothing :: Maybe Language)
+
+data BufferLanguagePropertyInfo
+instance AttrInfo BufferLanguagePropertyInfo where
+    type AttrAllowedOps BufferLanguagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BufferLanguagePropertyInfo = LanguageK
+    type AttrBaseTypeConstraint BufferLanguagePropertyInfo = BufferK
+    type AttrGetType BufferLanguagePropertyInfo = (Maybe Language)
+    type AttrLabel BufferLanguagePropertyInfo = "language"
+    attrGet _ = getBufferLanguage
+    attrSet _ = setBufferLanguage
+    attrConstruct _ = constructBufferLanguage
+    attrClear _ = clearBufferLanguage
+
+-- VVV Prop "max-undo-levels"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getBufferMaxUndoLevels :: (MonadIO m, BufferK o) => o -> m Int32
+getBufferMaxUndoLevels obj = liftIO $ getObjectPropertyInt32 obj "max-undo-levels"
+
+setBufferMaxUndoLevels :: (MonadIO m, BufferK o) => o -> Int32 -> m ()
+setBufferMaxUndoLevels obj val = liftIO $ setObjectPropertyInt32 obj "max-undo-levels" val
+
+constructBufferMaxUndoLevels :: Int32 -> IO ([Char], GValue)
+constructBufferMaxUndoLevels val = constructObjectPropertyInt32 "max-undo-levels" val
+
+data BufferMaxUndoLevelsPropertyInfo
+instance AttrInfo BufferMaxUndoLevelsPropertyInfo where
+    type AttrAllowedOps BufferMaxUndoLevelsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BufferMaxUndoLevelsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint BufferMaxUndoLevelsPropertyInfo = BufferK
+    type AttrGetType BufferMaxUndoLevelsPropertyInfo = Int32
+    type AttrLabel BufferMaxUndoLevelsPropertyInfo = "max-undo-levels"
+    attrGet _ = getBufferMaxUndoLevels
+    attrSet _ = setBufferMaxUndoLevels
+    attrConstruct _ = constructBufferMaxUndoLevels
+    attrClear _ = undefined
+
+-- VVV Prop "style-scheme"
+   -- Type: TInterface "GtkSource" "StyleScheme"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+getBufferStyleScheme :: (MonadIO m, BufferK o) => o -> m (Maybe StyleScheme)
+getBufferStyleScheme obj = liftIO $ getObjectPropertyObject obj "style-scheme" StyleScheme
+
+setBufferStyleScheme :: (MonadIO m, BufferK o, StyleSchemeK a) => o -> a -> m ()
+setBufferStyleScheme obj val = liftIO $ setObjectPropertyObject obj "style-scheme" (Just val)
+
+constructBufferStyleScheme :: (StyleSchemeK a) => a -> IO ([Char], GValue)
+constructBufferStyleScheme val = constructObjectPropertyObject "style-scheme" (Just val)
+
+clearBufferStyleScheme :: (MonadIO m, BufferK o) => o -> m ()
+clearBufferStyleScheme obj = liftIO $ setObjectPropertyObject obj "style-scheme" (Nothing :: Maybe StyleScheme)
+
+data BufferStyleSchemePropertyInfo
+instance AttrInfo BufferStyleSchemePropertyInfo where
+    type AttrAllowedOps BufferStyleSchemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BufferStyleSchemePropertyInfo = StyleSchemeK
+    type AttrBaseTypeConstraint BufferStyleSchemePropertyInfo = BufferK
+    type AttrGetType BufferStyleSchemePropertyInfo = (Maybe StyleScheme)
+    type AttrLabel BufferStyleSchemePropertyInfo = "style-scheme"
+    attrGet _ = getBufferStyleScheme
+    attrSet _ = setBufferStyleScheme
+    attrConstruct _ = constructBufferStyleScheme
+    attrClear _ = clearBufferStyleScheme
+
+-- VVV Prop "undo-manager"
+   -- Type: TInterface "GtkSource" "UndoManager"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+getBufferUndoManager :: (MonadIO m, BufferK o) => o -> m (Maybe UndoManager)
+getBufferUndoManager obj = liftIO $ getObjectPropertyObject obj "undo-manager" UndoManager
+
+setBufferUndoManager :: (MonadIO m, BufferK o, UndoManagerK a) => o -> a -> m ()
+setBufferUndoManager obj val = liftIO $ setObjectPropertyObject obj "undo-manager" (Just val)
+
+constructBufferUndoManager :: (UndoManagerK a) => a -> IO ([Char], GValue)
+constructBufferUndoManager val = constructObjectPropertyObject "undo-manager" (Just val)
+
+clearBufferUndoManager :: (MonadIO m, BufferK o) => o -> m ()
+clearBufferUndoManager obj = liftIO $ setObjectPropertyObject obj "undo-manager" (Nothing :: Maybe UndoManager)
+
+data BufferUndoManagerPropertyInfo
+instance AttrInfo BufferUndoManagerPropertyInfo where
+    type AttrAllowedOps BufferUndoManagerPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BufferUndoManagerPropertyInfo = UndoManagerK
+    type AttrBaseTypeConstraint BufferUndoManagerPropertyInfo = BufferK
+    type AttrGetType BufferUndoManagerPropertyInfo = (Maybe UndoManager)
+    type AttrLabel BufferUndoManagerPropertyInfo = "undo-manager"
+    attrGet _ = getBufferUndoManager
+    attrSet _ = setBufferUndoManager
+    attrConstruct _ = constructBufferUndoManager
+    attrClear _ = clearBufferUndoManager
+
+type instance AttributeList Buffer = BufferAttributeList
+type BufferAttributeList = ('[ '("canRedo", BufferCanRedoPropertyInfo), '("canUndo", BufferCanUndoPropertyInfo), '("copyTargetList", Gtk.TextBufferCopyTargetListPropertyInfo), '("cursorPosition", Gtk.TextBufferCursorPositionPropertyInfo), '("hasSelection", Gtk.TextBufferHasSelectionPropertyInfo), '("highlightMatchingBrackets", BufferHighlightMatchingBracketsPropertyInfo), '("highlightSyntax", BufferHighlightSyntaxPropertyInfo), '("implicitTrailingNewline", BufferImplicitTrailingNewlinePropertyInfo), '("language", BufferLanguagePropertyInfo), '("maxUndoLevels", BufferMaxUndoLevelsPropertyInfo), '("pasteTargetList", Gtk.TextBufferPasteTargetListPropertyInfo), '("styleScheme", BufferStyleSchemePropertyInfo), '("tagTable", Gtk.TextBufferTagTablePropertyInfo), '("text", Gtk.TextBufferTextPropertyInfo), '("undoManager", BufferUndoManagerPropertyInfo)] :: [(Symbol, *)])
+
+bufferHighlightMatchingBrackets :: AttrLabelProxy "highlightMatchingBrackets"
+bufferHighlightMatchingBrackets = AttrLabelProxy
+
+bufferHighlightSyntax :: AttrLabelProxy "highlightSyntax"
+bufferHighlightSyntax = AttrLabelProxy
+
+bufferImplicitTrailingNewline :: AttrLabelProxy "implicitTrailingNewline"
+bufferImplicitTrailingNewline = AttrLabelProxy
+
+bufferLanguage :: AttrLabelProxy "language"
+bufferLanguage = AttrLabelProxy
+
+bufferMaxUndoLevels :: AttrLabelProxy "maxUndoLevels"
+bufferMaxUndoLevels = AttrLabelProxy
+
+bufferStyleScheme :: AttrLabelProxy "styleScheme"
+bufferStyleScheme = AttrLabelProxy
+
+bufferUndoManager :: AttrLabelProxy "undoManager"
+bufferUndoManager = AttrLabelProxy
+
+data BufferBracketMatchedSignalInfo
+instance SignalInfo BufferBracketMatchedSignalInfo where
+    type HaskellCallbackType BufferBracketMatchedSignalInfo = BufferBracketMatchedCallback
+    connectSignal _ = connectBufferBracketMatched
+
+data BufferHighlightUpdatedSignalInfo
+instance SignalInfo BufferHighlightUpdatedSignalInfo where
+    type HaskellCallbackType BufferHighlightUpdatedSignalInfo = BufferHighlightUpdatedCallback
+    connectSignal _ = connectBufferHighlightUpdated
+
+data BufferRedoSignalInfo
+instance SignalInfo BufferRedoSignalInfo where
+    type HaskellCallbackType BufferRedoSignalInfo = BufferRedoCallback
+    connectSignal _ = connectBufferRedo
+
+data BufferSourceMarkUpdatedSignalInfo
+instance SignalInfo BufferSourceMarkUpdatedSignalInfo where
+    type HaskellCallbackType BufferSourceMarkUpdatedSignalInfo = BufferSourceMarkUpdatedCallback
+    connectSignal _ = connectBufferSourceMarkUpdated
+
+data BufferUndoSignalInfo
+instance SignalInfo BufferUndoSignalInfo where
+    type HaskellCallbackType BufferUndoSignalInfo = BufferUndoCallback
+    connectSignal _ = connectBufferUndo
+
+type instance SignalList Buffer = BufferSignalList
+type BufferSignalList = ('[ '("applyTag", Gtk.TextBufferApplyTagSignalInfo), '("beginUserAction", Gtk.TextBufferBeginUserActionSignalInfo), '("bracketMatched", BufferBracketMatchedSignalInfo), '("changed", Gtk.TextBufferChangedSignalInfo), '("deleteRange", Gtk.TextBufferDeleteRangeSignalInfo), '("endUserAction", Gtk.TextBufferEndUserActionSignalInfo), '("highlightUpdated", BufferHighlightUpdatedSignalInfo), '("insertChildAnchor", Gtk.TextBufferInsertChildAnchorSignalInfo), '("insertPixbuf", Gtk.TextBufferInsertPixbufSignalInfo), '("insertText", Gtk.TextBufferInsertTextSignalInfo), '("markDeleted", Gtk.TextBufferMarkDeletedSignalInfo), '("markSet", Gtk.TextBufferMarkSetSignalInfo), '("modifiedChanged", Gtk.TextBufferModifiedChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("pasteDone", Gtk.TextBufferPasteDoneSignalInfo), '("redo", BufferRedoSignalInfo), '("removeTag", Gtk.TextBufferRemoveTagSignalInfo), '("sourceMarkUpdated", BufferSourceMarkUpdatedSignalInfo), '("undo", BufferUndoSignalInfo)] :: [(Symbol, *)])
+
+-- method Buffer::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "table", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Buffer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_new" gtk_source_buffer_new :: 
+    Ptr Gtk.TextTagTable ->                 -- table : TInterface "Gtk" "TextTagTable"
+    IO (Ptr Buffer)
+
+
+bufferNew ::
+    (MonadIO m, Gtk.TextTagTableK a) =>
+    Maybe (a)                               -- table
+    -> m Buffer                             -- result
+bufferNew table = liftIO $ do
+    maybeTable <- case table of
+        Nothing -> return nullPtr
+        Just jTable -> do
+            let jTable' = unsafeManagedPtrCastPtr jTable
+            return jTable'
+    result <- gtk_source_buffer_new maybeTable
+    checkUnexpectedReturnNULL "gtk_source_buffer_new" result
+    result' <- (wrapObject Buffer) result
+    whenJust table touchManagedPtr
+    return result'
+
+-- method Buffer::new_with_language
+-- method type : Constructor
+-- Args : [Arg {argCName = "language", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Buffer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_new_with_language" gtk_source_buffer_new_with_language :: 
+    Ptr Language ->                         -- language : TInterface "GtkSource" "Language"
+    IO (Ptr Buffer)
+
+
+bufferNewWithLanguage ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- language
+    -> m Buffer                             -- result
+bufferNewWithLanguage language = liftIO $ do
+    let language' = unsafeManagedPtrCastPtr language
+    result <- gtk_source_buffer_new_with_language language'
+    checkUnexpectedReturnNULL "gtk_source_buffer_new_with_language" result
+    result' <- (wrapObject Buffer) result
+    touchManagedPtr language
+    return result'
+
+-- method Buffer::backward_iter_to_source_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_backward_iter_to_source_mark" gtk_source_buffer_backward_iter_to_source_mark :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    CString ->                              -- category : TBasicType TUTF8
+    IO CInt
+
+
+bufferBackwardIterToSourceMark ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Maybe (T.Text)                       -- category
+    -> m Bool                               -- result
+bufferBackwardIterToSourceMark _obj iter category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    maybeCategory <- case category of
+        Nothing -> return nullPtr
+        Just jCategory -> do
+            jCategory' <- textToCString jCategory
+            return jCategory'
+    result <- gtk_source_buffer_backward_iter_to_source_mark _obj' iter' maybeCategory
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    freeMem maybeCategory
+    return result'
+
+data BufferBackwardIterToSourceMarkMethodInfo
+instance (signature ~ (Gtk.TextIter -> Maybe (T.Text) -> m Bool), MonadIO m, BufferK a) => MethodInfo BufferBackwardIterToSourceMarkMethodInfo a signature where
+    overloadedMethod _ = bufferBackwardIterToSourceMark
+
+-- method Buffer::begin_not_undoable_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_begin_not_undoable_action" gtk_source_buffer_begin_not_undoable_action :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO ()
+
+
+bufferBeginNotUndoableAction ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+bufferBeginNotUndoableAction _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_buffer_begin_not_undoable_action _obj'
+    touchManagedPtr _obj
+    return ()
+
+data BufferBeginNotUndoableActionMethodInfo
+instance (signature ~ (m ()), MonadIO m, BufferK a) => MethodInfo BufferBeginNotUndoableActionMethodInfo a signature where
+    overloadedMethod _ = bufferBeginNotUndoableAction
+
+-- method Buffer::can_redo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_can_redo" gtk_source_buffer_can_redo :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO CInt
+
+
+bufferCanRedo ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+bufferCanRedo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_can_redo _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data BufferCanRedoMethodInfo
+instance (signature ~ (m Bool), MonadIO m, BufferK a) => MethodInfo BufferCanRedoMethodInfo a signature where
+    overloadedMethod _ = bufferCanRedo
+
+-- method Buffer::can_undo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_can_undo" gtk_source_buffer_can_undo :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO CInt
+
+
+bufferCanUndo ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+bufferCanUndo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_can_undo _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data BufferCanUndoMethodInfo
+instance (signature ~ (m Bool), MonadIO m, BufferK a) => MethodInfo BufferCanUndoMethodInfo a signature where
+    overloadedMethod _ = bufferCanUndo
+
+-- method Buffer::change_case
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "case_type", argType = TInterface "GtkSource" "ChangeCaseType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_change_case" gtk_source_buffer_change_case :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    CUInt ->                                -- case_type : TInterface "GtkSource" "ChangeCaseType"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+bufferChangeCase ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> ChangeCaseType                       -- caseType
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> m ()                                 -- result
+bufferChangeCase _obj caseType start end = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let caseType' = (fromIntegral . fromEnum) caseType
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    gtk_source_buffer_change_case _obj' caseType' start' end'
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data BufferChangeCaseMethodInfo
+instance (signature ~ (ChangeCaseType -> Gtk.TextIter -> Gtk.TextIter -> m ()), MonadIO m, BufferK a) => MethodInfo BufferChangeCaseMethodInfo a signature where
+    overloadedMethod _ = bufferChangeCase
+
+-- method Buffer::create_source_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Mark")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_create_source_mark" gtk_source_buffer_create_source_mark :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- category : TBasicType TUTF8
+    Ptr Gtk.TextIter ->                     -- where : TInterface "Gtk" "TextIter"
+    IO (Ptr Mark)
+
+
+bufferCreateSourceMark ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- name
+    -> T.Text                               -- category
+    -> Gtk.TextIter                         -- where_
+    -> m Mark                               -- result
+bufferCreateSourceMark _obj name category where_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    category' <- textToCString category
+    let where_' = unsafeManagedPtrGetPtr where_
+    result <- gtk_source_buffer_create_source_mark _obj' maybeName category' where_'
+    checkUnexpectedReturnNULL "gtk_source_buffer_create_source_mark" result
+    result' <- (newObject Mark) result
+    touchManagedPtr _obj
+    touchManagedPtr where_
+    freeMem maybeName
+    freeMem category'
+    return result'
+
+data BufferCreateSourceMarkMethodInfo
+instance (signature ~ (Maybe (T.Text) -> T.Text -> Gtk.TextIter -> m Mark), MonadIO m, BufferK a) => MethodInfo BufferCreateSourceMarkMethodInfo a signature where
+    overloadedMethod _ = bufferCreateSourceMark
+
+-- method Buffer::end_not_undoable_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_end_not_undoable_action" gtk_source_buffer_end_not_undoable_action :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO ()
+
+
+bufferEndNotUndoableAction ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+bufferEndNotUndoableAction _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_buffer_end_not_undoable_action _obj'
+    touchManagedPtr _obj
+    return ()
+
+data BufferEndNotUndoableActionMethodInfo
+instance (signature ~ (m ()), MonadIO m, BufferK a) => MethodInfo BufferEndNotUndoableActionMethodInfo a signature where
+    overloadedMethod _ = bufferEndNotUndoableAction
+
+-- method Buffer::ensure_highlight
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_ensure_highlight" gtk_source_buffer_ensure_highlight :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+bufferEnsureHighlight ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> m ()                                 -- result
+bufferEnsureHighlight _obj start end = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    gtk_source_buffer_ensure_highlight _obj' start' end'
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data BufferEnsureHighlightMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> m ()), MonadIO m, BufferK a) => MethodInfo BufferEnsureHighlightMethodInfo a signature where
+    overloadedMethod _ = bufferEnsureHighlight
+
+-- method Buffer::forward_iter_to_source_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_forward_iter_to_source_mark" gtk_source_buffer_forward_iter_to_source_mark :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    CString ->                              -- category : TBasicType TUTF8
+    IO CInt
+
+
+bufferForwardIterToSourceMark ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Maybe (T.Text)                       -- category
+    -> m Bool                               -- result
+bufferForwardIterToSourceMark _obj iter category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    maybeCategory <- case category of
+        Nothing -> return nullPtr
+        Just jCategory -> do
+            jCategory' <- textToCString jCategory
+            return jCategory'
+    result <- gtk_source_buffer_forward_iter_to_source_mark _obj' iter' maybeCategory
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    freeMem maybeCategory
+    return result'
+
+data BufferForwardIterToSourceMarkMethodInfo
+instance (signature ~ (Gtk.TextIter -> Maybe (T.Text) -> m Bool), MonadIO m, BufferK a) => MethodInfo BufferForwardIterToSourceMarkMethodInfo a signature where
+    overloadedMethod _ = bufferForwardIterToSourceMark
+
+-- method Buffer::get_context_classes_at_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_context_classes_at_iter" gtk_source_buffer_get_context_classes_at_iter :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO (Ptr CString)
+
+
+bufferGetContextClassesAtIter ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> m [T.Text]                           -- result
+bufferGetContextClassesAtIter _obj iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    result <- gtk_source_buffer_get_context_classes_at_iter _obj' iter'
+    checkUnexpectedReturnNULL "gtk_source_buffer_get_context_classes_at_iter" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    return result'
+
+data BufferGetContextClassesAtIterMethodInfo
+instance (signature ~ (Gtk.TextIter -> m [T.Text]), MonadIO m, BufferK a) => MethodInfo BufferGetContextClassesAtIterMethodInfo a signature where
+    overloadedMethod _ = bufferGetContextClassesAtIter
+
+-- method Buffer::get_highlight_matching_brackets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_highlight_matching_brackets" gtk_source_buffer_get_highlight_matching_brackets :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO CInt
+
+
+bufferGetHighlightMatchingBrackets ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+bufferGetHighlightMatchingBrackets _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_highlight_matching_brackets _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data BufferGetHighlightMatchingBracketsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, BufferK a) => MethodInfo BufferGetHighlightMatchingBracketsMethodInfo a signature where
+    overloadedMethod _ = bufferGetHighlightMatchingBrackets
+
+-- method Buffer::get_highlight_syntax
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_highlight_syntax" gtk_source_buffer_get_highlight_syntax :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO CInt
+
+
+bufferGetHighlightSyntax ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+bufferGetHighlightSyntax _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_highlight_syntax _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data BufferGetHighlightSyntaxMethodInfo
+instance (signature ~ (m Bool), MonadIO m, BufferK a) => MethodInfo BufferGetHighlightSyntaxMethodInfo a signature where
+    overloadedMethod _ = bufferGetHighlightSyntax
+
+-- method Buffer::get_implicit_trailing_newline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_implicit_trailing_newline" gtk_source_buffer_get_implicit_trailing_newline :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO CInt
+
+
+bufferGetImplicitTrailingNewline ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+bufferGetImplicitTrailingNewline _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_implicit_trailing_newline _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data BufferGetImplicitTrailingNewlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, BufferK a) => MethodInfo BufferGetImplicitTrailingNewlineMethodInfo a signature where
+    overloadedMethod _ = bufferGetImplicitTrailingNewline
+
+-- method Buffer::get_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Language")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_language" gtk_source_buffer_get_language :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO (Ptr Language)
+
+
+bufferGetLanguage ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m (Maybe Language)                   -- result
+bufferGetLanguage _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_language _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Language) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data BufferGetLanguageMethodInfo
+instance (signature ~ (m (Maybe Language)), MonadIO m, BufferK a) => MethodInfo BufferGetLanguageMethodInfo a signature where
+    overloadedMethod _ = bufferGetLanguage
+
+-- method Buffer::get_max_undo_levels
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_max_undo_levels" gtk_source_buffer_get_max_undo_levels :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO Int32
+
+
+bufferGetMaxUndoLevels ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+bufferGetMaxUndoLevels _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_max_undo_levels _obj'
+    touchManagedPtr _obj
+    return result
+
+data BufferGetMaxUndoLevelsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, BufferK a) => MethodInfo BufferGetMaxUndoLevelsMethodInfo a signature where
+    overloadedMethod _ = bufferGetMaxUndoLevels
+
+-- method Buffer::get_source_marks_at_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface "GtkSource" "Mark"))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_source_marks_at_iter" gtk_source_buffer_get_source_marks_at_iter :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    CString ->                              -- category : TBasicType TUTF8
+    IO (Ptr (GSList (Ptr Mark)))
+
+
+bufferGetSourceMarksAtIter ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Maybe (T.Text)                       -- category
+    -> m [Mark]                             -- result
+bufferGetSourceMarksAtIter _obj iter category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    maybeCategory <- case category of
+        Nothing -> return nullPtr
+        Just jCategory -> do
+            jCategory' <- textToCString jCategory
+            return jCategory'
+    result <- gtk_source_buffer_get_source_marks_at_iter _obj' iter' maybeCategory
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Mark) result'
+    g_slist_free result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    freeMem maybeCategory
+    return result''
+
+data BufferGetSourceMarksAtIterMethodInfo
+instance (signature ~ (Gtk.TextIter -> Maybe (T.Text) -> m [Mark]), MonadIO m, BufferK a) => MethodInfo BufferGetSourceMarksAtIterMethodInfo a signature where
+    overloadedMethod _ = bufferGetSourceMarksAtIter
+
+-- method Buffer::get_source_marks_at_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface "GtkSource" "Mark"))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_source_marks_at_line" gtk_source_buffer_get_source_marks_at_line :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Int32 ->                                -- line : TBasicType TInt
+    CString ->                              -- category : TBasicType TUTF8
+    IO (Ptr (GSList (Ptr Mark)))
+
+
+bufferGetSourceMarksAtLine ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Int32                                -- line
+    -> Maybe (T.Text)                       -- category
+    -> m [Mark]                             -- result
+bufferGetSourceMarksAtLine _obj line category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCategory <- case category of
+        Nothing -> return nullPtr
+        Just jCategory -> do
+            jCategory' <- textToCString jCategory
+            return jCategory'
+    result <- gtk_source_buffer_get_source_marks_at_line _obj' line maybeCategory
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Mark) result'
+    g_slist_free result
+    touchManagedPtr _obj
+    freeMem maybeCategory
+    return result''
+
+data BufferGetSourceMarksAtLineMethodInfo
+instance (signature ~ (Int32 -> Maybe (T.Text) -> m [Mark]), MonadIO m, BufferK a) => MethodInfo BufferGetSourceMarksAtLineMethodInfo a signature where
+    overloadedMethod _ = bufferGetSourceMarksAtLine
+
+-- method Buffer::get_style_scheme
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleScheme")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_style_scheme" gtk_source_buffer_get_style_scheme :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO (Ptr StyleScheme)
+
+
+bufferGetStyleScheme ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m (Maybe StyleScheme)                -- result
+bufferGetStyleScheme _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_style_scheme _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject StyleScheme) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data BufferGetStyleSchemeMethodInfo
+instance (signature ~ (m (Maybe StyleScheme)), MonadIO m, BufferK a) => MethodInfo BufferGetStyleSchemeMethodInfo a signature where
+    overloadedMethod _ = bufferGetStyleScheme
+
+-- method Buffer::get_undo_manager
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "UndoManager")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_get_undo_manager" gtk_source_buffer_get_undo_manager :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO (Ptr UndoManager)
+
+
+bufferGetUndoManager ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m (Maybe UndoManager)                -- result
+bufferGetUndoManager _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_buffer_get_undo_manager _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject UndoManager) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data BufferGetUndoManagerMethodInfo
+instance (signature ~ (m (Maybe UndoManager)), MonadIO m, BufferK a) => MethodInfo BufferGetUndoManagerMethodInfo a signature where
+    overloadedMethod _ = bufferGetUndoManager
+
+-- method Buffer::iter_backward_to_context_class_toggle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "context_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_iter_backward_to_context_class_toggle" gtk_source_buffer_iter_backward_to_context_class_toggle :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    CString ->                              -- context_class : TBasicType TUTF8
+    IO CInt
+
+
+bufferIterBackwardToContextClassToggle ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> T.Text                               -- contextClass
+    -> m (Bool,Gtk.TextIter)                -- result
+bufferIterBackwardToContextClassToggle _obj iter contextClass = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    iter' <- copyBoxed iter
+    iter'' <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    memcpy iter'' iter' 80
+    contextClass' <- textToCString contextClass
+    result <- gtk_source_buffer_iter_backward_to_context_class_toggle _obj' iter'' contextClass'
+    let result' = (/= 0) result
+    iter''' <- (wrapBoxed Gtk.TextIter) iter''
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    freeMem contextClass'
+    return (result', iter''')
+
+data BufferIterBackwardToContextClassToggleMethodInfo
+instance (signature ~ (Gtk.TextIter -> T.Text -> m (Bool,Gtk.TextIter)), MonadIO m, BufferK a) => MethodInfo BufferIterBackwardToContextClassToggleMethodInfo a signature where
+    overloadedMethod _ = bufferIterBackwardToContextClassToggle
+
+-- method Buffer::iter_forward_to_context_class_toggle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "context_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_iter_forward_to_context_class_toggle" gtk_source_buffer_iter_forward_to_context_class_toggle :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    CString ->                              -- context_class : TBasicType TUTF8
+    IO CInt
+
+
+bufferIterForwardToContextClassToggle ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> T.Text                               -- contextClass
+    -> m (Bool,Gtk.TextIter)                -- result
+bufferIterForwardToContextClassToggle _obj iter contextClass = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    iter' <- copyBoxed iter
+    iter'' <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    memcpy iter'' iter' 80
+    contextClass' <- textToCString contextClass
+    result <- gtk_source_buffer_iter_forward_to_context_class_toggle _obj' iter'' contextClass'
+    let result' = (/= 0) result
+    iter''' <- (wrapBoxed Gtk.TextIter) iter''
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    freeMem contextClass'
+    return (result', iter''')
+
+data BufferIterForwardToContextClassToggleMethodInfo
+instance (signature ~ (Gtk.TextIter -> T.Text -> m (Bool,Gtk.TextIter)), MonadIO m, BufferK a) => MethodInfo BufferIterForwardToContextClassToggleMethodInfo a signature where
+    overloadedMethod _ = bufferIterForwardToContextClassToggle
+
+-- method Buffer::iter_has_context_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_iter_has_context_class" gtk_source_buffer_iter_has_context_class :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    CString ->                              -- context_class : TBasicType TUTF8
+    IO CInt
+
+
+bufferIterHasContextClass ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> T.Text                               -- contextClass
+    -> m Bool                               -- result
+bufferIterHasContextClass _obj iter contextClass = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    contextClass' <- textToCString contextClass
+    result <- gtk_source_buffer_iter_has_context_class _obj' iter' contextClass'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    freeMem contextClass'
+    return result'
+
+data BufferIterHasContextClassMethodInfo
+instance (signature ~ (Gtk.TextIter -> T.Text -> m Bool), MonadIO m, BufferK a) => MethodInfo BufferIterHasContextClassMethodInfo a signature where
+    overloadedMethod _ = bufferIterHasContextClass
+
+-- method Buffer::join_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_join_lines" gtk_source_buffer_join_lines :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+bufferJoinLines ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> m ()                                 -- result
+bufferJoinLines _obj start end = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    gtk_source_buffer_join_lines _obj' start' end'
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data BufferJoinLinesMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> m ()), MonadIO m, BufferK a) => MethodInfo BufferJoinLinesMethodInfo a signature where
+    overloadedMethod _ = bufferJoinLines
+
+-- method Buffer::redo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_redo" gtk_source_buffer_redo :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO ()
+
+
+bufferRedo ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+bufferRedo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_buffer_redo _obj'
+    touchManagedPtr _obj
+    return ()
+
+data BufferRedoMethodInfo
+instance (signature ~ (m ()), MonadIO m, BufferK a) => MethodInfo BufferRedoMethodInfo a signature where
+    overloadedMethod _ = bufferRedo
+
+-- method Buffer::remove_source_marks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_remove_source_marks" gtk_source_buffer_remove_source_marks :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    CString ->                              -- category : TBasicType TUTF8
+    IO ()
+
+
+bufferRemoveSourceMarks ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> Maybe (T.Text)                       -- category
+    -> m ()                                 -- result
+bufferRemoveSourceMarks _obj start end category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    maybeCategory <- case category of
+        Nothing -> return nullPtr
+        Just jCategory -> do
+            jCategory' <- textToCString jCategory
+            return jCategory'
+    gtk_source_buffer_remove_source_marks _obj' start' end' maybeCategory
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    freeMem maybeCategory
+    return ()
+
+data BufferRemoveSourceMarksMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> Maybe (T.Text) -> m ()), MonadIO m, BufferK a) => MethodInfo BufferRemoveSourceMarksMethodInfo a signature where
+    overloadedMethod _ = bufferRemoveSourceMarks
+
+-- method Buffer::set_highlight_matching_brackets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_highlight_matching_brackets" gtk_source_buffer_set_highlight_matching_brackets :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    CInt ->                                 -- highlight : TBasicType TBoolean
+    IO ()
+
+
+bufferSetHighlightMatchingBrackets ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- highlight
+    -> m ()                                 -- result
+bufferSetHighlightMatchingBrackets _obj highlight = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let highlight' = (fromIntegral . fromEnum) highlight
+    gtk_source_buffer_set_highlight_matching_brackets _obj' highlight'
+    touchManagedPtr _obj
+    return ()
+
+data BufferSetHighlightMatchingBracketsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, BufferK a) => MethodInfo BufferSetHighlightMatchingBracketsMethodInfo a signature where
+    overloadedMethod _ = bufferSetHighlightMatchingBrackets
+
+-- method Buffer::set_highlight_syntax
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_highlight_syntax" gtk_source_buffer_set_highlight_syntax :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    CInt ->                                 -- highlight : TBasicType TBoolean
+    IO ()
+
+
+bufferSetHighlightSyntax ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- highlight
+    -> m ()                                 -- result
+bufferSetHighlightSyntax _obj highlight = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let highlight' = (fromIntegral . fromEnum) highlight
+    gtk_source_buffer_set_highlight_syntax _obj' highlight'
+    touchManagedPtr _obj
+    return ()
+
+data BufferSetHighlightSyntaxMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, BufferK a) => MethodInfo BufferSetHighlightSyntaxMethodInfo a signature where
+    overloadedMethod _ = bufferSetHighlightSyntax
+
+-- method Buffer::set_implicit_trailing_newline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "implicit_trailing_newline", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_implicit_trailing_newline" gtk_source_buffer_set_implicit_trailing_newline :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    CInt ->                                 -- implicit_trailing_newline : TBasicType TBoolean
+    IO ()
+
+
+bufferSetImplicitTrailingNewline ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- implicitTrailingNewline
+    -> m ()                                 -- result
+bufferSetImplicitTrailingNewline _obj implicitTrailingNewline = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let implicitTrailingNewline' = (fromIntegral . fromEnum) implicitTrailingNewline
+    gtk_source_buffer_set_implicit_trailing_newline _obj' implicitTrailingNewline'
+    touchManagedPtr _obj
+    return ()
+
+data BufferSetImplicitTrailingNewlineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, BufferK a) => MethodInfo BufferSetImplicitTrailingNewlineMethodInfo a signature where
+    overloadedMethod _ = bufferSetImplicitTrailingNewline
+
+-- method Buffer::set_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_language" gtk_source_buffer_set_language :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Language ->                         -- language : TInterface "GtkSource" "Language"
+    IO ()
+
+
+bufferSetLanguage ::
+    (MonadIO m, BufferK a, LanguageK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- language
+    -> m ()                                 -- result
+bufferSetLanguage _obj language = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeLanguage <- case language of
+        Nothing -> return nullPtr
+        Just jLanguage -> do
+            let jLanguage' = unsafeManagedPtrCastPtr jLanguage
+            return jLanguage'
+    gtk_source_buffer_set_language _obj' maybeLanguage
+    touchManagedPtr _obj
+    whenJust language touchManagedPtr
+    return ()
+
+data BufferSetLanguageMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, BufferK a, LanguageK b) => MethodInfo BufferSetLanguageMethodInfo a signature where
+    overloadedMethod _ = bufferSetLanguage
+
+-- method Buffer::set_max_undo_levels
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_undo_levels", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_max_undo_levels" gtk_source_buffer_set_max_undo_levels :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Int32 ->                                -- max_undo_levels : TBasicType TInt
+    IO ()
+
+
+bufferSetMaxUndoLevels ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Int32                                -- maxUndoLevels
+    -> m ()                                 -- result
+bufferSetMaxUndoLevels _obj maxUndoLevels = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_buffer_set_max_undo_levels _obj' maxUndoLevels
+    touchManagedPtr _obj
+    return ()
+
+data BufferSetMaxUndoLevelsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, BufferK a) => MethodInfo BufferSetMaxUndoLevelsMethodInfo a signature where
+    overloadedMethod _ = bufferSetMaxUndoLevels
+
+-- method Buffer::set_style_scheme
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_style_scheme" gtk_source_buffer_set_style_scheme :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr StyleScheme ->                      -- scheme : TInterface "GtkSource" "StyleScheme"
+    IO ()
+
+
+bufferSetStyleScheme ::
+    (MonadIO m, BufferK a, StyleSchemeK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- scheme
+    -> m ()                                 -- result
+bufferSetStyleScheme _obj scheme = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeScheme <- case scheme of
+        Nothing -> return nullPtr
+        Just jScheme -> do
+            let jScheme' = unsafeManagedPtrCastPtr jScheme
+            return jScheme'
+    gtk_source_buffer_set_style_scheme _obj' maybeScheme
+    touchManagedPtr _obj
+    whenJust scheme touchManagedPtr
+    return ()
+
+data BufferSetStyleSchemeMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, BufferK a, StyleSchemeK b) => MethodInfo BufferSetStyleSchemeMethodInfo a signature where
+    overloadedMethod _ = bufferSetStyleScheme
+
+-- method Buffer::set_undo_manager
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "manager", argType = TInterface "GtkSource" "UndoManager", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_set_undo_manager" gtk_source_buffer_set_undo_manager :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr UndoManager ->                      -- manager : TInterface "GtkSource" "UndoManager"
+    IO ()
+
+
+bufferSetUndoManager ::
+    (MonadIO m, BufferK a, UndoManagerK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- manager
+    -> m ()                                 -- result
+bufferSetUndoManager _obj manager = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeManager <- case manager of
+        Nothing -> return nullPtr
+        Just jManager -> do
+            let jManager' = unsafeManagedPtrCastPtr jManager
+            return jManager'
+    gtk_source_buffer_set_undo_manager _obj' maybeManager
+    touchManagedPtr _obj
+    whenJust manager touchManagedPtr
+    return ()
+
+data BufferSetUndoManagerMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, BufferK a, UndoManagerK b) => MethodInfo BufferSetUndoManagerMethodInfo a signature where
+    overloadedMethod _ = bufferSetUndoManager
+
+-- method Buffer::sort_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GtkSource" "SortFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_sort_lines" gtk_source_buffer_sort_lines :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    CUInt ->                                -- flags : TInterface "GtkSource" "SortFlags"
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+
+bufferSortLines ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> [SortFlags]                          -- flags
+    -> Int32                                -- column
+    -> m ()                                 -- result
+bufferSortLines _obj start end flags column = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    let flags' = gflagsToWord flags
+    gtk_source_buffer_sort_lines _obj' start' end' flags' column
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data BufferSortLinesMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> [SortFlags] -> Int32 -> m ()), MonadIO m, BufferK a) => MethodInfo BufferSortLinesMethodInfo a signature where
+    overloadedMethod _ = bufferSortLines
+
+-- method Buffer::undo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_buffer_undo" gtk_source_buffer_undo :: 
+    Ptr Buffer ->                           -- _obj : TInterface "GtkSource" "Buffer"
+    IO ()
+
+
+bufferUndo ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+bufferUndo _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_buffer_undo _obj'
+    touchManagedPtr _obj
+    return ()
+
+data BufferUndoMethodInfo
+instance (signature ~ (m ()), MonadIO m, BufferK a) => MethodInfo BufferUndoMethodInfo a signature where
+    overloadedMethod _ = bufferUndo
+
+
diff --git a/GI/GtkSource/Objects/Buffer.hs-boot b/GI/GtkSource/Objects/Buffer.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Buffer.hs-boot
@@ -0,0 +1,61 @@
+module GI.GtkSource.Objects.Buffer where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Buffer = Buffer (ForeignPtr Buffer)
+instance GObject Buffer where
+class GObject o => BufferK o
+instance (GObject o, IsDescendantOf Buffer o) => BufferK o
+data BufferCanRedoPropertyInfo
+data BufferCanUndoPropertyInfo
+data BufferHighlightMatchingBracketsPropertyInfo
+data BufferHighlightSyntaxPropertyInfo
+data BufferImplicitTrailingNewlinePropertyInfo
+data BufferLanguagePropertyInfo
+data BufferMaxUndoLevelsPropertyInfo
+data BufferStyleSchemePropertyInfo
+data BufferUndoManagerPropertyInfo
+data BufferBracketMatchedSignalInfo
+data BufferHighlightUpdatedSignalInfo
+data BufferRedoSignalInfo
+data BufferSourceMarkUpdatedSignalInfo
+data BufferUndoSignalInfo
+data BufferBackwardIterToSourceMarkMethodInfo
+data BufferBeginNotUndoableActionMethodInfo
+data BufferCanRedoMethodInfo
+data BufferCanUndoMethodInfo
+data BufferChangeCaseMethodInfo
+data BufferCreateSourceMarkMethodInfo
+data BufferEndNotUndoableActionMethodInfo
+data BufferEnsureHighlightMethodInfo
+data BufferForwardIterToSourceMarkMethodInfo
+data BufferGetContextClassesAtIterMethodInfo
+data BufferGetHighlightMatchingBracketsMethodInfo
+data BufferGetHighlightSyntaxMethodInfo
+data BufferGetImplicitTrailingNewlineMethodInfo
+data BufferGetLanguageMethodInfo
+data BufferGetMaxUndoLevelsMethodInfo
+data BufferGetSourceMarksAtIterMethodInfo
+data BufferGetSourceMarksAtLineMethodInfo
+data BufferGetStyleSchemeMethodInfo
+data BufferGetUndoManagerMethodInfo
+data BufferIterBackwardToContextClassToggleMethodInfo
+data BufferIterForwardToContextClassToggleMethodInfo
+data BufferIterHasContextClassMethodInfo
+data BufferJoinLinesMethodInfo
+data BufferRedoMethodInfo
+data BufferRemoveSourceMarksMethodInfo
+data BufferSetHighlightMatchingBracketsMethodInfo
+data BufferSetHighlightSyntaxMethodInfo
+data BufferSetImplicitTrailingNewlineMethodInfo
+data BufferSetLanguageMethodInfo
+data BufferSetMaxUndoLevelsMethodInfo
+data BufferSetStyleSchemeMethodInfo
+data BufferSetUndoManagerMethodInfo
+data BufferSortLinesMethodInfo
+data BufferUndoMethodInfo
diff --git a/GI/GtkSource/Objects/Completion.hs b/GI/GtkSource/Objects/Completion.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Completion.hs
@@ -0,0 +1,1202 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Completion
+    ( 
+
+-- * Exported types
+    Completion(..)                          ,
+    CompletionK                             ,
+    toCompletion                            ,
+    noCompletion                            ,
+
+
+ -- * Methods
+-- ** completionAddProvider
+    CompletionAddProviderMethodInfo         ,
+    completionAddProvider                   ,
+
+
+-- ** completionBlockInteractive
+    CompletionBlockInteractiveMethodInfo    ,
+    completionBlockInteractive              ,
+
+
+-- ** completionCreateContext
+    CompletionCreateContextMethodInfo       ,
+    completionCreateContext                 ,
+
+
+-- ** completionGetInfoWindow
+    CompletionGetInfoWindowMethodInfo       ,
+    completionGetInfoWindow                 ,
+
+
+-- ** completionGetProviders
+    CompletionGetProvidersMethodInfo        ,
+    completionGetProviders                  ,
+
+
+-- ** completionGetView
+    CompletionGetViewMethodInfo             ,
+    completionGetView                       ,
+
+
+-- ** completionHide
+    CompletionHideMethodInfo                ,
+    completionHide                          ,
+
+
+-- ** completionMoveWindow
+    CompletionMoveWindowMethodInfo          ,
+    completionMoveWindow                    ,
+
+
+-- ** completionRemoveProvider
+    CompletionRemoveProviderMethodInfo      ,
+    completionRemoveProvider                ,
+
+
+-- ** completionShow
+    CompletionShowMethodInfo                ,
+    completionShow                          ,
+
+
+-- ** completionUnblockInteractive
+    CompletionUnblockInteractiveMethodInfo  ,
+    completionUnblockInteractive            ,
+
+
+
+
+ -- * Properties
+-- ** Accelerators
+    CompletionAcceleratorsPropertyInfo      ,
+    completionAccelerators                  ,
+    constructCompletionAccelerators         ,
+    getCompletionAccelerators               ,
+    setCompletionAccelerators               ,
+
+
+-- ** AutoCompleteDelay
+    CompletionAutoCompleteDelayPropertyInfo ,
+    completionAutoCompleteDelay             ,
+    constructCompletionAutoCompleteDelay    ,
+    getCompletionAutoCompleteDelay          ,
+    setCompletionAutoCompleteDelay          ,
+
+
+-- ** ProposalPageSize
+    CompletionProposalPageSizePropertyInfo  ,
+    completionProposalPageSize              ,
+    constructCompletionProposalPageSize     ,
+    getCompletionProposalPageSize           ,
+    setCompletionProposalPageSize           ,
+
+
+-- ** ProviderPageSize
+    CompletionProviderPageSizePropertyInfo  ,
+    completionProviderPageSize              ,
+    constructCompletionProviderPageSize     ,
+    getCompletionProviderPageSize           ,
+    setCompletionProviderPageSize           ,
+
+
+-- ** RememberInfoVisibility
+    CompletionRememberInfoVisibilityPropertyInfo,
+    completionRememberInfoVisibility        ,
+    constructCompletionRememberInfoVisibility,
+    getCompletionRememberInfoVisibility     ,
+    setCompletionRememberInfoVisibility     ,
+
+
+-- ** SelectOnShow
+    CompletionSelectOnShowPropertyInfo      ,
+    completionSelectOnShow                  ,
+    constructCompletionSelectOnShow         ,
+    getCompletionSelectOnShow               ,
+    setCompletionSelectOnShow               ,
+
+
+-- ** ShowHeaders
+    CompletionShowHeadersPropertyInfo       ,
+    completionShowHeaders                   ,
+    constructCompletionShowHeaders          ,
+    getCompletionShowHeaders                ,
+    setCompletionShowHeaders                ,
+
+
+-- ** ShowIcons
+    CompletionShowIconsPropertyInfo         ,
+    completionShowIcons                     ,
+    constructCompletionShowIcons            ,
+    getCompletionShowIcons                  ,
+    setCompletionShowIcons                  ,
+
+
+-- ** View
+    CompletionViewPropertyInfo              ,
+    completionView                          ,
+    constructCompletionView                 ,
+    getCompletionView                       ,
+
+
+
+
+ -- * Signals
+-- ** ActivateProposal
+    CompletionActivateProposalCallback      ,
+    CompletionActivateProposalCallbackC     ,
+    CompletionActivateProposalSignalInfo    ,
+    afterCompletionActivateProposal         ,
+    completionActivateProposalCallbackWrapper,
+    completionActivateProposalClosure       ,
+    mkCompletionActivateProposalCallback    ,
+    noCompletionActivateProposalCallback    ,
+    onCompletionActivateProposal            ,
+
+
+-- ** Hide
+    CompletionHideCallback                  ,
+    CompletionHideCallbackC                 ,
+    CompletionHideSignalInfo                ,
+    afterCompletionHide                     ,
+    completionHideCallbackWrapper           ,
+    completionHideClosure                   ,
+    mkCompletionHideCallback                ,
+    noCompletionHideCallback                ,
+    onCompletionHide                        ,
+
+
+-- ** MoveCursor
+    CompletionMoveCursorCallback            ,
+    CompletionMoveCursorCallbackC           ,
+    CompletionMoveCursorSignalInfo          ,
+    afterCompletionMoveCursor               ,
+    completionMoveCursorCallbackWrapper     ,
+    completionMoveCursorClosure             ,
+    mkCompletionMoveCursorCallback          ,
+    noCompletionMoveCursorCallback          ,
+    onCompletionMoveCursor                  ,
+
+
+-- ** MovePage
+    CompletionMovePageCallback              ,
+    CompletionMovePageCallbackC             ,
+    CompletionMovePageSignalInfo            ,
+    afterCompletionMovePage                 ,
+    completionMovePageCallbackWrapper       ,
+    completionMovePageClosure               ,
+    mkCompletionMovePageCallback            ,
+    noCompletionMovePageCallback            ,
+    onCompletionMovePage                    ,
+
+
+-- ** PopulateContext
+    CompletionPopulateContextCallback       ,
+    CompletionPopulateContextCallbackC      ,
+    CompletionPopulateContextSignalInfo     ,
+    afterCompletionPopulateContext          ,
+    completionPopulateContextCallbackWrapper,
+    completionPopulateContextClosure        ,
+    mkCompletionPopulateContextCallback     ,
+    noCompletionPopulateContextCallback     ,
+    onCompletionPopulateContext             ,
+
+
+-- ** Show
+    CompletionShowCallback                  ,
+    CompletionShowCallbackC                 ,
+    CompletionShowSignalInfo                ,
+    afterCompletionShow                     ,
+    completionShowCallbackWrapper           ,
+    completionShowClosure                   ,
+    mkCompletionShowCallback                ,
+    noCompletionShowCallback                ,
+    onCompletionShow                        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype Completion = Completion (ForeignPtr Completion)
+foreign import ccall "gtk_source_completion_get_type"
+    c_gtk_source_completion_get_type :: IO GType
+
+type instance ParentTypes Completion = CompletionParentTypes
+type CompletionParentTypes = '[GObject.Object, Gtk.Buildable]
+
+instance GObject Completion where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_completion_get_type
+    
+
+class GObject o => CompletionK o
+instance (GObject o, IsDescendantOf Completion o) => CompletionK o
+
+toCompletion :: CompletionK o => o -> IO Completion
+toCompletion = unsafeCastTo Completion
+
+noCompletion :: Maybe Completion
+noCompletion = Nothing
+
+type family ResolveCompletionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveCompletionMethod "addProvider" o = CompletionAddProviderMethodInfo
+    ResolveCompletionMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionMethod "blockInteractive" o = CompletionBlockInteractiveMethodInfo
+    ResolveCompletionMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveCompletionMethod "createContext" o = CompletionCreateContextMethodInfo
+    ResolveCompletionMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveCompletionMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveCompletionMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveCompletionMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionMethod "hide" o = CompletionHideMethodInfo
+    ResolveCompletionMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionMethod "moveWindow" o = CompletionMoveWindowMethodInfo
+    ResolveCompletionMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveCompletionMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionMethod "removeProvider" o = CompletionRemoveProviderMethodInfo
+    ResolveCompletionMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionMethod "show" o = CompletionShowMethodInfo
+    ResolveCompletionMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionMethod "unblockInteractive" o = CompletionUnblockInteractiveMethodInfo
+    ResolveCompletionMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionMethod "getInfoWindow" o = CompletionGetInfoWindowMethodInfo
+    ResolveCompletionMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveCompletionMethod "getName" o = Gtk.BuildableGetNameMethodInfo
+    ResolveCompletionMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionMethod "getProviders" o = CompletionGetProvidersMethodInfo
+    ResolveCompletionMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionMethod "getView" o = CompletionGetViewMethodInfo
+    ResolveCompletionMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveCompletionMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionMethod "setName" o = Gtk.BuildableSetNameMethodInfo
+    ResolveCompletionMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionMethod t Completion, MethodInfo info Completion p) => IsLabelProxy t (Completion -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionMethod t Completion, MethodInfo info Completion p) => IsLabel t (Completion -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal Completion::activate-proposal
+type CompletionActivateProposalCallback =
+    IO ()
+
+noCompletionActivateProposalCallback :: Maybe CompletionActivateProposalCallback
+noCompletionActivateProposalCallback = Nothing
+
+type CompletionActivateProposalCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionActivateProposalCallback :: CompletionActivateProposalCallbackC -> IO (FunPtr CompletionActivateProposalCallbackC)
+
+completionActivateProposalClosure :: CompletionActivateProposalCallback -> IO Closure
+completionActivateProposalClosure cb = newCClosure =<< mkCompletionActivateProposalCallback wrapped
+    where wrapped = completionActivateProposalCallbackWrapper cb
+
+completionActivateProposalCallbackWrapper ::
+    CompletionActivateProposalCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+completionActivateProposalCallbackWrapper _cb _ _ = do
+    _cb 
+
+onCompletionActivateProposal :: (GObject a, MonadIO m) => a -> CompletionActivateProposalCallback -> m SignalHandlerId
+onCompletionActivateProposal obj cb = liftIO $ connectCompletionActivateProposal obj cb SignalConnectBefore
+afterCompletionActivateProposal :: (GObject a, MonadIO m) => a -> CompletionActivateProposalCallback -> m SignalHandlerId
+afterCompletionActivateProposal obj cb = connectCompletionActivateProposal obj cb SignalConnectAfter
+
+connectCompletionActivateProposal :: (GObject a, MonadIO m) =>
+                                     a -> CompletionActivateProposalCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionActivateProposal obj cb after = liftIO $ do
+    cb' <- mkCompletionActivateProposalCallback (completionActivateProposalCallbackWrapper cb)
+    connectSignalFunPtr obj "activate-proposal" cb' after
+
+-- signal Completion::hide
+type CompletionHideCallback =
+    IO ()
+
+noCompletionHideCallback :: Maybe CompletionHideCallback
+noCompletionHideCallback = Nothing
+
+type CompletionHideCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionHideCallback :: CompletionHideCallbackC -> IO (FunPtr CompletionHideCallbackC)
+
+completionHideClosure :: CompletionHideCallback -> IO Closure
+completionHideClosure cb = newCClosure =<< mkCompletionHideCallback wrapped
+    where wrapped = completionHideCallbackWrapper cb
+
+completionHideCallbackWrapper ::
+    CompletionHideCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+completionHideCallbackWrapper _cb _ _ = do
+    _cb 
+
+onCompletionHide :: (GObject a, MonadIO m) => a -> CompletionHideCallback -> m SignalHandlerId
+onCompletionHide obj cb = liftIO $ connectCompletionHide obj cb SignalConnectBefore
+afterCompletionHide :: (GObject a, MonadIO m) => a -> CompletionHideCallback -> m SignalHandlerId
+afterCompletionHide obj cb = connectCompletionHide obj cb SignalConnectAfter
+
+connectCompletionHide :: (GObject a, MonadIO m) =>
+                         a -> CompletionHideCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionHide obj cb after = liftIO $ do
+    cb' <- mkCompletionHideCallback (completionHideCallbackWrapper cb)
+    connectSignalFunPtr obj "hide" cb' after
+
+-- signal Completion::move-cursor
+type CompletionMoveCursorCallback =
+    Gtk.ScrollStep ->
+    Int32 ->
+    IO ()
+
+noCompletionMoveCursorCallback :: Maybe CompletionMoveCursorCallback
+noCompletionMoveCursorCallback = Nothing
+
+type CompletionMoveCursorCallbackC =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionMoveCursorCallback :: CompletionMoveCursorCallbackC -> IO (FunPtr CompletionMoveCursorCallbackC)
+
+completionMoveCursorClosure :: CompletionMoveCursorCallback -> IO Closure
+completionMoveCursorClosure cb = newCClosure =<< mkCompletionMoveCursorCallback wrapped
+    where wrapped = completionMoveCursorCallbackWrapper cb
+
+completionMoveCursorCallbackWrapper ::
+    CompletionMoveCursorCallback ->
+    Ptr () ->
+    CUInt ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+completionMoveCursorCallbackWrapper _cb _ step num _ = do
+    let step' = (toEnum . fromIntegral) step
+    _cb  step' num
+
+onCompletionMoveCursor :: (GObject a, MonadIO m) => a -> CompletionMoveCursorCallback -> m SignalHandlerId
+onCompletionMoveCursor obj cb = liftIO $ connectCompletionMoveCursor obj cb SignalConnectBefore
+afterCompletionMoveCursor :: (GObject a, MonadIO m) => a -> CompletionMoveCursorCallback -> m SignalHandlerId
+afterCompletionMoveCursor obj cb = connectCompletionMoveCursor obj cb SignalConnectAfter
+
+connectCompletionMoveCursor :: (GObject a, MonadIO m) =>
+                               a -> CompletionMoveCursorCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionMoveCursor obj cb after = liftIO $ do
+    cb' <- mkCompletionMoveCursorCallback (completionMoveCursorCallbackWrapper cb)
+    connectSignalFunPtr obj "move-cursor" cb' after
+
+-- signal Completion::move-page
+type CompletionMovePageCallback =
+    Gtk.ScrollStep ->
+    Int32 ->
+    IO ()
+
+noCompletionMovePageCallback :: Maybe CompletionMovePageCallback
+noCompletionMovePageCallback = Nothing
+
+type CompletionMovePageCallbackC =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionMovePageCallback :: CompletionMovePageCallbackC -> IO (FunPtr CompletionMovePageCallbackC)
+
+completionMovePageClosure :: CompletionMovePageCallback -> IO Closure
+completionMovePageClosure cb = newCClosure =<< mkCompletionMovePageCallback wrapped
+    where wrapped = completionMovePageCallbackWrapper cb
+
+completionMovePageCallbackWrapper ::
+    CompletionMovePageCallback ->
+    Ptr () ->
+    CUInt ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+completionMovePageCallbackWrapper _cb _ step num _ = do
+    let step' = (toEnum . fromIntegral) step
+    _cb  step' num
+
+onCompletionMovePage :: (GObject a, MonadIO m) => a -> CompletionMovePageCallback -> m SignalHandlerId
+onCompletionMovePage obj cb = liftIO $ connectCompletionMovePage obj cb SignalConnectBefore
+afterCompletionMovePage :: (GObject a, MonadIO m) => a -> CompletionMovePageCallback -> m SignalHandlerId
+afterCompletionMovePage obj cb = connectCompletionMovePage obj cb SignalConnectAfter
+
+connectCompletionMovePage :: (GObject a, MonadIO m) =>
+                             a -> CompletionMovePageCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionMovePage obj cb after = liftIO $ do
+    cb' <- mkCompletionMovePageCallback (completionMovePageCallbackWrapper cb)
+    connectSignalFunPtr obj "move-page" cb' after
+
+-- signal Completion::populate-context
+type CompletionPopulateContextCallback =
+    CompletionContext ->
+    IO ()
+
+noCompletionPopulateContextCallback :: Maybe CompletionPopulateContextCallback
+noCompletionPopulateContextCallback = Nothing
+
+type CompletionPopulateContextCallbackC =
+    Ptr () ->                               -- object
+    Ptr CompletionContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionPopulateContextCallback :: CompletionPopulateContextCallbackC -> IO (FunPtr CompletionPopulateContextCallbackC)
+
+completionPopulateContextClosure :: CompletionPopulateContextCallback -> IO Closure
+completionPopulateContextClosure cb = newCClosure =<< mkCompletionPopulateContextCallback wrapped
+    where wrapped = completionPopulateContextCallbackWrapper cb
+
+completionPopulateContextCallbackWrapper ::
+    CompletionPopulateContextCallback ->
+    Ptr () ->
+    Ptr CompletionContext ->
+    Ptr () ->
+    IO ()
+completionPopulateContextCallbackWrapper _cb _ context _ = do
+    context' <- (newObject CompletionContext) context
+    _cb  context'
+
+onCompletionPopulateContext :: (GObject a, MonadIO m) => a -> CompletionPopulateContextCallback -> m SignalHandlerId
+onCompletionPopulateContext obj cb = liftIO $ connectCompletionPopulateContext obj cb SignalConnectBefore
+afterCompletionPopulateContext :: (GObject a, MonadIO m) => a -> CompletionPopulateContextCallback -> m SignalHandlerId
+afterCompletionPopulateContext obj cb = connectCompletionPopulateContext obj cb SignalConnectAfter
+
+connectCompletionPopulateContext :: (GObject a, MonadIO m) =>
+                                    a -> CompletionPopulateContextCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionPopulateContext obj cb after = liftIO $ do
+    cb' <- mkCompletionPopulateContextCallback (completionPopulateContextCallbackWrapper cb)
+    connectSignalFunPtr obj "populate-context" cb' after
+
+-- signal Completion::show
+type CompletionShowCallback =
+    IO ()
+
+noCompletionShowCallback :: Maybe CompletionShowCallback
+noCompletionShowCallback = Nothing
+
+type CompletionShowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionShowCallback :: CompletionShowCallbackC -> IO (FunPtr CompletionShowCallbackC)
+
+completionShowClosure :: CompletionShowCallback -> IO Closure
+completionShowClosure cb = newCClosure =<< mkCompletionShowCallback wrapped
+    where wrapped = completionShowCallbackWrapper cb
+
+completionShowCallbackWrapper ::
+    CompletionShowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+completionShowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onCompletionShow :: (GObject a, MonadIO m) => a -> CompletionShowCallback -> m SignalHandlerId
+onCompletionShow obj cb = liftIO $ connectCompletionShow obj cb SignalConnectBefore
+afterCompletionShow :: (GObject a, MonadIO m) => a -> CompletionShowCallback -> m SignalHandlerId
+afterCompletionShow obj cb = connectCompletionShow obj cb SignalConnectAfter
+
+connectCompletionShow :: (GObject a, MonadIO m) =>
+                         a -> CompletionShowCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionShow obj cb after = liftIO $ do
+    cb' <- mkCompletionShowCallback (completionShowCallbackWrapper cb)
+    connectSignalFunPtr obj "show" cb' after
+
+-- VVV Prop "accelerators"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionAccelerators :: (MonadIO m, CompletionK o) => o -> m Word32
+getCompletionAccelerators obj = liftIO $ getObjectPropertyUInt32 obj "accelerators"
+
+setCompletionAccelerators :: (MonadIO m, CompletionK o) => o -> Word32 -> m ()
+setCompletionAccelerators obj val = liftIO $ setObjectPropertyUInt32 obj "accelerators" val
+
+constructCompletionAccelerators :: Word32 -> IO ([Char], GValue)
+constructCompletionAccelerators val = constructObjectPropertyUInt32 "accelerators" val
+
+data CompletionAcceleratorsPropertyInfo
+instance AttrInfo CompletionAcceleratorsPropertyInfo where
+    type AttrAllowedOps CompletionAcceleratorsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionAcceleratorsPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionAcceleratorsPropertyInfo = CompletionK
+    type AttrGetType CompletionAcceleratorsPropertyInfo = Word32
+    type AttrLabel CompletionAcceleratorsPropertyInfo = "accelerators"
+    attrGet _ = getCompletionAccelerators
+    attrSet _ = setCompletionAccelerators
+    attrConstruct _ = constructCompletionAccelerators
+    attrClear _ = undefined
+
+-- VVV Prop "auto-complete-delay"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionAutoCompleteDelay :: (MonadIO m, CompletionK o) => o -> m Word32
+getCompletionAutoCompleteDelay obj = liftIO $ getObjectPropertyUInt32 obj "auto-complete-delay"
+
+setCompletionAutoCompleteDelay :: (MonadIO m, CompletionK o) => o -> Word32 -> m ()
+setCompletionAutoCompleteDelay obj val = liftIO $ setObjectPropertyUInt32 obj "auto-complete-delay" val
+
+constructCompletionAutoCompleteDelay :: Word32 -> IO ([Char], GValue)
+constructCompletionAutoCompleteDelay val = constructObjectPropertyUInt32 "auto-complete-delay" val
+
+data CompletionAutoCompleteDelayPropertyInfo
+instance AttrInfo CompletionAutoCompleteDelayPropertyInfo where
+    type AttrAllowedOps CompletionAutoCompleteDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionAutoCompleteDelayPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionAutoCompleteDelayPropertyInfo = CompletionK
+    type AttrGetType CompletionAutoCompleteDelayPropertyInfo = Word32
+    type AttrLabel CompletionAutoCompleteDelayPropertyInfo = "auto-complete-delay"
+    attrGet _ = getCompletionAutoCompleteDelay
+    attrSet _ = setCompletionAutoCompleteDelay
+    attrConstruct _ = constructCompletionAutoCompleteDelay
+    attrClear _ = undefined
+
+-- VVV Prop "proposal-page-size"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionProposalPageSize :: (MonadIO m, CompletionK o) => o -> m Word32
+getCompletionProposalPageSize obj = liftIO $ getObjectPropertyUInt32 obj "proposal-page-size"
+
+setCompletionProposalPageSize :: (MonadIO m, CompletionK o) => o -> Word32 -> m ()
+setCompletionProposalPageSize obj val = liftIO $ setObjectPropertyUInt32 obj "proposal-page-size" val
+
+constructCompletionProposalPageSize :: Word32 -> IO ([Char], GValue)
+constructCompletionProposalPageSize val = constructObjectPropertyUInt32 "proposal-page-size" val
+
+data CompletionProposalPageSizePropertyInfo
+instance AttrInfo CompletionProposalPageSizePropertyInfo where
+    type AttrAllowedOps CompletionProposalPageSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionProposalPageSizePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionProposalPageSizePropertyInfo = CompletionK
+    type AttrGetType CompletionProposalPageSizePropertyInfo = Word32
+    type AttrLabel CompletionProposalPageSizePropertyInfo = "proposal-page-size"
+    attrGet _ = getCompletionProposalPageSize
+    attrSet _ = setCompletionProposalPageSize
+    attrConstruct _ = constructCompletionProposalPageSize
+    attrClear _ = undefined
+
+-- VVV Prop "provider-page-size"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionProviderPageSize :: (MonadIO m, CompletionK o) => o -> m Word32
+getCompletionProviderPageSize obj = liftIO $ getObjectPropertyUInt32 obj "provider-page-size"
+
+setCompletionProviderPageSize :: (MonadIO m, CompletionK o) => o -> Word32 -> m ()
+setCompletionProviderPageSize obj val = liftIO $ setObjectPropertyUInt32 obj "provider-page-size" val
+
+constructCompletionProviderPageSize :: Word32 -> IO ([Char], GValue)
+constructCompletionProviderPageSize val = constructObjectPropertyUInt32 "provider-page-size" val
+
+data CompletionProviderPageSizePropertyInfo
+instance AttrInfo CompletionProviderPageSizePropertyInfo where
+    type AttrAllowedOps CompletionProviderPageSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionProviderPageSizePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionProviderPageSizePropertyInfo = CompletionK
+    type AttrGetType CompletionProviderPageSizePropertyInfo = Word32
+    type AttrLabel CompletionProviderPageSizePropertyInfo = "provider-page-size"
+    attrGet _ = getCompletionProviderPageSize
+    attrSet _ = setCompletionProviderPageSize
+    attrConstruct _ = constructCompletionProviderPageSize
+    attrClear _ = undefined
+
+-- VVV Prop "remember-info-visibility"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionRememberInfoVisibility :: (MonadIO m, CompletionK o) => o -> m Bool
+getCompletionRememberInfoVisibility obj = liftIO $ getObjectPropertyBool obj "remember-info-visibility"
+
+setCompletionRememberInfoVisibility :: (MonadIO m, CompletionK o) => o -> Bool -> m ()
+setCompletionRememberInfoVisibility obj val = liftIO $ setObjectPropertyBool obj "remember-info-visibility" val
+
+constructCompletionRememberInfoVisibility :: Bool -> IO ([Char], GValue)
+constructCompletionRememberInfoVisibility val = constructObjectPropertyBool "remember-info-visibility" val
+
+data CompletionRememberInfoVisibilityPropertyInfo
+instance AttrInfo CompletionRememberInfoVisibilityPropertyInfo where
+    type AttrAllowedOps CompletionRememberInfoVisibilityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionRememberInfoVisibilityPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CompletionRememberInfoVisibilityPropertyInfo = CompletionK
+    type AttrGetType CompletionRememberInfoVisibilityPropertyInfo = Bool
+    type AttrLabel CompletionRememberInfoVisibilityPropertyInfo = "remember-info-visibility"
+    attrGet _ = getCompletionRememberInfoVisibility
+    attrSet _ = setCompletionRememberInfoVisibility
+    attrConstruct _ = constructCompletionRememberInfoVisibility
+    attrClear _ = undefined
+
+-- VVV Prop "select-on-show"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionSelectOnShow :: (MonadIO m, CompletionK o) => o -> m Bool
+getCompletionSelectOnShow obj = liftIO $ getObjectPropertyBool obj "select-on-show"
+
+setCompletionSelectOnShow :: (MonadIO m, CompletionK o) => o -> Bool -> m ()
+setCompletionSelectOnShow obj val = liftIO $ setObjectPropertyBool obj "select-on-show" val
+
+constructCompletionSelectOnShow :: Bool -> IO ([Char], GValue)
+constructCompletionSelectOnShow val = constructObjectPropertyBool "select-on-show" val
+
+data CompletionSelectOnShowPropertyInfo
+instance AttrInfo CompletionSelectOnShowPropertyInfo where
+    type AttrAllowedOps CompletionSelectOnShowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionSelectOnShowPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CompletionSelectOnShowPropertyInfo = CompletionK
+    type AttrGetType CompletionSelectOnShowPropertyInfo = Bool
+    type AttrLabel CompletionSelectOnShowPropertyInfo = "select-on-show"
+    attrGet _ = getCompletionSelectOnShow
+    attrSet _ = setCompletionSelectOnShow
+    attrConstruct _ = constructCompletionSelectOnShow
+    attrClear _ = undefined
+
+-- VVV Prop "show-headers"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionShowHeaders :: (MonadIO m, CompletionK o) => o -> m Bool
+getCompletionShowHeaders obj = liftIO $ getObjectPropertyBool obj "show-headers"
+
+setCompletionShowHeaders :: (MonadIO m, CompletionK o) => o -> Bool -> m ()
+setCompletionShowHeaders obj val = liftIO $ setObjectPropertyBool obj "show-headers" val
+
+constructCompletionShowHeaders :: Bool -> IO ([Char], GValue)
+constructCompletionShowHeaders val = constructObjectPropertyBool "show-headers" val
+
+data CompletionShowHeadersPropertyInfo
+instance AttrInfo CompletionShowHeadersPropertyInfo where
+    type AttrAllowedOps CompletionShowHeadersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionShowHeadersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CompletionShowHeadersPropertyInfo = CompletionK
+    type AttrGetType CompletionShowHeadersPropertyInfo = Bool
+    type AttrLabel CompletionShowHeadersPropertyInfo = "show-headers"
+    attrGet _ = getCompletionShowHeaders
+    attrSet _ = setCompletionShowHeaders
+    attrConstruct _ = constructCompletionShowHeaders
+    attrClear _ = undefined
+
+-- VVV Prop "show-icons"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionShowIcons :: (MonadIO m, CompletionK o) => o -> m Bool
+getCompletionShowIcons obj = liftIO $ getObjectPropertyBool obj "show-icons"
+
+setCompletionShowIcons :: (MonadIO m, CompletionK o) => o -> Bool -> m ()
+setCompletionShowIcons obj val = liftIO $ setObjectPropertyBool obj "show-icons" val
+
+constructCompletionShowIcons :: Bool -> IO ([Char], GValue)
+constructCompletionShowIcons val = constructObjectPropertyBool "show-icons" val
+
+data CompletionShowIconsPropertyInfo
+instance AttrInfo CompletionShowIconsPropertyInfo where
+    type AttrAllowedOps CompletionShowIconsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionShowIconsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CompletionShowIconsPropertyInfo = CompletionK
+    type AttrGetType CompletionShowIconsPropertyInfo = Bool
+    type AttrLabel CompletionShowIconsPropertyInfo = "show-icons"
+    attrGet _ = getCompletionShowIcons
+    attrSet _ = setCompletionShowIcons
+    attrConstruct _ = constructCompletionShowIcons
+    attrClear _ = undefined
+
+-- VVV Prop "view"
+   -- Type: TInterface "GtkSource" "View"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just True,Nothing)
+
+getCompletionView :: (MonadIO m, CompletionK o) => o -> m (Maybe View)
+getCompletionView obj = liftIO $ getObjectPropertyObject obj "view" View
+
+constructCompletionView :: (ViewK a) => a -> IO ([Char], GValue)
+constructCompletionView val = constructObjectPropertyObject "view" (Just val)
+
+data CompletionViewPropertyInfo
+instance AttrInfo CompletionViewPropertyInfo where
+    type AttrAllowedOps CompletionViewPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionViewPropertyInfo = ViewK
+    type AttrBaseTypeConstraint CompletionViewPropertyInfo = CompletionK
+    type AttrGetType CompletionViewPropertyInfo = (Maybe View)
+    type AttrLabel CompletionViewPropertyInfo = "view"
+    attrGet _ = getCompletionView
+    attrSet _ = undefined
+    attrConstruct _ = constructCompletionView
+    attrClear _ = undefined
+
+type instance AttributeList Completion = CompletionAttributeList
+type CompletionAttributeList = ('[ '("accelerators", CompletionAcceleratorsPropertyInfo), '("autoCompleteDelay", CompletionAutoCompleteDelayPropertyInfo), '("proposalPageSize", CompletionProposalPageSizePropertyInfo), '("providerPageSize", CompletionProviderPageSizePropertyInfo), '("rememberInfoVisibility", CompletionRememberInfoVisibilityPropertyInfo), '("selectOnShow", CompletionSelectOnShowPropertyInfo), '("showHeaders", CompletionShowHeadersPropertyInfo), '("showIcons", CompletionShowIconsPropertyInfo), '("view", CompletionViewPropertyInfo)] :: [(Symbol, *)])
+
+completionAccelerators :: AttrLabelProxy "accelerators"
+completionAccelerators = AttrLabelProxy
+
+completionAutoCompleteDelay :: AttrLabelProxy "autoCompleteDelay"
+completionAutoCompleteDelay = AttrLabelProxy
+
+completionProposalPageSize :: AttrLabelProxy "proposalPageSize"
+completionProposalPageSize = AttrLabelProxy
+
+completionProviderPageSize :: AttrLabelProxy "providerPageSize"
+completionProviderPageSize = AttrLabelProxy
+
+completionRememberInfoVisibility :: AttrLabelProxy "rememberInfoVisibility"
+completionRememberInfoVisibility = AttrLabelProxy
+
+completionSelectOnShow :: AttrLabelProxy "selectOnShow"
+completionSelectOnShow = AttrLabelProxy
+
+completionShowHeaders :: AttrLabelProxy "showHeaders"
+completionShowHeaders = AttrLabelProxy
+
+completionShowIcons :: AttrLabelProxy "showIcons"
+completionShowIcons = AttrLabelProxy
+
+completionView :: AttrLabelProxy "view"
+completionView = AttrLabelProxy
+
+data CompletionActivateProposalSignalInfo
+instance SignalInfo CompletionActivateProposalSignalInfo where
+    type HaskellCallbackType CompletionActivateProposalSignalInfo = CompletionActivateProposalCallback
+    connectSignal _ = connectCompletionActivateProposal
+
+data CompletionHideSignalInfo
+instance SignalInfo CompletionHideSignalInfo where
+    type HaskellCallbackType CompletionHideSignalInfo = CompletionHideCallback
+    connectSignal _ = connectCompletionHide
+
+data CompletionMoveCursorSignalInfo
+instance SignalInfo CompletionMoveCursorSignalInfo where
+    type HaskellCallbackType CompletionMoveCursorSignalInfo = CompletionMoveCursorCallback
+    connectSignal _ = connectCompletionMoveCursor
+
+data CompletionMovePageSignalInfo
+instance SignalInfo CompletionMovePageSignalInfo where
+    type HaskellCallbackType CompletionMovePageSignalInfo = CompletionMovePageCallback
+    connectSignal _ = connectCompletionMovePage
+
+data CompletionPopulateContextSignalInfo
+instance SignalInfo CompletionPopulateContextSignalInfo where
+    type HaskellCallbackType CompletionPopulateContextSignalInfo = CompletionPopulateContextCallback
+    connectSignal _ = connectCompletionPopulateContext
+
+data CompletionShowSignalInfo
+instance SignalInfo CompletionShowSignalInfo where
+    type HaskellCallbackType CompletionShowSignalInfo = CompletionShowCallback
+    connectSignal _ = connectCompletionShow
+
+type instance SignalList Completion = CompletionSignalList
+type CompletionSignalList = ('[ '("activateProposal", CompletionActivateProposalSignalInfo), '("hide", CompletionHideSignalInfo), '("moveCursor", CompletionMoveCursorSignalInfo), '("movePage", CompletionMovePageSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("populateContext", CompletionPopulateContextSignalInfo), '("show", CompletionShowSignalInfo)] :: [(Symbol, *)])
+
+-- method Completion::add_provider
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_add_provider" gtk_source_completion_add_provider :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    Ptr CompletionProvider ->               -- provider : TInterface "GtkSource" "CompletionProvider"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+completionAddProvider ::
+    (MonadIO m, CompletionK a, CompletionProviderK b) =>
+    a                                       -- _obj
+    -> b                                    -- provider
+    -> m ()                                 -- result
+completionAddProvider _obj provider = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let provider' = unsafeManagedPtrCastPtr provider
+    onException (do
+        _ <- propagateGError $ gtk_source_completion_add_provider _obj' provider'
+        touchManagedPtr _obj
+        touchManagedPtr provider
+        return ()
+     ) (do
+        return ()
+     )
+
+data CompletionAddProviderMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, CompletionK a, CompletionProviderK b) => MethodInfo CompletionAddProviderMethodInfo a signature where
+    overloadedMethod _ = completionAddProvider
+
+-- method Completion::block_interactive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_block_interactive" gtk_source_completion_block_interactive :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    IO ()
+
+
+completionBlockInteractive ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+completionBlockInteractive _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_completion_block_interactive _obj'
+    touchManagedPtr _obj
+    return ()
+
+data CompletionBlockInteractiveMethodInfo
+instance (signature ~ (m ()), MonadIO m, CompletionK a) => MethodInfo CompletionBlockInteractiveMethodInfo a signature where
+    overloadedMethod _ = completionBlockInteractive
+
+-- method Completion::create_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionContext")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_create_context" gtk_source_completion_create_context :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    Ptr Gtk.TextIter ->                     -- position : TInterface "Gtk" "TextIter"
+    IO (Ptr CompletionContext)
+
+
+completionCreateContext ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> Maybe (Gtk.TextIter)                 -- position
+    -> m CompletionContext                  -- result
+completionCreateContext _obj position = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybePosition <- case position of
+        Nothing -> return nullPtr
+        Just jPosition -> do
+            let jPosition' = unsafeManagedPtrGetPtr jPosition
+            return jPosition'
+    result <- gtk_source_completion_create_context _obj' maybePosition
+    checkUnexpectedReturnNULL "gtk_source_completion_create_context" result
+    result' <- (newObject CompletionContext) result
+    touchManagedPtr _obj
+    whenJust position touchManagedPtr
+    return result'
+
+data CompletionCreateContextMethodInfo
+instance (signature ~ (Maybe (Gtk.TextIter) -> m CompletionContext), MonadIO m, CompletionK a) => MethodInfo CompletionCreateContextMethodInfo a signature where
+    overloadedMethod _ = completionCreateContext
+
+-- method Completion::get_info_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionInfo")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_get_info_window" gtk_source_completion_get_info_window :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    IO (Ptr CompletionInfo)
+
+
+completionGetInfoWindow ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> m CompletionInfo                     -- result
+completionGetInfoWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_get_info_window _obj'
+    checkUnexpectedReturnNULL "gtk_source_completion_get_info_window" result
+    result' <- (newObject CompletionInfo) result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionGetInfoWindowMethodInfo
+instance (signature ~ (m CompletionInfo), MonadIO m, CompletionK a) => MethodInfo CompletionGetInfoWindowMethodInfo a signature where
+    overloadedMethod _ = completionGetInfoWindow
+
+-- method Completion::get_providers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface "GtkSource" "CompletionProvider"))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_get_providers" gtk_source_completion_get_providers :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    IO (Ptr (GList (Ptr CompletionProvider)))
+
+
+completionGetProviders ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> m [CompletionProvider]               -- result
+completionGetProviders _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_get_providers _obj'
+    result' <- unpackGList result
+    result'' <- mapM (newObject CompletionProvider) result'
+    touchManagedPtr _obj
+    return result''
+
+data CompletionGetProvidersMethodInfo
+instance (signature ~ (m [CompletionProvider]), MonadIO m, CompletionK a) => MethodInfo CompletionGetProvidersMethodInfo a signature where
+    overloadedMethod _ = completionGetProviders
+
+-- method Completion::get_view
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "View")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_get_view" gtk_source_completion_get_view :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    IO (Ptr View)
+
+
+completionGetView ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> m (Maybe View)                       -- result
+completionGetView _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_get_view _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject View) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data CompletionGetViewMethodInfo
+instance (signature ~ (m (Maybe View)), MonadIO m, CompletionK a) => MethodInfo CompletionGetViewMethodInfo a signature where
+    overloadedMethod _ = completionGetView
+
+-- method Completion::hide
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_hide" gtk_source_completion_hide :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    IO ()
+
+
+completionHide ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+completionHide _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_completion_hide _obj'
+    touchManagedPtr _obj
+    return ()
+
+data CompletionHideMethodInfo
+instance (signature ~ (m ()), MonadIO m, CompletionK a) => MethodInfo CompletionHideMethodInfo a signature where
+    overloadedMethod _ = completionHide
+
+-- method Completion::move_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_move_window" gtk_source_completion_move_window :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO ()
+
+{-# DEPRECATED completionMoveWindow ["(Since version 3.8)","Use gtk_source_completion_provider_get_start_iter() instead."]#-}
+completionMoveWindow ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> m ()                                 -- result
+completionMoveWindow _obj iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    gtk_source_completion_move_window _obj' iter'
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    return ()
+
+data CompletionMoveWindowMethodInfo
+instance (signature ~ (Gtk.TextIter -> m ()), MonadIO m, CompletionK a) => MethodInfo CompletionMoveWindowMethodInfo a signature where
+    overloadedMethod _ = completionMoveWindow
+
+-- method Completion::remove_provider
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_remove_provider" gtk_source_completion_remove_provider :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    Ptr CompletionProvider ->               -- provider : TInterface "GtkSource" "CompletionProvider"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+completionRemoveProvider ::
+    (MonadIO m, CompletionK a, CompletionProviderK b) =>
+    a                                       -- _obj
+    -> b                                    -- provider
+    -> m ()                                 -- result
+completionRemoveProvider _obj provider = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let provider' = unsafeManagedPtrCastPtr provider
+    onException (do
+        _ <- propagateGError $ gtk_source_completion_remove_provider _obj' provider'
+        touchManagedPtr _obj
+        touchManagedPtr provider
+        return ()
+     ) (do
+        return ()
+     )
+
+data CompletionRemoveProviderMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, CompletionK a, CompletionProviderK b) => MethodInfo CompletionRemoveProviderMethodInfo a signature where
+    overloadedMethod _ = completionRemoveProvider
+
+-- method Completion::show
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "providers", argType = TGList (TInterface "GtkSource" "CompletionProvider"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_show" gtk_source_completion_show :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    Ptr (GList (Ptr CompletionProvider)) -> -- providers : TGList (TInterface "GtkSource" "CompletionProvider")
+    Ptr CompletionContext ->                -- context : TInterface "GtkSource" "CompletionContext"
+    IO CInt
+
+
+completionShow ::
+    (MonadIO m, CompletionK a, CompletionProviderK b, CompletionContextK c) =>
+    a                                       -- _obj
+    -> [b]                                  -- providers
+    -> c                                    -- context
+    -> m Bool                               -- result
+completionShow _obj providers context = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let providers' = map unsafeManagedPtrCastPtr providers
+    providers'' <- packGList providers'
+    let context' = unsafeManagedPtrCastPtr context
+    result <- gtk_source_completion_show _obj' providers'' context'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    mapM_ touchManagedPtr providers
+    touchManagedPtr context
+    g_list_free providers''
+    return result'
+
+data CompletionShowMethodInfo
+instance (signature ~ ([b] -> c -> m Bool), MonadIO m, CompletionK a, CompletionProviderK b, CompletionContextK c) => MethodInfo CompletionShowMethodInfo a signature where
+    overloadedMethod _ = completionShow
+
+-- method Completion::unblock_interactive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Completion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_unblock_interactive" gtk_source_completion_unblock_interactive :: 
+    Ptr Completion ->                       -- _obj : TInterface "GtkSource" "Completion"
+    IO ()
+
+
+completionUnblockInteractive ::
+    (MonadIO m, CompletionK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+completionUnblockInteractive _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_completion_unblock_interactive _obj'
+    touchManagedPtr _obj
+    return ()
+
+data CompletionUnblockInteractiveMethodInfo
+instance (signature ~ (m ()), MonadIO m, CompletionK a) => MethodInfo CompletionUnblockInteractiveMethodInfo a signature where
+    overloadedMethod _ = completionUnblockInteractive
+
+
diff --git a/GI/GtkSource/Objects/Completion.hs-boot b/GI/GtkSource/Objects/Completion.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Completion.hs-boot
@@ -0,0 +1,39 @@
+module GI.GtkSource.Objects.Completion where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Completion = Completion (ForeignPtr Completion)
+instance GObject Completion where
+class GObject o => CompletionK o
+instance (GObject o, IsDescendantOf Completion o) => CompletionK o
+data CompletionAcceleratorsPropertyInfo
+data CompletionAutoCompleteDelayPropertyInfo
+data CompletionProposalPageSizePropertyInfo
+data CompletionProviderPageSizePropertyInfo
+data CompletionRememberInfoVisibilityPropertyInfo
+data CompletionSelectOnShowPropertyInfo
+data CompletionShowHeadersPropertyInfo
+data CompletionShowIconsPropertyInfo
+data CompletionViewPropertyInfo
+data CompletionActivateProposalSignalInfo
+data CompletionHideSignalInfo
+data CompletionMoveCursorSignalInfo
+data CompletionMovePageSignalInfo
+data CompletionPopulateContextSignalInfo
+data CompletionShowSignalInfo
+data CompletionAddProviderMethodInfo
+data CompletionBlockInteractiveMethodInfo
+data CompletionCreateContextMethodInfo
+data CompletionGetInfoWindowMethodInfo
+data CompletionGetProvidersMethodInfo
+data CompletionGetViewMethodInfo
+data CompletionHideMethodInfo
+data CompletionMoveWindowMethodInfo
+data CompletionRemoveProviderMethodInfo
+data CompletionShowMethodInfo
+data CompletionUnblockInteractiveMethodInfo
diff --git a/GI/GtkSource/Objects/CompletionContext.hs b/GI/GtkSource/Objects/CompletionContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionContext.hs
@@ -0,0 +1,385 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.CompletionContext
+    ( 
+
+-- * Exported types
+    CompletionContext(..)                   ,
+    CompletionContextK                      ,
+    toCompletionContext                     ,
+    noCompletionContext                     ,
+
+
+ -- * Methods
+-- ** completionContextAddProposals
+    CompletionContextAddProposalsMethodInfo ,
+    completionContextAddProposals           ,
+
+
+-- ** completionContextGetActivation
+    CompletionContextGetActivationMethodInfo,
+    completionContextGetActivation          ,
+
+
+-- ** completionContextGetIter
+    CompletionContextGetIterMethodInfo      ,
+    completionContextGetIter                ,
+
+
+
+
+ -- * Properties
+-- ** Activation
+    CompletionContextActivationPropertyInfo ,
+    completionContextActivation             ,
+    constructCompletionContextActivation    ,
+    getCompletionContextActivation          ,
+    setCompletionContextActivation          ,
+
+
+-- ** Completion
+    CompletionContextCompletionPropertyInfo ,
+    completionContextCompletion             ,
+    constructCompletionContextCompletion    ,
+    getCompletionContextCompletion          ,
+
+
+-- ** Iter
+    CompletionContextIterPropertyInfo       ,
+    clearCompletionContextIter              ,
+    completionContextIter                   ,
+    constructCompletionContextIter          ,
+    getCompletionContextIter                ,
+    setCompletionContextIter                ,
+
+
+
+
+ -- * Signals
+-- ** Cancelled
+    CompletionContextCancelledCallback      ,
+    CompletionContextCancelledCallbackC     ,
+    CompletionContextCancelledSignalInfo    ,
+    afterCompletionContextCancelled         ,
+    completionContextCancelledCallbackWrapper,
+    completionContextCancelledClosure       ,
+    mkCompletionContextCancelledCallback    ,
+    noCompletionContextCancelledCallback    ,
+    onCompletionContextCancelled            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype CompletionContext = CompletionContext (ForeignPtr CompletionContext)
+foreign import ccall "gtk_source_completion_context_get_type"
+    c_gtk_source_completion_context_get_type :: IO GType
+
+type instance ParentTypes CompletionContext = CompletionContextParentTypes
+type CompletionContextParentTypes = '[GObject.Object]
+
+instance GObject CompletionContext where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_completion_context_get_type
+    
+
+class GObject o => CompletionContextK o
+instance (GObject o, IsDescendantOf CompletionContext o) => CompletionContextK o
+
+toCompletionContext :: CompletionContextK o => o -> IO CompletionContext
+toCompletionContext = unsafeCastTo CompletionContext
+
+noCompletionContext :: Maybe CompletionContext
+noCompletionContext = Nothing
+
+type family ResolveCompletionContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionContextMethod "addProposals" o = CompletionContextAddProposalsMethodInfo
+    ResolveCompletionContextMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionContextMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionContextMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionContextMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionContextMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionContextMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionContextMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionContextMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionContextMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionContextMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionContextMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionContextMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionContextMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionContextMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionContextMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionContextMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionContextMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionContextMethod "getActivation" o = CompletionContextGetActivationMethodInfo
+    ResolveCompletionContextMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionContextMethod "getIter" o = CompletionContextGetIterMethodInfo
+    ResolveCompletionContextMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionContextMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionContextMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionContextMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionContextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionContextMethod t CompletionContext, MethodInfo info CompletionContext p) => IsLabelProxy t (CompletionContext -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionContextMethod t CompletionContext, MethodInfo info CompletionContext p) => IsLabel t (CompletionContext -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal CompletionContext::cancelled
+type CompletionContextCancelledCallback =
+    IO ()
+
+noCompletionContextCancelledCallback :: Maybe CompletionContextCancelledCallback
+noCompletionContextCancelledCallback = Nothing
+
+type CompletionContextCancelledCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionContextCancelledCallback :: CompletionContextCancelledCallbackC -> IO (FunPtr CompletionContextCancelledCallbackC)
+
+completionContextCancelledClosure :: CompletionContextCancelledCallback -> IO Closure
+completionContextCancelledClosure cb = newCClosure =<< mkCompletionContextCancelledCallback wrapped
+    where wrapped = completionContextCancelledCallbackWrapper cb
+
+completionContextCancelledCallbackWrapper ::
+    CompletionContextCancelledCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+completionContextCancelledCallbackWrapper _cb _ _ = do
+    _cb 
+
+onCompletionContextCancelled :: (GObject a, MonadIO m) => a -> CompletionContextCancelledCallback -> m SignalHandlerId
+onCompletionContextCancelled obj cb = liftIO $ connectCompletionContextCancelled obj cb SignalConnectBefore
+afterCompletionContextCancelled :: (GObject a, MonadIO m) => a -> CompletionContextCancelledCallback -> m SignalHandlerId
+afterCompletionContextCancelled obj cb = connectCompletionContextCancelled obj cb SignalConnectAfter
+
+connectCompletionContextCancelled :: (GObject a, MonadIO m) =>
+                                     a -> CompletionContextCancelledCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionContextCancelled obj cb after = liftIO $ do
+    cb' <- mkCompletionContextCancelledCallback (completionContextCancelledCallbackWrapper cb)
+    connectSignalFunPtr obj "cancelled" cb' after
+
+-- VVV Prop "activation"
+   -- Type: TInterface "GtkSource" "CompletionActivation"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Nothing)
+
+getCompletionContextActivation :: (MonadIO m, CompletionContextK o) => o -> m [CompletionActivation]
+getCompletionContextActivation obj = liftIO $ getObjectPropertyFlags obj "activation"
+
+setCompletionContextActivation :: (MonadIO m, CompletionContextK o) => o -> [CompletionActivation] -> m ()
+setCompletionContextActivation obj val = liftIO $ setObjectPropertyFlags obj "activation" val
+
+constructCompletionContextActivation :: [CompletionActivation] -> IO ([Char], GValue)
+constructCompletionContextActivation val = constructObjectPropertyFlags "activation" val
+
+data CompletionContextActivationPropertyInfo
+instance AttrInfo CompletionContextActivationPropertyInfo where
+    type AttrAllowedOps CompletionContextActivationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionContextActivationPropertyInfo = (~) [CompletionActivation]
+    type AttrBaseTypeConstraint CompletionContextActivationPropertyInfo = CompletionContextK
+    type AttrGetType CompletionContextActivationPropertyInfo = [CompletionActivation]
+    type AttrLabel CompletionContextActivationPropertyInfo = "activation"
+    attrGet _ = getCompletionContextActivation
+    attrSet _ = setCompletionContextActivation
+    attrConstruct _ = constructCompletionContextActivation
+    attrClear _ = undefined
+
+-- VVV Prop "completion"
+   -- Type: TInterface "GtkSource" "Completion"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionContextCompletion :: (MonadIO m, CompletionContextK o) => o -> m (Maybe Completion)
+getCompletionContextCompletion obj = liftIO $ getObjectPropertyObject obj "completion" Completion
+
+constructCompletionContextCompletion :: (CompletionK a) => a -> IO ([Char], GValue)
+constructCompletionContextCompletion val = constructObjectPropertyObject "completion" (Just val)
+
+data CompletionContextCompletionPropertyInfo
+instance AttrInfo CompletionContextCompletionPropertyInfo where
+    type AttrAllowedOps CompletionContextCompletionPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionContextCompletionPropertyInfo = CompletionK
+    type AttrBaseTypeConstraint CompletionContextCompletionPropertyInfo = CompletionContextK
+    type AttrGetType CompletionContextCompletionPropertyInfo = (Maybe Completion)
+    type AttrLabel CompletionContextCompletionPropertyInfo = "completion"
+    attrGet _ = getCompletionContextCompletion
+    attrSet _ = undefined
+    attrConstruct _ = constructCompletionContextCompletion
+    attrClear _ = undefined
+
+-- VVV Prop "iter"
+   -- Type: TInterface "Gtk" "TextIter"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionContextIter :: (MonadIO m, CompletionContextK o) => o -> m (Maybe Gtk.TextIter)
+getCompletionContextIter obj = liftIO $ getObjectPropertyBoxed obj "iter" Gtk.TextIter
+
+setCompletionContextIter :: (MonadIO m, CompletionContextK o) => o -> Gtk.TextIter -> m ()
+setCompletionContextIter obj val = liftIO $ setObjectPropertyBoxed obj "iter" (Just val)
+
+constructCompletionContextIter :: Gtk.TextIter -> IO ([Char], GValue)
+constructCompletionContextIter val = constructObjectPropertyBoxed "iter" (Just val)
+
+clearCompletionContextIter :: (MonadIO m, CompletionContextK o) => o -> m ()
+clearCompletionContextIter obj = liftIO $ setObjectPropertyBoxed obj "iter" (Nothing :: Maybe Gtk.TextIter)
+
+data CompletionContextIterPropertyInfo
+instance AttrInfo CompletionContextIterPropertyInfo where
+    type AttrAllowedOps CompletionContextIterPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionContextIterPropertyInfo = (~) Gtk.TextIter
+    type AttrBaseTypeConstraint CompletionContextIterPropertyInfo = CompletionContextK
+    type AttrGetType CompletionContextIterPropertyInfo = (Maybe Gtk.TextIter)
+    type AttrLabel CompletionContextIterPropertyInfo = "iter"
+    attrGet _ = getCompletionContextIter
+    attrSet _ = setCompletionContextIter
+    attrConstruct _ = constructCompletionContextIter
+    attrClear _ = clearCompletionContextIter
+
+type instance AttributeList CompletionContext = CompletionContextAttributeList
+type CompletionContextAttributeList = ('[ '("activation", CompletionContextActivationPropertyInfo), '("completion", CompletionContextCompletionPropertyInfo), '("iter", CompletionContextIterPropertyInfo)] :: [(Symbol, *)])
+
+completionContextActivation :: AttrLabelProxy "activation"
+completionContextActivation = AttrLabelProxy
+
+completionContextCompletion :: AttrLabelProxy "completion"
+completionContextCompletion = AttrLabelProxy
+
+completionContextIter :: AttrLabelProxy "iter"
+completionContextIter = AttrLabelProxy
+
+data CompletionContextCancelledSignalInfo
+instance SignalInfo CompletionContextCancelledSignalInfo where
+    type HaskellCallbackType CompletionContextCancelledSignalInfo = CompletionContextCancelledCallback
+    connectSignal _ = connectCompletionContextCancelled
+
+type instance SignalList CompletionContext = CompletionContextSignalList
+type CompletionContextSignalList = ('[ '("cancelled", CompletionContextCancelledSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method CompletionContext::add_proposals
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface "GtkSource" "CompletionProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposals", argType = TGList (TInterface "GtkSource" "CompletionProposal"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "finished", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_context_add_proposals" gtk_source_completion_context_add_proposals :: 
+    Ptr CompletionContext ->                -- _obj : TInterface "GtkSource" "CompletionContext"
+    Ptr CompletionProvider ->               -- provider : TInterface "GtkSource" "CompletionProvider"
+    Ptr (GList (Ptr CompletionProposal)) -> -- proposals : TGList (TInterface "GtkSource" "CompletionProposal")
+    CInt ->                                 -- finished : TBasicType TBoolean
+    IO ()
+
+
+completionContextAddProposals ::
+    (MonadIO m, CompletionContextK a, CompletionProviderK b, CompletionProposalK c) =>
+    a                                       -- _obj
+    -> b                                    -- provider
+    -> [c]                                  -- proposals
+    -> Bool                                 -- finished
+    -> m ()                                 -- result
+completionContextAddProposals _obj provider proposals finished = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let provider' = unsafeManagedPtrCastPtr provider
+    let proposals' = map unsafeManagedPtrCastPtr proposals
+    proposals'' <- packGList proposals'
+    let finished' = (fromIntegral . fromEnum) finished
+    gtk_source_completion_context_add_proposals _obj' provider' proposals'' finished'
+    touchManagedPtr _obj
+    touchManagedPtr provider
+    mapM_ touchManagedPtr proposals
+    g_list_free proposals''
+    return ()
+
+data CompletionContextAddProposalsMethodInfo
+instance (signature ~ (b -> [c] -> Bool -> m ()), MonadIO m, CompletionContextK a, CompletionProviderK b, CompletionProposalK c) => MethodInfo CompletionContextAddProposalsMethodInfo a signature where
+    overloadedMethod _ = completionContextAddProposals
+
+-- method CompletionContext::get_activation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionActivation")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_context_get_activation" gtk_source_completion_context_get_activation :: 
+    Ptr CompletionContext ->                -- _obj : TInterface "GtkSource" "CompletionContext"
+    IO CUInt
+
+
+completionContextGetActivation ::
+    (MonadIO m, CompletionContextK a) =>
+    a                                       -- _obj
+    -> m [CompletionActivation]             -- result
+completionContextGetActivation _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_context_get_activation _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionContextGetActivationMethodInfo
+instance (signature ~ (m [CompletionActivation]), MonadIO m, CompletionContextK a) => MethodInfo CompletionContextGetActivationMethodInfo a signature where
+    overloadedMethod _ = completionContextGetActivation
+
+-- method CompletionContext::get_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_context_get_iter" gtk_source_completion_context_get_iter :: 
+    Ptr CompletionContext ->                -- _obj : TInterface "GtkSource" "CompletionContext"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO CInt
+
+
+completionContextGetIter ::
+    (MonadIO m, CompletionContextK a) =>
+    a                                       -- _obj
+    -> m (Bool,Gtk.TextIter)                -- result
+completionContextGetIter _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    result <- gtk_source_completion_context_get_iter _obj' iter
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TextIter) iter
+    touchManagedPtr _obj
+    return (result', iter')
+
+data CompletionContextGetIterMethodInfo
+instance (signature ~ (m (Bool,Gtk.TextIter)), MonadIO m, CompletionContextK a) => MethodInfo CompletionContextGetIterMethodInfo a signature where
+    overloadedMethod _ = completionContextGetIter
+
+
diff --git a/GI/GtkSource/Objects/CompletionContext.hs-boot b/GI/GtkSource/Objects/CompletionContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionContext.hs-boot
@@ -0,0 +1,20 @@
+module GI.GtkSource.Objects.CompletionContext where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype CompletionContext = CompletionContext (ForeignPtr CompletionContext)
+instance GObject CompletionContext where
+class GObject o => CompletionContextK o
+instance (GObject o, IsDescendantOf CompletionContext o) => CompletionContextK o
+data CompletionContextActivationPropertyInfo
+data CompletionContextCompletionPropertyInfo
+data CompletionContextIterPropertyInfo
+data CompletionContextCancelledSignalInfo
+data CompletionContextAddProposalsMethodInfo
+data CompletionContextGetActivationMethodInfo
+data CompletionContextGetIterMethodInfo
diff --git a/GI/GtkSource/Objects/CompletionInfo.hs b/GI/GtkSource/Objects/CompletionInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionInfo.hs
@@ -0,0 +1,692 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.CompletionInfo
+    ( 
+
+-- * Exported types
+    CompletionInfo(..)                      ,
+    CompletionInfoK                         ,
+    toCompletionInfo                        ,
+    noCompletionInfo                        ,
+
+
+ -- * Methods
+-- ** completionInfoGetWidget
+    CompletionInfoGetWidgetMethodInfo       ,
+    completionInfoGetWidget                 ,
+
+
+-- ** completionInfoMoveToIter
+    CompletionInfoMoveToIterMethodInfo      ,
+    completionInfoMoveToIter                ,
+
+
+-- ** completionInfoNew
+    completionInfoNew                       ,
+
+
+-- ** completionInfoSetWidget
+    CompletionInfoSetWidgetMethodInfo       ,
+    completionInfoSetWidget                 ,
+
+
+
+
+ -- * Signals
+-- ** BeforeShow
+    CompletionInfoBeforeShowCallback        ,
+    CompletionInfoBeforeShowCallbackC       ,
+    CompletionInfoBeforeShowSignalInfo      ,
+    afterCompletionInfoBeforeShow           ,
+    completionInfoBeforeShowCallbackWrapper ,
+    completionInfoBeforeShowClosure         ,
+    mkCompletionInfoBeforeShowCallback      ,
+    noCompletionInfoBeforeShowCallback      ,
+    onCompletionInfoBeforeShow              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.Atk as Atk
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype CompletionInfo = CompletionInfo (ForeignPtr CompletionInfo)
+foreign import ccall "gtk_source_completion_info_get_type"
+    c_gtk_source_completion_info_get_type :: IO GType
+
+type instance ParentTypes CompletionInfo = CompletionInfoParentTypes
+type CompletionInfoParentTypes = '[Gtk.Window, Gtk.Bin, Gtk.Container, Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Buildable]
+
+instance GObject CompletionInfo where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_completion_info_get_type
+    
+
+class GObject o => CompletionInfoK o
+instance (GObject o, IsDescendantOf CompletionInfo o) => CompletionInfoK o
+
+toCompletionInfo :: CompletionInfoK o => o -> IO CompletionInfo
+toCompletionInfo = unsafeCastTo CompletionInfo
+
+noCompletionInfo :: Maybe CompletionInfo
+noCompletionInfo = Nothing
+
+type family ResolveCompletionInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionInfoMethod "activate" o = Gtk.WidgetActivateMethodInfo
+    ResolveCompletionInfoMethod "activateDefault" o = Gtk.WindowActivateDefaultMethodInfo
+    ResolveCompletionInfoMethod "activateFocus" o = Gtk.WindowActivateFocusMethodInfo
+    ResolveCompletionInfoMethod "activateKey" o = Gtk.WindowActivateKeyMethodInfo
+    ResolveCompletionInfoMethod "add" o = Gtk.ContainerAddMethodInfo
+    ResolveCompletionInfoMethod "addAccelGroup" o = Gtk.WindowAddAccelGroupMethodInfo
+    ResolveCompletionInfoMethod "addAccelerator" o = Gtk.WidgetAddAcceleratorMethodInfo
+    ResolveCompletionInfoMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveCompletionInfoMethod "addDeviceEvents" o = Gtk.WidgetAddDeviceEventsMethodInfo
+    ResolveCompletionInfoMethod "addEvents" o = Gtk.WidgetAddEventsMethodInfo
+    ResolveCompletionInfoMethod "addMnemonic" o = Gtk.WindowAddMnemonicMethodInfo
+    ResolveCompletionInfoMethod "addMnemonicLabel" o = Gtk.WidgetAddMnemonicLabelMethodInfo
+    ResolveCompletionInfoMethod "addTickCallback" o = Gtk.WidgetAddTickCallbackMethodInfo
+    ResolveCompletionInfoMethod "beginMoveDrag" o = Gtk.WindowBeginMoveDragMethodInfo
+    ResolveCompletionInfoMethod "beginResizeDrag" o = Gtk.WindowBeginResizeDragMethodInfo
+    ResolveCompletionInfoMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionInfoMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionInfoMethod "canActivateAccel" o = Gtk.WidgetCanActivateAccelMethodInfo
+    ResolveCompletionInfoMethod "checkResize" o = Gtk.ContainerCheckResizeMethodInfo
+    ResolveCompletionInfoMethod "childFocus" o = Gtk.WidgetChildFocusMethodInfo
+    ResolveCompletionInfoMethod "childGetProperty" o = Gtk.ContainerChildGetPropertyMethodInfo
+    ResolveCompletionInfoMethod "childNotifyByPspec" o = Gtk.ContainerChildNotifyByPspecMethodInfo
+    ResolveCompletionInfoMethod "childSetProperty" o = Gtk.ContainerChildSetPropertyMethodInfo
+    ResolveCompletionInfoMethod "childType" o = Gtk.ContainerChildTypeMethodInfo
+    ResolveCompletionInfoMethod "classPath" o = Gtk.WidgetClassPathMethodInfo
+    ResolveCompletionInfoMethod "close" o = Gtk.WindowCloseMethodInfo
+    ResolveCompletionInfoMethod "computeExpand" o = Gtk.WidgetComputeExpandMethodInfo
+    ResolveCompletionInfoMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveCompletionInfoMethod "createPangoContext" o = Gtk.WidgetCreatePangoContextMethodInfo
+    ResolveCompletionInfoMethod "createPangoLayout" o = Gtk.WidgetCreatePangoLayoutMethodInfo
+    ResolveCompletionInfoMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveCompletionInfoMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveCompletionInfoMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveCompletionInfoMethod "deiconify" o = Gtk.WindowDeiconifyMethodInfo
+    ResolveCompletionInfoMethod "destroy" o = Gtk.WidgetDestroyMethodInfo
+    ResolveCompletionInfoMethod "destroyed" o = Gtk.WidgetDestroyedMethodInfo
+    ResolveCompletionInfoMethod "deviceIsShadowed" o = Gtk.WidgetDeviceIsShadowedMethodInfo
+    ResolveCompletionInfoMethod "dragBegin" o = Gtk.WidgetDragBeginMethodInfo
+    ResolveCompletionInfoMethod "dragBeginWithCoordinates" o = Gtk.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveCompletionInfoMethod "dragCheckThreshold" o = Gtk.WidgetDragCheckThresholdMethodInfo
+    ResolveCompletionInfoMethod "dragDestAddImageTargets" o = Gtk.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveCompletionInfoMethod "dragDestAddTextTargets" o = Gtk.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveCompletionInfoMethod "dragDestAddUriTargets" o = Gtk.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveCompletionInfoMethod "dragDestFindTarget" o = Gtk.WidgetDragDestFindTargetMethodInfo
+    ResolveCompletionInfoMethod "dragDestGetTargetList" o = Gtk.WidgetDragDestGetTargetListMethodInfo
+    ResolveCompletionInfoMethod "dragDestGetTrackMotion" o = Gtk.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveCompletionInfoMethod "dragDestSet" o = Gtk.WidgetDragDestSetMethodInfo
+    ResolveCompletionInfoMethod "dragDestSetProxy" o = Gtk.WidgetDragDestSetProxyMethodInfo
+    ResolveCompletionInfoMethod "dragDestSetTargetList" o = Gtk.WidgetDragDestSetTargetListMethodInfo
+    ResolveCompletionInfoMethod "dragDestSetTrackMotion" o = Gtk.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveCompletionInfoMethod "dragDestUnset" o = Gtk.WidgetDragDestUnsetMethodInfo
+    ResolveCompletionInfoMethod "dragGetData" o = Gtk.WidgetDragGetDataMethodInfo
+    ResolveCompletionInfoMethod "dragHighlight" o = Gtk.WidgetDragHighlightMethodInfo
+    ResolveCompletionInfoMethod "dragSourceAddImageTargets" o = Gtk.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveCompletionInfoMethod "dragSourceAddTextTargets" o = Gtk.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveCompletionInfoMethod "dragSourceAddUriTargets" o = Gtk.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveCompletionInfoMethod "dragSourceGetTargetList" o = Gtk.WidgetDragSourceGetTargetListMethodInfo
+    ResolveCompletionInfoMethod "dragSourceSet" o = Gtk.WidgetDragSourceSetMethodInfo
+    ResolveCompletionInfoMethod "dragSourceSetIconGicon" o = Gtk.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveCompletionInfoMethod "dragSourceSetIconName" o = Gtk.WidgetDragSourceSetIconNameMethodInfo
+    ResolveCompletionInfoMethod "dragSourceSetIconPixbuf" o = Gtk.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveCompletionInfoMethod "dragSourceSetIconStock" o = Gtk.WidgetDragSourceSetIconStockMethodInfo
+    ResolveCompletionInfoMethod "dragSourceSetTargetList" o = Gtk.WidgetDragSourceSetTargetListMethodInfo
+    ResolveCompletionInfoMethod "dragSourceUnset" o = Gtk.WidgetDragSourceUnsetMethodInfo
+    ResolveCompletionInfoMethod "dragUnhighlight" o = Gtk.WidgetDragUnhighlightMethodInfo
+    ResolveCompletionInfoMethod "draw" o = Gtk.WidgetDrawMethodInfo
+    ResolveCompletionInfoMethod "ensureStyle" o = Gtk.WidgetEnsureStyleMethodInfo
+    ResolveCompletionInfoMethod "errorBell" o = Gtk.WidgetErrorBellMethodInfo
+    ResolveCompletionInfoMethod "event" o = Gtk.WidgetEventMethodInfo
+    ResolveCompletionInfoMethod "forall" o = Gtk.ContainerForallMethodInfo
+    ResolveCompletionInfoMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionInfoMethod "foreach" o = Gtk.ContainerForeachMethodInfo
+    ResolveCompletionInfoMethod "freezeChildNotify" o = Gtk.WidgetFreezeChildNotifyMethodInfo
+    ResolveCompletionInfoMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionInfoMethod "fullscreen" o = Gtk.WindowFullscreenMethodInfo
+    ResolveCompletionInfoMethod "fullscreenOnMonitor" o = Gtk.WindowFullscreenOnMonitorMethodInfo
+    ResolveCompletionInfoMethod "grabAdd" o = Gtk.WidgetGrabAddMethodInfo
+    ResolveCompletionInfoMethod "grabDefault" o = Gtk.WidgetGrabDefaultMethodInfo
+    ResolveCompletionInfoMethod "grabFocus" o = Gtk.WidgetGrabFocusMethodInfo
+    ResolveCompletionInfoMethod "grabRemove" o = Gtk.WidgetGrabRemoveMethodInfo
+    ResolveCompletionInfoMethod "hasDefault" o = Gtk.WidgetHasDefaultMethodInfo
+    ResolveCompletionInfoMethod "hasFocus" o = Gtk.WidgetHasFocusMethodInfo
+    ResolveCompletionInfoMethod "hasGrab" o = Gtk.WidgetHasGrabMethodInfo
+    ResolveCompletionInfoMethod "hasGroup" o = Gtk.WindowHasGroupMethodInfo
+    ResolveCompletionInfoMethod "hasRcStyle" o = Gtk.WidgetHasRcStyleMethodInfo
+    ResolveCompletionInfoMethod "hasScreen" o = Gtk.WidgetHasScreenMethodInfo
+    ResolveCompletionInfoMethod "hasToplevelFocus" o = Gtk.WindowHasToplevelFocusMethodInfo
+    ResolveCompletionInfoMethod "hasVisibleFocus" o = Gtk.WidgetHasVisibleFocusMethodInfo
+    ResolveCompletionInfoMethod "hide" o = Gtk.WidgetHideMethodInfo
+    ResolveCompletionInfoMethod "hideOnDelete" o = Gtk.WidgetHideOnDeleteMethodInfo
+    ResolveCompletionInfoMethod "iconify" o = Gtk.WindowIconifyMethodInfo
+    ResolveCompletionInfoMethod "inDestruction" o = Gtk.WidgetInDestructionMethodInfo
+    ResolveCompletionInfoMethod "initTemplate" o = Gtk.WidgetInitTemplateMethodInfo
+    ResolveCompletionInfoMethod "inputShapeCombineRegion" o = Gtk.WidgetInputShapeCombineRegionMethodInfo
+    ResolveCompletionInfoMethod "insertActionGroup" o = Gtk.WidgetInsertActionGroupMethodInfo
+    ResolveCompletionInfoMethod "intersect" o = Gtk.WidgetIntersectMethodInfo
+    ResolveCompletionInfoMethod "isActive" o = Gtk.WindowIsActiveMethodInfo
+    ResolveCompletionInfoMethod "isAncestor" o = Gtk.WidgetIsAncestorMethodInfo
+    ResolveCompletionInfoMethod "isComposited" o = Gtk.WidgetIsCompositedMethodInfo
+    ResolveCompletionInfoMethod "isDrawable" o = Gtk.WidgetIsDrawableMethodInfo
+    ResolveCompletionInfoMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionInfoMethod "isFocus" o = Gtk.WidgetIsFocusMethodInfo
+    ResolveCompletionInfoMethod "isMaximized" o = Gtk.WindowIsMaximizedMethodInfo
+    ResolveCompletionInfoMethod "isSensitive" o = Gtk.WidgetIsSensitiveMethodInfo
+    ResolveCompletionInfoMethod "isToplevel" o = Gtk.WidgetIsToplevelMethodInfo
+    ResolveCompletionInfoMethod "isVisible" o = Gtk.WidgetIsVisibleMethodInfo
+    ResolveCompletionInfoMethod "keynavFailed" o = Gtk.WidgetKeynavFailedMethodInfo
+    ResolveCompletionInfoMethod "listAccelClosures" o = Gtk.WidgetListAccelClosuresMethodInfo
+    ResolveCompletionInfoMethod "listActionPrefixes" o = Gtk.WidgetListActionPrefixesMethodInfo
+    ResolveCompletionInfoMethod "listMnemonicLabels" o = Gtk.WidgetListMnemonicLabelsMethodInfo
+    ResolveCompletionInfoMethod "map" o = Gtk.WidgetMapMethodInfo
+    ResolveCompletionInfoMethod "maximize" o = Gtk.WindowMaximizeMethodInfo
+    ResolveCompletionInfoMethod "modifyBase" o = Gtk.WidgetModifyBaseMethodInfo
+    ResolveCompletionInfoMethod "modifyBg" o = Gtk.WidgetModifyBgMethodInfo
+    ResolveCompletionInfoMethod "modifyCursor" o = Gtk.WidgetModifyCursorMethodInfo
+    ResolveCompletionInfoMethod "modifyFg" o = Gtk.WidgetModifyFgMethodInfo
+    ResolveCompletionInfoMethod "modifyFont" o = Gtk.WidgetModifyFontMethodInfo
+    ResolveCompletionInfoMethod "modifyStyle" o = Gtk.WidgetModifyStyleMethodInfo
+    ResolveCompletionInfoMethod "modifyText" o = Gtk.WidgetModifyTextMethodInfo
+    ResolveCompletionInfoMethod "move" o = Gtk.WindowMoveMethodInfo
+    ResolveCompletionInfoMethod "moveToIter" o = CompletionInfoMoveToIterMethodInfo
+    ResolveCompletionInfoMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionInfoMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionInfoMethod "overrideBackgroundColor" o = Gtk.WidgetOverrideBackgroundColorMethodInfo
+    ResolveCompletionInfoMethod "overrideColor" o = Gtk.WidgetOverrideColorMethodInfo
+    ResolveCompletionInfoMethod "overrideCursor" o = Gtk.WidgetOverrideCursorMethodInfo
+    ResolveCompletionInfoMethod "overrideFont" o = Gtk.WidgetOverrideFontMethodInfo
+    ResolveCompletionInfoMethod "overrideSymbolicColor" o = Gtk.WidgetOverrideSymbolicColorMethodInfo
+    ResolveCompletionInfoMethod "parseGeometry" o = Gtk.WindowParseGeometryMethodInfo
+    ResolveCompletionInfoMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveCompletionInfoMethod "path" o = Gtk.WidgetPathMethodInfo
+    ResolveCompletionInfoMethod "present" o = Gtk.WindowPresentMethodInfo
+    ResolveCompletionInfoMethod "presentWithTime" o = Gtk.WindowPresentWithTimeMethodInfo
+    ResolveCompletionInfoMethod "propagateDraw" o = Gtk.ContainerPropagateDrawMethodInfo
+    ResolveCompletionInfoMethod "propagateKeyEvent" o = Gtk.WindowPropagateKeyEventMethodInfo
+    ResolveCompletionInfoMethod "queueComputeExpand" o = Gtk.WidgetQueueComputeExpandMethodInfo
+    ResolveCompletionInfoMethod "queueDraw" o = Gtk.WidgetQueueDrawMethodInfo
+    ResolveCompletionInfoMethod "queueDrawArea" o = Gtk.WidgetQueueDrawAreaMethodInfo
+    ResolveCompletionInfoMethod "queueDrawRegion" o = Gtk.WidgetQueueDrawRegionMethodInfo
+    ResolveCompletionInfoMethod "queueResize" o = Gtk.WidgetQueueResizeMethodInfo
+    ResolveCompletionInfoMethod "queueResizeNoRedraw" o = Gtk.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveCompletionInfoMethod "realize" o = Gtk.WidgetRealizeMethodInfo
+    ResolveCompletionInfoMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionInfoMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionInfoMethod "regionIntersect" o = Gtk.WidgetRegionIntersectMethodInfo
+    ResolveCompletionInfoMethod "registerWindow" o = Gtk.WidgetRegisterWindowMethodInfo
+    ResolveCompletionInfoMethod "remove" o = Gtk.ContainerRemoveMethodInfo
+    ResolveCompletionInfoMethod "removeAccelGroup" o = Gtk.WindowRemoveAccelGroupMethodInfo
+    ResolveCompletionInfoMethod "removeAccelerator" o = Gtk.WidgetRemoveAcceleratorMethodInfo
+    ResolveCompletionInfoMethod "removeMnemonic" o = Gtk.WindowRemoveMnemonicMethodInfo
+    ResolveCompletionInfoMethod "removeMnemonicLabel" o = Gtk.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveCompletionInfoMethod "removeTickCallback" o = Gtk.WidgetRemoveTickCallbackMethodInfo
+    ResolveCompletionInfoMethod "renderIcon" o = Gtk.WidgetRenderIconMethodInfo
+    ResolveCompletionInfoMethod "renderIconPixbuf" o = Gtk.WidgetRenderIconPixbufMethodInfo
+    ResolveCompletionInfoMethod "reparent" o = Gtk.WidgetReparentMethodInfo
+    ResolveCompletionInfoMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionInfoMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionInfoMethod "resetRcStyles" o = Gtk.WidgetResetRcStylesMethodInfo
+    ResolveCompletionInfoMethod "resetStyle" o = Gtk.WidgetResetStyleMethodInfo
+    ResolveCompletionInfoMethod "reshowWithInitialSize" o = Gtk.WindowReshowWithInitialSizeMethodInfo
+    ResolveCompletionInfoMethod "resize" o = Gtk.WindowResizeMethodInfo
+    ResolveCompletionInfoMethod "resizeChildren" o = Gtk.ContainerResizeChildrenMethodInfo
+    ResolveCompletionInfoMethod "resizeGripIsVisible" o = Gtk.WindowResizeGripIsVisibleMethodInfo
+    ResolveCompletionInfoMethod "resizeToGeometry" o = Gtk.WindowResizeToGeometryMethodInfo
+    ResolveCompletionInfoMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionInfoMethod "sendExpose" o = Gtk.WidgetSendExposeMethodInfo
+    ResolveCompletionInfoMethod "sendFocusChange" o = Gtk.WidgetSendFocusChangeMethodInfo
+    ResolveCompletionInfoMethod "shapeCombineRegion" o = Gtk.WidgetShapeCombineRegionMethodInfo
+    ResolveCompletionInfoMethod "show" o = Gtk.WidgetShowMethodInfo
+    ResolveCompletionInfoMethod "showAll" o = Gtk.WidgetShowAllMethodInfo
+    ResolveCompletionInfoMethod "showNow" o = Gtk.WidgetShowNowMethodInfo
+    ResolveCompletionInfoMethod "sizeAllocate" o = Gtk.WidgetSizeAllocateMethodInfo
+    ResolveCompletionInfoMethod "sizeAllocateWithBaseline" o = Gtk.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveCompletionInfoMethod "sizeRequest" o = Gtk.WidgetSizeRequestMethodInfo
+    ResolveCompletionInfoMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionInfoMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionInfoMethod "stick" o = Gtk.WindowStickMethodInfo
+    ResolveCompletionInfoMethod "styleAttach" o = Gtk.WidgetStyleAttachMethodInfo
+    ResolveCompletionInfoMethod "styleGetProperty" o = Gtk.WidgetStyleGetPropertyMethodInfo
+    ResolveCompletionInfoMethod "thawChildNotify" o = Gtk.WidgetThawChildNotifyMethodInfo
+    ResolveCompletionInfoMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionInfoMethod "translateCoordinates" o = Gtk.WidgetTranslateCoordinatesMethodInfo
+    ResolveCompletionInfoMethod "triggerTooltipQuery" o = Gtk.WidgetTriggerTooltipQueryMethodInfo
+    ResolveCompletionInfoMethod "unfullscreen" o = Gtk.WindowUnfullscreenMethodInfo
+    ResolveCompletionInfoMethod "unmap" o = Gtk.WidgetUnmapMethodInfo
+    ResolveCompletionInfoMethod "unmaximize" o = Gtk.WindowUnmaximizeMethodInfo
+    ResolveCompletionInfoMethod "unparent" o = Gtk.WidgetUnparentMethodInfo
+    ResolveCompletionInfoMethod "unrealize" o = Gtk.WidgetUnrealizeMethodInfo
+    ResolveCompletionInfoMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionInfoMethod "unregisterWindow" o = Gtk.WidgetUnregisterWindowMethodInfo
+    ResolveCompletionInfoMethod "unsetFocusChain" o = Gtk.ContainerUnsetFocusChainMethodInfo
+    ResolveCompletionInfoMethod "unsetStateFlags" o = Gtk.WidgetUnsetStateFlagsMethodInfo
+    ResolveCompletionInfoMethod "unstick" o = Gtk.WindowUnstickMethodInfo
+    ResolveCompletionInfoMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionInfoMethod "getAcceptFocus" o = Gtk.WindowGetAcceptFocusMethodInfo
+    ResolveCompletionInfoMethod "getAccessible" o = Gtk.WidgetGetAccessibleMethodInfo
+    ResolveCompletionInfoMethod "getActionGroup" o = Gtk.WidgetGetActionGroupMethodInfo
+    ResolveCompletionInfoMethod "getAllocatedBaseline" o = Gtk.WidgetGetAllocatedBaselineMethodInfo
+    ResolveCompletionInfoMethod "getAllocatedHeight" o = Gtk.WidgetGetAllocatedHeightMethodInfo
+    ResolveCompletionInfoMethod "getAllocatedWidth" o = Gtk.WidgetGetAllocatedWidthMethodInfo
+    ResolveCompletionInfoMethod "getAllocation" o = Gtk.WidgetGetAllocationMethodInfo
+    ResolveCompletionInfoMethod "getAncestor" o = Gtk.WidgetGetAncestorMethodInfo
+    ResolveCompletionInfoMethod "getAppPaintable" o = Gtk.WidgetGetAppPaintableMethodInfo
+    ResolveCompletionInfoMethod "getApplication" o = Gtk.WindowGetApplicationMethodInfo
+    ResolveCompletionInfoMethod "getAttachedTo" o = Gtk.WindowGetAttachedToMethodInfo
+    ResolveCompletionInfoMethod "getBorderWidth" o = Gtk.ContainerGetBorderWidthMethodInfo
+    ResolveCompletionInfoMethod "getCanDefault" o = Gtk.WidgetGetCanDefaultMethodInfo
+    ResolveCompletionInfoMethod "getCanFocus" o = Gtk.WidgetGetCanFocusMethodInfo
+    ResolveCompletionInfoMethod "getChild" o = Gtk.BinGetChildMethodInfo
+    ResolveCompletionInfoMethod "getChildRequisition" o = Gtk.WidgetGetChildRequisitionMethodInfo
+    ResolveCompletionInfoMethod "getChildVisible" o = Gtk.WidgetGetChildVisibleMethodInfo
+    ResolveCompletionInfoMethod "getChildren" o = Gtk.ContainerGetChildrenMethodInfo
+    ResolveCompletionInfoMethod "getClip" o = Gtk.WidgetGetClipMethodInfo
+    ResolveCompletionInfoMethod "getClipboard" o = Gtk.WidgetGetClipboardMethodInfo
+    ResolveCompletionInfoMethod "getCompositeName" o = Gtk.WidgetGetCompositeNameMethodInfo
+    ResolveCompletionInfoMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionInfoMethod "getDecorated" o = Gtk.WindowGetDecoratedMethodInfo
+    ResolveCompletionInfoMethod "getDefaultSize" o = Gtk.WindowGetDefaultSizeMethodInfo
+    ResolveCompletionInfoMethod "getDefaultWidget" o = Gtk.WindowGetDefaultWidgetMethodInfo
+    ResolveCompletionInfoMethod "getDeletable" o = Gtk.WindowGetDeletableMethodInfo
+    ResolveCompletionInfoMethod "getDestroyWithParent" o = Gtk.WindowGetDestroyWithParentMethodInfo
+    ResolveCompletionInfoMethod "getDeviceEnabled" o = Gtk.WidgetGetDeviceEnabledMethodInfo
+    ResolveCompletionInfoMethod "getDeviceEvents" o = Gtk.WidgetGetDeviceEventsMethodInfo
+    ResolveCompletionInfoMethod "getDirection" o = Gtk.WidgetGetDirectionMethodInfo
+    ResolveCompletionInfoMethod "getDisplay" o = Gtk.WidgetGetDisplayMethodInfo
+    ResolveCompletionInfoMethod "getDoubleBuffered" o = Gtk.WidgetGetDoubleBufferedMethodInfo
+    ResolveCompletionInfoMethod "getEvents" o = Gtk.WidgetGetEventsMethodInfo
+    ResolveCompletionInfoMethod "getFocus" o = Gtk.WindowGetFocusMethodInfo
+    ResolveCompletionInfoMethod "getFocusChain" o = Gtk.ContainerGetFocusChainMethodInfo
+    ResolveCompletionInfoMethod "getFocusChild" o = Gtk.ContainerGetFocusChildMethodInfo
+    ResolveCompletionInfoMethod "getFocusHadjustment" o = Gtk.ContainerGetFocusHadjustmentMethodInfo
+    ResolveCompletionInfoMethod "getFocusOnMap" o = Gtk.WindowGetFocusOnMapMethodInfo
+    ResolveCompletionInfoMethod "getFocusVadjustment" o = Gtk.ContainerGetFocusVadjustmentMethodInfo
+    ResolveCompletionInfoMethod "getFocusVisible" o = Gtk.WindowGetFocusVisibleMethodInfo
+    ResolveCompletionInfoMethod "getFontMap" o = Gtk.WidgetGetFontMapMethodInfo
+    ResolveCompletionInfoMethod "getFontOptions" o = Gtk.WidgetGetFontOptionsMethodInfo
+    ResolveCompletionInfoMethod "getFrameClock" o = Gtk.WidgetGetFrameClockMethodInfo
+    ResolveCompletionInfoMethod "getGravity" o = Gtk.WindowGetGravityMethodInfo
+    ResolveCompletionInfoMethod "getGroup" o = Gtk.WindowGetGroupMethodInfo
+    ResolveCompletionInfoMethod "getHalign" o = Gtk.WidgetGetHalignMethodInfo
+    ResolveCompletionInfoMethod "getHasResizeGrip" o = Gtk.WindowGetHasResizeGripMethodInfo
+    ResolveCompletionInfoMethod "getHasTooltip" o = Gtk.WidgetGetHasTooltipMethodInfo
+    ResolveCompletionInfoMethod "getHasWindow" o = Gtk.WidgetGetHasWindowMethodInfo
+    ResolveCompletionInfoMethod "getHexpand" o = Gtk.WidgetGetHexpandMethodInfo
+    ResolveCompletionInfoMethod "getHexpandSet" o = Gtk.WidgetGetHexpandSetMethodInfo
+    ResolveCompletionInfoMethod "getHideTitlebarWhenMaximized" o = Gtk.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveCompletionInfoMethod "getIcon" o = Gtk.WindowGetIconMethodInfo
+    ResolveCompletionInfoMethod "getIconList" o = Gtk.WindowGetIconListMethodInfo
+    ResolveCompletionInfoMethod "getIconName" o = Gtk.WindowGetIconNameMethodInfo
+    ResolveCompletionInfoMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveCompletionInfoMethod "getMapped" o = Gtk.WidgetGetMappedMethodInfo
+    ResolveCompletionInfoMethod "getMarginBottom" o = Gtk.WidgetGetMarginBottomMethodInfo
+    ResolveCompletionInfoMethod "getMarginEnd" o = Gtk.WidgetGetMarginEndMethodInfo
+    ResolveCompletionInfoMethod "getMarginLeft" o = Gtk.WidgetGetMarginLeftMethodInfo
+    ResolveCompletionInfoMethod "getMarginRight" o = Gtk.WidgetGetMarginRightMethodInfo
+    ResolveCompletionInfoMethod "getMarginStart" o = Gtk.WidgetGetMarginStartMethodInfo
+    ResolveCompletionInfoMethod "getMarginTop" o = Gtk.WidgetGetMarginTopMethodInfo
+    ResolveCompletionInfoMethod "getMnemonicModifier" o = Gtk.WindowGetMnemonicModifierMethodInfo
+    ResolveCompletionInfoMethod "getMnemonicsVisible" o = Gtk.WindowGetMnemonicsVisibleMethodInfo
+    ResolveCompletionInfoMethod "getModal" o = Gtk.WindowGetModalMethodInfo
+    ResolveCompletionInfoMethod "getModifierMask" o = Gtk.WidgetGetModifierMaskMethodInfo
+    ResolveCompletionInfoMethod "getModifierStyle" o = Gtk.WidgetGetModifierStyleMethodInfo
+    ResolveCompletionInfoMethod "getNoShowAll" o = Gtk.WidgetGetNoShowAllMethodInfo
+    ResolveCompletionInfoMethod "getPangoContext" o = Gtk.WidgetGetPangoContextMethodInfo
+    ResolveCompletionInfoMethod "getParent" o = Gtk.WidgetGetParentMethodInfo
+    ResolveCompletionInfoMethod "getParentWindow" o = Gtk.WidgetGetParentWindowMethodInfo
+    ResolveCompletionInfoMethod "getPath" o = Gtk.WidgetGetPathMethodInfo
+    ResolveCompletionInfoMethod "getPathForChild" o = Gtk.ContainerGetPathForChildMethodInfo
+    ResolveCompletionInfoMethod "getPointer" o = Gtk.WidgetGetPointerMethodInfo
+    ResolveCompletionInfoMethod "getPosition" o = Gtk.WindowGetPositionMethodInfo
+    ResolveCompletionInfoMethod "getPreferredHeight" o = Gtk.WidgetGetPreferredHeightMethodInfo
+    ResolveCompletionInfoMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveCompletionInfoMethod "getPreferredHeightForWidth" o = Gtk.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveCompletionInfoMethod "getPreferredSize" o = Gtk.WidgetGetPreferredSizeMethodInfo
+    ResolveCompletionInfoMethod "getPreferredWidth" o = Gtk.WidgetGetPreferredWidthMethodInfo
+    ResolveCompletionInfoMethod "getPreferredWidthForHeight" o = Gtk.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveCompletionInfoMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionInfoMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionInfoMethod "getRealized" o = Gtk.WidgetGetRealizedMethodInfo
+    ResolveCompletionInfoMethod "getReceivesDefault" o = Gtk.WidgetGetReceivesDefaultMethodInfo
+    ResolveCompletionInfoMethod "getRequestMode" o = Gtk.WidgetGetRequestModeMethodInfo
+    ResolveCompletionInfoMethod "getRequisition" o = Gtk.WidgetGetRequisitionMethodInfo
+    ResolveCompletionInfoMethod "getResizable" o = Gtk.WindowGetResizableMethodInfo
+    ResolveCompletionInfoMethod "getResizeGripArea" o = Gtk.WindowGetResizeGripAreaMethodInfo
+    ResolveCompletionInfoMethod "getResizeMode" o = Gtk.ContainerGetResizeModeMethodInfo
+    ResolveCompletionInfoMethod "getRole" o = Gtk.WindowGetRoleMethodInfo
+    ResolveCompletionInfoMethod "getRootWindow" o = Gtk.WidgetGetRootWindowMethodInfo
+    ResolveCompletionInfoMethod "getScaleFactor" o = Gtk.WidgetGetScaleFactorMethodInfo
+    ResolveCompletionInfoMethod "getSensitive" o = Gtk.WidgetGetSensitiveMethodInfo
+    ResolveCompletionInfoMethod "getSettings" o = Gtk.WidgetGetSettingsMethodInfo
+    ResolveCompletionInfoMethod "getSize" o = Gtk.WindowGetSizeMethodInfo
+    ResolveCompletionInfoMethod "getSizeRequest" o = Gtk.WidgetGetSizeRequestMethodInfo
+    ResolveCompletionInfoMethod "getSkipPagerHint" o = Gtk.WindowGetSkipPagerHintMethodInfo
+    ResolveCompletionInfoMethod "getSkipTaskbarHint" o = Gtk.WindowGetSkipTaskbarHintMethodInfo
+    ResolveCompletionInfoMethod "getState" o = Gtk.WidgetGetStateMethodInfo
+    ResolveCompletionInfoMethod "getStateFlags" o = Gtk.WidgetGetStateFlagsMethodInfo
+    ResolveCompletionInfoMethod "getStyle" o = Gtk.WidgetGetStyleMethodInfo
+    ResolveCompletionInfoMethod "getStyleContext" o = Gtk.WidgetGetStyleContextMethodInfo
+    ResolveCompletionInfoMethod "getSupportMultidevice" o = Gtk.WidgetGetSupportMultideviceMethodInfo
+    ResolveCompletionInfoMethod "getTemplateChild" o = Gtk.WidgetGetTemplateChildMethodInfo
+    ResolveCompletionInfoMethod "getTitle" o = Gtk.WindowGetTitleMethodInfo
+    ResolveCompletionInfoMethod "getTitlebar" o = Gtk.WindowGetTitlebarMethodInfo
+    ResolveCompletionInfoMethod "getTooltipMarkup" o = Gtk.WidgetGetTooltipMarkupMethodInfo
+    ResolveCompletionInfoMethod "getTooltipText" o = Gtk.WidgetGetTooltipTextMethodInfo
+    ResolveCompletionInfoMethod "getTooltipWindow" o = Gtk.WidgetGetTooltipWindowMethodInfo
+    ResolveCompletionInfoMethod "getToplevel" o = Gtk.WidgetGetToplevelMethodInfo
+    ResolveCompletionInfoMethod "getTransientFor" o = Gtk.WindowGetTransientForMethodInfo
+    ResolveCompletionInfoMethod "getTypeHint" o = Gtk.WindowGetTypeHintMethodInfo
+    ResolveCompletionInfoMethod "getUrgencyHint" o = Gtk.WindowGetUrgencyHintMethodInfo
+    ResolveCompletionInfoMethod "getValign" o = Gtk.WidgetGetValignMethodInfo
+    ResolveCompletionInfoMethod "getValignWithBaseline" o = Gtk.WidgetGetValignWithBaselineMethodInfo
+    ResolveCompletionInfoMethod "getVexpand" o = Gtk.WidgetGetVexpandMethodInfo
+    ResolveCompletionInfoMethod "getVexpandSet" o = Gtk.WidgetGetVexpandSetMethodInfo
+    ResolveCompletionInfoMethod "getVisible" o = Gtk.WidgetGetVisibleMethodInfo
+    ResolveCompletionInfoMethod "getVisual" o = Gtk.WidgetGetVisualMethodInfo
+    ResolveCompletionInfoMethod "getWidget" o = CompletionInfoGetWidgetMethodInfo
+    ResolveCompletionInfoMethod "getWindow" o = Gtk.WidgetGetWindowMethodInfo
+    ResolveCompletionInfoMethod "getWindowType" o = Gtk.WindowGetWindowTypeMethodInfo
+    ResolveCompletionInfoMethod "setAccelPath" o = Gtk.WidgetSetAccelPathMethodInfo
+    ResolveCompletionInfoMethod "setAcceptFocus" o = Gtk.WindowSetAcceptFocusMethodInfo
+    ResolveCompletionInfoMethod "setAllocation" o = Gtk.WidgetSetAllocationMethodInfo
+    ResolveCompletionInfoMethod "setAppPaintable" o = Gtk.WidgetSetAppPaintableMethodInfo
+    ResolveCompletionInfoMethod "setApplication" o = Gtk.WindowSetApplicationMethodInfo
+    ResolveCompletionInfoMethod "setAttachedTo" o = Gtk.WindowSetAttachedToMethodInfo
+    ResolveCompletionInfoMethod "setBorderWidth" o = Gtk.ContainerSetBorderWidthMethodInfo
+    ResolveCompletionInfoMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveCompletionInfoMethod "setCanDefault" o = Gtk.WidgetSetCanDefaultMethodInfo
+    ResolveCompletionInfoMethod "setCanFocus" o = Gtk.WidgetSetCanFocusMethodInfo
+    ResolveCompletionInfoMethod "setChildVisible" o = Gtk.WidgetSetChildVisibleMethodInfo
+    ResolveCompletionInfoMethod "setClip" o = Gtk.WidgetSetClipMethodInfo
+    ResolveCompletionInfoMethod "setCompositeName" o = Gtk.WidgetSetCompositeNameMethodInfo
+    ResolveCompletionInfoMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionInfoMethod "setDecorated" o = Gtk.WindowSetDecoratedMethodInfo
+    ResolveCompletionInfoMethod "setDefault" o = Gtk.WindowSetDefaultMethodInfo
+    ResolveCompletionInfoMethod "setDefaultGeometry" o = Gtk.WindowSetDefaultGeometryMethodInfo
+    ResolveCompletionInfoMethod "setDefaultSize" o = Gtk.WindowSetDefaultSizeMethodInfo
+    ResolveCompletionInfoMethod "setDeletable" o = Gtk.WindowSetDeletableMethodInfo
+    ResolveCompletionInfoMethod "setDestroyWithParent" o = Gtk.WindowSetDestroyWithParentMethodInfo
+    ResolveCompletionInfoMethod "setDeviceEnabled" o = Gtk.WidgetSetDeviceEnabledMethodInfo
+    ResolveCompletionInfoMethod "setDeviceEvents" o = Gtk.WidgetSetDeviceEventsMethodInfo
+    ResolveCompletionInfoMethod "setDirection" o = Gtk.WidgetSetDirectionMethodInfo
+    ResolveCompletionInfoMethod "setDoubleBuffered" o = Gtk.WidgetSetDoubleBufferedMethodInfo
+    ResolveCompletionInfoMethod "setEvents" o = Gtk.WidgetSetEventsMethodInfo
+    ResolveCompletionInfoMethod "setFocus" o = Gtk.WindowSetFocusMethodInfo
+    ResolveCompletionInfoMethod "setFocusChain" o = Gtk.ContainerSetFocusChainMethodInfo
+    ResolveCompletionInfoMethod "setFocusChild" o = Gtk.ContainerSetFocusChildMethodInfo
+    ResolveCompletionInfoMethod "setFocusHadjustment" o = Gtk.ContainerSetFocusHadjustmentMethodInfo
+    ResolveCompletionInfoMethod "setFocusOnMap" o = Gtk.WindowSetFocusOnMapMethodInfo
+    ResolveCompletionInfoMethod "setFocusVadjustment" o = Gtk.ContainerSetFocusVadjustmentMethodInfo
+    ResolveCompletionInfoMethod "setFocusVisible" o = Gtk.WindowSetFocusVisibleMethodInfo
+    ResolveCompletionInfoMethod "setFontMap" o = Gtk.WidgetSetFontMapMethodInfo
+    ResolveCompletionInfoMethod "setFontOptions" o = Gtk.WidgetSetFontOptionsMethodInfo
+    ResolveCompletionInfoMethod "setGeometryHints" o = Gtk.WindowSetGeometryHintsMethodInfo
+    ResolveCompletionInfoMethod "setGravity" o = Gtk.WindowSetGravityMethodInfo
+    ResolveCompletionInfoMethod "setHalign" o = Gtk.WidgetSetHalignMethodInfo
+    ResolveCompletionInfoMethod "setHasResizeGrip" o = Gtk.WindowSetHasResizeGripMethodInfo
+    ResolveCompletionInfoMethod "setHasTooltip" o = Gtk.WidgetSetHasTooltipMethodInfo
+    ResolveCompletionInfoMethod "setHasUserRefCount" o = Gtk.WindowSetHasUserRefCountMethodInfo
+    ResolveCompletionInfoMethod "setHasWindow" o = Gtk.WidgetSetHasWindowMethodInfo
+    ResolveCompletionInfoMethod "setHexpand" o = Gtk.WidgetSetHexpandMethodInfo
+    ResolveCompletionInfoMethod "setHexpandSet" o = Gtk.WidgetSetHexpandSetMethodInfo
+    ResolveCompletionInfoMethod "setHideTitlebarWhenMaximized" o = Gtk.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveCompletionInfoMethod "setIcon" o = Gtk.WindowSetIconMethodInfo
+    ResolveCompletionInfoMethod "setIconFromFile" o = Gtk.WindowSetIconFromFileMethodInfo
+    ResolveCompletionInfoMethod "setIconList" o = Gtk.WindowSetIconListMethodInfo
+    ResolveCompletionInfoMethod "setIconName" o = Gtk.WindowSetIconNameMethodInfo
+    ResolveCompletionInfoMethod "setKeepAbove" o = Gtk.WindowSetKeepAboveMethodInfo
+    ResolveCompletionInfoMethod "setKeepBelow" o = Gtk.WindowSetKeepBelowMethodInfo
+    ResolveCompletionInfoMethod "setMapped" o = Gtk.WidgetSetMappedMethodInfo
+    ResolveCompletionInfoMethod "setMarginBottom" o = Gtk.WidgetSetMarginBottomMethodInfo
+    ResolveCompletionInfoMethod "setMarginEnd" o = Gtk.WidgetSetMarginEndMethodInfo
+    ResolveCompletionInfoMethod "setMarginLeft" o = Gtk.WidgetSetMarginLeftMethodInfo
+    ResolveCompletionInfoMethod "setMarginRight" o = Gtk.WidgetSetMarginRightMethodInfo
+    ResolveCompletionInfoMethod "setMarginStart" o = Gtk.WidgetSetMarginStartMethodInfo
+    ResolveCompletionInfoMethod "setMarginTop" o = Gtk.WidgetSetMarginTopMethodInfo
+    ResolveCompletionInfoMethod "setMnemonicModifier" o = Gtk.WindowSetMnemonicModifierMethodInfo
+    ResolveCompletionInfoMethod "setMnemonicsVisible" o = Gtk.WindowSetMnemonicsVisibleMethodInfo
+    ResolveCompletionInfoMethod "setModal" o = Gtk.WindowSetModalMethodInfo
+    ResolveCompletionInfoMethod "setNoShowAll" o = Gtk.WidgetSetNoShowAllMethodInfo
+    ResolveCompletionInfoMethod "setParent" o = Gtk.WidgetSetParentMethodInfo
+    ResolveCompletionInfoMethod "setParentWindow" o = Gtk.WidgetSetParentWindowMethodInfo
+    ResolveCompletionInfoMethod "setPosition" o = Gtk.WindowSetPositionMethodInfo
+    ResolveCompletionInfoMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionInfoMethod "setRealized" o = Gtk.WidgetSetRealizedMethodInfo
+    ResolveCompletionInfoMethod "setReallocateRedraws" o = Gtk.ContainerSetReallocateRedrawsMethodInfo
+    ResolveCompletionInfoMethod "setReceivesDefault" o = Gtk.WidgetSetReceivesDefaultMethodInfo
+    ResolveCompletionInfoMethod "setRedrawOnAllocate" o = Gtk.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveCompletionInfoMethod "setResizable" o = Gtk.WindowSetResizableMethodInfo
+    ResolveCompletionInfoMethod "setResizeMode" o = Gtk.ContainerSetResizeModeMethodInfo
+    ResolveCompletionInfoMethod "setRole" o = Gtk.WindowSetRoleMethodInfo
+    ResolveCompletionInfoMethod "setScreen" o = Gtk.WindowSetScreenMethodInfo
+    ResolveCompletionInfoMethod "setSensitive" o = Gtk.WidgetSetSensitiveMethodInfo
+    ResolveCompletionInfoMethod "setSizeRequest" o = Gtk.WidgetSetSizeRequestMethodInfo
+    ResolveCompletionInfoMethod "setSkipPagerHint" o = Gtk.WindowSetSkipPagerHintMethodInfo
+    ResolveCompletionInfoMethod "setSkipTaskbarHint" o = Gtk.WindowSetSkipTaskbarHintMethodInfo
+    ResolveCompletionInfoMethod "setStartupId" o = Gtk.WindowSetStartupIdMethodInfo
+    ResolveCompletionInfoMethod "setState" o = Gtk.WidgetSetStateMethodInfo
+    ResolveCompletionInfoMethod "setStateFlags" o = Gtk.WidgetSetStateFlagsMethodInfo
+    ResolveCompletionInfoMethod "setStyle" o = Gtk.WidgetSetStyleMethodInfo
+    ResolveCompletionInfoMethod "setSupportMultidevice" o = Gtk.WidgetSetSupportMultideviceMethodInfo
+    ResolveCompletionInfoMethod "setTitle" o = Gtk.WindowSetTitleMethodInfo
+    ResolveCompletionInfoMethod "setTitlebar" o = Gtk.WindowSetTitlebarMethodInfo
+    ResolveCompletionInfoMethod "setTooltipMarkup" o = Gtk.WidgetSetTooltipMarkupMethodInfo
+    ResolveCompletionInfoMethod "setTooltipText" o = Gtk.WidgetSetTooltipTextMethodInfo
+    ResolveCompletionInfoMethod "setTooltipWindow" o = Gtk.WidgetSetTooltipWindowMethodInfo
+    ResolveCompletionInfoMethod "setTransientFor" o = Gtk.WindowSetTransientForMethodInfo
+    ResolveCompletionInfoMethod "setTypeHint" o = Gtk.WindowSetTypeHintMethodInfo
+    ResolveCompletionInfoMethod "setUrgencyHint" o = Gtk.WindowSetUrgencyHintMethodInfo
+    ResolveCompletionInfoMethod "setValign" o = Gtk.WidgetSetValignMethodInfo
+    ResolveCompletionInfoMethod "setVexpand" o = Gtk.WidgetSetVexpandMethodInfo
+    ResolveCompletionInfoMethod "setVexpandSet" o = Gtk.WidgetSetVexpandSetMethodInfo
+    ResolveCompletionInfoMethod "setVisible" o = Gtk.WidgetSetVisibleMethodInfo
+    ResolveCompletionInfoMethod "setVisual" o = Gtk.WidgetSetVisualMethodInfo
+    ResolveCompletionInfoMethod "setWidget" o = CompletionInfoSetWidgetMethodInfo
+    ResolveCompletionInfoMethod "setWindow" o = Gtk.WidgetSetWindowMethodInfo
+    ResolveCompletionInfoMethod "setWmclass" o = Gtk.WindowSetWmclassMethodInfo
+    ResolveCompletionInfoMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionInfoMethod t CompletionInfo, MethodInfo info CompletionInfo p) => IsLabelProxy t (CompletionInfo -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionInfoMethod t CompletionInfo, MethodInfo info CompletionInfo p) => IsLabel t (CompletionInfo -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal CompletionInfo::before-show
+type CompletionInfoBeforeShowCallback =
+    IO ()
+
+noCompletionInfoBeforeShowCallback :: Maybe CompletionInfoBeforeShowCallback
+noCompletionInfoBeforeShowCallback = Nothing
+
+type CompletionInfoBeforeShowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkCompletionInfoBeforeShowCallback :: CompletionInfoBeforeShowCallbackC -> IO (FunPtr CompletionInfoBeforeShowCallbackC)
+
+completionInfoBeforeShowClosure :: CompletionInfoBeforeShowCallback -> IO Closure
+completionInfoBeforeShowClosure cb = newCClosure =<< mkCompletionInfoBeforeShowCallback wrapped
+    where wrapped = completionInfoBeforeShowCallbackWrapper cb
+
+completionInfoBeforeShowCallbackWrapper ::
+    CompletionInfoBeforeShowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+completionInfoBeforeShowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onCompletionInfoBeforeShow :: (GObject a, MonadIO m) => a -> CompletionInfoBeforeShowCallback -> m SignalHandlerId
+onCompletionInfoBeforeShow obj cb = liftIO $ connectCompletionInfoBeforeShow obj cb SignalConnectBefore
+afterCompletionInfoBeforeShow :: (GObject a, MonadIO m) => a -> CompletionInfoBeforeShowCallback -> m SignalHandlerId
+afterCompletionInfoBeforeShow obj cb = connectCompletionInfoBeforeShow obj cb SignalConnectAfter
+
+connectCompletionInfoBeforeShow :: (GObject a, MonadIO m) =>
+                                   a -> CompletionInfoBeforeShowCallback -> SignalConnectMode -> m SignalHandlerId
+connectCompletionInfoBeforeShow obj cb after = liftIO $ do
+    cb' <- mkCompletionInfoBeforeShowCallback (completionInfoBeforeShowCallbackWrapper cb)
+    connectSignalFunPtr obj "before-show" cb' after
+
+type instance AttributeList CompletionInfo = CompletionInfoAttributeList
+type CompletionInfoAttributeList = ('[ '("acceptFocus", Gtk.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.WidgetAppPaintablePropertyInfo), '("application", Gtk.WindowApplicationPropertyInfo), '("attachedTo", Gtk.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.WidgetCanFocusPropertyInfo), '("child", Gtk.ContainerChildPropertyInfo), '("compositeChild", Gtk.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("focusOnMap", Gtk.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.WindowGravityPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("hasDefault", Gtk.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.WindowIconPropertyInfo), '("iconName", Gtk.WindowIconNamePropertyInfo), '("isActive", Gtk.WindowIsActivePropertyInfo), '("isFocus", Gtk.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.WindowIsMaximizedPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("marginBottom", Gtk.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.WindowModalPropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("noShowAll", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("receivesDefault", Gtk.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.ContainerResizeModePropertyInfo), '("role", Gtk.WindowRolePropertyInfo), '("scaleFactor", Gtk.WidgetScaleFactorPropertyInfo), '("screen", Gtk.WindowScreenPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.WindowStartupIdPropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("title", Gtk.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.WindowTransientForPropertyInfo), '("type", Gtk.WindowTypePropertyInfo), '("typeHint", Gtk.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.WindowUrgencyHintPropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.WidgetVexpandSetPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo), '("windowPosition", Gtk.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+
+data CompletionInfoBeforeShowSignalInfo
+instance SignalInfo CompletionInfoBeforeShowSignalInfo where
+    type HaskellCallbackType CompletionInfoBeforeShowSignalInfo = CompletionInfoBeforeShowCallback
+    connectSignal _ = connectCompletionInfoBeforeShow
+
+type instance SignalList CompletionInfo = CompletionInfoSignalList
+type CompletionInfoSignalList = ('[ '("accelClosuresChanged", Gtk.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.WindowActivateFocusSignalInfo), '("add", Gtk.ContainerAddSignalInfo), '("beforeShow", CompletionInfoBeforeShowSignalInfo), '("buttonPressEvent", Gtk.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.WidgetDeleteEventSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroyEvent", Gtk.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.WidgetDragDropSignalInfo), '("dragEnd", Gtk.WidgetDragEndSignalInfo), '("dragFailed", Gtk.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("enableDebugging", Gtk.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("eventAfter", Gtk.WidgetEventAfterSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focusInEvent", Gtk.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("mapEvent", Gtk.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.WidgetMoveFocusSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parentSet", Gtk.WidgetParentSetSignalInfo), '("popupMenu", Gtk.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.WidgetQueryTooltipSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("remove", Gtk.ContainerRemoveSignalInfo), '("screenChanged", Gtk.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.ContainerSetFocusChildSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("showHelp", Gtk.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.WidgetTouchEventSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+-- method CompletionInfo::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionInfo")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_info_new" gtk_source_completion_info_new :: 
+    IO (Ptr CompletionInfo)
+
+
+completionInfoNew ::
+    (MonadIO m) =>
+    m CompletionInfo                        -- result
+completionInfoNew  = liftIO $ do
+    result <- gtk_source_completion_info_new
+    checkUnexpectedReturnNULL "gtk_source_completion_info_new" result
+    result' <- (newObject CompletionInfo) result
+    return result'
+
+-- method CompletionInfo::get_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gtk" "Widget")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_info_get_widget" gtk_source_completion_info_get_widget :: 
+    Ptr CompletionInfo ->                   -- _obj : TInterface "GtkSource" "CompletionInfo"
+    IO (Ptr Gtk.Widget)
+
+{-# DEPRECATED completionInfoGetWidget ["(Since version 3.8)","Use gtk_bin_get_child() instead."]#-}
+completionInfoGetWidget ::
+    (MonadIO m, CompletionInfoK a) =>
+    a                                       -- _obj
+    -> m Gtk.Widget                         -- result
+completionInfoGetWidget _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_completion_info_get_widget _obj'
+    checkUnexpectedReturnNULL "gtk_source_completion_info_get_widget" result
+    result' <- (newObject Gtk.Widget) result
+    touchManagedPtr _obj
+    return result'
+
+data CompletionInfoGetWidgetMethodInfo
+instance (signature ~ (m Gtk.Widget), MonadIO m, CompletionInfoK a) => MethodInfo CompletionInfoGetWidgetMethodInfo a signature where
+    overloadedMethod _ = completionInfoGetWidget
+
+-- method CompletionInfo::move_to_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "view", argType = TInterface "Gtk" "TextView", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_info_move_to_iter" gtk_source_completion_info_move_to_iter :: 
+    Ptr CompletionInfo ->                   -- _obj : TInterface "GtkSource" "CompletionInfo"
+    Ptr Gtk.TextView ->                     -- view : TInterface "Gtk" "TextView"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+completionInfoMoveToIter ::
+    (MonadIO m, CompletionInfoK a, Gtk.TextViewK b) =>
+    a                                       -- _obj
+    -> b                                    -- view
+    -> Maybe (Gtk.TextIter)                 -- iter
+    -> m ()                                 -- result
+completionInfoMoveToIter _obj view iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let view' = unsafeManagedPtrCastPtr view
+    maybeIter <- case iter of
+        Nothing -> return nullPtr
+        Just jIter -> do
+            let jIter' = unsafeManagedPtrGetPtr jIter
+            return jIter'
+    gtk_source_completion_info_move_to_iter _obj' view' maybeIter
+    touchManagedPtr _obj
+    touchManagedPtr view
+    whenJust iter touchManagedPtr
+    return ()
+
+data CompletionInfoMoveToIterMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.TextIter) -> m ()), MonadIO m, CompletionInfoK a, Gtk.TextViewK b) => MethodInfo CompletionInfoMoveToIterMethodInfo a signature where
+    overloadedMethod _ = completionInfoMoveToIter
+
+-- method CompletionInfo::set_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface "Gtk" "Widget", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_info_set_widget" gtk_source_completion_info_set_widget :: 
+    Ptr CompletionInfo ->                   -- _obj : TInterface "GtkSource" "CompletionInfo"
+    Ptr Gtk.Widget ->                       -- widget : TInterface "Gtk" "Widget"
+    IO ()
+
+{-# DEPRECATED completionInfoSetWidget ["(Since version 3.8)","Use gtk_container_add() instead. If there is already a child","widget, remove it with gtk_container_remove()."]#-}
+completionInfoSetWidget ::
+    (MonadIO m, CompletionInfoK a, Gtk.WidgetK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- widget
+    -> m ()                                 -- result
+completionInfoSetWidget _obj widget = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            let jWidget' = unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    gtk_source_completion_info_set_widget _obj' maybeWidget
+    touchManagedPtr _obj
+    whenJust widget touchManagedPtr
+    return ()
+
+data CompletionInfoSetWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, CompletionInfoK a, Gtk.WidgetK b) => MethodInfo CompletionInfoSetWidgetMethodInfo a signature where
+    overloadedMethod _ = completionInfoSetWidget
+
+
diff --git a/GI/GtkSource/Objects/CompletionInfo.hs-boot b/GI/GtkSource/Objects/CompletionInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionInfo.hs-boot
@@ -0,0 +1,17 @@
+module GI.GtkSource.Objects.CompletionInfo where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype CompletionInfo = CompletionInfo (ForeignPtr CompletionInfo)
+instance GObject CompletionInfo where
+class GObject o => CompletionInfoK o
+instance (GObject o, IsDescendantOf CompletionInfo o) => CompletionInfoK o
+data CompletionInfoBeforeShowSignalInfo
+data CompletionInfoGetWidgetMethodInfo
+data CompletionInfoMoveToIterMethodInfo
+data CompletionInfoSetWidgetMethodInfo
diff --git a/GI/GtkSource/Objects/CompletionItem.hs b/GI/GtkSource/Objects/CompletionItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionItem.hs
@@ -0,0 +1,544 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.CompletionItem
+    ( 
+
+-- * Exported types
+    CompletionItem(..)                      ,
+    CompletionItemK                         ,
+    toCompletionItem                        ,
+    noCompletionItem                        ,
+
+
+ -- * Methods
+-- ** completionItemNew
+    completionItemNew                       ,
+
+
+-- ** completionItemNewFromStock
+    completionItemNewFromStock              ,
+
+
+-- ** completionItemNewWithMarkup
+    completionItemNewWithMarkup             ,
+
+
+
+
+ -- * Properties
+-- ** Gicon
+    CompletionItemGiconPropertyInfo         ,
+    clearCompletionItemGicon                ,
+    completionItemGicon                     ,
+    constructCompletionItemGicon            ,
+    getCompletionItemGicon                  ,
+    setCompletionItemGicon                  ,
+
+
+-- ** Icon
+    CompletionItemIconPropertyInfo          ,
+    clearCompletionItemIcon                 ,
+    completionItemIcon                      ,
+    constructCompletionItemIcon             ,
+    getCompletionItemIcon                   ,
+    setCompletionItemIcon                   ,
+
+
+-- ** IconName
+    CompletionItemIconNamePropertyInfo      ,
+    clearCompletionItemIconName             ,
+    completionItemIconName                  ,
+    constructCompletionItemIconName         ,
+    getCompletionItemIconName               ,
+    setCompletionItemIconName               ,
+
+
+-- ** Info
+    CompletionItemInfoPropertyInfo          ,
+    clearCompletionItemInfo                 ,
+    completionItemInfo                      ,
+    constructCompletionItemInfo             ,
+    getCompletionItemInfo                   ,
+    setCompletionItemInfo                   ,
+
+
+-- ** Label
+    CompletionItemLabelPropertyInfo         ,
+    clearCompletionItemLabel                ,
+    completionItemLabel                     ,
+    constructCompletionItemLabel            ,
+    getCompletionItemLabel                  ,
+    setCompletionItemLabel                  ,
+
+
+-- ** Markup
+    CompletionItemMarkupPropertyInfo        ,
+    clearCompletionItemMarkup               ,
+    completionItemMarkup                    ,
+    constructCompletionItemMarkup           ,
+    getCompletionItemMarkup                 ,
+    setCompletionItemMarkup                 ,
+
+
+-- ** Text
+    CompletionItemTextPropertyInfo          ,
+    clearCompletionItemText                 ,
+    completionItemText                      ,
+    constructCompletionItemText             ,
+    getCompletionItemText                   ,
+    setCompletionItemText                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.Gio as Gio
+
+newtype CompletionItem = CompletionItem (ForeignPtr CompletionItem)
+foreign import ccall "gtk_source_completion_item_get_type"
+    c_gtk_source_completion_item_get_type :: IO GType
+
+type instance ParentTypes CompletionItem = CompletionItemParentTypes
+type CompletionItemParentTypes = '[GObject.Object, CompletionProposal]
+
+instance GObject CompletionItem where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_completion_item_get_type
+    
+
+class GObject o => CompletionItemK o
+instance (GObject o, IsDescendantOf CompletionItem o) => CompletionItemK o
+
+toCompletionItem :: CompletionItemK o => o -> IO CompletionItem
+toCompletionItem = unsafeCastTo CompletionItem
+
+noCompletionItem :: Maybe CompletionItem
+noCompletionItem = Nothing
+
+type family ResolveCompletionItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionItemMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionItemMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionItemMethod "changed" o = CompletionProposalChangedMethodInfo
+    ResolveCompletionItemMethod "equal" o = CompletionProposalEqualMethodInfo
+    ResolveCompletionItemMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionItemMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionItemMethod "hash" o = CompletionProposalHashMethodInfo
+    ResolveCompletionItemMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionItemMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionItemMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionItemMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionItemMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionItemMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionItemMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionItemMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionItemMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionItemMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionItemMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionItemMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionItemMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionItemMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionItemMethod "getGicon" o = CompletionProposalGetGiconMethodInfo
+    ResolveCompletionItemMethod "getIcon" o = CompletionProposalGetIconMethodInfo
+    ResolveCompletionItemMethod "getIconName" o = CompletionProposalGetIconNameMethodInfo
+    ResolveCompletionItemMethod "getInfo" o = CompletionProposalGetInfoMethodInfo
+    ResolveCompletionItemMethod "getLabel" o = CompletionProposalGetLabelMethodInfo
+    ResolveCompletionItemMethod "getMarkup" o = CompletionProposalGetMarkupMethodInfo
+    ResolveCompletionItemMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionItemMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionItemMethod "getText" o = CompletionProposalGetTextMethodInfo
+    ResolveCompletionItemMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionItemMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionItemMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionItemMethod t CompletionItem, MethodInfo info CompletionItem p) => IsLabelProxy t (CompletionItem -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionItemMethod t CompletionItem, MethodInfo info CompletionItem p) => IsLabel t (CompletionItem -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "gicon"
+   -- Type: TInterface "Gio" "Icon"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemGicon :: (MonadIO m, CompletionItemK o) => o -> m (Maybe Gio.Icon)
+getCompletionItemGicon obj = liftIO $ getObjectPropertyObject obj "gicon" Gio.Icon
+
+setCompletionItemGicon :: (MonadIO m, CompletionItemK o, Gio.IconK a) => o -> a -> m ()
+setCompletionItemGicon obj val = liftIO $ setObjectPropertyObject obj "gicon" (Just val)
+
+constructCompletionItemGicon :: (Gio.IconK a) => a -> IO ([Char], GValue)
+constructCompletionItemGicon val = constructObjectPropertyObject "gicon" (Just val)
+
+clearCompletionItemGicon :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemGicon obj = liftIO $ setObjectPropertyObject obj "gicon" (Nothing :: Maybe Gio.Icon)
+
+data CompletionItemGiconPropertyInfo
+instance AttrInfo CompletionItemGiconPropertyInfo where
+    type AttrAllowedOps CompletionItemGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemGiconPropertyInfo = Gio.IconK
+    type AttrBaseTypeConstraint CompletionItemGiconPropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemGiconPropertyInfo = (Maybe Gio.Icon)
+    type AttrLabel CompletionItemGiconPropertyInfo = "gicon"
+    attrGet _ = getCompletionItemGicon
+    attrSet _ = setCompletionItemGicon
+    attrConstruct _ = constructCompletionItemGicon
+    attrClear _ = clearCompletionItemGicon
+
+-- VVV Prop "icon"
+   -- Type: TInterface "GdkPixbuf" "Pixbuf"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemIcon :: (MonadIO m, CompletionItemK o) => o -> m (Maybe GdkPixbuf.Pixbuf)
+getCompletionItemIcon obj = liftIO $ getObjectPropertyObject obj "icon" GdkPixbuf.Pixbuf
+
+setCompletionItemIcon :: (MonadIO m, CompletionItemK o, GdkPixbuf.PixbufK a) => o -> a -> m ()
+setCompletionItemIcon obj val = liftIO $ setObjectPropertyObject obj "icon" (Just val)
+
+constructCompletionItemIcon :: (GdkPixbuf.PixbufK a) => a -> IO ([Char], GValue)
+constructCompletionItemIcon val = constructObjectPropertyObject "icon" (Just val)
+
+clearCompletionItemIcon :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemIcon obj = liftIO $ setObjectPropertyObject obj "icon" (Nothing :: Maybe GdkPixbuf.Pixbuf)
+
+data CompletionItemIconPropertyInfo
+instance AttrInfo CompletionItemIconPropertyInfo where
+    type AttrAllowedOps CompletionItemIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemIconPropertyInfo = GdkPixbuf.PixbufK
+    type AttrBaseTypeConstraint CompletionItemIconPropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemIconPropertyInfo = (Maybe GdkPixbuf.Pixbuf)
+    type AttrLabel CompletionItemIconPropertyInfo = "icon"
+    attrGet _ = getCompletionItemIcon
+    attrSet _ = setCompletionItemIcon
+    attrConstruct _ = constructCompletionItemIcon
+    attrClear _ = clearCompletionItemIcon
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemIconName :: (MonadIO m, CompletionItemK o) => o -> m (Maybe T.Text)
+getCompletionItemIconName obj = liftIO $ getObjectPropertyString obj "icon-name"
+
+setCompletionItemIconName :: (MonadIO m, CompletionItemK o) => o -> T.Text -> m ()
+setCompletionItemIconName obj val = liftIO $ setObjectPropertyString obj "icon-name" (Just val)
+
+constructCompletionItemIconName :: T.Text -> IO ([Char], GValue)
+constructCompletionItemIconName val = constructObjectPropertyString "icon-name" (Just val)
+
+clearCompletionItemIconName :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemIconName obj = liftIO $ setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+data CompletionItemIconNamePropertyInfo
+instance AttrInfo CompletionItemIconNamePropertyInfo where
+    type AttrAllowedOps CompletionItemIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CompletionItemIconNamePropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel CompletionItemIconNamePropertyInfo = "icon-name"
+    attrGet _ = getCompletionItemIconName
+    attrSet _ = setCompletionItemIconName
+    attrConstruct _ = constructCompletionItemIconName
+    attrClear _ = clearCompletionItemIconName
+
+-- VVV Prop "info"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemInfo :: (MonadIO m, CompletionItemK o) => o -> m (Maybe T.Text)
+getCompletionItemInfo obj = liftIO $ getObjectPropertyString obj "info"
+
+setCompletionItemInfo :: (MonadIO m, CompletionItemK o) => o -> T.Text -> m ()
+setCompletionItemInfo obj val = liftIO $ setObjectPropertyString obj "info" (Just val)
+
+constructCompletionItemInfo :: T.Text -> IO ([Char], GValue)
+constructCompletionItemInfo val = constructObjectPropertyString "info" (Just val)
+
+clearCompletionItemInfo :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemInfo obj = liftIO $ setObjectPropertyString obj "info" (Nothing :: Maybe T.Text)
+
+data CompletionItemInfoPropertyInfo
+instance AttrInfo CompletionItemInfoPropertyInfo where
+    type AttrAllowedOps CompletionItemInfoPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemInfoPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CompletionItemInfoPropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemInfoPropertyInfo = (Maybe T.Text)
+    type AttrLabel CompletionItemInfoPropertyInfo = "info"
+    attrGet _ = getCompletionItemInfo
+    attrSet _ = setCompletionItemInfo
+    attrConstruct _ = constructCompletionItemInfo
+    attrClear _ = clearCompletionItemInfo
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemLabel :: (MonadIO m, CompletionItemK o) => o -> m (Maybe T.Text)
+getCompletionItemLabel obj = liftIO $ getObjectPropertyString obj "label"
+
+setCompletionItemLabel :: (MonadIO m, CompletionItemK o) => o -> T.Text -> m ()
+setCompletionItemLabel obj val = liftIO $ setObjectPropertyString obj "label" (Just val)
+
+constructCompletionItemLabel :: T.Text -> IO ([Char], GValue)
+constructCompletionItemLabel val = constructObjectPropertyString "label" (Just val)
+
+clearCompletionItemLabel :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemLabel obj = liftIO $ setObjectPropertyString obj "label" (Nothing :: Maybe T.Text)
+
+data CompletionItemLabelPropertyInfo
+instance AttrInfo CompletionItemLabelPropertyInfo where
+    type AttrAllowedOps CompletionItemLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CompletionItemLabelPropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel CompletionItemLabelPropertyInfo = "label"
+    attrGet _ = getCompletionItemLabel
+    attrSet _ = setCompletionItemLabel
+    attrConstruct _ = constructCompletionItemLabel
+    attrClear _ = clearCompletionItemLabel
+
+-- VVV Prop "markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemMarkup :: (MonadIO m, CompletionItemK o) => o -> m (Maybe T.Text)
+getCompletionItemMarkup obj = liftIO $ getObjectPropertyString obj "markup"
+
+setCompletionItemMarkup :: (MonadIO m, CompletionItemK o) => o -> T.Text -> m ()
+setCompletionItemMarkup obj val = liftIO $ setObjectPropertyString obj "markup" (Just val)
+
+constructCompletionItemMarkup :: T.Text -> IO ([Char], GValue)
+constructCompletionItemMarkup val = constructObjectPropertyString "markup" (Just val)
+
+clearCompletionItemMarkup :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemMarkup obj = liftIO $ setObjectPropertyString obj "markup" (Nothing :: Maybe T.Text)
+
+data CompletionItemMarkupPropertyInfo
+instance AttrInfo CompletionItemMarkupPropertyInfo where
+    type AttrAllowedOps CompletionItemMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CompletionItemMarkupPropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemMarkupPropertyInfo = (Maybe T.Text)
+    type AttrLabel CompletionItemMarkupPropertyInfo = "markup"
+    attrGet _ = getCompletionItemMarkup
+    attrSet _ = setCompletionItemMarkup
+    attrConstruct _ = constructCompletionItemMarkup
+    attrClear _ = clearCompletionItemMarkup
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionItemText :: (MonadIO m, CompletionItemK o) => o -> m (Maybe T.Text)
+getCompletionItemText obj = liftIO $ getObjectPropertyString obj "text"
+
+setCompletionItemText :: (MonadIO m, CompletionItemK o) => o -> T.Text -> m ()
+setCompletionItemText obj val = liftIO $ setObjectPropertyString obj "text" (Just val)
+
+constructCompletionItemText :: T.Text -> IO ([Char], GValue)
+constructCompletionItemText val = constructObjectPropertyString "text" (Just val)
+
+clearCompletionItemText :: (MonadIO m, CompletionItemK o) => o -> m ()
+clearCompletionItemText obj = liftIO $ setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+data CompletionItemTextPropertyInfo
+instance AttrInfo CompletionItemTextPropertyInfo where
+    type AttrAllowedOps CompletionItemTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionItemTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CompletionItemTextPropertyInfo = CompletionItemK
+    type AttrGetType CompletionItemTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel CompletionItemTextPropertyInfo = "text"
+    attrGet _ = getCompletionItemText
+    attrSet _ = setCompletionItemText
+    attrConstruct _ = constructCompletionItemText
+    attrClear _ = clearCompletionItemText
+
+type instance AttributeList CompletionItem = CompletionItemAttributeList
+type CompletionItemAttributeList = ('[ '("gicon", CompletionItemGiconPropertyInfo), '("icon", CompletionItemIconPropertyInfo), '("iconName", CompletionItemIconNamePropertyInfo), '("info", CompletionItemInfoPropertyInfo), '("label", CompletionItemLabelPropertyInfo), '("markup", CompletionItemMarkupPropertyInfo), '("text", CompletionItemTextPropertyInfo)] :: [(Symbol, *)])
+
+completionItemGicon :: AttrLabelProxy "gicon"
+completionItemGicon = AttrLabelProxy
+
+completionItemIcon :: AttrLabelProxy "icon"
+completionItemIcon = AttrLabelProxy
+
+completionItemIconName :: AttrLabelProxy "iconName"
+completionItemIconName = AttrLabelProxy
+
+completionItemInfo :: AttrLabelProxy "info"
+completionItemInfo = AttrLabelProxy
+
+completionItemLabel :: AttrLabelProxy "label"
+completionItemLabel = AttrLabelProxy
+
+completionItemMarkup :: AttrLabelProxy "markup"
+completionItemMarkup = AttrLabelProxy
+
+completionItemText :: AttrLabelProxy "text"
+completionItemText = AttrLabelProxy
+
+type instance SignalList CompletionItem = CompletionItemSignalList
+type CompletionItemSignalList = ('[ '("changed", CompletionProposalChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method CompletionItem::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionItem")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_item_new" gtk_source_completion_item_new :: 
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- text : TBasicType TUTF8
+    Ptr GdkPixbuf.Pixbuf ->                 -- icon : TInterface "GdkPixbuf" "Pixbuf"
+    CString ->                              -- info : TBasicType TUTF8
+    IO (Ptr CompletionItem)
+
+
+completionItemNew ::
+    (MonadIO m, GdkPixbuf.PixbufK a) =>
+    T.Text                                  -- label
+    -> T.Text                               -- text
+    -> Maybe (a)                            -- icon
+    -> Maybe (T.Text)                       -- info
+    -> m CompletionItem                     -- result
+completionItemNew label text icon info = liftIO $ do
+    label' <- textToCString label
+    text' <- textToCString text
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            let jIcon' = unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    maybeInfo <- case info of
+        Nothing -> return nullPtr
+        Just jInfo -> do
+            jInfo' <- textToCString jInfo
+            return jInfo'
+    result <- gtk_source_completion_item_new label' text' maybeIcon maybeInfo
+    checkUnexpectedReturnNULL "gtk_source_completion_item_new" result
+    result' <- (wrapObject CompletionItem) result
+    whenJust icon touchManagedPtr
+    freeMem label'
+    freeMem text'
+    freeMem maybeInfo
+    return result'
+
+-- method CompletionItem::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionItem")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_item_new_from_stock" gtk_source_completion_item_new_from_stock :: 
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- text : TBasicType TUTF8
+    CString ->                              -- stock : TBasicType TUTF8
+    CString ->                              -- info : TBasicType TUTF8
+    IO (Ptr CompletionItem)
+
+{-# DEPRECATED completionItemNewFromStock ["(Since version 3.10)","Use gtk_source_completion_item_new() instead."]#-}
+completionItemNewFromStock ::
+    (MonadIO m) =>
+    Maybe (T.Text)                          -- label
+    -> T.Text                               -- text
+    -> T.Text                               -- stock
+    -> Maybe (T.Text)                       -- info
+    -> m CompletionItem                     -- result
+completionItemNewFromStock label text stock info = liftIO $ do
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    text' <- textToCString text
+    stock' <- textToCString stock
+    maybeInfo <- case info of
+        Nothing -> return nullPtr
+        Just jInfo -> do
+            jInfo' <- textToCString jInfo
+            return jInfo'
+    result <- gtk_source_completion_item_new_from_stock maybeLabel text' stock' maybeInfo
+    checkUnexpectedReturnNULL "gtk_source_completion_item_new_from_stock" result
+    result' <- (wrapObject CompletionItem) result
+    freeMem maybeLabel
+    freeMem text'
+    freeMem stock'
+    freeMem maybeInfo
+    return result'
+
+-- method CompletionItem::new_with_markup
+-- method type : Constructor
+-- Args : [Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionItem")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_item_new_with_markup" gtk_source_completion_item_new_with_markup :: 
+    CString ->                              -- markup : TBasicType TUTF8
+    CString ->                              -- text : TBasicType TUTF8
+    Ptr GdkPixbuf.Pixbuf ->                 -- icon : TInterface "GdkPixbuf" "Pixbuf"
+    CString ->                              -- info : TBasicType TUTF8
+    IO (Ptr CompletionItem)
+
+
+completionItemNewWithMarkup ::
+    (MonadIO m, GdkPixbuf.PixbufK a) =>
+    T.Text                                  -- markup
+    -> T.Text                               -- text
+    -> Maybe (a)                            -- icon
+    -> Maybe (T.Text)                       -- info
+    -> m CompletionItem                     -- result
+completionItemNewWithMarkup markup text icon info = liftIO $ do
+    markup' <- textToCString markup
+    text' <- textToCString text
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            let jIcon' = unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    maybeInfo <- case info of
+        Nothing -> return nullPtr
+        Just jInfo -> do
+            jInfo' <- textToCString jInfo
+            return jInfo'
+    result <- gtk_source_completion_item_new_with_markup markup' text' maybeIcon maybeInfo
+    checkUnexpectedReturnNULL "gtk_source_completion_item_new_with_markup" result
+    result' <- (wrapObject CompletionItem) result
+    whenJust icon touchManagedPtr
+    freeMem markup'
+    freeMem text'
+    freeMem maybeInfo
+    return result'
+
+
diff --git a/GI/GtkSource/Objects/CompletionItem.hs-boot b/GI/GtkSource/Objects/CompletionItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionItem.hs-boot
@@ -0,0 +1,20 @@
+module GI.GtkSource.Objects.CompletionItem where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype CompletionItem = CompletionItem (ForeignPtr CompletionItem)
+instance GObject CompletionItem where
+class GObject o => CompletionItemK o
+instance (GObject o, IsDescendantOf CompletionItem o) => CompletionItemK o
+data CompletionItemGiconPropertyInfo
+data CompletionItemIconPropertyInfo
+data CompletionItemIconNamePropertyInfo
+data CompletionItemInfoPropertyInfo
+data CompletionItemLabelPropertyInfo
+data CompletionItemMarkupPropertyInfo
+data CompletionItemTextPropertyInfo
diff --git a/GI/GtkSource/Objects/CompletionWords.hs b/GI/GtkSource/Objects/CompletionWords.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionWords.hs
@@ -0,0 +1,532 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.CompletionWords
+    ( 
+
+-- * Exported types
+    CompletionWords(..)                     ,
+    CompletionWordsK                        ,
+    toCompletionWords                       ,
+    noCompletionWords                       ,
+
+
+ -- * Methods
+-- ** completionWordsNew
+    completionWordsNew                      ,
+
+
+-- ** completionWordsRegister
+    CompletionWordsRegisterMethodInfo       ,
+    completionWordsRegister                 ,
+
+
+-- ** completionWordsUnregister
+    CompletionWordsUnregisterMethodInfo     ,
+    completionWordsUnregister               ,
+
+
+
+
+ -- * Properties
+-- ** Activation
+    CompletionWordsActivationPropertyInfo   ,
+    completionWordsActivation               ,
+    constructCompletionWordsActivation      ,
+    getCompletionWordsActivation            ,
+    setCompletionWordsActivation            ,
+
+
+-- ** Icon
+    CompletionWordsIconPropertyInfo         ,
+    clearCompletionWordsIcon                ,
+    completionWordsIcon                     ,
+    constructCompletionWordsIcon            ,
+    getCompletionWordsIcon                  ,
+    setCompletionWordsIcon                  ,
+
+
+-- ** InteractiveDelay
+    CompletionWordsInteractiveDelayPropertyInfo,
+    completionWordsInteractiveDelay         ,
+    constructCompletionWordsInteractiveDelay,
+    getCompletionWordsInteractiveDelay      ,
+    setCompletionWordsInteractiveDelay      ,
+
+
+-- ** MinimumWordSize
+    CompletionWordsMinimumWordSizePropertyInfo,
+    completionWordsMinimumWordSize          ,
+    constructCompletionWordsMinimumWordSize ,
+    getCompletionWordsMinimumWordSize       ,
+    setCompletionWordsMinimumWordSize       ,
+
+
+-- ** Name
+    CompletionWordsNamePropertyInfo         ,
+    clearCompletionWordsName                ,
+    completionWordsName                     ,
+    constructCompletionWordsName            ,
+    getCompletionWordsName                  ,
+    setCompletionWordsName                  ,
+
+
+-- ** Priority
+    CompletionWordsPriorityPropertyInfo     ,
+    completionWordsPriority                 ,
+    constructCompletionWordsPriority        ,
+    getCompletionWordsPriority              ,
+    setCompletionWordsPriority              ,
+
+
+-- ** ProposalsBatchSize
+    CompletionWordsProposalsBatchSizePropertyInfo,
+    completionWordsProposalsBatchSize       ,
+    constructCompletionWordsProposalsBatchSize,
+    getCompletionWordsProposalsBatchSize    ,
+    setCompletionWordsProposalsBatchSize    ,
+
+
+-- ** ScanBatchSize
+    CompletionWordsScanBatchSizePropertyInfo,
+    completionWordsScanBatchSize            ,
+    constructCompletionWordsScanBatchSize   ,
+    getCompletionWordsScanBatchSize         ,
+    setCompletionWordsScanBatchSize         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.Gtk as Gtk
+
+newtype CompletionWords = CompletionWords (ForeignPtr CompletionWords)
+foreign import ccall "gtk_source_completion_words_get_type"
+    c_gtk_source_completion_words_get_type :: IO GType
+
+type instance ParentTypes CompletionWords = CompletionWordsParentTypes
+type CompletionWordsParentTypes = '[GObject.Object, CompletionProvider]
+
+instance GObject CompletionWords where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_completion_words_get_type
+    
+
+class GObject o => CompletionWordsK o
+instance (GObject o, IsDescendantOf CompletionWords o) => CompletionWordsK o
+
+toCompletionWords :: CompletionWordsK o => o -> IO CompletionWords
+toCompletionWords = unsafeCastTo CompletionWords
+
+noCompletionWords :: Maybe CompletionWords
+noCompletionWords = Nothing
+
+type family ResolveCompletionWordsMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCompletionWordsMethod "activateProposal" o = CompletionProviderActivateProposalMethodInfo
+    ResolveCompletionWordsMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveCompletionWordsMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveCompletionWordsMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveCompletionWordsMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveCompletionWordsMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveCompletionWordsMethod "match" o = CompletionProviderMatchMethodInfo
+    ResolveCompletionWordsMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveCompletionWordsMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveCompletionWordsMethod "populate" o = CompletionProviderPopulateMethodInfo
+    ResolveCompletionWordsMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveCompletionWordsMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveCompletionWordsMethod "register" o = CompletionWordsRegisterMethodInfo
+    ResolveCompletionWordsMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveCompletionWordsMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveCompletionWordsMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveCompletionWordsMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveCompletionWordsMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveCompletionWordsMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveCompletionWordsMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveCompletionWordsMethod "unregister" o = CompletionWordsUnregisterMethodInfo
+    ResolveCompletionWordsMethod "updateInfo" o = CompletionProviderUpdateInfoMethodInfo
+    ResolveCompletionWordsMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveCompletionWordsMethod "getActivation" o = CompletionProviderGetActivationMethodInfo
+    ResolveCompletionWordsMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveCompletionWordsMethod "getGicon" o = CompletionProviderGetGiconMethodInfo
+    ResolveCompletionWordsMethod "getIcon" o = CompletionProviderGetIconMethodInfo
+    ResolveCompletionWordsMethod "getIconName" o = CompletionProviderGetIconNameMethodInfo
+    ResolveCompletionWordsMethod "getInfoWidget" o = CompletionProviderGetInfoWidgetMethodInfo
+    ResolveCompletionWordsMethod "getInteractiveDelay" o = CompletionProviderGetInteractiveDelayMethodInfo
+    ResolveCompletionWordsMethod "getName" o = CompletionProviderGetNameMethodInfo
+    ResolveCompletionWordsMethod "getPriority" o = CompletionProviderGetPriorityMethodInfo
+    ResolveCompletionWordsMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveCompletionWordsMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveCompletionWordsMethod "getStartIter" o = CompletionProviderGetStartIterMethodInfo
+    ResolveCompletionWordsMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveCompletionWordsMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveCompletionWordsMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCompletionWordsMethod t CompletionWords, MethodInfo info CompletionWords p) => IsLabelProxy t (CompletionWords -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCompletionWordsMethod t CompletionWords, MethodInfo info CompletionWords p) => IsLabel t (CompletionWords -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "activation"
+   -- Type: TInterface "GtkSource" "CompletionActivation"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsActivation :: (MonadIO m, CompletionWordsK o) => o -> m [CompletionActivation]
+getCompletionWordsActivation obj = liftIO $ getObjectPropertyFlags obj "activation"
+
+setCompletionWordsActivation :: (MonadIO m, CompletionWordsK o) => o -> [CompletionActivation] -> m ()
+setCompletionWordsActivation obj val = liftIO $ setObjectPropertyFlags obj "activation" val
+
+constructCompletionWordsActivation :: [CompletionActivation] -> IO ([Char], GValue)
+constructCompletionWordsActivation val = constructObjectPropertyFlags "activation" val
+
+data CompletionWordsActivationPropertyInfo
+instance AttrInfo CompletionWordsActivationPropertyInfo where
+    type AttrAllowedOps CompletionWordsActivationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionWordsActivationPropertyInfo = (~) [CompletionActivation]
+    type AttrBaseTypeConstraint CompletionWordsActivationPropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsActivationPropertyInfo = [CompletionActivation]
+    type AttrLabel CompletionWordsActivationPropertyInfo = "activation"
+    attrGet _ = getCompletionWordsActivation
+    attrSet _ = setCompletionWordsActivation
+    attrConstruct _ = constructCompletionWordsActivation
+    attrClear _ = undefined
+
+-- VVV Prop "icon"
+   -- Type: TInterface "GdkPixbuf" "Pixbuf"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsIcon :: (MonadIO m, CompletionWordsK o) => o -> m (Maybe GdkPixbuf.Pixbuf)
+getCompletionWordsIcon obj = liftIO $ getObjectPropertyObject obj "icon" GdkPixbuf.Pixbuf
+
+setCompletionWordsIcon :: (MonadIO m, CompletionWordsK o, GdkPixbuf.PixbufK a) => o -> a -> m ()
+setCompletionWordsIcon obj val = liftIO $ setObjectPropertyObject obj "icon" (Just val)
+
+constructCompletionWordsIcon :: (GdkPixbuf.PixbufK a) => a -> IO ([Char], GValue)
+constructCompletionWordsIcon val = constructObjectPropertyObject "icon" (Just val)
+
+clearCompletionWordsIcon :: (MonadIO m, CompletionWordsK o) => o -> m ()
+clearCompletionWordsIcon obj = liftIO $ setObjectPropertyObject obj "icon" (Nothing :: Maybe GdkPixbuf.Pixbuf)
+
+data CompletionWordsIconPropertyInfo
+instance AttrInfo CompletionWordsIconPropertyInfo where
+    type AttrAllowedOps CompletionWordsIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionWordsIconPropertyInfo = GdkPixbuf.PixbufK
+    type AttrBaseTypeConstraint CompletionWordsIconPropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsIconPropertyInfo = (Maybe GdkPixbuf.Pixbuf)
+    type AttrLabel CompletionWordsIconPropertyInfo = "icon"
+    attrGet _ = getCompletionWordsIcon
+    attrSet _ = setCompletionWordsIcon
+    attrConstruct _ = constructCompletionWordsIcon
+    attrClear _ = clearCompletionWordsIcon
+
+-- VVV Prop "interactive-delay"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsInteractiveDelay :: (MonadIO m, CompletionWordsK o) => o -> m Int32
+getCompletionWordsInteractiveDelay obj = liftIO $ getObjectPropertyInt32 obj "interactive-delay"
+
+setCompletionWordsInteractiveDelay :: (MonadIO m, CompletionWordsK o) => o -> Int32 -> m ()
+setCompletionWordsInteractiveDelay obj val = liftIO $ setObjectPropertyInt32 obj "interactive-delay" val
+
+constructCompletionWordsInteractiveDelay :: Int32 -> IO ([Char], GValue)
+constructCompletionWordsInteractiveDelay val = constructObjectPropertyInt32 "interactive-delay" val
+
+data CompletionWordsInteractiveDelayPropertyInfo
+instance AttrInfo CompletionWordsInteractiveDelayPropertyInfo where
+    type AttrAllowedOps CompletionWordsInteractiveDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionWordsInteractiveDelayPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CompletionWordsInteractiveDelayPropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsInteractiveDelayPropertyInfo = Int32
+    type AttrLabel CompletionWordsInteractiveDelayPropertyInfo = "interactive-delay"
+    attrGet _ = getCompletionWordsInteractiveDelay
+    attrSet _ = setCompletionWordsInteractiveDelay
+    attrConstruct _ = constructCompletionWordsInteractiveDelay
+    attrClear _ = undefined
+
+-- VVV Prop "minimum-word-size"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsMinimumWordSize :: (MonadIO m, CompletionWordsK o) => o -> m Word32
+getCompletionWordsMinimumWordSize obj = liftIO $ getObjectPropertyUInt32 obj "minimum-word-size"
+
+setCompletionWordsMinimumWordSize :: (MonadIO m, CompletionWordsK o) => o -> Word32 -> m ()
+setCompletionWordsMinimumWordSize obj val = liftIO $ setObjectPropertyUInt32 obj "minimum-word-size" val
+
+constructCompletionWordsMinimumWordSize :: Word32 -> IO ([Char], GValue)
+constructCompletionWordsMinimumWordSize val = constructObjectPropertyUInt32 "minimum-word-size" val
+
+data CompletionWordsMinimumWordSizePropertyInfo
+instance AttrInfo CompletionWordsMinimumWordSizePropertyInfo where
+    type AttrAllowedOps CompletionWordsMinimumWordSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionWordsMinimumWordSizePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionWordsMinimumWordSizePropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsMinimumWordSizePropertyInfo = Word32
+    type AttrLabel CompletionWordsMinimumWordSizePropertyInfo = "minimum-word-size"
+    attrGet _ = getCompletionWordsMinimumWordSize
+    attrSet _ = setCompletionWordsMinimumWordSize
+    attrConstruct _ = constructCompletionWordsMinimumWordSize
+    attrClear _ = undefined
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsName :: (MonadIO m, CompletionWordsK o) => o -> m (Maybe T.Text)
+getCompletionWordsName obj = liftIO $ getObjectPropertyString obj "name"
+
+setCompletionWordsName :: (MonadIO m, CompletionWordsK o) => o -> T.Text -> m ()
+setCompletionWordsName obj val = liftIO $ setObjectPropertyString obj "name" (Just val)
+
+constructCompletionWordsName :: T.Text -> IO ([Char], GValue)
+constructCompletionWordsName val = constructObjectPropertyString "name" (Just val)
+
+clearCompletionWordsName :: (MonadIO m, CompletionWordsK o) => o -> m ()
+clearCompletionWordsName obj = liftIO $ setObjectPropertyString obj "name" (Nothing :: Maybe T.Text)
+
+data CompletionWordsNamePropertyInfo
+instance AttrInfo CompletionWordsNamePropertyInfo where
+    type AttrAllowedOps CompletionWordsNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CompletionWordsNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CompletionWordsNamePropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel CompletionWordsNamePropertyInfo = "name"
+    attrGet _ = getCompletionWordsName
+    attrSet _ = setCompletionWordsName
+    attrConstruct _ = constructCompletionWordsName
+    attrClear _ = clearCompletionWordsName
+
+-- VVV Prop "priority"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsPriority :: (MonadIO m, CompletionWordsK o) => o -> m Int32
+getCompletionWordsPriority obj = liftIO $ getObjectPropertyInt32 obj "priority"
+
+setCompletionWordsPriority :: (MonadIO m, CompletionWordsK o) => o -> Int32 -> m ()
+setCompletionWordsPriority obj val = liftIO $ setObjectPropertyInt32 obj "priority" val
+
+constructCompletionWordsPriority :: Int32 -> IO ([Char], GValue)
+constructCompletionWordsPriority val = constructObjectPropertyInt32 "priority" val
+
+data CompletionWordsPriorityPropertyInfo
+instance AttrInfo CompletionWordsPriorityPropertyInfo where
+    type AttrAllowedOps CompletionWordsPriorityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionWordsPriorityPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CompletionWordsPriorityPropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsPriorityPropertyInfo = Int32
+    type AttrLabel CompletionWordsPriorityPropertyInfo = "priority"
+    attrGet _ = getCompletionWordsPriority
+    attrSet _ = setCompletionWordsPriority
+    attrConstruct _ = constructCompletionWordsPriority
+    attrClear _ = undefined
+
+-- VVV Prop "proposals-batch-size"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsProposalsBatchSize :: (MonadIO m, CompletionWordsK o) => o -> m Word32
+getCompletionWordsProposalsBatchSize obj = liftIO $ getObjectPropertyUInt32 obj "proposals-batch-size"
+
+setCompletionWordsProposalsBatchSize :: (MonadIO m, CompletionWordsK o) => o -> Word32 -> m ()
+setCompletionWordsProposalsBatchSize obj val = liftIO $ setObjectPropertyUInt32 obj "proposals-batch-size" val
+
+constructCompletionWordsProposalsBatchSize :: Word32 -> IO ([Char], GValue)
+constructCompletionWordsProposalsBatchSize val = constructObjectPropertyUInt32 "proposals-batch-size" val
+
+data CompletionWordsProposalsBatchSizePropertyInfo
+instance AttrInfo CompletionWordsProposalsBatchSizePropertyInfo where
+    type AttrAllowedOps CompletionWordsProposalsBatchSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionWordsProposalsBatchSizePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionWordsProposalsBatchSizePropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsProposalsBatchSizePropertyInfo = Word32
+    type AttrLabel CompletionWordsProposalsBatchSizePropertyInfo = "proposals-batch-size"
+    attrGet _ = getCompletionWordsProposalsBatchSize
+    attrSet _ = setCompletionWordsProposalsBatchSize
+    attrConstruct _ = constructCompletionWordsProposalsBatchSize
+    attrClear _ = undefined
+
+-- VVV Prop "scan-batch-size"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getCompletionWordsScanBatchSize :: (MonadIO m, CompletionWordsK o) => o -> m Word32
+getCompletionWordsScanBatchSize obj = liftIO $ getObjectPropertyUInt32 obj "scan-batch-size"
+
+setCompletionWordsScanBatchSize :: (MonadIO m, CompletionWordsK o) => o -> Word32 -> m ()
+setCompletionWordsScanBatchSize obj val = liftIO $ setObjectPropertyUInt32 obj "scan-batch-size" val
+
+constructCompletionWordsScanBatchSize :: Word32 -> IO ([Char], GValue)
+constructCompletionWordsScanBatchSize val = constructObjectPropertyUInt32 "scan-batch-size" val
+
+data CompletionWordsScanBatchSizePropertyInfo
+instance AttrInfo CompletionWordsScanBatchSizePropertyInfo where
+    type AttrAllowedOps CompletionWordsScanBatchSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CompletionWordsScanBatchSizePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CompletionWordsScanBatchSizePropertyInfo = CompletionWordsK
+    type AttrGetType CompletionWordsScanBatchSizePropertyInfo = Word32
+    type AttrLabel CompletionWordsScanBatchSizePropertyInfo = "scan-batch-size"
+    attrGet _ = getCompletionWordsScanBatchSize
+    attrSet _ = setCompletionWordsScanBatchSize
+    attrConstruct _ = constructCompletionWordsScanBatchSize
+    attrClear _ = undefined
+
+type instance AttributeList CompletionWords = CompletionWordsAttributeList
+type CompletionWordsAttributeList = ('[ '("activation", CompletionWordsActivationPropertyInfo), '("icon", CompletionWordsIconPropertyInfo), '("interactiveDelay", CompletionWordsInteractiveDelayPropertyInfo), '("minimumWordSize", CompletionWordsMinimumWordSizePropertyInfo), '("name", CompletionWordsNamePropertyInfo), '("priority", CompletionWordsPriorityPropertyInfo), '("proposalsBatchSize", CompletionWordsProposalsBatchSizePropertyInfo), '("scanBatchSize", CompletionWordsScanBatchSizePropertyInfo)] :: [(Symbol, *)])
+
+completionWordsActivation :: AttrLabelProxy "activation"
+completionWordsActivation = AttrLabelProxy
+
+completionWordsIcon :: AttrLabelProxy "icon"
+completionWordsIcon = AttrLabelProxy
+
+completionWordsInteractiveDelay :: AttrLabelProxy "interactiveDelay"
+completionWordsInteractiveDelay = AttrLabelProxy
+
+completionWordsMinimumWordSize :: AttrLabelProxy "minimumWordSize"
+completionWordsMinimumWordSize = AttrLabelProxy
+
+completionWordsName :: AttrLabelProxy "name"
+completionWordsName = AttrLabelProxy
+
+completionWordsPriority :: AttrLabelProxy "priority"
+completionWordsPriority = AttrLabelProxy
+
+completionWordsProposalsBatchSize :: AttrLabelProxy "proposalsBatchSize"
+completionWordsProposalsBatchSize = AttrLabelProxy
+
+completionWordsScanBatchSize :: AttrLabelProxy "scanBatchSize"
+completionWordsScanBatchSize = AttrLabelProxy
+
+type instance SignalList CompletionWords = CompletionWordsSignalList
+type CompletionWordsSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method CompletionWords::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompletionWords")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_words_new" gtk_source_completion_words_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr GdkPixbuf.Pixbuf ->                 -- icon : TInterface "GdkPixbuf" "Pixbuf"
+    IO (Ptr CompletionWords)
+
+
+completionWordsNew ::
+    (MonadIO m, GdkPixbuf.PixbufK a) =>
+    Maybe (T.Text)                          -- name
+    -> Maybe (a)                            -- icon
+    -> m CompletionWords                    -- result
+completionWordsNew name icon = liftIO $ do
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            let jIcon' = unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    result <- gtk_source_completion_words_new maybeName maybeIcon
+    checkUnexpectedReturnNULL "gtk_source_completion_words_new" result
+    result' <- (wrapObject CompletionWords) result
+    whenJust icon touchManagedPtr
+    freeMem maybeName
+    return result'
+
+-- method CompletionWords::register
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionWords", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gtk" "TextBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_words_register" gtk_source_completion_words_register :: 
+    Ptr CompletionWords ->                  -- _obj : TInterface "GtkSource" "CompletionWords"
+    Ptr Gtk.TextBuffer ->                   -- buffer : TInterface "Gtk" "TextBuffer"
+    IO ()
+
+
+completionWordsRegister ::
+    (MonadIO m, CompletionWordsK a, Gtk.TextBufferK b) =>
+    a                                       -- _obj
+    -> b                                    -- buffer
+    -> m ()                                 -- result
+completionWordsRegister _obj buffer = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    gtk_source_completion_words_register _obj' buffer'
+    touchManagedPtr _obj
+    touchManagedPtr buffer
+    return ()
+
+data CompletionWordsRegisterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, CompletionWordsK a, Gtk.TextBufferK b) => MethodInfo CompletionWordsRegisterMethodInfo a signature where
+    overloadedMethod _ = completionWordsRegister
+
+-- method CompletionWords::unregister
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "CompletionWords", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gtk" "TextBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_completion_words_unregister" gtk_source_completion_words_unregister :: 
+    Ptr CompletionWords ->                  -- _obj : TInterface "GtkSource" "CompletionWords"
+    Ptr Gtk.TextBuffer ->                   -- buffer : TInterface "Gtk" "TextBuffer"
+    IO ()
+
+
+completionWordsUnregister ::
+    (MonadIO m, CompletionWordsK a, Gtk.TextBufferK b) =>
+    a                                       -- _obj
+    -> b                                    -- buffer
+    -> m ()                                 -- result
+completionWordsUnregister _obj buffer = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    gtk_source_completion_words_unregister _obj' buffer'
+    touchManagedPtr _obj
+    touchManagedPtr buffer
+    return ()
+
+data CompletionWordsUnregisterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, CompletionWordsK a, Gtk.TextBufferK b) => MethodInfo CompletionWordsUnregisterMethodInfo a signature where
+    overloadedMethod _ = completionWordsUnregister
+
+
diff --git a/GI/GtkSource/Objects/CompletionWords.hs-boot b/GI/GtkSource/Objects/CompletionWords.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/CompletionWords.hs-boot
@@ -0,0 +1,23 @@
+module GI.GtkSource.Objects.CompletionWords where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype CompletionWords = CompletionWords (ForeignPtr CompletionWords)
+instance GObject CompletionWords where
+class GObject o => CompletionWordsK o
+instance (GObject o, IsDescendantOf CompletionWords o) => CompletionWordsK o
+data CompletionWordsActivationPropertyInfo
+data CompletionWordsIconPropertyInfo
+data CompletionWordsInteractiveDelayPropertyInfo
+data CompletionWordsMinimumWordSizePropertyInfo
+data CompletionWordsNamePropertyInfo
+data CompletionWordsPriorityPropertyInfo
+data CompletionWordsProposalsBatchSizePropertyInfo
+data CompletionWordsScanBatchSizePropertyInfo
+data CompletionWordsRegisterMethodInfo
+data CompletionWordsUnregisterMethodInfo
diff --git a/GI/GtkSource/Objects/File.hs b/GI/GtkSource/Objects/File.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/File.hs
@@ -0,0 +1,629 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.File
+    ( 
+
+-- * Exported types
+    File(..)                                ,
+    FileK                                   ,
+    toFile                                  ,
+    noFile                                  ,
+
+
+ -- * Methods
+-- ** fileCheckFileOnDisk
+    FileCheckFileOnDiskMethodInfo           ,
+    fileCheckFileOnDisk                     ,
+
+
+-- ** fileGetCompressionType
+    FileGetCompressionTypeMethodInfo        ,
+    fileGetCompressionType                  ,
+
+
+-- ** fileGetEncoding
+    FileGetEncodingMethodInfo               ,
+    fileGetEncoding                         ,
+
+
+-- ** fileGetLocation
+    FileGetLocationMethodInfo               ,
+    fileGetLocation                         ,
+
+
+-- ** fileGetNewlineType
+    FileGetNewlineTypeMethodInfo            ,
+    fileGetNewlineType                      ,
+
+
+-- ** fileIsDeleted
+    FileIsDeletedMethodInfo                 ,
+    fileIsDeleted                           ,
+
+
+-- ** fileIsExternallyModified
+    FileIsExternallyModifiedMethodInfo      ,
+    fileIsExternallyModified                ,
+
+
+-- ** fileIsLocal
+    FileIsLocalMethodInfo                   ,
+    fileIsLocal                             ,
+
+
+-- ** fileIsReadonly
+    FileIsReadonlyMethodInfo                ,
+    fileIsReadonly                          ,
+
+
+-- ** fileNew
+    fileNew                                 ,
+
+
+-- ** fileSetLocation
+    FileSetLocationMethodInfo               ,
+    fileSetLocation                         ,
+
+
+
+
+ -- * Properties
+-- ** CompressionType
+    FileCompressionTypePropertyInfo         ,
+    fileCompressionType                     ,
+    getFileCompressionType                  ,
+
+
+-- ** Encoding
+    FileEncodingPropertyInfo                ,
+    fileEncoding                            ,
+    getFileEncoding                         ,
+
+
+-- ** Location
+    FileLocationPropertyInfo                ,
+    clearFileLocation                       ,
+    constructFileLocation                   ,
+    fileLocation                            ,
+    getFileLocation                         ,
+    setFileLocation                         ,
+
+
+-- ** NewlineType
+    FileNewlineTypePropertyInfo             ,
+    fileNewlineType                         ,
+    getFileNewlineType                      ,
+
+
+-- ** ReadOnly
+    FileReadOnlyPropertyInfo                ,
+    fileReadOnly                            ,
+    getFileReadOnly                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gio as Gio
+
+newtype File = File (ForeignPtr File)
+foreign import ccall "gtk_source_file_get_type"
+    c_gtk_source_file_get_type :: IO GType
+
+type instance ParentTypes File = FileParentTypes
+type FileParentTypes = '[GObject.Object]
+
+instance GObject File where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_file_get_type
+    
+
+class GObject o => FileK o
+instance (GObject o, IsDescendantOf File o) => FileK o
+
+toFile :: FileK o => o -> IO File
+toFile = unsafeCastTo File
+
+noFile :: Maybe File
+noFile = Nothing
+
+type family ResolveFileMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFileMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFileMethod "checkFileOnDisk" o = FileCheckFileOnDiskMethodInfo
+    ResolveFileMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFileMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFileMethod "isDeleted" o = FileIsDeletedMethodInfo
+    ResolveFileMethod "isExternallyModified" o = FileIsExternallyModifiedMethodInfo
+    ResolveFileMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFileMethod "isLocal" o = FileIsLocalMethodInfo
+    ResolveFileMethod "isReadonly" o = FileIsReadonlyMethodInfo
+    ResolveFileMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFileMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFileMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFileMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFileMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFileMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFileMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFileMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFileMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFileMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFileMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFileMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFileMethod "getCompressionType" o = FileGetCompressionTypeMethodInfo
+    ResolveFileMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFileMethod "getEncoding" o = FileGetEncodingMethodInfo
+    ResolveFileMethod "getLocation" o = FileGetLocationMethodInfo
+    ResolveFileMethod "getNewlineType" o = FileGetNewlineTypeMethodInfo
+    ResolveFileMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFileMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFileMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFileMethod "setLocation" o = FileSetLocationMethodInfo
+    ResolveFileMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFileMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFileMethod t File, MethodInfo info File p) => IsLabelProxy t (File -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFileMethod t File, MethodInfo info File p) => IsLabel t (File -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "compression-type"
+   -- Type: TInterface "GtkSource" "CompressionType"
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getFileCompressionType :: (MonadIO m, FileK o) => o -> m CompressionType
+getFileCompressionType obj = liftIO $ getObjectPropertyEnum obj "compression-type"
+
+data FileCompressionTypePropertyInfo
+instance AttrInfo FileCompressionTypePropertyInfo where
+    type AttrAllowedOps FileCompressionTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint FileCompressionTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FileCompressionTypePropertyInfo = FileK
+    type AttrGetType FileCompressionTypePropertyInfo = CompressionType
+    type AttrLabel FileCompressionTypePropertyInfo = "compression-type"
+    attrGet _ = getFileCompressionType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "encoding"
+   -- Type: TInterface "GtkSource" "Encoding"
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getFileEncoding :: (MonadIO m, FileK o) => o -> m Encoding
+getFileEncoding obj = liftIO $ checkUnexpectedNothing "getFileEncoding" $ getObjectPropertyBoxed obj "encoding" Encoding
+
+data FileEncodingPropertyInfo
+instance AttrInfo FileEncodingPropertyInfo where
+    type AttrAllowedOps FileEncodingPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileEncodingPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FileEncodingPropertyInfo = FileK
+    type AttrGetType FileEncodingPropertyInfo = Encoding
+    type AttrLabel FileEncodingPropertyInfo = "encoding"
+    attrGet _ = getFileEncoding
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "location"
+   -- Type: TInterface "Gio" "File"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just True)
+
+getFileLocation :: (MonadIO m, FileK o) => o -> m Gio.File
+getFileLocation obj = liftIO $ checkUnexpectedNothing "getFileLocation" $ getObjectPropertyObject obj "location" Gio.File
+
+setFileLocation :: (MonadIO m, FileK o, Gio.FileK a) => o -> a -> m ()
+setFileLocation obj val = liftIO $ setObjectPropertyObject obj "location" (Just val)
+
+constructFileLocation :: (Gio.FileK a) => a -> IO ([Char], GValue)
+constructFileLocation val = constructObjectPropertyObject "location" (Just val)
+
+clearFileLocation :: (MonadIO m, FileK o) => o -> m ()
+clearFileLocation obj = liftIO $ setObjectPropertyObject obj "location" (Nothing :: Maybe Gio.File)
+
+data FileLocationPropertyInfo
+instance AttrInfo FileLocationPropertyInfo where
+    type AttrAllowedOps FileLocationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileLocationPropertyInfo = Gio.FileK
+    type AttrBaseTypeConstraint FileLocationPropertyInfo = FileK
+    type AttrGetType FileLocationPropertyInfo = Gio.File
+    type AttrLabel FileLocationPropertyInfo = "location"
+    attrGet _ = getFileLocation
+    attrSet _ = setFileLocation
+    attrConstruct _ = constructFileLocation
+    attrClear _ = clearFileLocation
+
+-- VVV Prop "newline-type"
+   -- Type: TInterface "GtkSource" "NewlineType"
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getFileNewlineType :: (MonadIO m, FileK o) => o -> m NewlineType
+getFileNewlineType obj = liftIO $ getObjectPropertyEnum obj "newline-type"
+
+data FileNewlineTypePropertyInfo
+instance AttrInfo FileNewlineTypePropertyInfo where
+    type AttrAllowedOps FileNewlineTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint FileNewlineTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FileNewlineTypePropertyInfo = FileK
+    type AttrGetType FileNewlineTypePropertyInfo = NewlineType
+    type AttrLabel FileNewlineTypePropertyInfo = "newline-type"
+    attrGet _ = getFileNewlineType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "read-only"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+getFileReadOnly :: (MonadIO m, FileK o) => o -> m Bool
+getFileReadOnly obj = liftIO $ getObjectPropertyBool obj "read-only"
+
+data FileReadOnlyPropertyInfo
+instance AttrInfo FileReadOnlyPropertyInfo where
+    type AttrAllowedOps FileReadOnlyPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint FileReadOnlyPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FileReadOnlyPropertyInfo = FileK
+    type AttrGetType FileReadOnlyPropertyInfo = Bool
+    type AttrLabel FileReadOnlyPropertyInfo = "read-only"
+    attrGet _ = getFileReadOnly
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+type instance AttributeList File = FileAttributeList
+type FileAttributeList = ('[ '("compressionType", FileCompressionTypePropertyInfo), '("encoding", FileEncodingPropertyInfo), '("location", FileLocationPropertyInfo), '("newlineType", FileNewlineTypePropertyInfo), '("readOnly", FileReadOnlyPropertyInfo)] :: [(Symbol, *)])
+
+fileCompressionType :: AttrLabelProxy "compressionType"
+fileCompressionType = AttrLabelProxy
+
+fileEncoding :: AttrLabelProxy "encoding"
+fileEncoding = AttrLabelProxy
+
+fileLocation :: AttrLabelProxy "location"
+fileLocation = AttrLabelProxy
+
+fileNewlineType :: AttrLabelProxy "newlineType"
+fileNewlineType = AttrLabelProxy
+
+fileReadOnly :: AttrLabelProxy "readOnly"
+fileReadOnly = AttrLabelProxy
+
+type instance SignalList File = FileSignalList
+type FileSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method File::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "File")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_new" gtk_source_file_new :: 
+    IO (Ptr File)
+
+
+fileNew ::
+    (MonadIO m) =>
+    m File                                  -- result
+fileNew  = liftIO $ do
+    result <- gtk_source_file_new
+    checkUnexpectedReturnNULL "gtk_source_file_new" result
+    result' <- (wrapObject File) result
+    return result'
+
+-- method File::check_file_on_disk
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_check_file_on_disk" gtk_source_file_check_file_on_disk :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO ()
+
+
+fileCheckFileOnDisk ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+fileCheckFileOnDisk _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_file_check_file_on_disk _obj'
+    touchManagedPtr _obj
+    return ()
+
+data FileCheckFileOnDiskMethodInfo
+instance (signature ~ (m ()), MonadIO m, FileK a) => MethodInfo FileCheckFileOnDiskMethodInfo a signature where
+    overloadedMethod _ = fileCheckFileOnDisk
+
+-- method File::get_compression_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompressionType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_get_compression_type" gtk_source_file_get_compression_type :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO CUInt
+
+
+fileGetCompressionType ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m CompressionType                    -- result
+fileGetCompressionType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_get_compression_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data FileGetCompressionTypeMethodInfo
+instance (signature ~ (m CompressionType), MonadIO m, FileK a) => MethodInfo FileGetCompressionTypeMethodInfo a signature where
+    overloadedMethod _ = fileGetCompressionType
+
+-- method File::get_encoding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_get_encoding" gtk_source_file_get_encoding :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO (Ptr Encoding)
+
+
+fileGetEncoding ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m Encoding                           -- result
+fileGetEncoding _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_get_encoding _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_get_encoding" result
+    result' <- (newBoxed Encoding) result
+    touchManagedPtr _obj
+    return result'
+
+data FileGetEncodingMethodInfo
+instance (signature ~ (m Encoding), MonadIO m, FileK a) => MethodInfo FileGetEncodingMethodInfo a signature where
+    overloadedMethod _ = fileGetEncoding
+
+-- method File::get_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "File")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_get_location" gtk_source_file_get_location :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO (Ptr Gio.File)
+
+
+fileGetLocation ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m Gio.File                           -- result
+fileGetLocation _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_get_location _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_get_location" result
+    result' <- (newObject Gio.File) result
+    touchManagedPtr _obj
+    return result'
+
+data FileGetLocationMethodInfo
+instance (signature ~ (m Gio.File), MonadIO m, FileK a) => MethodInfo FileGetLocationMethodInfo a signature where
+    overloadedMethod _ = fileGetLocation
+
+-- method File::get_newline_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "NewlineType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_get_newline_type" gtk_source_file_get_newline_type :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO CUInt
+
+
+fileGetNewlineType ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m NewlineType                        -- result
+fileGetNewlineType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_get_newline_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data FileGetNewlineTypeMethodInfo
+instance (signature ~ (m NewlineType), MonadIO m, FileK a) => MethodInfo FileGetNewlineTypeMethodInfo a signature where
+    overloadedMethod _ = fileGetNewlineType
+
+-- method File::is_deleted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_is_deleted" gtk_source_file_is_deleted :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO CInt
+
+
+fileIsDeleted ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+fileIsDeleted _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_is_deleted _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data FileIsDeletedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, FileK a) => MethodInfo FileIsDeletedMethodInfo a signature where
+    overloadedMethod _ = fileIsDeleted
+
+-- method File::is_externally_modified
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_is_externally_modified" gtk_source_file_is_externally_modified :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO CInt
+
+
+fileIsExternallyModified ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+fileIsExternallyModified _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_is_externally_modified _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data FileIsExternallyModifiedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, FileK a) => MethodInfo FileIsExternallyModifiedMethodInfo a signature where
+    overloadedMethod _ = fileIsExternallyModified
+
+-- method File::is_local
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_is_local" gtk_source_file_is_local :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO CInt
+
+
+fileIsLocal ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+fileIsLocal _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_is_local _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data FileIsLocalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, FileK a) => MethodInfo FileIsLocalMethodInfo a signature where
+    overloadedMethod _ = fileIsLocal
+
+-- method File::is_readonly
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_is_readonly" gtk_source_file_is_readonly :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    IO CInt
+
+
+fileIsReadonly ::
+    (MonadIO m, FileK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+fileIsReadonly _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_is_readonly _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data FileIsReadonlyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, FileK a) => MethodInfo FileIsReadonlyMethodInfo a signature where
+    overloadedMethod _ = fileIsReadonly
+
+-- method File::set_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface "Gio" "File", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_set_location" gtk_source_file_set_location :: 
+    Ptr File ->                             -- _obj : TInterface "GtkSource" "File"
+    Ptr Gio.File ->                         -- location : TInterface "Gio" "File"
+    IO ()
+
+
+fileSetLocation ::
+    (MonadIO m, FileK a, Gio.FileK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- location
+    -> m ()                                 -- result
+fileSetLocation _obj location = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeLocation <- case location of
+        Nothing -> return nullPtr
+        Just jLocation -> do
+            let jLocation' = unsafeManagedPtrCastPtr jLocation
+            return jLocation'
+    gtk_source_file_set_location _obj' maybeLocation
+    touchManagedPtr _obj
+    whenJust location touchManagedPtr
+    return ()
+
+data FileSetLocationMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, FileK a, Gio.FileK b) => MethodInfo FileSetLocationMethodInfo a signature where
+    overloadedMethod _ = fileSetLocation
+
+
diff --git a/GI/GtkSource/Objects/File.hs-boot b/GI/GtkSource/Objects/File.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/File.hs-boot
@@ -0,0 +1,28 @@
+module GI.GtkSource.Objects.File where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype File = File (ForeignPtr File)
+instance GObject File where
+class GObject o => FileK o
+instance (GObject o, IsDescendantOf File o) => FileK o
+data FileCompressionTypePropertyInfo
+data FileEncodingPropertyInfo
+data FileLocationPropertyInfo
+data FileNewlineTypePropertyInfo
+data FileReadOnlyPropertyInfo
+data FileCheckFileOnDiskMethodInfo
+data FileGetCompressionTypeMethodInfo
+data FileGetEncodingMethodInfo
+data FileGetLocationMethodInfo
+data FileGetNewlineTypeMethodInfo
+data FileIsDeletedMethodInfo
+data FileIsExternallyModifiedMethodInfo
+data FileIsLocalMethodInfo
+data FileIsReadonlyMethodInfo
+data FileSetLocationMethodInfo
diff --git a/GI/GtkSource/Objects/FileLoader.hs b/GI/GtkSource/Objects/FileLoader.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/FileLoader.hs
@@ -0,0 +1,693 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.FileLoader
+    ( 
+
+-- * Exported types
+    FileLoader(..)                          ,
+    FileLoaderK                             ,
+    toFileLoader                            ,
+    noFileLoader                            ,
+
+
+ -- * Methods
+-- ** fileLoaderGetBuffer
+    FileLoaderGetBufferMethodInfo           ,
+    fileLoaderGetBuffer                     ,
+
+
+-- ** fileLoaderGetCompressionType
+    FileLoaderGetCompressionTypeMethodInfo  ,
+    fileLoaderGetCompressionType            ,
+
+
+-- ** fileLoaderGetEncoding
+    FileLoaderGetEncodingMethodInfo         ,
+    fileLoaderGetEncoding                   ,
+
+
+-- ** fileLoaderGetFile
+    FileLoaderGetFileMethodInfo             ,
+    fileLoaderGetFile                       ,
+
+
+-- ** fileLoaderGetInputStream
+    FileLoaderGetInputStreamMethodInfo      ,
+    fileLoaderGetInputStream                ,
+
+
+-- ** fileLoaderGetLocation
+    FileLoaderGetLocationMethodInfo         ,
+    fileLoaderGetLocation                   ,
+
+
+-- ** fileLoaderGetNewlineType
+    FileLoaderGetNewlineTypeMethodInfo      ,
+    fileLoaderGetNewlineType                ,
+
+
+-- ** fileLoaderLoadAsync
+    FileLoaderLoadAsyncMethodInfo           ,
+    fileLoaderLoadAsync                     ,
+
+
+-- ** fileLoaderLoadFinish
+    FileLoaderLoadFinishMethodInfo          ,
+    fileLoaderLoadFinish                    ,
+
+
+-- ** fileLoaderNew
+    fileLoaderNew                           ,
+
+
+-- ** fileLoaderNewFromStream
+    fileLoaderNewFromStream                 ,
+
+
+-- ** fileLoaderSetCandidateEncodings
+    FileLoaderSetCandidateEncodingsMethodInfo,
+    fileLoaderSetCandidateEncodings         ,
+
+
+
+
+ -- * Properties
+-- ** Buffer
+    FileLoaderBufferPropertyInfo            ,
+    constructFileLoaderBuffer               ,
+    fileLoaderBuffer                        ,
+    getFileLoaderBuffer                     ,
+
+
+-- ** File
+    FileLoaderFilePropertyInfo              ,
+    constructFileLoaderFile                 ,
+    fileLoaderFile                          ,
+    getFileLoaderFile                       ,
+
+
+-- ** InputStream
+    FileLoaderInputStreamPropertyInfo       ,
+    constructFileLoaderInputStream          ,
+    fileLoaderInputStream                   ,
+    getFileLoaderInputStream                ,
+
+
+-- ** Location
+    FileLoaderLocationPropertyInfo          ,
+    constructFileLoaderLocation             ,
+    fileLoaderLocation                      ,
+    getFileLoaderLocation                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GLib as GLib
+import qualified GI.GObject as GObject
+import qualified GI.Gio as Gio
+
+newtype FileLoader = FileLoader (ForeignPtr FileLoader)
+foreign import ccall "gtk_source_file_loader_get_type"
+    c_gtk_source_file_loader_get_type :: IO GType
+
+type instance ParentTypes FileLoader = FileLoaderParentTypes
+type FileLoaderParentTypes = '[GObject.Object]
+
+instance GObject FileLoader where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_file_loader_get_type
+    
+
+class GObject o => FileLoaderK o
+instance (GObject o, IsDescendantOf FileLoader o) => FileLoaderK o
+
+toFileLoader :: FileLoaderK o => o -> IO FileLoader
+toFileLoader = unsafeCastTo FileLoader
+
+noFileLoader :: Maybe FileLoader
+noFileLoader = Nothing
+
+type family ResolveFileLoaderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileLoaderMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFileLoaderMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFileLoaderMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFileLoaderMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFileLoaderMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFileLoaderMethod "loadAsync" o = FileLoaderLoadAsyncMethodInfo
+    ResolveFileLoaderMethod "loadFinish" o = FileLoaderLoadFinishMethodInfo
+    ResolveFileLoaderMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFileLoaderMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFileLoaderMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFileLoaderMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFileLoaderMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFileLoaderMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFileLoaderMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFileLoaderMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFileLoaderMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFileLoaderMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFileLoaderMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFileLoaderMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFileLoaderMethod "getBuffer" o = FileLoaderGetBufferMethodInfo
+    ResolveFileLoaderMethod "getCompressionType" o = FileLoaderGetCompressionTypeMethodInfo
+    ResolveFileLoaderMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFileLoaderMethod "getEncoding" o = FileLoaderGetEncodingMethodInfo
+    ResolveFileLoaderMethod "getFile" o = FileLoaderGetFileMethodInfo
+    ResolveFileLoaderMethod "getInputStream" o = FileLoaderGetInputStreamMethodInfo
+    ResolveFileLoaderMethod "getLocation" o = FileLoaderGetLocationMethodInfo
+    ResolveFileLoaderMethod "getNewlineType" o = FileLoaderGetNewlineTypeMethodInfo
+    ResolveFileLoaderMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFileLoaderMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFileLoaderMethod "setCandidateEncodings" o = FileLoaderSetCandidateEncodingsMethodInfo
+    ResolveFileLoaderMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFileLoaderMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFileLoaderMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFileLoaderMethod t FileLoader, MethodInfo info FileLoader p) => IsLabelProxy t (FileLoader -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFileLoaderMethod t FileLoader, MethodInfo info FileLoader p) => IsLabel t (FileLoader -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "buffer"
+   -- Type: TInterface "GtkSource" "Buffer"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getFileLoaderBuffer :: (MonadIO m, FileLoaderK o) => o -> m Buffer
+getFileLoaderBuffer obj = liftIO $ checkUnexpectedNothing "getFileLoaderBuffer" $ getObjectPropertyObject obj "buffer" Buffer
+
+constructFileLoaderBuffer :: (BufferK a) => a -> IO ([Char], GValue)
+constructFileLoaderBuffer val = constructObjectPropertyObject "buffer" (Just val)
+
+data FileLoaderBufferPropertyInfo
+instance AttrInfo FileLoaderBufferPropertyInfo where
+    type AttrAllowedOps FileLoaderBufferPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileLoaderBufferPropertyInfo = BufferK
+    type AttrBaseTypeConstraint FileLoaderBufferPropertyInfo = FileLoaderK
+    type AttrGetType FileLoaderBufferPropertyInfo = Buffer
+    type AttrLabel FileLoaderBufferPropertyInfo = "buffer"
+    attrGet _ = getFileLoaderBuffer
+    attrSet _ = undefined
+    attrConstruct _ = constructFileLoaderBuffer
+    attrClear _ = undefined
+
+-- VVV Prop "file"
+   -- Type: TInterface "GtkSource" "File"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getFileLoaderFile :: (MonadIO m, FileLoaderK o) => o -> m File
+getFileLoaderFile obj = liftIO $ checkUnexpectedNothing "getFileLoaderFile" $ getObjectPropertyObject obj "file" File
+
+constructFileLoaderFile :: (FileK a) => a -> IO ([Char], GValue)
+constructFileLoaderFile val = constructObjectPropertyObject "file" (Just val)
+
+data FileLoaderFilePropertyInfo
+instance AttrInfo FileLoaderFilePropertyInfo where
+    type AttrAllowedOps FileLoaderFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileLoaderFilePropertyInfo = FileK
+    type AttrBaseTypeConstraint FileLoaderFilePropertyInfo = FileLoaderK
+    type AttrGetType FileLoaderFilePropertyInfo = File
+    type AttrLabel FileLoaderFilePropertyInfo = "file"
+    attrGet _ = getFileLoaderFile
+    attrSet _ = undefined
+    attrConstruct _ = constructFileLoaderFile
+    attrClear _ = undefined
+
+-- VVV Prop "input-stream"
+   -- Type: TInterface "Gio" "InputStream"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just True,Nothing)
+
+getFileLoaderInputStream :: (MonadIO m, FileLoaderK o) => o -> m (Maybe Gio.InputStream)
+getFileLoaderInputStream obj = liftIO $ getObjectPropertyObject obj "input-stream" Gio.InputStream
+
+constructFileLoaderInputStream :: (Gio.InputStreamK a) => a -> IO ([Char], GValue)
+constructFileLoaderInputStream val = constructObjectPropertyObject "input-stream" (Just val)
+
+data FileLoaderInputStreamPropertyInfo
+instance AttrInfo FileLoaderInputStreamPropertyInfo where
+    type AttrAllowedOps FileLoaderInputStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileLoaderInputStreamPropertyInfo = Gio.InputStreamK
+    type AttrBaseTypeConstraint FileLoaderInputStreamPropertyInfo = FileLoaderK
+    type AttrGetType FileLoaderInputStreamPropertyInfo = (Maybe Gio.InputStream)
+    type AttrLabel FileLoaderInputStreamPropertyInfo = "input-stream"
+    attrGet _ = getFileLoaderInputStream
+    attrSet _ = undefined
+    attrConstruct _ = constructFileLoaderInputStream
+    attrClear _ = undefined
+
+-- VVV Prop "location"
+   -- Type: TInterface "Gio" "File"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just True,Nothing)
+
+getFileLoaderLocation :: (MonadIO m, FileLoaderK o) => o -> m (Maybe Gio.File)
+getFileLoaderLocation obj = liftIO $ getObjectPropertyObject obj "location" Gio.File
+
+constructFileLoaderLocation :: (Gio.FileK a) => a -> IO ([Char], GValue)
+constructFileLoaderLocation val = constructObjectPropertyObject "location" (Just val)
+
+data FileLoaderLocationPropertyInfo
+instance AttrInfo FileLoaderLocationPropertyInfo where
+    type AttrAllowedOps FileLoaderLocationPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileLoaderLocationPropertyInfo = Gio.FileK
+    type AttrBaseTypeConstraint FileLoaderLocationPropertyInfo = FileLoaderK
+    type AttrGetType FileLoaderLocationPropertyInfo = (Maybe Gio.File)
+    type AttrLabel FileLoaderLocationPropertyInfo = "location"
+    attrGet _ = getFileLoaderLocation
+    attrSet _ = undefined
+    attrConstruct _ = constructFileLoaderLocation
+    attrClear _ = undefined
+
+type instance AttributeList FileLoader = FileLoaderAttributeList
+type FileLoaderAttributeList = ('[ '("buffer", FileLoaderBufferPropertyInfo), '("file", FileLoaderFilePropertyInfo), '("inputStream", FileLoaderInputStreamPropertyInfo), '("location", FileLoaderLocationPropertyInfo)] :: [(Symbol, *)])
+
+fileLoaderBuffer :: AttrLabelProxy "buffer"
+fileLoaderBuffer = AttrLabelProxy
+
+fileLoaderFile :: AttrLabelProxy "file"
+fileLoaderFile = AttrLabelProxy
+
+fileLoaderInputStream :: AttrLabelProxy "inputStream"
+fileLoaderInputStream = AttrLabelProxy
+
+fileLoaderLocation :: AttrLabelProxy "location"
+fileLoaderLocation = AttrLabelProxy
+
+type instance SignalList FileLoader = FileLoaderSignalList
+type FileLoaderSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method FileLoader::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "FileLoader")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_new" gtk_source_file_loader_new :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    Ptr File ->                             -- file : TInterface "GtkSource" "File"
+    IO (Ptr FileLoader)
+
+
+fileLoaderNew ::
+    (MonadIO m, BufferK a, FileK b) =>
+    a                                       -- buffer
+    -> b                                    -- file
+    -> m FileLoader                         -- result
+fileLoaderNew buffer file = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    let file' = unsafeManagedPtrCastPtr file
+    result <- gtk_source_file_loader_new buffer' file'
+    checkUnexpectedReturnNULL "gtk_source_file_loader_new" result
+    result' <- (wrapObject FileLoader) result
+    touchManagedPtr buffer
+    touchManagedPtr file
+    return result'
+
+-- method FileLoader::new_from_stream
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface "Gio" "InputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "FileLoader")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_new_from_stream" gtk_source_file_loader_new_from_stream :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    Ptr File ->                             -- file : TInterface "GtkSource" "File"
+    Ptr Gio.InputStream ->                  -- stream : TInterface "Gio" "InputStream"
+    IO (Ptr FileLoader)
+
+
+fileLoaderNewFromStream ::
+    (MonadIO m, BufferK a, FileK b, Gio.InputStreamK c) =>
+    a                                       -- buffer
+    -> b                                    -- file
+    -> c                                    -- stream
+    -> m FileLoader                         -- result
+fileLoaderNewFromStream buffer file stream = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    let file' = unsafeManagedPtrCastPtr file
+    let stream' = unsafeManagedPtrCastPtr stream
+    result <- gtk_source_file_loader_new_from_stream buffer' file' stream'
+    checkUnexpectedReturnNULL "gtk_source_file_loader_new_from_stream" result
+    result' <- (wrapObject FileLoader) result
+    touchManagedPtr buffer
+    touchManagedPtr file
+    touchManagedPtr stream
+    return result'
+
+-- method FileLoader::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Buffer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_buffer" gtk_source_file_loader_get_buffer :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO (Ptr Buffer)
+
+
+fileLoaderGetBuffer ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m Buffer                             -- result
+fileLoaderGetBuffer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_buffer _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_loader_get_buffer" result
+    result' <- (newObject Buffer) result
+    touchManagedPtr _obj
+    return result'
+
+data FileLoaderGetBufferMethodInfo
+instance (signature ~ (m Buffer), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetBufferMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetBuffer
+
+-- method FileLoader::get_compression_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompressionType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_compression_type" gtk_source_file_loader_get_compression_type :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO CUInt
+
+
+fileLoaderGetCompressionType ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m CompressionType                    -- result
+fileLoaderGetCompressionType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_compression_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data FileLoaderGetCompressionTypeMethodInfo
+instance (signature ~ (m CompressionType), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetCompressionTypeMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetCompressionType
+
+-- method FileLoader::get_encoding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_encoding" gtk_source_file_loader_get_encoding :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO (Ptr Encoding)
+
+
+fileLoaderGetEncoding ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m Encoding                           -- result
+fileLoaderGetEncoding _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_encoding _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_loader_get_encoding" result
+    result' <- (newBoxed Encoding) result
+    touchManagedPtr _obj
+    return result'
+
+data FileLoaderGetEncodingMethodInfo
+instance (signature ~ (m Encoding), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetEncodingMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetEncoding
+
+-- method FileLoader::get_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "File")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_file" gtk_source_file_loader_get_file :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO (Ptr File)
+
+
+fileLoaderGetFile ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m File                               -- result
+fileLoaderGetFile _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_file _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_loader_get_file" result
+    result' <- (newObject File) result
+    touchManagedPtr _obj
+    return result'
+
+data FileLoaderGetFileMethodInfo
+instance (signature ~ (m File), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetFileMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetFile
+
+-- method FileLoader::get_input_stream
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "InputStream")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_input_stream" gtk_source_file_loader_get_input_stream :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO (Ptr Gio.InputStream)
+
+
+fileLoaderGetInputStream ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m (Maybe Gio.InputStream)            -- result
+fileLoaderGetInputStream _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_input_stream _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.InputStream) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data FileLoaderGetInputStreamMethodInfo
+instance (signature ~ (m (Maybe Gio.InputStream)), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetInputStreamMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetInputStream
+
+-- method FileLoader::get_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "File")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_location" gtk_source_file_loader_get_location :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO (Ptr Gio.File)
+
+
+fileLoaderGetLocation ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m (Maybe Gio.File)                   -- result
+fileLoaderGetLocation _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_location _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.File) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data FileLoaderGetLocationMethodInfo
+instance (signature ~ (m (Maybe Gio.File)), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetLocationMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetLocation
+
+-- method FileLoader::get_newline_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "NewlineType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_get_newline_type" gtk_source_file_loader_get_newline_type :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    IO CUInt
+
+
+fileLoaderGetNewlineType ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> m NewlineType                        -- result
+fileLoaderGetNewlineType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_loader_get_newline_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data FileLoaderGetNewlineTypeMethodInfo
+instance (signature ~ (m NewlineType), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderGetNewlineTypeMethodInfo a signature where
+    overloadedMethod _ = fileLoaderGetNewlineType
+
+-- method FileLoader::load_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "io_priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress_callback", argType = TInterface "Gio" "FileProgressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress_callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress_callback_notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_load_async" gtk_source_file_loader_load_async :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    Int32 ->                                -- io_priority : TBasicType TInt
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    FunPtr Gio.FileProgressCallbackC ->     -- progress_callback : TInterface "Gio" "FileProgressCallback"
+    Ptr () ->                               -- progress_callback_data : TBasicType TPtr
+    FunPtr GLib.DestroyNotifyC ->           -- progress_callback_notify : TInterface "GLib" "DestroyNotify"
+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+
+fileLoaderLoadAsync ::
+    (MonadIO m, FileLoaderK a, Gio.CancellableK b) =>
+    a                                       -- _obj
+    -> Int32                                -- ioPriority
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (Gio.FileProgressCallback)     -- progressCallback
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
+fileLoaderLoadAsync _obj ioPriority cancellable progressCallback callback = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    maybeProgressCallback <- case progressCallback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jProgressCallback -> do
+            jProgressCallback' <- Gio.mkFileProgressCallback (Gio.fileProgressCallbackWrapper Nothing jProgressCallback)
+            return jProgressCallback'
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.AsyncReadyCallbackC))
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
+            poke ptrcallback jCallback'
+            return jCallback'
+    let progressCallbackData = castFunPtrToPtr maybeProgressCallback
+    let progressCallbackNotify = safeFreeFunPtrPtr
+    let userData = nullPtr
+    gtk_source_file_loader_load_async _obj' ioPriority maybeCancellable maybeProgressCallback progressCallbackData progressCallbackNotify maybeCallback userData
+    touchManagedPtr _obj
+    whenJust cancellable touchManagedPtr
+    return ()
+
+data FileLoaderLoadAsyncMethodInfo
+instance (signature ~ (Int32 -> Maybe (b) -> Maybe (Gio.FileProgressCallback) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, FileLoaderK a, Gio.CancellableK b) => MethodInfo FileLoaderLoadAsyncMethodInfo a signature where
+    overloadedMethod _ = fileLoaderLoadAsync
+
+-- method FileLoader::load_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_load_finish" gtk_source_file_loader_load_finish :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+fileLoaderLoadFinish ::
+    (MonadIO m, FileLoaderK a, Gio.AsyncResultK b) =>
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m ()                                 -- result
+fileLoaderLoadFinish _obj result_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let result_' = unsafeManagedPtrCastPtr result_
+    onException (do
+        _ <- propagateGError $ gtk_source_file_loader_load_finish _obj' result_'
+        touchManagedPtr _obj
+        touchManagedPtr result_
+        return ()
+     ) (do
+        return ()
+     )
+
+data FileLoaderLoadFinishMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, FileLoaderK a, Gio.AsyncResultK b) => MethodInfo FileLoaderLoadFinishMethodInfo a signature where
+    overloadedMethod _ = fileLoaderLoadFinish
+
+-- method FileLoader::set_candidate_encodings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileLoader", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "candidate_encodings", argType = TGSList (TInterface "GtkSource" "Encoding"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_loader_set_candidate_encodings" gtk_source_file_loader_set_candidate_encodings :: 
+    Ptr FileLoader ->                       -- _obj : TInterface "GtkSource" "FileLoader"
+    Ptr (GSList (Ptr Encoding)) ->          -- candidate_encodings : TGSList (TInterface "GtkSource" "Encoding")
+    IO ()
+
+
+fileLoaderSetCandidateEncodings ::
+    (MonadIO m, FileLoaderK a) =>
+    a                                       -- _obj
+    -> [Encoding]                           -- candidateEncodings
+    -> m ()                                 -- result
+fileLoaderSetCandidateEncodings _obj candidateEncodings = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let candidateEncodings' = map unsafeManagedPtrGetPtr candidateEncodings
+    candidateEncodings'' <- packGSList candidateEncodings'
+    gtk_source_file_loader_set_candidate_encodings _obj' candidateEncodings''
+    touchManagedPtr _obj
+    mapM_ touchManagedPtr candidateEncodings
+    g_slist_free candidateEncodings''
+    return ()
+
+data FileLoaderSetCandidateEncodingsMethodInfo
+instance (signature ~ ([Encoding] -> m ()), MonadIO m, FileLoaderK a) => MethodInfo FileLoaderSetCandidateEncodingsMethodInfo a signature where
+    overloadedMethod _ = fileLoaderSetCandidateEncodings
+
+
diff --git a/GI/GtkSource/Objects/FileLoader.hs-boot b/GI/GtkSource/Objects/FileLoader.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/FileLoader.hs-boot
@@ -0,0 +1,27 @@
+module GI.GtkSource.Objects.FileLoader where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype FileLoader = FileLoader (ForeignPtr FileLoader)
+instance GObject FileLoader where
+class GObject o => FileLoaderK o
+instance (GObject o, IsDescendantOf FileLoader o) => FileLoaderK o
+data FileLoaderBufferPropertyInfo
+data FileLoaderFilePropertyInfo
+data FileLoaderInputStreamPropertyInfo
+data FileLoaderLocationPropertyInfo
+data FileLoaderGetBufferMethodInfo
+data FileLoaderGetCompressionTypeMethodInfo
+data FileLoaderGetEncodingMethodInfo
+data FileLoaderGetFileMethodInfo
+data FileLoaderGetInputStreamMethodInfo
+data FileLoaderGetLocationMethodInfo
+data FileLoaderGetNewlineTypeMethodInfo
+data FileLoaderLoadAsyncMethodInfo
+data FileLoaderLoadFinishMethodInfo
+data FileLoaderSetCandidateEncodingsMethodInfo
diff --git a/GI/GtkSource/Objects/FileSaver.hs b/GI/GtkSource/Objects/FileSaver.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/FileSaver.hs
@@ -0,0 +1,919 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.FileSaver
+    ( 
+
+-- * Exported types
+    FileSaver(..)                           ,
+    FileSaverK                              ,
+    toFileSaver                             ,
+    noFileSaver                             ,
+
+
+ -- * Methods
+-- ** fileSaverGetBuffer
+    FileSaverGetBufferMethodInfo            ,
+    fileSaverGetBuffer                      ,
+
+
+-- ** fileSaverGetCompressionType
+    FileSaverGetCompressionTypeMethodInfo   ,
+    fileSaverGetCompressionType             ,
+
+
+-- ** fileSaverGetEncoding
+    FileSaverGetEncodingMethodInfo          ,
+    fileSaverGetEncoding                    ,
+
+
+-- ** fileSaverGetFile
+    FileSaverGetFileMethodInfo              ,
+    fileSaverGetFile                        ,
+
+
+-- ** fileSaverGetFlags
+    FileSaverGetFlagsMethodInfo             ,
+    fileSaverGetFlags                       ,
+
+
+-- ** fileSaverGetLocation
+    FileSaverGetLocationMethodInfo          ,
+    fileSaverGetLocation                    ,
+
+
+-- ** fileSaverGetNewlineType
+    FileSaverGetNewlineTypeMethodInfo       ,
+    fileSaverGetNewlineType                 ,
+
+
+-- ** fileSaverNew
+    fileSaverNew                            ,
+
+
+-- ** fileSaverNewWithTarget
+    fileSaverNewWithTarget                  ,
+
+
+-- ** fileSaverSaveAsync
+    FileSaverSaveAsyncMethodInfo            ,
+    fileSaverSaveAsync                      ,
+
+
+-- ** fileSaverSaveFinish
+    FileSaverSaveFinishMethodInfo           ,
+    fileSaverSaveFinish                     ,
+
+
+-- ** fileSaverSetCompressionType
+    FileSaverSetCompressionTypeMethodInfo   ,
+    fileSaverSetCompressionType             ,
+
+
+-- ** fileSaverSetEncoding
+    FileSaverSetEncodingMethodInfo          ,
+    fileSaverSetEncoding                    ,
+
+
+-- ** fileSaverSetFlags
+    FileSaverSetFlagsMethodInfo             ,
+    fileSaverSetFlags                       ,
+
+
+-- ** fileSaverSetNewlineType
+    FileSaverSetNewlineTypeMethodInfo       ,
+    fileSaverSetNewlineType                 ,
+
+
+
+
+ -- * Properties
+-- ** Buffer
+    FileSaverBufferPropertyInfo             ,
+    constructFileSaverBuffer                ,
+    fileSaverBuffer                         ,
+    getFileSaverBuffer                      ,
+
+
+-- ** CompressionType
+    FileSaverCompressionTypePropertyInfo    ,
+    constructFileSaverCompressionType       ,
+    fileSaverCompressionType                ,
+    getFileSaverCompressionType             ,
+    setFileSaverCompressionType             ,
+
+
+-- ** Encoding
+    FileSaverEncodingPropertyInfo           ,
+    clearFileSaverEncoding                  ,
+    constructFileSaverEncoding              ,
+    fileSaverEncoding                       ,
+    getFileSaverEncoding                    ,
+    setFileSaverEncoding                    ,
+
+
+-- ** File
+    FileSaverFilePropertyInfo               ,
+    constructFileSaverFile                  ,
+    fileSaverFile                           ,
+    getFileSaverFile                        ,
+
+
+-- ** Flags
+    FileSaverFlagsPropertyInfo              ,
+    constructFileSaverFlags                 ,
+    fileSaverFlags                          ,
+    getFileSaverFlags                       ,
+    setFileSaverFlags                       ,
+
+
+-- ** Location
+    FileSaverLocationPropertyInfo           ,
+    constructFileSaverLocation              ,
+    fileSaverLocation                       ,
+    getFileSaverLocation                    ,
+
+
+-- ** NewlineType
+    FileSaverNewlineTypePropertyInfo        ,
+    constructFileSaverNewlineType           ,
+    fileSaverNewlineType                    ,
+    getFileSaverNewlineType                 ,
+    setFileSaverNewlineType                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GLib as GLib
+import qualified GI.GObject as GObject
+import qualified GI.Gio as Gio
+
+newtype FileSaver = FileSaver (ForeignPtr FileSaver)
+foreign import ccall "gtk_source_file_saver_get_type"
+    c_gtk_source_file_saver_get_type :: IO GType
+
+type instance ParentTypes FileSaver = FileSaverParentTypes
+type FileSaverParentTypes = '[GObject.Object]
+
+instance GObject FileSaver where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_file_saver_get_type
+    
+
+class GObject o => FileSaverK o
+instance (GObject o, IsDescendantOf FileSaver o) => FileSaverK o
+
+toFileSaver :: FileSaverK o => o -> IO FileSaver
+toFileSaver = unsafeCastTo FileSaver
+
+noFileSaver :: Maybe FileSaver
+noFileSaver = Nothing
+
+type family ResolveFileSaverMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileSaverMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFileSaverMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFileSaverMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFileSaverMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFileSaverMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFileSaverMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFileSaverMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFileSaverMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFileSaverMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFileSaverMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFileSaverMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFileSaverMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFileSaverMethod "saveAsync" o = FileSaverSaveAsyncMethodInfo
+    ResolveFileSaverMethod "saveFinish" o = FileSaverSaveFinishMethodInfo
+    ResolveFileSaverMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFileSaverMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFileSaverMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFileSaverMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFileSaverMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFileSaverMethod "getBuffer" o = FileSaverGetBufferMethodInfo
+    ResolveFileSaverMethod "getCompressionType" o = FileSaverGetCompressionTypeMethodInfo
+    ResolveFileSaverMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFileSaverMethod "getEncoding" o = FileSaverGetEncodingMethodInfo
+    ResolveFileSaverMethod "getFile" o = FileSaverGetFileMethodInfo
+    ResolveFileSaverMethod "getFlags" o = FileSaverGetFlagsMethodInfo
+    ResolveFileSaverMethod "getLocation" o = FileSaverGetLocationMethodInfo
+    ResolveFileSaverMethod "getNewlineType" o = FileSaverGetNewlineTypeMethodInfo
+    ResolveFileSaverMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFileSaverMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFileSaverMethod "setCompressionType" o = FileSaverSetCompressionTypeMethodInfo
+    ResolveFileSaverMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFileSaverMethod "setEncoding" o = FileSaverSetEncodingMethodInfo
+    ResolveFileSaverMethod "setFlags" o = FileSaverSetFlagsMethodInfo
+    ResolveFileSaverMethod "setNewlineType" o = FileSaverSetNewlineTypeMethodInfo
+    ResolveFileSaverMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFileSaverMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFileSaverMethod t FileSaver, MethodInfo info FileSaver p) => IsLabelProxy t (FileSaver -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFileSaverMethod t FileSaver, MethodInfo info FileSaver p) => IsLabel t (FileSaver -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "buffer"
+   -- Type: TInterface "GtkSource" "Buffer"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getFileSaverBuffer :: (MonadIO m, FileSaverK o) => o -> m Buffer
+getFileSaverBuffer obj = liftIO $ checkUnexpectedNothing "getFileSaverBuffer" $ getObjectPropertyObject obj "buffer" Buffer
+
+constructFileSaverBuffer :: (BufferK a) => a -> IO ([Char], GValue)
+constructFileSaverBuffer val = constructObjectPropertyObject "buffer" (Just val)
+
+data FileSaverBufferPropertyInfo
+instance AttrInfo FileSaverBufferPropertyInfo where
+    type AttrAllowedOps FileSaverBufferPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileSaverBufferPropertyInfo = BufferK
+    type AttrBaseTypeConstraint FileSaverBufferPropertyInfo = FileSaverK
+    type AttrGetType FileSaverBufferPropertyInfo = Buffer
+    type AttrLabel FileSaverBufferPropertyInfo = "buffer"
+    attrGet _ = getFileSaverBuffer
+    attrSet _ = undefined
+    attrConstruct _ = constructFileSaverBuffer
+    attrClear _ = undefined
+
+-- VVV Prop "compression-type"
+   -- Type: TInterface "GtkSource" "CompressionType"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getFileSaverCompressionType :: (MonadIO m, FileSaverK o) => o -> m CompressionType
+getFileSaverCompressionType obj = liftIO $ getObjectPropertyEnum obj "compression-type"
+
+setFileSaverCompressionType :: (MonadIO m, FileSaverK o) => o -> CompressionType -> m ()
+setFileSaverCompressionType obj val = liftIO $ setObjectPropertyEnum obj "compression-type" val
+
+constructFileSaverCompressionType :: CompressionType -> IO ([Char], GValue)
+constructFileSaverCompressionType val = constructObjectPropertyEnum "compression-type" val
+
+data FileSaverCompressionTypePropertyInfo
+instance AttrInfo FileSaverCompressionTypePropertyInfo where
+    type AttrAllowedOps FileSaverCompressionTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileSaverCompressionTypePropertyInfo = (~) CompressionType
+    type AttrBaseTypeConstraint FileSaverCompressionTypePropertyInfo = FileSaverK
+    type AttrGetType FileSaverCompressionTypePropertyInfo = CompressionType
+    type AttrLabel FileSaverCompressionTypePropertyInfo = "compression-type"
+    attrGet _ = getFileSaverCompressionType
+    attrSet _ = setFileSaverCompressionType
+    attrConstruct _ = constructFileSaverCompressionType
+    attrClear _ = undefined
+
+-- VVV Prop "encoding"
+   -- Type: TInterface "GtkSource" "Encoding"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just True)
+
+getFileSaverEncoding :: (MonadIO m, FileSaverK o) => o -> m Encoding
+getFileSaverEncoding obj = liftIO $ checkUnexpectedNothing "getFileSaverEncoding" $ getObjectPropertyBoxed obj "encoding" Encoding
+
+setFileSaverEncoding :: (MonadIO m, FileSaverK o) => o -> Encoding -> m ()
+setFileSaverEncoding obj val = liftIO $ setObjectPropertyBoxed obj "encoding" (Just val)
+
+constructFileSaverEncoding :: Encoding -> IO ([Char], GValue)
+constructFileSaverEncoding val = constructObjectPropertyBoxed "encoding" (Just val)
+
+clearFileSaverEncoding :: (MonadIO m, FileSaverK o) => o -> m ()
+clearFileSaverEncoding obj = liftIO $ setObjectPropertyBoxed obj "encoding" (Nothing :: Maybe Encoding)
+
+data FileSaverEncodingPropertyInfo
+instance AttrInfo FileSaverEncodingPropertyInfo where
+    type AttrAllowedOps FileSaverEncodingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileSaverEncodingPropertyInfo = (~) Encoding
+    type AttrBaseTypeConstraint FileSaverEncodingPropertyInfo = FileSaverK
+    type AttrGetType FileSaverEncodingPropertyInfo = Encoding
+    type AttrLabel FileSaverEncodingPropertyInfo = "encoding"
+    attrGet _ = getFileSaverEncoding
+    attrSet _ = setFileSaverEncoding
+    attrConstruct _ = constructFileSaverEncoding
+    attrClear _ = clearFileSaverEncoding
+
+-- VVV Prop "file"
+   -- Type: TInterface "GtkSource" "File"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getFileSaverFile :: (MonadIO m, FileSaverK o) => o -> m File
+getFileSaverFile obj = liftIO $ checkUnexpectedNothing "getFileSaverFile" $ getObjectPropertyObject obj "file" File
+
+constructFileSaverFile :: (FileK a) => a -> IO ([Char], GValue)
+constructFileSaverFile val = constructObjectPropertyObject "file" (Just val)
+
+data FileSaverFilePropertyInfo
+instance AttrInfo FileSaverFilePropertyInfo where
+    type AttrAllowedOps FileSaverFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileSaverFilePropertyInfo = FileK
+    type AttrBaseTypeConstraint FileSaverFilePropertyInfo = FileSaverK
+    type AttrGetType FileSaverFilePropertyInfo = File
+    type AttrLabel FileSaverFilePropertyInfo = "file"
+    attrGet _ = getFileSaverFile
+    attrSet _ = undefined
+    attrConstruct _ = constructFileSaverFile
+    attrClear _ = undefined
+
+-- VVV Prop "flags"
+   -- Type: TInterface "GtkSource" "FileSaverFlags"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getFileSaverFlags :: (MonadIO m, FileSaverK o) => o -> m [FileSaverFlags]
+getFileSaverFlags obj = liftIO $ getObjectPropertyFlags obj "flags"
+
+setFileSaverFlags :: (MonadIO m, FileSaverK o) => o -> [FileSaverFlags] -> m ()
+setFileSaverFlags obj val = liftIO $ setObjectPropertyFlags obj "flags" val
+
+constructFileSaverFlags :: [FileSaverFlags] -> IO ([Char], GValue)
+constructFileSaverFlags val = constructObjectPropertyFlags "flags" val
+
+data FileSaverFlagsPropertyInfo
+instance AttrInfo FileSaverFlagsPropertyInfo where
+    type AttrAllowedOps FileSaverFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileSaverFlagsPropertyInfo = (~) [FileSaverFlags]
+    type AttrBaseTypeConstraint FileSaverFlagsPropertyInfo = FileSaverK
+    type AttrGetType FileSaverFlagsPropertyInfo = [FileSaverFlags]
+    type AttrLabel FileSaverFlagsPropertyInfo = "flags"
+    attrGet _ = getFileSaverFlags
+    attrSet _ = setFileSaverFlags
+    attrConstruct _ = constructFileSaverFlags
+    attrClear _ = undefined
+
+-- VVV Prop "location"
+   -- Type: TInterface "Gio" "File"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getFileSaverLocation :: (MonadIO m, FileSaverK o) => o -> m Gio.File
+getFileSaverLocation obj = liftIO $ checkUnexpectedNothing "getFileSaverLocation" $ getObjectPropertyObject obj "location" Gio.File
+
+constructFileSaverLocation :: (Gio.FileK a) => a -> IO ([Char], GValue)
+constructFileSaverLocation val = constructObjectPropertyObject "location" (Just val)
+
+data FileSaverLocationPropertyInfo
+instance AttrInfo FileSaverLocationPropertyInfo where
+    type AttrAllowedOps FileSaverLocationPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileSaverLocationPropertyInfo = Gio.FileK
+    type AttrBaseTypeConstraint FileSaverLocationPropertyInfo = FileSaverK
+    type AttrGetType FileSaverLocationPropertyInfo = Gio.File
+    type AttrLabel FileSaverLocationPropertyInfo = "location"
+    attrGet _ = getFileSaverLocation
+    attrSet _ = undefined
+    attrConstruct _ = constructFileSaverLocation
+    attrClear _ = undefined
+
+-- VVV Prop "newline-type"
+   -- Type: TInterface "GtkSource" "NewlineType"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getFileSaverNewlineType :: (MonadIO m, FileSaverK o) => o -> m NewlineType
+getFileSaverNewlineType obj = liftIO $ getObjectPropertyEnum obj "newline-type"
+
+setFileSaverNewlineType :: (MonadIO m, FileSaverK o) => o -> NewlineType -> m ()
+setFileSaverNewlineType obj val = liftIO $ setObjectPropertyEnum obj "newline-type" val
+
+constructFileSaverNewlineType :: NewlineType -> IO ([Char], GValue)
+constructFileSaverNewlineType val = constructObjectPropertyEnum "newline-type" val
+
+data FileSaverNewlineTypePropertyInfo
+instance AttrInfo FileSaverNewlineTypePropertyInfo where
+    type AttrAllowedOps FileSaverNewlineTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileSaverNewlineTypePropertyInfo = (~) NewlineType
+    type AttrBaseTypeConstraint FileSaverNewlineTypePropertyInfo = FileSaverK
+    type AttrGetType FileSaverNewlineTypePropertyInfo = NewlineType
+    type AttrLabel FileSaverNewlineTypePropertyInfo = "newline-type"
+    attrGet _ = getFileSaverNewlineType
+    attrSet _ = setFileSaverNewlineType
+    attrConstruct _ = constructFileSaverNewlineType
+    attrClear _ = undefined
+
+type instance AttributeList FileSaver = FileSaverAttributeList
+type FileSaverAttributeList = ('[ '("buffer", FileSaverBufferPropertyInfo), '("compressionType", FileSaverCompressionTypePropertyInfo), '("encoding", FileSaverEncodingPropertyInfo), '("file", FileSaverFilePropertyInfo), '("flags", FileSaverFlagsPropertyInfo), '("location", FileSaverLocationPropertyInfo), '("newlineType", FileSaverNewlineTypePropertyInfo)] :: [(Symbol, *)])
+
+fileSaverBuffer :: AttrLabelProxy "buffer"
+fileSaverBuffer = AttrLabelProxy
+
+fileSaverCompressionType :: AttrLabelProxy "compressionType"
+fileSaverCompressionType = AttrLabelProxy
+
+fileSaverEncoding :: AttrLabelProxy "encoding"
+fileSaverEncoding = AttrLabelProxy
+
+fileSaverFile :: AttrLabelProxy "file"
+fileSaverFile = AttrLabelProxy
+
+fileSaverFlags :: AttrLabelProxy "flags"
+fileSaverFlags = AttrLabelProxy
+
+fileSaverLocation :: AttrLabelProxy "location"
+fileSaverLocation = AttrLabelProxy
+
+fileSaverNewlineType :: AttrLabelProxy "newlineType"
+fileSaverNewlineType = AttrLabelProxy
+
+type instance SignalList FileSaver = FileSaverSignalList
+type FileSaverSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method FileSaver::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "FileSaver")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_new" gtk_source_file_saver_new :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    Ptr File ->                             -- file : TInterface "GtkSource" "File"
+    IO (Ptr FileSaver)
+
+
+fileSaverNew ::
+    (MonadIO m, BufferK a, FileK b) =>
+    a                                       -- buffer
+    -> b                                    -- file
+    -> m FileSaver                          -- result
+fileSaverNew buffer file = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    let file' = unsafeManagedPtrCastPtr file
+    result <- gtk_source_file_saver_new buffer' file'
+    checkUnexpectedReturnNULL "gtk_source_file_saver_new" result
+    result' <- (wrapObject FileSaver) result
+    touchManagedPtr buffer
+    touchManagedPtr file
+    return result'
+
+-- method FileSaver::new_with_target
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface "GtkSource" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_location", argType = TInterface "Gio" "File", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "FileSaver")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_new_with_target" gtk_source_file_saver_new_with_target :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    Ptr File ->                             -- file : TInterface "GtkSource" "File"
+    Ptr Gio.File ->                         -- target_location : TInterface "Gio" "File"
+    IO (Ptr FileSaver)
+
+
+fileSaverNewWithTarget ::
+    (MonadIO m, BufferK a, FileK b, Gio.FileK c) =>
+    a                                       -- buffer
+    -> b                                    -- file
+    -> c                                    -- targetLocation
+    -> m FileSaver                          -- result
+fileSaverNewWithTarget buffer file targetLocation = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    let file' = unsafeManagedPtrCastPtr file
+    let targetLocation' = unsafeManagedPtrCastPtr targetLocation
+    result <- gtk_source_file_saver_new_with_target buffer' file' targetLocation'
+    checkUnexpectedReturnNULL "gtk_source_file_saver_new_with_target" result
+    result' <- (wrapObject FileSaver) result
+    touchManagedPtr buffer
+    touchManagedPtr file
+    touchManagedPtr targetLocation
+    return result'
+
+-- method FileSaver::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Buffer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_buffer" gtk_source_file_saver_get_buffer :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO (Ptr Buffer)
+
+
+fileSaverGetBuffer ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m Buffer                             -- result
+fileSaverGetBuffer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_buffer _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_saver_get_buffer" result
+    result' <- (newObject Buffer) result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetBufferMethodInfo
+instance (signature ~ (m Buffer), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetBufferMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetBuffer
+
+-- method FileSaver::get_compression_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "CompressionType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_compression_type" gtk_source_file_saver_get_compression_type :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO CUInt
+
+
+fileSaverGetCompressionType ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m CompressionType                    -- result
+fileSaverGetCompressionType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_compression_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetCompressionTypeMethodInfo
+instance (signature ~ (m CompressionType), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetCompressionTypeMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetCompressionType
+
+-- method FileSaver::get_encoding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_encoding" gtk_source_file_saver_get_encoding :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO (Ptr Encoding)
+
+
+fileSaverGetEncoding ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m Encoding                           -- result
+fileSaverGetEncoding _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_encoding _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_saver_get_encoding" result
+    result' <- (newBoxed Encoding) result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetEncodingMethodInfo
+instance (signature ~ (m Encoding), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetEncodingMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetEncoding
+
+-- method FileSaver::get_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "File")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_file" gtk_source_file_saver_get_file :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO (Ptr File)
+
+
+fileSaverGetFile ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m File                               -- result
+fileSaverGetFile _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_file _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_saver_get_file" result
+    result' <- (newObject File) result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetFileMethodInfo
+instance (signature ~ (m File), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetFileMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetFile
+
+-- method FileSaver::get_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "FileSaverFlags")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_flags" gtk_source_file_saver_get_flags :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO CUInt
+
+
+fileSaverGetFlags ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m [FileSaverFlags]                   -- result
+fileSaverGetFlags _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_flags _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetFlagsMethodInfo
+instance (signature ~ (m [FileSaverFlags]), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetFlagsMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetFlags
+
+-- method FileSaver::get_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "File")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_location" gtk_source_file_saver_get_location :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO (Ptr Gio.File)
+
+
+fileSaverGetLocation ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m Gio.File                           -- result
+fileSaverGetLocation _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_location _obj'
+    checkUnexpectedReturnNULL "gtk_source_file_saver_get_location" result
+    result' <- (newObject Gio.File) result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetLocationMethodInfo
+instance (signature ~ (m Gio.File), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetLocationMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetLocation
+
+-- method FileSaver::get_newline_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "NewlineType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_get_newline_type" gtk_source_file_saver_get_newline_type :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    IO CUInt
+
+
+fileSaverGetNewlineType ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> m NewlineType                        -- result
+fileSaverGetNewlineType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_file_saver_get_newline_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data FileSaverGetNewlineTypeMethodInfo
+instance (signature ~ (m NewlineType), MonadIO m, FileSaverK a) => MethodInfo FileSaverGetNewlineTypeMethodInfo a signature where
+    overloadedMethod _ = fileSaverGetNewlineType
+
+-- method FileSaver::save_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "io_priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress_callback", argType = TInterface "Gio" "FileProgressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress_callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress_callback_notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_save_async" gtk_source_file_saver_save_async :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    Int32 ->                                -- io_priority : TBasicType TInt
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    FunPtr Gio.FileProgressCallbackC ->     -- progress_callback : TInterface "Gio" "FileProgressCallback"
+    Ptr () ->                               -- progress_callback_data : TBasicType TPtr
+    FunPtr GLib.DestroyNotifyC ->           -- progress_callback_notify : TInterface "GLib" "DestroyNotify"
+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+
+fileSaverSaveAsync ::
+    (MonadIO m, FileSaverK a, Gio.CancellableK b) =>
+    a                                       -- _obj
+    -> Int32                                -- ioPriority
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (Gio.FileProgressCallback)     -- progressCallback
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
+fileSaverSaveAsync _obj ioPriority cancellable progressCallback callback = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    maybeProgressCallback <- case progressCallback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jProgressCallback -> do
+            jProgressCallback' <- Gio.mkFileProgressCallback (Gio.fileProgressCallbackWrapper Nothing jProgressCallback)
+            return jProgressCallback'
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.AsyncReadyCallbackC))
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
+            poke ptrcallback jCallback'
+            return jCallback'
+    let progressCallbackData = castFunPtrToPtr maybeProgressCallback
+    let progressCallbackNotify = safeFreeFunPtrPtr
+    let userData = nullPtr
+    gtk_source_file_saver_save_async _obj' ioPriority maybeCancellable maybeProgressCallback progressCallbackData progressCallbackNotify maybeCallback userData
+    touchManagedPtr _obj
+    whenJust cancellable touchManagedPtr
+    return ()
+
+data FileSaverSaveAsyncMethodInfo
+instance (signature ~ (Int32 -> Maybe (b) -> Maybe (Gio.FileProgressCallback) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, FileSaverK a, Gio.CancellableK b) => MethodInfo FileSaverSaveAsyncMethodInfo a signature where
+    overloadedMethod _ = fileSaverSaveAsync
+
+-- method FileSaver::save_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_save_finish" gtk_source_file_saver_save_finish :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+fileSaverSaveFinish ::
+    (MonadIO m, FileSaverK a, Gio.AsyncResultK b) =>
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m ()                                 -- result
+fileSaverSaveFinish _obj result_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let result_' = unsafeManagedPtrCastPtr result_
+    onException (do
+        _ <- propagateGError $ gtk_source_file_saver_save_finish _obj' result_'
+        touchManagedPtr _obj
+        touchManagedPtr result_
+        return ()
+     ) (do
+        return ()
+     )
+
+data FileSaverSaveFinishMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, FileSaverK a, Gio.AsyncResultK b) => MethodInfo FileSaverSaveFinishMethodInfo a signature where
+    overloadedMethod _ = fileSaverSaveFinish
+
+-- method FileSaver::set_compression_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compression_type", argType = TInterface "GtkSource" "CompressionType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_set_compression_type" gtk_source_file_saver_set_compression_type :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    CUInt ->                                -- compression_type : TInterface "GtkSource" "CompressionType"
+    IO ()
+
+
+fileSaverSetCompressionType ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> CompressionType                      -- compressionType
+    -> m ()                                 -- result
+fileSaverSetCompressionType _obj compressionType = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let compressionType' = (fromIntegral . fromEnum) compressionType
+    gtk_source_file_saver_set_compression_type _obj' compressionType'
+    touchManagedPtr _obj
+    return ()
+
+data FileSaverSetCompressionTypeMethodInfo
+instance (signature ~ (CompressionType -> m ()), MonadIO m, FileSaverK a) => MethodInfo FileSaverSetCompressionTypeMethodInfo a signature where
+    overloadedMethod _ = fileSaverSetCompressionType
+
+-- method FileSaver::set_encoding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "encoding", argType = TInterface "GtkSource" "Encoding", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_set_encoding" gtk_source_file_saver_set_encoding :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    Ptr Encoding ->                         -- encoding : TInterface "GtkSource" "Encoding"
+    IO ()
+
+
+fileSaverSetEncoding ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> Maybe (Encoding)                     -- encoding
+    -> m ()                                 -- result
+fileSaverSetEncoding _obj encoding = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeEncoding <- case encoding of
+        Nothing -> return nullPtr
+        Just jEncoding -> do
+            let jEncoding' = unsafeManagedPtrGetPtr jEncoding
+            return jEncoding'
+    gtk_source_file_saver_set_encoding _obj' maybeEncoding
+    touchManagedPtr _obj
+    whenJust encoding touchManagedPtr
+    return ()
+
+data FileSaverSetEncodingMethodInfo
+instance (signature ~ (Maybe (Encoding) -> m ()), MonadIO m, FileSaverK a) => MethodInfo FileSaverSetEncodingMethodInfo a signature where
+    overloadedMethod _ = fileSaverSetEncoding
+
+-- method FileSaver::set_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GtkSource" "FileSaverFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_set_flags" gtk_source_file_saver_set_flags :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    CUInt ->                                -- flags : TInterface "GtkSource" "FileSaverFlags"
+    IO ()
+
+
+fileSaverSetFlags ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> [FileSaverFlags]                     -- flags
+    -> m ()                                 -- result
+fileSaverSetFlags _obj flags = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let flags' = gflagsToWord flags
+    gtk_source_file_saver_set_flags _obj' flags'
+    touchManagedPtr _obj
+    return ()
+
+data FileSaverSetFlagsMethodInfo
+instance (signature ~ ([FileSaverFlags] -> m ()), MonadIO m, FileSaverK a) => MethodInfo FileSaverSetFlagsMethodInfo a signature where
+    overloadedMethod _ = fileSaverSetFlags
+
+-- method FileSaver::set_newline_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "FileSaver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newline_type", argType = TInterface "GtkSource" "NewlineType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_file_saver_set_newline_type" gtk_source_file_saver_set_newline_type :: 
+    Ptr FileSaver ->                        -- _obj : TInterface "GtkSource" "FileSaver"
+    CUInt ->                                -- newline_type : TInterface "GtkSource" "NewlineType"
+    IO ()
+
+
+fileSaverSetNewlineType ::
+    (MonadIO m, FileSaverK a) =>
+    a                                       -- _obj
+    -> NewlineType                          -- newlineType
+    -> m ()                                 -- result
+fileSaverSetNewlineType _obj newlineType = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let newlineType' = (fromIntegral . fromEnum) newlineType
+    gtk_source_file_saver_set_newline_type _obj' newlineType'
+    touchManagedPtr _obj
+    return ()
+
+data FileSaverSetNewlineTypeMethodInfo
+instance (signature ~ (NewlineType -> m ()), MonadIO m, FileSaverK a) => MethodInfo FileSaverSetNewlineTypeMethodInfo a signature where
+    overloadedMethod _ = fileSaverSetNewlineType
+
+
diff --git a/GI/GtkSource/Objects/FileSaver.hs-boot b/GI/GtkSource/Objects/FileSaver.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/FileSaver.hs-boot
@@ -0,0 +1,33 @@
+module GI.GtkSource.Objects.FileSaver where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype FileSaver = FileSaver (ForeignPtr FileSaver)
+instance GObject FileSaver where
+class GObject o => FileSaverK o
+instance (GObject o, IsDescendantOf FileSaver o) => FileSaverK o
+data FileSaverBufferPropertyInfo
+data FileSaverCompressionTypePropertyInfo
+data FileSaverEncodingPropertyInfo
+data FileSaverFilePropertyInfo
+data FileSaverFlagsPropertyInfo
+data FileSaverLocationPropertyInfo
+data FileSaverNewlineTypePropertyInfo
+data FileSaverGetBufferMethodInfo
+data FileSaverGetCompressionTypeMethodInfo
+data FileSaverGetEncodingMethodInfo
+data FileSaverGetFileMethodInfo
+data FileSaverGetFlagsMethodInfo
+data FileSaverGetLocationMethodInfo
+data FileSaverGetNewlineTypeMethodInfo
+data FileSaverSaveAsyncMethodInfo
+data FileSaverSaveFinishMethodInfo
+data FileSaverSetCompressionTypeMethodInfo
+data FileSaverSetEncodingMethodInfo
+data FileSaverSetFlagsMethodInfo
+data FileSaverSetNewlineTypeMethodInfo
diff --git a/GI/GtkSource/Objects/Gutter.hs b/GI/GtkSource/Objects/Gutter.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Gutter.hs
@@ -0,0 +1,538 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Gutter
+    ( 
+
+-- * Exported types
+    Gutter(..)                              ,
+    GutterK                                 ,
+    toGutter                                ,
+    noGutter                                ,
+
+
+ -- * Methods
+-- ** gutterGetPadding
+    GutterGetPaddingMethodInfo              ,
+    gutterGetPadding                        ,
+
+
+-- ** gutterGetRendererAtPos
+    GutterGetRendererAtPosMethodInfo        ,
+    gutterGetRendererAtPos                  ,
+
+
+-- ** gutterGetWindow
+    GutterGetWindowMethodInfo               ,
+    gutterGetWindow                         ,
+
+
+-- ** gutterInsert
+    GutterInsertMethodInfo                  ,
+    gutterInsert                            ,
+
+
+-- ** gutterQueueDraw
+    GutterQueueDrawMethodInfo               ,
+    gutterQueueDraw                         ,
+
+
+-- ** gutterRemove
+    GutterRemoveMethodInfo                  ,
+    gutterRemove                            ,
+
+
+-- ** gutterReorder
+    GutterReorderMethodInfo                 ,
+    gutterReorder                           ,
+
+
+-- ** gutterSetPadding
+    GutterSetPaddingMethodInfo              ,
+    gutterSetPadding                        ,
+
+
+
+
+ -- * Properties
+-- ** View
+    GutterViewPropertyInfo                  ,
+    constructGutterView                     ,
+    getGutterView                           ,
+    gutterView                              ,
+
+
+-- ** WindowType
+    GutterWindowTypePropertyInfo            ,
+    constructGutterWindowType               ,
+    getGutterWindowType                     ,
+    gutterWindowType                        ,
+
+
+-- ** Xpad
+    GutterXpadPropertyInfo                  ,
+    constructGutterXpad                     ,
+    getGutterXpad                           ,
+    gutterXpad                              ,
+    setGutterXpad                           ,
+
+
+-- ** Ypad
+    GutterYpadPropertyInfo                  ,
+    constructGutterYpad                     ,
+    getGutterYpad                           ,
+    gutterYpad                              ,
+    setGutterYpad                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gdk as Gdk
+import qualified GI.Gtk as Gtk
+
+newtype Gutter = Gutter (ForeignPtr Gutter)
+foreign import ccall "gtk_source_gutter_get_type"
+    c_gtk_source_gutter_get_type :: IO GType
+
+type instance ParentTypes Gutter = GutterParentTypes
+type GutterParentTypes = '[GObject.Object]
+
+instance GObject Gutter where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_gutter_get_type
+    
+
+class GObject o => GutterK o
+instance (GObject o, IsDescendantOf Gutter o) => GutterK o
+
+toGutter :: GutterK o => o -> IO Gutter
+toGutter = unsafeCastTo Gutter
+
+noGutter :: Maybe Gutter
+noGutter = Nothing
+
+type family ResolveGutterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGutterMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveGutterMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveGutterMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveGutterMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveGutterMethod "insert" o = GutterInsertMethodInfo
+    ResolveGutterMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveGutterMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveGutterMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveGutterMethod "queueDraw" o = GutterQueueDrawMethodInfo
+    ResolveGutterMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveGutterMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveGutterMethod "remove" o = GutterRemoveMethodInfo
+    ResolveGutterMethod "reorder" o = GutterReorderMethodInfo
+    ResolveGutterMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveGutterMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveGutterMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveGutterMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveGutterMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveGutterMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveGutterMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveGutterMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveGutterMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveGutterMethod "getPadding" o = GutterGetPaddingMethodInfo
+    ResolveGutterMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveGutterMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveGutterMethod "getRendererAtPos" o = GutterGetRendererAtPosMethodInfo
+    ResolveGutterMethod "getWindow" o = GutterGetWindowMethodInfo
+    ResolveGutterMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveGutterMethod "setPadding" o = GutterSetPaddingMethodInfo
+    ResolveGutterMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveGutterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGutterMethod t Gutter, MethodInfo info Gutter p) => IsLabelProxy t (Gutter -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGutterMethod t Gutter, MethodInfo info Gutter p) => IsLabel t (Gutter -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "view"
+   -- Type: TInterface "GtkSource" "View"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterView :: (MonadIO m, GutterK o) => o -> m (Maybe View)
+getGutterView obj = liftIO $ getObjectPropertyObject obj "view" View
+
+constructGutterView :: (ViewK a) => a -> IO ([Char], GValue)
+constructGutterView val = constructObjectPropertyObject "view" (Just val)
+
+data GutterViewPropertyInfo
+instance AttrInfo GutterViewPropertyInfo where
+    type AttrAllowedOps GutterViewPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterViewPropertyInfo = ViewK
+    type AttrBaseTypeConstraint GutterViewPropertyInfo = GutterK
+    type AttrGetType GutterViewPropertyInfo = (Maybe View)
+    type AttrLabel GutterViewPropertyInfo = "view"
+    attrGet _ = getGutterView
+    attrSet _ = undefined
+    attrConstruct _ = constructGutterView
+    attrClear _ = undefined
+
+-- VVV Prop "window-type"
+   -- Type: TInterface "Gtk" "TextWindowType"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterWindowType :: (MonadIO m, GutterK o) => o -> m Gtk.TextWindowType
+getGutterWindowType obj = liftIO $ getObjectPropertyEnum obj "window-type"
+
+constructGutterWindowType :: Gtk.TextWindowType -> IO ([Char], GValue)
+constructGutterWindowType val = constructObjectPropertyEnum "window-type" val
+
+data GutterWindowTypePropertyInfo
+instance AttrInfo GutterWindowTypePropertyInfo where
+    type AttrAllowedOps GutterWindowTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterWindowTypePropertyInfo = (~) Gtk.TextWindowType
+    type AttrBaseTypeConstraint GutterWindowTypePropertyInfo = GutterK
+    type AttrGetType GutterWindowTypePropertyInfo = Gtk.TextWindowType
+    type AttrLabel GutterWindowTypePropertyInfo = "window-type"
+    attrGet _ = getGutterWindowType
+    attrSet _ = undefined
+    attrConstruct _ = constructGutterWindowType
+    attrClear _ = undefined
+
+-- VVV Prop "xpad"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterXpad :: (MonadIO m, GutterK o) => o -> m Int32
+getGutterXpad obj = liftIO $ getObjectPropertyInt32 obj "xpad"
+
+setGutterXpad :: (MonadIO m, GutterK o) => o -> Int32 -> m ()
+setGutterXpad obj val = liftIO $ setObjectPropertyInt32 obj "xpad" val
+
+constructGutterXpad :: Int32 -> IO ([Char], GValue)
+constructGutterXpad val = constructObjectPropertyInt32 "xpad" val
+
+data GutterXpadPropertyInfo
+instance AttrInfo GutterXpadPropertyInfo where
+    type AttrAllowedOps GutterXpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterXpadPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GutterXpadPropertyInfo = GutterK
+    type AttrGetType GutterXpadPropertyInfo = Int32
+    type AttrLabel GutterXpadPropertyInfo = "xpad"
+    attrGet _ = getGutterXpad
+    attrSet _ = setGutterXpad
+    attrConstruct _ = constructGutterXpad
+    attrClear _ = undefined
+
+-- VVV Prop "ypad"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterYpad :: (MonadIO m, GutterK o) => o -> m Int32
+getGutterYpad obj = liftIO $ getObjectPropertyInt32 obj "ypad"
+
+setGutterYpad :: (MonadIO m, GutterK o) => o -> Int32 -> m ()
+setGutterYpad obj val = liftIO $ setObjectPropertyInt32 obj "ypad" val
+
+constructGutterYpad :: Int32 -> IO ([Char], GValue)
+constructGutterYpad val = constructObjectPropertyInt32 "ypad" val
+
+data GutterYpadPropertyInfo
+instance AttrInfo GutterYpadPropertyInfo where
+    type AttrAllowedOps GutterYpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterYpadPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GutterYpadPropertyInfo = GutterK
+    type AttrGetType GutterYpadPropertyInfo = Int32
+    type AttrLabel GutterYpadPropertyInfo = "ypad"
+    attrGet _ = getGutterYpad
+    attrSet _ = setGutterYpad
+    attrConstruct _ = constructGutterYpad
+    attrClear _ = undefined
+
+type instance AttributeList Gutter = GutterAttributeList
+type GutterAttributeList = ('[ '("view", GutterViewPropertyInfo), '("windowType", GutterWindowTypePropertyInfo), '("xpad", GutterXpadPropertyInfo), '("ypad", GutterYpadPropertyInfo)] :: [(Symbol, *)])
+
+gutterView :: AttrLabelProxy "view"
+gutterView = AttrLabelProxy
+
+gutterWindowType :: AttrLabelProxy "windowType"
+gutterWindowType = AttrLabelProxy
+
+gutterXpad :: AttrLabelProxy "xpad"
+gutterXpad = AttrLabelProxy
+
+gutterYpad :: AttrLabelProxy "ypad"
+gutterYpad = AttrLabelProxy
+
+type instance SignalList Gutter = GutterSignalList
+type GutterSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method Gutter::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_get_padding" gtk_source_gutter_get_padding :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    Int32 ->                                -- xpad : TBasicType TInt
+    Int32 ->                                -- ypad : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED gutterGetPadding ["(Since version 3.12)","Use gtk_source_gutter_renderer_get_padding() instead."]#-}
+gutterGetPadding ::
+    (MonadIO m, GutterK a) =>
+    a                                       -- _obj
+    -> Int32                                -- xpad
+    -> Int32                                -- ypad
+    -> m ()                                 -- result
+gutterGetPadding _obj xpad ypad = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_get_padding _obj' xpad ypad
+    touchManagedPtr _obj
+    return ()
+
+data GutterGetPaddingMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, GutterK a) => MethodInfo GutterGetPaddingMethodInfo a signature where
+    overloadedMethod _ = gutterGetPadding
+
+-- method Gutter::get_renderer_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "GutterRenderer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_get_renderer_at_pos" gtk_source_gutter_get_renderer_at_pos :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr GutterRenderer)
+
+
+gutterGetRendererAtPos ::
+    (MonadIO m, GutterK a) =>
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> m (Maybe GutterRenderer)             -- result
+gutterGetRendererAtPos _obj x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_get_renderer_at_pos _obj' x y
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GutterRenderer) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data GutterGetRendererAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Maybe GutterRenderer)), MonadIO m, GutterK a) => MethodInfo GutterGetRendererAtPosMethodInfo a signature where
+    overloadedMethod _ = gutterGetRendererAtPos
+
+-- method Gutter::get_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gdk" "Window")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_get_window" gtk_source_gutter_get_window :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    IO (Ptr Gdk.Window)
+
+{-# DEPRECATED gutterGetWindow ["(Since version 3.12)","Use gtk_text_view_get_window() instead."]#-}
+gutterGetWindow ::
+    (MonadIO m, GutterK a) =>
+    a                                       -- _obj
+    -> m Gdk.Window                         -- result
+gutterGetWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_get_window _obj'
+    checkUnexpectedReturnNULL "gtk_source_gutter_get_window" result
+    result' <- (newObject Gdk.Window) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterGetWindowMethodInfo
+instance (signature ~ (m Gdk.Window), MonadIO m, GutterK a) => MethodInfo GutterGetWindowMethodInfo a signature where
+    overloadedMethod _ = gutterGetWindow
+
+-- method Gutter::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_insert" gtk_source_gutter_insert :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    Ptr GutterRenderer ->                   -- renderer : TInterface "GtkSource" "GutterRenderer"
+    Int32 ->                                -- position : TBasicType TInt
+    IO CInt
+
+
+gutterInsert ::
+    (MonadIO m, GutterK a, GutterRendererK b) =>
+    a                                       -- _obj
+    -> b                                    -- renderer
+    -> Int32                                -- position
+    -> m Bool                               -- result
+gutterInsert _obj renderer position = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let renderer' = unsafeManagedPtrCastPtr renderer
+    result <- gtk_source_gutter_insert _obj' renderer' position
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr renderer
+    return result'
+
+data GutterInsertMethodInfo
+instance (signature ~ (b -> Int32 -> m Bool), MonadIO m, GutterK a, GutterRendererK b) => MethodInfo GutterInsertMethodInfo a signature where
+    overloadedMethod _ = gutterInsert
+
+-- method Gutter::queue_draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_queue_draw" gtk_source_gutter_queue_draw :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    IO ()
+
+
+gutterQueueDraw ::
+    (MonadIO m, GutterK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+gutterQueueDraw _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_queue_draw _obj'
+    touchManagedPtr _obj
+    return ()
+
+data GutterQueueDrawMethodInfo
+instance (signature ~ (m ()), MonadIO m, GutterK a) => MethodInfo GutterQueueDrawMethodInfo a signature where
+    overloadedMethod _ = gutterQueueDraw
+
+-- method Gutter::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_remove" gtk_source_gutter_remove :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    Ptr GutterRenderer ->                   -- renderer : TInterface "GtkSource" "GutterRenderer"
+    IO ()
+
+
+gutterRemove ::
+    (MonadIO m, GutterK a, GutterRendererK b) =>
+    a                                       -- _obj
+    -> b                                    -- renderer
+    -> m ()                                 -- result
+gutterRemove _obj renderer = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let renderer' = unsafeManagedPtrCastPtr renderer
+    gtk_source_gutter_remove _obj' renderer'
+    touchManagedPtr _obj
+    touchManagedPtr renderer
+    return ()
+
+data GutterRemoveMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, GutterK a, GutterRendererK b) => MethodInfo GutterRemoveMethodInfo a signature where
+    overloadedMethod _ = gutterRemove
+
+-- method Gutter::reorder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_reorder" gtk_source_gutter_reorder :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    Ptr GutterRenderer ->                   -- renderer : TInterface "GtkSource" "GutterRenderer"
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+
+gutterReorder ::
+    (MonadIO m, GutterK a, GutterRendererK b) =>
+    a                                       -- _obj
+    -> b                                    -- renderer
+    -> Int32                                -- position
+    -> m ()                                 -- result
+gutterReorder _obj renderer position = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let renderer' = unsafeManagedPtrCastPtr renderer
+    gtk_source_gutter_reorder _obj' renderer' position
+    touchManagedPtr _obj
+    touchManagedPtr renderer
+    return ()
+
+data GutterReorderMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, GutterK a, GutterRendererK b) => MethodInfo GutterReorderMethodInfo a signature where
+    overloadedMethod _ = gutterReorder
+
+-- method Gutter::set_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Gutter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_set_padding" gtk_source_gutter_set_padding :: 
+    Ptr Gutter ->                           -- _obj : TInterface "GtkSource" "Gutter"
+    Int32 ->                                -- xpad : TBasicType TInt
+    Int32 ->                                -- ypad : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED gutterSetPadding ["(Since version 3.12)","Use gtk_source_gutter_renderer_set_padding() instead."]#-}
+gutterSetPadding ::
+    (MonadIO m, GutterK a) =>
+    a                                       -- _obj
+    -> Int32                                -- xpad
+    -> Int32                                -- ypad
+    -> m ()                                 -- result
+gutterSetPadding _obj xpad ypad = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_set_padding _obj' xpad ypad
+    touchManagedPtr _obj
+    return ()
+
+data GutterSetPaddingMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, GutterK a) => MethodInfo GutterSetPaddingMethodInfo a signature where
+    overloadedMethod _ = gutterSetPadding
+
+
diff --git a/GI/GtkSource/Objects/Gutter.hs-boot b/GI/GtkSource/Objects/Gutter.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Gutter.hs-boot
@@ -0,0 +1,25 @@
+module GI.GtkSource.Objects.Gutter where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Gutter = Gutter (ForeignPtr Gutter)
+instance GObject Gutter where
+class GObject o => GutterK o
+instance (GObject o, IsDescendantOf Gutter o) => GutterK o
+data GutterViewPropertyInfo
+data GutterWindowTypePropertyInfo
+data GutterXpadPropertyInfo
+data GutterYpadPropertyInfo
+data GutterGetPaddingMethodInfo
+data GutterGetRendererAtPosMethodInfo
+data GutterGetWindowMethodInfo
+data GutterInsertMethodInfo
+data GutterQueueDrawMethodInfo
+data GutterRemoveMethodInfo
+data GutterReorderMethodInfo
+data GutterSetPaddingMethodInfo
diff --git a/GI/GtkSource/Objects/GutterRenderer.hs b/GI/GtkSource/Objects/GutterRenderer.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/GutterRenderer.hs
@@ -0,0 +1,1707 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.GutterRenderer
+    ( 
+
+-- * Exported types
+    GutterRenderer(..)                      ,
+    GutterRendererK                         ,
+    toGutterRenderer                        ,
+    noGutterRenderer                        ,
+
+
+ -- * Methods
+-- ** gutterRendererActivate
+    GutterRendererActivateMethodInfo        ,
+    gutterRendererActivate                  ,
+
+
+-- ** gutterRendererBegin
+    GutterRendererBeginMethodInfo           ,
+    gutterRendererBegin                     ,
+
+
+-- ** gutterRendererDraw
+    GutterRendererDrawMethodInfo            ,
+    gutterRendererDraw                      ,
+
+
+-- ** gutterRendererEnd
+    GutterRendererEndMethodInfo             ,
+    gutterRendererEnd                       ,
+
+
+-- ** gutterRendererGetAlignment
+    GutterRendererGetAlignmentMethodInfo    ,
+    gutterRendererGetAlignment              ,
+
+
+-- ** gutterRendererGetAlignmentMode
+    GutterRendererGetAlignmentModeMethodInfo,
+    gutterRendererGetAlignmentMode          ,
+
+
+-- ** gutterRendererGetBackground
+    GutterRendererGetBackgroundMethodInfo   ,
+    gutterRendererGetBackground             ,
+
+
+-- ** gutterRendererGetPadding
+    GutterRendererGetPaddingMethodInfo      ,
+    gutterRendererGetPadding                ,
+
+
+-- ** gutterRendererGetSize
+    GutterRendererGetSizeMethodInfo         ,
+    gutterRendererGetSize                   ,
+
+
+-- ** gutterRendererGetView
+    GutterRendererGetViewMethodInfo         ,
+    gutterRendererGetView                   ,
+
+
+-- ** gutterRendererGetVisible
+    GutterRendererGetVisibleMethodInfo      ,
+    gutterRendererGetVisible                ,
+
+
+-- ** gutterRendererGetWindowType
+    GutterRendererGetWindowTypeMethodInfo   ,
+    gutterRendererGetWindowType             ,
+
+
+-- ** gutterRendererQueryActivatable
+    GutterRendererQueryActivatableMethodInfo,
+    gutterRendererQueryActivatable          ,
+
+
+-- ** gutterRendererQueryData
+    GutterRendererQueryDataMethodInfo       ,
+    gutterRendererQueryData                 ,
+
+
+-- ** gutterRendererQueryTooltip
+    GutterRendererQueryTooltipMethodInfo    ,
+    gutterRendererQueryTooltip              ,
+
+
+-- ** gutterRendererQueueDraw
+    GutterRendererQueueDrawMethodInfo       ,
+    gutterRendererQueueDraw                 ,
+
+
+-- ** gutterRendererSetAlignment
+    GutterRendererSetAlignmentMethodInfo    ,
+    gutterRendererSetAlignment              ,
+
+
+-- ** gutterRendererSetAlignmentMode
+    GutterRendererSetAlignmentModeMethodInfo,
+    gutterRendererSetAlignmentMode          ,
+
+
+-- ** gutterRendererSetBackground
+    GutterRendererSetBackgroundMethodInfo   ,
+    gutterRendererSetBackground             ,
+
+
+-- ** gutterRendererSetPadding
+    GutterRendererSetPaddingMethodInfo      ,
+    gutterRendererSetPadding                ,
+
+
+-- ** gutterRendererSetSize
+    GutterRendererSetSizeMethodInfo         ,
+    gutterRendererSetSize                   ,
+
+
+-- ** gutterRendererSetVisible
+    GutterRendererSetVisibleMethodInfo      ,
+    gutterRendererSetVisible                ,
+
+
+
+
+ -- * Properties
+-- ** AlignmentMode
+    GutterRendererAlignmentModePropertyInfo ,
+    constructGutterRendererAlignmentMode    ,
+    getGutterRendererAlignmentMode          ,
+    gutterRendererAlignmentMode             ,
+    setGutterRendererAlignmentMode          ,
+
+
+-- ** BackgroundRgba
+    GutterRendererBackgroundRgbaPropertyInfo,
+    clearGutterRendererBackgroundRgba       ,
+    constructGutterRendererBackgroundRgba   ,
+    getGutterRendererBackgroundRgba         ,
+    gutterRendererBackgroundRgba            ,
+    setGutterRendererBackgroundRgba         ,
+
+
+-- ** BackgroundSet
+    GutterRendererBackgroundSetPropertyInfo ,
+    constructGutterRendererBackgroundSet    ,
+    getGutterRendererBackgroundSet          ,
+    gutterRendererBackgroundSet             ,
+    setGutterRendererBackgroundSet          ,
+
+
+-- ** Size
+    GutterRendererSizePropertyInfo          ,
+    constructGutterRendererSize             ,
+    getGutterRendererSize                   ,
+    gutterRendererSize                      ,
+    setGutterRendererSize                   ,
+
+
+-- ** View
+    GutterRendererViewPropertyInfo          ,
+    getGutterRendererView                   ,
+    gutterRendererView                      ,
+
+
+-- ** Visible
+    GutterRendererVisiblePropertyInfo       ,
+    constructGutterRendererVisible          ,
+    getGutterRendererVisible                ,
+    gutterRendererVisible                   ,
+    setGutterRendererVisible                ,
+
+
+-- ** WindowType
+    GutterRendererWindowTypePropertyInfo    ,
+    getGutterRendererWindowType             ,
+    gutterRendererWindowType                ,
+
+
+-- ** Xalign
+    GutterRendererXalignPropertyInfo        ,
+    constructGutterRendererXalign           ,
+    getGutterRendererXalign                 ,
+    gutterRendererXalign                    ,
+    setGutterRendererXalign                 ,
+
+
+-- ** Xpad
+    GutterRendererXpadPropertyInfo          ,
+    constructGutterRendererXpad             ,
+    getGutterRendererXpad                   ,
+    gutterRendererXpad                      ,
+    setGutterRendererXpad                   ,
+
+
+-- ** Yalign
+    GutterRendererYalignPropertyInfo        ,
+    constructGutterRendererYalign           ,
+    getGutterRendererYalign                 ,
+    gutterRendererYalign                    ,
+    setGutterRendererYalign                 ,
+
+
+-- ** Ypad
+    GutterRendererYpadPropertyInfo          ,
+    constructGutterRendererYpad             ,
+    getGutterRendererYpad                   ,
+    gutterRendererYpad                      ,
+    setGutterRendererYpad                   ,
+
+
+
+
+ -- * Signals
+-- ** Activate
+    GutterRendererActivateCallback          ,
+    GutterRendererActivateCallbackC         ,
+    GutterRendererActivateSignalInfo        ,
+    afterGutterRendererActivate             ,
+    gutterRendererActivateCallbackWrapper   ,
+    gutterRendererActivateClosure           ,
+    mkGutterRendererActivateCallback        ,
+    noGutterRendererActivateCallback        ,
+    onGutterRendererActivate                ,
+
+
+-- ** QueryActivatable
+    GutterRendererQueryActivatableCallback  ,
+    GutterRendererQueryActivatableCallbackC ,
+    GutterRendererQueryActivatableSignalInfo,
+    afterGutterRendererQueryActivatable     ,
+    gutterRendererQueryActivatableCallbackWrapper,
+    gutterRendererQueryActivatableClosure   ,
+    mkGutterRendererQueryActivatableCallback,
+    noGutterRendererQueryActivatableCallback,
+    onGutterRendererQueryActivatable        ,
+
+
+-- ** QueryData
+    GutterRendererQueryDataCallback         ,
+    GutterRendererQueryDataCallbackC        ,
+    GutterRendererQueryDataSignalInfo       ,
+    afterGutterRendererQueryData            ,
+    gutterRendererQueryDataCallbackWrapper  ,
+    gutterRendererQueryDataClosure          ,
+    mkGutterRendererQueryDataCallback       ,
+    noGutterRendererQueryDataCallback       ,
+    onGutterRendererQueryData               ,
+
+
+-- ** QueryTooltip
+    GutterRendererQueryTooltipCallback      ,
+    GutterRendererQueryTooltipCallbackC     ,
+    GutterRendererQueryTooltipSignalInfo    ,
+    afterGutterRendererQueryTooltip         ,
+    gutterRendererQueryTooltipCallbackWrapper,
+    gutterRendererQueryTooltipClosure       ,
+    mkGutterRendererQueryTooltipCallback    ,
+    noGutterRendererQueryTooltipCallback    ,
+    onGutterRendererQueryTooltip            ,
+
+
+-- ** QueueDraw
+    GutterRendererQueueDrawCallback         ,
+    GutterRendererQueueDrawCallbackC        ,
+    GutterRendererQueueDrawSignalInfo       ,
+    afterGutterRendererQueueDraw            ,
+    gutterRendererQueueDrawCallbackWrapper  ,
+    gutterRendererQueueDrawClosure          ,
+    mkGutterRendererQueueDrawCallback       ,
+    noGutterRendererQueueDrawCallback       ,
+    onGutterRendererQueueDraw               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gdk as Gdk
+import qualified GI.Gtk as Gtk
+import qualified GI.Cairo as Cairo
+
+newtype GutterRenderer = GutterRenderer (ForeignPtr GutterRenderer)
+foreign import ccall "gtk_source_gutter_renderer_get_type"
+    c_gtk_source_gutter_renderer_get_type :: IO GType
+
+type instance ParentTypes GutterRenderer = GutterRendererParentTypes
+type GutterRendererParentTypes = '[GObject.Object]
+
+instance GObject GutterRenderer where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_gutter_renderer_get_type
+    
+
+class GObject o => GutterRendererK o
+instance (GObject o, IsDescendantOf GutterRenderer o) => GutterRendererK o
+
+toGutterRenderer :: GutterRendererK o => o -> IO GutterRenderer
+toGutterRenderer = unsafeCastTo GutterRenderer
+
+noGutterRenderer :: Maybe GutterRenderer
+noGutterRenderer = Nothing
+
+type family ResolveGutterRendererMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGutterRendererMethod "activate" o = GutterRendererActivateMethodInfo
+    ResolveGutterRendererMethod "begin" o = GutterRendererBeginMethodInfo
+    ResolveGutterRendererMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveGutterRendererMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveGutterRendererMethod "draw" o = GutterRendererDrawMethodInfo
+    ResolveGutterRendererMethod "end" o = GutterRendererEndMethodInfo
+    ResolveGutterRendererMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveGutterRendererMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveGutterRendererMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveGutterRendererMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveGutterRendererMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveGutterRendererMethod "queryActivatable" o = GutterRendererQueryActivatableMethodInfo
+    ResolveGutterRendererMethod "queryData" o = GutterRendererQueryDataMethodInfo
+    ResolveGutterRendererMethod "queryTooltip" o = GutterRendererQueryTooltipMethodInfo
+    ResolveGutterRendererMethod "queueDraw" o = GutterRendererQueueDrawMethodInfo
+    ResolveGutterRendererMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveGutterRendererMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveGutterRendererMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveGutterRendererMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveGutterRendererMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveGutterRendererMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveGutterRendererMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveGutterRendererMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveGutterRendererMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveGutterRendererMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveGutterRendererMethod "getAlignment" o = GutterRendererGetAlignmentMethodInfo
+    ResolveGutterRendererMethod "getAlignmentMode" o = GutterRendererGetAlignmentModeMethodInfo
+    ResolveGutterRendererMethod "getBackground" o = GutterRendererGetBackgroundMethodInfo
+    ResolveGutterRendererMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveGutterRendererMethod "getPadding" o = GutterRendererGetPaddingMethodInfo
+    ResolveGutterRendererMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveGutterRendererMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveGutterRendererMethod "getSize" o = GutterRendererGetSizeMethodInfo
+    ResolveGutterRendererMethod "getView" o = GutterRendererGetViewMethodInfo
+    ResolveGutterRendererMethod "getVisible" o = GutterRendererGetVisibleMethodInfo
+    ResolveGutterRendererMethod "getWindowType" o = GutterRendererGetWindowTypeMethodInfo
+    ResolveGutterRendererMethod "setAlignment" o = GutterRendererSetAlignmentMethodInfo
+    ResolveGutterRendererMethod "setAlignmentMode" o = GutterRendererSetAlignmentModeMethodInfo
+    ResolveGutterRendererMethod "setBackground" o = GutterRendererSetBackgroundMethodInfo
+    ResolveGutterRendererMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveGutterRendererMethod "setPadding" o = GutterRendererSetPaddingMethodInfo
+    ResolveGutterRendererMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveGutterRendererMethod "setSize" o = GutterRendererSetSizeMethodInfo
+    ResolveGutterRendererMethod "setVisible" o = GutterRendererSetVisibleMethodInfo
+    ResolveGutterRendererMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGutterRendererMethod t GutterRenderer, MethodInfo info GutterRenderer p) => IsLabelProxy t (GutterRenderer -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGutterRendererMethod t GutterRenderer, MethodInfo info GutterRenderer p) => IsLabel t (GutterRenderer -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal GutterRenderer::activate
+type GutterRendererActivateCallback =
+    Gtk.TextIter ->
+    Gdk.Rectangle ->
+    Gdk.Event ->
+    IO ()
+
+noGutterRendererActivateCallback :: Maybe GutterRendererActivateCallback
+noGutterRendererActivateCallback = Nothing
+
+type GutterRendererActivateCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Rectangle ->
+    Ptr Gdk.Event ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkGutterRendererActivateCallback :: GutterRendererActivateCallbackC -> IO (FunPtr GutterRendererActivateCallbackC)
+
+gutterRendererActivateClosure :: GutterRendererActivateCallback -> IO Closure
+gutterRendererActivateClosure cb = newCClosure =<< mkGutterRendererActivateCallback wrapped
+    where wrapped = gutterRendererActivateCallbackWrapper cb
+
+gutterRendererActivateCallbackWrapper ::
+    GutterRendererActivateCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Rectangle ->
+    Ptr Gdk.Event ->
+    Ptr () ->
+    IO ()
+gutterRendererActivateCallbackWrapper _cb _ iter area event _ = do
+    iter' <- (newBoxed Gtk.TextIter) iter
+    area' <- (newBoxed Gdk.Rectangle) area
+    event' <- (newBoxed Gdk.Event) event
+    _cb  iter' area' event'
+
+onGutterRendererActivate :: (GObject a, MonadIO m) => a -> GutterRendererActivateCallback -> m SignalHandlerId
+onGutterRendererActivate obj cb = liftIO $ connectGutterRendererActivate obj cb SignalConnectBefore
+afterGutterRendererActivate :: (GObject a, MonadIO m) => a -> GutterRendererActivateCallback -> m SignalHandlerId
+afterGutterRendererActivate obj cb = connectGutterRendererActivate obj cb SignalConnectAfter
+
+connectGutterRendererActivate :: (GObject a, MonadIO m) =>
+                                 a -> GutterRendererActivateCallback -> SignalConnectMode -> m SignalHandlerId
+connectGutterRendererActivate obj cb after = liftIO $ do
+    cb' <- mkGutterRendererActivateCallback (gutterRendererActivateCallbackWrapper cb)
+    connectSignalFunPtr obj "activate" cb' after
+
+-- signal GutterRenderer::query-activatable
+type GutterRendererQueryActivatableCallback =
+    Gtk.TextIter ->
+    Gdk.Rectangle ->
+    Gdk.Event ->
+    IO Bool
+
+noGutterRendererQueryActivatableCallback :: Maybe GutterRendererQueryActivatableCallback
+noGutterRendererQueryActivatableCallback = Nothing
+
+type GutterRendererQueryActivatableCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Rectangle ->
+    Ptr Gdk.Event ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+foreign import ccall "wrapper"
+    mkGutterRendererQueryActivatableCallback :: GutterRendererQueryActivatableCallbackC -> IO (FunPtr GutterRendererQueryActivatableCallbackC)
+
+gutterRendererQueryActivatableClosure :: GutterRendererQueryActivatableCallback -> IO Closure
+gutterRendererQueryActivatableClosure cb = newCClosure =<< mkGutterRendererQueryActivatableCallback wrapped
+    where wrapped = gutterRendererQueryActivatableCallbackWrapper cb
+
+gutterRendererQueryActivatableCallbackWrapper ::
+    GutterRendererQueryActivatableCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Rectangle ->
+    Ptr Gdk.Event ->
+    Ptr () ->
+    IO CInt
+gutterRendererQueryActivatableCallbackWrapper _cb _ iter area event _ = do
+    iter' <- (newBoxed Gtk.TextIter) iter
+    area' <- (newBoxed Gdk.Rectangle) area
+    event' <- (newBoxed Gdk.Event) event
+    result <- _cb  iter' area' event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+onGutterRendererQueryActivatable :: (GObject a, MonadIO m) => a -> GutterRendererQueryActivatableCallback -> m SignalHandlerId
+onGutterRendererQueryActivatable obj cb = liftIO $ connectGutterRendererQueryActivatable obj cb SignalConnectBefore
+afterGutterRendererQueryActivatable :: (GObject a, MonadIO m) => a -> GutterRendererQueryActivatableCallback -> m SignalHandlerId
+afterGutterRendererQueryActivatable obj cb = connectGutterRendererQueryActivatable obj cb SignalConnectAfter
+
+connectGutterRendererQueryActivatable :: (GObject a, MonadIO m) =>
+                                         a -> GutterRendererQueryActivatableCallback -> SignalConnectMode -> m SignalHandlerId
+connectGutterRendererQueryActivatable obj cb after = liftIO $ do
+    cb' <- mkGutterRendererQueryActivatableCallback (gutterRendererQueryActivatableCallbackWrapper cb)
+    connectSignalFunPtr obj "query-activatable" cb' after
+
+-- signal GutterRenderer::query-data
+type GutterRendererQueryDataCallback =
+    Gtk.TextIter ->
+    Gtk.TextIter ->
+    [GutterRendererState] ->
+    IO ()
+
+noGutterRendererQueryDataCallback :: Maybe GutterRendererQueryDataCallback
+noGutterRendererQueryDataCallback = Nothing
+
+type GutterRendererQueryDataCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Ptr Gtk.TextIter ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkGutterRendererQueryDataCallback :: GutterRendererQueryDataCallbackC -> IO (FunPtr GutterRendererQueryDataCallbackC)
+
+gutterRendererQueryDataClosure :: GutterRendererQueryDataCallback -> IO Closure
+gutterRendererQueryDataClosure cb = newCClosure =<< mkGutterRendererQueryDataCallback wrapped
+    where wrapped = gutterRendererQueryDataCallbackWrapper cb
+
+gutterRendererQueryDataCallbackWrapper ::
+    GutterRendererQueryDataCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Ptr Gtk.TextIter ->
+    CUInt ->
+    Ptr () ->
+    IO ()
+gutterRendererQueryDataCallbackWrapper _cb _ start end state _ = do
+    start' <- (newBoxed Gtk.TextIter) start
+    end' <- (newBoxed Gtk.TextIter) end
+    let state' = wordToGFlags state
+    _cb  start' end' state'
+
+onGutterRendererQueryData :: (GObject a, MonadIO m) => a -> GutterRendererQueryDataCallback -> m SignalHandlerId
+onGutterRendererQueryData obj cb = liftIO $ connectGutterRendererQueryData obj cb SignalConnectBefore
+afterGutterRendererQueryData :: (GObject a, MonadIO m) => a -> GutterRendererQueryDataCallback -> m SignalHandlerId
+afterGutterRendererQueryData obj cb = connectGutterRendererQueryData obj cb SignalConnectAfter
+
+connectGutterRendererQueryData :: (GObject a, MonadIO m) =>
+                                  a -> GutterRendererQueryDataCallback -> SignalConnectMode -> m SignalHandlerId
+connectGutterRendererQueryData obj cb after = liftIO $ do
+    cb' <- mkGutterRendererQueryDataCallback (gutterRendererQueryDataCallbackWrapper cb)
+    connectSignalFunPtr obj "query-data" cb' after
+
+-- signal GutterRenderer::query-tooltip
+type GutterRendererQueryTooltipCallback =
+    Gtk.TextIter ->
+    Gdk.Rectangle ->
+    Int32 ->
+    Int32 ->
+    Gtk.Tooltip ->
+    IO Bool
+
+noGutterRendererQueryTooltipCallback :: Maybe GutterRendererQueryTooltipCallback
+noGutterRendererQueryTooltipCallback = Nothing
+
+type GutterRendererQueryTooltipCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Rectangle ->
+    Int32 ->
+    Int32 ->
+    Ptr Gtk.Tooltip ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+foreign import ccall "wrapper"
+    mkGutterRendererQueryTooltipCallback :: GutterRendererQueryTooltipCallbackC -> IO (FunPtr GutterRendererQueryTooltipCallbackC)
+
+gutterRendererQueryTooltipClosure :: GutterRendererQueryTooltipCallback -> IO Closure
+gutterRendererQueryTooltipClosure cb = newCClosure =<< mkGutterRendererQueryTooltipCallback wrapped
+    where wrapped = gutterRendererQueryTooltipCallbackWrapper cb
+
+gutterRendererQueryTooltipCallbackWrapper ::
+    GutterRendererQueryTooltipCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Rectangle ->
+    Int32 ->
+    Int32 ->
+    Ptr Gtk.Tooltip ->
+    Ptr () ->
+    IO CInt
+gutterRendererQueryTooltipCallbackWrapper _cb _ iter area x y tooltip _ = do
+    iter' <- (newBoxed Gtk.TextIter) iter
+    area' <- (newBoxed Gdk.Rectangle) area
+    tooltip' <- (newObject Gtk.Tooltip) tooltip
+    result <- _cb  iter' area' x y tooltip'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+onGutterRendererQueryTooltip :: (GObject a, MonadIO m) => a -> GutterRendererQueryTooltipCallback -> m SignalHandlerId
+onGutterRendererQueryTooltip obj cb = liftIO $ connectGutterRendererQueryTooltip obj cb SignalConnectBefore
+afterGutterRendererQueryTooltip :: (GObject a, MonadIO m) => a -> GutterRendererQueryTooltipCallback -> m SignalHandlerId
+afterGutterRendererQueryTooltip obj cb = connectGutterRendererQueryTooltip obj cb SignalConnectAfter
+
+connectGutterRendererQueryTooltip :: (GObject a, MonadIO m) =>
+                                     a -> GutterRendererQueryTooltipCallback -> SignalConnectMode -> m SignalHandlerId
+connectGutterRendererQueryTooltip obj cb after = liftIO $ do
+    cb' <- mkGutterRendererQueryTooltipCallback (gutterRendererQueryTooltipCallbackWrapper cb)
+    connectSignalFunPtr obj "query-tooltip" cb' after
+
+-- signal GutterRenderer::queue-draw
+type GutterRendererQueueDrawCallback =
+    IO ()
+
+noGutterRendererQueueDrawCallback :: Maybe GutterRendererQueueDrawCallback
+noGutterRendererQueueDrawCallback = Nothing
+
+type GutterRendererQueueDrawCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkGutterRendererQueueDrawCallback :: GutterRendererQueueDrawCallbackC -> IO (FunPtr GutterRendererQueueDrawCallbackC)
+
+gutterRendererQueueDrawClosure :: GutterRendererQueueDrawCallback -> IO Closure
+gutterRendererQueueDrawClosure cb = newCClosure =<< mkGutterRendererQueueDrawCallback wrapped
+    where wrapped = gutterRendererQueueDrawCallbackWrapper cb
+
+gutterRendererQueueDrawCallbackWrapper ::
+    GutterRendererQueueDrawCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+gutterRendererQueueDrawCallbackWrapper _cb _ _ = do
+    _cb 
+
+onGutterRendererQueueDraw :: (GObject a, MonadIO m) => a -> GutterRendererQueueDrawCallback -> m SignalHandlerId
+onGutterRendererQueueDraw obj cb = liftIO $ connectGutterRendererQueueDraw obj cb SignalConnectBefore
+afterGutterRendererQueueDraw :: (GObject a, MonadIO m) => a -> GutterRendererQueueDrawCallback -> m SignalHandlerId
+afterGutterRendererQueueDraw obj cb = connectGutterRendererQueueDraw obj cb SignalConnectAfter
+
+connectGutterRendererQueueDraw :: (GObject a, MonadIO m) =>
+                                  a -> GutterRendererQueueDrawCallback -> SignalConnectMode -> m SignalHandlerId
+connectGutterRendererQueueDraw obj cb after = liftIO $ do
+    cb' <- mkGutterRendererQueueDrawCallback (gutterRendererQueueDrawCallbackWrapper cb)
+    connectSignalFunPtr obj "queue-draw" cb' after
+
+-- VVV Prop "alignment-mode"
+   -- Type: TInterface "GtkSource" "GutterRendererAlignmentMode"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getGutterRendererAlignmentMode :: (MonadIO m, GutterRendererK o) => o -> m GutterRendererAlignmentMode
+getGutterRendererAlignmentMode obj = liftIO $ getObjectPropertyEnum obj "alignment-mode"
+
+setGutterRendererAlignmentMode :: (MonadIO m, GutterRendererK o) => o -> GutterRendererAlignmentMode -> m ()
+setGutterRendererAlignmentMode obj val = liftIO $ setObjectPropertyEnum obj "alignment-mode" val
+
+constructGutterRendererAlignmentMode :: GutterRendererAlignmentMode -> IO ([Char], GValue)
+constructGutterRendererAlignmentMode val = constructObjectPropertyEnum "alignment-mode" val
+
+data GutterRendererAlignmentModePropertyInfo
+instance AttrInfo GutterRendererAlignmentModePropertyInfo where
+    type AttrAllowedOps GutterRendererAlignmentModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererAlignmentModePropertyInfo = (~) GutterRendererAlignmentMode
+    type AttrBaseTypeConstraint GutterRendererAlignmentModePropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererAlignmentModePropertyInfo = GutterRendererAlignmentMode
+    type AttrLabel GutterRendererAlignmentModePropertyInfo = "alignment-mode"
+    attrGet _ = getGutterRendererAlignmentMode
+    attrSet _ = setGutterRendererAlignmentMode
+    attrConstruct _ = constructGutterRendererAlignmentMode
+    attrClear _ = undefined
+
+-- VVV Prop "background-rgba"
+   -- Type: TInterface "Gdk" "RGBA"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererBackgroundRgba :: (MonadIO m, GutterRendererK o) => o -> m (Maybe Gdk.RGBA)
+getGutterRendererBackgroundRgba obj = liftIO $ getObjectPropertyBoxed obj "background-rgba" Gdk.RGBA
+
+setGutterRendererBackgroundRgba :: (MonadIO m, GutterRendererK o) => o -> Gdk.RGBA -> m ()
+setGutterRendererBackgroundRgba obj val = liftIO $ setObjectPropertyBoxed obj "background-rgba" (Just val)
+
+constructGutterRendererBackgroundRgba :: Gdk.RGBA -> IO ([Char], GValue)
+constructGutterRendererBackgroundRgba val = constructObjectPropertyBoxed "background-rgba" (Just val)
+
+clearGutterRendererBackgroundRgba :: (MonadIO m, GutterRendererK o) => o -> m ()
+clearGutterRendererBackgroundRgba obj = liftIO $ setObjectPropertyBoxed obj "background-rgba" (Nothing :: Maybe Gdk.RGBA)
+
+data GutterRendererBackgroundRgbaPropertyInfo
+instance AttrInfo GutterRendererBackgroundRgbaPropertyInfo where
+    type AttrAllowedOps GutterRendererBackgroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererBackgroundRgbaPropertyInfo = (~) Gdk.RGBA
+    type AttrBaseTypeConstraint GutterRendererBackgroundRgbaPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererBackgroundRgbaPropertyInfo = (Maybe Gdk.RGBA)
+    type AttrLabel GutterRendererBackgroundRgbaPropertyInfo = "background-rgba"
+    attrGet _ = getGutterRendererBackgroundRgba
+    attrSet _ = setGutterRendererBackgroundRgba
+    attrConstruct _ = constructGutterRendererBackgroundRgba
+    attrClear _ = clearGutterRendererBackgroundRgba
+
+-- VVV Prop "background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererBackgroundSet :: (MonadIO m, GutterRendererK o) => o -> m Bool
+getGutterRendererBackgroundSet obj = liftIO $ getObjectPropertyBool obj "background-set"
+
+setGutterRendererBackgroundSet :: (MonadIO m, GutterRendererK o) => o -> Bool -> m ()
+setGutterRendererBackgroundSet obj val = liftIO $ setObjectPropertyBool obj "background-set" val
+
+constructGutterRendererBackgroundSet :: Bool -> IO ([Char], GValue)
+constructGutterRendererBackgroundSet val = constructObjectPropertyBool "background-set" val
+
+data GutterRendererBackgroundSetPropertyInfo
+instance AttrInfo GutterRendererBackgroundSetPropertyInfo where
+    type AttrAllowedOps GutterRendererBackgroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GutterRendererBackgroundSetPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererBackgroundSetPropertyInfo = Bool
+    type AttrLabel GutterRendererBackgroundSetPropertyInfo = "background-set"
+    attrGet _ = getGutterRendererBackgroundSet
+    attrSet _ = setGutterRendererBackgroundSet
+    attrConstruct _ = constructGutterRendererBackgroundSet
+    attrClear _ = undefined
+
+-- VVV Prop "size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getGutterRendererSize :: (MonadIO m, GutterRendererK o) => o -> m Int32
+getGutterRendererSize obj = liftIO $ getObjectPropertyInt32 obj "size"
+
+setGutterRendererSize :: (MonadIO m, GutterRendererK o) => o -> Int32 -> m ()
+setGutterRendererSize obj val = liftIO $ setObjectPropertyInt32 obj "size" val
+
+constructGutterRendererSize :: Int32 -> IO ([Char], GValue)
+constructGutterRendererSize val = constructObjectPropertyInt32 "size" val
+
+data GutterRendererSizePropertyInfo
+instance AttrInfo GutterRendererSizePropertyInfo where
+    type AttrAllowedOps GutterRendererSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GutterRendererSizePropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererSizePropertyInfo = Int32
+    type AttrLabel GutterRendererSizePropertyInfo = "size"
+    attrGet _ = getGutterRendererSize
+    attrSet _ = setGutterRendererSize
+    attrConstruct _ = constructGutterRendererSize
+    attrClear _ = undefined
+
+-- VVV Prop "view"
+   -- Type: TInterface "Gtk" "TextView"
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getGutterRendererView :: (MonadIO m, GutterRendererK o) => o -> m Gtk.TextView
+getGutterRendererView obj = liftIO $ checkUnexpectedNothing "getGutterRendererView" $ getObjectPropertyObject obj "view" Gtk.TextView
+
+data GutterRendererViewPropertyInfo
+instance AttrInfo GutterRendererViewPropertyInfo where
+    type AttrAllowedOps GutterRendererViewPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererViewPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint GutterRendererViewPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererViewPropertyInfo = Gtk.TextView
+    type AttrLabel GutterRendererViewPropertyInfo = "view"
+    attrGet _ = getGutterRendererView
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getGutterRendererVisible :: (MonadIO m, GutterRendererK o) => o -> m Bool
+getGutterRendererVisible obj = liftIO $ getObjectPropertyBool obj "visible"
+
+setGutterRendererVisible :: (MonadIO m, GutterRendererK o) => o -> Bool -> m ()
+setGutterRendererVisible obj val = liftIO $ setObjectPropertyBool obj "visible" val
+
+constructGutterRendererVisible :: Bool -> IO ([Char], GValue)
+constructGutterRendererVisible val = constructObjectPropertyBool "visible" val
+
+data GutterRendererVisiblePropertyInfo
+instance AttrInfo GutterRendererVisiblePropertyInfo where
+    type AttrAllowedOps GutterRendererVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GutterRendererVisiblePropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererVisiblePropertyInfo = Bool
+    type AttrLabel GutterRendererVisiblePropertyInfo = "visible"
+    attrGet _ = getGutterRendererVisible
+    attrSet _ = setGutterRendererVisible
+    attrConstruct _ = constructGutterRendererVisible
+    attrClear _ = undefined
+
+-- VVV Prop "window-type"
+   -- Type: TInterface "Gtk" "TextWindowType"
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getGutterRendererWindowType :: (MonadIO m, GutterRendererK o) => o -> m Gtk.TextWindowType
+getGutterRendererWindowType obj = liftIO $ getObjectPropertyEnum obj "window-type"
+
+data GutterRendererWindowTypePropertyInfo
+instance AttrInfo GutterRendererWindowTypePropertyInfo where
+    type AttrAllowedOps GutterRendererWindowTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererWindowTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint GutterRendererWindowTypePropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererWindowTypePropertyInfo = Gtk.TextWindowType
+    type AttrLabel GutterRendererWindowTypePropertyInfo = "window-type"
+    attrGet _ = getGutterRendererWindowType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererXalign :: (MonadIO m, GutterRendererK o) => o -> m Float
+getGutterRendererXalign obj = liftIO $ getObjectPropertyFloat obj "xalign"
+
+setGutterRendererXalign :: (MonadIO m, GutterRendererK o) => o -> Float -> m ()
+setGutterRendererXalign obj val = liftIO $ setObjectPropertyFloat obj "xalign" val
+
+constructGutterRendererXalign :: Float -> IO ([Char], GValue)
+constructGutterRendererXalign val = constructObjectPropertyFloat "xalign" val
+
+data GutterRendererXalignPropertyInfo
+instance AttrInfo GutterRendererXalignPropertyInfo where
+    type AttrAllowedOps GutterRendererXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint GutterRendererXalignPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererXalignPropertyInfo = Float
+    type AttrLabel GutterRendererXalignPropertyInfo = "xalign"
+    attrGet _ = getGutterRendererXalign
+    attrSet _ = setGutterRendererXalign
+    attrConstruct _ = constructGutterRendererXalign
+    attrClear _ = undefined
+
+-- VVV Prop "xpad"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererXpad :: (MonadIO m, GutterRendererK o) => o -> m Int32
+getGutterRendererXpad obj = liftIO $ getObjectPropertyInt32 obj "xpad"
+
+setGutterRendererXpad :: (MonadIO m, GutterRendererK o) => o -> Int32 -> m ()
+setGutterRendererXpad obj val = liftIO $ setObjectPropertyInt32 obj "xpad" val
+
+constructGutterRendererXpad :: Int32 -> IO ([Char], GValue)
+constructGutterRendererXpad val = constructObjectPropertyInt32 "xpad" val
+
+data GutterRendererXpadPropertyInfo
+instance AttrInfo GutterRendererXpadPropertyInfo where
+    type AttrAllowedOps GutterRendererXpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererXpadPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GutterRendererXpadPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererXpadPropertyInfo = Int32
+    type AttrLabel GutterRendererXpadPropertyInfo = "xpad"
+    attrGet _ = getGutterRendererXpad
+    attrSet _ = setGutterRendererXpad
+    attrConstruct _ = constructGutterRendererXpad
+    attrClear _ = undefined
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererYalign :: (MonadIO m, GutterRendererK o) => o -> m Float
+getGutterRendererYalign obj = liftIO $ getObjectPropertyFloat obj "yalign"
+
+setGutterRendererYalign :: (MonadIO m, GutterRendererK o) => o -> Float -> m ()
+setGutterRendererYalign obj val = liftIO $ setObjectPropertyFloat obj "yalign" val
+
+constructGutterRendererYalign :: Float -> IO ([Char], GValue)
+constructGutterRendererYalign val = constructObjectPropertyFloat "yalign" val
+
+data GutterRendererYalignPropertyInfo
+instance AttrInfo GutterRendererYalignPropertyInfo where
+    type AttrAllowedOps GutterRendererYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint GutterRendererYalignPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererYalignPropertyInfo = Float
+    type AttrLabel GutterRendererYalignPropertyInfo = "yalign"
+    attrGet _ = getGutterRendererYalign
+    attrSet _ = setGutterRendererYalign
+    attrConstruct _ = constructGutterRendererYalign
+    attrClear _ = undefined
+
+-- VVV Prop "ypad"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererYpad :: (MonadIO m, GutterRendererK o) => o -> m Int32
+getGutterRendererYpad obj = liftIO $ getObjectPropertyInt32 obj "ypad"
+
+setGutterRendererYpad :: (MonadIO m, GutterRendererK o) => o -> Int32 -> m ()
+setGutterRendererYpad obj val = liftIO $ setObjectPropertyInt32 obj "ypad" val
+
+constructGutterRendererYpad :: Int32 -> IO ([Char], GValue)
+constructGutterRendererYpad val = constructObjectPropertyInt32 "ypad" val
+
+data GutterRendererYpadPropertyInfo
+instance AttrInfo GutterRendererYpadPropertyInfo where
+    type AttrAllowedOps GutterRendererYpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GutterRendererYpadPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GutterRendererYpadPropertyInfo = GutterRendererK
+    type AttrGetType GutterRendererYpadPropertyInfo = Int32
+    type AttrLabel GutterRendererYpadPropertyInfo = "ypad"
+    attrGet _ = getGutterRendererYpad
+    attrSet _ = setGutterRendererYpad
+    attrConstruct _ = constructGutterRendererYpad
+    attrClear _ = undefined
+
+type instance AttributeList GutterRenderer = GutterRendererAttributeList
+type GutterRendererAttributeList = ('[ '("alignmentMode", GutterRendererAlignmentModePropertyInfo), '("backgroundRgba", GutterRendererBackgroundRgbaPropertyInfo), '("backgroundSet", GutterRendererBackgroundSetPropertyInfo), '("size", GutterRendererSizePropertyInfo), '("view", GutterRendererViewPropertyInfo), '("visible", GutterRendererVisiblePropertyInfo), '("windowType", GutterRendererWindowTypePropertyInfo), '("xalign", GutterRendererXalignPropertyInfo), '("xpad", GutterRendererXpadPropertyInfo), '("yalign", GutterRendererYalignPropertyInfo), '("ypad", GutterRendererYpadPropertyInfo)] :: [(Symbol, *)])
+
+gutterRendererAlignmentMode :: AttrLabelProxy "alignmentMode"
+gutterRendererAlignmentMode = AttrLabelProxy
+
+gutterRendererBackgroundRgba :: AttrLabelProxy "backgroundRgba"
+gutterRendererBackgroundRgba = AttrLabelProxy
+
+gutterRendererBackgroundSet :: AttrLabelProxy "backgroundSet"
+gutterRendererBackgroundSet = AttrLabelProxy
+
+gutterRendererSize :: AttrLabelProxy "size"
+gutterRendererSize = AttrLabelProxy
+
+gutterRendererView :: AttrLabelProxy "view"
+gutterRendererView = AttrLabelProxy
+
+gutterRendererVisible :: AttrLabelProxy "visible"
+gutterRendererVisible = AttrLabelProxy
+
+gutterRendererWindowType :: AttrLabelProxy "windowType"
+gutterRendererWindowType = AttrLabelProxy
+
+gutterRendererXalign :: AttrLabelProxy "xalign"
+gutterRendererXalign = AttrLabelProxy
+
+gutterRendererXpad :: AttrLabelProxy "xpad"
+gutterRendererXpad = AttrLabelProxy
+
+gutterRendererYalign :: AttrLabelProxy "yalign"
+gutterRendererYalign = AttrLabelProxy
+
+gutterRendererYpad :: AttrLabelProxy "ypad"
+gutterRendererYpad = AttrLabelProxy
+
+data GutterRendererActivateSignalInfo
+instance SignalInfo GutterRendererActivateSignalInfo where
+    type HaskellCallbackType GutterRendererActivateSignalInfo = GutterRendererActivateCallback
+    connectSignal _ = connectGutterRendererActivate
+
+data GutterRendererQueryActivatableSignalInfo
+instance SignalInfo GutterRendererQueryActivatableSignalInfo where
+    type HaskellCallbackType GutterRendererQueryActivatableSignalInfo = GutterRendererQueryActivatableCallback
+    connectSignal _ = connectGutterRendererQueryActivatable
+
+data GutterRendererQueryDataSignalInfo
+instance SignalInfo GutterRendererQueryDataSignalInfo where
+    type HaskellCallbackType GutterRendererQueryDataSignalInfo = GutterRendererQueryDataCallback
+    connectSignal _ = connectGutterRendererQueryData
+
+data GutterRendererQueryTooltipSignalInfo
+instance SignalInfo GutterRendererQueryTooltipSignalInfo where
+    type HaskellCallbackType GutterRendererQueryTooltipSignalInfo = GutterRendererQueryTooltipCallback
+    connectSignal _ = connectGutterRendererQueryTooltip
+
+data GutterRendererQueueDrawSignalInfo
+instance SignalInfo GutterRendererQueueDrawSignalInfo where
+    type HaskellCallbackType GutterRendererQueueDrawSignalInfo = GutterRendererQueueDrawCallback
+    connectSignal _ = connectGutterRendererQueueDraw
+
+type instance SignalList GutterRenderer = GutterRendererSignalList
+type GutterRendererSignalList = ('[ '("activate", GutterRendererActivateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("queryActivatable", GutterRendererQueryActivatableSignalInfo), '("queryData", GutterRendererQueryDataSignalInfo), '("queryTooltip", GutterRendererQueryTooltipSignalInfo), '("queueDraw", GutterRendererQueueDrawSignalInfo)] :: [(Symbol, *)])
+
+-- method GutterRenderer::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_activate" gtk_source_gutter_renderer_activate :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gdk.Rectangle ->                    -- area : TInterface "Gdk" "Rectangle"
+    Ptr Gdk.Event ->                        -- event : TInterface "Gdk" "Event"
+    IO ()
+
+
+gutterRendererActivate ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Gdk.Rectangle                        -- area
+    -> Gdk.Event                            -- event
+    -> m ()                                 -- result
+gutterRendererActivate _obj iter area event = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    let area' = unsafeManagedPtrGetPtr area
+    let event' = unsafeManagedPtrGetPtr event
+    gtk_source_gutter_renderer_activate _obj' iter' area' event'
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    touchManagedPtr area
+    touchManagedPtr event
+    return ()
+
+data GutterRendererActivateMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gdk.Rectangle -> Gdk.Event -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererActivateMethodInfo a signature where
+    overloadedMethod _ = gutterRendererActivate
+
+-- method GutterRenderer::begin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_begin" gtk_source_gutter_renderer_begin :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Gdk.Rectangle ->                    -- background_area : TInterface "Gdk" "Rectangle"
+    Ptr Gdk.Rectangle ->                    -- cell_area : TInterface "Gdk" "Rectangle"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+gutterRendererBegin ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Cairo.Context                        -- cr
+    -> Gdk.Rectangle                        -- backgroundArea
+    -> Gdk.Rectangle                        -- cellArea
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> m ()                                 -- result
+gutterRendererBegin _obj cr backgroundArea cellArea start end = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let cr' = unsafeManagedPtrGetPtr cr
+    let backgroundArea' = unsafeManagedPtrGetPtr backgroundArea
+    let cellArea' = unsafeManagedPtrGetPtr cellArea
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    gtk_source_gutter_renderer_begin _obj' cr' backgroundArea' cellArea' start' end'
+    touchManagedPtr _obj
+    touchManagedPtr cr
+    touchManagedPtr backgroundArea
+    touchManagedPtr cellArea
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data GutterRendererBeginMethodInfo
+instance (signature ~ (Cairo.Context -> Gdk.Rectangle -> Gdk.Rectangle -> Gtk.TextIter -> Gtk.TextIter -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererBeginMethodInfo a signature where
+    overloadedMethod _ = gutterRendererBegin
+
+-- method GutterRenderer::draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface "GtkSource" "GutterRendererState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_draw" gtk_source_gutter_renderer_draw :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Gdk.Rectangle ->                    -- background_area : TInterface "Gdk" "Rectangle"
+    Ptr Gdk.Rectangle ->                    -- cell_area : TInterface "Gdk" "Rectangle"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    CUInt ->                                -- state : TInterface "GtkSource" "GutterRendererState"
+    IO ()
+
+
+gutterRendererDraw ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Cairo.Context                        -- cr
+    -> Gdk.Rectangle                        -- backgroundArea
+    -> Gdk.Rectangle                        -- cellArea
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> [GutterRendererState]                -- state
+    -> m ()                                 -- result
+gutterRendererDraw _obj cr backgroundArea cellArea start end state = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let cr' = unsafeManagedPtrGetPtr cr
+    let backgroundArea' = unsafeManagedPtrGetPtr backgroundArea
+    let cellArea' = unsafeManagedPtrGetPtr cellArea
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    let state' = gflagsToWord state
+    gtk_source_gutter_renderer_draw _obj' cr' backgroundArea' cellArea' start' end' state'
+    touchManagedPtr _obj
+    touchManagedPtr cr
+    touchManagedPtr backgroundArea
+    touchManagedPtr cellArea
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data GutterRendererDrawMethodInfo
+instance (signature ~ (Cairo.Context -> Gdk.Rectangle -> Gdk.Rectangle -> Gtk.TextIter -> Gtk.TextIter -> [GutterRendererState] -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererDrawMethodInfo a signature where
+    overloadedMethod _ = gutterRendererDraw
+
+-- method GutterRenderer::end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_end" gtk_source_gutter_renderer_end :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO ()
+
+
+gutterRendererEnd ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+gutterRendererEnd _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_renderer_end _obj'
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererEndMethodInfo
+instance (signature ~ (m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererEndMethodInfo a signature where
+    overloadedMethod _ = gutterRendererEnd
+
+-- method GutterRenderer::get_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_alignment" gtk_source_gutter_renderer_get_alignment :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr CFloat ->                           -- xalign : TBasicType TFloat
+    Ptr CFloat ->                           -- yalign : TBasicType TFloat
+    IO ()
+
+
+gutterRendererGetAlignment ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m (Float,Float)                      -- result
+gutterRendererGetAlignment _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    xalign <- allocMem :: IO (Ptr CFloat)
+    yalign <- allocMem :: IO (Ptr CFloat)
+    gtk_source_gutter_renderer_get_alignment _obj' xalign yalign
+    xalign' <- peek xalign
+    let xalign'' = realToFrac xalign'
+    yalign' <- peek yalign
+    let yalign'' = realToFrac yalign'
+    touchManagedPtr _obj
+    freeMem xalign
+    freeMem yalign
+    return (xalign'', yalign'')
+
+data GutterRendererGetAlignmentMethodInfo
+instance (signature ~ (m (Float,Float)), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetAlignment
+
+-- method GutterRenderer::get_alignment_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "GutterRendererAlignmentMode")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_alignment_mode" gtk_source_gutter_renderer_get_alignment_mode :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO CUInt
+
+
+gutterRendererGetAlignmentMode ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m GutterRendererAlignmentMode        -- result
+gutterRendererGetAlignmentMode _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_get_alignment_mode _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererGetAlignmentModeMethodInfo
+instance (signature ~ (m GutterRendererAlignmentMode), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetAlignmentModeMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetAlignmentMode
+
+-- method GutterRenderer::get_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface "Gdk" "RGBA", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_background" gtk_source_gutter_renderer_get_background :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Gdk.RGBA ->                         -- color : TInterface "Gdk" "RGBA"
+    IO CInt
+
+
+gutterRendererGetBackground ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m (Bool,Gdk.RGBA)                    -- result
+gutterRendererGetBackground _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA)
+    result <- gtk_source_gutter_renderer_get_background _obj' color
+    let result' = (/= 0) result
+    color' <- (wrapBoxed Gdk.RGBA) color
+    touchManagedPtr _obj
+    return (result', color')
+
+data GutterRendererGetBackgroundMethodInfo
+instance (signature ~ (m (Bool,Gdk.RGBA)), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetBackgroundMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetBackground
+
+-- method GutterRenderer::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_padding" gtk_source_gutter_renderer_get_padding :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Int32 ->                            -- xpad : TBasicType TInt
+    Ptr Int32 ->                            -- ypad : TBasicType TInt
+    IO ()
+
+
+gutterRendererGetPadding ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m (Int32,Int32)                      -- result
+gutterRendererGetPadding _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    xpad <- allocMem :: IO (Ptr Int32)
+    ypad <- allocMem :: IO (Ptr Int32)
+    gtk_source_gutter_renderer_get_padding _obj' xpad ypad
+    xpad' <- peek xpad
+    ypad' <- peek ypad
+    touchManagedPtr _obj
+    freeMem xpad
+    freeMem ypad
+    return (xpad', ypad')
+
+data GutterRendererGetPaddingMethodInfo
+instance (signature ~ (m (Int32,Int32)), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetPaddingMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetPadding
+
+-- method GutterRenderer::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_size" gtk_source_gutter_renderer_get_size :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO Int32
+
+
+gutterRendererGetSize ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+gutterRendererGetSize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_get_size _obj'
+    touchManagedPtr _obj
+    return result
+
+data GutterRendererGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetSizeMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetSize
+
+-- method GutterRenderer::get_view
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gtk" "TextView")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_view" gtk_source_gutter_renderer_get_view :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO (Ptr Gtk.TextView)
+
+
+gutterRendererGetView ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m Gtk.TextView                       -- result
+gutterRendererGetView _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_get_view _obj'
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_get_view" result
+    result' <- (newObject Gtk.TextView) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererGetViewMethodInfo
+instance (signature ~ (m Gtk.TextView), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetViewMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetView
+
+-- method GutterRenderer::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_visible" gtk_source_gutter_renderer_get_visible :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO CInt
+
+
+gutterRendererGetVisible ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+gutterRendererGetVisible _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_get_visible _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetVisibleMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetVisible
+
+-- method GutterRenderer::get_window_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gtk" "TextWindowType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_get_window_type" gtk_source_gutter_renderer_get_window_type :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO CUInt
+
+
+gutterRendererGetWindowType ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m Gtk.TextWindowType                 -- result
+gutterRendererGetWindowType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_get_window_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererGetWindowTypeMethodInfo
+instance (signature ~ (m Gtk.TextWindowType), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererGetWindowTypeMethodInfo a signature where
+    overloadedMethod _ = gutterRendererGetWindowType
+
+-- method GutterRenderer::query_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_query_activatable" gtk_source_gutter_renderer_query_activatable :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gdk.Rectangle ->                    -- area : TInterface "Gdk" "Rectangle"
+    Ptr Gdk.Event ->                        -- event : TInterface "Gdk" "Event"
+    IO CInt
+
+
+gutterRendererQueryActivatable ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Gdk.Rectangle                        -- area
+    -> Gdk.Event                            -- event
+    -> m Bool                               -- result
+gutterRendererQueryActivatable _obj iter area event = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    let area' = unsafeManagedPtrGetPtr area
+    let event' = unsafeManagedPtrGetPtr event
+    result <- gtk_source_gutter_renderer_query_activatable _obj' iter' area' event'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    touchManagedPtr area
+    touchManagedPtr event
+    return result'
+
+data GutterRendererQueryActivatableMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gdk.Rectangle -> Gdk.Event -> m Bool), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererQueryActivatableMethodInfo a signature where
+    overloadedMethod _ = gutterRendererQueryActivatable
+
+-- method GutterRenderer::query_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface "GtkSource" "GutterRendererState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_query_data" gtk_source_gutter_renderer_query_data :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    CUInt ->                                -- state : TInterface "GtkSource" "GutterRendererState"
+    IO ()
+
+
+gutterRendererQueryData ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> [GutterRendererState]                -- state
+    -> m ()                                 -- result
+gutterRendererQueryData _obj start end state = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    let state' = gflagsToWord state
+    gtk_source_gutter_renderer_query_data _obj' start' end' state'
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data GutterRendererQueryDataMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> [GutterRendererState] -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererQueryDataMethodInfo a signature where
+    overloadedMethod _ = gutterRendererQueryData
+
+-- method GutterRenderer::query_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "area", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TInterface "Gtk" "Tooltip", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_query_tooltip" gtk_source_gutter_renderer_query_tooltip :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gdk.Rectangle ->                    -- area : TInterface "Gdk" "Rectangle"
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr Gtk.Tooltip ->                      -- tooltip : TInterface "Gtk" "Tooltip"
+    IO CInt
+
+
+gutterRendererQueryTooltip ::
+    (MonadIO m, GutterRendererK a, Gtk.TooltipK b) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Gdk.Rectangle                        -- area
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> b                                    -- tooltip
+    -> m Bool                               -- result
+gutterRendererQueryTooltip _obj iter area x y tooltip = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    let area' = unsafeManagedPtrGetPtr area
+    let tooltip' = unsafeManagedPtrCastPtr tooltip
+    result <- gtk_source_gutter_renderer_query_tooltip _obj' iter' area' x y tooltip'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    touchManagedPtr area
+    touchManagedPtr tooltip
+    return result'
+
+data GutterRendererQueryTooltipMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gdk.Rectangle -> Int32 -> Int32 -> b -> m Bool), MonadIO m, GutterRendererK a, Gtk.TooltipK b) => MethodInfo GutterRendererQueryTooltipMethodInfo a signature where
+    overloadedMethod _ = gutterRendererQueryTooltip
+
+-- method GutterRenderer::queue_draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_queue_draw" gtk_source_gutter_renderer_queue_draw :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    IO ()
+
+
+gutterRendererQueueDraw ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+gutterRendererQueueDraw _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_renderer_queue_draw _obj'
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererQueueDrawMethodInfo
+instance (signature ~ (m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererQueueDrawMethodInfo a signature where
+    overloadedMethod _ = gutterRendererQueueDraw
+
+-- method GutterRenderer::set_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_set_alignment" gtk_source_gutter_renderer_set_alignment :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    IO ()
+
+
+gutterRendererSetAlignment ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Float                                -- xalign
+    -> Float                                -- yalign
+    -> m ()                                 -- result
+gutterRendererSetAlignment _obj xalign yalign = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    gtk_source_gutter_renderer_set_alignment _obj' xalign' yalign'
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererSetAlignmentMethodInfo
+instance (signature ~ (Float -> Float -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererSetAlignmentMethodInfo a signature where
+    overloadedMethod _ = gutterRendererSetAlignment
+
+-- method GutterRenderer::set_alignment_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface "GtkSource" "GutterRendererAlignmentMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_set_alignment_mode" gtk_source_gutter_renderer_set_alignment_mode :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    CUInt ->                                -- mode : TInterface "GtkSource" "GutterRendererAlignmentMode"
+    IO ()
+
+
+gutterRendererSetAlignmentMode ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> GutterRendererAlignmentMode          -- mode
+    -> m ()                                 -- result
+gutterRendererSetAlignmentMode _obj mode = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_source_gutter_renderer_set_alignment_mode _obj' mode'
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererSetAlignmentModeMethodInfo
+instance (signature ~ (GutterRendererAlignmentMode -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererSetAlignmentModeMethodInfo a signature where
+    overloadedMethod _ = gutterRendererSetAlignmentMode
+
+-- method GutterRenderer::set_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_set_background" gtk_source_gutter_renderer_set_background :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Ptr Gdk.RGBA ->                         -- color : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+gutterRendererSetBackground ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Maybe (Gdk.RGBA)                     -- color
+    -> m ()                                 -- result
+gutterRendererSetBackground _obj color = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            let jColor' = unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_source_gutter_renderer_set_background _obj' maybeColor
+    touchManagedPtr _obj
+    whenJust color touchManagedPtr
+    return ()
+
+data GutterRendererSetBackgroundMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA) -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererSetBackgroundMethodInfo a signature where
+    overloadedMethod _ = gutterRendererSetBackground
+
+-- method GutterRenderer::set_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_set_padding" gtk_source_gutter_renderer_set_padding :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Int32 ->                                -- xpad : TBasicType TInt
+    Int32 ->                                -- ypad : TBasicType TInt
+    IO ()
+
+
+gutterRendererSetPadding ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Int32                                -- xpad
+    -> Int32                                -- ypad
+    -> m ()                                 -- result
+gutterRendererSetPadding _obj xpad ypad = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_renderer_set_padding _obj' xpad ypad
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererSetPaddingMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererSetPaddingMethodInfo a signature where
+    overloadedMethod _ = gutterRendererSetPadding
+
+-- method GutterRenderer::set_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_set_size" gtk_source_gutter_renderer_set_size :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+
+gutterRendererSetSize ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Int32                                -- size
+    -> m ()                                 -- result
+gutterRendererSetSize _obj size = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_gutter_renderer_set_size _obj' size
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererSetSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererSetSizeMethodInfo a signature where
+    overloadedMethod _ = gutterRendererSetSize
+
+-- method GutterRenderer::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRenderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_set_visible" gtk_source_gutter_renderer_set_visible :: 
+    Ptr GutterRenderer ->                   -- _obj : TInterface "GtkSource" "GutterRenderer"
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+
+gutterRendererSetVisible ::
+    (MonadIO m, GutterRendererK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- visible
+    -> m ()                                 -- result
+gutterRendererSetVisible _obj visible = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_source_gutter_renderer_set_visible _obj' visible'
+    touchManagedPtr _obj
+    return ()
+
+data GutterRendererSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, GutterRendererK a) => MethodInfo GutterRendererSetVisibleMethodInfo a signature where
+    overloadedMethod _ = gutterRendererSetVisible
+
+
diff --git a/GI/GtkSource/Objects/GutterRenderer.hs-boot b/GI/GtkSource/Objects/GutterRenderer.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/GutterRenderer.hs-boot
@@ -0,0 +1,51 @@
+module GI.GtkSource.Objects.GutterRenderer where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype GutterRenderer = GutterRenderer (ForeignPtr GutterRenderer)
+instance GObject GutterRenderer where
+class GObject o => GutterRendererK o
+instance (GObject o, IsDescendantOf GutterRenderer o) => GutterRendererK o
+data GutterRendererAlignmentModePropertyInfo
+data GutterRendererBackgroundRgbaPropertyInfo
+data GutterRendererBackgroundSetPropertyInfo
+data GutterRendererSizePropertyInfo
+data GutterRendererViewPropertyInfo
+data GutterRendererVisiblePropertyInfo
+data GutterRendererWindowTypePropertyInfo
+data GutterRendererXalignPropertyInfo
+data GutterRendererXpadPropertyInfo
+data GutterRendererYalignPropertyInfo
+data GutterRendererYpadPropertyInfo
+data GutterRendererActivateSignalInfo
+data GutterRendererQueryActivatableSignalInfo
+data GutterRendererQueryDataSignalInfo
+data GutterRendererQueryTooltipSignalInfo
+data GutterRendererQueueDrawSignalInfo
+data GutterRendererActivateMethodInfo
+data GutterRendererBeginMethodInfo
+data GutterRendererDrawMethodInfo
+data GutterRendererEndMethodInfo
+data GutterRendererGetAlignmentMethodInfo
+data GutterRendererGetAlignmentModeMethodInfo
+data GutterRendererGetBackgroundMethodInfo
+data GutterRendererGetPaddingMethodInfo
+data GutterRendererGetSizeMethodInfo
+data GutterRendererGetViewMethodInfo
+data GutterRendererGetVisibleMethodInfo
+data GutterRendererGetWindowTypeMethodInfo
+data GutterRendererQueryActivatableMethodInfo
+data GutterRendererQueryDataMethodInfo
+data GutterRendererQueryTooltipMethodInfo
+data GutterRendererQueueDrawMethodInfo
+data GutterRendererSetAlignmentMethodInfo
+data GutterRendererSetAlignmentModeMethodInfo
+data GutterRendererSetBackgroundMethodInfo
+data GutterRendererSetPaddingMethodInfo
+data GutterRendererSetSizeMethodInfo
+data GutterRendererSetVisibleMethodInfo
diff --git a/GI/GtkSource/Objects/GutterRendererPixbuf.hs b/GI/GtkSource/Objects/GutterRendererPixbuf.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/GutterRendererPixbuf.hs
@@ -0,0 +1,615 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.GutterRendererPixbuf
+    ( 
+
+-- * Exported types
+    GutterRendererPixbuf(..)                ,
+    GutterRendererPixbufK                   ,
+    toGutterRendererPixbuf                  ,
+    noGutterRendererPixbuf                  ,
+
+
+ -- * Methods
+-- ** gutterRendererPixbufGetGicon
+    GutterRendererPixbufGetGiconMethodInfo  ,
+    gutterRendererPixbufGetGicon            ,
+
+
+-- ** gutterRendererPixbufGetIconName
+    GutterRendererPixbufGetIconNameMethodInfo,
+    gutterRendererPixbufGetIconName         ,
+
+
+-- ** gutterRendererPixbufGetPixbuf
+    GutterRendererPixbufGetPixbufMethodInfo ,
+    gutterRendererPixbufGetPixbuf           ,
+
+
+-- ** gutterRendererPixbufGetStockId
+    GutterRendererPixbufGetStockIdMethodInfo,
+    gutterRendererPixbufGetStockId          ,
+
+
+-- ** gutterRendererPixbufNew
+    gutterRendererPixbufNew                 ,
+
+
+-- ** gutterRendererPixbufSetGicon
+    GutterRendererPixbufSetGiconMethodInfo  ,
+    gutterRendererPixbufSetGicon            ,
+
+
+-- ** gutterRendererPixbufSetIconName
+    GutterRendererPixbufSetIconNameMethodInfo,
+    gutterRendererPixbufSetIconName         ,
+
+
+-- ** gutterRendererPixbufSetPixbuf
+    GutterRendererPixbufSetPixbufMethodInfo ,
+    gutterRendererPixbufSetPixbuf           ,
+
+
+-- ** gutterRendererPixbufSetStockId
+    GutterRendererPixbufSetStockIdMethodInfo,
+    gutterRendererPixbufSetStockId          ,
+
+
+
+
+ -- * Properties
+-- ** Gicon
+    GutterRendererPixbufGiconPropertyInfo   ,
+    clearGutterRendererPixbufGicon          ,
+    constructGutterRendererPixbufGicon      ,
+    getGutterRendererPixbufGicon            ,
+    gutterRendererPixbufGicon               ,
+    setGutterRendererPixbufGicon            ,
+
+
+-- ** IconName
+    GutterRendererPixbufIconNamePropertyInfo,
+    clearGutterRendererPixbufIconName       ,
+    constructGutterRendererPixbufIconName   ,
+    getGutterRendererPixbufIconName         ,
+    gutterRendererPixbufIconName            ,
+    setGutterRendererPixbufIconName         ,
+
+
+-- ** Pixbuf
+    GutterRendererPixbufPixbufPropertyInfo  ,
+    clearGutterRendererPixbufPixbuf         ,
+    constructGutterRendererPixbufPixbuf     ,
+    getGutterRendererPixbufPixbuf           ,
+    gutterRendererPixbufPixbuf              ,
+    setGutterRendererPixbufPixbuf           ,
+
+
+-- ** StockId
+    GutterRendererPixbufStockIdPropertyInfo ,
+    clearGutterRendererPixbufStockId        ,
+    constructGutterRendererPixbufStockId    ,
+    getGutterRendererPixbufStockId          ,
+    gutterRendererPixbufStockId             ,
+    setGutterRendererPixbufStockId          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.Gio as Gio
+
+newtype GutterRendererPixbuf = GutterRendererPixbuf (ForeignPtr GutterRendererPixbuf)
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_type"
+    c_gtk_source_gutter_renderer_pixbuf_get_type :: IO GType
+
+type instance ParentTypes GutterRendererPixbuf = GutterRendererPixbufParentTypes
+type GutterRendererPixbufParentTypes = '[GutterRenderer, GObject.Object]
+
+instance GObject GutterRendererPixbuf where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_gutter_renderer_pixbuf_get_type
+    
+
+class GObject o => GutterRendererPixbufK o
+instance (GObject o, IsDescendantOf GutterRendererPixbuf o) => GutterRendererPixbufK o
+
+toGutterRendererPixbuf :: GutterRendererPixbufK o => o -> IO GutterRendererPixbuf
+toGutterRendererPixbuf = unsafeCastTo GutterRendererPixbuf
+
+noGutterRendererPixbuf :: Maybe GutterRendererPixbuf
+noGutterRendererPixbuf = Nothing
+
+type family ResolveGutterRendererPixbufMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGutterRendererPixbufMethod "activate" o = GutterRendererActivateMethodInfo
+    ResolveGutterRendererPixbufMethod "begin" o = GutterRendererBeginMethodInfo
+    ResolveGutterRendererPixbufMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveGutterRendererPixbufMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveGutterRendererPixbufMethod "draw" o = GutterRendererDrawMethodInfo
+    ResolveGutterRendererPixbufMethod "end" o = GutterRendererEndMethodInfo
+    ResolveGutterRendererPixbufMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveGutterRendererPixbufMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveGutterRendererPixbufMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveGutterRendererPixbufMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveGutterRendererPixbufMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveGutterRendererPixbufMethod "queryActivatable" o = GutterRendererQueryActivatableMethodInfo
+    ResolveGutterRendererPixbufMethod "queryData" o = GutterRendererQueryDataMethodInfo
+    ResolveGutterRendererPixbufMethod "queryTooltip" o = GutterRendererQueryTooltipMethodInfo
+    ResolveGutterRendererPixbufMethod "queueDraw" o = GutterRendererQueueDrawMethodInfo
+    ResolveGutterRendererPixbufMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveGutterRendererPixbufMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveGutterRendererPixbufMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveGutterRendererPixbufMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveGutterRendererPixbufMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveGutterRendererPixbufMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveGutterRendererPixbufMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveGutterRendererPixbufMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveGutterRendererPixbufMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveGutterRendererPixbufMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveGutterRendererPixbufMethod "getAlignment" o = GutterRendererGetAlignmentMethodInfo
+    ResolveGutterRendererPixbufMethod "getAlignmentMode" o = GutterRendererGetAlignmentModeMethodInfo
+    ResolveGutterRendererPixbufMethod "getBackground" o = GutterRendererGetBackgroundMethodInfo
+    ResolveGutterRendererPixbufMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveGutterRendererPixbufMethod "getGicon" o = GutterRendererPixbufGetGiconMethodInfo
+    ResolveGutterRendererPixbufMethod "getIconName" o = GutterRendererPixbufGetIconNameMethodInfo
+    ResolveGutterRendererPixbufMethod "getPadding" o = GutterRendererGetPaddingMethodInfo
+    ResolveGutterRendererPixbufMethod "getPixbuf" o = GutterRendererPixbufGetPixbufMethodInfo
+    ResolveGutterRendererPixbufMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveGutterRendererPixbufMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveGutterRendererPixbufMethod "getSize" o = GutterRendererGetSizeMethodInfo
+    ResolveGutterRendererPixbufMethod "getStockId" o = GutterRendererPixbufGetStockIdMethodInfo
+    ResolveGutterRendererPixbufMethod "getView" o = GutterRendererGetViewMethodInfo
+    ResolveGutterRendererPixbufMethod "getVisible" o = GutterRendererGetVisibleMethodInfo
+    ResolveGutterRendererPixbufMethod "getWindowType" o = GutterRendererGetWindowTypeMethodInfo
+    ResolveGutterRendererPixbufMethod "setAlignment" o = GutterRendererSetAlignmentMethodInfo
+    ResolveGutterRendererPixbufMethod "setAlignmentMode" o = GutterRendererSetAlignmentModeMethodInfo
+    ResolveGutterRendererPixbufMethod "setBackground" o = GutterRendererSetBackgroundMethodInfo
+    ResolveGutterRendererPixbufMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveGutterRendererPixbufMethod "setGicon" o = GutterRendererPixbufSetGiconMethodInfo
+    ResolveGutterRendererPixbufMethod "setIconName" o = GutterRendererPixbufSetIconNameMethodInfo
+    ResolveGutterRendererPixbufMethod "setPadding" o = GutterRendererSetPaddingMethodInfo
+    ResolveGutterRendererPixbufMethod "setPixbuf" o = GutterRendererPixbufSetPixbufMethodInfo
+    ResolveGutterRendererPixbufMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveGutterRendererPixbufMethod "setSize" o = GutterRendererSetSizeMethodInfo
+    ResolveGutterRendererPixbufMethod "setStockId" o = GutterRendererPixbufSetStockIdMethodInfo
+    ResolveGutterRendererPixbufMethod "setVisible" o = GutterRendererSetVisibleMethodInfo
+    ResolveGutterRendererPixbufMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGutterRendererPixbufMethod t GutterRendererPixbuf, MethodInfo info GutterRendererPixbuf p) => IsLabelProxy t (GutterRendererPixbuf -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGutterRendererPixbufMethod t GutterRendererPixbuf, MethodInfo info GutterRendererPixbuf p) => IsLabel t (GutterRendererPixbuf -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "gicon"
+   -- Type: TInterface "Gio" "Icon"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+getGutterRendererPixbufGicon :: (MonadIO m, GutterRendererPixbufK o) => o -> m Gio.Icon
+getGutterRendererPixbufGicon obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufGicon" $ getObjectPropertyObject obj "gicon" Gio.Icon
+
+setGutterRendererPixbufGicon :: (MonadIO m, GutterRendererPixbufK o, Gio.IconK a) => o -> a -> m ()
+setGutterRendererPixbufGicon obj val = liftIO $ setObjectPropertyObject obj "gicon" (Just val)
+
+constructGutterRendererPixbufGicon :: (Gio.IconK a) => a -> IO ([Char], GValue)
+constructGutterRendererPixbufGicon val = constructObjectPropertyObject "gicon" (Just val)
+
+clearGutterRendererPixbufGicon :: (MonadIO m, GutterRendererPixbufK o) => o -> m ()
+clearGutterRendererPixbufGicon obj = liftIO $ setObjectPropertyObject obj "gicon" (Nothing :: Maybe Gio.Icon)
+
+data GutterRendererPixbufGiconPropertyInfo
+instance AttrInfo GutterRendererPixbufGiconPropertyInfo where
+    type AttrAllowedOps GutterRendererPixbufGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererPixbufGiconPropertyInfo = Gio.IconK
+    type AttrBaseTypeConstraint GutterRendererPixbufGiconPropertyInfo = GutterRendererPixbufK
+    type AttrGetType GutterRendererPixbufGiconPropertyInfo = Gio.Icon
+    type AttrLabel GutterRendererPixbufGiconPropertyInfo = "gicon"
+    attrGet _ = getGutterRendererPixbufGicon
+    attrSet _ = setGutterRendererPixbufGicon
+    attrConstruct _ = constructGutterRendererPixbufGicon
+    attrClear _ = clearGutterRendererPixbufGicon
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+getGutterRendererPixbufIconName :: (MonadIO m, GutterRendererPixbufK o) => o -> m T.Text
+getGutterRendererPixbufIconName obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufIconName" $ getObjectPropertyString obj "icon-name"
+
+setGutterRendererPixbufIconName :: (MonadIO m, GutterRendererPixbufK o) => o -> T.Text -> m ()
+setGutterRendererPixbufIconName obj val = liftIO $ setObjectPropertyString obj "icon-name" (Just val)
+
+constructGutterRendererPixbufIconName :: T.Text -> IO ([Char], GValue)
+constructGutterRendererPixbufIconName val = constructObjectPropertyString "icon-name" (Just val)
+
+clearGutterRendererPixbufIconName :: (MonadIO m, GutterRendererPixbufK o) => o -> m ()
+clearGutterRendererPixbufIconName obj = liftIO $ setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+data GutterRendererPixbufIconNamePropertyInfo
+instance AttrInfo GutterRendererPixbufIconNamePropertyInfo where
+    type AttrAllowedOps GutterRendererPixbufIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererPixbufIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint GutterRendererPixbufIconNamePropertyInfo = GutterRendererPixbufK
+    type AttrGetType GutterRendererPixbufIconNamePropertyInfo = T.Text
+    type AttrLabel GutterRendererPixbufIconNamePropertyInfo = "icon-name"
+    attrGet _ = getGutterRendererPixbufIconName
+    attrSet _ = setGutterRendererPixbufIconName
+    attrConstruct _ = constructGutterRendererPixbufIconName
+    attrClear _ = clearGutterRendererPixbufIconName
+
+-- VVV Prop "pixbuf"
+   -- Type: TInterface "GdkPixbuf" "Pixbuf"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+getGutterRendererPixbufPixbuf :: (MonadIO m, GutterRendererPixbufK o) => o -> m GdkPixbuf.Pixbuf
+getGutterRendererPixbufPixbuf obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufPixbuf" $ getObjectPropertyObject obj "pixbuf" GdkPixbuf.Pixbuf
+
+setGutterRendererPixbufPixbuf :: (MonadIO m, GutterRendererPixbufK o, GdkPixbuf.PixbufK a) => o -> a -> m ()
+setGutterRendererPixbufPixbuf obj val = liftIO $ setObjectPropertyObject obj "pixbuf" (Just val)
+
+constructGutterRendererPixbufPixbuf :: (GdkPixbuf.PixbufK a) => a -> IO ([Char], GValue)
+constructGutterRendererPixbufPixbuf val = constructObjectPropertyObject "pixbuf" (Just val)
+
+clearGutterRendererPixbufPixbuf :: (MonadIO m, GutterRendererPixbufK o) => o -> m ()
+clearGutterRendererPixbufPixbuf obj = liftIO $ setObjectPropertyObject obj "pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf)
+
+data GutterRendererPixbufPixbufPropertyInfo
+instance AttrInfo GutterRendererPixbufPixbufPropertyInfo where
+    type AttrAllowedOps GutterRendererPixbufPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererPixbufPixbufPropertyInfo = GdkPixbuf.PixbufK
+    type AttrBaseTypeConstraint GutterRendererPixbufPixbufPropertyInfo = GutterRendererPixbufK
+    type AttrGetType GutterRendererPixbufPixbufPropertyInfo = GdkPixbuf.Pixbuf
+    type AttrLabel GutterRendererPixbufPixbufPropertyInfo = "pixbuf"
+    attrGet _ = getGutterRendererPixbufPixbuf
+    attrSet _ = setGutterRendererPixbufPixbuf
+    attrConstruct _ = constructGutterRendererPixbufPixbuf
+    attrClear _ = clearGutterRendererPixbufPixbuf
+
+-- VVV Prop "stock-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+getGutterRendererPixbufStockId :: (MonadIO m, GutterRendererPixbufK o) => o -> m T.Text
+getGutterRendererPixbufStockId obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufStockId" $ getObjectPropertyString obj "stock-id"
+
+setGutterRendererPixbufStockId :: (MonadIO m, GutterRendererPixbufK o) => o -> T.Text -> m ()
+setGutterRendererPixbufStockId obj val = liftIO $ setObjectPropertyString obj "stock-id" (Just val)
+
+constructGutterRendererPixbufStockId :: T.Text -> IO ([Char], GValue)
+constructGutterRendererPixbufStockId val = constructObjectPropertyString "stock-id" (Just val)
+
+clearGutterRendererPixbufStockId :: (MonadIO m, GutterRendererPixbufK o) => o -> m ()
+clearGutterRendererPixbufStockId obj = liftIO $ setObjectPropertyString obj "stock-id" (Nothing :: Maybe T.Text)
+
+data GutterRendererPixbufStockIdPropertyInfo
+instance AttrInfo GutterRendererPixbufStockIdPropertyInfo where
+    type AttrAllowedOps GutterRendererPixbufStockIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererPixbufStockIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint GutterRendererPixbufStockIdPropertyInfo = GutterRendererPixbufK
+    type AttrGetType GutterRendererPixbufStockIdPropertyInfo = T.Text
+    type AttrLabel GutterRendererPixbufStockIdPropertyInfo = "stock-id"
+    attrGet _ = getGutterRendererPixbufStockId
+    attrSet _ = setGutterRendererPixbufStockId
+    attrConstruct _ = constructGutterRendererPixbufStockId
+    attrClear _ = clearGutterRendererPixbufStockId
+
+type instance AttributeList GutterRendererPixbuf = GutterRendererPixbufAttributeList
+type GutterRendererPixbufAttributeList = ('[ '("alignmentMode", GutterRendererAlignmentModePropertyInfo), '("backgroundRgba", GutterRendererBackgroundRgbaPropertyInfo), '("backgroundSet", GutterRendererBackgroundSetPropertyInfo), '("gicon", GutterRendererPixbufGiconPropertyInfo), '("iconName", GutterRendererPixbufIconNamePropertyInfo), '("pixbuf", GutterRendererPixbufPixbufPropertyInfo), '("size", GutterRendererSizePropertyInfo), '("stockId", GutterRendererPixbufStockIdPropertyInfo), '("view", GutterRendererViewPropertyInfo), '("visible", GutterRendererVisiblePropertyInfo), '("windowType", GutterRendererWindowTypePropertyInfo), '("xalign", GutterRendererXalignPropertyInfo), '("xpad", GutterRendererXpadPropertyInfo), '("yalign", GutterRendererYalignPropertyInfo), '("ypad", GutterRendererYpadPropertyInfo)] :: [(Symbol, *)])
+
+gutterRendererPixbufGicon :: AttrLabelProxy "gicon"
+gutterRendererPixbufGicon = AttrLabelProxy
+
+gutterRendererPixbufIconName :: AttrLabelProxy "iconName"
+gutterRendererPixbufIconName = AttrLabelProxy
+
+gutterRendererPixbufPixbuf :: AttrLabelProxy "pixbuf"
+gutterRendererPixbufPixbuf = AttrLabelProxy
+
+gutterRendererPixbufStockId :: AttrLabelProxy "stockId"
+gutterRendererPixbufStockId = AttrLabelProxy
+
+type instance SignalList GutterRendererPixbuf = GutterRendererPixbufSignalList
+type GutterRendererPixbufSignalList = ('[ '("activate", GutterRendererActivateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("queryActivatable", GutterRendererQueryActivatableSignalInfo), '("queryData", GutterRendererQueryDataSignalInfo), '("queryTooltip", GutterRendererQueryTooltipSignalInfo), '("queueDraw", GutterRendererQueueDrawSignalInfo)] :: [(Symbol, *)])
+
+-- method GutterRendererPixbuf::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "GutterRendererPixbuf")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_new" gtk_source_gutter_renderer_pixbuf_new :: 
+    IO (Ptr GutterRendererPixbuf)
+
+
+gutterRendererPixbufNew ::
+    (MonadIO m) =>
+    m GutterRendererPixbuf                  -- result
+gutterRendererPixbufNew  = liftIO $ do
+    result <- gtk_source_gutter_renderer_pixbuf_new
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_pixbuf_new" result
+    result' <- (wrapObject GutterRendererPixbuf) result
+    return result'
+
+-- method GutterRendererPixbuf::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "Icon")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_gicon" gtk_source_gutter_renderer_pixbuf_get_gicon :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    IO (Ptr Gio.Icon)
+
+
+gutterRendererPixbufGetGicon ::
+    (MonadIO m, GutterRendererPixbufK a) =>
+    a                                       -- _obj
+    -> m Gio.Icon                           -- result
+gutterRendererPixbufGetGicon _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_pixbuf_get_gicon _obj'
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_pixbuf_get_gicon" result
+    result' <- (newObject Gio.Icon) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererPixbufGetGiconMethodInfo
+instance (signature ~ (m Gio.Icon), MonadIO m, GutterRendererPixbufK a) => MethodInfo GutterRendererPixbufGetGiconMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufGetGicon
+
+-- method GutterRendererPixbuf::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_icon_name" gtk_source_gutter_renderer_pixbuf_get_icon_name :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    IO CString
+
+
+gutterRendererPixbufGetIconName ::
+    (MonadIO m, GutterRendererPixbufK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+gutterRendererPixbufGetIconName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_pixbuf_get_icon_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_pixbuf_get_icon_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererPixbufGetIconNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, GutterRendererPixbufK a) => MethodInfo GutterRendererPixbufGetIconNameMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufGetIconName
+
+-- method GutterRendererPixbuf::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GdkPixbuf" "Pixbuf")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_pixbuf" gtk_source_gutter_renderer_pixbuf_get_pixbuf :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+gutterRendererPixbufGetPixbuf ::
+    (MonadIO m, GutterRendererPixbufK a) =>
+    a                                       -- _obj
+    -> m GdkPixbuf.Pixbuf                   -- result
+gutterRendererPixbufGetPixbuf _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_pixbuf_get_pixbuf _obj'
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_pixbuf_get_pixbuf" result
+    result' <- (newObject GdkPixbuf.Pixbuf) result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererPixbufGetPixbufMethodInfo
+instance (signature ~ (m GdkPixbuf.Pixbuf), MonadIO m, GutterRendererPixbufK a) => MethodInfo GutterRendererPixbufGetPixbufMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufGetPixbuf
+
+-- method GutterRendererPixbuf::get_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_stock_id" gtk_source_gutter_renderer_pixbuf_get_stock_id :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    IO CString
+
+{-# DEPRECATED gutterRendererPixbufGetStockId ["(Since version 3.10)","Don't use this function."]#-}
+gutterRendererPixbufGetStockId ::
+    (MonadIO m, GutterRendererPixbufK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+gutterRendererPixbufGetStockId _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_gutter_renderer_pixbuf_get_stock_id _obj'
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_pixbuf_get_stock_id" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data GutterRendererPixbufGetStockIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, GutterRendererPixbufK a) => MethodInfo GutterRendererPixbufGetStockIdMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufGetStockId
+
+-- method GutterRendererPixbuf::set_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_gicon" gtk_source_gutter_renderer_pixbuf_set_gicon :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    Ptr Gio.Icon ->                         -- icon : TInterface "Gio" "Icon"
+    IO ()
+
+
+gutterRendererPixbufSetGicon ::
+    (MonadIO m, GutterRendererPixbufK a, Gio.IconK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- icon
+    -> m ()                                 -- result
+gutterRendererPixbufSetGicon _obj icon = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            let jIcon' = unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    gtk_source_gutter_renderer_pixbuf_set_gicon _obj' maybeIcon
+    touchManagedPtr _obj
+    whenJust icon touchManagedPtr
+    return ()
+
+data GutterRendererPixbufSetGiconMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, GutterRendererPixbufK a, Gio.IconK b) => MethodInfo GutterRendererPixbufSetGiconMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufSetGicon
+
+-- method GutterRendererPixbuf::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_icon_name" gtk_source_gutter_renderer_pixbuf_set_icon_name :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+
+gutterRendererPixbufSetIconName ::
+    (MonadIO m, GutterRendererPixbufK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- iconName
+    -> m ()                                 -- result
+gutterRendererPixbufSetIconName _obj iconName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_source_gutter_renderer_pixbuf_set_icon_name _obj' maybeIconName
+    touchManagedPtr _obj
+    freeMem maybeIconName
+    return ()
+
+data GutterRendererPixbufSetIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, GutterRendererPixbufK a) => MethodInfo GutterRendererPixbufSetIconNameMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufSetIconName
+
+-- method GutterRendererPixbuf::set_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_pixbuf" gtk_source_gutter_renderer_pixbuf_set_pixbuf :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
+    IO ()
+
+
+gutterRendererPixbufSetPixbuf ::
+    (MonadIO m, GutterRendererPixbufK a, GdkPixbuf.PixbufK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- pixbuf
+    -> m ()                                 -- result
+gutterRendererPixbufSetPixbuf _obj pixbuf = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            let jPixbuf' = unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_source_gutter_renderer_pixbuf_set_pixbuf _obj' maybePixbuf
+    touchManagedPtr _obj
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+data GutterRendererPixbufSetPixbufMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, GutterRendererPixbufK a, GdkPixbuf.PixbufK b) => MethodInfo GutterRendererPixbufSetPixbufMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufSetPixbuf
+
+-- method GutterRendererPixbuf::set_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererPixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_stock_id" gtk_source_gutter_renderer_pixbuf_set_stock_id :: 
+    Ptr GutterRendererPixbuf ->             -- _obj : TInterface "GtkSource" "GutterRendererPixbuf"
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED gutterRendererPixbufSetStockId ["(Since version 3.10)","Don't use this function."]#-}
+gutterRendererPixbufSetStockId ::
+    (MonadIO m, GutterRendererPixbufK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- stockId
+    -> m ()                                 -- result
+gutterRendererPixbufSetStockId _obj stockId = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    gtk_source_gutter_renderer_pixbuf_set_stock_id _obj' maybeStockId
+    touchManagedPtr _obj
+    freeMem maybeStockId
+    return ()
+
+data GutterRendererPixbufSetStockIdMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, GutterRendererPixbufK a) => MethodInfo GutterRendererPixbufSetStockIdMethodInfo a signature where
+    overloadedMethod _ = gutterRendererPixbufSetStockId
+
+
diff --git a/GI/GtkSource/Objects/GutterRendererPixbuf.hs-boot b/GI/GtkSource/Objects/GutterRendererPixbuf.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/GutterRendererPixbuf.hs-boot
@@ -0,0 +1,25 @@
+module GI.GtkSource.Objects.GutterRendererPixbuf where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype GutterRendererPixbuf = GutterRendererPixbuf (ForeignPtr GutterRendererPixbuf)
+instance GObject GutterRendererPixbuf where
+class GObject o => GutterRendererPixbufK o
+instance (GObject o, IsDescendantOf GutterRendererPixbuf o) => GutterRendererPixbufK o
+data GutterRendererPixbufGiconPropertyInfo
+data GutterRendererPixbufIconNamePropertyInfo
+data GutterRendererPixbufPixbufPropertyInfo
+data GutterRendererPixbufStockIdPropertyInfo
+data GutterRendererPixbufGetGiconMethodInfo
+data GutterRendererPixbufGetIconNameMethodInfo
+data GutterRendererPixbufGetPixbufMethodInfo
+data GutterRendererPixbufGetStockIdMethodInfo
+data GutterRendererPixbufSetGiconMethodInfo
+data GutterRendererPixbufSetIconNameMethodInfo
+data GutterRendererPixbufSetPixbufMethodInfo
+data GutterRendererPixbufSetStockIdMethodInfo
diff --git a/GI/GtkSource/Objects/GutterRendererText.hs b/GI/GtkSource/Objects/GutterRendererText.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/GutterRendererText.hs
@@ -0,0 +1,395 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.GutterRendererText
+    ( 
+
+-- * Exported types
+    GutterRendererText(..)                  ,
+    GutterRendererTextK                     ,
+    toGutterRendererText                    ,
+    noGutterRendererText                    ,
+
+
+ -- * Methods
+-- ** gutterRendererTextMeasure
+    GutterRendererTextMeasureMethodInfo     ,
+    gutterRendererTextMeasure               ,
+
+
+-- ** gutterRendererTextMeasureMarkup
+    GutterRendererTextMeasureMarkupMethodInfo,
+    gutterRendererTextMeasureMarkup         ,
+
+
+-- ** gutterRendererTextNew
+    gutterRendererTextNew                   ,
+
+
+-- ** gutterRendererTextSetMarkup
+    GutterRendererTextSetMarkupMethodInfo   ,
+    gutterRendererTextSetMarkup             ,
+
+
+-- ** gutterRendererTextSetText
+    GutterRendererTextSetTextMethodInfo     ,
+    gutterRendererTextSetText               ,
+
+
+
+
+ -- * Properties
+-- ** Markup
+    GutterRendererTextMarkupPropertyInfo    ,
+    clearGutterRendererTextMarkup           ,
+    constructGutterRendererTextMarkup       ,
+    getGutterRendererTextMarkup             ,
+    gutterRendererTextMarkup                ,
+    setGutterRendererTextMarkup             ,
+
+
+-- ** Text
+    GutterRendererTextTextPropertyInfo      ,
+    clearGutterRendererTextText             ,
+    constructGutterRendererTextText         ,
+    getGutterRendererTextText               ,
+    gutterRendererTextText                  ,
+    setGutterRendererTextText               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+newtype GutterRendererText = GutterRendererText (ForeignPtr GutterRendererText)
+foreign import ccall "gtk_source_gutter_renderer_text_get_type"
+    c_gtk_source_gutter_renderer_text_get_type :: IO GType
+
+type instance ParentTypes GutterRendererText = GutterRendererTextParentTypes
+type GutterRendererTextParentTypes = '[GutterRenderer, GObject.Object]
+
+instance GObject GutterRendererText where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_gutter_renderer_text_get_type
+    
+
+class GObject o => GutterRendererTextK o
+instance (GObject o, IsDescendantOf GutterRendererText o) => GutterRendererTextK o
+
+toGutterRendererText :: GutterRendererTextK o => o -> IO GutterRendererText
+toGutterRendererText = unsafeCastTo GutterRendererText
+
+noGutterRendererText :: Maybe GutterRendererText
+noGutterRendererText = Nothing
+
+type family ResolveGutterRendererTextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGutterRendererTextMethod "activate" o = GutterRendererActivateMethodInfo
+    ResolveGutterRendererTextMethod "begin" o = GutterRendererBeginMethodInfo
+    ResolveGutterRendererTextMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveGutterRendererTextMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveGutterRendererTextMethod "draw" o = GutterRendererDrawMethodInfo
+    ResolveGutterRendererTextMethod "end" o = GutterRendererEndMethodInfo
+    ResolveGutterRendererTextMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveGutterRendererTextMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveGutterRendererTextMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveGutterRendererTextMethod "measure" o = GutterRendererTextMeasureMethodInfo
+    ResolveGutterRendererTextMethod "measureMarkup" o = GutterRendererTextMeasureMarkupMethodInfo
+    ResolveGutterRendererTextMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveGutterRendererTextMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveGutterRendererTextMethod "queryActivatable" o = GutterRendererQueryActivatableMethodInfo
+    ResolveGutterRendererTextMethod "queryData" o = GutterRendererQueryDataMethodInfo
+    ResolveGutterRendererTextMethod "queryTooltip" o = GutterRendererQueryTooltipMethodInfo
+    ResolveGutterRendererTextMethod "queueDraw" o = GutterRendererQueueDrawMethodInfo
+    ResolveGutterRendererTextMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveGutterRendererTextMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveGutterRendererTextMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveGutterRendererTextMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveGutterRendererTextMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveGutterRendererTextMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveGutterRendererTextMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveGutterRendererTextMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveGutterRendererTextMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveGutterRendererTextMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveGutterRendererTextMethod "getAlignment" o = GutterRendererGetAlignmentMethodInfo
+    ResolveGutterRendererTextMethod "getAlignmentMode" o = GutterRendererGetAlignmentModeMethodInfo
+    ResolveGutterRendererTextMethod "getBackground" o = GutterRendererGetBackgroundMethodInfo
+    ResolveGutterRendererTextMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveGutterRendererTextMethod "getPadding" o = GutterRendererGetPaddingMethodInfo
+    ResolveGutterRendererTextMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveGutterRendererTextMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveGutterRendererTextMethod "getSize" o = GutterRendererGetSizeMethodInfo
+    ResolveGutterRendererTextMethod "getView" o = GutterRendererGetViewMethodInfo
+    ResolveGutterRendererTextMethod "getVisible" o = GutterRendererGetVisibleMethodInfo
+    ResolveGutterRendererTextMethod "getWindowType" o = GutterRendererGetWindowTypeMethodInfo
+    ResolveGutterRendererTextMethod "setAlignment" o = GutterRendererSetAlignmentMethodInfo
+    ResolveGutterRendererTextMethod "setAlignmentMode" o = GutterRendererSetAlignmentModeMethodInfo
+    ResolveGutterRendererTextMethod "setBackground" o = GutterRendererSetBackgroundMethodInfo
+    ResolveGutterRendererTextMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveGutterRendererTextMethod "setMarkup" o = GutterRendererTextSetMarkupMethodInfo
+    ResolveGutterRendererTextMethod "setPadding" o = GutterRendererSetPaddingMethodInfo
+    ResolveGutterRendererTextMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveGutterRendererTextMethod "setSize" o = GutterRendererSetSizeMethodInfo
+    ResolveGutterRendererTextMethod "setText" o = GutterRendererTextSetTextMethodInfo
+    ResolveGutterRendererTextMethod "setVisible" o = GutterRendererSetVisibleMethodInfo
+    ResolveGutterRendererTextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGutterRendererTextMethod t GutterRendererText, MethodInfo info GutterRendererText p) => IsLabelProxy t (GutterRendererText -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGutterRendererTextMethod t GutterRendererText, MethodInfo info GutterRendererText p) => IsLabel t (GutterRendererText -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererTextMarkup :: (MonadIO m, GutterRendererTextK o) => o -> m (Maybe T.Text)
+getGutterRendererTextMarkup obj = liftIO $ getObjectPropertyString obj "markup"
+
+setGutterRendererTextMarkup :: (MonadIO m, GutterRendererTextK o) => o -> T.Text -> m ()
+setGutterRendererTextMarkup obj val = liftIO $ setObjectPropertyString obj "markup" (Just val)
+
+constructGutterRendererTextMarkup :: T.Text -> IO ([Char], GValue)
+constructGutterRendererTextMarkup val = constructObjectPropertyString "markup" (Just val)
+
+clearGutterRendererTextMarkup :: (MonadIO m, GutterRendererTextK o) => o -> m ()
+clearGutterRendererTextMarkup obj = liftIO $ setObjectPropertyString obj "markup" (Nothing :: Maybe T.Text)
+
+data GutterRendererTextMarkupPropertyInfo
+instance AttrInfo GutterRendererTextMarkupPropertyInfo where
+    type AttrAllowedOps GutterRendererTextMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererTextMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint GutterRendererTextMarkupPropertyInfo = GutterRendererTextK
+    type AttrGetType GutterRendererTextMarkupPropertyInfo = (Maybe T.Text)
+    type AttrLabel GutterRendererTextMarkupPropertyInfo = "markup"
+    attrGet _ = getGutterRendererTextMarkup
+    attrSet _ = setGutterRendererTextMarkup
+    attrConstruct _ = constructGutterRendererTextMarkup
+    attrClear _ = clearGutterRendererTextMarkup
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+getGutterRendererTextText :: (MonadIO m, GutterRendererTextK o) => o -> m (Maybe T.Text)
+getGutterRendererTextText obj = liftIO $ getObjectPropertyString obj "text"
+
+setGutterRendererTextText :: (MonadIO m, GutterRendererTextK o) => o -> T.Text -> m ()
+setGutterRendererTextText obj val = liftIO $ setObjectPropertyString obj "text" (Just val)
+
+constructGutterRendererTextText :: T.Text -> IO ([Char], GValue)
+constructGutterRendererTextText val = constructObjectPropertyString "text" (Just val)
+
+clearGutterRendererTextText :: (MonadIO m, GutterRendererTextK o) => o -> m ()
+clearGutterRendererTextText obj = liftIO $ setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+data GutterRendererTextTextPropertyInfo
+instance AttrInfo GutterRendererTextTextPropertyInfo where
+    type AttrAllowedOps GutterRendererTextTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GutterRendererTextTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint GutterRendererTextTextPropertyInfo = GutterRendererTextK
+    type AttrGetType GutterRendererTextTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel GutterRendererTextTextPropertyInfo = "text"
+    attrGet _ = getGutterRendererTextText
+    attrSet _ = setGutterRendererTextText
+    attrConstruct _ = constructGutterRendererTextText
+    attrClear _ = clearGutterRendererTextText
+
+type instance AttributeList GutterRendererText = GutterRendererTextAttributeList
+type GutterRendererTextAttributeList = ('[ '("alignmentMode", GutterRendererAlignmentModePropertyInfo), '("backgroundRgba", GutterRendererBackgroundRgbaPropertyInfo), '("backgroundSet", GutterRendererBackgroundSetPropertyInfo), '("markup", GutterRendererTextMarkupPropertyInfo), '("size", GutterRendererSizePropertyInfo), '("text", GutterRendererTextTextPropertyInfo), '("view", GutterRendererViewPropertyInfo), '("visible", GutterRendererVisiblePropertyInfo), '("windowType", GutterRendererWindowTypePropertyInfo), '("xalign", GutterRendererXalignPropertyInfo), '("xpad", GutterRendererXpadPropertyInfo), '("yalign", GutterRendererYalignPropertyInfo), '("ypad", GutterRendererYpadPropertyInfo)] :: [(Symbol, *)])
+
+gutterRendererTextMarkup :: AttrLabelProxy "markup"
+gutterRendererTextMarkup = AttrLabelProxy
+
+gutterRendererTextText :: AttrLabelProxy "text"
+gutterRendererTextText = AttrLabelProxy
+
+type instance SignalList GutterRendererText = GutterRendererTextSignalList
+type GutterRendererTextSignalList = ('[ '("activate", GutterRendererActivateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("queryActivatable", GutterRendererQueryActivatableSignalInfo), '("queryData", GutterRendererQueryDataSignalInfo), '("queryTooltip", GutterRendererQueryTooltipSignalInfo), '("queueDraw", GutterRendererQueueDrawSignalInfo)] :: [(Symbol, *)])
+
+-- method GutterRendererText::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "GutterRendererText")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_text_new" gtk_source_gutter_renderer_text_new :: 
+    IO (Ptr GutterRendererText)
+
+
+gutterRendererTextNew ::
+    (MonadIO m) =>
+    m GutterRendererText                    -- result
+gutterRendererTextNew  = liftIO $ do
+    result <- gtk_source_gutter_renderer_text_new
+    checkUnexpectedReturnNULL "gtk_source_gutter_renderer_text_new" result
+    result' <- (wrapObject GutterRendererText) result
+    return result'
+
+-- method GutterRendererText::measure
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_text_measure" gtk_source_gutter_renderer_text_measure :: 
+    Ptr GutterRendererText ->               -- _obj : TInterface "GtkSource" "GutterRendererText"
+    CString ->                              -- text : TBasicType TUTF8
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+
+gutterRendererTextMeasure ::
+    (MonadIO m, GutterRendererTextK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- text
+    -> m (Int32,Int32)                      -- result
+gutterRendererTextMeasure _obj text = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    text' <- textToCString text
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_source_gutter_renderer_text_measure _obj' text' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr _obj
+    freeMem text'
+    freeMem width
+    freeMem height
+    return (width', height')
+
+data GutterRendererTextMeasureMethodInfo
+instance (signature ~ (T.Text -> m (Int32,Int32)), MonadIO m, GutterRendererTextK a) => MethodInfo GutterRendererTextMeasureMethodInfo a signature where
+    overloadedMethod _ = gutterRendererTextMeasure
+
+-- method GutterRendererText::measure_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_text_measure_markup" gtk_source_gutter_renderer_text_measure_markup :: 
+    Ptr GutterRendererText ->               -- _obj : TInterface "GtkSource" "GutterRendererText"
+    CString ->                              -- markup : TBasicType TUTF8
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+
+gutterRendererTextMeasureMarkup ::
+    (MonadIO m, GutterRendererTextK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- markup
+    -> m (Int32,Int32)                      -- result
+gutterRendererTextMeasureMarkup _obj markup = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    markup' <- textToCString markup
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_source_gutter_renderer_text_measure_markup _obj' markup' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr _obj
+    freeMem markup'
+    freeMem width
+    freeMem height
+    return (width', height')
+
+data GutterRendererTextMeasureMarkupMethodInfo
+instance (signature ~ (T.Text -> m (Int32,Int32)), MonadIO m, GutterRendererTextK a) => MethodInfo GutterRendererTextMeasureMarkupMethodInfo a signature where
+    overloadedMethod _ = gutterRendererTextMeasureMarkup
+
+-- method GutterRendererText::set_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_text_set_markup" gtk_source_gutter_renderer_text_set_markup :: 
+    Ptr GutterRendererText ->               -- _obj : TInterface "GtkSource" "GutterRendererText"
+    CString ->                              -- markup : TBasicType TUTF8
+    Int32 ->                                -- length : TBasicType TInt
+    IO ()
+
+
+gutterRendererTextSetMarkup ::
+    (MonadIO m, GutterRendererTextK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- markup
+    -> Int32                                -- length_
+    -> m ()                                 -- result
+gutterRendererTextSetMarkup _obj markup length_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    markup' <- textToCString markup
+    gtk_source_gutter_renderer_text_set_markup _obj' markup' length_
+    touchManagedPtr _obj
+    freeMem markup'
+    return ()
+
+data GutterRendererTextSetMarkupMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, GutterRendererTextK a) => MethodInfo GutterRendererTextSetMarkupMethodInfo a signature where
+    overloadedMethod _ = gutterRendererTextSetMarkup
+
+-- method GutterRendererText::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "GutterRendererText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_gutter_renderer_text_set_text" gtk_source_gutter_renderer_text_set_text :: 
+    Ptr GutterRendererText ->               -- _obj : TInterface "GtkSource" "GutterRendererText"
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- length : TBasicType TInt
+    IO ()
+
+
+gutterRendererTextSetText ::
+    (MonadIO m, GutterRendererTextK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- text
+    -> Int32                                -- length_
+    -> m ()                                 -- result
+gutterRendererTextSetText _obj text length_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    text' <- textToCString text
+    gtk_source_gutter_renderer_text_set_text _obj' text' length_
+    touchManagedPtr _obj
+    freeMem text'
+    return ()
+
+data GutterRendererTextSetTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, GutterRendererTextK a) => MethodInfo GutterRendererTextSetTextMethodInfo a signature where
+    overloadedMethod _ = gutterRendererTextSetText
+
+
diff --git a/GI/GtkSource/Objects/GutterRendererText.hs-boot b/GI/GtkSource/Objects/GutterRendererText.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/GutterRendererText.hs-boot
@@ -0,0 +1,19 @@
+module GI.GtkSource.Objects.GutterRendererText where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype GutterRendererText = GutterRendererText (ForeignPtr GutterRendererText)
+instance GObject GutterRendererText where
+class GObject o => GutterRendererTextK o
+instance (GObject o, IsDescendantOf GutterRendererText o) => GutterRendererTextK o
+data GutterRendererTextMarkupPropertyInfo
+data GutterRendererTextTextPropertyInfo
+data GutterRendererTextMeasureMethodInfo
+data GutterRendererTextMeasureMarkupMethodInfo
+data GutterRendererTextSetMarkupMethodInfo
+data GutterRendererTextSetTextMethodInfo
diff --git a/GI/GtkSource/Objects/Language.hs b/GI/GtkSource/Objects/Language.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Language.hs
@@ -0,0 +1,587 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Language
+    ( 
+
+-- * Exported types
+    Language(..)                            ,
+    LanguageK                               ,
+    toLanguage                              ,
+    noLanguage                              ,
+
+
+ -- * Methods
+-- ** languageGetGlobs
+    LanguageGetGlobsMethodInfo              ,
+    languageGetGlobs                        ,
+
+
+-- ** languageGetHidden
+    LanguageGetHiddenMethodInfo             ,
+    languageGetHidden                       ,
+
+
+-- ** languageGetId
+    LanguageGetIdMethodInfo                 ,
+    languageGetId                           ,
+
+
+-- ** languageGetMetadata
+    LanguageGetMetadataMethodInfo           ,
+    languageGetMetadata                     ,
+
+
+-- ** languageGetMimeTypes
+    LanguageGetMimeTypesMethodInfo          ,
+    languageGetMimeTypes                    ,
+
+
+-- ** languageGetName
+    LanguageGetNameMethodInfo               ,
+    languageGetName                         ,
+
+
+-- ** languageGetSection
+    LanguageGetSectionMethodInfo            ,
+    languageGetSection                      ,
+
+
+-- ** languageGetStyleFallback
+    LanguageGetStyleFallbackMethodInfo      ,
+    languageGetStyleFallback                ,
+
+
+-- ** languageGetStyleIds
+    LanguageGetStyleIdsMethodInfo           ,
+    languageGetStyleIds                     ,
+
+
+-- ** languageGetStyleName
+    LanguageGetStyleNameMethodInfo          ,
+    languageGetStyleName                    ,
+
+
+
+
+ -- * Properties
+-- ** Hidden
+    LanguageHiddenPropertyInfo              ,
+    getLanguageHidden                       ,
+    languageHidden                          ,
+
+
+-- ** Id
+    LanguageIdPropertyInfo                  ,
+    getLanguageId                           ,
+    languageId                              ,
+
+
+-- ** Name
+    LanguageNamePropertyInfo                ,
+    getLanguageName                         ,
+    languageName                            ,
+
+
+-- ** Section
+    LanguageSectionPropertyInfo             ,
+    getLanguageSection                      ,
+    languageSection                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+newtype Language = Language (ForeignPtr Language)
+foreign import ccall "gtk_source_language_get_type"
+    c_gtk_source_language_get_type :: IO GType
+
+type instance ParentTypes Language = LanguageParentTypes
+type LanguageParentTypes = '[GObject.Object]
+
+instance GObject Language where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_language_get_type
+    
+
+class GObject o => LanguageK o
+instance (GObject o, IsDescendantOf Language o) => LanguageK o
+
+toLanguage :: LanguageK o => o -> IO Language
+toLanguage = unsafeCastTo Language
+
+noLanguage :: Maybe Language
+noLanguage = Nothing
+
+type family ResolveLanguageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLanguageMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveLanguageMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveLanguageMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveLanguageMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveLanguageMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveLanguageMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveLanguageMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveLanguageMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveLanguageMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveLanguageMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveLanguageMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveLanguageMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveLanguageMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveLanguageMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveLanguageMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveLanguageMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveLanguageMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveLanguageMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveLanguageMethod "getGlobs" o = LanguageGetGlobsMethodInfo
+    ResolveLanguageMethod "getHidden" o = LanguageGetHiddenMethodInfo
+    ResolveLanguageMethod "getId" o = LanguageGetIdMethodInfo
+    ResolveLanguageMethod "getMetadata" o = LanguageGetMetadataMethodInfo
+    ResolveLanguageMethod "getMimeTypes" o = LanguageGetMimeTypesMethodInfo
+    ResolveLanguageMethod "getName" o = LanguageGetNameMethodInfo
+    ResolveLanguageMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveLanguageMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveLanguageMethod "getSection" o = LanguageGetSectionMethodInfo
+    ResolveLanguageMethod "getStyleFallback" o = LanguageGetStyleFallbackMethodInfo
+    ResolveLanguageMethod "getStyleIds" o = LanguageGetStyleIdsMethodInfo
+    ResolveLanguageMethod "getStyleName" o = LanguageGetStyleNameMethodInfo
+    ResolveLanguageMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveLanguageMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveLanguageMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLanguageMethod t Language, MethodInfo info Language p) => IsLabelProxy t (Language -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLanguageMethod t Language, MethodInfo info Language p) => IsLabel t (Language -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "hidden"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getLanguageHidden :: (MonadIO m, LanguageK o) => o -> m Bool
+getLanguageHidden obj = liftIO $ getObjectPropertyBool obj "hidden"
+
+data LanguageHiddenPropertyInfo
+instance AttrInfo LanguageHiddenPropertyInfo where
+    type AttrAllowedOps LanguageHiddenPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint LanguageHiddenPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LanguageHiddenPropertyInfo = LanguageK
+    type AttrGetType LanguageHiddenPropertyInfo = Bool
+    type AttrLabel LanguageHiddenPropertyInfo = "hidden"
+    attrGet _ = getLanguageHidden
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getLanguageId :: (MonadIO m, LanguageK o) => o -> m T.Text
+getLanguageId obj = liftIO $ checkUnexpectedNothing "getLanguageId" $ getObjectPropertyString obj "id"
+
+data LanguageIdPropertyInfo
+instance AttrInfo LanguageIdPropertyInfo where
+    type AttrAllowedOps LanguageIdPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LanguageIdPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LanguageIdPropertyInfo = LanguageK
+    type AttrGetType LanguageIdPropertyInfo = T.Text
+    type AttrLabel LanguageIdPropertyInfo = "id"
+    attrGet _ = getLanguageId
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getLanguageName :: (MonadIO m, LanguageK o) => o -> m T.Text
+getLanguageName obj = liftIO $ checkUnexpectedNothing "getLanguageName" $ getObjectPropertyString obj "name"
+
+data LanguageNamePropertyInfo
+instance AttrInfo LanguageNamePropertyInfo where
+    type AttrAllowedOps LanguageNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LanguageNamePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LanguageNamePropertyInfo = LanguageK
+    type AttrGetType LanguageNamePropertyInfo = T.Text
+    type AttrLabel LanguageNamePropertyInfo = "name"
+    attrGet _ = getLanguageName
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "section"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getLanguageSection :: (MonadIO m, LanguageK o) => o -> m T.Text
+getLanguageSection obj = liftIO $ checkUnexpectedNothing "getLanguageSection" $ getObjectPropertyString obj "section"
+
+data LanguageSectionPropertyInfo
+instance AttrInfo LanguageSectionPropertyInfo where
+    type AttrAllowedOps LanguageSectionPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LanguageSectionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LanguageSectionPropertyInfo = LanguageK
+    type AttrGetType LanguageSectionPropertyInfo = T.Text
+    type AttrLabel LanguageSectionPropertyInfo = "section"
+    attrGet _ = getLanguageSection
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+type instance AttributeList Language = LanguageAttributeList
+type LanguageAttributeList = ('[ '("hidden", LanguageHiddenPropertyInfo), '("id", LanguageIdPropertyInfo), '("name", LanguageNamePropertyInfo), '("section", LanguageSectionPropertyInfo)] :: [(Symbol, *)])
+
+languageHidden :: AttrLabelProxy "hidden"
+languageHidden = AttrLabelProxy
+
+languageId :: AttrLabelProxy "id"
+languageId = AttrLabelProxy
+
+languageName :: AttrLabelProxy "name"
+languageName = AttrLabelProxy
+
+languageSection :: AttrLabelProxy "section"
+languageSection = AttrLabelProxy
+
+type instance SignalList Language = LanguageSignalList
+type LanguageSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method Language::get_globs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_globs" gtk_source_language_get_globs :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO (Ptr CString)
+
+
+languageGetGlobs ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m (Maybe [T.Text])                   -- result
+languageGetGlobs _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_globs _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        mapZeroTerminatedCArray freeMem result'
+        freeMem result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data LanguageGetGlobsMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, LanguageK a) => MethodInfo LanguageGetGlobsMethodInfo a signature where
+    overloadedMethod _ = languageGetGlobs
+
+-- method Language::get_hidden
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_hidden" gtk_source_language_get_hidden :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO CInt
+
+
+languageGetHidden ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+languageGetHidden _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_hidden _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data LanguageGetHiddenMethodInfo
+instance (signature ~ (m Bool), MonadIO m, LanguageK a) => MethodInfo LanguageGetHiddenMethodInfo a signature where
+    overloadedMethod _ = languageGetHidden
+
+-- method Language::get_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_id" gtk_source_language_get_id :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO CString
+
+
+languageGetId ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+languageGetId _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_id _obj'
+    checkUnexpectedReturnNULL "gtk_source_language_get_id" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data LanguageGetIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, LanguageK a) => MethodInfo LanguageGetIdMethodInfo a signature where
+    overloadedMethod _ = languageGetId
+
+-- method Language::get_metadata
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_metadata" gtk_source_language_get_metadata :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    CString ->                              -- name : TBasicType TUTF8
+    IO CString
+
+
+languageGetMetadata ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- name
+    -> m (Maybe T.Text)                     -- result
+languageGetMetadata _obj name = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    name' <- textToCString name
+    result <- gtk_source_language_get_metadata _obj' name'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    freeMem name'
+    return maybeResult
+
+data LanguageGetMetadataMethodInfo
+instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, LanguageK a) => MethodInfo LanguageGetMetadataMethodInfo a signature where
+    overloadedMethod _ = languageGetMetadata
+
+-- method Language::get_mime_types
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_mime_types" gtk_source_language_get_mime_types :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO (Ptr CString)
+
+
+languageGetMimeTypes ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m (Maybe [T.Text])                   -- result
+languageGetMimeTypes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_mime_types _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        mapZeroTerminatedCArray freeMem result'
+        freeMem result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data LanguageGetMimeTypesMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, LanguageK a) => MethodInfo LanguageGetMimeTypesMethodInfo a signature where
+    overloadedMethod _ = languageGetMimeTypes
+
+-- method Language::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_name" gtk_source_language_get_name :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO CString
+
+
+languageGetName ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+languageGetName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_language_get_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data LanguageGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, LanguageK a) => MethodInfo LanguageGetNameMethodInfo a signature where
+    overloadedMethod _ = languageGetName
+
+-- method Language::get_section
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_section" gtk_source_language_get_section :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO CString
+
+
+languageGetSection ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+languageGetSection _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_section _obj'
+    checkUnexpectedReturnNULL "gtk_source_language_get_section" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data LanguageGetSectionMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, LanguageK a) => MethodInfo LanguageGetSectionMethodInfo a signature where
+    overloadedMethod _ = languageGetSection
+
+-- method Language::get_style_fallback
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_style_fallback" gtk_source_language_get_style_fallback :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    CString ->                              -- style_id : TBasicType TUTF8
+    IO CString
+
+
+languageGetStyleFallback ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- styleId
+    -> m (Maybe T.Text)                     -- result
+languageGetStyleFallback _obj styleId = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    styleId' <- textToCString styleId
+    result <- gtk_source_language_get_style_fallback _obj' styleId'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    freeMem styleId'
+    return maybeResult
+
+data LanguageGetStyleFallbackMethodInfo
+instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, LanguageK a) => MethodInfo LanguageGetStyleFallbackMethodInfo a signature where
+    overloadedMethod _ = languageGetStyleFallback
+
+-- method Language::get_style_ids
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_style_ids" gtk_source_language_get_style_ids :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    IO (Ptr CString)
+
+
+languageGetStyleIds ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> m (Maybe [T.Text])                   -- result
+languageGetStyleIds _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_get_style_ids _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        mapZeroTerminatedCArray freeMem result'
+        freeMem result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data LanguageGetStyleIdsMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, LanguageK a) => MethodInfo LanguageGetStyleIdsMethodInfo a signature where
+    overloadedMethod _ = languageGetStyleIds
+
+-- method Language::get_style_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_get_style_name" gtk_source_language_get_style_name :: 
+    Ptr Language ->                         -- _obj : TInterface "GtkSource" "Language"
+    CString ->                              -- style_id : TBasicType TUTF8
+    IO CString
+
+
+languageGetStyleName ::
+    (MonadIO m, LanguageK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- styleId
+    -> m (Maybe T.Text)                     -- result
+languageGetStyleName _obj styleId = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    styleId' <- textToCString styleId
+    result <- gtk_source_language_get_style_name _obj' styleId'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    freeMem styleId'
+    return maybeResult
+
+data LanguageGetStyleNameMethodInfo
+instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, LanguageK a) => MethodInfo LanguageGetStyleNameMethodInfo a signature where
+    overloadedMethod _ = languageGetStyleName
+
+
diff --git a/GI/GtkSource/Objects/Language.hs-boot b/GI/GtkSource/Objects/Language.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Language.hs-boot
@@ -0,0 +1,27 @@
+module GI.GtkSource.Objects.Language where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Language = Language (ForeignPtr Language)
+instance GObject Language where
+class GObject o => LanguageK o
+instance (GObject o, IsDescendantOf Language o) => LanguageK o
+data LanguageHiddenPropertyInfo
+data LanguageIdPropertyInfo
+data LanguageNamePropertyInfo
+data LanguageSectionPropertyInfo
+data LanguageGetGlobsMethodInfo
+data LanguageGetHiddenMethodInfo
+data LanguageGetIdMethodInfo
+data LanguageGetMetadataMethodInfo
+data LanguageGetMimeTypesMethodInfo
+data LanguageGetNameMethodInfo
+data LanguageGetSectionMethodInfo
+data LanguageGetStyleFallbackMethodInfo
+data LanguageGetStyleIdsMethodInfo
+data LanguageGetStyleNameMethodInfo
diff --git a/GI/GtkSource/Objects/LanguageManager.hs b/GI/GtkSource/Objects/LanguageManager.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/LanguageManager.hs
@@ -0,0 +1,423 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.LanguageManager
+    ( 
+
+-- * Exported types
+    LanguageManager(..)                     ,
+    LanguageManagerK                        ,
+    toLanguageManager                       ,
+    noLanguageManager                       ,
+
+
+ -- * Methods
+-- ** languageManagerGetDefault
+    languageManagerGetDefault               ,
+
+
+-- ** languageManagerGetLanguage
+    LanguageManagerGetLanguageMethodInfo    ,
+    languageManagerGetLanguage              ,
+
+
+-- ** languageManagerGetLanguageIds
+    LanguageManagerGetLanguageIdsMethodInfo ,
+    languageManagerGetLanguageIds           ,
+
+
+-- ** languageManagerGetSearchPath
+    LanguageManagerGetSearchPathMethodInfo  ,
+    languageManagerGetSearchPath            ,
+
+
+-- ** languageManagerGuessLanguage
+    LanguageManagerGuessLanguageMethodInfo  ,
+    languageManagerGuessLanguage            ,
+
+
+-- ** languageManagerNew
+    languageManagerNew                      ,
+
+
+-- ** languageManagerSetSearchPath
+    LanguageManagerSetSearchPathMethodInfo  ,
+    languageManagerSetSearchPath            ,
+
+
+
+
+ -- * Properties
+-- ** LanguageIds
+    LanguageManagerLanguageIdsPropertyInfo  ,
+    getLanguageManagerLanguageIds           ,
+    languageManagerLanguageIds              ,
+
+
+-- ** SearchPath
+    LanguageManagerSearchPathPropertyInfo   ,
+    clearLanguageManagerSearchPath          ,
+    constructLanguageManagerSearchPath      ,
+    getLanguageManagerSearchPath            ,
+    languageManagerSearchPath               ,
+    setLanguageManagerSearchPath            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+newtype LanguageManager = LanguageManager (ForeignPtr LanguageManager)
+foreign import ccall "gtk_source_language_manager_get_type"
+    c_gtk_source_language_manager_get_type :: IO GType
+
+type instance ParentTypes LanguageManager = LanguageManagerParentTypes
+type LanguageManagerParentTypes = '[GObject.Object]
+
+instance GObject LanguageManager where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_language_manager_get_type
+    
+
+class GObject o => LanguageManagerK o
+instance (GObject o, IsDescendantOf LanguageManager o) => LanguageManagerK o
+
+toLanguageManager :: LanguageManagerK o => o -> IO LanguageManager
+toLanguageManager = unsafeCastTo LanguageManager
+
+noLanguageManager :: Maybe LanguageManager
+noLanguageManager = Nothing
+
+type family ResolveLanguageManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLanguageManagerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveLanguageManagerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveLanguageManagerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveLanguageManagerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveLanguageManagerMethod "guessLanguage" o = LanguageManagerGuessLanguageMethodInfo
+    ResolveLanguageManagerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveLanguageManagerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveLanguageManagerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveLanguageManagerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveLanguageManagerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveLanguageManagerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveLanguageManagerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveLanguageManagerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveLanguageManagerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveLanguageManagerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveLanguageManagerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveLanguageManagerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveLanguageManagerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveLanguageManagerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveLanguageManagerMethod "getLanguage" o = LanguageManagerGetLanguageMethodInfo
+    ResolveLanguageManagerMethod "getLanguageIds" o = LanguageManagerGetLanguageIdsMethodInfo
+    ResolveLanguageManagerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveLanguageManagerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveLanguageManagerMethod "getSearchPath" o = LanguageManagerGetSearchPathMethodInfo
+    ResolveLanguageManagerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveLanguageManagerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveLanguageManagerMethod "setSearchPath" o = LanguageManagerSetSearchPathMethodInfo
+    ResolveLanguageManagerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLanguageManagerMethod t LanguageManager, MethodInfo info LanguageManager p) => IsLabelProxy t (LanguageManager -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLanguageManagerMethod t LanguageManager, MethodInfo info LanguageManager p) => IsLabel t (LanguageManager -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "language-ids"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+getLanguageManagerLanguageIds :: (MonadIO m, LanguageManagerK o) => o -> m (Maybe [T.Text])
+getLanguageManagerLanguageIds obj = liftIO $ getObjectPropertyStringArray obj "language-ids"
+
+data LanguageManagerLanguageIdsPropertyInfo
+instance AttrInfo LanguageManagerLanguageIdsPropertyInfo where
+    type AttrAllowedOps LanguageManagerLanguageIdsPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LanguageManagerLanguageIdsPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LanguageManagerLanguageIdsPropertyInfo = LanguageManagerK
+    type AttrGetType LanguageManagerLanguageIdsPropertyInfo = (Maybe [T.Text])
+    type AttrLabel LanguageManagerLanguageIdsPropertyInfo = "language-ids"
+    attrGet _ = getLanguageManagerLanguageIds
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "search-path"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+getLanguageManagerSearchPath :: (MonadIO m, LanguageManagerK o) => o -> m [T.Text]
+getLanguageManagerSearchPath obj = liftIO $ checkUnexpectedNothing "getLanguageManagerSearchPath" $ getObjectPropertyStringArray obj "search-path"
+
+setLanguageManagerSearchPath :: (MonadIO m, LanguageManagerK o) => o -> [T.Text] -> m ()
+setLanguageManagerSearchPath obj val = liftIO $ setObjectPropertyStringArray obj "search-path" (Just val)
+
+constructLanguageManagerSearchPath :: [T.Text] -> IO ([Char], GValue)
+constructLanguageManagerSearchPath val = constructObjectPropertyStringArray "search-path" (Just val)
+
+clearLanguageManagerSearchPath :: (MonadIO m, LanguageManagerK o) => o -> m ()
+clearLanguageManagerSearchPath obj = liftIO $ setObjectPropertyStringArray obj "search-path" (Nothing :: Maybe [T.Text])
+
+data LanguageManagerSearchPathPropertyInfo
+instance AttrInfo LanguageManagerSearchPathPropertyInfo where
+    type AttrAllowedOps LanguageManagerSearchPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LanguageManagerSearchPathPropertyInfo = (~) [T.Text]
+    type AttrBaseTypeConstraint LanguageManagerSearchPathPropertyInfo = LanguageManagerK
+    type AttrGetType LanguageManagerSearchPathPropertyInfo = [T.Text]
+    type AttrLabel LanguageManagerSearchPathPropertyInfo = "search-path"
+    attrGet _ = getLanguageManagerSearchPath
+    attrSet _ = setLanguageManagerSearchPath
+    attrConstruct _ = constructLanguageManagerSearchPath
+    attrClear _ = clearLanguageManagerSearchPath
+
+type instance AttributeList LanguageManager = LanguageManagerAttributeList
+type LanguageManagerAttributeList = ('[ '("languageIds", LanguageManagerLanguageIdsPropertyInfo), '("searchPath", LanguageManagerSearchPathPropertyInfo)] :: [(Symbol, *)])
+
+languageManagerLanguageIds :: AttrLabelProxy "languageIds"
+languageManagerLanguageIds = AttrLabelProxy
+
+languageManagerSearchPath :: AttrLabelProxy "searchPath"
+languageManagerSearchPath = AttrLabelProxy
+
+type instance SignalList LanguageManager = LanguageManagerSignalList
+type LanguageManagerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method LanguageManager::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "LanguageManager")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_new" gtk_source_language_manager_new :: 
+    IO (Ptr LanguageManager)
+
+
+languageManagerNew ::
+    (MonadIO m) =>
+    m LanguageManager                       -- result
+languageManagerNew  = liftIO $ do
+    result <- gtk_source_language_manager_new
+    checkUnexpectedReturnNULL "gtk_source_language_manager_new" result
+    result' <- (wrapObject LanguageManager) result
+    return result'
+
+-- method LanguageManager::get_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "LanguageManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Language")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_get_language" gtk_source_language_manager_get_language :: 
+    Ptr LanguageManager ->                  -- _obj : TInterface "GtkSource" "LanguageManager"
+    CString ->                              -- id : TBasicType TUTF8
+    IO (Ptr Language)
+
+
+languageManagerGetLanguage ::
+    (MonadIO m, LanguageManagerK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- id
+    -> m (Maybe Language)                   -- result
+languageManagerGetLanguage _obj id = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    id' <- textToCString id
+    result <- gtk_source_language_manager_get_language _obj' id'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Language) result'
+        return result''
+    touchManagedPtr _obj
+    freeMem id'
+    return maybeResult
+
+data LanguageManagerGetLanguageMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Language)), MonadIO m, LanguageManagerK a) => MethodInfo LanguageManagerGetLanguageMethodInfo a signature where
+    overloadedMethod _ = languageManagerGetLanguage
+
+-- method LanguageManager::get_language_ids
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "LanguageManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_get_language_ids" gtk_source_language_manager_get_language_ids :: 
+    Ptr LanguageManager ->                  -- _obj : TInterface "GtkSource" "LanguageManager"
+    IO (Ptr CString)
+
+
+languageManagerGetLanguageIds ::
+    (MonadIO m, LanguageManagerK a) =>
+    a                                       -- _obj
+    -> m (Maybe [T.Text])                   -- result
+languageManagerGetLanguageIds _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_manager_get_language_ids _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data LanguageManagerGetLanguageIdsMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, LanguageManagerK a) => MethodInfo LanguageManagerGetLanguageIdsMethodInfo a signature where
+    overloadedMethod _ = languageManagerGetLanguageIds
+
+-- method LanguageManager::get_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "LanguageManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_get_search_path" gtk_source_language_manager_get_search_path :: 
+    Ptr LanguageManager ->                  -- _obj : TInterface "GtkSource" "LanguageManager"
+    IO (Ptr CString)
+
+
+languageManagerGetSearchPath ::
+    (MonadIO m, LanguageManagerK a) =>
+    a                                       -- _obj
+    -> m [T.Text]                           -- result
+languageManagerGetSearchPath _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_language_manager_get_search_path _obj'
+    checkUnexpectedReturnNULL "gtk_source_language_manager_get_search_path" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    touchManagedPtr _obj
+    return result'
+
+data LanguageManagerGetSearchPathMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, LanguageManagerK a) => MethodInfo LanguageManagerGetSearchPathMethodInfo a signature where
+    overloadedMethod _ = languageManagerGetSearchPath
+
+-- method LanguageManager::guess_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "LanguageManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Language")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_guess_language" gtk_source_language_manager_guess_language :: 
+    Ptr LanguageManager ->                  -- _obj : TInterface "GtkSource" "LanguageManager"
+    CString ->                              -- filename : TBasicType TUTF8
+    CString ->                              -- content_type : TBasicType TUTF8
+    IO (Ptr Language)
+
+
+languageManagerGuessLanguage ::
+    (MonadIO m, LanguageManagerK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- filename
+    -> Maybe (T.Text)                       -- contentType
+    -> m (Maybe Language)                   -- result
+languageManagerGuessLanguage _obj filename contentType = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeFilename <- case filename of
+        Nothing -> return nullPtr
+        Just jFilename -> do
+            jFilename' <- textToCString jFilename
+            return jFilename'
+    maybeContentType <- case contentType of
+        Nothing -> return nullPtr
+        Just jContentType -> do
+            jContentType' <- textToCString jContentType
+            return jContentType'
+    result <- gtk_source_language_manager_guess_language _obj' maybeFilename maybeContentType
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Language) result'
+        return result''
+    touchManagedPtr _obj
+    freeMem maybeFilename
+    freeMem maybeContentType
+    return maybeResult
+
+data LanguageManagerGuessLanguageMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> m (Maybe Language)), MonadIO m, LanguageManagerK a) => MethodInfo LanguageManagerGuessLanguageMethodInfo a signature where
+    overloadedMethod _ = languageManagerGuessLanguage
+
+-- method LanguageManager::set_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "LanguageManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dirs", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_set_search_path" gtk_source_language_manager_set_search_path :: 
+    Ptr LanguageManager ->                  -- _obj : TInterface "GtkSource" "LanguageManager"
+    Ptr CString ->                          -- dirs : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+
+languageManagerSetSearchPath ::
+    (MonadIO m, LanguageManagerK a) =>
+    a                                       -- _obj
+    -> Maybe ([T.Text])                     -- dirs
+    -> m ()                                 -- result
+languageManagerSetSearchPath _obj dirs = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeDirs <- case dirs of
+        Nothing -> return nullPtr
+        Just jDirs -> do
+            jDirs' <- packZeroTerminatedUTF8CArray jDirs
+            return jDirs'
+    gtk_source_language_manager_set_search_path _obj' maybeDirs
+    touchManagedPtr _obj
+    mapZeroTerminatedCArray freeMem maybeDirs
+    freeMem maybeDirs
+    return ()
+
+data LanguageManagerSetSearchPathMethodInfo
+instance (signature ~ (Maybe ([T.Text]) -> m ()), MonadIO m, LanguageManagerK a) => MethodInfo LanguageManagerSetSearchPathMethodInfo a signature where
+    overloadedMethod _ = languageManagerSetSearchPath
+
+-- method LanguageManager::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "LanguageManager")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_language_manager_get_default" gtk_source_language_manager_get_default :: 
+    IO (Ptr LanguageManager)
+
+
+languageManagerGetDefault ::
+    (MonadIO m) =>
+    m LanguageManager                       -- result
+languageManagerGetDefault  = liftIO $ do
+    result <- gtk_source_language_manager_get_default
+    checkUnexpectedReturnNULL "gtk_source_language_manager_get_default" result
+    result' <- (newObject LanguageManager) result
+    return result'
+
+
diff --git a/GI/GtkSource/Objects/LanguageManager.hs-boot b/GI/GtkSource/Objects/LanguageManager.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/LanguageManager.hs-boot
@@ -0,0 +1,20 @@
+module GI.GtkSource.Objects.LanguageManager where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype LanguageManager = LanguageManager (ForeignPtr LanguageManager)
+instance GObject LanguageManager where
+class GObject o => LanguageManagerK o
+instance (GObject o, IsDescendantOf LanguageManager o) => LanguageManagerK o
+data LanguageManagerLanguageIdsPropertyInfo
+data LanguageManagerSearchPathPropertyInfo
+data LanguageManagerGetLanguageMethodInfo
+data LanguageManagerGetLanguageIdsMethodInfo
+data LanguageManagerGetSearchPathMethodInfo
+data LanguageManagerGuessLanguageMethodInfo
+data LanguageManagerSetSearchPathMethodInfo
diff --git a/GI/GtkSource/Objects/Map.hs b/GI/GtkSource/Objects/Map.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Map.hs
@@ -0,0 +1,674 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Map
+    ( 
+
+-- * Exported types
+    Map(..)                                 ,
+    MapK                                    ,
+    toMap                                   ,
+    noMap                                   ,
+
+
+ -- * Methods
+-- ** mapGetView
+    MapGetViewMethodInfo                    ,
+    mapGetView                              ,
+
+
+-- ** mapNew
+    mapNew                                  ,
+
+
+-- ** mapSetView
+    MapSetViewMethodInfo                    ,
+    mapSetView                              ,
+
+
+
+
+ -- * Properties
+-- ** FontDesc
+    MapFontDescPropertyInfo                 ,
+    clearMapFontDesc                        ,
+    constructMapFontDesc                    ,
+    getMapFontDesc                          ,
+    mapFontDesc                             ,
+    setMapFontDesc                          ,
+
+
+-- ** View
+    MapViewPropertyInfo                     ,
+    constructMapView                        ,
+    getMapView                              ,
+    mapView                                 ,
+    setMapView                              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.Atk as Atk
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+import qualified GI.Pango as Pango
+
+newtype Map = Map (ForeignPtr Map)
+foreign import ccall "gtk_source_map_get_type"
+    c_gtk_source_map_get_type :: IO GType
+
+type instance ParentTypes Map = MapParentTypes
+type MapParentTypes = '[View, Gtk.TextView, Gtk.Container, Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Buildable, Gtk.Scrollable]
+
+instance GObject Map where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_map_get_type
+    
+
+class GObject o => MapK o
+instance (GObject o, IsDescendantOf Map o) => MapK o
+
+toMap :: MapK o => o -> IO Map
+toMap = unsafeCastTo Map
+
+noMap :: Maybe Map
+noMap = Nothing
+
+type family ResolveMapMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMapMethod "activate" o = Gtk.WidgetActivateMethodInfo
+    ResolveMapMethod "add" o = Gtk.ContainerAddMethodInfo
+    ResolveMapMethod "addAccelerator" o = Gtk.WidgetAddAcceleratorMethodInfo
+    ResolveMapMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveMapMethod "addChildAtAnchor" o = Gtk.TextViewAddChildAtAnchorMethodInfo
+    ResolveMapMethod "addChildInWindow" o = Gtk.TextViewAddChildInWindowMethodInfo
+    ResolveMapMethod "addDeviceEvents" o = Gtk.WidgetAddDeviceEventsMethodInfo
+    ResolveMapMethod "addEvents" o = Gtk.WidgetAddEventsMethodInfo
+    ResolveMapMethod "addMnemonicLabel" o = Gtk.WidgetAddMnemonicLabelMethodInfo
+    ResolveMapMethod "addTickCallback" o = Gtk.WidgetAddTickCallbackMethodInfo
+    ResolveMapMethod "backwardDisplayLine" o = Gtk.TextViewBackwardDisplayLineMethodInfo
+    ResolveMapMethod "backwardDisplayLineStart" o = Gtk.TextViewBackwardDisplayLineStartMethodInfo
+    ResolveMapMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveMapMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveMapMethod "bufferToWindowCoords" o = Gtk.TextViewBufferToWindowCoordsMethodInfo
+    ResolveMapMethod "canActivateAccel" o = Gtk.WidgetCanActivateAccelMethodInfo
+    ResolveMapMethod "checkResize" o = Gtk.ContainerCheckResizeMethodInfo
+    ResolveMapMethod "childFocus" o = Gtk.WidgetChildFocusMethodInfo
+    ResolveMapMethod "childGetProperty" o = Gtk.ContainerChildGetPropertyMethodInfo
+    ResolveMapMethod "childNotifyByPspec" o = Gtk.ContainerChildNotifyByPspecMethodInfo
+    ResolveMapMethod "childSetProperty" o = Gtk.ContainerChildSetPropertyMethodInfo
+    ResolveMapMethod "childType" o = Gtk.ContainerChildTypeMethodInfo
+    ResolveMapMethod "classPath" o = Gtk.WidgetClassPathMethodInfo
+    ResolveMapMethod "computeExpand" o = Gtk.WidgetComputeExpandMethodInfo
+    ResolveMapMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveMapMethod "createPangoContext" o = Gtk.WidgetCreatePangoContextMethodInfo
+    ResolveMapMethod "createPangoLayout" o = Gtk.WidgetCreatePangoLayoutMethodInfo
+    ResolveMapMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveMapMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveMapMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveMapMethod "destroy" o = Gtk.WidgetDestroyMethodInfo
+    ResolveMapMethod "destroyed" o = Gtk.WidgetDestroyedMethodInfo
+    ResolveMapMethod "deviceIsShadowed" o = Gtk.WidgetDeviceIsShadowedMethodInfo
+    ResolveMapMethod "dragBegin" o = Gtk.WidgetDragBeginMethodInfo
+    ResolveMapMethod "dragBeginWithCoordinates" o = Gtk.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMapMethod "dragCheckThreshold" o = Gtk.WidgetDragCheckThresholdMethodInfo
+    ResolveMapMethod "dragDestAddImageTargets" o = Gtk.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMapMethod "dragDestAddTextTargets" o = Gtk.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMapMethod "dragDestAddUriTargets" o = Gtk.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMapMethod "dragDestFindTarget" o = Gtk.WidgetDragDestFindTargetMethodInfo
+    ResolveMapMethod "dragDestGetTargetList" o = Gtk.WidgetDragDestGetTargetListMethodInfo
+    ResolveMapMethod "dragDestGetTrackMotion" o = Gtk.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMapMethod "dragDestSet" o = Gtk.WidgetDragDestSetMethodInfo
+    ResolveMapMethod "dragDestSetProxy" o = Gtk.WidgetDragDestSetProxyMethodInfo
+    ResolveMapMethod "dragDestSetTargetList" o = Gtk.WidgetDragDestSetTargetListMethodInfo
+    ResolveMapMethod "dragDestSetTrackMotion" o = Gtk.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMapMethod "dragDestUnset" o = Gtk.WidgetDragDestUnsetMethodInfo
+    ResolveMapMethod "dragGetData" o = Gtk.WidgetDragGetDataMethodInfo
+    ResolveMapMethod "dragHighlight" o = Gtk.WidgetDragHighlightMethodInfo
+    ResolveMapMethod "dragSourceAddImageTargets" o = Gtk.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMapMethod "dragSourceAddTextTargets" o = Gtk.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMapMethod "dragSourceAddUriTargets" o = Gtk.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMapMethod "dragSourceGetTargetList" o = Gtk.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMapMethod "dragSourceSet" o = Gtk.WidgetDragSourceSetMethodInfo
+    ResolveMapMethod "dragSourceSetIconGicon" o = Gtk.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMapMethod "dragSourceSetIconName" o = Gtk.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMapMethod "dragSourceSetIconPixbuf" o = Gtk.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMapMethod "dragSourceSetIconStock" o = Gtk.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMapMethod "dragSourceSetTargetList" o = Gtk.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMapMethod "dragSourceUnset" o = Gtk.WidgetDragSourceUnsetMethodInfo
+    ResolveMapMethod "dragUnhighlight" o = Gtk.WidgetDragUnhighlightMethodInfo
+    ResolveMapMethod "draw" o = Gtk.WidgetDrawMethodInfo
+    ResolveMapMethod "ensureStyle" o = Gtk.WidgetEnsureStyleMethodInfo
+    ResolveMapMethod "errorBell" o = Gtk.WidgetErrorBellMethodInfo
+    ResolveMapMethod "event" o = Gtk.WidgetEventMethodInfo
+    ResolveMapMethod "forall" o = Gtk.ContainerForallMethodInfo
+    ResolveMapMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveMapMethod "foreach" o = Gtk.ContainerForeachMethodInfo
+    ResolveMapMethod "forwardDisplayLine" o = Gtk.TextViewForwardDisplayLineMethodInfo
+    ResolveMapMethod "forwardDisplayLineEnd" o = Gtk.TextViewForwardDisplayLineEndMethodInfo
+    ResolveMapMethod "freezeChildNotify" o = Gtk.WidgetFreezeChildNotifyMethodInfo
+    ResolveMapMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveMapMethod "grabAdd" o = Gtk.WidgetGrabAddMethodInfo
+    ResolveMapMethod "grabDefault" o = Gtk.WidgetGrabDefaultMethodInfo
+    ResolveMapMethod "grabFocus" o = Gtk.WidgetGrabFocusMethodInfo
+    ResolveMapMethod "grabRemove" o = Gtk.WidgetGrabRemoveMethodInfo
+    ResolveMapMethod "hasDefault" o = Gtk.WidgetHasDefaultMethodInfo
+    ResolveMapMethod "hasFocus" o = Gtk.WidgetHasFocusMethodInfo
+    ResolveMapMethod "hasGrab" o = Gtk.WidgetHasGrabMethodInfo
+    ResolveMapMethod "hasRcStyle" o = Gtk.WidgetHasRcStyleMethodInfo
+    ResolveMapMethod "hasScreen" o = Gtk.WidgetHasScreenMethodInfo
+    ResolveMapMethod "hasVisibleFocus" o = Gtk.WidgetHasVisibleFocusMethodInfo
+    ResolveMapMethod "hide" o = Gtk.WidgetHideMethodInfo
+    ResolveMapMethod "hideOnDelete" o = Gtk.WidgetHideOnDeleteMethodInfo
+    ResolveMapMethod "imContextFilterKeypress" o = Gtk.TextViewImContextFilterKeypressMethodInfo
+    ResolveMapMethod "inDestruction" o = Gtk.WidgetInDestructionMethodInfo
+    ResolveMapMethod "indentLines" o = ViewIndentLinesMethodInfo
+    ResolveMapMethod "initTemplate" o = Gtk.WidgetInitTemplateMethodInfo
+    ResolveMapMethod "inputShapeCombineRegion" o = Gtk.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMapMethod "insertActionGroup" o = Gtk.WidgetInsertActionGroupMethodInfo
+    ResolveMapMethod "intersect" o = Gtk.WidgetIntersectMethodInfo
+    ResolveMapMethod "isAncestor" o = Gtk.WidgetIsAncestorMethodInfo
+    ResolveMapMethod "isComposited" o = Gtk.WidgetIsCompositedMethodInfo
+    ResolveMapMethod "isDrawable" o = Gtk.WidgetIsDrawableMethodInfo
+    ResolveMapMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveMapMethod "isFocus" o = Gtk.WidgetIsFocusMethodInfo
+    ResolveMapMethod "isSensitive" o = Gtk.WidgetIsSensitiveMethodInfo
+    ResolveMapMethod "isToplevel" o = Gtk.WidgetIsToplevelMethodInfo
+    ResolveMapMethod "isVisible" o = Gtk.WidgetIsVisibleMethodInfo
+    ResolveMapMethod "keynavFailed" o = Gtk.WidgetKeynavFailedMethodInfo
+    ResolveMapMethod "listAccelClosures" o = Gtk.WidgetListAccelClosuresMethodInfo
+    ResolveMapMethod "listActionPrefixes" o = Gtk.WidgetListActionPrefixesMethodInfo
+    ResolveMapMethod "listMnemonicLabels" o = Gtk.WidgetListMnemonicLabelsMethodInfo
+    ResolveMapMethod "map" o = Gtk.WidgetMapMethodInfo
+    ResolveMapMethod "mnemonicActivate" o = Gtk.WidgetMnemonicActivateMethodInfo
+    ResolveMapMethod "modifyBase" o = Gtk.WidgetModifyBaseMethodInfo
+    ResolveMapMethod "modifyBg" o = Gtk.WidgetModifyBgMethodInfo
+    ResolveMapMethod "modifyCursor" o = Gtk.WidgetModifyCursorMethodInfo
+    ResolveMapMethod "modifyFg" o = Gtk.WidgetModifyFgMethodInfo
+    ResolveMapMethod "modifyFont" o = Gtk.WidgetModifyFontMethodInfo
+    ResolveMapMethod "modifyStyle" o = Gtk.WidgetModifyStyleMethodInfo
+    ResolveMapMethod "modifyText" o = Gtk.WidgetModifyTextMethodInfo
+    ResolveMapMethod "moveChild" o = Gtk.TextViewMoveChildMethodInfo
+    ResolveMapMethod "moveMarkOnscreen" o = Gtk.TextViewMoveMarkOnscreenMethodInfo
+    ResolveMapMethod "moveVisually" o = Gtk.TextViewMoveVisuallyMethodInfo
+    ResolveMapMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveMapMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveMapMethod "overrideBackgroundColor" o = Gtk.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMapMethod "overrideColor" o = Gtk.WidgetOverrideColorMethodInfo
+    ResolveMapMethod "overrideCursor" o = Gtk.WidgetOverrideCursorMethodInfo
+    ResolveMapMethod "overrideFont" o = Gtk.WidgetOverrideFontMethodInfo
+    ResolveMapMethod "overrideSymbolicColor" o = Gtk.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMapMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveMapMethod "path" o = Gtk.WidgetPathMethodInfo
+    ResolveMapMethod "placeCursorOnscreen" o = Gtk.TextViewPlaceCursorOnscreenMethodInfo
+    ResolveMapMethod "propagateDraw" o = Gtk.ContainerPropagateDrawMethodInfo
+    ResolveMapMethod "queueComputeExpand" o = Gtk.WidgetQueueComputeExpandMethodInfo
+    ResolveMapMethod "queueDraw" o = Gtk.WidgetQueueDrawMethodInfo
+    ResolveMapMethod "queueDrawArea" o = Gtk.WidgetQueueDrawAreaMethodInfo
+    ResolveMapMethod "queueDrawRegion" o = Gtk.WidgetQueueDrawRegionMethodInfo
+    ResolveMapMethod "queueResize" o = Gtk.WidgetQueueResizeMethodInfo
+    ResolveMapMethod "queueResizeNoRedraw" o = Gtk.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMapMethod "realize" o = Gtk.WidgetRealizeMethodInfo
+    ResolveMapMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveMapMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveMapMethod "regionIntersect" o = Gtk.WidgetRegionIntersectMethodInfo
+    ResolveMapMethod "registerWindow" o = Gtk.WidgetRegisterWindowMethodInfo
+    ResolveMapMethod "remove" o = Gtk.ContainerRemoveMethodInfo
+    ResolveMapMethod "removeAccelerator" o = Gtk.WidgetRemoveAcceleratorMethodInfo
+    ResolveMapMethod "removeMnemonicLabel" o = Gtk.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMapMethod "removeTickCallback" o = Gtk.WidgetRemoveTickCallbackMethodInfo
+    ResolveMapMethod "renderIcon" o = Gtk.WidgetRenderIconMethodInfo
+    ResolveMapMethod "renderIconPixbuf" o = Gtk.WidgetRenderIconPixbufMethodInfo
+    ResolveMapMethod "reparent" o = Gtk.WidgetReparentMethodInfo
+    ResolveMapMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveMapMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveMapMethod "resetImContext" o = Gtk.TextViewResetImContextMethodInfo
+    ResolveMapMethod "resetRcStyles" o = Gtk.WidgetResetRcStylesMethodInfo
+    ResolveMapMethod "resetStyle" o = Gtk.WidgetResetStyleMethodInfo
+    ResolveMapMethod "resizeChildren" o = Gtk.ContainerResizeChildrenMethodInfo
+    ResolveMapMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveMapMethod "scrollMarkOnscreen" o = Gtk.TextViewScrollMarkOnscreenMethodInfo
+    ResolveMapMethod "scrollToIter" o = Gtk.TextViewScrollToIterMethodInfo
+    ResolveMapMethod "scrollToMark" o = Gtk.TextViewScrollToMarkMethodInfo
+    ResolveMapMethod "sendExpose" o = Gtk.WidgetSendExposeMethodInfo
+    ResolveMapMethod "sendFocusChange" o = Gtk.WidgetSendFocusChangeMethodInfo
+    ResolveMapMethod "shapeCombineRegion" o = Gtk.WidgetShapeCombineRegionMethodInfo
+    ResolveMapMethod "show" o = Gtk.WidgetShowMethodInfo
+    ResolveMapMethod "showAll" o = Gtk.WidgetShowAllMethodInfo
+    ResolveMapMethod "showNow" o = Gtk.WidgetShowNowMethodInfo
+    ResolveMapMethod "sizeAllocate" o = Gtk.WidgetSizeAllocateMethodInfo
+    ResolveMapMethod "sizeAllocateWithBaseline" o = Gtk.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMapMethod "sizeRequest" o = Gtk.WidgetSizeRequestMethodInfo
+    ResolveMapMethod "startsDisplayLine" o = Gtk.TextViewStartsDisplayLineMethodInfo
+    ResolveMapMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveMapMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveMapMethod "styleAttach" o = Gtk.WidgetStyleAttachMethodInfo
+    ResolveMapMethod "styleGetProperty" o = Gtk.WidgetStyleGetPropertyMethodInfo
+    ResolveMapMethod "thawChildNotify" o = Gtk.WidgetThawChildNotifyMethodInfo
+    ResolveMapMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveMapMethod "translateCoordinates" o = Gtk.WidgetTranslateCoordinatesMethodInfo
+    ResolveMapMethod "triggerTooltipQuery" o = Gtk.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMapMethod "unindentLines" o = ViewUnindentLinesMethodInfo
+    ResolveMapMethod "unmap" o = Gtk.WidgetUnmapMethodInfo
+    ResolveMapMethod "unparent" o = Gtk.WidgetUnparentMethodInfo
+    ResolveMapMethod "unrealize" o = Gtk.WidgetUnrealizeMethodInfo
+    ResolveMapMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveMapMethod "unregisterWindow" o = Gtk.WidgetUnregisterWindowMethodInfo
+    ResolveMapMethod "unsetFocusChain" o = Gtk.ContainerUnsetFocusChainMethodInfo
+    ResolveMapMethod "unsetStateFlags" o = Gtk.WidgetUnsetStateFlagsMethodInfo
+    ResolveMapMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveMapMethod "windowToBufferCoords" o = Gtk.TextViewWindowToBufferCoordsMethodInfo
+    ResolveMapMethod "getAcceptsTab" o = Gtk.TextViewGetAcceptsTabMethodInfo
+    ResolveMapMethod "getAccessible" o = Gtk.WidgetGetAccessibleMethodInfo
+    ResolveMapMethod "getActionGroup" o = Gtk.WidgetGetActionGroupMethodInfo
+    ResolveMapMethod "getAllocatedBaseline" o = Gtk.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMapMethod "getAllocatedHeight" o = Gtk.WidgetGetAllocatedHeightMethodInfo
+    ResolveMapMethod "getAllocatedWidth" o = Gtk.WidgetGetAllocatedWidthMethodInfo
+    ResolveMapMethod "getAllocation" o = Gtk.WidgetGetAllocationMethodInfo
+    ResolveMapMethod "getAncestor" o = Gtk.WidgetGetAncestorMethodInfo
+    ResolveMapMethod "getAppPaintable" o = Gtk.WidgetGetAppPaintableMethodInfo
+    ResolveMapMethod "getAutoIndent" o = ViewGetAutoIndentMethodInfo
+    ResolveMapMethod "getBackgroundPattern" o = ViewGetBackgroundPatternMethodInfo
+    ResolveMapMethod "getBorder" o = Gtk.ScrollableGetBorderMethodInfo
+    ResolveMapMethod "getBorderWidth" o = Gtk.ContainerGetBorderWidthMethodInfo
+    ResolveMapMethod "getBorderWindowSize" o = Gtk.TextViewGetBorderWindowSizeMethodInfo
+    ResolveMapMethod "getBottomMargin" o = Gtk.TextViewGetBottomMarginMethodInfo
+    ResolveMapMethod "getBuffer" o = Gtk.TextViewGetBufferMethodInfo
+    ResolveMapMethod "getCanDefault" o = Gtk.WidgetGetCanDefaultMethodInfo
+    ResolveMapMethod "getCanFocus" o = Gtk.WidgetGetCanFocusMethodInfo
+    ResolveMapMethod "getChildRequisition" o = Gtk.WidgetGetChildRequisitionMethodInfo
+    ResolveMapMethod "getChildVisible" o = Gtk.WidgetGetChildVisibleMethodInfo
+    ResolveMapMethod "getChildren" o = Gtk.ContainerGetChildrenMethodInfo
+    ResolveMapMethod "getClip" o = Gtk.WidgetGetClipMethodInfo
+    ResolveMapMethod "getClipboard" o = Gtk.WidgetGetClipboardMethodInfo
+    ResolveMapMethod "getCompletion" o = ViewGetCompletionMethodInfo
+    ResolveMapMethod "getCompositeName" o = Gtk.WidgetGetCompositeNameMethodInfo
+    ResolveMapMethod "getCursorLocations" o = Gtk.TextViewGetCursorLocationsMethodInfo
+    ResolveMapMethod "getCursorVisible" o = Gtk.TextViewGetCursorVisibleMethodInfo
+    ResolveMapMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveMapMethod "getDefaultAttributes" o = Gtk.TextViewGetDefaultAttributesMethodInfo
+    ResolveMapMethod "getDeviceEnabled" o = Gtk.WidgetGetDeviceEnabledMethodInfo
+    ResolveMapMethod "getDeviceEvents" o = Gtk.WidgetGetDeviceEventsMethodInfo
+    ResolveMapMethod "getDirection" o = Gtk.WidgetGetDirectionMethodInfo
+    ResolveMapMethod "getDisplay" o = Gtk.WidgetGetDisplayMethodInfo
+    ResolveMapMethod "getDoubleBuffered" o = Gtk.WidgetGetDoubleBufferedMethodInfo
+    ResolveMapMethod "getDrawSpaces" o = ViewGetDrawSpacesMethodInfo
+    ResolveMapMethod "getEditable" o = Gtk.TextViewGetEditableMethodInfo
+    ResolveMapMethod "getEvents" o = Gtk.WidgetGetEventsMethodInfo
+    ResolveMapMethod "getFocusChain" o = Gtk.ContainerGetFocusChainMethodInfo
+    ResolveMapMethod "getFocusChild" o = Gtk.ContainerGetFocusChildMethodInfo
+    ResolveMapMethod "getFocusHadjustment" o = Gtk.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMapMethod "getFocusVadjustment" o = Gtk.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMapMethod "getFontMap" o = Gtk.WidgetGetFontMapMethodInfo
+    ResolveMapMethod "getFontOptions" o = Gtk.WidgetGetFontOptionsMethodInfo
+    ResolveMapMethod "getFrameClock" o = Gtk.WidgetGetFrameClockMethodInfo
+    ResolveMapMethod "getGutter" o = ViewGetGutterMethodInfo
+    ResolveMapMethod "getHalign" o = Gtk.WidgetGetHalignMethodInfo
+    ResolveMapMethod "getHasTooltip" o = Gtk.WidgetGetHasTooltipMethodInfo
+    ResolveMapMethod "getHasWindow" o = Gtk.WidgetGetHasWindowMethodInfo
+    ResolveMapMethod "getHexpand" o = Gtk.WidgetGetHexpandMethodInfo
+    ResolveMapMethod "getHexpandSet" o = Gtk.WidgetGetHexpandSetMethodInfo
+    ResolveMapMethod "getHighlightCurrentLine" o = ViewGetHighlightCurrentLineMethodInfo
+    ResolveMapMethod "getHscrollPolicy" o = Gtk.ScrollableGetHscrollPolicyMethodInfo
+    ResolveMapMethod "getIndent" o = Gtk.TextViewGetIndentMethodInfo
+    ResolveMapMethod "getIndentOnTab" o = ViewGetIndentOnTabMethodInfo
+    ResolveMapMethod "getIndentWidth" o = ViewGetIndentWidthMethodInfo
+    ResolveMapMethod "getInputHints" o = Gtk.TextViewGetInputHintsMethodInfo
+    ResolveMapMethod "getInputPurpose" o = Gtk.TextViewGetInputPurposeMethodInfo
+    ResolveMapMethod "getInsertSpacesInsteadOfTabs" o = ViewGetInsertSpacesInsteadOfTabsMethodInfo
+    ResolveMapMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveMapMethod "getIterAtLocation" o = Gtk.TextViewGetIterAtLocationMethodInfo
+    ResolveMapMethod "getIterAtPosition" o = Gtk.TextViewGetIterAtPositionMethodInfo
+    ResolveMapMethod "getIterLocation" o = Gtk.TextViewGetIterLocationMethodInfo
+    ResolveMapMethod "getJustification" o = Gtk.TextViewGetJustificationMethodInfo
+    ResolveMapMethod "getLeftMargin" o = Gtk.TextViewGetLeftMarginMethodInfo
+    ResolveMapMethod "getLineAtY" o = Gtk.TextViewGetLineAtYMethodInfo
+    ResolveMapMethod "getLineYrange" o = Gtk.TextViewGetLineYrangeMethodInfo
+    ResolveMapMethod "getMapped" o = Gtk.WidgetGetMappedMethodInfo
+    ResolveMapMethod "getMarginBottom" o = Gtk.WidgetGetMarginBottomMethodInfo
+    ResolveMapMethod "getMarginEnd" o = Gtk.WidgetGetMarginEndMethodInfo
+    ResolveMapMethod "getMarginLeft" o = Gtk.WidgetGetMarginLeftMethodInfo
+    ResolveMapMethod "getMarginRight" o = Gtk.WidgetGetMarginRightMethodInfo
+    ResolveMapMethod "getMarginStart" o = Gtk.WidgetGetMarginStartMethodInfo
+    ResolveMapMethod "getMarginTop" o = Gtk.WidgetGetMarginTopMethodInfo
+    ResolveMapMethod "getMarkAttributes" o = ViewGetMarkAttributesMethodInfo
+    ResolveMapMethod "getModifierMask" o = Gtk.WidgetGetModifierMaskMethodInfo
+    ResolveMapMethod "getModifierStyle" o = Gtk.WidgetGetModifierStyleMethodInfo
+    ResolveMapMethod "getMonospace" o = Gtk.TextViewGetMonospaceMethodInfo
+    ResolveMapMethod "getNoShowAll" o = Gtk.WidgetGetNoShowAllMethodInfo
+    ResolveMapMethod "getOpacity" o = Gtk.WidgetGetOpacityMethodInfo
+    ResolveMapMethod "getOverwrite" o = Gtk.TextViewGetOverwriteMethodInfo
+    ResolveMapMethod "getPangoContext" o = Gtk.WidgetGetPangoContextMethodInfo
+    ResolveMapMethod "getParent" o = Gtk.WidgetGetParentMethodInfo
+    ResolveMapMethod "getParentWindow" o = Gtk.WidgetGetParentWindowMethodInfo
+    ResolveMapMethod "getPath" o = Gtk.WidgetGetPathMethodInfo
+    ResolveMapMethod "getPathForChild" o = Gtk.ContainerGetPathForChildMethodInfo
+    ResolveMapMethod "getPixelsAboveLines" o = Gtk.TextViewGetPixelsAboveLinesMethodInfo
+    ResolveMapMethod "getPixelsBelowLines" o = Gtk.TextViewGetPixelsBelowLinesMethodInfo
+    ResolveMapMethod "getPixelsInsideWrap" o = Gtk.TextViewGetPixelsInsideWrapMethodInfo
+    ResolveMapMethod "getPointer" o = Gtk.WidgetGetPointerMethodInfo
+    ResolveMapMethod "getPreferredHeight" o = Gtk.WidgetGetPreferredHeightMethodInfo
+    ResolveMapMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMapMethod "getPreferredHeightForWidth" o = Gtk.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMapMethod "getPreferredSize" o = Gtk.WidgetGetPreferredSizeMethodInfo
+    ResolveMapMethod "getPreferredWidth" o = Gtk.WidgetGetPreferredWidthMethodInfo
+    ResolveMapMethod "getPreferredWidthForHeight" o = Gtk.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMapMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveMapMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveMapMethod "getRealized" o = Gtk.WidgetGetRealizedMethodInfo
+    ResolveMapMethod "getReceivesDefault" o = Gtk.WidgetGetReceivesDefaultMethodInfo
+    ResolveMapMethod "getRequestMode" o = Gtk.WidgetGetRequestModeMethodInfo
+    ResolveMapMethod "getRequisition" o = Gtk.WidgetGetRequisitionMethodInfo
+    ResolveMapMethod "getResizeMode" o = Gtk.ContainerGetResizeModeMethodInfo
+    ResolveMapMethod "getRightMargin" o = Gtk.TextViewGetRightMarginMethodInfo
+    ResolveMapMethod "getRightMarginPosition" o = ViewGetRightMarginPositionMethodInfo
+    ResolveMapMethod "getRootWindow" o = Gtk.WidgetGetRootWindowMethodInfo
+    ResolveMapMethod "getScaleFactor" o = Gtk.WidgetGetScaleFactorMethodInfo
+    ResolveMapMethod "getScreen" o = Gtk.WidgetGetScreenMethodInfo
+    ResolveMapMethod "getSensitive" o = Gtk.WidgetGetSensitiveMethodInfo
+    ResolveMapMethod "getSettings" o = Gtk.WidgetGetSettingsMethodInfo
+    ResolveMapMethod "getShowLineMarks" o = ViewGetShowLineMarksMethodInfo
+    ResolveMapMethod "getShowLineNumbers" o = ViewGetShowLineNumbersMethodInfo
+    ResolveMapMethod "getShowRightMargin" o = ViewGetShowRightMarginMethodInfo
+    ResolveMapMethod "getSizeRequest" o = Gtk.WidgetGetSizeRequestMethodInfo
+    ResolveMapMethod "getSmartBackspace" o = ViewGetSmartBackspaceMethodInfo
+    ResolveMapMethod "getSmartHomeEnd" o = ViewGetSmartHomeEndMethodInfo
+    ResolveMapMethod "getState" o = Gtk.WidgetGetStateMethodInfo
+    ResolveMapMethod "getStateFlags" o = Gtk.WidgetGetStateFlagsMethodInfo
+    ResolveMapMethod "getStyle" o = Gtk.WidgetGetStyleMethodInfo
+    ResolveMapMethod "getStyleContext" o = Gtk.WidgetGetStyleContextMethodInfo
+    ResolveMapMethod "getSupportMultidevice" o = Gtk.WidgetGetSupportMultideviceMethodInfo
+    ResolveMapMethod "getTabWidth" o = ViewGetTabWidthMethodInfo
+    ResolveMapMethod "getTabs" o = Gtk.TextViewGetTabsMethodInfo
+    ResolveMapMethod "getTemplateChild" o = Gtk.WidgetGetTemplateChildMethodInfo
+    ResolveMapMethod "getTooltipMarkup" o = Gtk.WidgetGetTooltipMarkupMethodInfo
+    ResolveMapMethod "getTooltipText" o = Gtk.WidgetGetTooltipTextMethodInfo
+    ResolveMapMethod "getTooltipWindow" o = Gtk.WidgetGetTooltipWindowMethodInfo
+    ResolveMapMethod "getTopMargin" o = Gtk.TextViewGetTopMarginMethodInfo
+    ResolveMapMethod "getToplevel" o = Gtk.WidgetGetToplevelMethodInfo
+    ResolveMapMethod "getValign" o = Gtk.WidgetGetValignMethodInfo
+    ResolveMapMethod "getValignWithBaseline" o = Gtk.WidgetGetValignWithBaselineMethodInfo
+    ResolveMapMethod "getVexpand" o = Gtk.WidgetGetVexpandMethodInfo
+    ResolveMapMethod "getVexpandSet" o = Gtk.WidgetGetVexpandSetMethodInfo
+    ResolveMapMethod "getView" o = MapGetViewMethodInfo
+    ResolveMapMethod "getVisible" o = Gtk.WidgetGetVisibleMethodInfo
+    ResolveMapMethod "getVisibleRect" o = Gtk.TextViewGetVisibleRectMethodInfo
+    ResolveMapMethod "getVisual" o = Gtk.WidgetGetVisualMethodInfo
+    ResolveMapMethod "getVisualColumn" o = ViewGetVisualColumnMethodInfo
+    ResolveMapMethod "getVscrollPolicy" o = Gtk.ScrollableGetVscrollPolicyMethodInfo
+    ResolveMapMethod "getWindowType" o = Gtk.TextViewGetWindowTypeMethodInfo
+    ResolveMapMethod "getWrapMode" o = Gtk.TextViewGetWrapModeMethodInfo
+    ResolveMapMethod "setAccelPath" o = Gtk.WidgetSetAccelPathMethodInfo
+    ResolveMapMethod "setAcceptsTab" o = Gtk.TextViewSetAcceptsTabMethodInfo
+    ResolveMapMethod "setAllocation" o = Gtk.WidgetSetAllocationMethodInfo
+    ResolveMapMethod "setAppPaintable" o = Gtk.WidgetSetAppPaintableMethodInfo
+    ResolveMapMethod "setAutoIndent" o = ViewSetAutoIndentMethodInfo
+    ResolveMapMethod "setBackgroundPattern" o = ViewSetBackgroundPatternMethodInfo
+    ResolveMapMethod "setBorderWidth" o = Gtk.ContainerSetBorderWidthMethodInfo
+    ResolveMapMethod "setBorderWindowSize" o = Gtk.TextViewSetBorderWindowSizeMethodInfo
+    ResolveMapMethod "setBottomMargin" o = Gtk.TextViewSetBottomMarginMethodInfo
+    ResolveMapMethod "setBuffer" o = Gtk.TextViewSetBufferMethodInfo
+    ResolveMapMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveMapMethod "setCanDefault" o = Gtk.WidgetSetCanDefaultMethodInfo
+    ResolveMapMethod "setCanFocus" o = Gtk.WidgetSetCanFocusMethodInfo
+    ResolveMapMethod "setChildVisible" o = Gtk.WidgetSetChildVisibleMethodInfo
+    ResolveMapMethod "setClip" o = Gtk.WidgetSetClipMethodInfo
+    ResolveMapMethod "setCompositeName" o = Gtk.WidgetSetCompositeNameMethodInfo
+    ResolveMapMethod "setCursorVisible" o = Gtk.TextViewSetCursorVisibleMethodInfo
+    ResolveMapMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveMapMethod "setDeviceEnabled" o = Gtk.WidgetSetDeviceEnabledMethodInfo
+    ResolveMapMethod "setDeviceEvents" o = Gtk.WidgetSetDeviceEventsMethodInfo
+    ResolveMapMethod "setDirection" o = Gtk.WidgetSetDirectionMethodInfo
+    ResolveMapMethod "setDoubleBuffered" o = Gtk.WidgetSetDoubleBufferedMethodInfo
+    ResolveMapMethod "setDrawSpaces" o = ViewSetDrawSpacesMethodInfo
+    ResolveMapMethod "setEditable" o = Gtk.TextViewSetEditableMethodInfo
+    ResolveMapMethod "setEvents" o = Gtk.WidgetSetEventsMethodInfo
+    ResolveMapMethod "setFocusChain" o = Gtk.ContainerSetFocusChainMethodInfo
+    ResolveMapMethod "setFocusChild" o = Gtk.ContainerSetFocusChildMethodInfo
+    ResolveMapMethod "setFocusHadjustment" o = Gtk.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMapMethod "setFocusVadjustment" o = Gtk.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMapMethod "setFontMap" o = Gtk.WidgetSetFontMapMethodInfo
+    ResolveMapMethod "setFontOptions" o = Gtk.WidgetSetFontOptionsMethodInfo
+    ResolveMapMethod "setHadjustment" o = Gtk.ScrollableSetHadjustmentMethodInfo
+    ResolveMapMethod "setHalign" o = Gtk.WidgetSetHalignMethodInfo
+    ResolveMapMethod "setHasTooltip" o = Gtk.WidgetSetHasTooltipMethodInfo
+    ResolveMapMethod "setHasWindow" o = Gtk.WidgetSetHasWindowMethodInfo
+    ResolveMapMethod "setHexpand" o = Gtk.WidgetSetHexpandMethodInfo
+    ResolveMapMethod "setHexpandSet" o = Gtk.WidgetSetHexpandSetMethodInfo
+    ResolveMapMethod "setHighlightCurrentLine" o = ViewSetHighlightCurrentLineMethodInfo
+    ResolveMapMethod "setHscrollPolicy" o = Gtk.ScrollableSetHscrollPolicyMethodInfo
+    ResolveMapMethod "setIndent" o = Gtk.TextViewSetIndentMethodInfo
+    ResolveMapMethod "setIndentOnTab" o = ViewSetIndentOnTabMethodInfo
+    ResolveMapMethod "setIndentWidth" o = ViewSetIndentWidthMethodInfo
+    ResolveMapMethod "setInputHints" o = Gtk.TextViewSetInputHintsMethodInfo
+    ResolveMapMethod "setInputPurpose" o = Gtk.TextViewSetInputPurposeMethodInfo
+    ResolveMapMethod "setInsertSpacesInsteadOfTabs" o = ViewSetInsertSpacesInsteadOfTabsMethodInfo
+    ResolveMapMethod "setJustification" o = Gtk.TextViewSetJustificationMethodInfo
+    ResolveMapMethod "setLeftMargin" o = Gtk.TextViewSetLeftMarginMethodInfo
+    ResolveMapMethod "setMapped" o = Gtk.WidgetSetMappedMethodInfo
+    ResolveMapMethod "setMarginBottom" o = Gtk.WidgetSetMarginBottomMethodInfo
+    ResolveMapMethod "setMarginEnd" o = Gtk.WidgetSetMarginEndMethodInfo
+    ResolveMapMethod "setMarginLeft" o = Gtk.WidgetSetMarginLeftMethodInfo
+    ResolveMapMethod "setMarginRight" o = Gtk.WidgetSetMarginRightMethodInfo
+    ResolveMapMethod "setMarginStart" o = Gtk.WidgetSetMarginStartMethodInfo
+    ResolveMapMethod "setMarginTop" o = Gtk.WidgetSetMarginTopMethodInfo
+    ResolveMapMethod "setMarkAttributes" o = ViewSetMarkAttributesMethodInfo
+    ResolveMapMethod "setMonospace" o = Gtk.TextViewSetMonospaceMethodInfo
+    ResolveMapMethod "setNoShowAll" o = Gtk.WidgetSetNoShowAllMethodInfo
+    ResolveMapMethod "setOpacity" o = Gtk.WidgetSetOpacityMethodInfo
+    ResolveMapMethod "setOverwrite" o = Gtk.TextViewSetOverwriteMethodInfo
+    ResolveMapMethod "setParent" o = Gtk.WidgetSetParentMethodInfo
+    ResolveMapMethod "setParentWindow" o = Gtk.WidgetSetParentWindowMethodInfo
+    ResolveMapMethod "setPixelsAboveLines" o = Gtk.TextViewSetPixelsAboveLinesMethodInfo
+    ResolveMapMethod "setPixelsBelowLines" o = Gtk.TextViewSetPixelsBelowLinesMethodInfo
+    ResolveMapMethod "setPixelsInsideWrap" o = Gtk.TextViewSetPixelsInsideWrapMethodInfo
+    ResolveMapMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveMapMethod "setRealized" o = Gtk.WidgetSetRealizedMethodInfo
+    ResolveMapMethod "setReallocateRedraws" o = Gtk.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMapMethod "setReceivesDefault" o = Gtk.WidgetSetReceivesDefaultMethodInfo
+    ResolveMapMethod "setRedrawOnAllocate" o = Gtk.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMapMethod "setResizeMode" o = Gtk.ContainerSetResizeModeMethodInfo
+    ResolveMapMethod "setRightMargin" o = Gtk.TextViewSetRightMarginMethodInfo
+    ResolveMapMethod "setRightMarginPosition" o = ViewSetRightMarginPositionMethodInfo
+    ResolveMapMethod "setSensitive" o = Gtk.WidgetSetSensitiveMethodInfo
+    ResolveMapMethod "setShowLineMarks" o = ViewSetShowLineMarksMethodInfo
+    ResolveMapMethod "setShowLineNumbers" o = ViewSetShowLineNumbersMethodInfo
+    ResolveMapMethod "setShowRightMargin" o = ViewSetShowRightMarginMethodInfo
+    ResolveMapMethod "setSizeRequest" o = Gtk.WidgetSetSizeRequestMethodInfo
+    ResolveMapMethod "setSmartBackspace" o = ViewSetSmartBackspaceMethodInfo
+    ResolveMapMethod "setSmartHomeEnd" o = ViewSetSmartHomeEndMethodInfo
+    ResolveMapMethod "setState" o = Gtk.WidgetSetStateMethodInfo
+    ResolveMapMethod "setStateFlags" o = Gtk.WidgetSetStateFlagsMethodInfo
+    ResolveMapMethod "setStyle" o = Gtk.WidgetSetStyleMethodInfo
+    ResolveMapMethod "setSupportMultidevice" o = Gtk.WidgetSetSupportMultideviceMethodInfo
+    ResolveMapMethod "setTabWidth" o = ViewSetTabWidthMethodInfo
+    ResolveMapMethod "setTabs" o = Gtk.TextViewSetTabsMethodInfo
+    ResolveMapMethod "setTooltipMarkup" o = Gtk.WidgetSetTooltipMarkupMethodInfo
+    ResolveMapMethod "setTooltipText" o = Gtk.WidgetSetTooltipTextMethodInfo
+    ResolveMapMethod "setTooltipWindow" o = Gtk.WidgetSetTooltipWindowMethodInfo
+    ResolveMapMethod "setTopMargin" o = Gtk.TextViewSetTopMarginMethodInfo
+    ResolveMapMethod "setVadjustment" o = Gtk.ScrollableSetVadjustmentMethodInfo
+    ResolveMapMethod "setValign" o = Gtk.WidgetSetValignMethodInfo
+    ResolveMapMethod "setVexpand" o = Gtk.WidgetSetVexpandMethodInfo
+    ResolveMapMethod "setVexpandSet" o = Gtk.WidgetSetVexpandSetMethodInfo
+    ResolveMapMethod "setView" o = MapSetViewMethodInfo
+    ResolveMapMethod "setVisible" o = Gtk.WidgetSetVisibleMethodInfo
+    ResolveMapMethod "setVisual" o = Gtk.WidgetSetVisualMethodInfo
+    ResolveMapMethod "setVscrollPolicy" o = Gtk.ScrollableSetVscrollPolicyMethodInfo
+    ResolveMapMethod "setWindow" o = Gtk.WidgetSetWindowMethodInfo
+    ResolveMapMethod "setWrapMode" o = Gtk.TextViewSetWrapModeMethodInfo
+    ResolveMapMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMapMethod t Map, MethodInfo info Map p) => IsLabelProxy t (Map -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMapMethod t Map, MethodInfo info Map p) => IsLabel t (Map -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "font-desc"
+   -- Type: TInterface "Pango" "FontDescription"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+getMapFontDesc :: (MonadIO m, MapK o) => o -> m (Maybe Pango.FontDescription)
+getMapFontDesc obj = liftIO $ getObjectPropertyBoxed obj "font-desc" Pango.FontDescription
+
+setMapFontDesc :: (MonadIO m, MapK o) => o -> Pango.FontDescription -> m ()
+setMapFontDesc obj val = liftIO $ setObjectPropertyBoxed obj "font-desc" (Just val)
+
+constructMapFontDesc :: Pango.FontDescription -> IO ([Char], GValue)
+constructMapFontDesc val = constructObjectPropertyBoxed "font-desc" (Just val)
+
+clearMapFontDesc :: (MonadIO m, MapK o) => o -> m ()
+clearMapFontDesc obj = liftIO $ setObjectPropertyBoxed obj "font-desc" (Nothing :: Maybe Pango.FontDescription)
+
+data MapFontDescPropertyInfo
+instance AttrInfo MapFontDescPropertyInfo where
+    type AttrAllowedOps MapFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MapFontDescPropertyInfo = (~) Pango.FontDescription
+    type AttrBaseTypeConstraint MapFontDescPropertyInfo = MapK
+    type AttrGetType MapFontDescPropertyInfo = (Maybe Pango.FontDescription)
+    type AttrLabel MapFontDescPropertyInfo = "font-desc"
+    attrGet _ = getMapFontDesc
+    attrSet _ = setMapFontDesc
+    attrConstruct _ = constructMapFontDesc
+    attrClear _ = clearMapFontDesc
+
+-- VVV Prop "view"
+   -- Type: TInterface "GtkSource" "View"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+getMapView :: (MonadIO m, MapK o) => o -> m (Maybe View)
+getMapView obj = liftIO $ getObjectPropertyObject obj "view" View
+
+setMapView :: (MonadIO m, MapK o, ViewK a) => o -> a -> m ()
+setMapView obj val = liftIO $ setObjectPropertyObject obj "view" (Just val)
+
+constructMapView :: (ViewK a) => a -> IO ([Char], GValue)
+constructMapView val = constructObjectPropertyObject "view" (Just val)
+
+data MapViewPropertyInfo
+instance AttrInfo MapViewPropertyInfo where
+    type AttrAllowedOps MapViewPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MapViewPropertyInfo = ViewK
+    type AttrBaseTypeConstraint MapViewPropertyInfo = MapK
+    type AttrGetType MapViewPropertyInfo = (Maybe View)
+    type AttrLabel MapViewPropertyInfo = "view"
+    attrGet _ = getMapView
+    attrSet _ = setMapView
+    attrConstruct _ = constructMapView
+    attrClear _ = undefined
+
+type instance AttributeList Map = MapAttributeList
+type MapAttributeList = ('[ '("acceptsTab", Gtk.TextViewAcceptsTabPropertyInfo), '("appPaintable", Gtk.WidgetAppPaintablePropertyInfo), '("autoIndent", ViewAutoIndentPropertyInfo), '("backgroundPattern", ViewBackgroundPatternPropertyInfo), '("borderWidth", Gtk.ContainerBorderWidthPropertyInfo), '("bottomMargin", Gtk.TextViewBottomMarginPropertyInfo), '("buffer", Gtk.TextViewBufferPropertyInfo), '("canDefault", Gtk.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.WidgetCanFocusPropertyInfo), '("child", Gtk.ContainerChildPropertyInfo), '("completion", ViewCompletionPropertyInfo), '("compositeChild", Gtk.WidgetCompositeChildPropertyInfo), '("cursorVisible", Gtk.TextViewCursorVisiblePropertyInfo), '("doubleBuffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("drawSpaces", ViewDrawSpacesPropertyInfo), '("editable", Gtk.TextViewEditablePropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("fontDesc", MapFontDescPropertyInfo), '("hadjustment", Gtk.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("hasDefault", Gtk.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.WidgetHexpandSetPropertyInfo), '("highlightCurrentLine", ViewHighlightCurrentLinePropertyInfo), '("hscrollPolicy", Gtk.ScrollableHscrollPolicyPropertyInfo), '("imModule", Gtk.TextViewImModulePropertyInfo), '("indent", Gtk.TextViewIndentPropertyInfo), '("indentOnTab", ViewIndentOnTabPropertyInfo), '("indentWidth", ViewIndentWidthPropertyInfo), '("inputHints", Gtk.TextViewInputHintsPropertyInfo), '("inputPurpose", Gtk.TextViewInputPurposePropertyInfo), '("insertSpacesInsteadOfTabs", ViewInsertSpacesInsteadOfTabsPropertyInfo), '("isFocus", Gtk.WidgetIsFocusPropertyInfo), '("justification", Gtk.TextViewJustificationPropertyInfo), '("leftMargin", Gtk.TextViewLeftMarginPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("marginBottom", Gtk.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.WidgetMarginTopPropertyInfo), '("monospace", Gtk.TextViewMonospacePropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("noShowAll", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("overwrite", Gtk.TextViewOverwritePropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("pixelsAboveLines", Gtk.TextViewPixelsAboveLinesPropertyInfo), '("pixelsBelowLines", Gtk.TextViewPixelsBelowLinesPropertyInfo), '("pixelsInsideWrap", Gtk.TextViewPixelsInsideWrapPropertyInfo), '("populateAll", Gtk.TextViewPopulateAllPropertyInfo), '("receivesDefault", Gtk.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.ContainerResizeModePropertyInfo), '("rightMargin", Gtk.TextViewRightMarginPropertyInfo), '("rightMarginPosition", ViewRightMarginPositionPropertyInfo), '("scaleFactor", Gtk.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("showLineMarks", ViewShowLineMarksPropertyInfo), '("showLineNumbers", ViewShowLineNumbersPropertyInfo), '("showRightMargin", ViewShowRightMarginPropertyInfo), '("smartBackspace", ViewSmartBackspacePropertyInfo), '("smartHomeEnd", ViewSmartHomeEndPropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("tabWidth", ViewTabWidthPropertyInfo), '("tabs", Gtk.TextViewTabsPropertyInfo), '("tooltipMarkup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.WidgetTooltipTextPropertyInfo), '("topMargin", Gtk.TextViewTopMarginPropertyInfo), '("vadjustment", Gtk.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.WidgetVexpandSetPropertyInfo), '("view", MapViewPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo), '("wrapMode", Gtk.TextViewWrapModePropertyInfo)] :: [(Symbol, *)])
+
+mapFontDesc :: AttrLabelProxy "fontDesc"
+mapFontDesc = AttrLabelProxy
+
+mapView :: AttrLabelProxy "view"
+mapView = AttrLabelProxy
+
+type instance SignalList Map = MapSignalList
+type MapSignalList = ('[ '("accelClosuresChanged", Gtk.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.ContainerAddSignalInfo), '("backspace", Gtk.TextViewBackspaceSignalInfo), '("buttonPressEvent", Gtk.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.WidgetCanActivateAccelSignalInfo), '("changeCase", ViewChangeCaseSignalInfo), '("changeNumber", ViewChangeNumberSignalInfo), '("checkResize", Gtk.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.WidgetConfigureEventSignalInfo), '("copyClipboard", Gtk.TextViewCopyClipboardSignalInfo), '("cutClipboard", Gtk.TextViewCutClipboardSignalInfo), '("damageEvent", Gtk.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.WidgetDeleteEventSignalInfo), '("deleteFromCursor", Gtk.TextViewDeleteFromCursorSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroyEvent", Gtk.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.WidgetDragDropSignalInfo), '("dragEnd", Gtk.WidgetDragEndSignalInfo), '("dragFailed", Gtk.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("eventAfter", Gtk.WidgetEventAfterSignalInfo), '("extendSelection", Gtk.TextViewExtendSelectionSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focusInEvent", Gtk.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.WidgetHierarchyChangedSignalInfo), '("insertAtCursor", Gtk.TextViewInsertAtCursorSignalInfo), '("joinLines", ViewJoinLinesSignalInfo), '("keyPressEvent", Gtk.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.WidgetLeaveNotifyEventSignalInfo), '("lineMarkActivated", ViewLineMarkActivatedSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("mapEvent", Gtk.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.WidgetMotionNotifyEventSignalInfo), '("moveCursor", Gtk.TextViewMoveCursorSignalInfo), '("moveFocus", Gtk.WidgetMoveFocusSignalInfo), '("moveLines", ViewMoveLinesSignalInfo), '("moveToMatchingBracket", ViewMoveToMatchingBracketSignalInfo), '("moveViewport", Gtk.TextViewMoveViewportSignalInfo), '("moveWords", ViewMoveWordsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parentSet", Gtk.WidgetParentSetSignalInfo), '("pasteClipboard", Gtk.TextViewPasteClipboardSignalInfo), '("populatePopup", Gtk.TextViewPopulatePopupSignalInfo), '("popupMenu", Gtk.WidgetPopupMenuSignalInfo), '("preeditChanged", Gtk.TextViewPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.WidgetQueryTooltipSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("redo", ViewRedoSignalInfo), '("remove", Gtk.ContainerRemoveSignalInfo), '("screenChanged", Gtk.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.WidgetScrollEventSignalInfo), '("selectAll", Gtk.TextViewSelectAllSignalInfo), '("selectionClearEvent", Gtk.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.WidgetSelectionRequestEventSignalInfo), '("setAnchor", Gtk.TextViewSetAnchorSignalInfo), '("setFocusChild", Gtk.ContainerSetFocusChildSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("showCompletion", ViewShowCompletionSignalInfo), '("showHelp", Gtk.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.WidgetSizeAllocateSignalInfo), '("smartHomeEnd", ViewSmartHomeEndSignalInfo), '("stateChanged", Gtk.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.WidgetStyleUpdatedSignalInfo), '("toggleCursorVisible", Gtk.TextViewToggleCursorVisibleSignalInfo), '("toggleOverwrite", Gtk.TextViewToggleOverwriteSignalInfo), '("touchEvent", Gtk.WidgetTouchEventSignalInfo), '("undo", ViewUndoSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+-- method Map::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Map")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_map_new" gtk_source_map_new :: 
+    IO (Ptr Map)
+
+
+mapNew ::
+    (MonadIO m) =>
+    m Map                                   -- result
+mapNew  = liftIO $ do
+    result <- gtk_source_map_new
+    checkUnexpectedReturnNULL "gtk_source_map_new" result
+    result' <- (newObject Map) result
+    return result'
+
+-- method Map::get_view
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Map", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "View")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_map_get_view" gtk_source_map_get_view :: 
+    Ptr Map ->                              -- _obj : TInterface "GtkSource" "Map"
+    IO (Ptr View)
+
+
+mapGetView ::
+    (MonadIO m, MapK a) =>
+    a                                       -- _obj
+    -> m (Maybe View)                       -- result
+mapGetView _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_map_get_view _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject View) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data MapGetViewMethodInfo
+instance (signature ~ (m (Maybe View)), MonadIO m, MapK a) => MethodInfo MapGetViewMethodInfo a signature where
+    overloadedMethod _ = mapGetView
+
+-- method Map::set_view
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Map", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "view", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_map_set_view" gtk_source_map_set_view :: 
+    Ptr Map ->                              -- _obj : TInterface "GtkSource" "Map"
+    Ptr View ->                             -- view : TInterface "GtkSource" "View"
+    IO ()
+
+
+mapSetView ::
+    (MonadIO m, MapK a, ViewK b) =>
+    a                                       -- _obj
+    -> b                                    -- view
+    -> m ()                                 -- result
+mapSetView _obj view = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let view' = unsafeManagedPtrCastPtr view
+    gtk_source_map_set_view _obj' view'
+    touchManagedPtr _obj
+    touchManagedPtr view
+    return ()
+
+data MapSetViewMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, MapK a, ViewK b) => MethodInfo MapSetViewMethodInfo a signature where
+    overloadedMethod _ = mapSetView
+
+
diff --git a/GI/GtkSource/Objects/Map.hs-boot b/GI/GtkSource/Objects/Map.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Map.hs-boot
@@ -0,0 +1,17 @@
+module GI.GtkSource.Objects.Map where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Map = Map (ForeignPtr Map)
+instance GObject Map where
+class GObject o => MapK o
+instance (GObject o, IsDescendantOf Map o) => MapK o
+data MapFontDescPropertyInfo
+data MapViewPropertyInfo
+data MapGetViewMethodInfo
+data MapSetViewMethodInfo
diff --git a/GI/GtkSource/Objects/Mark.hs b/GI/GtkSource/Objects/Mark.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Mark.hs
@@ -0,0 +1,290 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Mark
+    ( 
+
+-- * Exported types
+    Mark(..)                                ,
+    MarkK                                   ,
+    toMark                                  ,
+    noMark                                  ,
+
+
+ -- * Methods
+-- ** markGetCategory
+    MarkGetCategoryMethodInfo               ,
+    markGetCategory                         ,
+
+
+-- ** markNew
+    markNew                                 ,
+
+
+-- ** markNext
+    MarkNextMethodInfo                      ,
+    markNext                                ,
+
+
+-- ** markPrev
+    MarkPrevMethodInfo                      ,
+    markPrev                                ,
+
+
+
+
+ -- * Properties
+-- ** Category
+    MarkCategoryPropertyInfo                ,
+    constructMarkCategory                   ,
+    getMarkCategory                         ,
+    markCategory                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype Mark = Mark (ForeignPtr Mark)
+foreign import ccall "gtk_source_mark_get_type"
+    c_gtk_source_mark_get_type :: IO GType
+
+type instance ParentTypes Mark = MarkParentTypes
+type MarkParentTypes = '[Gtk.TextMark, GObject.Object]
+
+instance GObject Mark where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_mark_get_type
+    
+
+class GObject o => MarkK o
+instance (GObject o, IsDescendantOf Mark o) => MarkK o
+
+toMark :: MarkK o => o -> IO Mark
+toMark = unsafeCastTo Mark
+
+noMark :: Maybe Mark
+noMark = Nothing
+
+type family ResolveMarkMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMarkMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveMarkMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveMarkMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveMarkMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveMarkMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveMarkMethod "next" o = MarkNextMethodInfo
+    ResolveMarkMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveMarkMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveMarkMethod "prev" o = MarkPrevMethodInfo
+    ResolveMarkMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveMarkMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveMarkMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveMarkMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveMarkMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveMarkMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveMarkMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveMarkMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveMarkMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveMarkMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveMarkMethod "getBuffer" o = Gtk.TextMarkGetBufferMethodInfo
+    ResolveMarkMethod "getCategory" o = MarkGetCategoryMethodInfo
+    ResolveMarkMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveMarkMethod "getDeleted" o = Gtk.TextMarkGetDeletedMethodInfo
+    ResolveMarkMethod "getLeftGravity" o = Gtk.TextMarkGetLeftGravityMethodInfo
+    ResolveMarkMethod "getName" o = Gtk.TextMarkGetNameMethodInfo
+    ResolveMarkMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveMarkMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveMarkMethod "getVisible" o = Gtk.TextMarkGetVisibleMethodInfo
+    ResolveMarkMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveMarkMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveMarkMethod "setVisible" o = Gtk.TextMarkSetVisibleMethodInfo
+    ResolveMarkMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMarkMethod t Mark, MethodInfo info Mark p) => IsLabelProxy t (Mark -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMarkMethod t Mark, MethodInfo info Mark p) => IsLabel t (Mark -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "category"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getMarkCategory :: (MonadIO m, MarkK o) => o -> m T.Text
+getMarkCategory obj = liftIO $ checkUnexpectedNothing "getMarkCategory" $ getObjectPropertyString obj "category"
+
+constructMarkCategory :: T.Text -> IO ([Char], GValue)
+constructMarkCategory val = constructObjectPropertyString "category" (Just val)
+
+data MarkCategoryPropertyInfo
+instance AttrInfo MarkCategoryPropertyInfo where
+    type AttrAllowedOps MarkCategoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MarkCategoryPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MarkCategoryPropertyInfo = MarkK
+    type AttrGetType MarkCategoryPropertyInfo = T.Text
+    type AttrLabel MarkCategoryPropertyInfo = "category"
+    attrGet _ = getMarkCategory
+    attrSet _ = undefined
+    attrConstruct _ = constructMarkCategory
+    attrClear _ = undefined
+
+type instance AttributeList Mark = MarkAttributeList
+type MarkAttributeList = ('[ '("category", MarkCategoryPropertyInfo), '("leftGravity", Gtk.TextMarkLeftGravityPropertyInfo), '("name", Gtk.TextMarkNamePropertyInfo)] :: [(Symbol, *)])
+
+markCategory :: AttrLabelProxy "category"
+markCategory = AttrLabelProxy
+
+type instance SignalList Mark = MarkSignalList
+type MarkSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method Mark::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Mark")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_new" gtk_source_mark_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- category : TBasicType TUTF8
+    IO (Ptr Mark)
+
+
+markNew ::
+    (MonadIO m) =>
+    T.Text                                  -- name
+    -> T.Text                               -- category
+    -> m Mark                               -- result
+markNew name category = liftIO $ do
+    name' <- textToCString name
+    category' <- textToCString category
+    result <- gtk_source_mark_new name' category'
+    checkUnexpectedReturnNULL "gtk_source_mark_new" result
+    result' <- (wrapObject Mark) result
+    freeMem name'
+    freeMem category'
+    return result'
+
+-- method Mark::get_category
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Mark", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_get_category" gtk_source_mark_get_category :: 
+    Ptr Mark ->                             -- _obj : TInterface "GtkSource" "Mark"
+    IO CString
+
+
+markGetCategory ::
+    (MonadIO m, MarkK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+markGetCategory _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_mark_get_category _obj'
+    checkUnexpectedReturnNULL "gtk_source_mark_get_category" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data MarkGetCategoryMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, MarkK a) => MethodInfo MarkGetCategoryMethodInfo a signature where
+    overloadedMethod _ = markGetCategory
+
+-- method Mark::next
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Mark", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Mark")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_next" gtk_source_mark_next :: 
+    Ptr Mark ->                             -- _obj : TInterface "GtkSource" "Mark"
+    CString ->                              -- category : TBasicType TUTF8
+    IO (Ptr Mark)
+
+
+markNext ::
+    (MonadIO m, MarkK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- category
+    -> m (Maybe Mark)                       -- result
+markNext _obj category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCategory <- case category of
+        Nothing -> return nullPtr
+        Just jCategory -> do
+            jCategory' <- textToCString jCategory
+            return jCategory'
+    result <- gtk_source_mark_next _obj' maybeCategory
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Mark) result'
+        return result''
+    touchManagedPtr _obj
+    freeMem maybeCategory
+    return maybeResult
+
+data MarkNextMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m (Maybe Mark)), MonadIO m, MarkK a) => MethodInfo MarkNextMethodInfo a signature where
+    overloadedMethod _ = markNext
+
+-- method Mark::prev
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Mark", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Mark")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_prev" gtk_source_mark_prev :: 
+    Ptr Mark ->                             -- _obj : TInterface "GtkSource" "Mark"
+    CString ->                              -- category : TBasicType TUTF8
+    IO (Ptr Mark)
+
+
+markPrev ::
+    (MonadIO m, MarkK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- category
+    -> m (Maybe Mark)                       -- result
+markPrev _obj category = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    category' <- textToCString category
+    result <- gtk_source_mark_prev _obj' category'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Mark) result'
+        return result''
+    touchManagedPtr _obj
+    freeMem category'
+    return maybeResult
+
+data MarkPrevMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Mark)), MonadIO m, MarkK a) => MethodInfo MarkPrevMethodInfo a signature where
+    overloadedMethod _ = markPrev
+
+
diff --git a/GI/GtkSource/Objects/Mark.hs-boot b/GI/GtkSource/Objects/Mark.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Mark.hs-boot
@@ -0,0 +1,17 @@
+module GI.GtkSource.Objects.Mark where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Mark = Mark (ForeignPtr Mark)
+instance GObject Mark where
+class GObject o => MarkK o
+instance (GObject o, IsDescendantOf Mark o) => MarkK o
+data MarkCategoryPropertyInfo
+data MarkGetCategoryMethodInfo
+data MarkNextMethodInfo
+data MarkPrevMethodInfo
diff --git a/GI/GtkSource/Objects/MarkAttributes.hs b/GI/GtkSource/Objects/MarkAttributes.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/MarkAttributes.hs
@@ -0,0 +1,920 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.MarkAttributes
+    ( 
+
+-- * Exported types
+    MarkAttributes(..)                      ,
+    MarkAttributesK                         ,
+    toMarkAttributes                        ,
+    noMarkAttributes                        ,
+
+
+ -- * Methods
+-- ** markAttributesGetBackground
+    MarkAttributesGetBackgroundMethodInfo   ,
+    markAttributesGetBackground             ,
+
+
+-- ** markAttributesGetGicon
+    MarkAttributesGetGiconMethodInfo        ,
+    markAttributesGetGicon                  ,
+
+
+-- ** markAttributesGetIconName
+    MarkAttributesGetIconNameMethodInfo     ,
+    markAttributesGetIconName               ,
+
+
+-- ** markAttributesGetPixbuf
+    MarkAttributesGetPixbufMethodInfo       ,
+    markAttributesGetPixbuf                 ,
+
+
+-- ** markAttributesGetStockId
+    MarkAttributesGetStockIdMethodInfo      ,
+    markAttributesGetStockId                ,
+
+
+-- ** markAttributesGetTooltipMarkup
+    MarkAttributesGetTooltipMarkupMethodInfo,
+    markAttributesGetTooltipMarkup          ,
+
+
+-- ** markAttributesGetTooltipText
+    MarkAttributesGetTooltipTextMethodInfo  ,
+    markAttributesGetTooltipText            ,
+
+
+-- ** markAttributesNew
+    markAttributesNew                       ,
+
+
+-- ** markAttributesRenderIcon
+    MarkAttributesRenderIconMethodInfo      ,
+    markAttributesRenderIcon                ,
+
+
+-- ** markAttributesSetBackground
+    MarkAttributesSetBackgroundMethodInfo   ,
+    markAttributesSetBackground             ,
+
+
+-- ** markAttributesSetGicon
+    MarkAttributesSetGiconMethodInfo        ,
+    markAttributesSetGicon                  ,
+
+
+-- ** markAttributesSetIconName
+    MarkAttributesSetIconNameMethodInfo     ,
+    markAttributesSetIconName               ,
+
+
+-- ** markAttributesSetPixbuf
+    MarkAttributesSetPixbufMethodInfo       ,
+    markAttributesSetPixbuf                 ,
+
+
+-- ** markAttributesSetStockId
+    MarkAttributesSetStockIdMethodInfo      ,
+    markAttributesSetStockId                ,
+
+
+
+
+ -- * Properties
+-- ** Background
+    MarkAttributesBackgroundPropertyInfo    ,
+    constructMarkAttributesBackground       ,
+    getMarkAttributesBackground             ,
+    markAttributesBackground                ,
+    setMarkAttributesBackground             ,
+
+
+-- ** Gicon
+    MarkAttributesGiconPropertyInfo         ,
+    constructMarkAttributesGicon            ,
+    getMarkAttributesGicon                  ,
+    markAttributesGicon                     ,
+    setMarkAttributesGicon                  ,
+
+
+-- ** IconName
+    MarkAttributesIconNamePropertyInfo      ,
+    constructMarkAttributesIconName         ,
+    getMarkAttributesIconName               ,
+    markAttributesIconName                  ,
+    setMarkAttributesIconName               ,
+
+
+-- ** Pixbuf
+    MarkAttributesPixbufPropertyInfo        ,
+    constructMarkAttributesPixbuf           ,
+    getMarkAttributesPixbuf                 ,
+    markAttributesPixbuf                    ,
+    setMarkAttributesPixbuf                 ,
+
+
+-- ** StockId
+    MarkAttributesStockIdPropertyInfo       ,
+    constructMarkAttributesStockId          ,
+    getMarkAttributesStockId                ,
+    markAttributesStockId                   ,
+    setMarkAttributesStockId                ,
+
+
+
+
+ -- * Signals
+-- ** QueryTooltipMarkup
+    MarkAttributesQueryTooltipMarkupCallback,
+    MarkAttributesQueryTooltipMarkupCallbackC,
+    MarkAttributesQueryTooltipMarkupSignalInfo,
+    afterMarkAttributesQueryTooltipMarkup   ,
+    markAttributesQueryTooltipMarkupCallbackWrapper,
+    markAttributesQueryTooltipMarkupClosure ,
+    mkMarkAttributesQueryTooltipMarkupCallback,
+    noMarkAttributesQueryTooltipMarkupCallback,
+    onMarkAttributesQueryTooltipMarkup      ,
+
+
+-- ** QueryTooltipText
+    MarkAttributesQueryTooltipTextCallback  ,
+    MarkAttributesQueryTooltipTextCallbackC ,
+    MarkAttributesQueryTooltipTextSignalInfo,
+    afterMarkAttributesQueryTooltipText     ,
+    markAttributesQueryTooltipTextCallbackWrapper,
+    markAttributesQueryTooltipTextClosure   ,
+    mkMarkAttributesQueryTooltipTextCallback,
+    noMarkAttributesQueryTooltipTextCallback,
+    onMarkAttributesQueryTooltipText        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gdk as Gdk
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.Gio as Gio
+import qualified GI.Gtk as Gtk
+
+newtype MarkAttributes = MarkAttributes (ForeignPtr MarkAttributes)
+foreign import ccall "gtk_source_mark_attributes_get_type"
+    c_gtk_source_mark_attributes_get_type :: IO GType
+
+type instance ParentTypes MarkAttributes = MarkAttributesParentTypes
+type MarkAttributesParentTypes = '[GObject.Object]
+
+instance GObject MarkAttributes where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_mark_attributes_get_type
+    
+
+class GObject o => MarkAttributesK o
+instance (GObject o, IsDescendantOf MarkAttributes o) => MarkAttributesK o
+
+toMarkAttributes :: MarkAttributesK o => o -> IO MarkAttributes
+toMarkAttributes = unsafeCastTo MarkAttributes
+
+noMarkAttributes :: Maybe MarkAttributes
+noMarkAttributes = Nothing
+
+type family ResolveMarkAttributesMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMarkAttributesMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveMarkAttributesMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveMarkAttributesMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveMarkAttributesMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveMarkAttributesMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveMarkAttributesMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveMarkAttributesMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveMarkAttributesMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveMarkAttributesMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveMarkAttributesMethod "renderIcon" o = MarkAttributesRenderIconMethodInfo
+    ResolveMarkAttributesMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveMarkAttributesMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveMarkAttributesMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveMarkAttributesMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveMarkAttributesMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveMarkAttributesMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveMarkAttributesMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveMarkAttributesMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveMarkAttributesMethod "getBackground" o = MarkAttributesGetBackgroundMethodInfo
+    ResolveMarkAttributesMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveMarkAttributesMethod "getGicon" o = MarkAttributesGetGiconMethodInfo
+    ResolveMarkAttributesMethod "getIconName" o = MarkAttributesGetIconNameMethodInfo
+    ResolveMarkAttributesMethod "getPixbuf" o = MarkAttributesGetPixbufMethodInfo
+    ResolveMarkAttributesMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveMarkAttributesMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveMarkAttributesMethod "getStockId" o = MarkAttributesGetStockIdMethodInfo
+    ResolveMarkAttributesMethod "getTooltipMarkup" o = MarkAttributesGetTooltipMarkupMethodInfo
+    ResolveMarkAttributesMethod "getTooltipText" o = MarkAttributesGetTooltipTextMethodInfo
+    ResolveMarkAttributesMethod "setBackground" o = MarkAttributesSetBackgroundMethodInfo
+    ResolveMarkAttributesMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveMarkAttributesMethod "setGicon" o = MarkAttributesSetGiconMethodInfo
+    ResolveMarkAttributesMethod "setIconName" o = MarkAttributesSetIconNameMethodInfo
+    ResolveMarkAttributesMethod "setPixbuf" o = MarkAttributesSetPixbufMethodInfo
+    ResolveMarkAttributesMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveMarkAttributesMethod "setStockId" o = MarkAttributesSetStockIdMethodInfo
+    ResolveMarkAttributesMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMarkAttributesMethod t MarkAttributes, MethodInfo info MarkAttributes p) => IsLabelProxy t (MarkAttributes -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMarkAttributesMethod t MarkAttributes, MethodInfo info MarkAttributes p) => IsLabel t (MarkAttributes -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal MarkAttributes::query-tooltip-markup
+type MarkAttributesQueryTooltipMarkupCallback =
+    Mark ->
+    IO T.Text
+
+noMarkAttributesQueryTooltipMarkupCallback :: Maybe MarkAttributesQueryTooltipMarkupCallback
+noMarkAttributesQueryTooltipMarkupCallback = Nothing
+
+type MarkAttributesQueryTooltipMarkupCallbackC =
+    Ptr () ->                               -- object
+    Ptr Mark ->
+    Ptr () ->                               -- user_data
+    IO CString
+
+foreign import ccall "wrapper"
+    mkMarkAttributesQueryTooltipMarkupCallback :: MarkAttributesQueryTooltipMarkupCallbackC -> IO (FunPtr MarkAttributesQueryTooltipMarkupCallbackC)
+
+markAttributesQueryTooltipMarkupClosure :: MarkAttributesQueryTooltipMarkupCallback -> IO Closure
+markAttributesQueryTooltipMarkupClosure cb = newCClosure =<< mkMarkAttributesQueryTooltipMarkupCallback wrapped
+    where wrapped = markAttributesQueryTooltipMarkupCallbackWrapper cb
+
+markAttributesQueryTooltipMarkupCallbackWrapper ::
+    MarkAttributesQueryTooltipMarkupCallback ->
+    Ptr () ->
+    Ptr Mark ->
+    Ptr () ->
+    IO CString
+markAttributesQueryTooltipMarkupCallbackWrapper _cb _ mark _ = do
+    mark' <- (newObject Mark) mark
+    result <- _cb  mark'
+    result' <- textToCString result
+    return result'
+
+onMarkAttributesQueryTooltipMarkup :: (GObject a, MonadIO m) => a -> MarkAttributesQueryTooltipMarkupCallback -> m SignalHandlerId
+onMarkAttributesQueryTooltipMarkup obj cb = liftIO $ connectMarkAttributesQueryTooltipMarkup obj cb SignalConnectBefore
+afterMarkAttributesQueryTooltipMarkup :: (GObject a, MonadIO m) => a -> MarkAttributesQueryTooltipMarkupCallback -> m SignalHandlerId
+afterMarkAttributesQueryTooltipMarkup obj cb = connectMarkAttributesQueryTooltipMarkup obj cb SignalConnectAfter
+
+connectMarkAttributesQueryTooltipMarkup :: (GObject a, MonadIO m) =>
+                                           a -> MarkAttributesQueryTooltipMarkupCallback -> SignalConnectMode -> m SignalHandlerId
+connectMarkAttributesQueryTooltipMarkup obj cb after = liftIO $ do
+    cb' <- mkMarkAttributesQueryTooltipMarkupCallback (markAttributesQueryTooltipMarkupCallbackWrapper cb)
+    connectSignalFunPtr obj "query-tooltip-markup" cb' after
+
+-- signal MarkAttributes::query-tooltip-text
+type MarkAttributesQueryTooltipTextCallback =
+    Mark ->
+    IO T.Text
+
+noMarkAttributesQueryTooltipTextCallback :: Maybe MarkAttributesQueryTooltipTextCallback
+noMarkAttributesQueryTooltipTextCallback = Nothing
+
+type MarkAttributesQueryTooltipTextCallbackC =
+    Ptr () ->                               -- object
+    Ptr Mark ->
+    Ptr () ->                               -- user_data
+    IO CString
+
+foreign import ccall "wrapper"
+    mkMarkAttributesQueryTooltipTextCallback :: MarkAttributesQueryTooltipTextCallbackC -> IO (FunPtr MarkAttributesQueryTooltipTextCallbackC)
+
+markAttributesQueryTooltipTextClosure :: MarkAttributesQueryTooltipTextCallback -> IO Closure
+markAttributesQueryTooltipTextClosure cb = newCClosure =<< mkMarkAttributesQueryTooltipTextCallback wrapped
+    where wrapped = markAttributesQueryTooltipTextCallbackWrapper cb
+
+markAttributesQueryTooltipTextCallbackWrapper ::
+    MarkAttributesQueryTooltipTextCallback ->
+    Ptr () ->
+    Ptr Mark ->
+    Ptr () ->
+    IO CString
+markAttributesQueryTooltipTextCallbackWrapper _cb _ mark _ = do
+    mark' <- (newObject Mark) mark
+    result <- _cb  mark'
+    result' <- textToCString result
+    return result'
+
+onMarkAttributesQueryTooltipText :: (GObject a, MonadIO m) => a -> MarkAttributesQueryTooltipTextCallback -> m SignalHandlerId
+onMarkAttributesQueryTooltipText obj cb = liftIO $ connectMarkAttributesQueryTooltipText obj cb SignalConnectBefore
+afterMarkAttributesQueryTooltipText :: (GObject a, MonadIO m) => a -> MarkAttributesQueryTooltipTextCallback -> m SignalHandlerId
+afterMarkAttributesQueryTooltipText obj cb = connectMarkAttributesQueryTooltipText obj cb SignalConnectAfter
+
+connectMarkAttributesQueryTooltipText :: (GObject a, MonadIO m) =>
+                                         a -> MarkAttributesQueryTooltipTextCallback -> SignalConnectMode -> m SignalHandlerId
+connectMarkAttributesQueryTooltipText obj cb after = liftIO $ do
+    cb' <- mkMarkAttributesQueryTooltipTextCallback (markAttributesQueryTooltipTextCallbackWrapper cb)
+    connectSignalFunPtr obj "query-tooltip-text" cb' after
+
+-- VVV Prop "background"
+   -- Type: TInterface "Gdk" "RGBA"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+getMarkAttributesBackground :: (MonadIO m, MarkAttributesK o) => o -> m (Maybe Gdk.RGBA)
+getMarkAttributesBackground obj = liftIO $ getObjectPropertyBoxed obj "background" Gdk.RGBA
+
+setMarkAttributesBackground :: (MonadIO m, MarkAttributesK o) => o -> Gdk.RGBA -> m ()
+setMarkAttributesBackground obj val = liftIO $ setObjectPropertyBoxed obj "background" (Just val)
+
+constructMarkAttributesBackground :: Gdk.RGBA -> IO ([Char], GValue)
+constructMarkAttributesBackground val = constructObjectPropertyBoxed "background" (Just val)
+
+data MarkAttributesBackgroundPropertyInfo
+instance AttrInfo MarkAttributesBackgroundPropertyInfo where
+    type AttrAllowedOps MarkAttributesBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MarkAttributesBackgroundPropertyInfo = (~) Gdk.RGBA
+    type AttrBaseTypeConstraint MarkAttributesBackgroundPropertyInfo = MarkAttributesK
+    type AttrGetType MarkAttributesBackgroundPropertyInfo = (Maybe Gdk.RGBA)
+    type AttrLabel MarkAttributesBackgroundPropertyInfo = "background"
+    attrGet _ = getMarkAttributesBackground
+    attrSet _ = setMarkAttributesBackground
+    attrConstruct _ = constructMarkAttributesBackground
+    attrClear _ = undefined
+
+-- VVV Prop "gicon"
+   -- Type: TInterface "Gio" "Icon"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getMarkAttributesGicon :: (MonadIO m, MarkAttributesK o) => o -> m Gio.Icon
+getMarkAttributesGicon obj = liftIO $ checkUnexpectedNothing "getMarkAttributesGicon" $ getObjectPropertyObject obj "gicon" Gio.Icon
+
+setMarkAttributesGicon :: (MonadIO m, MarkAttributesK o, Gio.IconK a) => o -> a -> m ()
+setMarkAttributesGicon obj val = liftIO $ setObjectPropertyObject obj "gicon" (Just val)
+
+constructMarkAttributesGicon :: (Gio.IconK a) => a -> IO ([Char], GValue)
+constructMarkAttributesGicon val = constructObjectPropertyObject "gicon" (Just val)
+
+data MarkAttributesGiconPropertyInfo
+instance AttrInfo MarkAttributesGiconPropertyInfo where
+    type AttrAllowedOps MarkAttributesGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MarkAttributesGiconPropertyInfo = Gio.IconK
+    type AttrBaseTypeConstraint MarkAttributesGiconPropertyInfo = MarkAttributesK
+    type AttrGetType MarkAttributesGiconPropertyInfo = Gio.Icon
+    type AttrLabel MarkAttributesGiconPropertyInfo = "gicon"
+    attrGet _ = getMarkAttributesGicon
+    attrSet _ = setMarkAttributesGicon
+    attrConstruct _ = constructMarkAttributesGicon
+    attrClear _ = undefined
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getMarkAttributesIconName :: (MonadIO m, MarkAttributesK o) => o -> m T.Text
+getMarkAttributesIconName obj = liftIO $ checkUnexpectedNothing "getMarkAttributesIconName" $ getObjectPropertyString obj "icon-name"
+
+setMarkAttributesIconName :: (MonadIO m, MarkAttributesK o) => o -> T.Text -> m ()
+setMarkAttributesIconName obj val = liftIO $ setObjectPropertyString obj "icon-name" (Just val)
+
+constructMarkAttributesIconName :: T.Text -> IO ([Char], GValue)
+constructMarkAttributesIconName val = constructObjectPropertyString "icon-name" (Just val)
+
+data MarkAttributesIconNamePropertyInfo
+instance AttrInfo MarkAttributesIconNamePropertyInfo where
+    type AttrAllowedOps MarkAttributesIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MarkAttributesIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MarkAttributesIconNamePropertyInfo = MarkAttributesK
+    type AttrGetType MarkAttributesIconNamePropertyInfo = T.Text
+    type AttrLabel MarkAttributesIconNamePropertyInfo = "icon-name"
+    attrGet _ = getMarkAttributesIconName
+    attrSet _ = setMarkAttributesIconName
+    attrConstruct _ = constructMarkAttributesIconName
+    attrClear _ = undefined
+
+-- VVV Prop "pixbuf"
+   -- Type: TInterface "GdkPixbuf" "Pixbuf"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getMarkAttributesPixbuf :: (MonadIO m, MarkAttributesK o) => o -> m GdkPixbuf.Pixbuf
+getMarkAttributesPixbuf obj = liftIO $ checkUnexpectedNothing "getMarkAttributesPixbuf" $ getObjectPropertyObject obj "pixbuf" GdkPixbuf.Pixbuf
+
+setMarkAttributesPixbuf :: (MonadIO m, MarkAttributesK o, GdkPixbuf.PixbufK a) => o -> a -> m ()
+setMarkAttributesPixbuf obj val = liftIO $ setObjectPropertyObject obj "pixbuf" (Just val)
+
+constructMarkAttributesPixbuf :: (GdkPixbuf.PixbufK a) => a -> IO ([Char], GValue)
+constructMarkAttributesPixbuf val = constructObjectPropertyObject "pixbuf" (Just val)
+
+data MarkAttributesPixbufPropertyInfo
+instance AttrInfo MarkAttributesPixbufPropertyInfo where
+    type AttrAllowedOps MarkAttributesPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MarkAttributesPixbufPropertyInfo = GdkPixbuf.PixbufK
+    type AttrBaseTypeConstraint MarkAttributesPixbufPropertyInfo = MarkAttributesK
+    type AttrGetType MarkAttributesPixbufPropertyInfo = GdkPixbuf.Pixbuf
+    type AttrLabel MarkAttributesPixbufPropertyInfo = "pixbuf"
+    attrGet _ = getMarkAttributesPixbuf
+    attrSet _ = setMarkAttributesPixbuf
+    attrConstruct _ = constructMarkAttributesPixbuf
+    attrClear _ = undefined
+
+-- VVV Prop "stock-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getMarkAttributesStockId :: (MonadIO m, MarkAttributesK o) => o -> m T.Text
+getMarkAttributesStockId obj = liftIO $ checkUnexpectedNothing "getMarkAttributesStockId" $ getObjectPropertyString obj "stock-id"
+
+setMarkAttributesStockId :: (MonadIO m, MarkAttributesK o) => o -> T.Text -> m ()
+setMarkAttributesStockId obj val = liftIO $ setObjectPropertyString obj "stock-id" (Just val)
+
+constructMarkAttributesStockId :: T.Text -> IO ([Char], GValue)
+constructMarkAttributesStockId val = constructObjectPropertyString "stock-id" (Just val)
+
+data MarkAttributesStockIdPropertyInfo
+instance AttrInfo MarkAttributesStockIdPropertyInfo where
+    type AttrAllowedOps MarkAttributesStockIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MarkAttributesStockIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MarkAttributesStockIdPropertyInfo = MarkAttributesK
+    type AttrGetType MarkAttributesStockIdPropertyInfo = T.Text
+    type AttrLabel MarkAttributesStockIdPropertyInfo = "stock-id"
+    attrGet _ = getMarkAttributesStockId
+    attrSet _ = setMarkAttributesStockId
+    attrConstruct _ = constructMarkAttributesStockId
+    attrClear _ = undefined
+
+type instance AttributeList MarkAttributes = MarkAttributesAttributeList
+type MarkAttributesAttributeList = ('[ '("background", MarkAttributesBackgroundPropertyInfo), '("gicon", MarkAttributesGiconPropertyInfo), '("iconName", MarkAttributesIconNamePropertyInfo), '("pixbuf", MarkAttributesPixbufPropertyInfo), '("stockId", MarkAttributesStockIdPropertyInfo)] :: [(Symbol, *)])
+
+markAttributesBackground :: AttrLabelProxy "background"
+markAttributesBackground = AttrLabelProxy
+
+markAttributesGicon :: AttrLabelProxy "gicon"
+markAttributesGicon = AttrLabelProxy
+
+markAttributesIconName :: AttrLabelProxy "iconName"
+markAttributesIconName = AttrLabelProxy
+
+markAttributesPixbuf :: AttrLabelProxy "pixbuf"
+markAttributesPixbuf = AttrLabelProxy
+
+markAttributesStockId :: AttrLabelProxy "stockId"
+markAttributesStockId = AttrLabelProxy
+
+data MarkAttributesQueryTooltipMarkupSignalInfo
+instance SignalInfo MarkAttributesQueryTooltipMarkupSignalInfo where
+    type HaskellCallbackType MarkAttributesQueryTooltipMarkupSignalInfo = MarkAttributesQueryTooltipMarkupCallback
+    connectSignal _ = connectMarkAttributesQueryTooltipMarkup
+
+data MarkAttributesQueryTooltipTextSignalInfo
+instance SignalInfo MarkAttributesQueryTooltipTextSignalInfo where
+    type HaskellCallbackType MarkAttributesQueryTooltipTextSignalInfo = MarkAttributesQueryTooltipTextCallback
+    connectSignal _ = connectMarkAttributesQueryTooltipText
+
+type instance SignalList MarkAttributes = MarkAttributesSignalList
+type MarkAttributesSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("queryTooltipMarkup", MarkAttributesQueryTooltipMarkupSignalInfo), '("queryTooltipText", MarkAttributesQueryTooltipTextSignalInfo)] :: [(Symbol, *)])
+
+-- method MarkAttributes::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "MarkAttributes")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_new" gtk_source_mark_attributes_new :: 
+    IO (Ptr MarkAttributes)
+
+
+markAttributesNew ::
+    (MonadIO m) =>
+    m MarkAttributes                        -- result
+markAttributesNew  = liftIO $ do
+    result <- gtk_source_mark_attributes_new
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_new" result
+    result' <- (wrapObject MarkAttributes) result
+    return result'
+
+-- method MarkAttributes::get_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_background" gtk_source_mark_attributes_get_background :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr Gdk.RGBA ->                         -- background : TInterface "Gdk" "RGBA"
+    IO CInt
+
+
+markAttributesGetBackground ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> m (Bool,Gdk.RGBA)                    -- result
+markAttributesGetBackground _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    background <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA)
+    result <- gtk_source_mark_attributes_get_background _obj' background
+    let result' = (/= 0) result
+    background' <- (wrapBoxed Gdk.RGBA) background
+    touchManagedPtr _obj
+    return (result', background')
+
+data MarkAttributesGetBackgroundMethodInfo
+instance (signature ~ (m (Bool,Gdk.RGBA)), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesGetBackgroundMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetBackground
+
+-- method MarkAttributes::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gio" "Icon")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_gicon" gtk_source_mark_attributes_get_gicon :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    IO (Ptr Gio.Icon)
+
+
+markAttributesGetGicon ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> m Gio.Icon                           -- result
+markAttributesGetGicon _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_mark_attributes_get_gicon _obj'
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_get_gicon" result
+    result' <- (newObject Gio.Icon) result
+    touchManagedPtr _obj
+    return result'
+
+data MarkAttributesGetGiconMethodInfo
+instance (signature ~ (m Gio.Icon), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesGetGiconMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetGicon
+
+-- method MarkAttributes::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_icon_name" gtk_source_mark_attributes_get_icon_name :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    IO CString
+
+
+markAttributesGetIconName ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+markAttributesGetIconName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_mark_attributes_get_icon_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_get_icon_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data MarkAttributesGetIconNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesGetIconNameMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetIconName
+
+-- method MarkAttributes::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GdkPixbuf" "Pixbuf")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_pixbuf" gtk_source_mark_attributes_get_pixbuf :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+markAttributesGetPixbuf ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> m GdkPixbuf.Pixbuf                   -- result
+markAttributesGetPixbuf _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_mark_attributes_get_pixbuf _obj'
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_get_pixbuf" result
+    result' <- (newObject GdkPixbuf.Pixbuf) result
+    touchManagedPtr _obj
+    return result'
+
+data MarkAttributesGetPixbufMethodInfo
+instance (signature ~ (m GdkPixbuf.Pixbuf), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesGetPixbufMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetPixbuf
+
+-- method MarkAttributes::get_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_stock_id" gtk_source_mark_attributes_get_stock_id :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    IO CString
+
+{-# DEPRECATED markAttributesGetStockId ["(Since version 3.10)","Don't use this function."]#-}
+markAttributesGetStockId ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+markAttributesGetStockId _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_mark_attributes_get_stock_id _obj'
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_get_stock_id" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data MarkAttributesGetStockIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesGetStockIdMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetStockId
+
+-- method MarkAttributes::get_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface "GtkSource" "Mark", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_tooltip_markup" gtk_source_mark_attributes_get_tooltip_markup :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr Mark ->                             -- mark : TInterface "GtkSource" "Mark"
+    IO CString
+
+
+markAttributesGetTooltipMarkup ::
+    (MonadIO m, MarkAttributesK a, MarkK b) =>
+    a                                       -- _obj
+    -> b                                    -- mark
+    -> m T.Text                             -- result
+markAttributesGetTooltipMarkup _obj mark = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let mark' = unsafeManagedPtrCastPtr mark
+    result <- gtk_source_mark_attributes_get_tooltip_markup _obj' mark'
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_get_tooltip_markup" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    touchManagedPtr mark
+    return result'
+
+data MarkAttributesGetTooltipMarkupMethodInfo
+instance (signature ~ (b -> m T.Text), MonadIO m, MarkAttributesK a, MarkK b) => MethodInfo MarkAttributesGetTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetTooltipMarkup
+
+-- method MarkAttributes::get_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface "GtkSource" "Mark", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_get_tooltip_text" gtk_source_mark_attributes_get_tooltip_text :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr Mark ->                             -- mark : TInterface "GtkSource" "Mark"
+    IO CString
+
+
+markAttributesGetTooltipText ::
+    (MonadIO m, MarkAttributesK a, MarkK b) =>
+    a                                       -- _obj
+    -> b                                    -- mark
+    -> m T.Text                             -- result
+markAttributesGetTooltipText _obj mark = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let mark' = unsafeManagedPtrCastPtr mark
+    result <- gtk_source_mark_attributes_get_tooltip_text _obj' mark'
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_get_tooltip_text" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    touchManagedPtr mark
+    return result'
+
+data MarkAttributesGetTooltipTextMethodInfo
+instance (signature ~ (b -> m T.Text), MonadIO m, MarkAttributesK a, MarkK b) => MethodInfo MarkAttributesGetTooltipTextMethodInfo a signature where
+    overloadedMethod _ = markAttributesGetTooltipText
+
+-- method MarkAttributes::render_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface "Gtk" "Widget", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GdkPixbuf" "Pixbuf")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_render_icon" gtk_source_mark_attributes_render_icon :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr Gtk.Widget ->                       -- widget : TInterface "Gtk" "Widget"
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+markAttributesRenderIcon ::
+    (MonadIO m, MarkAttributesK a, Gtk.WidgetK b) =>
+    a                                       -- _obj
+    -> b                                    -- widget
+    -> Int32                                -- size
+    -> m GdkPixbuf.Pixbuf                   -- result
+markAttributesRenderIcon _obj widget size = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let widget' = unsafeManagedPtrCastPtr widget
+    result <- gtk_source_mark_attributes_render_icon _obj' widget' size
+    checkUnexpectedReturnNULL "gtk_source_mark_attributes_render_icon" result
+    result' <- (newObject GdkPixbuf.Pixbuf) result
+    touchManagedPtr _obj
+    touchManagedPtr widget
+    return result'
+
+data MarkAttributesRenderIconMethodInfo
+instance (signature ~ (b -> Int32 -> m GdkPixbuf.Pixbuf), MonadIO m, MarkAttributesK a, Gtk.WidgetK b) => MethodInfo MarkAttributesRenderIconMethodInfo a signature where
+    overloadedMethod _ = markAttributesRenderIcon
+
+-- method MarkAttributes::set_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_set_background" gtk_source_mark_attributes_set_background :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr Gdk.RGBA ->                         -- background : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+markAttributesSetBackground ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> Gdk.RGBA                             -- background
+    -> m ()                                 -- result
+markAttributesSetBackground _obj background = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let background' = unsafeManagedPtrGetPtr background
+    gtk_source_mark_attributes_set_background _obj' background'
+    touchManagedPtr _obj
+    touchManagedPtr background
+    return ()
+
+data MarkAttributesSetBackgroundMethodInfo
+instance (signature ~ (Gdk.RGBA -> m ()), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesSetBackgroundMethodInfo a signature where
+    overloadedMethod _ = markAttributesSetBackground
+
+-- method MarkAttributes::set_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gicon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_set_gicon" gtk_source_mark_attributes_set_gicon :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr Gio.Icon ->                         -- gicon : TInterface "Gio" "Icon"
+    IO ()
+
+
+markAttributesSetGicon ::
+    (MonadIO m, MarkAttributesK a, Gio.IconK b) =>
+    a                                       -- _obj
+    -> b                                    -- gicon
+    -> m ()                                 -- result
+markAttributesSetGicon _obj gicon = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let gicon' = unsafeManagedPtrCastPtr gicon
+    gtk_source_mark_attributes_set_gicon _obj' gicon'
+    touchManagedPtr _obj
+    touchManagedPtr gicon
+    return ()
+
+data MarkAttributesSetGiconMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, MarkAttributesK a, Gio.IconK b) => MethodInfo MarkAttributesSetGiconMethodInfo a signature where
+    overloadedMethod _ = markAttributesSetGicon
+
+-- method MarkAttributes::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_set_icon_name" gtk_source_mark_attributes_set_icon_name :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+
+markAttributesSetIconName ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- iconName
+    -> m ()                                 -- result
+markAttributesSetIconName _obj iconName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    iconName' <- textToCString iconName
+    gtk_source_mark_attributes_set_icon_name _obj' iconName'
+    touchManagedPtr _obj
+    freeMem iconName'
+    return ()
+
+data MarkAttributesSetIconNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesSetIconNameMethodInfo a signature where
+    overloadedMethod _ = markAttributesSetIconName
+
+-- method MarkAttributes::set_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_set_pixbuf" gtk_source_mark_attributes_set_pixbuf :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
+    IO ()
+
+
+markAttributesSetPixbuf ::
+    (MonadIO m, MarkAttributesK a, GdkPixbuf.PixbufK b) =>
+    a                                       -- _obj
+    -> b                                    -- pixbuf
+    -> m ()                                 -- result
+markAttributesSetPixbuf _obj pixbuf = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
+    gtk_source_mark_attributes_set_pixbuf _obj' pixbuf'
+    touchManagedPtr _obj
+    touchManagedPtr pixbuf
+    return ()
+
+data MarkAttributesSetPixbufMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, MarkAttributesK a, GdkPixbuf.PixbufK b) => MethodInfo MarkAttributesSetPixbufMethodInfo a signature where
+    overloadedMethod _ = markAttributesSetPixbuf
+
+-- method MarkAttributes::set_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_mark_attributes_set_stock_id" gtk_source_mark_attributes_set_stock_id :: 
+    Ptr MarkAttributes ->                   -- _obj : TInterface "GtkSource" "MarkAttributes"
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED markAttributesSetStockId ["(Since version 3.10)","Don't use this function."]#-}
+markAttributesSetStockId ::
+    (MonadIO m, MarkAttributesK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- stockId
+    -> m ()                                 -- result
+markAttributesSetStockId _obj stockId = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    stockId' <- textToCString stockId
+    gtk_source_mark_attributes_set_stock_id _obj' stockId'
+    touchManagedPtr _obj
+    freeMem stockId'
+    return ()
+
+data MarkAttributesSetStockIdMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, MarkAttributesK a) => MethodInfo MarkAttributesSetStockIdMethodInfo a signature where
+    overloadedMethod _ = markAttributesSetStockId
+
+
diff --git a/GI/GtkSource/Objects/MarkAttributes.hs-boot b/GI/GtkSource/Objects/MarkAttributes.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/MarkAttributes.hs-boot
@@ -0,0 +1,33 @@
+module GI.GtkSource.Objects.MarkAttributes where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype MarkAttributes = MarkAttributes (ForeignPtr MarkAttributes)
+instance GObject MarkAttributes where
+class GObject o => MarkAttributesK o
+instance (GObject o, IsDescendantOf MarkAttributes o) => MarkAttributesK o
+data MarkAttributesBackgroundPropertyInfo
+data MarkAttributesGiconPropertyInfo
+data MarkAttributesIconNamePropertyInfo
+data MarkAttributesPixbufPropertyInfo
+data MarkAttributesStockIdPropertyInfo
+data MarkAttributesQueryTooltipMarkupSignalInfo
+data MarkAttributesQueryTooltipTextSignalInfo
+data MarkAttributesGetBackgroundMethodInfo
+data MarkAttributesGetGiconMethodInfo
+data MarkAttributesGetIconNameMethodInfo
+data MarkAttributesGetPixbufMethodInfo
+data MarkAttributesGetStockIdMethodInfo
+data MarkAttributesGetTooltipMarkupMethodInfo
+data MarkAttributesGetTooltipTextMethodInfo
+data MarkAttributesRenderIconMethodInfo
+data MarkAttributesSetBackgroundMethodInfo
+data MarkAttributesSetGiconMethodInfo
+data MarkAttributesSetIconNameMethodInfo
+data MarkAttributesSetPixbufMethodInfo
+data MarkAttributesSetStockIdMethodInfo
diff --git a/GI/GtkSource/Objects/PrintCompositor.hs b/GI/GtkSource/Objects/PrintCompositor.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/PrintCompositor.hs
@@ -0,0 +1,1924 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.PrintCompositor
+    ( 
+
+-- * Exported types
+    PrintCompositor(..)                     ,
+    PrintCompositorK                        ,
+    toPrintCompositor                       ,
+    noPrintCompositor                       ,
+
+
+ -- * Methods
+-- ** printCompositorDrawPage
+    PrintCompositorDrawPageMethodInfo       ,
+    printCompositorDrawPage                 ,
+
+
+-- ** printCompositorGetBodyFontName
+    PrintCompositorGetBodyFontNameMethodInfo,
+    printCompositorGetBodyFontName          ,
+
+
+-- ** printCompositorGetBottomMargin
+    PrintCompositorGetBottomMarginMethodInfo,
+    printCompositorGetBottomMargin          ,
+
+
+-- ** printCompositorGetBuffer
+    PrintCompositorGetBufferMethodInfo      ,
+    printCompositorGetBuffer                ,
+
+
+-- ** printCompositorGetFooterFontName
+    PrintCompositorGetFooterFontNameMethodInfo,
+    printCompositorGetFooterFontName        ,
+
+
+-- ** printCompositorGetHeaderFontName
+    PrintCompositorGetHeaderFontNameMethodInfo,
+    printCompositorGetHeaderFontName        ,
+
+
+-- ** printCompositorGetHighlightSyntax
+    PrintCompositorGetHighlightSyntaxMethodInfo,
+    printCompositorGetHighlightSyntax       ,
+
+
+-- ** printCompositorGetLeftMargin
+    PrintCompositorGetLeftMarginMethodInfo  ,
+    printCompositorGetLeftMargin            ,
+
+
+-- ** printCompositorGetLineNumbersFontName
+    PrintCompositorGetLineNumbersFontNameMethodInfo,
+    printCompositorGetLineNumbersFontName   ,
+
+
+-- ** printCompositorGetNPages
+    PrintCompositorGetNPagesMethodInfo      ,
+    printCompositorGetNPages                ,
+
+
+-- ** printCompositorGetPaginationProgress
+    PrintCompositorGetPaginationProgressMethodInfo,
+    printCompositorGetPaginationProgress    ,
+
+
+-- ** printCompositorGetPrintFooter
+    PrintCompositorGetPrintFooterMethodInfo ,
+    printCompositorGetPrintFooter           ,
+
+
+-- ** printCompositorGetPrintHeader
+    PrintCompositorGetPrintHeaderMethodInfo ,
+    printCompositorGetPrintHeader           ,
+
+
+-- ** printCompositorGetPrintLineNumbers
+    PrintCompositorGetPrintLineNumbersMethodInfo,
+    printCompositorGetPrintLineNumbers      ,
+
+
+-- ** printCompositorGetRightMargin
+    PrintCompositorGetRightMarginMethodInfo ,
+    printCompositorGetRightMargin           ,
+
+
+-- ** printCompositorGetTabWidth
+    PrintCompositorGetTabWidthMethodInfo    ,
+    printCompositorGetTabWidth              ,
+
+
+-- ** printCompositorGetTopMargin
+    PrintCompositorGetTopMarginMethodInfo   ,
+    printCompositorGetTopMargin             ,
+
+
+-- ** printCompositorGetWrapMode
+    PrintCompositorGetWrapModeMethodInfo    ,
+    printCompositorGetWrapMode              ,
+
+
+-- ** printCompositorNew
+    printCompositorNew                      ,
+
+
+-- ** printCompositorNewFromView
+    printCompositorNewFromView              ,
+
+
+-- ** printCompositorPaginate
+    PrintCompositorPaginateMethodInfo       ,
+    printCompositorPaginate                 ,
+
+
+-- ** printCompositorSetBodyFontName
+    PrintCompositorSetBodyFontNameMethodInfo,
+    printCompositorSetBodyFontName          ,
+
+
+-- ** printCompositorSetBottomMargin
+    PrintCompositorSetBottomMarginMethodInfo,
+    printCompositorSetBottomMargin          ,
+
+
+-- ** printCompositorSetFooterFontName
+    PrintCompositorSetFooterFontNameMethodInfo,
+    printCompositorSetFooterFontName        ,
+
+
+-- ** printCompositorSetFooterFormat
+    PrintCompositorSetFooterFormatMethodInfo,
+    printCompositorSetFooterFormat          ,
+
+
+-- ** printCompositorSetHeaderFontName
+    PrintCompositorSetHeaderFontNameMethodInfo,
+    printCompositorSetHeaderFontName        ,
+
+
+-- ** printCompositorSetHeaderFormat
+    PrintCompositorSetHeaderFormatMethodInfo,
+    printCompositorSetHeaderFormat          ,
+
+
+-- ** printCompositorSetHighlightSyntax
+    PrintCompositorSetHighlightSyntaxMethodInfo,
+    printCompositorSetHighlightSyntax       ,
+
+
+-- ** printCompositorSetLeftMargin
+    PrintCompositorSetLeftMarginMethodInfo  ,
+    printCompositorSetLeftMargin            ,
+
+
+-- ** printCompositorSetLineNumbersFontName
+    PrintCompositorSetLineNumbersFontNameMethodInfo,
+    printCompositorSetLineNumbersFontName   ,
+
+
+-- ** printCompositorSetPrintFooter
+    PrintCompositorSetPrintFooterMethodInfo ,
+    printCompositorSetPrintFooter           ,
+
+
+-- ** printCompositorSetPrintHeader
+    PrintCompositorSetPrintHeaderMethodInfo ,
+    printCompositorSetPrintHeader           ,
+
+
+-- ** printCompositorSetPrintLineNumbers
+    PrintCompositorSetPrintLineNumbersMethodInfo,
+    printCompositorSetPrintLineNumbers      ,
+
+
+-- ** printCompositorSetRightMargin
+    PrintCompositorSetRightMarginMethodInfo ,
+    printCompositorSetRightMargin           ,
+
+
+-- ** printCompositorSetTabWidth
+    PrintCompositorSetTabWidthMethodInfo    ,
+    printCompositorSetTabWidth              ,
+
+
+-- ** printCompositorSetTopMargin
+    PrintCompositorSetTopMarginMethodInfo   ,
+    printCompositorSetTopMargin             ,
+
+
+-- ** printCompositorSetWrapMode
+    PrintCompositorSetWrapModeMethodInfo    ,
+    printCompositorSetWrapMode              ,
+
+
+
+
+ -- * Properties
+-- ** BodyFontName
+    PrintCompositorBodyFontNamePropertyInfo ,
+    constructPrintCompositorBodyFontName    ,
+    getPrintCompositorBodyFontName          ,
+    printCompositorBodyFontName             ,
+    setPrintCompositorBodyFontName          ,
+
+
+-- ** Buffer
+    PrintCompositorBufferPropertyInfo       ,
+    constructPrintCompositorBuffer          ,
+    getPrintCompositorBuffer                ,
+    printCompositorBuffer                   ,
+
+
+-- ** FooterFontName
+    PrintCompositorFooterFontNamePropertyInfo,
+    clearPrintCompositorFooterFontName      ,
+    constructPrintCompositorFooterFontName  ,
+    getPrintCompositorFooterFontName        ,
+    printCompositorFooterFontName           ,
+    setPrintCompositorFooterFontName        ,
+
+
+-- ** HeaderFontName
+    PrintCompositorHeaderFontNamePropertyInfo,
+    clearPrintCompositorHeaderFontName      ,
+    constructPrintCompositorHeaderFontName  ,
+    getPrintCompositorHeaderFontName        ,
+    printCompositorHeaderFontName           ,
+    setPrintCompositorHeaderFontName        ,
+
+
+-- ** HighlightSyntax
+    PrintCompositorHighlightSyntaxPropertyInfo,
+    constructPrintCompositorHighlightSyntax ,
+    getPrintCompositorHighlightSyntax       ,
+    printCompositorHighlightSyntax          ,
+    setPrintCompositorHighlightSyntax       ,
+
+
+-- ** LineNumbersFontName
+    PrintCompositorLineNumbersFontNamePropertyInfo,
+    clearPrintCompositorLineNumbersFontName ,
+    constructPrintCompositorLineNumbersFontName,
+    getPrintCompositorLineNumbersFontName   ,
+    printCompositorLineNumbersFontName      ,
+    setPrintCompositorLineNumbersFontName   ,
+
+
+-- ** NPages
+    PrintCompositorNPagesPropertyInfo       ,
+    getPrintCompositorNPages                ,
+    printCompositorNPages                   ,
+
+
+-- ** PrintFooter
+    PrintCompositorPrintFooterPropertyInfo  ,
+    constructPrintCompositorPrintFooter     ,
+    getPrintCompositorPrintFooter           ,
+    printCompositorPrintFooter              ,
+    setPrintCompositorPrintFooter           ,
+
+
+-- ** PrintHeader
+    PrintCompositorPrintHeaderPropertyInfo  ,
+    constructPrintCompositorPrintHeader     ,
+    getPrintCompositorPrintHeader           ,
+    printCompositorPrintHeader              ,
+    setPrintCompositorPrintHeader           ,
+
+
+-- ** PrintLineNumbers
+    PrintCompositorPrintLineNumbersPropertyInfo,
+    constructPrintCompositorPrintLineNumbers,
+    getPrintCompositorPrintLineNumbers      ,
+    printCompositorPrintLineNumbers         ,
+    setPrintCompositorPrintLineNumbers      ,
+
+
+-- ** TabWidth
+    PrintCompositorTabWidthPropertyInfo     ,
+    constructPrintCompositorTabWidth        ,
+    getPrintCompositorTabWidth              ,
+    printCompositorTabWidth                 ,
+    setPrintCompositorTabWidth              ,
+
+
+-- ** WrapMode
+    PrintCompositorWrapModePropertyInfo     ,
+    constructPrintCompositorWrapMode        ,
+    getPrintCompositorWrapMode              ,
+    printCompositorWrapMode                 ,
+    setPrintCompositorWrapMode              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype PrintCompositor = PrintCompositor (ForeignPtr PrintCompositor)
+foreign import ccall "gtk_source_print_compositor_get_type"
+    c_gtk_source_print_compositor_get_type :: IO GType
+
+type instance ParentTypes PrintCompositor = PrintCompositorParentTypes
+type PrintCompositorParentTypes = '[GObject.Object]
+
+instance GObject PrintCompositor where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_print_compositor_get_type
+    
+
+class GObject o => PrintCompositorK o
+instance (GObject o, IsDescendantOf PrintCompositor o) => PrintCompositorK o
+
+toPrintCompositor :: PrintCompositorK o => o -> IO PrintCompositor
+toPrintCompositor = unsafeCastTo PrintCompositor
+
+noPrintCompositor :: Maybe PrintCompositor
+noPrintCompositor = Nothing
+
+type family ResolvePrintCompositorMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePrintCompositorMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolvePrintCompositorMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolvePrintCompositorMethod "drawPage" o = PrintCompositorDrawPageMethodInfo
+    ResolvePrintCompositorMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolvePrintCompositorMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolvePrintCompositorMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolvePrintCompositorMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolvePrintCompositorMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolvePrintCompositorMethod "paginate" o = PrintCompositorPaginateMethodInfo
+    ResolvePrintCompositorMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolvePrintCompositorMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolvePrintCompositorMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolvePrintCompositorMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolvePrintCompositorMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolvePrintCompositorMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolvePrintCompositorMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolvePrintCompositorMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolvePrintCompositorMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolvePrintCompositorMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolvePrintCompositorMethod "getBodyFontName" o = PrintCompositorGetBodyFontNameMethodInfo
+    ResolvePrintCompositorMethod "getBottomMargin" o = PrintCompositorGetBottomMarginMethodInfo
+    ResolvePrintCompositorMethod "getBuffer" o = PrintCompositorGetBufferMethodInfo
+    ResolvePrintCompositorMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolvePrintCompositorMethod "getFooterFontName" o = PrintCompositorGetFooterFontNameMethodInfo
+    ResolvePrintCompositorMethod "getHeaderFontName" o = PrintCompositorGetHeaderFontNameMethodInfo
+    ResolvePrintCompositorMethod "getHighlightSyntax" o = PrintCompositorGetHighlightSyntaxMethodInfo
+    ResolvePrintCompositorMethod "getLeftMargin" o = PrintCompositorGetLeftMarginMethodInfo
+    ResolvePrintCompositorMethod "getLineNumbersFontName" o = PrintCompositorGetLineNumbersFontNameMethodInfo
+    ResolvePrintCompositorMethod "getNPages" o = PrintCompositorGetNPagesMethodInfo
+    ResolvePrintCompositorMethod "getPaginationProgress" o = PrintCompositorGetPaginationProgressMethodInfo
+    ResolvePrintCompositorMethod "getPrintFooter" o = PrintCompositorGetPrintFooterMethodInfo
+    ResolvePrintCompositorMethod "getPrintHeader" o = PrintCompositorGetPrintHeaderMethodInfo
+    ResolvePrintCompositorMethod "getPrintLineNumbers" o = PrintCompositorGetPrintLineNumbersMethodInfo
+    ResolvePrintCompositorMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolvePrintCompositorMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolvePrintCompositorMethod "getRightMargin" o = PrintCompositorGetRightMarginMethodInfo
+    ResolvePrintCompositorMethod "getTabWidth" o = PrintCompositorGetTabWidthMethodInfo
+    ResolvePrintCompositorMethod "getTopMargin" o = PrintCompositorGetTopMarginMethodInfo
+    ResolvePrintCompositorMethod "getWrapMode" o = PrintCompositorGetWrapModeMethodInfo
+    ResolvePrintCompositorMethod "setBodyFontName" o = PrintCompositorSetBodyFontNameMethodInfo
+    ResolvePrintCompositorMethod "setBottomMargin" o = PrintCompositorSetBottomMarginMethodInfo
+    ResolvePrintCompositorMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolvePrintCompositorMethod "setFooterFontName" o = PrintCompositorSetFooterFontNameMethodInfo
+    ResolvePrintCompositorMethod "setFooterFormat" o = PrintCompositorSetFooterFormatMethodInfo
+    ResolvePrintCompositorMethod "setHeaderFontName" o = PrintCompositorSetHeaderFontNameMethodInfo
+    ResolvePrintCompositorMethod "setHeaderFormat" o = PrintCompositorSetHeaderFormatMethodInfo
+    ResolvePrintCompositorMethod "setHighlightSyntax" o = PrintCompositorSetHighlightSyntaxMethodInfo
+    ResolvePrintCompositorMethod "setLeftMargin" o = PrintCompositorSetLeftMarginMethodInfo
+    ResolvePrintCompositorMethod "setLineNumbersFontName" o = PrintCompositorSetLineNumbersFontNameMethodInfo
+    ResolvePrintCompositorMethod "setPrintFooter" o = PrintCompositorSetPrintFooterMethodInfo
+    ResolvePrintCompositorMethod "setPrintHeader" o = PrintCompositorSetPrintHeaderMethodInfo
+    ResolvePrintCompositorMethod "setPrintLineNumbers" o = PrintCompositorSetPrintLineNumbersMethodInfo
+    ResolvePrintCompositorMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolvePrintCompositorMethod "setRightMargin" o = PrintCompositorSetRightMarginMethodInfo
+    ResolvePrintCompositorMethod "setTabWidth" o = PrintCompositorSetTabWidthMethodInfo
+    ResolvePrintCompositorMethod "setTopMargin" o = PrintCompositorSetTopMarginMethodInfo
+    ResolvePrintCompositorMethod "setWrapMode" o = PrintCompositorSetWrapModeMethodInfo
+    ResolvePrintCompositorMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolvePrintCompositorMethod t PrintCompositor, MethodInfo info PrintCompositor p) => IsLabelProxy t (PrintCompositor -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolvePrintCompositorMethod t PrintCompositor, MethodInfo info PrintCompositor p) => IsLabel t (PrintCompositor -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "body-font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+getPrintCompositorBodyFontName :: (MonadIO m, PrintCompositorK o) => o -> m (Maybe T.Text)
+getPrintCompositorBodyFontName obj = liftIO $ getObjectPropertyString obj "body-font-name"
+
+setPrintCompositorBodyFontName :: (MonadIO m, PrintCompositorK o) => o -> T.Text -> m ()
+setPrintCompositorBodyFontName obj val = liftIO $ setObjectPropertyString obj "body-font-name" (Just val)
+
+constructPrintCompositorBodyFontName :: T.Text -> IO ([Char], GValue)
+constructPrintCompositorBodyFontName val = constructObjectPropertyString "body-font-name" (Just val)
+
+data PrintCompositorBodyFontNamePropertyInfo
+instance AttrInfo PrintCompositorBodyFontNamePropertyInfo where
+    type AttrAllowedOps PrintCompositorBodyFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorBodyFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintCompositorBodyFontNamePropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorBodyFontNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintCompositorBodyFontNamePropertyInfo = "body-font-name"
+    attrGet _ = getPrintCompositorBodyFontName
+    attrSet _ = setPrintCompositorBodyFontName
+    attrConstruct _ = constructPrintCompositorBodyFontName
+    attrClear _ = undefined
+
+-- VVV Prop "buffer"
+   -- Type: TInterface "GtkSource" "Buffer"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getPrintCompositorBuffer :: (MonadIO m, PrintCompositorK o) => o -> m Buffer
+getPrintCompositorBuffer obj = liftIO $ checkUnexpectedNothing "getPrintCompositorBuffer" $ getObjectPropertyObject obj "buffer" Buffer
+
+constructPrintCompositorBuffer :: (BufferK a) => a -> IO ([Char], GValue)
+constructPrintCompositorBuffer val = constructObjectPropertyObject "buffer" (Just val)
+
+data PrintCompositorBufferPropertyInfo
+instance AttrInfo PrintCompositorBufferPropertyInfo where
+    type AttrAllowedOps PrintCompositorBufferPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintCompositorBufferPropertyInfo = BufferK
+    type AttrBaseTypeConstraint PrintCompositorBufferPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorBufferPropertyInfo = Buffer
+    type AttrLabel PrintCompositorBufferPropertyInfo = "buffer"
+    attrGet _ = getPrintCompositorBuffer
+    attrSet _ = undefined
+    attrConstruct _ = constructPrintCompositorBuffer
+    attrClear _ = undefined
+
+-- VVV Prop "footer-font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+getPrintCompositorFooterFontName :: (MonadIO m, PrintCompositorK o) => o -> m (Maybe T.Text)
+getPrintCompositorFooterFontName obj = liftIO $ getObjectPropertyString obj "footer-font-name"
+
+setPrintCompositorFooterFontName :: (MonadIO m, PrintCompositorK o) => o -> T.Text -> m ()
+setPrintCompositorFooterFontName obj val = liftIO $ setObjectPropertyString obj "footer-font-name" (Just val)
+
+constructPrintCompositorFooterFontName :: T.Text -> IO ([Char], GValue)
+constructPrintCompositorFooterFontName val = constructObjectPropertyString "footer-font-name" (Just val)
+
+clearPrintCompositorFooterFontName :: (MonadIO m, PrintCompositorK o) => o -> m ()
+clearPrintCompositorFooterFontName obj = liftIO $ setObjectPropertyString obj "footer-font-name" (Nothing :: Maybe T.Text)
+
+data PrintCompositorFooterFontNamePropertyInfo
+instance AttrInfo PrintCompositorFooterFontNamePropertyInfo where
+    type AttrAllowedOps PrintCompositorFooterFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintCompositorFooterFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintCompositorFooterFontNamePropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorFooterFontNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintCompositorFooterFontNamePropertyInfo = "footer-font-name"
+    attrGet _ = getPrintCompositorFooterFontName
+    attrSet _ = setPrintCompositorFooterFontName
+    attrConstruct _ = constructPrintCompositorFooterFontName
+    attrClear _ = clearPrintCompositorFooterFontName
+
+-- VVV Prop "header-font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+getPrintCompositorHeaderFontName :: (MonadIO m, PrintCompositorK o) => o -> m (Maybe T.Text)
+getPrintCompositorHeaderFontName obj = liftIO $ getObjectPropertyString obj "header-font-name"
+
+setPrintCompositorHeaderFontName :: (MonadIO m, PrintCompositorK o) => o -> T.Text -> m ()
+setPrintCompositorHeaderFontName obj val = liftIO $ setObjectPropertyString obj "header-font-name" (Just val)
+
+constructPrintCompositorHeaderFontName :: T.Text -> IO ([Char], GValue)
+constructPrintCompositorHeaderFontName val = constructObjectPropertyString "header-font-name" (Just val)
+
+clearPrintCompositorHeaderFontName :: (MonadIO m, PrintCompositorK o) => o -> m ()
+clearPrintCompositorHeaderFontName obj = liftIO $ setObjectPropertyString obj "header-font-name" (Nothing :: Maybe T.Text)
+
+data PrintCompositorHeaderFontNamePropertyInfo
+instance AttrInfo PrintCompositorHeaderFontNamePropertyInfo where
+    type AttrAllowedOps PrintCompositorHeaderFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintCompositorHeaderFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintCompositorHeaderFontNamePropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorHeaderFontNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintCompositorHeaderFontNamePropertyInfo = "header-font-name"
+    attrGet _ = getPrintCompositorHeaderFontName
+    attrSet _ = setPrintCompositorHeaderFontName
+    attrConstruct _ = constructPrintCompositorHeaderFontName
+    attrClear _ = clearPrintCompositorHeaderFontName
+
+-- VVV Prop "highlight-syntax"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getPrintCompositorHighlightSyntax :: (MonadIO m, PrintCompositorK o) => o -> m Bool
+getPrintCompositorHighlightSyntax obj = liftIO $ getObjectPropertyBool obj "highlight-syntax"
+
+setPrintCompositorHighlightSyntax :: (MonadIO m, PrintCompositorK o) => o -> Bool -> m ()
+setPrintCompositorHighlightSyntax obj val = liftIO $ setObjectPropertyBool obj "highlight-syntax" val
+
+constructPrintCompositorHighlightSyntax :: Bool -> IO ([Char], GValue)
+constructPrintCompositorHighlightSyntax val = constructObjectPropertyBool "highlight-syntax" val
+
+data PrintCompositorHighlightSyntaxPropertyInfo
+instance AttrInfo PrintCompositorHighlightSyntaxPropertyInfo where
+    type AttrAllowedOps PrintCompositorHighlightSyntaxPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorHighlightSyntaxPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintCompositorHighlightSyntaxPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorHighlightSyntaxPropertyInfo = Bool
+    type AttrLabel PrintCompositorHighlightSyntaxPropertyInfo = "highlight-syntax"
+    attrGet _ = getPrintCompositorHighlightSyntax
+    attrSet _ = setPrintCompositorHighlightSyntax
+    attrConstruct _ = constructPrintCompositorHighlightSyntax
+    attrClear _ = undefined
+
+-- VVV Prop "line-numbers-font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+getPrintCompositorLineNumbersFontName :: (MonadIO m, PrintCompositorK o) => o -> m (Maybe T.Text)
+getPrintCompositorLineNumbersFontName obj = liftIO $ getObjectPropertyString obj "line-numbers-font-name"
+
+setPrintCompositorLineNumbersFontName :: (MonadIO m, PrintCompositorK o) => o -> T.Text -> m ()
+setPrintCompositorLineNumbersFontName obj val = liftIO $ setObjectPropertyString obj "line-numbers-font-name" (Just val)
+
+constructPrintCompositorLineNumbersFontName :: T.Text -> IO ([Char], GValue)
+constructPrintCompositorLineNumbersFontName val = constructObjectPropertyString "line-numbers-font-name" (Just val)
+
+clearPrintCompositorLineNumbersFontName :: (MonadIO m, PrintCompositorK o) => o -> m ()
+clearPrintCompositorLineNumbersFontName obj = liftIO $ setObjectPropertyString obj "line-numbers-font-name" (Nothing :: Maybe T.Text)
+
+data PrintCompositorLineNumbersFontNamePropertyInfo
+instance AttrInfo PrintCompositorLineNumbersFontNamePropertyInfo where
+    type AttrAllowedOps PrintCompositorLineNumbersFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintCompositorLineNumbersFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintCompositorLineNumbersFontNamePropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorLineNumbersFontNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintCompositorLineNumbersFontNamePropertyInfo = "line-numbers-font-name"
+    attrGet _ = getPrintCompositorLineNumbersFontName
+    attrSet _ = setPrintCompositorLineNumbersFontName
+    attrConstruct _ = constructPrintCompositorLineNumbersFontName
+    attrClear _ = clearPrintCompositorLineNumbersFontName
+
+-- VVV Prop "n-pages"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getPrintCompositorNPages :: (MonadIO m, PrintCompositorK o) => o -> m Int32
+getPrintCompositorNPages obj = liftIO $ getObjectPropertyInt32 obj "n-pages"
+
+data PrintCompositorNPagesPropertyInfo
+instance AttrInfo PrintCompositorNPagesPropertyInfo where
+    type AttrAllowedOps PrintCompositorNPagesPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorNPagesPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PrintCompositorNPagesPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorNPagesPropertyInfo = Int32
+    type AttrLabel PrintCompositorNPagesPropertyInfo = "n-pages"
+    attrGet _ = getPrintCompositorNPages
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "print-footer"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getPrintCompositorPrintFooter :: (MonadIO m, PrintCompositorK o) => o -> m Bool
+getPrintCompositorPrintFooter obj = liftIO $ getObjectPropertyBool obj "print-footer"
+
+setPrintCompositorPrintFooter :: (MonadIO m, PrintCompositorK o) => o -> Bool -> m ()
+setPrintCompositorPrintFooter obj val = liftIO $ setObjectPropertyBool obj "print-footer" val
+
+constructPrintCompositorPrintFooter :: Bool -> IO ([Char], GValue)
+constructPrintCompositorPrintFooter val = constructObjectPropertyBool "print-footer" val
+
+data PrintCompositorPrintFooterPropertyInfo
+instance AttrInfo PrintCompositorPrintFooterPropertyInfo where
+    type AttrAllowedOps PrintCompositorPrintFooterPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorPrintFooterPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintCompositorPrintFooterPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorPrintFooterPropertyInfo = Bool
+    type AttrLabel PrintCompositorPrintFooterPropertyInfo = "print-footer"
+    attrGet _ = getPrintCompositorPrintFooter
+    attrSet _ = setPrintCompositorPrintFooter
+    attrConstruct _ = constructPrintCompositorPrintFooter
+    attrClear _ = undefined
+
+-- VVV Prop "print-header"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getPrintCompositorPrintHeader :: (MonadIO m, PrintCompositorK o) => o -> m Bool
+getPrintCompositorPrintHeader obj = liftIO $ getObjectPropertyBool obj "print-header"
+
+setPrintCompositorPrintHeader :: (MonadIO m, PrintCompositorK o) => o -> Bool -> m ()
+setPrintCompositorPrintHeader obj val = liftIO $ setObjectPropertyBool obj "print-header" val
+
+constructPrintCompositorPrintHeader :: Bool -> IO ([Char], GValue)
+constructPrintCompositorPrintHeader val = constructObjectPropertyBool "print-header" val
+
+data PrintCompositorPrintHeaderPropertyInfo
+instance AttrInfo PrintCompositorPrintHeaderPropertyInfo where
+    type AttrAllowedOps PrintCompositorPrintHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorPrintHeaderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintCompositorPrintHeaderPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorPrintHeaderPropertyInfo = Bool
+    type AttrLabel PrintCompositorPrintHeaderPropertyInfo = "print-header"
+    attrGet _ = getPrintCompositorPrintHeader
+    attrSet _ = setPrintCompositorPrintHeader
+    attrConstruct _ = constructPrintCompositorPrintHeader
+    attrClear _ = undefined
+
+-- VVV Prop "print-line-numbers"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getPrintCompositorPrintLineNumbers :: (MonadIO m, PrintCompositorK o) => o -> m Word32
+getPrintCompositorPrintLineNumbers obj = liftIO $ getObjectPropertyUInt32 obj "print-line-numbers"
+
+setPrintCompositorPrintLineNumbers :: (MonadIO m, PrintCompositorK o) => o -> Word32 -> m ()
+setPrintCompositorPrintLineNumbers obj val = liftIO $ setObjectPropertyUInt32 obj "print-line-numbers" val
+
+constructPrintCompositorPrintLineNumbers :: Word32 -> IO ([Char], GValue)
+constructPrintCompositorPrintLineNumbers val = constructObjectPropertyUInt32 "print-line-numbers" val
+
+data PrintCompositorPrintLineNumbersPropertyInfo
+instance AttrInfo PrintCompositorPrintLineNumbersPropertyInfo where
+    type AttrAllowedOps PrintCompositorPrintLineNumbersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorPrintLineNumbersPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint PrintCompositorPrintLineNumbersPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorPrintLineNumbersPropertyInfo = Word32
+    type AttrLabel PrintCompositorPrintLineNumbersPropertyInfo = "print-line-numbers"
+    attrGet _ = getPrintCompositorPrintLineNumbers
+    attrSet _ = setPrintCompositorPrintLineNumbers
+    attrConstruct _ = constructPrintCompositorPrintLineNumbers
+    attrClear _ = undefined
+
+-- VVV Prop "tab-width"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getPrintCompositorTabWidth :: (MonadIO m, PrintCompositorK o) => o -> m Word32
+getPrintCompositorTabWidth obj = liftIO $ getObjectPropertyUInt32 obj "tab-width"
+
+setPrintCompositorTabWidth :: (MonadIO m, PrintCompositorK o) => o -> Word32 -> m ()
+setPrintCompositorTabWidth obj val = liftIO $ setObjectPropertyUInt32 obj "tab-width" val
+
+constructPrintCompositorTabWidth :: Word32 -> IO ([Char], GValue)
+constructPrintCompositorTabWidth val = constructObjectPropertyUInt32 "tab-width" val
+
+data PrintCompositorTabWidthPropertyInfo
+instance AttrInfo PrintCompositorTabWidthPropertyInfo where
+    type AttrAllowedOps PrintCompositorTabWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorTabWidthPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint PrintCompositorTabWidthPropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorTabWidthPropertyInfo = Word32
+    type AttrLabel PrintCompositorTabWidthPropertyInfo = "tab-width"
+    attrGet _ = getPrintCompositorTabWidth
+    attrSet _ = setPrintCompositorTabWidth
+    attrConstruct _ = constructPrintCompositorTabWidth
+    attrClear _ = undefined
+
+-- VVV Prop "wrap-mode"
+   -- Type: TInterface "Gtk" "WrapMode"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getPrintCompositorWrapMode :: (MonadIO m, PrintCompositorK o) => o -> m Gtk.WrapMode
+getPrintCompositorWrapMode obj = liftIO $ getObjectPropertyEnum obj "wrap-mode"
+
+setPrintCompositorWrapMode :: (MonadIO m, PrintCompositorK o) => o -> Gtk.WrapMode -> m ()
+setPrintCompositorWrapMode obj val = liftIO $ setObjectPropertyEnum obj "wrap-mode" val
+
+constructPrintCompositorWrapMode :: Gtk.WrapMode -> IO ([Char], GValue)
+constructPrintCompositorWrapMode val = constructObjectPropertyEnum "wrap-mode" val
+
+data PrintCompositorWrapModePropertyInfo
+instance AttrInfo PrintCompositorWrapModePropertyInfo where
+    type AttrAllowedOps PrintCompositorWrapModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintCompositorWrapModePropertyInfo = (~) Gtk.WrapMode
+    type AttrBaseTypeConstraint PrintCompositorWrapModePropertyInfo = PrintCompositorK
+    type AttrGetType PrintCompositorWrapModePropertyInfo = Gtk.WrapMode
+    type AttrLabel PrintCompositorWrapModePropertyInfo = "wrap-mode"
+    attrGet _ = getPrintCompositorWrapMode
+    attrSet _ = setPrintCompositorWrapMode
+    attrConstruct _ = constructPrintCompositorWrapMode
+    attrClear _ = undefined
+
+type instance AttributeList PrintCompositor = PrintCompositorAttributeList
+type PrintCompositorAttributeList = ('[ '("bodyFontName", PrintCompositorBodyFontNamePropertyInfo), '("buffer", PrintCompositorBufferPropertyInfo), '("footerFontName", PrintCompositorFooterFontNamePropertyInfo), '("headerFontName", PrintCompositorHeaderFontNamePropertyInfo), '("highlightSyntax", PrintCompositorHighlightSyntaxPropertyInfo), '("lineNumbersFontName", PrintCompositorLineNumbersFontNamePropertyInfo), '("nPages", PrintCompositorNPagesPropertyInfo), '("printFooter", PrintCompositorPrintFooterPropertyInfo), '("printHeader", PrintCompositorPrintHeaderPropertyInfo), '("printLineNumbers", PrintCompositorPrintLineNumbersPropertyInfo), '("tabWidth", PrintCompositorTabWidthPropertyInfo), '("wrapMode", PrintCompositorWrapModePropertyInfo)] :: [(Symbol, *)])
+
+printCompositorBodyFontName :: AttrLabelProxy "bodyFontName"
+printCompositorBodyFontName = AttrLabelProxy
+
+printCompositorBuffer :: AttrLabelProxy "buffer"
+printCompositorBuffer = AttrLabelProxy
+
+printCompositorFooterFontName :: AttrLabelProxy "footerFontName"
+printCompositorFooterFontName = AttrLabelProxy
+
+printCompositorHeaderFontName :: AttrLabelProxy "headerFontName"
+printCompositorHeaderFontName = AttrLabelProxy
+
+printCompositorHighlightSyntax :: AttrLabelProxy "highlightSyntax"
+printCompositorHighlightSyntax = AttrLabelProxy
+
+printCompositorLineNumbersFontName :: AttrLabelProxy "lineNumbersFontName"
+printCompositorLineNumbersFontName = AttrLabelProxy
+
+printCompositorNPages :: AttrLabelProxy "nPages"
+printCompositorNPages = AttrLabelProxy
+
+printCompositorPrintFooter :: AttrLabelProxy "printFooter"
+printCompositorPrintFooter = AttrLabelProxy
+
+printCompositorPrintHeader :: AttrLabelProxy "printHeader"
+printCompositorPrintHeader = AttrLabelProxy
+
+printCompositorPrintLineNumbers :: AttrLabelProxy "printLineNumbers"
+printCompositorPrintLineNumbers = AttrLabelProxy
+
+printCompositorTabWidth :: AttrLabelProxy "tabWidth"
+printCompositorTabWidth = AttrLabelProxy
+
+printCompositorWrapMode :: AttrLabelProxy "wrapMode"
+printCompositorWrapMode = AttrLabelProxy
+
+type instance SignalList PrintCompositor = PrintCompositorSignalList
+type PrintCompositorSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method PrintCompositor::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "PrintCompositor")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_new" gtk_source_print_compositor_new :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    IO (Ptr PrintCompositor)
+
+
+printCompositorNew ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- buffer
+    -> m PrintCompositor                    -- result
+printCompositorNew buffer = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    result <- gtk_source_print_compositor_new buffer'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_new" result
+    result' <- (wrapObject PrintCompositor) result
+    touchManagedPtr buffer
+    return result'
+
+-- method PrintCompositor::new_from_view
+-- method type : Constructor
+-- Args : [Arg {argCName = "view", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "PrintCompositor")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_new_from_view" gtk_source_print_compositor_new_from_view :: 
+    Ptr View ->                             -- view : TInterface "GtkSource" "View"
+    IO (Ptr PrintCompositor)
+
+
+printCompositorNewFromView ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- view
+    -> m PrintCompositor                    -- result
+printCompositorNewFromView view = liftIO $ do
+    let view' = unsafeManagedPtrCastPtr view
+    result <- gtk_source_print_compositor_new_from_view view'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_new_from_view" result
+    result' <- (wrapObject PrintCompositor) result
+    touchManagedPtr view
+    return result'
+
+-- method PrintCompositor::draw_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "Gtk" "PrintContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_nr", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_draw_page" gtk_source_print_compositor_draw_page :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    Ptr Gtk.PrintContext ->                 -- context : TInterface "Gtk" "PrintContext"
+    Int32 ->                                -- page_nr : TBasicType TInt
+    IO ()
+
+
+printCompositorDrawPage ::
+    (MonadIO m, PrintCompositorK a, Gtk.PrintContextK b) =>
+    a                                       -- _obj
+    -> b                                    -- context
+    -> Int32                                -- pageNr
+    -> m ()                                 -- result
+printCompositorDrawPage _obj context pageNr = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let context' = unsafeManagedPtrCastPtr context
+    gtk_source_print_compositor_draw_page _obj' context' pageNr
+    touchManagedPtr _obj
+    touchManagedPtr context
+    return ()
+
+data PrintCompositorDrawPageMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, PrintCompositorK a, Gtk.PrintContextK b) => MethodInfo PrintCompositorDrawPageMethodInfo a signature where
+    overloadedMethod _ = printCompositorDrawPage
+
+-- method PrintCompositor::get_body_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_body_font_name" gtk_source_print_compositor_get_body_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CString
+
+
+printCompositorGetBodyFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+printCompositorGetBodyFontName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_body_font_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_get_body_font_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetBodyFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetBodyFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetBodyFontName
+
+-- method PrintCompositor::get_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_bottom_margin" gtk_source_print_compositor_get_bottom_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO CDouble
+
+
+printCompositorGetBottomMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Gtk.Unit                             -- unit
+    -> m Double                             -- result
+printCompositorGetBottomMargin _obj unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_source_print_compositor_get_bottom_margin _obj' unit'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetBottomMarginMethodInfo
+instance (signature ~ (Gtk.Unit -> m Double), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetBottomMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetBottomMargin
+
+-- method PrintCompositor::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Buffer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_buffer" gtk_source_print_compositor_get_buffer :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO (Ptr Buffer)
+
+
+printCompositorGetBuffer ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Buffer                             -- result
+printCompositorGetBuffer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_buffer _obj'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_get_buffer" result
+    result' <- (newObject Buffer) result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetBufferMethodInfo
+instance (signature ~ (m Buffer), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetBufferMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetBuffer
+
+-- method PrintCompositor::get_footer_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_footer_font_name" gtk_source_print_compositor_get_footer_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CString
+
+
+printCompositorGetFooterFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+printCompositorGetFooterFontName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_footer_font_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_get_footer_font_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetFooterFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetFooterFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetFooterFontName
+
+-- method PrintCompositor::get_header_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_header_font_name" gtk_source_print_compositor_get_header_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CString
+
+
+printCompositorGetHeaderFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+printCompositorGetHeaderFontName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_header_font_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_get_header_font_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetHeaderFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetHeaderFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetHeaderFontName
+
+-- method PrintCompositor::get_highlight_syntax
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_highlight_syntax" gtk_source_print_compositor_get_highlight_syntax :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CInt
+
+
+printCompositorGetHighlightSyntax ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+printCompositorGetHighlightSyntax _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_highlight_syntax _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetHighlightSyntaxMethodInfo
+instance (signature ~ (m Bool), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetHighlightSyntaxMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetHighlightSyntax
+
+-- method PrintCompositor::get_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_left_margin" gtk_source_print_compositor_get_left_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO CDouble
+
+
+printCompositorGetLeftMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Gtk.Unit                             -- unit
+    -> m Double                             -- result
+printCompositorGetLeftMargin _obj unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_source_print_compositor_get_left_margin _obj' unit'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetLeftMarginMethodInfo
+instance (signature ~ (Gtk.Unit -> m Double), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetLeftMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetLeftMargin
+
+-- method PrintCompositor::get_line_numbers_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_line_numbers_font_name" gtk_source_print_compositor_get_line_numbers_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CString
+
+
+printCompositorGetLineNumbersFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+printCompositorGetLineNumbersFontName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_line_numbers_font_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_print_compositor_get_line_numbers_font_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetLineNumbersFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetLineNumbersFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetLineNumbersFontName
+
+-- method PrintCompositor::get_n_pages
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_n_pages" gtk_source_print_compositor_get_n_pages :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO Int32
+
+
+printCompositorGetNPages ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+printCompositorGetNPages _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_n_pages _obj'
+    touchManagedPtr _obj
+    return result
+
+data PrintCompositorGetNPagesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetNPagesMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetNPages
+
+-- method PrintCompositor::get_pagination_progress
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_pagination_progress" gtk_source_print_compositor_get_pagination_progress :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CDouble
+
+
+printCompositorGetPaginationProgress ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Double                             -- result
+printCompositorGetPaginationProgress _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_pagination_progress _obj'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetPaginationProgressMethodInfo
+instance (signature ~ (m Double), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetPaginationProgressMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetPaginationProgress
+
+-- method PrintCompositor::get_print_footer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_print_footer" gtk_source_print_compositor_get_print_footer :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CInt
+
+
+printCompositorGetPrintFooter ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+printCompositorGetPrintFooter _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_print_footer _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetPrintFooterMethodInfo
+instance (signature ~ (m Bool), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetPrintFooterMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetPrintFooter
+
+-- method PrintCompositor::get_print_header
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_print_header" gtk_source_print_compositor_get_print_header :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CInt
+
+
+printCompositorGetPrintHeader ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+printCompositorGetPrintHeader _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_print_header _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetPrintHeaderMethodInfo
+instance (signature ~ (m Bool), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetPrintHeaderMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetPrintHeader
+
+-- method PrintCompositor::get_print_line_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_print_line_numbers" gtk_source_print_compositor_get_print_line_numbers :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO Word32
+
+
+printCompositorGetPrintLineNumbers ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Word32                             -- result
+printCompositorGetPrintLineNumbers _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_print_line_numbers _obj'
+    touchManagedPtr _obj
+    return result
+
+data PrintCompositorGetPrintLineNumbersMethodInfo
+instance (signature ~ (m Word32), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetPrintLineNumbersMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetPrintLineNumbers
+
+-- method PrintCompositor::get_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_right_margin" gtk_source_print_compositor_get_right_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO CDouble
+
+
+printCompositorGetRightMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Gtk.Unit                             -- unit
+    -> m Double                             -- result
+printCompositorGetRightMargin _obj unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_source_print_compositor_get_right_margin _obj' unit'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetRightMarginMethodInfo
+instance (signature ~ (Gtk.Unit -> m Double), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetRightMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetRightMargin
+
+-- method PrintCompositor::get_tab_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_tab_width" gtk_source_print_compositor_get_tab_width :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO Word32
+
+
+printCompositorGetTabWidth ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Word32                             -- result
+printCompositorGetTabWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_tab_width _obj'
+    touchManagedPtr _obj
+    return result
+
+data PrintCompositorGetTabWidthMethodInfo
+instance (signature ~ (m Word32), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetTabWidthMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetTabWidth
+
+-- method PrintCompositor::get_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_top_margin" gtk_source_print_compositor_get_top_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO CDouble
+
+
+printCompositorGetTopMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Gtk.Unit                             -- unit
+    -> m Double                             -- result
+printCompositorGetTopMargin _obj unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_source_print_compositor_get_top_margin _obj' unit'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetTopMarginMethodInfo
+instance (signature ~ (Gtk.Unit -> m Double), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetTopMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetTopMargin
+
+-- method PrintCompositor::get_wrap_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "Gtk" "WrapMode")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_get_wrap_mode" gtk_source_print_compositor_get_wrap_mode :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    IO CUInt
+
+
+printCompositorGetWrapMode ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> m Gtk.WrapMode                       -- result
+printCompositorGetWrapMode _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_print_compositor_get_wrap_mode _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data PrintCompositorGetWrapModeMethodInfo
+instance (signature ~ (m Gtk.WrapMode), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorGetWrapModeMethodInfo a signature where
+    overloadedMethod _ = printCompositorGetWrapMode
+
+-- method PrintCompositor::paginate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "Gtk" "PrintContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_paginate" gtk_source_print_compositor_paginate :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    Ptr Gtk.PrintContext ->                 -- context : TInterface "Gtk" "PrintContext"
+    IO CInt
+
+
+printCompositorPaginate ::
+    (MonadIO m, PrintCompositorK a, Gtk.PrintContextK b) =>
+    a                                       -- _obj
+    -> b                                    -- context
+    -> m Bool                               -- result
+printCompositorPaginate _obj context = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let context' = unsafeManagedPtrCastPtr context
+    result <- gtk_source_print_compositor_paginate _obj' context'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr context
+    return result'
+
+data PrintCompositorPaginateMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, PrintCompositorK a, Gtk.PrintContextK b) => MethodInfo PrintCompositorPaginateMethodInfo a signature where
+    overloadedMethod _ = printCompositorPaginate
+
+-- method PrintCompositor::set_body_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_body_font_name" gtk_source_print_compositor_set_body_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CString ->                              -- font_name : TBasicType TUTF8
+    IO ()
+
+
+printCompositorSetBodyFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- fontName
+    -> m ()                                 -- result
+printCompositorSetBodyFontName _obj fontName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    fontName' <- textToCString fontName
+    gtk_source_print_compositor_set_body_font_name _obj' fontName'
+    touchManagedPtr _obj
+    freeMem fontName'
+    return ()
+
+data PrintCompositorSetBodyFontNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetBodyFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetBodyFontName
+
+-- method PrintCompositor::set_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_bottom_margin" gtk_source_print_compositor_set_bottom_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO ()
+
+
+printCompositorSetBottomMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Double                               -- margin
+    -> Gtk.Unit                             -- unit
+    -> m ()                                 -- result
+printCompositorSetBottomMargin _obj margin unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_source_print_compositor_set_bottom_margin _obj' margin' unit'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetBottomMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Unit -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetBottomMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetBottomMargin
+
+-- method PrintCompositor::set_footer_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_footer_font_name" gtk_source_print_compositor_set_footer_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CString ->                              -- font_name : TBasicType TUTF8
+    IO ()
+
+
+printCompositorSetFooterFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- fontName
+    -> m ()                                 -- result
+printCompositorSetFooterFontName _obj fontName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeFontName <- case fontName of
+        Nothing -> return nullPtr
+        Just jFontName -> do
+            jFontName' <- textToCString jFontName
+            return jFontName'
+    gtk_source_print_compositor_set_footer_font_name _obj' maybeFontName
+    touchManagedPtr _obj
+    freeMem maybeFontName
+    return ()
+
+data PrintCompositorSetFooterFontNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetFooterFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetFooterFontName
+
+-- method PrintCompositor::set_footer_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "separator", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "center", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_footer_format" gtk_source_print_compositor_set_footer_format :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CInt ->                                 -- separator : TBasicType TBoolean
+    CString ->                              -- left : TBasicType TUTF8
+    CString ->                              -- center : TBasicType TUTF8
+    CString ->                              -- right : TBasicType TUTF8
+    IO ()
+
+
+printCompositorSetFooterFormat ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- separator
+    -> Maybe (T.Text)                       -- left
+    -> Maybe (T.Text)                       -- center
+    -> Maybe (T.Text)                       -- right
+    -> m ()                                 -- result
+printCompositorSetFooterFormat _obj separator left center right = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let separator' = (fromIntegral . fromEnum) separator
+    maybeLeft <- case left of
+        Nothing -> return nullPtr
+        Just jLeft -> do
+            jLeft' <- textToCString jLeft
+            return jLeft'
+    maybeCenter <- case center of
+        Nothing -> return nullPtr
+        Just jCenter -> do
+            jCenter' <- textToCString jCenter
+            return jCenter'
+    maybeRight <- case right of
+        Nothing -> return nullPtr
+        Just jRight -> do
+            jRight' <- textToCString jRight
+            return jRight'
+    gtk_source_print_compositor_set_footer_format _obj' separator' maybeLeft maybeCenter maybeRight
+    touchManagedPtr _obj
+    freeMem maybeLeft
+    freeMem maybeCenter
+    freeMem maybeRight
+    return ()
+
+data PrintCompositorSetFooterFormatMethodInfo
+instance (signature ~ (Bool -> Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetFooterFormatMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetFooterFormat
+
+-- method PrintCompositor::set_header_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_header_font_name" gtk_source_print_compositor_set_header_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CString ->                              -- font_name : TBasicType TUTF8
+    IO ()
+
+
+printCompositorSetHeaderFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- fontName
+    -> m ()                                 -- result
+printCompositorSetHeaderFontName _obj fontName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeFontName <- case fontName of
+        Nothing -> return nullPtr
+        Just jFontName -> do
+            jFontName' <- textToCString jFontName
+            return jFontName'
+    gtk_source_print_compositor_set_header_font_name _obj' maybeFontName
+    touchManagedPtr _obj
+    freeMem maybeFontName
+    return ()
+
+data PrintCompositorSetHeaderFontNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetHeaderFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetHeaderFontName
+
+-- method PrintCompositor::set_header_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "separator", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "center", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_header_format" gtk_source_print_compositor_set_header_format :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CInt ->                                 -- separator : TBasicType TBoolean
+    CString ->                              -- left : TBasicType TUTF8
+    CString ->                              -- center : TBasicType TUTF8
+    CString ->                              -- right : TBasicType TUTF8
+    IO ()
+
+
+printCompositorSetHeaderFormat ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- separator
+    -> Maybe (T.Text)                       -- left
+    -> Maybe (T.Text)                       -- center
+    -> Maybe (T.Text)                       -- right
+    -> m ()                                 -- result
+printCompositorSetHeaderFormat _obj separator left center right = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let separator' = (fromIntegral . fromEnum) separator
+    maybeLeft <- case left of
+        Nothing -> return nullPtr
+        Just jLeft -> do
+            jLeft' <- textToCString jLeft
+            return jLeft'
+    maybeCenter <- case center of
+        Nothing -> return nullPtr
+        Just jCenter -> do
+            jCenter' <- textToCString jCenter
+            return jCenter'
+    maybeRight <- case right of
+        Nothing -> return nullPtr
+        Just jRight -> do
+            jRight' <- textToCString jRight
+            return jRight'
+    gtk_source_print_compositor_set_header_format _obj' separator' maybeLeft maybeCenter maybeRight
+    touchManagedPtr _obj
+    freeMem maybeLeft
+    freeMem maybeCenter
+    freeMem maybeRight
+    return ()
+
+data PrintCompositorSetHeaderFormatMethodInfo
+instance (signature ~ (Bool -> Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetHeaderFormatMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetHeaderFormat
+
+-- method PrintCompositor::set_highlight_syntax
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_highlight_syntax" gtk_source_print_compositor_set_highlight_syntax :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CInt ->                                 -- highlight : TBasicType TBoolean
+    IO ()
+
+
+printCompositorSetHighlightSyntax ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- highlight
+    -> m ()                                 -- result
+printCompositorSetHighlightSyntax _obj highlight = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let highlight' = (fromIntegral . fromEnum) highlight
+    gtk_source_print_compositor_set_highlight_syntax _obj' highlight'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetHighlightSyntaxMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetHighlightSyntaxMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetHighlightSyntax
+
+-- method PrintCompositor::set_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_left_margin" gtk_source_print_compositor_set_left_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO ()
+
+
+printCompositorSetLeftMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Double                               -- margin
+    -> Gtk.Unit                             -- unit
+    -> m ()                                 -- result
+printCompositorSetLeftMargin _obj margin unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_source_print_compositor_set_left_margin _obj' margin' unit'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetLeftMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Unit -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetLeftMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetLeftMargin
+
+-- method PrintCompositor::set_line_numbers_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_line_numbers_font_name" gtk_source_print_compositor_set_line_numbers_font_name :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CString ->                              -- font_name : TBasicType TUTF8
+    IO ()
+
+
+printCompositorSetLineNumbersFontName ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- fontName
+    -> m ()                                 -- result
+printCompositorSetLineNumbersFontName _obj fontName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeFontName <- case fontName of
+        Nothing -> return nullPtr
+        Just jFontName -> do
+            jFontName' <- textToCString jFontName
+            return jFontName'
+    gtk_source_print_compositor_set_line_numbers_font_name _obj' maybeFontName
+    touchManagedPtr _obj
+    freeMem maybeFontName
+    return ()
+
+data PrintCompositorSetLineNumbersFontNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetLineNumbersFontNameMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetLineNumbersFontName
+
+-- method PrintCompositor::set_print_footer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "print", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_print_footer" gtk_source_print_compositor_set_print_footer :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CInt ->                                 -- print : TBasicType TBoolean
+    IO ()
+
+
+printCompositorSetPrintFooter ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- print
+    -> m ()                                 -- result
+printCompositorSetPrintFooter _obj print = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let print' = (fromIntegral . fromEnum) print
+    gtk_source_print_compositor_set_print_footer _obj' print'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetPrintFooterMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetPrintFooterMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetPrintFooter
+
+-- method PrintCompositor::set_print_header
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "print", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_print_header" gtk_source_print_compositor_set_print_header :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CInt ->                                 -- print : TBasicType TBoolean
+    IO ()
+
+
+printCompositorSetPrintHeader ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- print
+    -> m ()                                 -- result
+printCompositorSetPrintHeader _obj print = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let print' = (fromIntegral . fromEnum) print
+    gtk_source_print_compositor_set_print_header _obj' print'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetPrintHeaderMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetPrintHeaderMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetPrintHeader
+
+-- method PrintCompositor::set_print_line_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_print_line_numbers" gtk_source_print_compositor_set_print_line_numbers :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    Word32 ->                               -- interval : TBasicType TUInt
+    IO ()
+
+
+printCompositorSetPrintLineNumbers ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Word32                               -- interval
+    -> m ()                                 -- result
+printCompositorSetPrintLineNumbers _obj interval = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_print_compositor_set_print_line_numbers _obj' interval
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetPrintLineNumbersMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetPrintLineNumbersMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetPrintLineNumbers
+
+-- method PrintCompositor::set_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_right_margin" gtk_source_print_compositor_set_right_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO ()
+
+
+printCompositorSetRightMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Double                               -- margin
+    -> Gtk.Unit                             -- unit
+    -> m ()                                 -- result
+printCompositorSetRightMargin _obj margin unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_source_print_compositor_set_right_margin _obj' margin' unit'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetRightMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Unit -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetRightMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetRightMargin
+
+-- method PrintCompositor::set_tab_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_tab_width" gtk_source_print_compositor_set_tab_width :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    Word32 ->                               -- width : TBasicType TUInt
+    IO ()
+
+
+printCompositorSetTabWidth ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Word32                               -- width
+    -> m ()                                 -- result
+printCompositorSetTabWidth _obj width = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_print_compositor_set_tab_width _obj' width
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetTabWidthMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetTabWidthMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetTabWidth
+
+-- method PrintCompositor::set_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface "Gtk" "Unit", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_top_margin" gtk_source_print_compositor_set_top_margin :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface "Gtk" "Unit"
+    IO ()
+
+
+printCompositorSetTopMargin ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Double                               -- margin
+    -> Gtk.Unit                             -- unit
+    -> m ()                                 -- result
+printCompositorSetTopMargin _obj margin unit = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_source_print_compositor_set_top_margin _obj' margin' unit'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetTopMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Unit -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetTopMarginMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetTopMargin
+
+-- method PrintCompositor::set_wrap_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "PrintCompositor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap_mode", argType = TInterface "Gtk" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_print_compositor_set_wrap_mode" gtk_source_print_compositor_set_wrap_mode :: 
+    Ptr PrintCompositor ->                  -- _obj : TInterface "GtkSource" "PrintCompositor"
+    CUInt ->                                -- wrap_mode : TInterface "Gtk" "WrapMode"
+    IO ()
+
+
+printCompositorSetWrapMode ::
+    (MonadIO m, PrintCompositorK a) =>
+    a                                       -- _obj
+    -> Gtk.WrapMode                         -- wrapMode
+    -> m ()                                 -- result
+printCompositorSetWrapMode _obj wrapMode = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let wrapMode' = (fromIntegral . fromEnum) wrapMode
+    gtk_source_print_compositor_set_wrap_mode _obj' wrapMode'
+    touchManagedPtr _obj
+    return ()
+
+data PrintCompositorSetWrapModeMethodInfo
+instance (signature ~ (Gtk.WrapMode -> m ()), MonadIO m, PrintCompositorK a) => MethodInfo PrintCompositorSetWrapModeMethodInfo a signature where
+    overloadedMethod _ = printCompositorSetWrapMode
+
+
diff --git a/GI/GtkSource/Objects/PrintCompositor.hs-boot b/GI/GtkSource/Objects/PrintCompositor.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/PrintCompositor.hs-boot
@@ -0,0 +1,60 @@
+module GI.GtkSource.Objects.PrintCompositor where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype PrintCompositor = PrintCompositor (ForeignPtr PrintCompositor)
+instance GObject PrintCompositor where
+class GObject o => PrintCompositorK o
+instance (GObject o, IsDescendantOf PrintCompositor o) => PrintCompositorK o
+data PrintCompositorBodyFontNamePropertyInfo
+data PrintCompositorBufferPropertyInfo
+data PrintCompositorFooterFontNamePropertyInfo
+data PrintCompositorHeaderFontNamePropertyInfo
+data PrintCompositorHighlightSyntaxPropertyInfo
+data PrintCompositorLineNumbersFontNamePropertyInfo
+data PrintCompositorNPagesPropertyInfo
+data PrintCompositorPrintFooterPropertyInfo
+data PrintCompositorPrintHeaderPropertyInfo
+data PrintCompositorPrintLineNumbersPropertyInfo
+data PrintCompositorTabWidthPropertyInfo
+data PrintCompositorWrapModePropertyInfo
+data PrintCompositorDrawPageMethodInfo
+data PrintCompositorGetBodyFontNameMethodInfo
+data PrintCompositorGetBottomMarginMethodInfo
+data PrintCompositorGetBufferMethodInfo
+data PrintCompositorGetFooterFontNameMethodInfo
+data PrintCompositorGetHeaderFontNameMethodInfo
+data PrintCompositorGetHighlightSyntaxMethodInfo
+data PrintCompositorGetLeftMarginMethodInfo
+data PrintCompositorGetLineNumbersFontNameMethodInfo
+data PrintCompositorGetNPagesMethodInfo
+data PrintCompositorGetPaginationProgressMethodInfo
+data PrintCompositorGetPrintFooterMethodInfo
+data PrintCompositorGetPrintHeaderMethodInfo
+data PrintCompositorGetPrintLineNumbersMethodInfo
+data PrintCompositorGetRightMarginMethodInfo
+data PrintCompositorGetTabWidthMethodInfo
+data PrintCompositorGetTopMarginMethodInfo
+data PrintCompositorGetWrapModeMethodInfo
+data PrintCompositorPaginateMethodInfo
+data PrintCompositorSetBodyFontNameMethodInfo
+data PrintCompositorSetBottomMarginMethodInfo
+data PrintCompositorSetFooterFontNameMethodInfo
+data PrintCompositorSetFooterFormatMethodInfo
+data PrintCompositorSetHeaderFontNameMethodInfo
+data PrintCompositorSetHeaderFormatMethodInfo
+data PrintCompositorSetHighlightSyntaxMethodInfo
+data PrintCompositorSetLeftMarginMethodInfo
+data PrintCompositorSetLineNumbersFontNameMethodInfo
+data PrintCompositorSetPrintFooterMethodInfo
+data PrintCompositorSetPrintHeaderMethodInfo
+data PrintCompositorSetPrintLineNumbersMethodInfo
+data PrintCompositorSetRightMarginMethodInfo
+data PrintCompositorSetTabWidthMethodInfo
+data PrintCompositorSetTopMarginMethodInfo
+data PrintCompositorSetWrapModeMethodInfo
diff --git a/GI/GtkSource/Objects/SearchContext.hs b/GI/GtkSource/Objects/SearchContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/SearchContext.hs
@@ -0,0 +1,1108 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.SearchContext
+    ( 
+
+-- * Exported types
+    SearchContext(..)                       ,
+    SearchContextK                          ,
+    toSearchContext                         ,
+    noSearchContext                         ,
+
+
+ -- * Methods
+-- ** searchContextBackward
+    SearchContextBackwardMethodInfo         ,
+    searchContextBackward                   ,
+
+
+-- ** searchContextBackwardAsync
+    SearchContextBackwardAsyncMethodInfo    ,
+    searchContextBackwardAsync              ,
+
+
+-- ** searchContextBackwardFinish
+    SearchContextBackwardFinishMethodInfo   ,
+    searchContextBackwardFinish             ,
+
+
+-- ** searchContextForward
+    SearchContextForwardMethodInfo          ,
+    searchContextForward                    ,
+
+
+-- ** searchContextForwardAsync
+    SearchContextForwardAsyncMethodInfo     ,
+    searchContextForwardAsync               ,
+
+
+-- ** searchContextForwardFinish
+    SearchContextForwardFinishMethodInfo    ,
+    searchContextForwardFinish              ,
+
+
+-- ** searchContextGetBuffer
+    SearchContextGetBufferMethodInfo        ,
+    searchContextGetBuffer                  ,
+
+
+-- ** searchContextGetHighlight
+    SearchContextGetHighlightMethodInfo     ,
+    searchContextGetHighlight               ,
+
+
+-- ** searchContextGetMatchStyle
+    SearchContextGetMatchStyleMethodInfo    ,
+    searchContextGetMatchStyle              ,
+
+
+-- ** searchContextGetOccurrencePosition
+    SearchContextGetOccurrencePositionMethodInfo,
+    searchContextGetOccurrencePosition      ,
+
+
+-- ** searchContextGetOccurrencesCount
+    SearchContextGetOccurrencesCountMethodInfo,
+    searchContextGetOccurrencesCount        ,
+
+
+-- ** searchContextGetRegexError
+    SearchContextGetRegexErrorMethodInfo    ,
+    searchContextGetRegexError              ,
+
+
+-- ** searchContextGetSettings
+    SearchContextGetSettingsMethodInfo      ,
+    searchContextGetSettings                ,
+
+
+-- ** searchContextNew
+    searchContextNew                        ,
+
+
+-- ** searchContextReplace
+    SearchContextReplaceMethodInfo          ,
+    searchContextReplace                    ,
+
+
+-- ** searchContextReplaceAll
+    SearchContextReplaceAllMethodInfo       ,
+    searchContextReplaceAll                 ,
+
+
+-- ** searchContextSetHighlight
+    SearchContextSetHighlightMethodInfo     ,
+    searchContextSetHighlight               ,
+
+
+-- ** searchContextSetMatchStyle
+    SearchContextSetMatchStyleMethodInfo    ,
+    searchContextSetMatchStyle              ,
+
+
+-- ** searchContextSetSettings
+    SearchContextSetSettingsMethodInfo      ,
+    searchContextSetSettings                ,
+
+
+
+
+ -- * Properties
+-- ** Buffer
+    SearchContextBufferPropertyInfo         ,
+    constructSearchContextBuffer            ,
+    getSearchContextBuffer                  ,
+    searchContextBuffer                     ,
+
+
+-- ** Highlight
+    SearchContextHighlightPropertyInfo      ,
+    constructSearchContextHighlight         ,
+    getSearchContextHighlight               ,
+    searchContextHighlight                  ,
+    setSearchContextHighlight               ,
+
+
+-- ** MatchStyle
+    SearchContextMatchStylePropertyInfo     ,
+    clearSearchContextMatchStyle            ,
+    constructSearchContextMatchStyle        ,
+    getSearchContextMatchStyle              ,
+    searchContextMatchStyle                 ,
+    setSearchContextMatchStyle              ,
+
+
+-- ** OccurrencesCount
+    SearchContextOccurrencesCountPropertyInfo,
+    getSearchContextOccurrencesCount        ,
+    searchContextOccurrencesCount           ,
+
+
+-- ** RegexError
+    SearchContextRegexErrorPropertyInfo     ,
+    getSearchContextRegexError              ,
+    searchContextRegexError                 ,
+
+
+-- ** Settings
+    SearchContextSettingsPropertyInfo       ,
+    clearSearchContextSettings              ,
+    constructSearchContextSettings          ,
+    getSearchContextSettings                ,
+    searchContextSettings                   ,
+    setSearchContextSettings                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Gio as Gio
+import qualified GI.Gtk as Gtk
+
+newtype SearchContext = SearchContext (ForeignPtr SearchContext)
+foreign import ccall "gtk_source_search_context_get_type"
+    c_gtk_source_search_context_get_type :: IO GType
+
+type instance ParentTypes SearchContext = SearchContextParentTypes
+type SearchContextParentTypes = '[GObject.Object]
+
+instance GObject SearchContext where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_search_context_get_type
+    
+
+class GObject o => SearchContextK o
+instance (GObject o, IsDescendantOf SearchContext o) => SearchContextK o
+
+toSearchContext :: SearchContextK o => o -> IO SearchContext
+toSearchContext = unsafeCastTo SearchContext
+
+noSearchContext :: Maybe SearchContext
+noSearchContext = Nothing
+
+type family ResolveSearchContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSearchContextMethod "backward" o = SearchContextBackwardMethodInfo
+    ResolveSearchContextMethod "backwardAsync" o = SearchContextBackwardAsyncMethodInfo
+    ResolveSearchContextMethod "backwardFinish" o = SearchContextBackwardFinishMethodInfo
+    ResolveSearchContextMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSearchContextMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSearchContextMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSearchContextMethod "forward" o = SearchContextForwardMethodInfo
+    ResolveSearchContextMethod "forwardAsync" o = SearchContextForwardAsyncMethodInfo
+    ResolveSearchContextMethod "forwardFinish" o = SearchContextForwardFinishMethodInfo
+    ResolveSearchContextMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSearchContextMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSearchContextMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSearchContextMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSearchContextMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSearchContextMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSearchContextMethod "replace" o = SearchContextReplaceMethodInfo
+    ResolveSearchContextMethod "replaceAll" o = SearchContextReplaceAllMethodInfo
+    ResolveSearchContextMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSearchContextMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSearchContextMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSearchContextMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSearchContextMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSearchContextMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSearchContextMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSearchContextMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSearchContextMethod "getBuffer" o = SearchContextGetBufferMethodInfo
+    ResolveSearchContextMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSearchContextMethod "getHighlight" o = SearchContextGetHighlightMethodInfo
+    ResolveSearchContextMethod "getMatchStyle" o = SearchContextGetMatchStyleMethodInfo
+    ResolveSearchContextMethod "getOccurrencePosition" o = SearchContextGetOccurrencePositionMethodInfo
+    ResolveSearchContextMethod "getOccurrencesCount" o = SearchContextGetOccurrencesCountMethodInfo
+    ResolveSearchContextMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSearchContextMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSearchContextMethod "getRegexError" o = SearchContextGetRegexErrorMethodInfo
+    ResolveSearchContextMethod "getSettings" o = SearchContextGetSettingsMethodInfo
+    ResolveSearchContextMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSearchContextMethod "setHighlight" o = SearchContextSetHighlightMethodInfo
+    ResolveSearchContextMethod "setMatchStyle" o = SearchContextSetMatchStyleMethodInfo
+    ResolveSearchContextMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSearchContextMethod "setSettings" o = SearchContextSetSettingsMethodInfo
+    ResolveSearchContextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSearchContextMethod t SearchContext, MethodInfo info SearchContext p) => IsLabelProxy t (SearchContext -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSearchContextMethod t SearchContext, MethodInfo info SearchContext p) => IsLabel t (SearchContext -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "buffer"
+   -- Type: TInterface "GtkSource" "Buffer"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getSearchContextBuffer :: (MonadIO m, SearchContextK o) => o -> m Buffer
+getSearchContextBuffer obj = liftIO $ checkUnexpectedNothing "getSearchContextBuffer" $ getObjectPropertyObject obj "buffer" Buffer
+
+constructSearchContextBuffer :: (BufferK a) => a -> IO ([Char], GValue)
+constructSearchContextBuffer val = constructObjectPropertyObject "buffer" (Just val)
+
+data SearchContextBufferPropertyInfo
+instance AttrInfo SearchContextBufferPropertyInfo where
+    type AttrAllowedOps SearchContextBufferPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SearchContextBufferPropertyInfo = BufferK
+    type AttrBaseTypeConstraint SearchContextBufferPropertyInfo = SearchContextK
+    type AttrGetType SearchContextBufferPropertyInfo = Buffer
+    type AttrLabel SearchContextBufferPropertyInfo = "buffer"
+    attrGet _ = getSearchContextBuffer
+    attrSet _ = undefined
+    attrConstruct _ = constructSearchContextBuffer
+    attrClear _ = undefined
+
+-- VVV Prop "highlight"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getSearchContextHighlight :: (MonadIO m, SearchContextK o) => o -> m Bool
+getSearchContextHighlight obj = liftIO $ getObjectPropertyBool obj "highlight"
+
+setSearchContextHighlight :: (MonadIO m, SearchContextK o) => o -> Bool -> m ()
+setSearchContextHighlight obj val = liftIO $ setObjectPropertyBool obj "highlight" val
+
+constructSearchContextHighlight :: Bool -> IO ([Char], GValue)
+constructSearchContextHighlight val = constructObjectPropertyBool "highlight" val
+
+data SearchContextHighlightPropertyInfo
+instance AttrInfo SearchContextHighlightPropertyInfo where
+    type AttrAllowedOps SearchContextHighlightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchContextHighlightPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchContextHighlightPropertyInfo = SearchContextK
+    type AttrGetType SearchContextHighlightPropertyInfo = Bool
+    type AttrLabel SearchContextHighlightPropertyInfo = "highlight"
+    attrGet _ = getSearchContextHighlight
+    attrSet _ = setSearchContextHighlight
+    attrConstruct _ = constructSearchContextHighlight
+    attrClear _ = undefined
+
+-- VVV Prop "match-style"
+   -- Type: TInterface "GtkSource" "Style"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just True)
+
+getSearchContextMatchStyle :: (MonadIO m, SearchContextK o) => o -> m Style
+getSearchContextMatchStyle obj = liftIO $ checkUnexpectedNothing "getSearchContextMatchStyle" $ getObjectPropertyObject obj "match-style" Style
+
+setSearchContextMatchStyle :: (MonadIO m, SearchContextK o, StyleK a) => o -> a -> m ()
+setSearchContextMatchStyle obj val = liftIO $ setObjectPropertyObject obj "match-style" (Just val)
+
+constructSearchContextMatchStyle :: (StyleK a) => a -> IO ([Char], GValue)
+constructSearchContextMatchStyle val = constructObjectPropertyObject "match-style" (Just val)
+
+clearSearchContextMatchStyle :: (MonadIO m, SearchContextK o) => o -> m ()
+clearSearchContextMatchStyle obj = liftIO $ setObjectPropertyObject obj "match-style" (Nothing :: Maybe Style)
+
+data SearchContextMatchStylePropertyInfo
+instance AttrInfo SearchContextMatchStylePropertyInfo where
+    type AttrAllowedOps SearchContextMatchStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SearchContextMatchStylePropertyInfo = StyleK
+    type AttrBaseTypeConstraint SearchContextMatchStylePropertyInfo = SearchContextK
+    type AttrGetType SearchContextMatchStylePropertyInfo = Style
+    type AttrLabel SearchContextMatchStylePropertyInfo = "match-style"
+    attrGet _ = getSearchContextMatchStyle
+    attrSet _ = setSearchContextMatchStyle
+    attrConstruct _ = constructSearchContextMatchStyle
+    attrClear _ = clearSearchContextMatchStyle
+
+-- VVV Prop "occurrences-count"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getSearchContextOccurrencesCount :: (MonadIO m, SearchContextK o) => o -> m Int32
+getSearchContextOccurrencesCount obj = liftIO $ getObjectPropertyInt32 obj "occurrences-count"
+
+data SearchContextOccurrencesCountPropertyInfo
+instance AttrInfo SearchContextOccurrencesCountPropertyInfo where
+    type AttrAllowedOps SearchContextOccurrencesCountPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint SearchContextOccurrencesCountPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint SearchContextOccurrencesCountPropertyInfo = SearchContextK
+    type AttrGetType SearchContextOccurrencesCountPropertyInfo = Int32
+    type AttrLabel SearchContextOccurrencesCountPropertyInfo = "occurrences-count"
+    attrGet _ = getSearchContextOccurrencesCount
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "regex-error"
+   -- Type: TBasicType TPtr
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+getSearchContextRegexError :: (MonadIO m, SearchContextK o) => o -> m (Ptr ())
+getSearchContextRegexError obj = liftIO $ getObjectPropertyPtr obj "regex-error"
+
+data SearchContextRegexErrorPropertyInfo
+instance AttrInfo SearchContextRegexErrorPropertyInfo where
+    type AttrAllowedOps SearchContextRegexErrorPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint SearchContextRegexErrorPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint SearchContextRegexErrorPropertyInfo = SearchContextK
+    type AttrGetType SearchContextRegexErrorPropertyInfo = (Ptr ())
+    type AttrLabel SearchContextRegexErrorPropertyInfo = "regex-error"
+    attrGet _ = getSearchContextRegexError
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "settings"
+   -- Type: TInterface "GtkSource" "SearchSettings"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just True)
+
+getSearchContextSettings :: (MonadIO m, SearchContextK o) => o -> m SearchSettings
+getSearchContextSettings obj = liftIO $ checkUnexpectedNothing "getSearchContextSettings" $ getObjectPropertyObject obj "settings" SearchSettings
+
+setSearchContextSettings :: (MonadIO m, SearchContextK o, SearchSettingsK a) => o -> a -> m ()
+setSearchContextSettings obj val = liftIO $ setObjectPropertyObject obj "settings" (Just val)
+
+constructSearchContextSettings :: (SearchSettingsK a) => a -> IO ([Char], GValue)
+constructSearchContextSettings val = constructObjectPropertyObject "settings" (Just val)
+
+clearSearchContextSettings :: (MonadIO m, SearchContextK o) => o -> m ()
+clearSearchContextSettings obj = liftIO $ setObjectPropertyObject obj "settings" (Nothing :: Maybe SearchSettings)
+
+data SearchContextSettingsPropertyInfo
+instance AttrInfo SearchContextSettingsPropertyInfo where
+    type AttrAllowedOps SearchContextSettingsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SearchContextSettingsPropertyInfo = SearchSettingsK
+    type AttrBaseTypeConstraint SearchContextSettingsPropertyInfo = SearchContextK
+    type AttrGetType SearchContextSettingsPropertyInfo = SearchSettings
+    type AttrLabel SearchContextSettingsPropertyInfo = "settings"
+    attrGet _ = getSearchContextSettings
+    attrSet _ = setSearchContextSettings
+    attrConstruct _ = constructSearchContextSettings
+    attrClear _ = clearSearchContextSettings
+
+type instance AttributeList SearchContext = SearchContextAttributeList
+type SearchContextAttributeList = ('[ '("buffer", SearchContextBufferPropertyInfo), '("highlight", SearchContextHighlightPropertyInfo), '("matchStyle", SearchContextMatchStylePropertyInfo), '("occurrencesCount", SearchContextOccurrencesCountPropertyInfo), '("regexError", SearchContextRegexErrorPropertyInfo), '("settings", SearchContextSettingsPropertyInfo)] :: [(Symbol, *)])
+
+searchContextBuffer :: AttrLabelProxy "buffer"
+searchContextBuffer = AttrLabelProxy
+
+searchContextHighlight :: AttrLabelProxy "highlight"
+searchContextHighlight = AttrLabelProxy
+
+searchContextMatchStyle :: AttrLabelProxy "matchStyle"
+searchContextMatchStyle = AttrLabelProxy
+
+searchContextOccurrencesCount :: AttrLabelProxy "occurrencesCount"
+searchContextOccurrencesCount = AttrLabelProxy
+
+searchContextRegexError :: AttrLabelProxy "regexError"
+searchContextRegexError = AttrLabelProxy
+
+searchContextSettings :: AttrLabelProxy "settings"
+searchContextSettings = AttrLabelProxy
+
+type instance SignalList SearchContext = SearchContextSignalList
+type SearchContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method SearchContext::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "settings", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "SearchContext")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_new" gtk_source_search_context_new :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    Ptr SearchSettings ->                   -- settings : TInterface "GtkSource" "SearchSettings"
+    IO (Ptr SearchContext)
+
+
+searchContextNew ::
+    (MonadIO m, BufferK a, SearchSettingsK b) =>
+    a                                       -- buffer
+    -> Maybe (b)                            -- settings
+    -> m SearchContext                      -- result
+searchContextNew buffer settings = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    maybeSettings <- case settings of
+        Nothing -> return nullPtr
+        Just jSettings -> do
+            let jSettings' = unsafeManagedPtrCastPtr jSettings
+            return jSettings'
+    result <- gtk_source_search_context_new buffer' maybeSettings
+    checkUnexpectedReturnNULL "gtk_source_search_context_new" result
+    result' <- (wrapObject SearchContext) result
+    touchManagedPtr buffer
+    whenJust settings touchManagedPtr
+    return result'
+
+-- method SearchContext::backward
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_backward" gtk_source_search_context_backward :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_end : TInterface "Gtk" "TextIter"
+    IO CInt
+
+
+searchContextBackward ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> m (Bool,Gtk.TextIter,Gtk.TextIter)   -- result
+searchContextBackward _obj iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    matchStart <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    matchEnd <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    result <- gtk_source_search_context_backward _obj' iter' matchStart matchEnd
+    let result' = (/= 0) result
+    matchStart' <- (wrapBoxed Gtk.TextIter) matchStart
+    matchEnd' <- (wrapBoxed Gtk.TextIter) matchEnd
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    return (result', matchStart', matchEnd')
+
+data SearchContextBackwardMethodInfo
+instance (signature ~ (Gtk.TextIter -> m (Bool,Gtk.TextIter,Gtk.TextIter)), MonadIO m, SearchContextK a) => MethodInfo SearchContextBackwardMethodInfo a signature where
+    overloadedMethod _ = searchContextBackward
+
+-- method SearchContext::backward_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_backward_async" gtk_source_search_context_backward_async :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+
+searchContextBackwardAsync ::
+    (MonadIO m, SearchContextK a, Gio.CancellableK b) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
+searchContextBackwardAsync _obj iter cancellable callback = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.AsyncReadyCallbackC))
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
+            poke ptrcallback jCallback'
+            return jCallback'
+    let userData = nullPtr
+    gtk_source_search_context_backward_async _obj' iter' maybeCancellable maybeCallback userData
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    whenJust cancellable touchManagedPtr
+    return ()
+
+data SearchContextBackwardAsyncMethodInfo
+instance (signature ~ (Gtk.TextIter -> Maybe (b) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, SearchContextK a, Gio.CancellableK b) => MethodInfo SearchContextBackwardAsyncMethodInfo a signature where
+    overloadedMethod _ = searchContextBackwardAsync
+
+-- method SearchContext::backward_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_backward_finish" gtk_source_search_context_backward_finish :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"
+    Ptr Gtk.TextIter ->                     -- match_start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_end : TInterface "Gtk" "TextIter"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+searchContextBackwardFinish ::
+    (MonadIO m, SearchContextK a, Gio.AsyncResultK b) =>
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m (Gtk.TextIter,Gtk.TextIter)        -- result
+searchContextBackwardFinish _obj result_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let result_' = unsafeManagedPtrCastPtr result_
+    matchStart <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    matchEnd <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    onException (do
+        _ <- propagateGError $ gtk_source_search_context_backward_finish _obj' result_' matchStart matchEnd
+        matchStart' <- (wrapBoxed Gtk.TextIter) matchStart
+        matchEnd' <- (wrapBoxed Gtk.TextIter) matchEnd
+        touchManagedPtr _obj
+        touchManagedPtr result_
+        return (matchStart', matchEnd')
+     ) (do
+        freeMem matchStart
+        freeMem matchEnd
+     )
+
+data SearchContextBackwardFinishMethodInfo
+instance (signature ~ (b -> m (Gtk.TextIter,Gtk.TextIter)), MonadIO m, SearchContextK a, Gio.AsyncResultK b) => MethodInfo SearchContextBackwardFinishMethodInfo a signature where
+    overloadedMethod _ = searchContextBackwardFinish
+
+-- method SearchContext::forward
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_forward" gtk_source_search_context_forward :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_end : TInterface "Gtk" "TextIter"
+    IO CInt
+
+
+searchContextForward ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> m (Bool,Gtk.TextIter,Gtk.TextIter)   -- result
+searchContextForward _obj iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    matchStart <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    matchEnd <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    result <- gtk_source_search_context_forward _obj' iter' matchStart matchEnd
+    let result' = (/= 0) result
+    matchStart' <- (wrapBoxed Gtk.TextIter) matchStart
+    matchEnd' <- (wrapBoxed Gtk.TextIter) matchEnd
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    return (result', matchStart', matchEnd')
+
+data SearchContextForwardMethodInfo
+instance (signature ~ (Gtk.TextIter -> m (Bool,Gtk.TextIter,Gtk.TextIter)), MonadIO m, SearchContextK a) => MethodInfo SearchContextForwardMethodInfo a signature where
+    overloadedMethod _ = searchContextForward
+
+-- method SearchContext::forward_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_forward_async" gtk_source_search_context_forward_async :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+
+searchContextForwardAsync ::
+    (MonadIO m, SearchContextK a, Gio.CancellableK b) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> Maybe (b)                            -- cancellable
+    -> Maybe (Gio.AsyncReadyCallback)       -- callback
+    -> m ()                                 -- result
+searchContextForwardAsync _obj iter cancellable callback = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.AsyncReadyCallbackC))
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)
+            poke ptrcallback jCallback'
+            return jCallback'
+    let userData = nullPtr
+    gtk_source_search_context_forward_async _obj' iter' maybeCancellable maybeCallback userData
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    whenJust cancellable touchManagedPtr
+    return ()
+
+data SearchContextForwardAsyncMethodInfo
+instance (signature ~ (Gtk.TextIter -> Maybe (b) -> Maybe (Gio.AsyncReadyCallback) -> m ()), MonadIO m, SearchContextK a, Gio.CancellableK b) => MethodInfo SearchContextForwardAsyncMethodInfo a signature where
+    overloadedMethod _ = searchContextForwardAsync
+
+-- method SearchContext::forward_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface "Gtk" "TextIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_forward_finish" gtk_source_search_context_forward_finish :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"
+    Ptr Gtk.TextIter ->                     -- match_start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_end : TInterface "Gtk" "TextIter"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+searchContextForwardFinish ::
+    (MonadIO m, SearchContextK a, Gio.AsyncResultK b) =>
+    a                                       -- _obj
+    -> b                                    -- result_
+    -> m (Gtk.TextIter,Gtk.TextIter)        -- result
+searchContextForwardFinish _obj result_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let result_' = unsafeManagedPtrCastPtr result_
+    matchStart <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    matchEnd <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter)
+    onException (do
+        _ <- propagateGError $ gtk_source_search_context_forward_finish _obj' result_' matchStart matchEnd
+        matchStart' <- (wrapBoxed Gtk.TextIter) matchStart
+        matchEnd' <- (wrapBoxed Gtk.TextIter) matchEnd
+        touchManagedPtr _obj
+        touchManagedPtr result_
+        return (matchStart', matchEnd')
+     ) (do
+        freeMem matchStart
+        freeMem matchEnd
+     )
+
+data SearchContextForwardFinishMethodInfo
+instance (signature ~ (b -> m (Gtk.TextIter,Gtk.TextIter)), MonadIO m, SearchContextK a, Gio.AsyncResultK b) => MethodInfo SearchContextForwardFinishMethodInfo a signature where
+    overloadedMethod _ = searchContextForwardFinish
+
+-- method SearchContext::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Buffer")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_buffer" gtk_source_search_context_get_buffer :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    IO (Ptr Buffer)
+
+
+searchContextGetBuffer ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> m Buffer                             -- result
+searchContextGetBuffer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_context_get_buffer _obj'
+    checkUnexpectedReturnNULL "gtk_source_search_context_get_buffer" result
+    result' <- (newObject Buffer) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchContextGetBufferMethodInfo
+instance (signature ~ (m Buffer), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetBufferMethodInfo a signature where
+    overloadedMethod _ = searchContextGetBuffer
+
+-- method SearchContext::get_highlight
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_highlight" gtk_source_search_context_get_highlight :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    IO CInt
+
+
+searchContextGetHighlight ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+searchContextGetHighlight _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_context_get_highlight _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchContextGetHighlightMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetHighlightMethodInfo a signature where
+    overloadedMethod _ = searchContextGetHighlight
+
+-- method SearchContext::get_match_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Style")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_match_style" gtk_source_search_context_get_match_style :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    IO (Ptr Style)
+
+
+searchContextGetMatchStyle ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> m Style                              -- result
+searchContextGetMatchStyle _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_context_get_match_style _obj'
+    checkUnexpectedReturnNULL "gtk_source_search_context_get_match_style" result
+    result' <- (newObject Style) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchContextGetMatchStyleMethodInfo
+instance (signature ~ (m Style), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetMatchStyleMethodInfo a signature where
+    overloadedMethod _ = searchContextGetMatchStyle
+
+-- method SearchContext::get_occurrence_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_occurrence_position" gtk_source_search_context_get_occurrence_position :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gtk.TextIter ->                     -- match_start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_end : TInterface "Gtk" "TextIter"
+    IO Int32
+
+
+searchContextGetOccurrencePosition ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- matchStart
+    -> Gtk.TextIter                         -- matchEnd
+    -> m Int32                              -- result
+searchContextGetOccurrencePosition _obj matchStart matchEnd = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let matchStart' = unsafeManagedPtrGetPtr matchStart
+    let matchEnd' = unsafeManagedPtrGetPtr matchEnd
+    result <- gtk_source_search_context_get_occurrence_position _obj' matchStart' matchEnd'
+    touchManagedPtr _obj
+    touchManagedPtr matchStart
+    touchManagedPtr matchEnd
+    return result
+
+data SearchContextGetOccurrencePositionMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> m Int32), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetOccurrencePositionMethodInfo a signature where
+    overloadedMethod _ = searchContextGetOccurrencePosition
+
+-- method SearchContext::get_occurrences_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_occurrences_count" gtk_source_search_context_get_occurrences_count :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    IO Int32
+
+
+searchContextGetOccurrencesCount ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+searchContextGetOccurrencesCount _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_context_get_occurrences_count _obj'
+    touchManagedPtr _obj
+    return result
+
+data SearchContextGetOccurrencesCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetOccurrencesCountMethodInfo a signature where
+    overloadedMethod _ = searchContextGetOccurrencesCount
+
+-- method SearchContext::get_regex_error
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TError
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_regex_error" gtk_source_search_context_get_regex_error :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    IO (Ptr GError)
+
+
+searchContextGetRegexError ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> m (Maybe GError)                     -- result
+searchContextGetRegexError _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_context_get_regex_error _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed GError) result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data SearchContextGetRegexErrorMethodInfo
+instance (signature ~ (m (Maybe GError)), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetRegexErrorMethodInfo a signature where
+    overloadedMethod _ = searchContextGetRegexError
+
+-- method SearchContext::get_settings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "SearchSettings")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_get_settings" gtk_source_search_context_get_settings :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    IO (Ptr SearchSettings)
+
+
+searchContextGetSettings ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> m SearchSettings                     -- result
+searchContextGetSettings _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_context_get_settings _obj'
+    checkUnexpectedReturnNULL "gtk_source_search_context_get_settings" result
+    result' <- (newObject SearchSettings) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchContextGetSettingsMethodInfo
+instance (signature ~ (m SearchSettings), MonadIO m, SearchContextK a) => MethodInfo SearchContextGetSettingsMethodInfo a signature where
+    overloadedMethod _ = searchContextGetSettings
+
+-- method SearchContext::replace
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace_length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_replace" gtk_source_search_context_replace :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Gtk.TextIter ->                     -- match_start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- match_end : TInterface "Gtk" "TextIter"
+    CString ->                              -- replace : TBasicType TUTF8
+    Int32 ->                                -- replace_length : TBasicType TInt
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+searchContextReplace ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- matchStart
+    -> Gtk.TextIter                         -- matchEnd
+    -> T.Text                               -- replace
+    -> Int32                                -- replaceLength
+    -> m ()                                 -- result
+searchContextReplace _obj matchStart matchEnd replace replaceLength = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let matchStart' = unsafeManagedPtrGetPtr matchStart
+    let matchEnd' = unsafeManagedPtrGetPtr matchEnd
+    replace' <- textToCString replace
+    onException (do
+        _ <- propagateGError $ gtk_source_search_context_replace _obj' matchStart' matchEnd' replace' replaceLength
+        touchManagedPtr _obj
+        touchManagedPtr matchStart
+        touchManagedPtr matchEnd
+        freeMem replace'
+        return ()
+     ) (do
+        freeMem replace'
+     )
+
+data SearchContextReplaceMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> T.Text -> Int32 -> m ()), MonadIO m, SearchContextK a) => MethodInfo SearchContextReplaceMethodInfo a signature where
+    overloadedMethod _ = searchContextReplace
+
+-- method SearchContext::replace_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace_length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_replace_all" gtk_source_search_context_replace_all :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    CString ->                              -- replace : TBasicType TUTF8
+    Int32 ->                                -- replace_length : TBasicType TInt
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+
+searchContextReplaceAll ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- replace
+    -> Int32                                -- replaceLength
+    -> m Word32                             -- result
+searchContextReplaceAll _obj replace replaceLength = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    replace' <- textToCString replace
+    onException (do
+        result <- propagateGError $ gtk_source_search_context_replace_all _obj' replace' replaceLength
+        touchManagedPtr _obj
+        freeMem replace'
+        return result
+     ) (do
+        freeMem replace'
+     )
+
+data SearchContextReplaceAllMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m Word32), MonadIO m, SearchContextK a) => MethodInfo SearchContextReplaceAllMethodInfo a signature where
+    overloadedMethod _ = searchContextReplaceAll
+
+-- method SearchContext::set_highlight
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_set_highlight" gtk_source_search_context_set_highlight :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    CInt ->                                 -- highlight : TBasicType TBoolean
+    IO ()
+
+
+searchContextSetHighlight ::
+    (MonadIO m, SearchContextK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- highlight
+    -> m ()                                 -- result
+searchContextSetHighlight _obj highlight = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let highlight' = (fromIntegral . fromEnum) highlight
+    gtk_source_search_context_set_highlight _obj' highlight'
+    touchManagedPtr _obj
+    return ()
+
+data SearchContextSetHighlightMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, SearchContextK a) => MethodInfo SearchContextSetHighlightMethodInfo a signature where
+    overloadedMethod _ = searchContextSetHighlight
+
+-- method SearchContext::set_match_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_style", argType = TInterface "GtkSource" "Style", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_set_match_style" gtk_source_search_context_set_match_style :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr Style ->                            -- match_style : TInterface "GtkSource" "Style"
+    IO ()
+
+
+searchContextSetMatchStyle ::
+    (MonadIO m, SearchContextK a, StyleK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- matchStyle
+    -> m ()                                 -- result
+searchContextSetMatchStyle _obj matchStyle = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeMatchStyle <- case matchStyle of
+        Nothing -> return nullPtr
+        Just jMatchStyle -> do
+            let jMatchStyle' = unsafeManagedPtrCastPtr jMatchStyle
+            return jMatchStyle'
+    gtk_source_search_context_set_match_style _obj' maybeMatchStyle
+    touchManagedPtr _obj
+    whenJust matchStyle touchManagedPtr
+    return ()
+
+data SearchContextSetMatchStyleMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, SearchContextK a, StyleK b) => MethodInfo SearchContextSetMatchStyleMethodInfo a signature where
+    overloadedMethod _ = searchContextSetMatchStyle
+
+-- method SearchContext::set_settings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "settings", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_context_set_settings" gtk_source_search_context_set_settings :: 
+    Ptr SearchContext ->                    -- _obj : TInterface "GtkSource" "SearchContext"
+    Ptr SearchSettings ->                   -- settings : TInterface "GtkSource" "SearchSettings"
+    IO ()
+
+
+searchContextSetSettings ::
+    (MonadIO m, SearchContextK a, SearchSettingsK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- settings
+    -> m ()                                 -- result
+searchContextSetSettings _obj settings = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeSettings <- case settings of
+        Nothing -> return nullPtr
+        Just jSettings -> do
+            let jSettings' = unsafeManagedPtrCastPtr jSettings
+            return jSettings'
+    gtk_source_search_context_set_settings _obj' maybeSettings
+    touchManagedPtr _obj
+    whenJust settings touchManagedPtr
+    return ()
+
+data SearchContextSetSettingsMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, SearchContextK a, SearchSettingsK b) => MethodInfo SearchContextSetSettingsMethodInfo a signature where
+    overloadedMethod _ = searchContextSetSettings
+
+
diff --git a/GI/GtkSource/Objects/SearchContext.hs-boot b/GI/GtkSource/Objects/SearchContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/SearchContext.hs-boot
@@ -0,0 +1,37 @@
+module GI.GtkSource.Objects.SearchContext where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype SearchContext = SearchContext (ForeignPtr SearchContext)
+instance GObject SearchContext where
+class GObject o => SearchContextK o
+instance (GObject o, IsDescendantOf SearchContext o) => SearchContextK o
+data SearchContextBufferPropertyInfo
+data SearchContextHighlightPropertyInfo
+data SearchContextMatchStylePropertyInfo
+data SearchContextOccurrencesCountPropertyInfo
+data SearchContextRegexErrorPropertyInfo
+data SearchContextSettingsPropertyInfo
+data SearchContextBackwardMethodInfo
+data SearchContextBackwardAsyncMethodInfo
+data SearchContextBackwardFinishMethodInfo
+data SearchContextForwardMethodInfo
+data SearchContextForwardAsyncMethodInfo
+data SearchContextForwardFinishMethodInfo
+data SearchContextGetBufferMethodInfo
+data SearchContextGetHighlightMethodInfo
+data SearchContextGetMatchStyleMethodInfo
+data SearchContextGetOccurrencePositionMethodInfo
+data SearchContextGetOccurrencesCountMethodInfo
+data SearchContextGetRegexErrorMethodInfo
+data SearchContextGetSettingsMethodInfo
+data SearchContextReplaceMethodInfo
+data SearchContextReplaceAllMethodInfo
+data SearchContextSetHighlightMethodInfo
+data SearchContextSetMatchStyleMethodInfo
+data SearchContextSetSettingsMethodInfo
diff --git a/GI/GtkSource/Objects/SearchSettings.hs b/GI/GtkSource/Objects/SearchSettings.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/SearchSettings.hs
@@ -0,0 +1,669 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.SearchSettings
+    ( 
+
+-- * Exported types
+    SearchSettings(..)                      ,
+    SearchSettingsK                         ,
+    toSearchSettings                        ,
+    noSearchSettings                        ,
+
+
+ -- * Methods
+-- ** searchSettingsGetAtWordBoundaries
+    SearchSettingsGetAtWordBoundariesMethodInfo,
+    searchSettingsGetAtWordBoundaries       ,
+
+
+-- ** searchSettingsGetCaseSensitive
+    SearchSettingsGetCaseSensitiveMethodInfo,
+    searchSettingsGetCaseSensitive          ,
+
+
+-- ** searchSettingsGetRegexEnabled
+    SearchSettingsGetRegexEnabledMethodInfo ,
+    searchSettingsGetRegexEnabled           ,
+
+
+-- ** searchSettingsGetSearchText
+    SearchSettingsGetSearchTextMethodInfo   ,
+    searchSettingsGetSearchText             ,
+
+
+-- ** searchSettingsGetWrapAround
+    SearchSettingsGetWrapAroundMethodInfo   ,
+    searchSettingsGetWrapAround             ,
+
+
+-- ** searchSettingsNew
+    searchSettingsNew                       ,
+
+
+-- ** searchSettingsSetAtWordBoundaries
+    SearchSettingsSetAtWordBoundariesMethodInfo,
+    searchSettingsSetAtWordBoundaries       ,
+
+
+-- ** searchSettingsSetCaseSensitive
+    SearchSettingsSetCaseSensitiveMethodInfo,
+    searchSettingsSetCaseSensitive          ,
+
+
+-- ** searchSettingsSetRegexEnabled
+    SearchSettingsSetRegexEnabledMethodInfo ,
+    searchSettingsSetRegexEnabled           ,
+
+
+-- ** searchSettingsSetSearchText
+    SearchSettingsSetSearchTextMethodInfo   ,
+    searchSettingsSetSearchText             ,
+
+
+-- ** searchSettingsSetWrapAround
+    SearchSettingsSetWrapAroundMethodInfo   ,
+    searchSettingsSetWrapAround             ,
+
+
+
+
+ -- * Properties
+-- ** AtWordBoundaries
+    SearchSettingsAtWordBoundariesPropertyInfo,
+    constructSearchSettingsAtWordBoundaries ,
+    getSearchSettingsAtWordBoundaries       ,
+    searchSettingsAtWordBoundaries          ,
+    setSearchSettingsAtWordBoundaries       ,
+
+
+-- ** CaseSensitive
+    SearchSettingsCaseSensitivePropertyInfo ,
+    constructSearchSettingsCaseSensitive    ,
+    getSearchSettingsCaseSensitive          ,
+    searchSettingsCaseSensitive             ,
+    setSearchSettingsCaseSensitive          ,
+
+
+-- ** RegexEnabled
+    SearchSettingsRegexEnabledPropertyInfo  ,
+    constructSearchSettingsRegexEnabled     ,
+    getSearchSettingsRegexEnabled           ,
+    searchSettingsRegexEnabled              ,
+    setSearchSettingsRegexEnabled           ,
+
+
+-- ** SearchText
+    SearchSettingsSearchTextPropertyInfo    ,
+    clearSearchSettingsSearchText           ,
+    constructSearchSettingsSearchText       ,
+    getSearchSettingsSearchText             ,
+    searchSettingsSearchText                ,
+    setSearchSettingsSearchText             ,
+
+
+-- ** WrapAround
+    SearchSettingsWrapAroundPropertyInfo    ,
+    constructSearchSettingsWrapAround       ,
+    getSearchSettingsWrapAround             ,
+    searchSettingsWrapAround                ,
+    setSearchSettingsWrapAround             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+newtype SearchSettings = SearchSettings (ForeignPtr SearchSettings)
+foreign import ccall "gtk_source_search_settings_get_type"
+    c_gtk_source_search_settings_get_type :: IO GType
+
+type instance ParentTypes SearchSettings = SearchSettingsParentTypes
+type SearchSettingsParentTypes = '[GObject.Object]
+
+instance GObject SearchSettings where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_search_settings_get_type
+    
+
+class GObject o => SearchSettingsK o
+instance (GObject o, IsDescendantOf SearchSettings o) => SearchSettingsK o
+
+toSearchSettings :: SearchSettingsK o => o -> IO SearchSettings
+toSearchSettings = unsafeCastTo SearchSettings
+
+noSearchSettings :: Maybe SearchSettings
+noSearchSettings = Nothing
+
+type family ResolveSearchSettingsMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSearchSettingsMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSearchSettingsMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSearchSettingsMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSearchSettingsMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSearchSettingsMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSearchSettingsMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSearchSettingsMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSearchSettingsMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSearchSettingsMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSearchSettingsMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSearchSettingsMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSearchSettingsMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSearchSettingsMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSearchSettingsMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSearchSettingsMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSearchSettingsMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSearchSettingsMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSearchSettingsMethod "getAtWordBoundaries" o = SearchSettingsGetAtWordBoundariesMethodInfo
+    ResolveSearchSettingsMethod "getCaseSensitive" o = SearchSettingsGetCaseSensitiveMethodInfo
+    ResolveSearchSettingsMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSearchSettingsMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSearchSettingsMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSearchSettingsMethod "getRegexEnabled" o = SearchSettingsGetRegexEnabledMethodInfo
+    ResolveSearchSettingsMethod "getSearchText" o = SearchSettingsGetSearchTextMethodInfo
+    ResolveSearchSettingsMethod "getWrapAround" o = SearchSettingsGetWrapAroundMethodInfo
+    ResolveSearchSettingsMethod "setAtWordBoundaries" o = SearchSettingsSetAtWordBoundariesMethodInfo
+    ResolveSearchSettingsMethod "setCaseSensitive" o = SearchSettingsSetCaseSensitiveMethodInfo
+    ResolveSearchSettingsMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSearchSettingsMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSearchSettingsMethod "setRegexEnabled" o = SearchSettingsSetRegexEnabledMethodInfo
+    ResolveSearchSettingsMethod "setSearchText" o = SearchSettingsSetSearchTextMethodInfo
+    ResolveSearchSettingsMethod "setWrapAround" o = SearchSettingsSetWrapAroundMethodInfo
+    ResolveSearchSettingsMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSearchSettingsMethod t SearchSettings, MethodInfo info SearchSettings p) => IsLabelProxy t (SearchSettings -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSearchSettingsMethod t SearchSettings, MethodInfo info SearchSettings p) => IsLabel t (SearchSettings -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "at-word-boundaries"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getSearchSettingsAtWordBoundaries :: (MonadIO m, SearchSettingsK o) => o -> m Bool
+getSearchSettingsAtWordBoundaries obj = liftIO $ getObjectPropertyBool obj "at-word-boundaries"
+
+setSearchSettingsAtWordBoundaries :: (MonadIO m, SearchSettingsK o) => o -> Bool -> m ()
+setSearchSettingsAtWordBoundaries obj val = liftIO $ setObjectPropertyBool obj "at-word-boundaries" val
+
+constructSearchSettingsAtWordBoundaries :: Bool -> IO ([Char], GValue)
+constructSearchSettingsAtWordBoundaries val = constructObjectPropertyBool "at-word-boundaries" val
+
+data SearchSettingsAtWordBoundariesPropertyInfo
+instance AttrInfo SearchSettingsAtWordBoundariesPropertyInfo where
+    type AttrAllowedOps SearchSettingsAtWordBoundariesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchSettingsAtWordBoundariesPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchSettingsAtWordBoundariesPropertyInfo = SearchSettingsK
+    type AttrGetType SearchSettingsAtWordBoundariesPropertyInfo = Bool
+    type AttrLabel SearchSettingsAtWordBoundariesPropertyInfo = "at-word-boundaries"
+    attrGet _ = getSearchSettingsAtWordBoundaries
+    attrSet _ = setSearchSettingsAtWordBoundaries
+    attrConstruct _ = constructSearchSettingsAtWordBoundaries
+    attrClear _ = undefined
+
+-- VVV Prop "case-sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getSearchSettingsCaseSensitive :: (MonadIO m, SearchSettingsK o) => o -> m Bool
+getSearchSettingsCaseSensitive obj = liftIO $ getObjectPropertyBool obj "case-sensitive"
+
+setSearchSettingsCaseSensitive :: (MonadIO m, SearchSettingsK o) => o -> Bool -> m ()
+setSearchSettingsCaseSensitive obj val = liftIO $ setObjectPropertyBool obj "case-sensitive" val
+
+constructSearchSettingsCaseSensitive :: Bool -> IO ([Char], GValue)
+constructSearchSettingsCaseSensitive val = constructObjectPropertyBool "case-sensitive" val
+
+data SearchSettingsCaseSensitivePropertyInfo
+instance AttrInfo SearchSettingsCaseSensitivePropertyInfo where
+    type AttrAllowedOps SearchSettingsCaseSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchSettingsCaseSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchSettingsCaseSensitivePropertyInfo = SearchSettingsK
+    type AttrGetType SearchSettingsCaseSensitivePropertyInfo = Bool
+    type AttrLabel SearchSettingsCaseSensitivePropertyInfo = "case-sensitive"
+    attrGet _ = getSearchSettingsCaseSensitive
+    attrSet _ = setSearchSettingsCaseSensitive
+    attrConstruct _ = constructSearchSettingsCaseSensitive
+    attrClear _ = undefined
+
+-- VVV Prop "regex-enabled"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getSearchSettingsRegexEnabled :: (MonadIO m, SearchSettingsK o) => o -> m Bool
+getSearchSettingsRegexEnabled obj = liftIO $ getObjectPropertyBool obj "regex-enabled"
+
+setSearchSettingsRegexEnabled :: (MonadIO m, SearchSettingsK o) => o -> Bool -> m ()
+setSearchSettingsRegexEnabled obj val = liftIO $ setObjectPropertyBool obj "regex-enabled" val
+
+constructSearchSettingsRegexEnabled :: Bool -> IO ([Char], GValue)
+constructSearchSettingsRegexEnabled val = constructObjectPropertyBool "regex-enabled" val
+
+data SearchSettingsRegexEnabledPropertyInfo
+instance AttrInfo SearchSettingsRegexEnabledPropertyInfo where
+    type AttrAllowedOps SearchSettingsRegexEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchSettingsRegexEnabledPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchSettingsRegexEnabledPropertyInfo = SearchSettingsK
+    type AttrGetType SearchSettingsRegexEnabledPropertyInfo = Bool
+    type AttrLabel SearchSettingsRegexEnabledPropertyInfo = "regex-enabled"
+    attrGet _ = getSearchSettingsRegexEnabled
+    attrSet _ = setSearchSettingsRegexEnabled
+    attrConstruct _ = constructSearchSettingsRegexEnabled
+    attrClear _ = undefined
+
+-- VVV Prop "search-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+getSearchSettingsSearchText :: (MonadIO m, SearchSettingsK o) => o -> m (Maybe T.Text)
+getSearchSettingsSearchText obj = liftIO $ getObjectPropertyString obj "search-text"
+
+setSearchSettingsSearchText :: (MonadIO m, SearchSettingsK o) => o -> T.Text -> m ()
+setSearchSettingsSearchText obj val = liftIO $ setObjectPropertyString obj "search-text" (Just val)
+
+constructSearchSettingsSearchText :: T.Text -> IO ([Char], GValue)
+constructSearchSettingsSearchText val = constructObjectPropertyString "search-text" (Just val)
+
+clearSearchSettingsSearchText :: (MonadIO m, SearchSettingsK o) => o -> m ()
+clearSearchSettingsSearchText obj = liftIO $ setObjectPropertyString obj "search-text" (Nothing :: Maybe T.Text)
+
+data SearchSettingsSearchTextPropertyInfo
+instance AttrInfo SearchSettingsSearchTextPropertyInfo where
+    type AttrAllowedOps SearchSettingsSearchTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SearchSettingsSearchTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SearchSettingsSearchTextPropertyInfo = SearchSettingsK
+    type AttrGetType SearchSettingsSearchTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel SearchSettingsSearchTextPropertyInfo = "search-text"
+    attrGet _ = getSearchSettingsSearchText
+    attrSet _ = setSearchSettingsSearchText
+    attrConstruct _ = constructSearchSettingsSearchText
+    attrClear _ = clearSearchSettingsSearchText
+
+-- VVV Prop "wrap-around"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+getSearchSettingsWrapAround :: (MonadIO m, SearchSettingsK o) => o -> m Bool
+getSearchSettingsWrapAround obj = liftIO $ getObjectPropertyBool obj "wrap-around"
+
+setSearchSettingsWrapAround :: (MonadIO m, SearchSettingsK o) => o -> Bool -> m ()
+setSearchSettingsWrapAround obj val = liftIO $ setObjectPropertyBool obj "wrap-around" val
+
+constructSearchSettingsWrapAround :: Bool -> IO ([Char], GValue)
+constructSearchSettingsWrapAround val = constructObjectPropertyBool "wrap-around" val
+
+data SearchSettingsWrapAroundPropertyInfo
+instance AttrInfo SearchSettingsWrapAroundPropertyInfo where
+    type AttrAllowedOps SearchSettingsWrapAroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchSettingsWrapAroundPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchSettingsWrapAroundPropertyInfo = SearchSettingsK
+    type AttrGetType SearchSettingsWrapAroundPropertyInfo = Bool
+    type AttrLabel SearchSettingsWrapAroundPropertyInfo = "wrap-around"
+    attrGet _ = getSearchSettingsWrapAround
+    attrSet _ = setSearchSettingsWrapAround
+    attrConstruct _ = constructSearchSettingsWrapAround
+    attrClear _ = undefined
+
+type instance AttributeList SearchSettings = SearchSettingsAttributeList
+type SearchSettingsAttributeList = ('[ '("atWordBoundaries", SearchSettingsAtWordBoundariesPropertyInfo), '("caseSensitive", SearchSettingsCaseSensitivePropertyInfo), '("regexEnabled", SearchSettingsRegexEnabledPropertyInfo), '("searchText", SearchSettingsSearchTextPropertyInfo), '("wrapAround", SearchSettingsWrapAroundPropertyInfo)] :: [(Symbol, *)])
+
+searchSettingsAtWordBoundaries :: AttrLabelProxy "atWordBoundaries"
+searchSettingsAtWordBoundaries = AttrLabelProxy
+
+searchSettingsCaseSensitive :: AttrLabelProxy "caseSensitive"
+searchSettingsCaseSensitive = AttrLabelProxy
+
+searchSettingsRegexEnabled :: AttrLabelProxy "regexEnabled"
+searchSettingsRegexEnabled = AttrLabelProxy
+
+searchSettingsSearchText :: AttrLabelProxy "searchText"
+searchSettingsSearchText = AttrLabelProxy
+
+searchSettingsWrapAround :: AttrLabelProxy "wrapAround"
+searchSettingsWrapAround = AttrLabelProxy
+
+type instance SignalList SearchSettings = SearchSettingsSignalList
+type SearchSettingsSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method SearchSettings::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "SearchSettings")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_new" gtk_source_search_settings_new :: 
+    IO (Ptr SearchSettings)
+
+
+searchSettingsNew ::
+    (MonadIO m) =>
+    m SearchSettings                        -- result
+searchSettingsNew  = liftIO $ do
+    result <- gtk_source_search_settings_new
+    checkUnexpectedReturnNULL "gtk_source_search_settings_new" result
+    result' <- (wrapObject SearchSettings) result
+    return result'
+
+-- method SearchSettings::get_at_word_boundaries
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_get_at_word_boundaries" gtk_source_search_settings_get_at_word_boundaries :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    IO CInt
+
+
+searchSettingsGetAtWordBoundaries ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+searchSettingsGetAtWordBoundaries _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_settings_get_at_word_boundaries _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchSettingsGetAtWordBoundariesMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsGetAtWordBoundariesMethodInfo a signature where
+    overloadedMethod _ = searchSettingsGetAtWordBoundaries
+
+-- method SearchSettings::get_case_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_get_case_sensitive" gtk_source_search_settings_get_case_sensitive :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    IO CInt
+
+
+searchSettingsGetCaseSensitive ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+searchSettingsGetCaseSensitive _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_settings_get_case_sensitive _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchSettingsGetCaseSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsGetCaseSensitiveMethodInfo a signature where
+    overloadedMethod _ = searchSettingsGetCaseSensitive
+
+-- method SearchSettings::get_regex_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_get_regex_enabled" gtk_source_search_settings_get_regex_enabled :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    IO CInt
+
+
+searchSettingsGetRegexEnabled ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+searchSettingsGetRegexEnabled _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_settings_get_regex_enabled _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchSettingsGetRegexEnabledMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsGetRegexEnabledMethodInfo a signature where
+    overloadedMethod _ = searchSettingsGetRegexEnabled
+
+-- method SearchSettings::get_search_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_get_search_text" gtk_source_search_settings_get_search_text :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    IO CString
+
+
+searchSettingsGetSearchText ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> m (Maybe T.Text)                     -- result
+searchSettingsGetSearchText _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_settings_get_search_text _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data SearchSettingsGetSearchTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsGetSearchTextMethodInfo a signature where
+    overloadedMethod _ = searchSettingsGetSearchText
+
+-- method SearchSettings::get_wrap_around
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_get_wrap_around" gtk_source_search_settings_get_wrap_around :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    IO CInt
+
+
+searchSettingsGetWrapAround ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+searchSettingsGetWrapAround _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_search_settings_get_wrap_around _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data SearchSettingsGetWrapAroundMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsGetWrapAroundMethodInfo a signature where
+    overloadedMethod _ = searchSettingsGetWrapAround
+
+-- method SearchSettings::set_at_word_boundaries
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "at_word_boundaries", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_set_at_word_boundaries" gtk_source_search_settings_set_at_word_boundaries :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    CInt ->                                 -- at_word_boundaries : TBasicType TBoolean
+    IO ()
+
+
+searchSettingsSetAtWordBoundaries ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- atWordBoundaries
+    -> m ()                                 -- result
+searchSettingsSetAtWordBoundaries _obj atWordBoundaries = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let atWordBoundaries' = (fromIntegral . fromEnum) atWordBoundaries
+    gtk_source_search_settings_set_at_word_boundaries _obj' atWordBoundaries'
+    touchManagedPtr _obj
+    return ()
+
+data SearchSettingsSetAtWordBoundariesMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsSetAtWordBoundariesMethodInfo a signature where
+    overloadedMethod _ = searchSettingsSetAtWordBoundaries
+
+-- method SearchSettings::set_case_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "case_sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_set_case_sensitive" gtk_source_search_settings_set_case_sensitive :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    CInt ->                                 -- case_sensitive : TBasicType TBoolean
+    IO ()
+
+
+searchSettingsSetCaseSensitive ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- caseSensitive
+    -> m ()                                 -- result
+searchSettingsSetCaseSensitive _obj caseSensitive = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let caseSensitive' = (fromIntegral . fromEnum) caseSensitive
+    gtk_source_search_settings_set_case_sensitive _obj' caseSensitive'
+    touchManagedPtr _obj
+    return ()
+
+data SearchSettingsSetCaseSensitiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsSetCaseSensitiveMethodInfo a signature where
+    overloadedMethod _ = searchSettingsSetCaseSensitive
+
+-- method SearchSettings::set_regex_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "regex_enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_set_regex_enabled" gtk_source_search_settings_set_regex_enabled :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    CInt ->                                 -- regex_enabled : TBasicType TBoolean
+    IO ()
+
+
+searchSettingsSetRegexEnabled ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- regexEnabled
+    -> m ()                                 -- result
+searchSettingsSetRegexEnabled _obj regexEnabled = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let regexEnabled' = (fromIntegral . fromEnum) regexEnabled
+    gtk_source_search_settings_set_regex_enabled _obj' regexEnabled'
+    touchManagedPtr _obj
+    return ()
+
+data SearchSettingsSetRegexEnabledMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsSetRegexEnabledMethodInfo a signature where
+    overloadedMethod _ = searchSettingsSetRegexEnabled
+
+-- method SearchSettings::set_search_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_set_search_text" gtk_source_search_settings_set_search_text :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    CString ->                              -- search_text : TBasicType TUTF8
+    IO ()
+
+
+searchSettingsSetSearchText ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- searchText
+    -> m ()                                 -- result
+searchSettingsSetSearchText _obj searchText = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeSearchText <- case searchText of
+        Nothing -> return nullPtr
+        Just jSearchText -> do
+            jSearchText' <- textToCString jSearchText
+            return jSearchText'
+    gtk_source_search_settings_set_search_text _obj' maybeSearchText
+    touchManagedPtr _obj
+    freeMem maybeSearchText
+    return ()
+
+data SearchSettingsSetSearchTextMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsSetSearchTextMethodInfo a signature where
+    overloadedMethod _ = searchSettingsSetSearchText
+
+-- method SearchSettings::set_wrap_around
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "SearchSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap_around", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_search_settings_set_wrap_around" gtk_source_search_settings_set_wrap_around :: 
+    Ptr SearchSettings ->                   -- _obj : TInterface "GtkSource" "SearchSettings"
+    CInt ->                                 -- wrap_around : TBasicType TBoolean
+    IO ()
+
+
+searchSettingsSetWrapAround ::
+    (MonadIO m, SearchSettingsK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- wrapAround
+    -> m ()                                 -- result
+searchSettingsSetWrapAround _obj wrapAround = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let wrapAround' = (fromIntegral . fromEnum) wrapAround
+    gtk_source_search_settings_set_wrap_around _obj' wrapAround'
+    touchManagedPtr _obj
+    return ()
+
+data SearchSettingsSetWrapAroundMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, SearchSettingsK a) => MethodInfo SearchSettingsSetWrapAroundMethodInfo a signature where
+    overloadedMethod _ = searchSettingsSetWrapAround
+
+
diff --git a/GI/GtkSource/Objects/SearchSettings.hs-boot b/GI/GtkSource/Objects/SearchSettings.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/SearchSettings.hs-boot
@@ -0,0 +1,28 @@
+module GI.GtkSource.Objects.SearchSettings where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype SearchSettings = SearchSettings (ForeignPtr SearchSettings)
+instance GObject SearchSettings where
+class GObject o => SearchSettingsK o
+instance (GObject o, IsDescendantOf SearchSettings o) => SearchSettingsK o
+data SearchSettingsAtWordBoundariesPropertyInfo
+data SearchSettingsCaseSensitivePropertyInfo
+data SearchSettingsRegexEnabledPropertyInfo
+data SearchSettingsSearchTextPropertyInfo
+data SearchSettingsWrapAroundPropertyInfo
+data SearchSettingsGetAtWordBoundariesMethodInfo
+data SearchSettingsGetCaseSensitiveMethodInfo
+data SearchSettingsGetRegexEnabledMethodInfo
+data SearchSettingsGetSearchTextMethodInfo
+data SearchSettingsGetWrapAroundMethodInfo
+data SearchSettingsSetAtWordBoundariesMethodInfo
+data SearchSettingsSetCaseSensitiveMethodInfo
+data SearchSettingsSetRegexEnabledMethodInfo
+data SearchSettingsSetSearchTextMethodInfo
+data SearchSettingsSetWrapAroundMethodInfo
diff --git a/GI/GtkSource/Objects/Style.hs b/GI/GtkSource/Objects/Style.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Style.hs
@@ -0,0 +1,761 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.Style
+    ( 
+
+-- * Exported types
+    Style(..)                               ,
+    StyleK                                  ,
+    toStyle                                 ,
+    noStyle                                 ,
+
+
+ -- * Methods
+-- ** styleCopy
+    StyleCopyMethodInfo                     ,
+    styleCopy                               ,
+
+
+
+
+ -- * Properties
+-- ** Background
+    StyleBackgroundPropertyInfo             ,
+    constructStyleBackground                ,
+    getStyleBackground                      ,
+    styleBackground                         ,
+
+
+-- ** BackgroundSet
+    StyleBackgroundSetPropertyInfo          ,
+    constructStyleBackgroundSet             ,
+    getStyleBackgroundSet                   ,
+    styleBackgroundSet                      ,
+
+
+-- ** Bold
+    StyleBoldPropertyInfo                   ,
+    constructStyleBold                      ,
+    getStyleBold                            ,
+    styleBold                               ,
+
+
+-- ** BoldSet
+    StyleBoldSetPropertyInfo                ,
+    constructStyleBoldSet                   ,
+    getStyleBoldSet                         ,
+    styleBoldSet                            ,
+
+
+-- ** Foreground
+    StyleForegroundPropertyInfo             ,
+    constructStyleForeground                ,
+    getStyleForeground                      ,
+    styleForeground                         ,
+
+
+-- ** ForegroundSet
+    StyleForegroundSetPropertyInfo          ,
+    constructStyleForegroundSet             ,
+    getStyleForegroundSet                   ,
+    styleForegroundSet                      ,
+
+
+-- ** Italic
+    StyleItalicPropertyInfo                 ,
+    constructStyleItalic                    ,
+    getStyleItalic                          ,
+    styleItalic                             ,
+
+
+-- ** ItalicSet
+    StyleItalicSetPropertyInfo              ,
+    constructStyleItalicSet                 ,
+    getStyleItalicSet                       ,
+    styleItalicSet                          ,
+
+
+-- ** LineBackground
+    StyleLineBackgroundPropertyInfo         ,
+    constructStyleLineBackground            ,
+    getStyleLineBackground                  ,
+    styleLineBackground                     ,
+
+
+-- ** LineBackgroundSet
+    StyleLineBackgroundSetPropertyInfo      ,
+    constructStyleLineBackgroundSet         ,
+    getStyleLineBackgroundSet               ,
+    styleLineBackgroundSet                  ,
+
+
+-- ** PangoUnderline
+    StylePangoUnderlinePropertyInfo         ,
+    constructStylePangoUnderline            ,
+    getStylePangoUnderline                  ,
+    stylePangoUnderline                     ,
+
+
+-- ** Scale
+    StyleScalePropertyInfo                  ,
+    constructStyleScale                     ,
+    getStyleScale                           ,
+    styleScale                              ,
+
+
+-- ** ScaleSet
+    StyleScaleSetPropertyInfo               ,
+    constructStyleScaleSet                  ,
+    getStyleScaleSet                        ,
+    styleScaleSet                           ,
+
+
+-- ** Strikethrough
+    StyleStrikethroughPropertyInfo          ,
+    constructStyleStrikethrough             ,
+    getStyleStrikethrough                   ,
+    styleStrikethrough                      ,
+
+
+-- ** StrikethroughSet
+    StyleStrikethroughSetPropertyInfo       ,
+    constructStyleStrikethroughSet          ,
+    getStyleStrikethroughSet                ,
+    styleStrikethroughSet                   ,
+
+
+-- ** Underline
+    StyleUnderlinePropertyInfo              ,
+    constructStyleUnderline                 ,
+    getStyleUnderline                       ,
+    styleUnderline                          ,
+
+
+-- ** UnderlineColor
+    StyleUnderlineColorPropertyInfo         ,
+    constructStyleUnderlineColor            ,
+    getStyleUnderlineColor                  ,
+    styleUnderlineColor                     ,
+
+
+-- ** UnderlineColorSet
+    StyleUnderlineColorSetPropertyInfo      ,
+    constructStyleUnderlineColorSet         ,
+    getStyleUnderlineColorSet               ,
+    styleUnderlineColorSet                  ,
+
+
+-- ** UnderlineSet
+    StyleUnderlineSetPropertyInfo           ,
+    constructStyleUnderlineSet              ,
+    getStyleUnderlineSet                    ,
+    styleUnderlineSet                       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+import qualified GI.Pango as Pango
+
+newtype Style = Style (ForeignPtr Style)
+foreign import ccall "gtk_source_style_get_type"
+    c_gtk_source_style_get_type :: IO GType
+
+type instance ParentTypes Style = StyleParentTypes
+type StyleParentTypes = '[GObject.Object]
+
+instance GObject Style where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_style_get_type
+    
+
+class GObject o => StyleK o
+instance (GObject o, IsDescendantOf Style o) => StyleK o
+
+toStyle :: StyleK o => o -> IO Style
+toStyle = unsafeCastTo Style
+
+noStyle :: Maybe Style
+noStyle = Nothing
+
+type family ResolveStyleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStyleMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStyleMethod "copy" o = StyleCopyMethodInfo
+    ResolveStyleMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStyleMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStyleMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStyleMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStyleMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStyleMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStyleMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStyleMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStyleMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStyleMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStyleMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStyleMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStyleMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStyleMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStyleMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStyleMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStyleMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStyleMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStyleMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStyleMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStyleMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleMethod t Style, MethodInfo info Style p) => IsLabelProxy t (Style -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStyleMethod t Style, MethodInfo info Style p) => IsLabel t (Style -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleBackground :: (MonadIO m, StyleK o) => o -> m (Maybe T.Text)
+getStyleBackground obj = liftIO $ getObjectPropertyString obj "background"
+
+constructStyleBackground :: T.Text -> IO ([Char], GValue)
+constructStyleBackground val = constructObjectPropertyString "background" (Just val)
+
+data StyleBackgroundPropertyInfo
+instance AttrInfo StyleBackgroundPropertyInfo where
+    type AttrAllowedOps StyleBackgroundPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StyleBackgroundPropertyInfo = StyleK
+    type AttrGetType StyleBackgroundPropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleBackgroundPropertyInfo = "background"
+    attrGet _ = getStyleBackground
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleBackground
+    attrClear _ = undefined
+
+-- VVV Prop "background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleBackgroundSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleBackgroundSet obj = liftIO $ getObjectPropertyBool obj "background-set"
+
+constructStyleBackgroundSet :: Bool -> IO ([Char], GValue)
+constructStyleBackgroundSet val = constructObjectPropertyBool "background-set" val
+
+data StyleBackgroundSetPropertyInfo
+instance AttrInfo StyleBackgroundSetPropertyInfo where
+    type AttrAllowedOps StyleBackgroundSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleBackgroundSetPropertyInfo = StyleK
+    type AttrGetType StyleBackgroundSetPropertyInfo = Bool
+    type AttrLabel StyleBackgroundSetPropertyInfo = "background-set"
+    attrGet _ = getStyleBackgroundSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleBackgroundSet
+    attrClear _ = undefined
+
+-- VVV Prop "bold"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleBold :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleBold obj = liftIO $ getObjectPropertyBool obj "bold"
+
+constructStyleBold :: Bool -> IO ([Char], GValue)
+constructStyleBold val = constructObjectPropertyBool "bold" val
+
+data StyleBoldPropertyInfo
+instance AttrInfo StyleBoldPropertyInfo where
+    type AttrAllowedOps StyleBoldPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleBoldPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleBoldPropertyInfo = StyleK
+    type AttrGetType StyleBoldPropertyInfo = Bool
+    type AttrLabel StyleBoldPropertyInfo = "bold"
+    attrGet _ = getStyleBold
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleBold
+    attrClear _ = undefined
+
+-- VVV Prop "bold-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleBoldSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleBoldSet obj = liftIO $ getObjectPropertyBool obj "bold-set"
+
+constructStyleBoldSet :: Bool -> IO ([Char], GValue)
+constructStyleBoldSet val = constructObjectPropertyBool "bold-set" val
+
+data StyleBoldSetPropertyInfo
+instance AttrInfo StyleBoldSetPropertyInfo where
+    type AttrAllowedOps StyleBoldSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleBoldSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleBoldSetPropertyInfo = StyleK
+    type AttrGetType StyleBoldSetPropertyInfo = Bool
+    type AttrLabel StyleBoldSetPropertyInfo = "bold-set"
+    attrGet _ = getStyleBoldSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleBoldSet
+    attrClear _ = undefined
+
+-- VVV Prop "foreground"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleForeground :: (MonadIO m, StyleK o) => o -> m (Maybe T.Text)
+getStyleForeground obj = liftIO $ getObjectPropertyString obj "foreground"
+
+constructStyleForeground :: T.Text -> IO ([Char], GValue)
+constructStyleForeground val = constructObjectPropertyString "foreground" (Just val)
+
+data StyleForegroundPropertyInfo
+instance AttrInfo StyleForegroundPropertyInfo where
+    type AttrAllowedOps StyleForegroundPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleForegroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StyleForegroundPropertyInfo = StyleK
+    type AttrGetType StyleForegroundPropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleForegroundPropertyInfo = "foreground"
+    attrGet _ = getStyleForeground
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleForeground
+    attrClear _ = undefined
+
+-- VVV Prop "foreground-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleForegroundSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleForegroundSet obj = liftIO $ getObjectPropertyBool obj "foreground-set"
+
+constructStyleForegroundSet :: Bool -> IO ([Char], GValue)
+constructStyleForegroundSet val = constructObjectPropertyBool "foreground-set" val
+
+data StyleForegroundSetPropertyInfo
+instance AttrInfo StyleForegroundSetPropertyInfo where
+    type AttrAllowedOps StyleForegroundSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleForegroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleForegroundSetPropertyInfo = StyleK
+    type AttrGetType StyleForegroundSetPropertyInfo = Bool
+    type AttrLabel StyleForegroundSetPropertyInfo = "foreground-set"
+    attrGet _ = getStyleForegroundSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleForegroundSet
+    attrClear _ = undefined
+
+-- VVV Prop "italic"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleItalic :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleItalic obj = liftIO $ getObjectPropertyBool obj "italic"
+
+constructStyleItalic :: Bool -> IO ([Char], GValue)
+constructStyleItalic val = constructObjectPropertyBool "italic" val
+
+data StyleItalicPropertyInfo
+instance AttrInfo StyleItalicPropertyInfo where
+    type AttrAllowedOps StyleItalicPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleItalicPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleItalicPropertyInfo = StyleK
+    type AttrGetType StyleItalicPropertyInfo = Bool
+    type AttrLabel StyleItalicPropertyInfo = "italic"
+    attrGet _ = getStyleItalic
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleItalic
+    attrClear _ = undefined
+
+-- VVV Prop "italic-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleItalicSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleItalicSet obj = liftIO $ getObjectPropertyBool obj "italic-set"
+
+constructStyleItalicSet :: Bool -> IO ([Char], GValue)
+constructStyleItalicSet val = constructObjectPropertyBool "italic-set" val
+
+data StyleItalicSetPropertyInfo
+instance AttrInfo StyleItalicSetPropertyInfo where
+    type AttrAllowedOps StyleItalicSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleItalicSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleItalicSetPropertyInfo = StyleK
+    type AttrGetType StyleItalicSetPropertyInfo = Bool
+    type AttrLabel StyleItalicSetPropertyInfo = "italic-set"
+    attrGet _ = getStyleItalicSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleItalicSet
+    attrClear _ = undefined
+
+-- VVV Prop "line-background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleLineBackground :: (MonadIO m, StyleK o) => o -> m (Maybe T.Text)
+getStyleLineBackground obj = liftIO $ getObjectPropertyString obj "line-background"
+
+constructStyleLineBackground :: T.Text -> IO ([Char], GValue)
+constructStyleLineBackground val = constructObjectPropertyString "line-background" (Just val)
+
+data StyleLineBackgroundPropertyInfo
+instance AttrInfo StyleLineBackgroundPropertyInfo where
+    type AttrAllowedOps StyleLineBackgroundPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleLineBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StyleLineBackgroundPropertyInfo = StyleK
+    type AttrGetType StyleLineBackgroundPropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleLineBackgroundPropertyInfo = "line-background"
+    attrGet _ = getStyleLineBackground
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleLineBackground
+    attrClear _ = undefined
+
+-- VVV Prop "line-background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleLineBackgroundSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleLineBackgroundSet obj = liftIO $ getObjectPropertyBool obj "line-background-set"
+
+constructStyleLineBackgroundSet :: Bool -> IO ([Char], GValue)
+constructStyleLineBackgroundSet val = constructObjectPropertyBool "line-background-set" val
+
+data StyleLineBackgroundSetPropertyInfo
+instance AttrInfo StyleLineBackgroundSetPropertyInfo where
+    type AttrAllowedOps StyleLineBackgroundSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleLineBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleLineBackgroundSetPropertyInfo = StyleK
+    type AttrGetType StyleLineBackgroundSetPropertyInfo = Bool
+    type AttrLabel StyleLineBackgroundSetPropertyInfo = "line-background-set"
+    attrGet _ = getStyleLineBackgroundSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleLineBackgroundSet
+    attrClear _ = undefined
+
+-- VVV Prop "pango-underline"
+   -- Type: TInterface "Pango" "Underline"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStylePangoUnderline :: (MonadIO m, StyleK o) => o -> m Pango.Underline
+getStylePangoUnderline obj = liftIO $ getObjectPropertyEnum obj "pango-underline"
+
+constructStylePangoUnderline :: Pango.Underline -> IO ([Char], GValue)
+constructStylePangoUnderline val = constructObjectPropertyEnum "pango-underline" val
+
+data StylePangoUnderlinePropertyInfo
+instance AttrInfo StylePangoUnderlinePropertyInfo where
+    type AttrAllowedOps StylePangoUnderlinePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StylePangoUnderlinePropertyInfo = (~) Pango.Underline
+    type AttrBaseTypeConstraint StylePangoUnderlinePropertyInfo = StyleK
+    type AttrGetType StylePangoUnderlinePropertyInfo = Pango.Underline
+    type AttrLabel StylePangoUnderlinePropertyInfo = "pango-underline"
+    attrGet _ = getStylePangoUnderline
+    attrSet _ = undefined
+    attrConstruct _ = constructStylePangoUnderline
+    attrClear _ = undefined
+
+-- VVV Prop "scale"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleScale :: (MonadIO m, StyleK o) => o -> m (Maybe T.Text)
+getStyleScale obj = liftIO $ getObjectPropertyString obj "scale"
+
+constructStyleScale :: T.Text -> IO ([Char], GValue)
+constructStyleScale val = constructObjectPropertyString "scale" (Just val)
+
+data StyleScalePropertyInfo
+instance AttrInfo StyleScalePropertyInfo where
+    type AttrAllowedOps StyleScalePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleScalePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StyleScalePropertyInfo = StyleK
+    type AttrGetType StyleScalePropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleScalePropertyInfo = "scale"
+    attrGet _ = getStyleScale
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleScale
+    attrClear _ = undefined
+
+-- VVV Prop "scale-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleScaleSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleScaleSet obj = liftIO $ getObjectPropertyBool obj "scale-set"
+
+constructStyleScaleSet :: Bool -> IO ([Char], GValue)
+constructStyleScaleSet val = constructObjectPropertyBool "scale-set" val
+
+data StyleScaleSetPropertyInfo
+instance AttrInfo StyleScaleSetPropertyInfo where
+    type AttrAllowedOps StyleScaleSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleScaleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleScaleSetPropertyInfo = StyleK
+    type AttrGetType StyleScaleSetPropertyInfo = Bool
+    type AttrLabel StyleScaleSetPropertyInfo = "scale-set"
+    attrGet _ = getStyleScaleSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleScaleSet
+    attrClear _ = undefined
+
+-- VVV Prop "strikethrough"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleStrikethrough :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleStrikethrough obj = liftIO $ getObjectPropertyBool obj "strikethrough"
+
+constructStyleStrikethrough :: Bool -> IO ([Char], GValue)
+constructStyleStrikethrough val = constructObjectPropertyBool "strikethrough" val
+
+data StyleStrikethroughPropertyInfo
+instance AttrInfo StyleStrikethroughPropertyInfo where
+    type AttrAllowedOps StyleStrikethroughPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleStrikethroughPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleStrikethroughPropertyInfo = StyleK
+    type AttrGetType StyleStrikethroughPropertyInfo = Bool
+    type AttrLabel StyleStrikethroughPropertyInfo = "strikethrough"
+    attrGet _ = getStyleStrikethrough
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleStrikethrough
+    attrClear _ = undefined
+
+-- VVV Prop "strikethrough-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleStrikethroughSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleStrikethroughSet obj = liftIO $ getObjectPropertyBool obj "strikethrough-set"
+
+constructStyleStrikethroughSet :: Bool -> IO ([Char], GValue)
+constructStyleStrikethroughSet val = constructObjectPropertyBool "strikethrough-set" val
+
+data StyleStrikethroughSetPropertyInfo
+instance AttrInfo StyleStrikethroughSetPropertyInfo where
+    type AttrAllowedOps StyleStrikethroughSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleStrikethroughSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleStrikethroughSetPropertyInfo = StyleK
+    type AttrGetType StyleStrikethroughSetPropertyInfo = Bool
+    type AttrLabel StyleStrikethroughSetPropertyInfo = "strikethrough-set"
+    attrGet _ = getStyleStrikethroughSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleStrikethroughSet
+    attrClear _ = undefined
+
+-- VVV Prop "underline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleUnderline :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleUnderline obj = liftIO $ getObjectPropertyBool obj "underline"
+
+constructStyleUnderline :: Bool -> IO ([Char], GValue)
+constructStyleUnderline val = constructObjectPropertyBool "underline" val
+
+data StyleUnderlinePropertyInfo
+instance AttrInfo StyleUnderlinePropertyInfo where
+    type AttrAllowedOps StyleUnderlinePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleUnderlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleUnderlinePropertyInfo = StyleK
+    type AttrGetType StyleUnderlinePropertyInfo = Bool
+    type AttrLabel StyleUnderlinePropertyInfo = "underline"
+    attrGet _ = getStyleUnderline
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleUnderline
+    attrClear _ = undefined
+
+-- VVV Prop "underline-color"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleUnderlineColor :: (MonadIO m, StyleK o) => o -> m (Maybe T.Text)
+getStyleUnderlineColor obj = liftIO $ getObjectPropertyString obj "underline-color"
+
+constructStyleUnderlineColor :: T.Text -> IO ([Char], GValue)
+constructStyleUnderlineColor val = constructObjectPropertyString "underline-color" (Just val)
+
+data StyleUnderlineColorPropertyInfo
+instance AttrInfo StyleUnderlineColorPropertyInfo where
+    type AttrAllowedOps StyleUnderlineColorPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleUnderlineColorPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StyleUnderlineColorPropertyInfo = StyleK
+    type AttrGetType StyleUnderlineColorPropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleUnderlineColorPropertyInfo = "underline-color"
+    attrGet _ = getStyleUnderlineColor
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleUnderlineColor
+    attrClear _ = undefined
+
+-- VVV Prop "underline-color-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleUnderlineColorSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleUnderlineColorSet obj = liftIO $ getObjectPropertyBool obj "underline-color-set"
+
+constructStyleUnderlineColorSet :: Bool -> IO ([Char], GValue)
+constructStyleUnderlineColorSet val = constructObjectPropertyBool "underline-color-set" val
+
+data StyleUnderlineColorSetPropertyInfo
+instance AttrInfo StyleUnderlineColorSetPropertyInfo where
+    type AttrAllowedOps StyleUnderlineColorSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleUnderlineColorSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleUnderlineColorSetPropertyInfo = StyleK
+    type AttrGetType StyleUnderlineColorSetPropertyInfo = Bool
+    type AttrLabel StyleUnderlineColorSetPropertyInfo = "underline-color-set"
+    attrGet _ = getStyleUnderlineColorSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleUnderlineColorSet
+    attrClear _ = undefined
+
+-- VVV Prop "underline-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+getStyleUnderlineSet :: (MonadIO m, StyleK o) => o -> m Bool
+getStyleUnderlineSet obj = liftIO $ getObjectPropertyBool obj "underline-set"
+
+constructStyleUnderlineSet :: Bool -> IO ([Char], GValue)
+constructStyleUnderlineSet val = constructObjectPropertyBool "underline-set" val
+
+data StyleUnderlineSetPropertyInfo
+instance AttrInfo StyleUnderlineSetPropertyInfo where
+    type AttrAllowedOps StyleUnderlineSetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleUnderlineSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StyleUnderlineSetPropertyInfo = StyleK
+    type AttrGetType StyleUnderlineSetPropertyInfo = Bool
+    type AttrLabel StyleUnderlineSetPropertyInfo = "underline-set"
+    attrGet _ = getStyleUnderlineSet
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleUnderlineSet
+    attrClear _ = undefined
+
+type instance AttributeList Style = StyleAttributeList
+type StyleAttributeList = ('[ '("background", StyleBackgroundPropertyInfo), '("backgroundSet", StyleBackgroundSetPropertyInfo), '("bold", StyleBoldPropertyInfo), '("boldSet", StyleBoldSetPropertyInfo), '("foreground", StyleForegroundPropertyInfo), '("foregroundSet", StyleForegroundSetPropertyInfo), '("italic", StyleItalicPropertyInfo), '("italicSet", StyleItalicSetPropertyInfo), '("lineBackground", StyleLineBackgroundPropertyInfo), '("lineBackgroundSet", StyleLineBackgroundSetPropertyInfo), '("pangoUnderline", StylePangoUnderlinePropertyInfo), '("scale", StyleScalePropertyInfo), '("scaleSet", StyleScaleSetPropertyInfo), '("strikethrough", StyleStrikethroughPropertyInfo), '("strikethroughSet", StyleStrikethroughSetPropertyInfo), '("underline", StyleUnderlinePropertyInfo), '("underlineColor", StyleUnderlineColorPropertyInfo), '("underlineColorSet", StyleUnderlineColorSetPropertyInfo), '("underlineSet", StyleUnderlineSetPropertyInfo)] :: [(Symbol, *)])
+
+styleBackground :: AttrLabelProxy "background"
+styleBackground = AttrLabelProxy
+
+styleBackgroundSet :: AttrLabelProxy "backgroundSet"
+styleBackgroundSet = AttrLabelProxy
+
+styleBold :: AttrLabelProxy "bold"
+styleBold = AttrLabelProxy
+
+styleBoldSet :: AttrLabelProxy "boldSet"
+styleBoldSet = AttrLabelProxy
+
+styleForeground :: AttrLabelProxy "foreground"
+styleForeground = AttrLabelProxy
+
+styleForegroundSet :: AttrLabelProxy "foregroundSet"
+styleForegroundSet = AttrLabelProxy
+
+styleItalic :: AttrLabelProxy "italic"
+styleItalic = AttrLabelProxy
+
+styleItalicSet :: AttrLabelProxy "italicSet"
+styleItalicSet = AttrLabelProxy
+
+styleLineBackground :: AttrLabelProxy "lineBackground"
+styleLineBackground = AttrLabelProxy
+
+styleLineBackgroundSet :: AttrLabelProxy "lineBackgroundSet"
+styleLineBackgroundSet = AttrLabelProxy
+
+stylePangoUnderline :: AttrLabelProxy "pangoUnderline"
+stylePangoUnderline = AttrLabelProxy
+
+styleScale :: AttrLabelProxy "scale"
+styleScale = AttrLabelProxy
+
+styleScaleSet :: AttrLabelProxy "scaleSet"
+styleScaleSet = AttrLabelProxy
+
+styleStrikethrough :: AttrLabelProxy "strikethrough"
+styleStrikethrough = AttrLabelProxy
+
+styleStrikethroughSet :: AttrLabelProxy "strikethroughSet"
+styleStrikethroughSet = AttrLabelProxy
+
+styleUnderline :: AttrLabelProxy "underline"
+styleUnderline = AttrLabelProxy
+
+styleUnderlineColor :: AttrLabelProxy "underlineColor"
+styleUnderlineColor = AttrLabelProxy
+
+styleUnderlineColorSet :: AttrLabelProxy "underlineColorSet"
+styleUnderlineColorSet = AttrLabelProxy
+
+styleUnderlineSet :: AttrLabelProxy "underlineSet"
+styleUnderlineSet = AttrLabelProxy
+
+type instance SignalList Style = StyleSignalList
+type StyleSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method Style::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Style")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_copy" gtk_source_style_copy :: 
+    Ptr Style ->                            -- _obj : TInterface "GtkSource" "Style"
+    IO (Ptr Style)
+
+
+styleCopy ::
+    (MonadIO m, StyleK a) =>
+    a                                       -- _obj
+    -> m Style                              -- result
+styleCopy _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_copy _obj'
+    checkUnexpectedReturnNULL "gtk_source_style_copy" result
+    result' <- (wrapObject Style) result
+    touchManagedPtr _obj
+    return result'
+
+data StyleCopyMethodInfo
+instance (signature ~ (m Style), MonadIO m, StyleK a) => MethodInfo StyleCopyMethodInfo a signature where
+    overloadedMethod _ = styleCopy
+
+
diff --git a/GI/GtkSource/Objects/Style.hs-boot b/GI/GtkSource/Objects/Style.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/Style.hs-boot
@@ -0,0 +1,33 @@
+module GI.GtkSource.Objects.Style where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Style = Style (ForeignPtr Style)
+instance GObject Style where
+class GObject o => StyleK o
+instance (GObject o, IsDescendantOf Style o) => StyleK o
+data StyleBackgroundPropertyInfo
+data StyleBackgroundSetPropertyInfo
+data StyleBoldPropertyInfo
+data StyleBoldSetPropertyInfo
+data StyleForegroundPropertyInfo
+data StyleForegroundSetPropertyInfo
+data StyleItalicPropertyInfo
+data StyleItalicSetPropertyInfo
+data StyleLineBackgroundPropertyInfo
+data StyleLineBackgroundSetPropertyInfo
+data StylePangoUnderlinePropertyInfo
+data StyleScalePropertyInfo
+data StyleScaleSetPropertyInfo
+data StyleStrikethroughPropertyInfo
+data StyleStrikethroughSetPropertyInfo
+data StyleUnderlinePropertyInfo
+data StyleUnderlineColorPropertyInfo
+data StyleUnderlineColorSetPropertyInfo
+data StyleUnderlineSetPropertyInfo
+data StyleCopyMethodInfo
diff --git a/GI/GtkSource/Objects/StyleScheme.hs b/GI/GtkSource/Objects/StyleScheme.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleScheme.hs
@@ -0,0 +1,436 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.StyleScheme
+    ( 
+
+-- * Exported types
+    StyleScheme(..)                         ,
+    StyleSchemeK                            ,
+    toStyleScheme                           ,
+    noStyleScheme                           ,
+
+
+ -- * Methods
+-- ** styleSchemeGetAuthors
+    StyleSchemeGetAuthorsMethodInfo         ,
+    styleSchemeGetAuthors                   ,
+
+
+-- ** styleSchemeGetDescription
+    StyleSchemeGetDescriptionMethodInfo     ,
+    styleSchemeGetDescription               ,
+
+
+-- ** styleSchemeGetFilename
+    StyleSchemeGetFilenameMethodInfo        ,
+    styleSchemeGetFilename                  ,
+
+
+-- ** styleSchemeGetId
+    StyleSchemeGetIdMethodInfo              ,
+    styleSchemeGetId                        ,
+
+
+-- ** styleSchemeGetName
+    StyleSchemeGetNameMethodInfo            ,
+    styleSchemeGetName                      ,
+
+
+-- ** styleSchemeGetStyle
+    StyleSchemeGetStyleMethodInfo           ,
+    styleSchemeGetStyle                     ,
+
+
+
+
+ -- * Properties
+-- ** Description
+    StyleSchemeDescriptionPropertyInfo      ,
+    getStyleSchemeDescription               ,
+    styleSchemeDescription                  ,
+
+
+-- ** Filename
+    StyleSchemeFilenamePropertyInfo         ,
+    getStyleSchemeFilename                  ,
+    styleSchemeFilename                     ,
+
+
+-- ** Id
+    StyleSchemeIdPropertyInfo               ,
+    constructStyleSchemeId                  ,
+    getStyleSchemeId                        ,
+    styleSchemeId                           ,
+
+
+-- ** Name
+    StyleSchemeNamePropertyInfo             ,
+    getStyleSchemeName                      ,
+    styleSchemeName                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+newtype StyleScheme = StyleScheme (ForeignPtr StyleScheme)
+foreign import ccall "gtk_source_style_scheme_get_type"
+    c_gtk_source_style_scheme_get_type :: IO GType
+
+type instance ParentTypes StyleScheme = StyleSchemeParentTypes
+type StyleSchemeParentTypes = '[GObject.Object]
+
+instance GObject StyleScheme where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_style_scheme_get_type
+    
+
+class GObject o => StyleSchemeK o
+instance (GObject o, IsDescendantOf StyleScheme o) => StyleSchemeK o
+
+toStyleScheme :: StyleSchemeK o => o -> IO StyleScheme
+toStyleScheme = unsafeCastTo StyleScheme
+
+noStyleScheme :: Maybe StyleScheme
+noStyleScheme = Nothing
+
+type family ResolveStyleSchemeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleSchemeMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStyleSchemeMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStyleSchemeMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStyleSchemeMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStyleSchemeMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStyleSchemeMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStyleSchemeMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStyleSchemeMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStyleSchemeMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStyleSchemeMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStyleSchemeMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStyleSchemeMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStyleSchemeMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStyleSchemeMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStyleSchemeMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStyleSchemeMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStyleSchemeMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStyleSchemeMethod "getAuthors" o = StyleSchemeGetAuthorsMethodInfo
+    ResolveStyleSchemeMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStyleSchemeMethod "getDescription" o = StyleSchemeGetDescriptionMethodInfo
+    ResolveStyleSchemeMethod "getFilename" o = StyleSchemeGetFilenameMethodInfo
+    ResolveStyleSchemeMethod "getId" o = StyleSchemeGetIdMethodInfo
+    ResolveStyleSchemeMethod "getName" o = StyleSchemeGetNameMethodInfo
+    ResolveStyleSchemeMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStyleSchemeMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStyleSchemeMethod "getStyle" o = StyleSchemeGetStyleMethodInfo
+    ResolveStyleSchemeMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStyleSchemeMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStyleSchemeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleSchemeMethod t StyleScheme, MethodInfo info StyleScheme p) => IsLabelProxy t (StyleScheme -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStyleSchemeMethod t StyleScheme, MethodInfo info StyleScheme p) => IsLabel t (StyleScheme -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "description"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+getStyleSchemeDescription :: (MonadIO m, StyleSchemeK o) => o -> m (Maybe T.Text)
+getStyleSchemeDescription obj = liftIO $ getObjectPropertyString obj "description"
+
+data StyleSchemeDescriptionPropertyInfo
+instance AttrInfo StyleSchemeDescriptionPropertyInfo where
+    type AttrAllowedOps StyleSchemeDescriptionPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleSchemeDescriptionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StyleSchemeDescriptionPropertyInfo = StyleSchemeK
+    type AttrGetType StyleSchemeDescriptionPropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleSchemeDescriptionPropertyInfo = "description"
+    attrGet _ = getStyleSchemeDescription
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "filename"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+getStyleSchemeFilename :: (MonadIO m, StyleSchemeK o) => o -> m (Maybe T.Text)
+getStyleSchemeFilename obj = liftIO $ getObjectPropertyString obj "filename"
+
+data StyleSchemeFilenamePropertyInfo
+instance AttrInfo StyleSchemeFilenamePropertyInfo where
+    type AttrAllowedOps StyleSchemeFilenamePropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleSchemeFilenamePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StyleSchemeFilenamePropertyInfo = StyleSchemeK
+    type AttrGetType StyleSchemeFilenamePropertyInfo = (Maybe T.Text)
+    type AttrLabel StyleSchemeFilenamePropertyInfo = "filename"
+    attrGet _ = getStyleSchemeFilename
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+getStyleSchemeId :: (MonadIO m, StyleSchemeK o) => o -> m T.Text
+getStyleSchemeId obj = liftIO $ checkUnexpectedNothing "getStyleSchemeId" $ getObjectPropertyString obj "id"
+
+constructStyleSchemeId :: T.Text -> IO ([Char], GValue)
+constructStyleSchemeId val = constructObjectPropertyString "id" (Just val)
+
+data StyleSchemeIdPropertyInfo
+instance AttrInfo StyleSchemeIdPropertyInfo where
+    type AttrAllowedOps StyleSchemeIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleSchemeIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StyleSchemeIdPropertyInfo = StyleSchemeK
+    type AttrGetType StyleSchemeIdPropertyInfo = T.Text
+    type AttrLabel StyleSchemeIdPropertyInfo = "id"
+    attrGet _ = getStyleSchemeId
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleSchemeId
+    attrClear _ = undefined
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getStyleSchemeName :: (MonadIO m, StyleSchemeK o) => o -> m T.Text
+getStyleSchemeName obj = liftIO $ checkUnexpectedNothing "getStyleSchemeName" $ getObjectPropertyString obj "name"
+
+data StyleSchemeNamePropertyInfo
+instance AttrInfo StyleSchemeNamePropertyInfo where
+    type AttrAllowedOps StyleSchemeNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleSchemeNamePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StyleSchemeNamePropertyInfo = StyleSchemeK
+    type AttrGetType StyleSchemeNamePropertyInfo = T.Text
+    type AttrLabel StyleSchemeNamePropertyInfo = "name"
+    attrGet _ = getStyleSchemeName
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+type instance AttributeList StyleScheme = StyleSchemeAttributeList
+type StyleSchemeAttributeList = ('[ '("description", StyleSchemeDescriptionPropertyInfo), '("filename", StyleSchemeFilenamePropertyInfo), '("id", StyleSchemeIdPropertyInfo), '("name", StyleSchemeNamePropertyInfo)] :: [(Symbol, *)])
+
+styleSchemeDescription :: AttrLabelProxy "description"
+styleSchemeDescription = AttrLabelProxy
+
+styleSchemeFilename :: AttrLabelProxy "filename"
+styleSchemeFilename = AttrLabelProxy
+
+styleSchemeId :: AttrLabelProxy "id"
+styleSchemeId = AttrLabelProxy
+
+styleSchemeName :: AttrLabelProxy "name"
+styleSchemeName = AttrLabelProxy
+
+type instance SignalList StyleScheme = StyleSchemeSignalList
+type StyleSchemeSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method StyleScheme::get_authors
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_get_authors" gtk_source_style_scheme_get_authors :: 
+    Ptr StyleScheme ->                      -- _obj : TInterface "GtkSource" "StyleScheme"
+    IO (Ptr CString)
+
+
+styleSchemeGetAuthors ::
+    (MonadIO m, StyleSchemeK a) =>
+    a                                       -- _obj
+    -> m (Maybe [T.Text])                   -- result
+styleSchemeGetAuthors _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_get_authors _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data StyleSchemeGetAuthorsMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, StyleSchemeK a) => MethodInfo StyleSchemeGetAuthorsMethodInfo a signature where
+    overloadedMethod _ = styleSchemeGetAuthors
+
+-- method StyleScheme::get_description
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_get_description" gtk_source_style_scheme_get_description :: 
+    Ptr StyleScheme ->                      -- _obj : TInterface "GtkSource" "StyleScheme"
+    IO CString
+
+
+styleSchemeGetDescription ::
+    (MonadIO m, StyleSchemeK a) =>
+    a                                       -- _obj
+    -> m (Maybe T.Text)                     -- result
+styleSchemeGetDescription _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_get_description _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data StyleSchemeGetDescriptionMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, StyleSchemeK a) => MethodInfo StyleSchemeGetDescriptionMethodInfo a signature where
+    overloadedMethod _ = styleSchemeGetDescription
+
+-- method StyleScheme::get_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_get_filename" gtk_source_style_scheme_get_filename :: 
+    Ptr StyleScheme ->                      -- _obj : TInterface "GtkSource" "StyleScheme"
+    IO CString
+
+
+styleSchemeGetFilename ::
+    (MonadIO m, StyleSchemeK a) =>
+    a                                       -- _obj
+    -> m (Maybe T.Text)                     -- result
+styleSchemeGetFilename _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_get_filename _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data StyleSchemeGetFilenameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, StyleSchemeK a) => MethodInfo StyleSchemeGetFilenameMethodInfo a signature where
+    overloadedMethod _ = styleSchemeGetFilename
+
+-- method StyleScheme::get_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_get_id" gtk_source_style_scheme_get_id :: 
+    Ptr StyleScheme ->                      -- _obj : TInterface "GtkSource" "StyleScheme"
+    IO CString
+
+
+styleSchemeGetId ::
+    (MonadIO m, StyleSchemeK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+styleSchemeGetId _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_get_id _obj'
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_get_id" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data StyleSchemeGetIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, StyleSchemeK a) => MethodInfo StyleSchemeGetIdMethodInfo a signature where
+    overloadedMethod _ = styleSchemeGetId
+
+-- method StyleScheme::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_get_name" gtk_source_style_scheme_get_name :: 
+    Ptr StyleScheme ->                      -- _obj : TInterface "GtkSource" "StyleScheme"
+    IO CString
+
+
+styleSchemeGetName ::
+    (MonadIO m, StyleSchemeK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+styleSchemeGetName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_get_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_get_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data StyleSchemeGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, StyleSchemeK a) => MethodInfo StyleSchemeGetNameMethodInfo a signature where
+    overloadedMethod _ = styleSchemeGetName
+
+-- method StyleScheme::get_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleScheme", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Style")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_get_style" gtk_source_style_scheme_get_style :: 
+    Ptr StyleScheme ->                      -- _obj : TInterface "GtkSource" "StyleScheme"
+    CString ->                              -- style_id : TBasicType TUTF8
+    IO (Ptr Style)
+
+
+styleSchemeGetStyle ::
+    (MonadIO m, StyleSchemeK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- styleId
+    -> m (Maybe Style)                      -- result
+styleSchemeGetStyle _obj styleId = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    styleId' <- textToCString styleId
+    result <- gtk_source_style_scheme_get_style _obj' styleId'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Style) result'
+        return result''
+    touchManagedPtr _obj
+    freeMem styleId'
+    return maybeResult
+
+data StyleSchemeGetStyleMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Style)), MonadIO m, StyleSchemeK a) => MethodInfo StyleSchemeGetStyleMethodInfo a signature where
+    overloadedMethod _ = styleSchemeGetStyle
+
+
diff --git a/GI/GtkSource/Objects/StyleScheme.hs-boot b/GI/GtkSource/Objects/StyleScheme.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleScheme.hs-boot
@@ -0,0 +1,23 @@
+module GI.GtkSource.Objects.StyleScheme where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype StyleScheme = StyleScheme (ForeignPtr StyleScheme)
+instance GObject StyleScheme where
+class GObject o => StyleSchemeK o
+instance (GObject o, IsDescendantOf StyleScheme o) => StyleSchemeK o
+data StyleSchemeDescriptionPropertyInfo
+data StyleSchemeFilenamePropertyInfo
+data StyleSchemeIdPropertyInfo
+data StyleSchemeNamePropertyInfo
+data StyleSchemeGetAuthorsMethodInfo
+data StyleSchemeGetDescriptionMethodInfo
+data StyleSchemeGetFilenameMethodInfo
+data StyleSchemeGetIdMethodInfo
+data StyleSchemeGetNameMethodInfo
+data StyleSchemeGetStyleMethodInfo
diff --git a/GI/GtkSource/Objects/StyleSchemeChooserButton.hs b/GI/GtkSource/Objects/StyleSchemeChooserButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleSchemeChooserButton.hs
@@ -0,0 +1,449 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.StyleSchemeChooserButton
+    ( 
+
+-- * Exported types
+    StyleSchemeChooserButton(..)            ,
+    StyleSchemeChooserButtonK               ,
+    toStyleSchemeChooserButton              ,
+    noStyleSchemeChooserButton              ,
+
+
+ -- * Methods
+-- ** styleSchemeChooserButtonNew
+    styleSchemeChooserButtonNew             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.Atk as Atk
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype StyleSchemeChooserButton = StyleSchemeChooserButton (ForeignPtr StyleSchemeChooserButton)
+foreign import ccall "gtk_source_style_scheme_chooser_button_get_type"
+    c_gtk_source_style_scheme_chooser_button_get_type :: IO GType
+
+type instance ParentTypes StyleSchemeChooserButton = StyleSchemeChooserButtonParentTypes
+type StyleSchemeChooserButtonParentTypes = '[Gtk.Button, Gtk.Bin, Gtk.Container, Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable, StyleSchemeChooser]
+
+instance GObject StyleSchemeChooserButton where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_style_scheme_chooser_button_get_type
+    
+
+class GObject o => StyleSchemeChooserButtonK o
+instance (GObject o, IsDescendantOf StyleSchemeChooserButton o) => StyleSchemeChooserButtonK o
+
+toStyleSchemeChooserButton :: StyleSchemeChooserButtonK o => o -> IO StyleSchemeChooserButton
+toStyleSchemeChooserButton = unsafeCastTo StyleSchemeChooserButton
+
+noStyleSchemeChooserButton :: Maybe StyleSchemeChooserButton
+noStyleSchemeChooserButton = Nothing
+
+type family ResolveStyleSchemeChooserButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleSchemeChooserButtonMethod "activate" o = Gtk.WidgetActivateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "add" o = Gtk.ContainerAddMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "addAccelerator" o = Gtk.WidgetAddAcceleratorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "addDeviceEvents" o = Gtk.WidgetAddDeviceEventsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "addEvents" o = Gtk.WidgetAddEventsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "addMnemonicLabel" o = Gtk.WidgetAddMnemonicLabelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "addTickCallback" o = Gtk.WidgetAddTickCallbackMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "canActivateAccel" o = Gtk.WidgetCanActivateAccelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "checkResize" o = Gtk.ContainerCheckResizeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "childFocus" o = Gtk.WidgetChildFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "childGetProperty" o = Gtk.ContainerChildGetPropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "childNotifyByPspec" o = Gtk.ContainerChildNotifyByPspecMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "childSetProperty" o = Gtk.ContainerChildSetPropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "childType" o = Gtk.ContainerChildTypeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "classPath" o = Gtk.WidgetClassPathMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "clicked" o = Gtk.ButtonClickedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "computeExpand" o = Gtk.WidgetComputeExpandMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "createPangoContext" o = Gtk.WidgetCreatePangoContextMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "createPangoLayout" o = Gtk.WidgetCreatePangoLayoutMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "destroy" o = Gtk.WidgetDestroyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "destroyed" o = Gtk.WidgetDestroyedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "deviceIsShadowed" o = Gtk.WidgetDeviceIsShadowedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "doSetRelatedAction" o = Gtk.ActivatableDoSetRelatedActionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragBegin" o = Gtk.WidgetDragBeginMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragBeginWithCoordinates" o = Gtk.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragCheckThreshold" o = Gtk.WidgetDragCheckThresholdMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestAddImageTargets" o = Gtk.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestAddTextTargets" o = Gtk.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestAddUriTargets" o = Gtk.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestFindTarget" o = Gtk.WidgetDragDestFindTargetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestGetTargetList" o = Gtk.WidgetDragDestGetTargetListMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestGetTrackMotion" o = Gtk.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestSet" o = Gtk.WidgetDragDestSetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestSetProxy" o = Gtk.WidgetDragDestSetProxyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestSetTargetList" o = Gtk.WidgetDragDestSetTargetListMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestSetTrackMotion" o = Gtk.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragDestUnset" o = Gtk.WidgetDragDestUnsetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragGetData" o = Gtk.WidgetDragGetDataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragHighlight" o = Gtk.WidgetDragHighlightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceAddImageTargets" o = Gtk.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceAddTextTargets" o = Gtk.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceAddUriTargets" o = Gtk.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceGetTargetList" o = Gtk.WidgetDragSourceGetTargetListMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceSet" o = Gtk.WidgetDragSourceSetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceSetIconGicon" o = Gtk.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceSetIconName" o = Gtk.WidgetDragSourceSetIconNameMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceSetIconPixbuf" o = Gtk.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceSetIconStock" o = Gtk.WidgetDragSourceSetIconStockMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceSetTargetList" o = Gtk.WidgetDragSourceSetTargetListMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragSourceUnset" o = Gtk.WidgetDragSourceUnsetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "dragUnhighlight" o = Gtk.WidgetDragUnhighlightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "draw" o = Gtk.WidgetDrawMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "ensureStyle" o = Gtk.WidgetEnsureStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "enter" o = Gtk.ButtonEnterMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "errorBell" o = Gtk.WidgetErrorBellMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "event" o = Gtk.WidgetEventMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "forall" o = Gtk.ContainerForallMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "foreach" o = Gtk.ContainerForeachMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "freezeChildNotify" o = Gtk.WidgetFreezeChildNotifyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "grabAdd" o = Gtk.WidgetGrabAddMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "grabDefault" o = Gtk.WidgetGrabDefaultMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "grabFocus" o = Gtk.WidgetGrabFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "grabRemove" o = Gtk.WidgetGrabRemoveMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hasDefault" o = Gtk.WidgetHasDefaultMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hasFocus" o = Gtk.WidgetHasFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hasGrab" o = Gtk.WidgetHasGrabMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hasRcStyle" o = Gtk.WidgetHasRcStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hasScreen" o = Gtk.WidgetHasScreenMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hasVisibleFocus" o = Gtk.WidgetHasVisibleFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hide" o = Gtk.WidgetHideMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "hideOnDelete" o = Gtk.WidgetHideOnDeleteMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "inDestruction" o = Gtk.WidgetInDestructionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "initTemplate" o = Gtk.WidgetInitTemplateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "inputShapeCombineRegion" o = Gtk.WidgetInputShapeCombineRegionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "insertActionGroup" o = Gtk.WidgetInsertActionGroupMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "intersect" o = Gtk.WidgetIntersectMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isAncestor" o = Gtk.WidgetIsAncestorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isComposited" o = Gtk.WidgetIsCompositedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isDrawable" o = Gtk.WidgetIsDrawableMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isFocus" o = Gtk.WidgetIsFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isSensitive" o = Gtk.WidgetIsSensitiveMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isToplevel" o = Gtk.WidgetIsToplevelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "isVisible" o = Gtk.WidgetIsVisibleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "keynavFailed" o = Gtk.WidgetKeynavFailedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "leave" o = Gtk.ButtonLeaveMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "listAccelClosures" o = Gtk.WidgetListAccelClosuresMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "listActionPrefixes" o = Gtk.WidgetListActionPrefixesMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "listMnemonicLabels" o = Gtk.WidgetListMnemonicLabelsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "map" o = Gtk.WidgetMapMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "mnemonicActivate" o = Gtk.WidgetMnemonicActivateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyBase" o = Gtk.WidgetModifyBaseMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyBg" o = Gtk.WidgetModifyBgMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyCursor" o = Gtk.WidgetModifyCursorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyFg" o = Gtk.WidgetModifyFgMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyFont" o = Gtk.WidgetModifyFontMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyStyle" o = Gtk.WidgetModifyStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "modifyText" o = Gtk.WidgetModifyTextMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "overrideBackgroundColor" o = Gtk.WidgetOverrideBackgroundColorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "overrideColor" o = Gtk.WidgetOverrideColorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "overrideCursor" o = Gtk.WidgetOverrideCursorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "overrideFont" o = Gtk.WidgetOverrideFontMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "overrideSymbolicColor" o = Gtk.WidgetOverrideSymbolicColorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "path" o = Gtk.WidgetPathMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "pressed" o = Gtk.ButtonPressedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "propagateDraw" o = Gtk.ContainerPropagateDrawMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "queueComputeExpand" o = Gtk.WidgetQueueComputeExpandMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "queueDraw" o = Gtk.WidgetQueueDrawMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "queueDrawArea" o = Gtk.WidgetQueueDrawAreaMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "queueDrawRegion" o = Gtk.WidgetQueueDrawRegionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "queueResize" o = Gtk.WidgetQueueResizeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "queueResizeNoRedraw" o = Gtk.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "realize" o = Gtk.WidgetRealizeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "regionIntersect" o = Gtk.WidgetRegionIntersectMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "registerWindow" o = Gtk.WidgetRegisterWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "released" o = Gtk.ButtonReleasedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "remove" o = Gtk.ContainerRemoveMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "removeAccelerator" o = Gtk.WidgetRemoveAcceleratorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "removeMnemonicLabel" o = Gtk.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "removeTickCallback" o = Gtk.WidgetRemoveTickCallbackMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "renderIcon" o = Gtk.WidgetRenderIconMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "renderIconPixbuf" o = Gtk.WidgetRenderIconPixbufMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "reparent" o = Gtk.WidgetReparentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "resetRcStyles" o = Gtk.WidgetResetRcStylesMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "resetStyle" o = Gtk.WidgetResetStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "resizeChildren" o = Gtk.ContainerResizeChildrenMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "sendExpose" o = Gtk.WidgetSendExposeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "sendFocusChange" o = Gtk.WidgetSendFocusChangeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "shapeCombineRegion" o = Gtk.WidgetShapeCombineRegionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "show" o = Gtk.WidgetShowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "showAll" o = Gtk.WidgetShowAllMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "showNow" o = Gtk.WidgetShowNowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "sizeAllocate" o = Gtk.WidgetSizeAllocateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "sizeAllocateWithBaseline" o = Gtk.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "sizeRequest" o = Gtk.WidgetSizeRequestMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "styleAttach" o = Gtk.WidgetStyleAttachMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "styleGetProperty" o = Gtk.WidgetStyleGetPropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "syncActionProperties" o = Gtk.ActivatableSyncActionPropertiesMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "thawChildNotify" o = Gtk.WidgetThawChildNotifyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "translateCoordinates" o = Gtk.WidgetTranslateCoordinatesMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "triggerTooltipQuery" o = Gtk.WidgetTriggerTooltipQueryMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unmap" o = Gtk.WidgetUnmapMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unparent" o = Gtk.WidgetUnparentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unrealize" o = Gtk.WidgetUnrealizeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unregisterWindow" o = Gtk.WidgetUnregisterWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unsetFocusChain" o = Gtk.ContainerUnsetFocusChainMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "unsetStateFlags" o = Gtk.WidgetUnsetStateFlagsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAccessible" o = Gtk.WidgetGetAccessibleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getActionGroup" o = Gtk.WidgetGetActionGroupMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getActionName" o = Gtk.ActionableGetActionNameMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getActionTargetValue" o = Gtk.ActionableGetActionTargetValueMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAlignment" o = Gtk.ButtonGetAlignmentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAllocatedBaseline" o = Gtk.WidgetGetAllocatedBaselineMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAllocatedHeight" o = Gtk.WidgetGetAllocatedHeightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAllocatedWidth" o = Gtk.WidgetGetAllocatedWidthMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAllocation" o = Gtk.WidgetGetAllocationMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAlwaysShowImage" o = Gtk.ButtonGetAlwaysShowImageMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAncestor" o = Gtk.WidgetGetAncestorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getAppPaintable" o = Gtk.WidgetGetAppPaintableMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getBorderWidth" o = Gtk.ContainerGetBorderWidthMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getCanDefault" o = Gtk.WidgetGetCanDefaultMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getCanFocus" o = Gtk.WidgetGetCanFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getChild" o = Gtk.BinGetChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getChildRequisition" o = Gtk.WidgetGetChildRequisitionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getChildVisible" o = Gtk.WidgetGetChildVisibleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getChildren" o = Gtk.ContainerGetChildrenMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getClip" o = Gtk.WidgetGetClipMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getClipboard" o = Gtk.WidgetGetClipboardMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getCompositeName" o = Gtk.WidgetGetCompositeNameMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getDeviceEnabled" o = Gtk.WidgetGetDeviceEnabledMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getDeviceEvents" o = Gtk.WidgetGetDeviceEventsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getDirection" o = Gtk.WidgetGetDirectionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getDisplay" o = Gtk.WidgetGetDisplayMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getDoubleBuffered" o = Gtk.WidgetGetDoubleBufferedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getEventWindow" o = Gtk.ButtonGetEventWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getEvents" o = Gtk.WidgetGetEventsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFocusChain" o = Gtk.ContainerGetFocusChainMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFocusChild" o = Gtk.ContainerGetFocusChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFocusHadjustment" o = Gtk.ContainerGetFocusHadjustmentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFocusOnClick" o = Gtk.ButtonGetFocusOnClickMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFocusVadjustment" o = Gtk.ContainerGetFocusVadjustmentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFontMap" o = Gtk.WidgetGetFontMapMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFontOptions" o = Gtk.WidgetGetFontOptionsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getFrameClock" o = Gtk.WidgetGetFrameClockMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getHalign" o = Gtk.WidgetGetHalignMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getHasTooltip" o = Gtk.WidgetGetHasTooltipMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getHasWindow" o = Gtk.WidgetGetHasWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getHexpand" o = Gtk.WidgetGetHexpandMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getHexpandSet" o = Gtk.WidgetGetHexpandSetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getImage" o = Gtk.ButtonGetImageMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getImagePosition" o = Gtk.ButtonGetImagePositionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getLabel" o = Gtk.ButtonGetLabelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMapped" o = Gtk.WidgetGetMappedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMarginBottom" o = Gtk.WidgetGetMarginBottomMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMarginEnd" o = Gtk.WidgetGetMarginEndMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMarginLeft" o = Gtk.WidgetGetMarginLeftMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMarginRight" o = Gtk.WidgetGetMarginRightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMarginStart" o = Gtk.WidgetGetMarginStartMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getMarginTop" o = Gtk.WidgetGetMarginTopMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getModifierMask" o = Gtk.WidgetGetModifierMaskMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getModifierStyle" o = Gtk.WidgetGetModifierStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getNoShowAll" o = Gtk.WidgetGetNoShowAllMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getOpacity" o = Gtk.WidgetGetOpacityMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPangoContext" o = Gtk.WidgetGetPangoContextMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getParent" o = Gtk.WidgetGetParentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getParentWindow" o = Gtk.WidgetGetParentWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPath" o = Gtk.WidgetGetPathMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPathForChild" o = Gtk.ContainerGetPathForChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPointer" o = Gtk.WidgetGetPointerMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPreferredHeight" o = Gtk.WidgetGetPreferredHeightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPreferredHeightForWidth" o = Gtk.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPreferredSize" o = Gtk.WidgetGetPreferredSizeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPreferredWidth" o = Gtk.WidgetGetPreferredWidthMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getPreferredWidthForHeight" o = Gtk.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getRealized" o = Gtk.WidgetGetRealizedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getReceivesDefault" o = Gtk.WidgetGetReceivesDefaultMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getRelatedAction" o = Gtk.ActivatableGetRelatedActionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getRelief" o = Gtk.ButtonGetReliefMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getRequestMode" o = Gtk.WidgetGetRequestModeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getRequisition" o = Gtk.WidgetGetRequisitionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getResizeMode" o = Gtk.ContainerGetResizeModeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getRootWindow" o = Gtk.WidgetGetRootWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getScaleFactor" o = Gtk.WidgetGetScaleFactorMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getScreen" o = Gtk.WidgetGetScreenMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getSensitive" o = Gtk.WidgetGetSensitiveMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getSettings" o = Gtk.WidgetGetSettingsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getSizeRequest" o = Gtk.WidgetGetSizeRequestMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getState" o = Gtk.WidgetGetStateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getStateFlags" o = Gtk.WidgetGetStateFlagsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getStyle" o = Gtk.WidgetGetStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getStyleContext" o = Gtk.WidgetGetStyleContextMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getStyleScheme" o = StyleSchemeChooserGetStyleSchemeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getSupportMultidevice" o = Gtk.WidgetGetSupportMultideviceMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getTemplateChild" o = Gtk.WidgetGetTemplateChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getTooltipMarkup" o = Gtk.WidgetGetTooltipMarkupMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getTooltipText" o = Gtk.WidgetGetTooltipTextMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getTooltipWindow" o = Gtk.WidgetGetTooltipWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getToplevel" o = Gtk.WidgetGetToplevelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getUseActionAppearance" o = Gtk.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getUseStock" o = Gtk.ButtonGetUseStockMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getUseUnderline" o = Gtk.ButtonGetUseUnderlineMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getValign" o = Gtk.WidgetGetValignMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getValignWithBaseline" o = Gtk.WidgetGetValignWithBaselineMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getVexpand" o = Gtk.WidgetGetVexpandMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getVexpandSet" o = Gtk.WidgetGetVexpandSetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getVisible" o = Gtk.WidgetGetVisibleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getVisual" o = Gtk.WidgetGetVisualMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "getWindow" o = Gtk.WidgetGetWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setAccelPath" o = Gtk.WidgetSetAccelPathMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setActionName" o = Gtk.ActionableSetActionNameMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setActionTargetValue" o = Gtk.ActionableSetActionTargetValueMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setAlignment" o = Gtk.ButtonSetAlignmentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setAllocation" o = Gtk.WidgetSetAllocationMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setAlwaysShowImage" o = Gtk.ButtonSetAlwaysShowImageMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setAppPaintable" o = Gtk.WidgetSetAppPaintableMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setBorderWidth" o = Gtk.ContainerSetBorderWidthMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setCanDefault" o = Gtk.WidgetSetCanDefaultMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setCanFocus" o = Gtk.WidgetSetCanFocusMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setChildVisible" o = Gtk.WidgetSetChildVisibleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setClip" o = Gtk.WidgetSetClipMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setCompositeName" o = Gtk.WidgetSetCompositeNameMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setDetailedActionName" o = Gtk.ActionableSetDetailedActionNameMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setDeviceEnabled" o = Gtk.WidgetSetDeviceEnabledMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setDeviceEvents" o = Gtk.WidgetSetDeviceEventsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setDirection" o = Gtk.WidgetSetDirectionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setDoubleBuffered" o = Gtk.WidgetSetDoubleBufferedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setEvents" o = Gtk.WidgetSetEventsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFocusChain" o = Gtk.ContainerSetFocusChainMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFocusChild" o = Gtk.ContainerSetFocusChildMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFocusHadjustment" o = Gtk.ContainerSetFocusHadjustmentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFocusOnClick" o = Gtk.ButtonSetFocusOnClickMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFocusVadjustment" o = Gtk.ContainerSetFocusVadjustmentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFontMap" o = Gtk.WidgetSetFontMapMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setFontOptions" o = Gtk.WidgetSetFontOptionsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setHalign" o = Gtk.WidgetSetHalignMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setHasTooltip" o = Gtk.WidgetSetHasTooltipMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setHasWindow" o = Gtk.WidgetSetHasWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setHexpand" o = Gtk.WidgetSetHexpandMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setHexpandSet" o = Gtk.WidgetSetHexpandSetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setImage" o = Gtk.ButtonSetImageMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setImagePosition" o = Gtk.ButtonSetImagePositionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setLabel" o = Gtk.ButtonSetLabelMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMapped" o = Gtk.WidgetSetMappedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMarginBottom" o = Gtk.WidgetSetMarginBottomMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMarginEnd" o = Gtk.WidgetSetMarginEndMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMarginLeft" o = Gtk.WidgetSetMarginLeftMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMarginRight" o = Gtk.WidgetSetMarginRightMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMarginStart" o = Gtk.WidgetSetMarginStartMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setMarginTop" o = Gtk.WidgetSetMarginTopMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setNoShowAll" o = Gtk.WidgetSetNoShowAllMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setOpacity" o = Gtk.WidgetSetOpacityMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setParent" o = Gtk.WidgetSetParentMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setParentWindow" o = Gtk.WidgetSetParentWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setRealized" o = Gtk.WidgetSetRealizedMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setReallocateRedraws" o = Gtk.ContainerSetReallocateRedrawsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setReceivesDefault" o = Gtk.WidgetSetReceivesDefaultMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setRedrawOnAllocate" o = Gtk.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setRelatedAction" o = Gtk.ActivatableSetRelatedActionMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setRelief" o = Gtk.ButtonSetReliefMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setResizeMode" o = Gtk.ContainerSetResizeModeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setSensitive" o = Gtk.WidgetSetSensitiveMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setSizeRequest" o = Gtk.WidgetSetSizeRequestMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setState" o = Gtk.WidgetSetStateMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setStateFlags" o = Gtk.WidgetSetStateFlagsMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setStyle" o = Gtk.WidgetSetStyleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setStyleScheme" o = StyleSchemeChooserSetStyleSchemeMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setSupportMultidevice" o = Gtk.WidgetSetSupportMultideviceMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setTooltipMarkup" o = Gtk.WidgetSetTooltipMarkupMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setTooltipText" o = Gtk.WidgetSetTooltipTextMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setTooltipWindow" o = Gtk.WidgetSetTooltipWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setUseActionAppearance" o = Gtk.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setUseStock" o = Gtk.ButtonSetUseStockMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setUseUnderline" o = Gtk.ButtonSetUseUnderlineMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setValign" o = Gtk.WidgetSetValignMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setVexpand" o = Gtk.WidgetSetVexpandMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setVexpandSet" o = Gtk.WidgetSetVexpandSetMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setVisible" o = Gtk.WidgetSetVisibleMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setVisual" o = Gtk.WidgetSetVisualMethodInfo
+    ResolveStyleSchemeChooserButtonMethod "setWindow" o = Gtk.WidgetSetWindowMethodInfo
+    ResolveStyleSchemeChooserButtonMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleSchemeChooserButtonMethod t StyleSchemeChooserButton, MethodInfo info StyleSchemeChooserButton p) => IsLabelProxy t (StyleSchemeChooserButton -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStyleSchemeChooserButtonMethod t StyleSchemeChooserButton, MethodInfo info StyleSchemeChooserButton p) => IsLabel t (StyleSchemeChooserButton -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+type instance AttributeList StyleSchemeChooserButton = StyleSchemeChooserButtonAttributeList
+type StyleSchemeChooserButtonAttributeList = ('[ '("actionName", Gtk.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.ActionableActionTargetPropertyInfo), '("alwaysShowImage", Gtk.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.WidgetCanFocusPropertyInfo), '("child", Gtk.ContainerChildPropertyInfo), '("compositeChild", Gtk.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.ButtonFocusOnClickPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("hasDefault", Gtk.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.WidgetHexpandSetPropertyInfo), '("image", Gtk.ButtonImagePropertyInfo), '("imagePosition", Gtk.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.WidgetIsFocusPropertyInfo), '("label", Gtk.ButtonLabelPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("marginBottom", Gtk.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.WidgetMarginTopPropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("noShowAll", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("receivesDefault", Gtk.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.ButtonReliefPropertyInfo), '("resizeMode", Gtk.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("styleScheme", StyleSchemeChooserStyleSchemePropertyInfo), '("tooltipMarkup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.WidgetVexpandSetPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo), '("xalign", Gtk.ButtonXalignPropertyInfo), '("yalign", Gtk.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+
+type instance SignalList StyleSchemeChooserButton = StyleSchemeChooserButtonSignalList
+type StyleSchemeChooserButtonSignalList = ('[ '("accelClosuresChanged", Gtk.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.ButtonActivateSignalInfo), '("add", Gtk.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.WidgetChildNotifySignalInfo), '("clicked", Gtk.ButtonClickedSignalInfo), '("compositedChanged", Gtk.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.WidgetDeleteEventSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroyEvent", Gtk.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.WidgetDragDropSignalInfo), '("dragEnd", Gtk.WidgetDragEndSignalInfo), '("dragFailed", Gtk.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("enter", Gtk.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("eventAfter", Gtk.WidgetEventAfterSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focusInEvent", Gtk.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.WidgetKeynavFailedSignalInfo), '("leave", Gtk.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("mapEvent", Gtk.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.WidgetMoveFocusSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parentSet", Gtk.WidgetParentSetSignalInfo), '("popupMenu", Gtk.WidgetPopupMenuSignalInfo), '("pressed", Gtk.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.WidgetQueryTooltipSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("released", Gtk.ButtonReleasedSignalInfo), '("remove", Gtk.ContainerRemoveSignalInfo), '("screenChanged", Gtk.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.ContainerSetFocusChildSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("showHelp", Gtk.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.WidgetTouchEventSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+-- method StyleSchemeChooserButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleSchemeChooserButton")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_chooser_button_new" gtk_source_style_scheme_chooser_button_new :: 
+    IO (Ptr StyleSchemeChooserButton)
+
+
+styleSchemeChooserButtonNew ::
+    (MonadIO m) =>
+    m StyleSchemeChooserButton              -- result
+styleSchemeChooserButtonNew  = liftIO $ do
+    result <- gtk_source_style_scheme_chooser_button_new
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_chooser_button_new" result
+    result' <- (newObject StyleSchemeChooserButton) result
+    return result'
+
+
diff --git a/GI/GtkSource/Objects/StyleSchemeChooserButton.hs-boot b/GI/GtkSource/Objects/StyleSchemeChooserButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleSchemeChooserButton.hs-boot
@@ -0,0 +1,13 @@
+module GI.GtkSource.Objects.StyleSchemeChooserButton where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype StyleSchemeChooserButton = StyleSchemeChooserButton (ForeignPtr StyleSchemeChooserButton)
+instance GObject StyleSchemeChooserButton where
+class GObject o => StyleSchemeChooserButtonK o
+instance (GObject o, IsDescendantOf StyleSchemeChooserButton o) => StyleSchemeChooserButtonK o
diff --git a/GI/GtkSource/Objects/StyleSchemeChooserWidget.hs b/GI/GtkSource/Objects/StyleSchemeChooserWidget.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleSchemeChooserWidget.hs
@@ -0,0 +1,414 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.StyleSchemeChooserWidget
+    ( 
+
+-- * Exported types
+    StyleSchemeChooserWidget(..)            ,
+    StyleSchemeChooserWidgetK               ,
+    toStyleSchemeChooserWidget              ,
+    noStyleSchemeChooserWidget              ,
+
+
+ -- * Methods
+-- ** styleSchemeChooserWidgetNew
+    styleSchemeChooserWidgetNew             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.Atk as Atk
+import qualified GI.GObject as GObject
+import qualified GI.Gtk as Gtk
+
+newtype StyleSchemeChooserWidget = StyleSchemeChooserWidget (ForeignPtr StyleSchemeChooserWidget)
+foreign import ccall "gtk_source_style_scheme_chooser_widget_get_type"
+    c_gtk_source_style_scheme_chooser_widget_get_type :: IO GType
+
+type instance ParentTypes StyleSchemeChooserWidget = StyleSchemeChooserWidgetParentTypes
+type StyleSchemeChooserWidgetParentTypes = '[Gtk.Bin, Gtk.Container, Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Buildable, StyleSchemeChooser]
+
+instance GObject StyleSchemeChooserWidget where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_style_scheme_chooser_widget_get_type
+    
+
+class GObject o => StyleSchemeChooserWidgetK o
+instance (GObject o, IsDescendantOf StyleSchemeChooserWidget o) => StyleSchemeChooserWidgetK o
+
+toStyleSchemeChooserWidget :: StyleSchemeChooserWidgetK o => o -> IO StyleSchemeChooserWidget
+toStyleSchemeChooserWidget = unsafeCastTo StyleSchemeChooserWidget
+
+noStyleSchemeChooserWidget :: Maybe StyleSchemeChooserWidget
+noStyleSchemeChooserWidget = Nothing
+
+type family ResolveStyleSchemeChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleSchemeChooserWidgetMethod "activate" o = Gtk.WidgetActivateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "add" o = Gtk.ContainerAddMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "addAccelerator" o = Gtk.WidgetAddAcceleratorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "addDeviceEvents" o = Gtk.WidgetAddDeviceEventsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "addEvents" o = Gtk.WidgetAddEventsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "addMnemonicLabel" o = Gtk.WidgetAddMnemonicLabelMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "addTickCallback" o = Gtk.WidgetAddTickCallbackMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "canActivateAccel" o = Gtk.WidgetCanActivateAccelMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "checkResize" o = Gtk.ContainerCheckResizeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "childFocus" o = Gtk.WidgetChildFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "childGetProperty" o = Gtk.ContainerChildGetPropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "childNotifyByPspec" o = Gtk.ContainerChildNotifyByPspecMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "childSetProperty" o = Gtk.ContainerChildSetPropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "childType" o = Gtk.ContainerChildTypeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "classPath" o = Gtk.WidgetClassPathMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "computeExpand" o = Gtk.WidgetComputeExpandMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "createPangoContext" o = Gtk.WidgetCreatePangoContextMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "createPangoLayout" o = Gtk.WidgetCreatePangoLayoutMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "destroy" o = Gtk.WidgetDestroyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "destroyed" o = Gtk.WidgetDestroyedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "deviceIsShadowed" o = Gtk.WidgetDeviceIsShadowedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragBegin" o = Gtk.WidgetDragBeginMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragBeginWithCoordinates" o = Gtk.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragCheckThreshold" o = Gtk.WidgetDragCheckThresholdMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestAddImageTargets" o = Gtk.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestAddTextTargets" o = Gtk.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestAddUriTargets" o = Gtk.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestFindTarget" o = Gtk.WidgetDragDestFindTargetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestGetTargetList" o = Gtk.WidgetDragDestGetTargetListMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestGetTrackMotion" o = Gtk.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestSet" o = Gtk.WidgetDragDestSetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestSetProxy" o = Gtk.WidgetDragDestSetProxyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestSetTargetList" o = Gtk.WidgetDragDestSetTargetListMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestSetTrackMotion" o = Gtk.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragDestUnset" o = Gtk.WidgetDragDestUnsetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragGetData" o = Gtk.WidgetDragGetDataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragHighlight" o = Gtk.WidgetDragHighlightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceAddImageTargets" o = Gtk.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceAddTextTargets" o = Gtk.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceAddUriTargets" o = Gtk.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceGetTargetList" o = Gtk.WidgetDragSourceGetTargetListMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceSet" o = Gtk.WidgetDragSourceSetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceSetIconGicon" o = Gtk.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceSetIconName" o = Gtk.WidgetDragSourceSetIconNameMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceSetIconPixbuf" o = Gtk.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceSetIconStock" o = Gtk.WidgetDragSourceSetIconStockMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceSetTargetList" o = Gtk.WidgetDragSourceSetTargetListMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragSourceUnset" o = Gtk.WidgetDragSourceUnsetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "dragUnhighlight" o = Gtk.WidgetDragUnhighlightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "draw" o = Gtk.WidgetDrawMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "ensureStyle" o = Gtk.WidgetEnsureStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "errorBell" o = Gtk.WidgetErrorBellMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "event" o = Gtk.WidgetEventMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "forall" o = Gtk.ContainerForallMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "foreach" o = Gtk.ContainerForeachMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "freezeChildNotify" o = Gtk.WidgetFreezeChildNotifyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "grabAdd" o = Gtk.WidgetGrabAddMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "grabDefault" o = Gtk.WidgetGrabDefaultMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "grabFocus" o = Gtk.WidgetGrabFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "grabRemove" o = Gtk.WidgetGrabRemoveMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hasDefault" o = Gtk.WidgetHasDefaultMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hasFocus" o = Gtk.WidgetHasFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hasGrab" o = Gtk.WidgetHasGrabMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hasRcStyle" o = Gtk.WidgetHasRcStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hasScreen" o = Gtk.WidgetHasScreenMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hasVisibleFocus" o = Gtk.WidgetHasVisibleFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hide" o = Gtk.WidgetHideMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "hideOnDelete" o = Gtk.WidgetHideOnDeleteMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "inDestruction" o = Gtk.WidgetInDestructionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "initTemplate" o = Gtk.WidgetInitTemplateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "inputShapeCombineRegion" o = Gtk.WidgetInputShapeCombineRegionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "insertActionGroup" o = Gtk.WidgetInsertActionGroupMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "intersect" o = Gtk.WidgetIntersectMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isAncestor" o = Gtk.WidgetIsAncestorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isComposited" o = Gtk.WidgetIsCompositedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isDrawable" o = Gtk.WidgetIsDrawableMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isFocus" o = Gtk.WidgetIsFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isSensitive" o = Gtk.WidgetIsSensitiveMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isToplevel" o = Gtk.WidgetIsToplevelMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "isVisible" o = Gtk.WidgetIsVisibleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "keynavFailed" o = Gtk.WidgetKeynavFailedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "listAccelClosures" o = Gtk.WidgetListAccelClosuresMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "listActionPrefixes" o = Gtk.WidgetListActionPrefixesMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "listMnemonicLabels" o = Gtk.WidgetListMnemonicLabelsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "map" o = Gtk.WidgetMapMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "mnemonicActivate" o = Gtk.WidgetMnemonicActivateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyBase" o = Gtk.WidgetModifyBaseMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyBg" o = Gtk.WidgetModifyBgMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyCursor" o = Gtk.WidgetModifyCursorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyFg" o = Gtk.WidgetModifyFgMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyFont" o = Gtk.WidgetModifyFontMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyStyle" o = Gtk.WidgetModifyStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "modifyText" o = Gtk.WidgetModifyTextMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "overrideBackgroundColor" o = Gtk.WidgetOverrideBackgroundColorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "overrideColor" o = Gtk.WidgetOverrideColorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "overrideCursor" o = Gtk.WidgetOverrideCursorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "overrideFont" o = Gtk.WidgetOverrideFontMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "overrideSymbolicColor" o = Gtk.WidgetOverrideSymbolicColorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "path" o = Gtk.WidgetPathMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "propagateDraw" o = Gtk.ContainerPropagateDrawMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "queueComputeExpand" o = Gtk.WidgetQueueComputeExpandMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "queueDraw" o = Gtk.WidgetQueueDrawMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "queueDrawArea" o = Gtk.WidgetQueueDrawAreaMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "queueDrawRegion" o = Gtk.WidgetQueueDrawRegionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "queueResize" o = Gtk.WidgetQueueResizeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "queueResizeNoRedraw" o = Gtk.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "realize" o = Gtk.WidgetRealizeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "regionIntersect" o = Gtk.WidgetRegionIntersectMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "registerWindow" o = Gtk.WidgetRegisterWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "remove" o = Gtk.ContainerRemoveMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "removeAccelerator" o = Gtk.WidgetRemoveAcceleratorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "removeMnemonicLabel" o = Gtk.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "removeTickCallback" o = Gtk.WidgetRemoveTickCallbackMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "renderIcon" o = Gtk.WidgetRenderIconMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "renderIconPixbuf" o = Gtk.WidgetRenderIconPixbufMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "reparent" o = Gtk.WidgetReparentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "resetRcStyles" o = Gtk.WidgetResetRcStylesMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "resetStyle" o = Gtk.WidgetResetStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "resizeChildren" o = Gtk.ContainerResizeChildrenMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "sendExpose" o = Gtk.WidgetSendExposeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "sendFocusChange" o = Gtk.WidgetSendFocusChangeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "shapeCombineRegion" o = Gtk.WidgetShapeCombineRegionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "show" o = Gtk.WidgetShowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "showAll" o = Gtk.WidgetShowAllMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "showNow" o = Gtk.WidgetShowNowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "sizeAllocate" o = Gtk.WidgetSizeAllocateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "sizeAllocateWithBaseline" o = Gtk.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "sizeRequest" o = Gtk.WidgetSizeRequestMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "styleAttach" o = Gtk.WidgetStyleAttachMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "styleGetProperty" o = Gtk.WidgetStyleGetPropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "thawChildNotify" o = Gtk.WidgetThawChildNotifyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "translateCoordinates" o = Gtk.WidgetTranslateCoordinatesMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "triggerTooltipQuery" o = Gtk.WidgetTriggerTooltipQueryMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unmap" o = Gtk.WidgetUnmapMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unparent" o = Gtk.WidgetUnparentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unrealize" o = Gtk.WidgetUnrealizeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unregisterWindow" o = Gtk.WidgetUnregisterWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unsetFocusChain" o = Gtk.ContainerUnsetFocusChainMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "unsetStateFlags" o = Gtk.WidgetUnsetStateFlagsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAccessible" o = Gtk.WidgetGetAccessibleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getActionGroup" o = Gtk.WidgetGetActionGroupMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAllocatedBaseline" o = Gtk.WidgetGetAllocatedBaselineMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAllocatedHeight" o = Gtk.WidgetGetAllocatedHeightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAllocatedWidth" o = Gtk.WidgetGetAllocatedWidthMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAllocation" o = Gtk.WidgetGetAllocationMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAncestor" o = Gtk.WidgetGetAncestorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getAppPaintable" o = Gtk.WidgetGetAppPaintableMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getBorderWidth" o = Gtk.ContainerGetBorderWidthMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getCanDefault" o = Gtk.WidgetGetCanDefaultMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getCanFocus" o = Gtk.WidgetGetCanFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getChild" o = Gtk.BinGetChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getChildRequisition" o = Gtk.WidgetGetChildRequisitionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getChildVisible" o = Gtk.WidgetGetChildVisibleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getChildren" o = Gtk.ContainerGetChildrenMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getClip" o = Gtk.WidgetGetClipMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getClipboard" o = Gtk.WidgetGetClipboardMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getCompositeName" o = Gtk.WidgetGetCompositeNameMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getDeviceEnabled" o = Gtk.WidgetGetDeviceEnabledMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getDeviceEvents" o = Gtk.WidgetGetDeviceEventsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getDirection" o = Gtk.WidgetGetDirectionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getDisplay" o = Gtk.WidgetGetDisplayMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getDoubleBuffered" o = Gtk.WidgetGetDoubleBufferedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getEvents" o = Gtk.WidgetGetEventsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFocusChain" o = Gtk.ContainerGetFocusChainMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFocusChild" o = Gtk.ContainerGetFocusChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFocusHadjustment" o = Gtk.ContainerGetFocusHadjustmentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFocusVadjustment" o = Gtk.ContainerGetFocusVadjustmentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFontMap" o = Gtk.WidgetGetFontMapMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFontOptions" o = Gtk.WidgetGetFontOptionsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getFrameClock" o = Gtk.WidgetGetFrameClockMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getHalign" o = Gtk.WidgetGetHalignMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getHasTooltip" o = Gtk.WidgetGetHasTooltipMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getHasWindow" o = Gtk.WidgetGetHasWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getHexpand" o = Gtk.WidgetGetHexpandMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getHexpandSet" o = Gtk.WidgetGetHexpandSetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMapped" o = Gtk.WidgetGetMappedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMarginBottom" o = Gtk.WidgetGetMarginBottomMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMarginEnd" o = Gtk.WidgetGetMarginEndMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMarginLeft" o = Gtk.WidgetGetMarginLeftMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMarginRight" o = Gtk.WidgetGetMarginRightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMarginStart" o = Gtk.WidgetGetMarginStartMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getMarginTop" o = Gtk.WidgetGetMarginTopMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getModifierMask" o = Gtk.WidgetGetModifierMaskMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getModifierStyle" o = Gtk.WidgetGetModifierStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getNoShowAll" o = Gtk.WidgetGetNoShowAllMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getOpacity" o = Gtk.WidgetGetOpacityMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPangoContext" o = Gtk.WidgetGetPangoContextMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getParent" o = Gtk.WidgetGetParentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getParentWindow" o = Gtk.WidgetGetParentWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPath" o = Gtk.WidgetGetPathMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPathForChild" o = Gtk.ContainerGetPathForChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPointer" o = Gtk.WidgetGetPointerMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPreferredHeight" o = Gtk.WidgetGetPreferredHeightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPreferredHeightForWidth" o = Gtk.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPreferredSize" o = Gtk.WidgetGetPreferredSizeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPreferredWidth" o = Gtk.WidgetGetPreferredWidthMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getPreferredWidthForHeight" o = Gtk.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getRealized" o = Gtk.WidgetGetRealizedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getReceivesDefault" o = Gtk.WidgetGetReceivesDefaultMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getRequestMode" o = Gtk.WidgetGetRequestModeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getRequisition" o = Gtk.WidgetGetRequisitionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getResizeMode" o = Gtk.ContainerGetResizeModeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getRootWindow" o = Gtk.WidgetGetRootWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getScaleFactor" o = Gtk.WidgetGetScaleFactorMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getScreen" o = Gtk.WidgetGetScreenMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getSensitive" o = Gtk.WidgetGetSensitiveMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getSettings" o = Gtk.WidgetGetSettingsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getSizeRequest" o = Gtk.WidgetGetSizeRequestMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getState" o = Gtk.WidgetGetStateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getStateFlags" o = Gtk.WidgetGetStateFlagsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getStyle" o = Gtk.WidgetGetStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getStyleContext" o = Gtk.WidgetGetStyleContextMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getStyleScheme" o = StyleSchemeChooserGetStyleSchemeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getSupportMultidevice" o = Gtk.WidgetGetSupportMultideviceMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getTemplateChild" o = Gtk.WidgetGetTemplateChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getTooltipMarkup" o = Gtk.WidgetGetTooltipMarkupMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getTooltipText" o = Gtk.WidgetGetTooltipTextMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getTooltipWindow" o = Gtk.WidgetGetTooltipWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getToplevel" o = Gtk.WidgetGetToplevelMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getValign" o = Gtk.WidgetGetValignMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getValignWithBaseline" o = Gtk.WidgetGetValignWithBaselineMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getVexpand" o = Gtk.WidgetGetVexpandMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getVexpandSet" o = Gtk.WidgetGetVexpandSetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getVisible" o = Gtk.WidgetGetVisibleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getVisual" o = Gtk.WidgetGetVisualMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "getWindow" o = Gtk.WidgetGetWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setAccelPath" o = Gtk.WidgetSetAccelPathMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setAllocation" o = Gtk.WidgetSetAllocationMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setAppPaintable" o = Gtk.WidgetSetAppPaintableMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setBorderWidth" o = Gtk.ContainerSetBorderWidthMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setCanDefault" o = Gtk.WidgetSetCanDefaultMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setCanFocus" o = Gtk.WidgetSetCanFocusMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setChildVisible" o = Gtk.WidgetSetChildVisibleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setClip" o = Gtk.WidgetSetClipMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setCompositeName" o = Gtk.WidgetSetCompositeNameMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setDeviceEnabled" o = Gtk.WidgetSetDeviceEnabledMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setDeviceEvents" o = Gtk.WidgetSetDeviceEventsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setDirection" o = Gtk.WidgetSetDirectionMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setDoubleBuffered" o = Gtk.WidgetSetDoubleBufferedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setEvents" o = Gtk.WidgetSetEventsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setFocusChain" o = Gtk.ContainerSetFocusChainMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setFocusChild" o = Gtk.ContainerSetFocusChildMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setFocusHadjustment" o = Gtk.ContainerSetFocusHadjustmentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setFocusVadjustment" o = Gtk.ContainerSetFocusVadjustmentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setFontMap" o = Gtk.WidgetSetFontMapMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setFontOptions" o = Gtk.WidgetSetFontOptionsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setHalign" o = Gtk.WidgetSetHalignMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setHasTooltip" o = Gtk.WidgetSetHasTooltipMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setHasWindow" o = Gtk.WidgetSetHasWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setHexpand" o = Gtk.WidgetSetHexpandMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setHexpandSet" o = Gtk.WidgetSetHexpandSetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMapped" o = Gtk.WidgetSetMappedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMarginBottom" o = Gtk.WidgetSetMarginBottomMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMarginEnd" o = Gtk.WidgetSetMarginEndMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMarginLeft" o = Gtk.WidgetSetMarginLeftMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMarginRight" o = Gtk.WidgetSetMarginRightMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMarginStart" o = Gtk.WidgetSetMarginStartMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setMarginTop" o = Gtk.WidgetSetMarginTopMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setNoShowAll" o = Gtk.WidgetSetNoShowAllMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setOpacity" o = Gtk.WidgetSetOpacityMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setParent" o = Gtk.WidgetSetParentMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setParentWindow" o = Gtk.WidgetSetParentWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setRealized" o = Gtk.WidgetSetRealizedMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setReallocateRedraws" o = Gtk.ContainerSetReallocateRedrawsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setReceivesDefault" o = Gtk.WidgetSetReceivesDefaultMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setRedrawOnAllocate" o = Gtk.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setResizeMode" o = Gtk.ContainerSetResizeModeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setSensitive" o = Gtk.WidgetSetSensitiveMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setSizeRequest" o = Gtk.WidgetSetSizeRequestMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setState" o = Gtk.WidgetSetStateMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setStateFlags" o = Gtk.WidgetSetStateFlagsMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setStyle" o = Gtk.WidgetSetStyleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setStyleScheme" o = StyleSchemeChooserSetStyleSchemeMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setSupportMultidevice" o = Gtk.WidgetSetSupportMultideviceMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setTooltipMarkup" o = Gtk.WidgetSetTooltipMarkupMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setTooltipText" o = Gtk.WidgetSetTooltipTextMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setTooltipWindow" o = Gtk.WidgetSetTooltipWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setValign" o = Gtk.WidgetSetValignMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setVexpand" o = Gtk.WidgetSetVexpandMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setVexpandSet" o = Gtk.WidgetSetVexpandSetMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setVisible" o = Gtk.WidgetSetVisibleMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setVisual" o = Gtk.WidgetSetVisualMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod "setWindow" o = Gtk.WidgetSetWindowMethodInfo
+    ResolveStyleSchemeChooserWidgetMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleSchemeChooserWidgetMethod t StyleSchemeChooserWidget, MethodInfo info StyleSchemeChooserWidget p) => IsLabelProxy t (StyleSchemeChooserWidget -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStyleSchemeChooserWidgetMethod t StyleSchemeChooserWidget, MethodInfo info StyleSchemeChooserWidget p) => IsLabel t (StyleSchemeChooserWidget -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+type instance AttributeList StyleSchemeChooserWidget = StyleSchemeChooserWidgetAttributeList
+type StyleSchemeChooserWidgetAttributeList = ('[ '("appPaintable", Gtk.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.WidgetCanFocusPropertyInfo), '("child", Gtk.ContainerChildPropertyInfo), '("compositeChild", Gtk.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("hasDefault", Gtk.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.WidgetIsFocusPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("marginBottom", Gtk.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.WidgetMarginTopPropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("noShowAll", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("receivesDefault", Gtk.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("styleScheme", StyleSchemeChooserStyleSchemePropertyInfo), '("tooltipMarkup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.WidgetTooltipTextPropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.WidgetVexpandSetPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+
+type instance SignalList StyleSchemeChooserWidget = StyleSchemeChooserWidgetSignalList
+type StyleSchemeChooserWidgetSignalList = ('[ '("accelClosuresChanged", Gtk.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.WidgetDeleteEventSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroyEvent", Gtk.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.WidgetDragDropSignalInfo), '("dragEnd", Gtk.WidgetDragEndSignalInfo), '("dragFailed", Gtk.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("eventAfter", Gtk.WidgetEventAfterSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focusInEvent", Gtk.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("mapEvent", Gtk.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.WidgetMoveFocusSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parentSet", Gtk.WidgetParentSetSignalInfo), '("popupMenu", Gtk.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.WidgetQueryTooltipSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("remove", Gtk.ContainerRemoveSignalInfo), '("screenChanged", Gtk.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.ContainerSetFocusChildSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("showHelp", Gtk.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.WidgetTouchEventSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+-- method StyleSchemeChooserWidget::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleSchemeChooserWidget")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_chooser_widget_new" gtk_source_style_scheme_chooser_widget_new :: 
+    IO (Ptr StyleSchemeChooserWidget)
+
+
+styleSchemeChooserWidgetNew ::
+    (MonadIO m) =>
+    m StyleSchemeChooserWidget              -- result
+styleSchemeChooserWidgetNew  = liftIO $ do
+    result <- gtk_source_style_scheme_chooser_widget_new
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_chooser_widget_new" result
+    result' <- (newObject StyleSchemeChooserWidget) result
+    return result'
+
+
diff --git a/GI/GtkSource/Objects/StyleSchemeChooserWidget.hs-boot b/GI/GtkSource/Objects/StyleSchemeChooserWidget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleSchemeChooserWidget.hs-boot
@@ -0,0 +1,13 @@
+module GI.GtkSource.Objects.StyleSchemeChooserWidget where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype StyleSchemeChooserWidget = StyleSchemeChooserWidget (ForeignPtr StyleSchemeChooserWidget)
+instance GObject StyleSchemeChooserWidget where
+class GObject o => StyleSchemeChooserWidgetK o
+instance (GObject o, IsDescendantOf StyleSchemeChooserWidget o) => StyleSchemeChooserWidgetK o
diff --git a/GI/GtkSource/Objects/StyleSchemeManager.hs b/GI/GtkSource/Objects/StyleSchemeManager.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleSchemeManager.hs
@@ -0,0 +1,477 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.StyleSchemeManager
+    ( 
+
+-- * Exported types
+    StyleSchemeManager(..)                  ,
+    StyleSchemeManagerK                     ,
+    toStyleSchemeManager                    ,
+    noStyleSchemeManager                    ,
+
+
+ -- * Methods
+-- ** styleSchemeManagerAppendSearchPath
+    StyleSchemeManagerAppendSearchPathMethodInfo,
+    styleSchemeManagerAppendSearchPath      ,
+
+
+-- ** styleSchemeManagerForceRescan
+    StyleSchemeManagerForceRescanMethodInfo ,
+    styleSchemeManagerForceRescan           ,
+
+
+-- ** styleSchemeManagerGetDefault
+    styleSchemeManagerGetDefault            ,
+
+
+-- ** styleSchemeManagerGetScheme
+    StyleSchemeManagerGetSchemeMethodInfo   ,
+    styleSchemeManagerGetScheme             ,
+
+
+-- ** styleSchemeManagerGetSchemeIds
+    StyleSchemeManagerGetSchemeIdsMethodInfo,
+    styleSchemeManagerGetSchemeIds          ,
+
+
+-- ** styleSchemeManagerGetSearchPath
+    StyleSchemeManagerGetSearchPathMethodInfo,
+    styleSchemeManagerGetSearchPath         ,
+
+
+-- ** styleSchemeManagerNew
+    styleSchemeManagerNew                   ,
+
+
+-- ** styleSchemeManagerPrependSearchPath
+    StyleSchemeManagerPrependSearchPathMethodInfo,
+    styleSchemeManagerPrependSearchPath     ,
+
+
+-- ** styleSchemeManagerSetSearchPath
+    StyleSchemeManagerSetSearchPathMethodInfo,
+    styleSchemeManagerSetSearchPath         ,
+
+
+
+
+ -- * Properties
+-- ** SchemeIds
+    StyleSchemeManagerSchemeIdsPropertyInfo ,
+    getStyleSchemeManagerSchemeIds          ,
+    styleSchemeManagerSchemeIds             ,
+
+
+-- ** SearchPath
+    StyleSchemeManagerSearchPathPropertyInfo,
+    clearStyleSchemeManagerSearchPath       ,
+    constructStyleSchemeManagerSearchPath   ,
+    getStyleSchemeManagerSearchPath         ,
+    setStyleSchemeManagerSearchPath         ,
+    styleSchemeManagerSearchPath            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.GObject as GObject
+
+newtype StyleSchemeManager = StyleSchemeManager (ForeignPtr StyleSchemeManager)
+foreign import ccall "gtk_source_style_scheme_manager_get_type"
+    c_gtk_source_style_scheme_manager_get_type :: IO GType
+
+type instance ParentTypes StyleSchemeManager = StyleSchemeManagerParentTypes
+type StyleSchemeManagerParentTypes = '[GObject.Object]
+
+instance GObject StyleSchemeManager where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gtk_source_style_scheme_manager_get_type
+    
+
+class GObject o => StyleSchemeManagerK o
+instance (GObject o, IsDescendantOf StyleSchemeManager o) => StyleSchemeManagerK o
+
+toStyleSchemeManager :: StyleSchemeManagerK o => o -> IO StyleSchemeManager
+toStyleSchemeManager = unsafeCastTo StyleSchemeManager
+
+noStyleSchemeManager :: Maybe StyleSchemeManager
+noStyleSchemeManager = Nothing
+
+type family ResolveStyleSchemeManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleSchemeManagerMethod "appendSearchPath" o = StyleSchemeManagerAppendSearchPathMethodInfo
+    ResolveStyleSchemeManagerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStyleSchemeManagerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStyleSchemeManagerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStyleSchemeManagerMethod "forceRescan" o = StyleSchemeManagerForceRescanMethodInfo
+    ResolveStyleSchemeManagerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStyleSchemeManagerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStyleSchemeManagerMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStyleSchemeManagerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStyleSchemeManagerMethod "prependSearchPath" o = StyleSchemeManagerPrependSearchPathMethodInfo
+    ResolveStyleSchemeManagerMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStyleSchemeManagerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStyleSchemeManagerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStyleSchemeManagerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStyleSchemeManagerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStyleSchemeManagerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStyleSchemeManagerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStyleSchemeManagerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStyleSchemeManagerMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStyleSchemeManagerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStyleSchemeManagerMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStyleSchemeManagerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStyleSchemeManagerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStyleSchemeManagerMethod "getScheme" o = StyleSchemeManagerGetSchemeMethodInfo
+    ResolveStyleSchemeManagerMethod "getSchemeIds" o = StyleSchemeManagerGetSchemeIdsMethodInfo
+    ResolveStyleSchemeManagerMethod "getSearchPath" o = StyleSchemeManagerGetSearchPathMethodInfo
+    ResolveStyleSchemeManagerMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStyleSchemeManagerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStyleSchemeManagerMethod "setSearchPath" o = StyleSchemeManagerSetSearchPathMethodInfo
+    ResolveStyleSchemeManagerMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleSchemeManagerMethod t StyleSchemeManager, MethodInfo info StyleSchemeManager p) => IsLabelProxy t (StyleSchemeManager -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStyleSchemeManagerMethod t StyleSchemeManager, MethodInfo info StyleSchemeManager p) => IsLabel t (StyleSchemeManager -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- VVV Prop "scheme-ids"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+getStyleSchemeManagerSchemeIds :: (MonadIO m, StyleSchemeManagerK o) => o -> m (Maybe [T.Text])
+getStyleSchemeManagerSchemeIds obj = liftIO $ getObjectPropertyStringArray obj "scheme-ids"
+
+data StyleSchemeManagerSchemeIdsPropertyInfo
+instance AttrInfo StyleSchemeManagerSchemeIdsPropertyInfo where
+    type AttrAllowedOps StyleSchemeManagerSchemeIdsPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleSchemeManagerSchemeIdsPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StyleSchemeManagerSchemeIdsPropertyInfo = StyleSchemeManagerK
+    type AttrGetType StyleSchemeManagerSchemeIdsPropertyInfo = (Maybe [T.Text])
+    type AttrLabel StyleSchemeManagerSchemeIdsPropertyInfo = "scheme-ids"
+    attrGet _ = getStyleSchemeManagerSchemeIds
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "search-path"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+getStyleSchemeManagerSearchPath :: (MonadIO m, StyleSchemeManagerK o) => o -> m [T.Text]
+getStyleSchemeManagerSearchPath obj = liftIO $ checkUnexpectedNothing "getStyleSchemeManagerSearchPath" $ getObjectPropertyStringArray obj "search-path"
+
+setStyleSchemeManagerSearchPath :: (MonadIO m, StyleSchemeManagerK o) => o -> [T.Text] -> m ()
+setStyleSchemeManagerSearchPath obj val = liftIO $ setObjectPropertyStringArray obj "search-path" (Just val)
+
+constructStyleSchemeManagerSearchPath :: [T.Text] -> IO ([Char], GValue)
+constructStyleSchemeManagerSearchPath val = constructObjectPropertyStringArray "search-path" (Just val)
+
+clearStyleSchemeManagerSearchPath :: (MonadIO m, StyleSchemeManagerK o) => o -> m ()
+clearStyleSchemeManagerSearchPath obj = liftIO $ setObjectPropertyStringArray obj "search-path" (Nothing :: Maybe [T.Text])
+
+data StyleSchemeManagerSearchPathPropertyInfo
+instance AttrInfo StyleSchemeManagerSearchPathPropertyInfo where
+    type AttrAllowedOps StyleSchemeManagerSearchPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleSchemeManagerSearchPathPropertyInfo = (~) [T.Text]
+    type AttrBaseTypeConstraint StyleSchemeManagerSearchPathPropertyInfo = StyleSchemeManagerK
+    type AttrGetType StyleSchemeManagerSearchPathPropertyInfo = [T.Text]
+    type AttrLabel StyleSchemeManagerSearchPathPropertyInfo = "search-path"
+    attrGet _ = getStyleSchemeManagerSearchPath
+    attrSet _ = setStyleSchemeManagerSearchPath
+    attrConstruct _ = constructStyleSchemeManagerSearchPath
+    attrClear _ = clearStyleSchemeManagerSearchPath
+
+type instance AttributeList StyleSchemeManager = StyleSchemeManagerAttributeList
+type StyleSchemeManagerAttributeList = ('[ '("schemeIds", StyleSchemeManagerSchemeIdsPropertyInfo), '("searchPath", StyleSchemeManagerSearchPathPropertyInfo)] :: [(Symbol, *)])
+
+styleSchemeManagerSchemeIds :: AttrLabelProxy "schemeIds"
+styleSchemeManagerSchemeIds = AttrLabelProxy
+
+styleSchemeManagerSearchPath :: AttrLabelProxy "searchPath"
+styleSchemeManagerSearchPath = AttrLabelProxy
+
+type instance SignalList StyleSchemeManager = StyleSchemeManagerSignalList
+type StyleSchemeManagerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+-- method StyleSchemeManager::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleSchemeManager")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_new" gtk_source_style_scheme_manager_new :: 
+    IO (Ptr StyleSchemeManager)
+
+
+styleSchemeManagerNew ::
+    (MonadIO m) =>
+    m StyleSchemeManager                    -- result
+styleSchemeManagerNew  = liftIO $ do
+    result <- gtk_source_style_scheme_manager_new
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_manager_new" result
+    result' <- (wrapObject StyleSchemeManager) result
+    return result'
+
+-- method StyleSchemeManager::append_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_append_search_path" gtk_source_style_scheme_manager_append_search_path :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    CString ->                              -- path : TBasicType TUTF8
+    IO ()
+
+
+styleSchemeManagerAppendSearchPath ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
+styleSchemeManagerAppendSearchPath _obj path = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    path' <- textToCString path
+    gtk_source_style_scheme_manager_append_search_path _obj' path'
+    touchManagedPtr _obj
+    freeMem path'
+    return ()
+
+data StyleSchemeManagerAppendSearchPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerAppendSearchPathMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerAppendSearchPath
+
+-- method StyleSchemeManager::force_rescan
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_force_rescan" gtk_source_style_scheme_manager_force_rescan :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    IO ()
+
+
+styleSchemeManagerForceRescan ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+styleSchemeManagerForceRescan _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_style_scheme_manager_force_rescan _obj'
+    touchManagedPtr _obj
+    return ()
+
+data StyleSchemeManagerForceRescanMethodInfo
+instance (signature ~ (m ()), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerForceRescanMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerForceRescan
+
+-- method StyleSchemeManager::get_scheme
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleScheme")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_get_scheme" gtk_source_style_scheme_manager_get_scheme :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    CString ->                              -- scheme_id : TBasicType TUTF8
+    IO (Ptr StyleScheme)
+
+
+styleSchemeManagerGetScheme ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- schemeId
+    -> m StyleScheme                        -- result
+styleSchemeManagerGetScheme _obj schemeId = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    schemeId' <- textToCString schemeId
+    result <- gtk_source_style_scheme_manager_get_scheme _obj' schemeId'
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_manager_get_scheme" result
+    result' <- (newObject StyleScheme) result
+    touchManagedPtr _obj
+    freeMem schemeId'
+    return result'
+
+data StyleSchemeManagerGetSchemeMethodInfo
+instance (signature ~ (T.Text -> m StyleScheme), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerGetSchemeMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerGetScheme
+
+-- method StyleSchemeManager::get_scheme_ids
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_get_scheme_ids" gtk_source_style_scheme_manager_get_scheme_ids :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    IO (Ptr CString)
+
+
+styleSchemeManagerGetSchemeIds ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> m (Maybe [T.Text])                   -- result
+styleSchemeManagerGetSchemeIds _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_manager_get_scheme_ids _obj'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        return result''
+    touchManagedPtr _obj
+    return maybeResult
+
+data StyleSchemeManagerGetSchemeIdsMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerGetSchemeIdsMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerGetSchemeIds
+
+-- method StyleSchemeManager::get_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_get_search_path" gtk_source_style_scheme_manager_get_search_path :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    IO (Ptr CString)
+
+
+styleSchemeManagerGetSearchPath ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> m [T.Text]                           -- result
+styleSchemeManagerGetSearchPath _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_style_scheme_manager_get_search_path _obj'
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_manager_get_search_path" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    touchManagedPtr _obj
+    return result'
+
+data StyleSchemeManagerGetSearchPathMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerGetSearchPathMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerGetSearchPath
+
+-- method StyleSchemeManager::prepend_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_prepend_search_path" gtk_source_style_scheme_manager_prepend_search_path :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    CString ->                              -- path : TBasicType TUTF8
+    IO ()
+
+
+styleSchemeManagerPrependSearchPath ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- path
+    -> m ()                                 -- result
+styleSchemeManagerPrependSearchPath _obj path = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    path' <- textToCString path
+    gtk_source_style_scheme_manager_prepend_search_path _obj' path'
+    touchManagedPtr _obj
+    freeMem path'
+    return ()
+
+data StyleSchemeManagerPrependSearchPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerPrependSearchPathMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerPrependSearchPath
+
+-- method StyleSchemeManager::set_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "StyleSchemeManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_set_search_path" gtk_source_style_scheme_manager_set_search_path :: 
+    Ptr StyleSchemeManager ->               -- _obj : TInterface "GtkSource" "StyleSchemeManager"
+    Ptr CString ->                          -- path : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+
+styleSchemeManagerSetSearchPath ::
+    (MonadIO m, StyleSchemeManagerK a) =>
+    a                                       -- _obj
+    -> Maybe ([T.Text])                     -- path
+    -> m ()                                 -- result
+styleSchemeManagerSetSearchPath _obj path = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- packZeroTerminatedUTF8CArray jPath
+            return jPath'
+    gtk_source_style_scheme_manager_set_search_path _obj' maybePath
+    touchManagedPtr _obj
+    mapZeroTerminatedCArray freeMem maybePath
+    freeMem maybePath
+    return ()
+
+data StyleSchemeManagerSetSearchPathMethodInfo
+instance (signature ~ (Maybe ([T.Text]) -> m ()), MonadIO m, StyleSchemeManagerK a) => MethodInfo StyleSchemeManagerSetSearchPathMethodInfo a signature where
+    overloadedMethod _ = styleSchemeManagerSetSearchPath
+
+-- method StyleSchemeManager::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "StyleSchemeManager")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_style_scheme_manager_get_default" gtk_source_style_scheme_manager_get_default :: 
+    IO (Ptr StyleSchemeManager)
+
+
+styleSchemeManagerGetDefault ::
+    (MonadIO m) =>
+    m StyleSchemeManager                    -- result
+styleSchemeManagerGetDefault  = liftIO $ do
+    result <- gtk_source_style_scheme_manager_get_default
+    checkUnexpectedReturnNULL "gtk_source_style_scheme_manager_get_default" result
+    result' <- (newObject StyleSchemeManager) result
+    return result'
+
+
diff --git a/GI/GtkSource/Objects/StyleSchemeManager.hs-boot b/GI/GtkSource/Objects/StyleSchemeManager.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/StyleSchemeManager.hs-boot
@@ -0,0 +1,22 @@
+module GI.GtkSource.Objects.StyleSchemeManager where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype StyleSchemeManager = StyleSchemeManager (ForeignPtr StyleSchemeManager)
+instance GObject StyleSchemeManager where
+class GObject o => StyleSchemeManagerK o
+instance (GObject o, IsDescendantOf StyleSchemeManager o) => StyleSchemeManagerK o
+data StyleSchemeManagerSchemeIdsPropertyInfo
+data StyleSchemeManagerSearchPathPropertyInfo
+data StyleSchemeManagerAppendSearchPathMethodInfo
+data StyleSchemeManagerForceRescanMethodInfo
+data StyleSchemeManagerGetSchemeMethodInfo
+data StyleSchemeManagerGetSchemeIdsMethodInfo
+data StyleSchemeManagerGetSearchPathMethodInfo
+data StyleSchemeManagerPrependSearchPathMethodInfo
+data StyleSchemeManagerSetSearchPathMethodInfo
diff --git a/GI/GtkSource/Objects/View.hs b/GI/GtkSource/Objects/View.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/View.hs
@@ -0,0 +1,2958 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Objects.View
+    ( 
+
+-- * Exported types
+    View(..)                                ,
+    ViewK                                   ,
+    toView                                  ,
+    noView                                  ,
+
+
+ -- * Methods
+-- ** viewGetAutoIndent
+    ViewGetAutoIndentMethodInfo             ,
+    viewGetAutoIndent                       ,
+
+
+-- ** viewGetBackgroundPattern
+    ViewGetBackgroundPatternMethodInfo      ,
+    viewGetBackgroundPattern                ,
+
+
+-- ** viewGetCompletion
+    ViewGetCompletionMethodInfo             ,
+    viewGetCompletion                       ,
+
+
+-- ** viewGetDrawSpaces
+    ViewGetDrawSpacesMethodInfo             ,
+    viewGetDrawSpaces                       ,
+
+
+-- ** viewGetGutter
+    ViewGetGutterMethodInfo                 ,
+    viewGetGutter                           ,
+
+
+-- ** viewGetHighlightCurrentLine
+    ViewGetHighlightCurrentLineMethodInfo   ,
+    viewGetHighlightCurrentLine             ,
+
+
+-- ** viewGetIndentOnTab
+    ViewGetIndentOnTabMethodInfo            ,
+    viewGetIndentOnTab                      ,
+
+
+-- ** viewGetIndentWidth
+    ViewGetIndentWidthMethodInfo            ,
+    viewGetIndentWidth                      ,
+
+
+-- ** viewGetInsertSpacesInsteadOfTabs
+    ViewGetInsertSpacesInsteadOfTabsMethodInfo,
+    viewGetInsertSpacesInsteadOfTabs        ,
+
+
+-- ** viewGetMarkAttributes
+    ViewGetMarkAttributesMethodInfo         ,
+    viewGetMarkAttributes                   ,
+
+
+-- ** viewGetRightMarginPosition
+    ViewGetRightMarginPositionMethodInfo    ,
+    viewGetRightMarginPosition              ,
+
+
+-- ** viewGetShowLineMarks
+    ViewGetShowLineMarksMethodInfo          ,
+    viewGetShowLineMarks                    ,
+
+
+-- ** viewGetShowLineNumbers
+    ViewGetShowLineNumbersMethodInfo        ,
+    viewGetShowLineNumbers                  ,
+
+
+-- ** viewGetShowRightMargin
+    ViewGetShowRightMarginMethodInfo        ,
+    viewGetShowRightMargin                  ,
+
+
+-- ** viewGetSmartBackspace
+    ViewGetSmartBackspaceMethodInfo         ,
+    viewGetSmartBackspace                   ,
+
+
+-- ** viewGetSmartHomeEnd
+    ViewGetSmartHomeEndMethodInfo           ,
+    viewGetSmartHomeEnd                     ,
+
+
+-- ** viewGetTabWidth
+    ViewGetTabWidthMethodInfo               ,
+    viewGetTabWidth                         ,
+
+
+-- ** viewGetVisualColumn
+    ViewGetVisualColumnMethodInfo           ,
+    viewGetVisualColumn                     ,
+
+
+-- ** viewIndentLines
+    ViewIndentLinesMethodInfo               ,
+    viewIndentLines                         ,
+
+
+-- ** viewNew
+    viewNew                                 ,
+
+
+-- ** viewNewWithBuffer
+    viewNewWithBuffer                       ,
+
+
+-- ** viewSetAutoIndent
+    ViewSetAutoIndentMethodInfo             ,
+    viewSetAutoIndent                       ,
+
+
+-- ** viewSetBackgroundPattern
+    ViewSetBackgroundPatternMethodInfo      ,
+    viewSetBackgroundPattern                ,
+
+
+-- ** viewSetDrawSpaces
+    ViewSetDrawSpacesMethodInfo             ,
+    viewSetDrawSpaces                       ,
+
+
+-- ** viewSetHighlightCurrentLine
+    ViewSetHighlightCurrentLineMethodInfo   ,
+    viewSetHighlightCurrentLine             ,
+
+
+-- ** viewSetIndentOnTab
+    ViewSetIndentOnTabMethodInfo            ,
+    viewSetIndentOnTab                      ,
+
+
+-- ** viewSetIndentWidth
+    ViewSetIndentWidthMethodInfo            ,
+    viewSetIndentWidth                      ,
+
+
+-- ** viewSetInsertSpacesInsteadOfTabs
+    ViewSetInsertSpacesInsteadOfTabsMethodInfo,
+    viewSetInsertSpacesInsteadOfTabs        ,
+
+
+-- ** viewSetMarkAttributes
+    ViewSetMarkAttributesMethodInfo         ,
+    viewSetMarkAttributes                   ,
+
+
+-- ** viewSetRightMarginPosition
+    ViewSetRightMarginPositionMethodInfo    ,
+    viewSetRightMarginPosition              ,
+
+
+-- ** viewSetShowLineMarks
+    ViewSetShowLineMarksMethodInfo          ,
+    viewSetShowLineMarks                    ,
+
+
+-- ** viewSetShowLineNumbers
+    ViewSetShowLineNumbersMethodInfo        ,
+    viewSetShowLineNumbers                  ,
+
+
+-- ** viewSetShowRightMargin
+    ViewSetShowRightMarginMethodInfo        ,
+    viewSetShowRightMargin                  ,
+
+
+-- ** viewSetSmartBackspace
+    ViewSetSmartBackspaceMethodInfo         ,
+    viewSetSmartBackspace                   ,
+
+
+-- ** viewSetSmartHomeEnd
+    ViewSetSmartHomeEndMethodInfo           ,
+    viewSetSmartHomeEnd                     ,
+
+
+-- ** viewSetTabWidth
+    ViewSetTabWidthMethodInfo               ,
+    viewSetTabWidth                         ,
+
+
+-- ** viewUnindentLines
+    ViewUnindentLinesMethodInfo             ,
+    viewUnindentLines                       ,
+
+
+
+
+ -- * Properties
+-- ** AutoIndent
+    ViewAutoIndentPropertyInfo              ,
+    constructViewAutoIndent                 ,
+    getViewAutoIndent                       ,
+    setViewAutoIndent                       ,
+    viewAutoIndent                          ,
+
+
+-- ** BackgroundPattern
+    ViewBackgroundPatternPropertyInfo       ,
+    constructViewBackgroundPattern          ,
+    getViewBackgroundPattern                ,
+    setViewBackgroundPattern                ,
+    viewBackgroundPattern                   ,
+
+
+-- ** Completion
+    ViewCompletionPropertyInfo              ,
+    getViewCompletion                       ,
+    viewCompletion                          ,
+
+
+-- ** DrawSpaces
+    ViewDrawSpacesPropertyInfo              ,
+    constructViewDrawSpaces                 ,
+    getViewDrawSpaces                       ,
+    setViewDrawSpaces                       ,
+    viewDrawSpaces                          ,
+
+
+-- ** HighlightCurrentLine
+    ViewHighlightCurrentLinePropertyInfo    ,
+    constructViewHighlightCurrentLine       ,
+    getViewHighlightCurrentLine             ,
+    setViewHighlightCurrentLine             ,
+    viewHighlightCurrentLine                ,
+
+
+-- ** IndentOnTab
+    ViewIndentOnTabPropertyInfo             ,
+    constructViewIndentOnTab                ,
+    getViewIndentOnTab                      ,
+    setViewIndentOnTab                      ,
+    viewIndentOnTab                         ,
+
+
+-- ** IndentWidth
+    ViewIndentWidthPropertyInfo             ,
+    constructViewIndentWidth                ,
+    getViewIndentWidth                      ,
+    setViewIndentWidth                      ,
+    viewIndentWidth                         ,
+
+
+-- ** InsertSpacesInsteadOfTabs
+    ViewInsertSpacesInsteadOfTabsPropertyInfo,
+    constructViewInsertSpacesInsteadOfTabs  ,
+    getViewInsertSpacesInsteadOfTabs        ,
+    setViewInsertSpacesInsteadOfTabs        ,
+    viewInsertSpacesInsteadOfTabs           ,
+
+
+-- ** RightMarginPosition
+    ViewRightMarginPositionPropertyInfo     ,
+    constructViewRightMarginPosition        ,
+    getViewRightMarginPosition              ,
+    setViewRightMarginPosition              ,
+    viewRightMarginPosition                 ,
+
+
+-- ** ShowLineMarks
+    ViewShowLineMarksPropertyInfo           ,
+    constructViewShowLineMarks              ,
+    getViewShowLineMarks                    ,
+    setViewShowLineMarks                    ,
+    viewShowLineMarks                       ,
+
+
+-- ** ShowLineNumbers
+    ViewShowLineNumbersPropertyInfo         ,
+    constructViewShowLineNumbers            ,
+    getViewShowLineNumbers                  ,
+    setViewShowLineNumbers                  ,
+    viewShowLineNumbers                     ,
+
+
+-- ** ShowRightMargin
+    ViewShowRightMarginPropertyInfo         ,
+    constructViewShowRightMargin            ,
+    getViewShowRightMargin                  ,
+    setViewShowRightMargin                  ,
+    viewShowRightMargin                     ,
+
+
+-- ** SmartBackspace
+    ViewSmartBackspacePropertyInfo          ,
+    constructViewSmartBackspace             ,
+    getViewSmartBackspace                   ,
+    setViewSmartBackspace                   ,
+    viewSmartBackspace                      ,
+
+
+-- ** SmartHomeEnd
+    ViewSmartHomeEndPropertyInfo            ,
+    constructViewSmartHomeEnd               ,
+    getViewSmartHomeEnd                     ,
+    setViewSmartHomeEnd                     ,
+    viewSmartHomeEnd                        ,
+
+
+-- ** TabWidth
+    ViewTabWidthPropertyInfo                ,
+    constructViewTabWidth                   ,
+    getViewTabWidth                         ,
+    setViewTabWidth                         ,
+    viewTabWidth                            ,
+
+
+
+
+ -- * Signals
+-- ** ChangeCase
+    ViewChangeCaseCallback                  ,
+    ViewChangeCaseCallbackC                 ,
+    ViewChangeCaseSignalInfo                ,
+    afterViewChangeCase                     ,
+    mkViewChangeCaseCallback                ,
+    noViewChangeCaseCallback                ,
+    onViewChangeCase                        ,
+    viewChangeCaseCallbackWrapper           ,
+    viewChangeCaseClosure                   ,
+
+
+-- ** ChangeNumber
+    ViewChangeNumberCallback                ,
+    ViewChangeNumberCallbackC               ,
+    ViewChangeNumberSignalInfo              ,
+    afterViewChangeNumber                   ,
+    mkViewChangeNumberCallback              ,
+    noViewChangeNumberCallback              ,
+    onViewChangeNumber                      ,
+    viewChangeNumberCallbackWrapper         ,
+    viewChangeNumberClosure                 ,
+
+
+-- ** JoinLines
+    ViewJoinLinesCallback                   ,
+    ViewJoinLinesCallbackC                  ,
+    ViewJoinLinesSignalInfo                 ,
+    afterViewJoinLines                      ,
+    mkViewJoinLinesCallback                 ,
+    noViewJoinLinesCallback                 ,
+    onViewJoinLines                         ,
+    viewJoinLinesCallbackWrapper            ,
+    viewJoinLinesClosure                    ,
+
+
+-- ** LineMarkActivated
+    ViewLineMarkActivatedCallback           ,
+    ViewLineMarkActivatedCallbackC          ,
+    ViewLineMarkActivatedSignalInfo         ,
+    afterViewLineMarkActivated              ,
+    mkViewLineMarkActivatedCallback         ,
+    noViewLineMarkActivatedCallback         ,
+    onViewLineMarkActivated                 ,
+    viewLineMarkActivatedCallbackWrapper    ,
+    viewLineMarkActivatedClosure            ,
+
+
+-- ** MoveLines
+    ViewMoveLinesCallback                   ,
+    ViewMoveLinesCallbackC                  ,
+    ViewMoveLinesSignalInfo                 ,
+    afterViewMoveLines                      ,
+    mkViewMoveLinesCallback                 ,
+    noViewMoveLinesCallback                 ,
+    onViewMoveLines                         ,
+    viewMoveLinesCallbackWrapper            ,
+    viewMoveLinesClosure                    ,
+
+
+-- ** MoveToMatchingBracket
+    ViewMoveToMatchingBracketCallback       ,
+    ViewMoveToMatchingBracketCallbackC      ,
+    ViewMoveToMatchingBracketSignalInfo     ,
+    afterViewMoveToMatchingBracket          ,
+    mkViewMoveToMatchingBracketCallback     ,
+    noViewMoveToMatchingBracketCallback     ,
+    onViewMoveToMatchingBracket             ,
+    viewMoveToMatchingBracketCallbackWrapper,
+    viewMoveToMatchingBracketClosure        ,
+
+
+-- ** MoveWords
+    ViewMoveWordsCallback                   ,
+    ViewMoveWordsCallbackC                  ,
+    ViewMoveWordsSignalInfo                 ,
+    afterViewMoveWords                      ,
+    mkViewMoveWordsCallback                 ,
+    noViewMoveWordsCallback                 ,
+    onViewMoveWords                         ,
+    viewMoveWordsCallbackWrapper            ,
+    viewMoveWordsClosure                    ,
+
+
+-- ** Redo
+    ViewRedoCallback                        ,
+    ViewRedoCallbackC                       ,
+    ViewRedoSignalInfo                      ,
+    afterViewRedo                           ,
+    mkViewRedoCallback                      ,
+    noViewRedoCallback                      ,
+    onViewRedo                              ,
+    viewRedoCallbackWrapper                 ,
+    viewRedoClosure                         ,
+
+
+-- ** ShowCompletion
+    ViewShowCompletionCallback              ,
+    ViewShowCompletionCallbackC             ,
+    ViewShowCompletionSignalInfo            ,
+    afterViewShowCompletion                 ,
+    mkViewShowCompletionCallback            ,
+    noViewShowCompletionCallback            ,
+    onViewShowCompletion                    ,
+    viewShowCompletionCallbackWrapper       ,
+    viewShowCompletionClosure               ,
+
+
+-- ** SmartHomeEnd
+    ViewSmartHomeEndCallback                ,
+    ViewSmartHomeEndCallbackC               ,
+    ViewSmartHomeEndSignalInfo              ,
+    afterViewSmartHomeEnd                   ,
+    mkViewSmartHomeEndCallback              ,
+    noViewSmartHomeEndCallback              ,
+    onViewSmartHomeEnd                      ,
+    viewSmartHomeEndCallbackWrapper         ,
+    viewSmartHomeEndClosure                 ,
+
+
+-- ** Undo
+    ViewUndoCallback                        ,
+    ViewUndoCallbackC                       ,
+    ViewUndoSignalInfo                      ,
+    afterViewUndo                           ,
+    mkViewUndoCallback                      ,
+    noViewUndoCallback                      ,
+    onViewUndo                              ,
+    viewUndoCallbackWrapper                 ,
+    viewUndoClosure                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+import qualified GI.Atk as Atk
+import qualified GI.GObject as GObject
+import qualified GI.Gdk as Gdk
+import qualified GI.Gtk as Gtk
+
+newtype View = View (ForeignPtr View)
+foreign import ccall "gtk_source_view_get_type"
+    c_gtk_source_view_get_type :: IO GType
+
+type instance ParentTypes View = ViewParentTypes
+type ViewParentTypes = '[Gtk.TextView, Gtk.Container, Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Buildable, Gtk.Scrollable]
+
+instance GObject View where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_gtk_source_view_get_type
+    
+
+class GObject o => ViewK o
+instance (GObject o, IsDescendantOf View o) => ViewK o
+
+toView :: ViewK o => o -> IO View
+toView = unsafeCastTo View
+
+noView :: Maybe View
+noView = Nothing
+
+type family ResolveViewMethod (t :: Symbol) (o :: *) :: * where
+    ResolveViewMethod "activate" o = Gtk.WidgetActivateMethodInfo
+    ResolveViewMethod "add" o = Gtk.ContainerAddMethodInfo
+    ResolveViewMethod "addAccelerator" o = Gtk.WidgetAddAcceleratorMethodInfo
+    ResolveViewMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveViewMethod "addChildAtAnchor" o = Gtk.TextViewAddChildAtAnchorMethodInfo
+    ResolveViewMethod "addChildInWindow" o = Gtk.TextViewAddChildInWindowMethodInfo
+    ResolveViewMethod "addDeviceEvents" o = Gtk.WidgetAddDeviceEventsMethodInfo
+    ResolveViewMethod "addEvents" o = Gtk.WidgetAddEventsMethodInfo
+    ResolveViewMethod "addMnemonicLabel" o = Gtk.WidgetAddMnemonicLabelMethodInfo
+    ResolveViewMethod "addTickCallback" o = Gtk.WidgetAddTickCallbackMethodInfo
+    ResolveViewMethod "backwardDisplayLine" o = Gtk.TextViewBackwardDisplayLineMethodInfo
+    ResolveViewMethod "backwardDisplayLineStart" o = Gtk.TextViewBackwardDisplayLineStartMethodInfo
+    ResolveViewMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveViewMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveViewMethod "bufferToWindowCoords" o = Gtk.TextViewBufferToWindowCoordsMethodInfo
+    ResolveViewMethod "canActivateAccel" o = Gtk.WidgetCanActivateAccelMethodInfo
+    ResolveViewMethod "checkResize" o = Gtk.ContainerCheckResizeMethodInfo
+    ResolveViewMethod "childFocus" o = Gtk.WidgetChildFocusMethodInfo
+    ResolveViewMethod "childGetProperty" o = Gtk.ContainerChildGetPropertyMethodInfo
+    ResolveViewMethod "childNotifyByPspec" o = Gtk.ContainerChildNotifyByPspecMethodInfo
+    ResolveViewMethod "childSetProperty" o = Gtk.ContainerChildSetPropertyMethodInfo
+    ResolveViewMethod "childType" o = Gtk.ContainerChildTypeMethodInfo
+    ResolveViewMethod "classPath" o = Gtk.WidgetClassPathMethodInfo
+    ResolveViewMethod "computeExpand" o = Gtk.WidgetComputeExpandMethodInfo
+    ResolveViewMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveViewMethod "createPangoContext" o = Gtk.WidgetCreatePangoContextMethodInfo
+    ResolveViewMethod "createPangoLayout" o = Gtk.WidgetCreatePangoLayoutMethodInfo
+    ResolveViewMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveViewMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveViewMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveViewMethod "destroy" o = Gtk.WidgetDestroyMethodInfo
+    ResolveViewMethod "destroyed" o = Gtk.WidgetDestroyedMethodInfo
+    ResolveViewMethod "deviceIsShadowed" o = Gtk.WidgetDeviceIsShadowedMethodInfo
+    ResolveViewMethod "dragBegin" o = Gtk.WidgetDragBeginMethodInfo
+    ResolveViewMethod "dragBeginWithCoordinates" o = Gtk.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveViewMethod "dragCheckThreshold" o = Gtk.WidgetDragCheckThresholdMethodInfo
+    ResolveViewMethod "dragDestAddImageTargets" o = Gtk.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveViewMethod "dragDestAddTextTargets" o = Gtk.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveViewMethod "dragDestAddUriTargets" o = Gtk.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveViewMethod "dragDestFindTarget" o = Gtk.WidgetDragDestFindTargetMethodInfo
+    ResolveViewMethod "dragDestGetTargetList" o = Gtk.WidgetDragDestGetTargetListMethodInfo
+    ResolveViewMethod "dragDestGetTrackMotion" o = Gtk.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveViewMethod "dragDestSet" o = Gtk.WidgetDragDestSetMethodInfo
+    ResolveViewMethod "dragDestSetProxy" o = Gtk.WidgetDragDestSetProxyMethodInfo
+    ResolveViewMethod "dragDestSetTargetList" o = Gtk.WidgetDragDestSetTargetListMethodInfo
+    ResolveViewMethod "dragDestSetTrackMotion" o = Gtk.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveViewMethod "dragDestUnset" o = Gtk.WidgetDragDestUnsetMethodInfo
+    ResolveViewMethod "dragGetData" o = Gtk.WidgetDragGetDataMethodInfo
+    ResolveViewMethod "dragHighlight" o = Gtk.WidgetDragHighlightMethodInfo
+    ResolveViewMethod "dragSourceAddImageTargets" o = Gtk.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveViewMethod "dragSourceAddTextTargets" o = Gtk.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveViewMethod "dragSourceAddUriTargets" o = Gtk.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveViewMethod "dragSourceGetTargetList" o = Gtk.WidgetDragSourceGetTargetListMethodInfo
+    ResolveViewMethod "dragSourceSet" o = Gtk.WidgetDragSourceSetMethodInfo
+    ResolveViewMethod "dragSourceSetIconGicon" o = Gtk.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveViewMethod "dragSourceSetIconName" o = Gtk.WidgetDragSourceSetIconNameMethodInfo
+    ResolveViewMethod "dragSourceSetIconPixbuf" o = Gtk.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveViewMethod "dragSourceSetIconStock" o = Gtk.WidgetDragSourceSetIconStockMethodInfo
+    ResolveViewMethod "dragSourceSetTargetList" o = Gtk.WidgetDragSourceSetTargetListMethodInfo
+    ResolveViewMethod "dragSourceUnset" o = Gtk.WidgetDragSourceUnsetMethodInfo
+    ResolveViewMethod "dragUnhighlight" o = Gtk.WidgetDragUnhighlightMethodInfo
+    ResolveViewMethod "draw" o = Gtk.WidgetDrawMethodInfo
+    ResolveViewMethod "ensureStyle" o = Gtk.WidgetEnsureStyleMethodInfo
+    ResolveViewMethod "errorBell" o = Gtk.WidgetErrorBellMethodInfo
+    ResolveViewMethod "event" o = Gtk.WidgetEventMethodInfo
+    ResolveViewMethod "forall" o = Gtk.ContainerForallMethodInfo
+    ResolveViewMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveViewMethod "foreach" o = Gtk.ContainerForeachMethodInfo
+    ResolveViewMethod "forwardDisplayLine" o = Gtk.TextViewForwardDisplayLineMethodInfo
+    ResolveViewMethod "forwardDisplayLineEnd" o = Gtk.TextViewForwardDisplayLineEndMethodInfo
+    ResolveViewMethod "freezeChildNotify" o = Gtk.WidgetFreezeChildNotifyMethodInfo
+    ResolveViewMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveViewMethod "grabAdd" o = Gtk.WidgetGrabAddMethodInfo
+    ResolveViewMethod "grabDefault" o = Gtk.WidgetGrabDefaultMethodInfo
+    ResolveViewMethod "grabFocus" o = Gtk.WidgetGrabFocusMethodInfo
+    ResolveViewMethod "grabRemove" o = Gtk.WidgetGrabRemoveMethodInfo
+    ResolveViewMethod "hasDefault" o = Gtk.WidgetHasDefaultMethodInfo
+    ResolveViewMethod "hasFocus" o = Gtk.WidgetHasFocusMethodInfo
+    ResolveViewMethod "hasGrab" o = Gtk.WidgetHasGrabMethodInfo
+    ResolveViewMethod "hasRcStyle" o = Gtk.WidgetHasRcStyleMethodInfo
+    ResolveViewMethod "hasScreen" o = Gtk.WidgetHasScreenMethodInfo
+    ResolveViewMethod "hasVisibleFocus" o = Gtk.WidgetHasVisibleFocusMethodInfo
+    ResolveViewMethod "hide" o = Gtk.WidgetHideMethodInfo
+    ResolveViewMethod "hideOnDelete" o = Gtk.WidgetHideOnDeleteMethodInfo
+    ResolveViewMethod "imContextFilterKeypress" o = Gtk.TextViewImContextFilterKeypressMethodInfo
+    ResolveViewMethod "inDestruction" o = Gtk.WidgetInDestructionMethodInfo
+    ResolveViewMethod "indentLines" o = ViewIndentLinesMethodInfo
+    ResolveViewMethod "initTemplate" o = Gtk.WidgetInitTemplateMethodInfo
+    ResolveViewMethod "inputShapeCombineRegion" o = Gtk.WidgetInputShapeCombineRegionMethodInfo
+    ResolveViewMethod "insertActionGroup" o = Gtk.WidgetInsertActionGroupMethodInfo
+    ResolveViewMethod "intersect" o = Gtk.WidgetIntersectMethodInfo
+    ResolveViewMethod "isAncestor" o = Gtk.WidgetIsAncestorMethodInfo
+    ResolveViewMethod "isComposited" o = Gtk.WidgetIsCompositedMethodInfo
+    ResolveViewMethod "isDrawable" o = Gtk.WidgetIsDrawableMethodInfo
+    ResolveViewMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveViewMethod "isFocus" o = Gtk.WidgetIsFocusMethodInfo
+    ResolveViewMethod "isSensitive" o = Gtk.WidgetIsSensitiveMethodInfo
+    ResolveViewMethod "isToplevel" o = Gtk.WidgetIsToplevelMethodInfo
+    ResolveViewMethod "isVisible" o = Gtk.WidgetIsVisibleMethodInfo
+    ResolveViewMethod "keynavFailed" o = Gtk.WidgetKeynavFailedMethodInfo
+    ResolveViewMethod "listAccelClosures" o = Gtk.WidgetListAccelClosuresMethodInfo
+    ResolveViewMethod "listActionPrefixes" o = Gtk.WidgetListActionPrefixesMethodInfo
+    ResolveViewMethod "listMnemonicLabels" o = Gtk.WidgetListMnemonicLabelsMethodInfo
+    ResolveViewMethod "map" o = Gtk.WidgetMapMethodInfo
+    ResolveViewMethod "mnemonicActivate" o = Gtk.WidgetMnemonicActivateMethodInfo
+    ResolveViewMethod "modifyBase" o = Gtk.WidgetModifyBaseMethodInfo
+    ResolveViewMethod "modifyBg" o = Gtk.WidgetModifyBgMethodInfo
+    ResolveViewMethod "modifyCursor" o = Gtk.WidgetModifyCursorMethodInfo
+    ResolveViewMethod "modifyFg" o = Gtk.WidgetModifyFgMethodInfo
+    ResolveViewMethod "modifyFont" o = Gtk.WidgetModifyFontMethodInfo
+    ResolveViewMethod "modifyStyle" o = Gtk.WidgetModifyStyleMethodInfo
+    ResolveViewMethod "modifyText" o = Gtk.WidgetModifyTextMethodInfo
+    ResolveViewMethod "moveChild" o = Gtk.TextViewMoveChildMethodInfo
+    ResolveViewMethod "moveMarkOnscreen" o = Gtk.TextViewMoveMarkOnscreenMethodInfo
+    ResolveViewMethod "moveVisually" o = Gtk.TextViewMoveVisuallyMethodInfo
+    ResolveViewMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveViewMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveViewMethod "overrideBackgroundColor" o = Gtk.WidgetOverrideBackgroundColorMethodInfo
+    ResolveViewMethod "overrideColor" o = Gtk.WidgetOverrideColorMethodInfo
+    ResolveViewMethod "overrideCursor" o = Gtk.WidgetOverrideCursorMethodInfo
+    ResolveViewMethod "overrideFont" o = Gtk.WidgetOverrideFontMethodInfo
+    ResolveViewMethod "overrideSymbolicColor" o = Gtk.WidgetOverrideSymbolicColorMethodInfo
+    ResolveViewMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveViewMethod "path" o = Gtk.WidgetPathMethodInfo
+    ResolveViewMethod "placeCursorOnscreen" o = Gtk.TextViewPlaceCursorOnscreenMethodInfo
+    ResolveViewMethod "propagateDraw" o = Gtk.ContainerPropagateDrawMethodInfo
+    ResolveViewMethod "queueComputeExpand" o = Gtk.WidgetQueueComputeExpandMethodInfo
+    ResolveViewMethod "queueDraw" o = Gtk.WidgetQueueDrawMethodInfo
+    ResolveViewMethod "queueDrawArea" o = Gtk.WidgetQueueDrawAreaMethodInfo
+    ResolveViewMethod "queueDrawRegion" o = Gtk.WidgetQueueDrawRegionMethodInfo
+    ResolveViewMethod "queueResize" o = Gtk.WidgetQueueResizeMethodInfo
+    ResolveViewMethod "queueResizeNoRedraw" o = Gtk.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveViewMethod "realize" o = Gtk.WidgetRealizeMethodInfo
+    ResolveViewMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveViewMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveViewMethod "regionIntersect" o = Gtk.WidgetRegionIntersectMethodInfo
+    ResolveViewMethod "registerWindow" o = Gtk.WidgetRegisterWindowMethodInfo
+    ResolveViewMethod "remove" o = Gtk.ContainerRemoveMethodInfo
+    ResolveViewMethod "removeAccelerator" o = Gtk.WidgetRemoveAcceleratorMethodInfo
+    ResolveViewMethod "removeMnemonicLabel" o = Gtk.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveViewMethod "removeTickCallback" o = Gtk.WidgetRemoveTickCallbackMethodInfo
+    ResolveViewMethod "renderIcon" o = Gtk.WidgetRenderIconMethodInfo
+    ResolveViewMethod "renderIconPixbuf" o = Gtk.WidgetRenderIconPixbufMethodInfo
+    ResolveViewMethod "reparent" o = Gtk.WidgetReparentMethodInfo
+    ResolveViewMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveViewMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveViewMethod "resetImContext" o = Gtk.TextViewResetImContextMethodInfo
+    ResolveViewMethod "resetRcStyles" o = Gtk.WidgetResetRcStylesMethodInfo
+    ResolveViewMethod "resetStyle" o = Gtk.WidgetResetStyleMethodInfo
+    ResolveViewMethod "resizeChildren" o = Gtk.ContainerResizeChildrenMethodInfo
+    ResolveViewMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveViewMethod "scrollMarkOnscreen" o = Gtk.TextViewScrollMarkOnscreenMethodInfo
+    ResolveViewMethod "scrollToIter" o = Gtk.TextViewScrollToIterMethodInfo
+    ResolveViewMethod "scrollToMark" o = Gtk.TextViewScrollToMarkMethodInfo
+    ResolveViewMethod "sendExpose" o = Gtk.WidgetSendExposeMethodInfo
+    ResolveViewMethod "sendFocusChange" o = Gtk.WidgetSendFocusChangeMethodInfo
+    ResolveViewMethod "shapeCombineRegion" o = Gtk.WidgetShapeCombineRegionMethodInfo
+    ResolveViewMethod "show" o = Gtk.WidgetShowMethodInfo
+    ResolveViewMethod "showAll" o = Gtk.WidgetShowAllMethodInfo
+    ResolveViewMethod "showNow" o = Gtk.WidgetShowNowMethodInfo
+    ResolveViewMethod "sizeAllocate" o = Gtk.WidgetSizeAllocateMethodInfo
+    ResolveViewMethod "sizeAllocateWithBaseline" o = Gtk.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveViewMethod "sizeRequest" o = Gtk.WidgetSizeRequestMethodInfo
+    ResolveViewMethod "startsDisplayLine" o = Gtk.TextViewStartsDisplayLineMethodInfo
+    ResolveViewMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveViewMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveViewMethod "styleAttach" o = Gtk.WidgetStyleAttachMethodInfo
+    ResolveViewMethod "styleGetProperty" o = Gtk.WidgetStyleGetPropertyMethodInfo
+    ResolveViewMethod "thawChildNotify" o = Gtk.WidgetThawChildNotifyMethodInfo
+    ResolveViewMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveViewMethod "translateCoordinates" o = Gtk.WidgetTranslateCoordinatesMethodInfo
+    ResolveViewMethod "triggerTooltipQuery" o = Gtk.WidgetTriggerTooltipQueryMethodInfo
+    ResolveViewMethod "unindentLines" o = ViewUnindentLinesMethodInfo
+    ResolveViewMethod "unmap" o = Gtk.WidgetUnmapMethodInfo
+    ResolveViewMethod "unparent" o = Gtk.WidgetUnparentMethodInfo
+    ResolveViewMethod "unrealize" o = Gtk.WidgetUnrealizeMethodInfo
+    ResolveViewMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveViewMethod "unregisterWindow" o = Gtk.WidgetUnregisterWindowMethodInfo
+    ResolveViewMethod "unsetFocusChain" o = Gtk.ContainerUnsetFocusChainMethodInfo
+    ResolveViewMethod "unsetStateFlags" o = Gtk.WidgetUnsetStateFlagsMethodInfo
+    ResolveViewMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveViewMethod "windowToBufferCoords" o = Gtk.TextViewWindowToBufferCoordsMethodInfo
+    ResolveViewMethod "getAcceptsTab" o = Gtk.TextViewGetAcceptsTabMethodInfo
+    ResolveViewMethod "getAccessible" o = Gtk.WidgetGetAccessibleMethodInfo
+    ResolveViewMethod "getActionGroup" o = Gtk.WidgetGetActionGroupMethodInfo
+    ResolveViewMethod "getAllocatedBaseline" o = Gtk.WidgetGetAllocatedBaselineMethodInfo
+    ResolveViewMethod "getAllocatedHeight" o = Gtk.WidgetGetAllocatedHeightMethodInfo
+    ResolveViewMethod "getAllocatedWidth" o = Gtk.WidgetGetAllocatedWidthMethodInfo
+    ResolveViewMethod "getAllocation" o = Gtk.WidgetGetAllocationMethodInfo
+    ResolveViewMethod "getAncestor" o = Gtk.WidgetGetAncestorMethodInfo
+    ResolveViewMethod "getAppPaintable" o = Gtk.WidgetGetAppPaintableMethodInfo
+    ResolveViewMethod "getAutoIndent" o = ViewGetAutoIndentMethodInfo
+    ResolveViewMethod "getBackgroundPattern" o = ViewGetBackgroundPatternMethodInfo
+    ResolveViewMethod "getBorder" o = Gtk.ScrollableGetBorderMethodInfo
+    ResolveViewMethod "getBorderWidth" o = Gtk.ContainerGetBorderWidthMethodInfo
+    ResolveViewMethod "getBorderWindowSize" o = Gtk.TextViewGetBorderWindowSizeMethodInfo
+    ResolveViewMethod "getBottomMargin" o = Gtk.TextViewGetBottomMarginMethodInfo
+    ResolveViewMethod "getBuffer" o = Gtk.TextViewGetBufferMethodInfo
+    ResolveViewMethod "getCanDefault" o = Gtk.WidgetGetCanDefaultMethodInfo
+    ResolveViewMethod "getCanFocus" o = Gtk.WidgetGetCanFocusMethodInfo
+    ResolveViewMethod "getChildRequisition" o = Gtk.WidgetGetChildRequisitionMethodInfo
+    ResolveViewMethod "getChildVisible" o = Gtk.WidgetGetChildVisibleMethodInfo
+    ResolveViewMethod "getChildren" o = Gtk.ContainerGetChildrenMethodInfo
+    ResolveViewMethod "getClip" o = Gtk.WidgetGetClipMethodInfo
+    ResolveViewMethod "getClipboard" o = Gtk.WidgetGetClipboardMethodInfo
+    ResolveViewMethod "getCompletion" o = ViewGetCompletionMethodInfo
+    ResolveViewMethod "getCompositeName" o = Gtk.WidgetGetCompositeNameMethodInfo
+    ResolveViewMethod "getCursorLocations" o = Gtk.TextViewGetCursorLocationsMethodInfo
+    ResolveViewMethod "getCursorVisible" o = Gtk.TextViewGetCursorVisibleMethodInfo
+    ResolveViewMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveViewMethod "getDefaultAttributes" o = Gtk.TextViewGetDefaultAttributesMethodInfo
+    ResolveViewMethod "getDeviceEnabled" o = Gtk.WidgetGetDeviceEnabledMethodInfo
+    ResolveViewMethod "getDeviceEvents" o = Gtk.WidgetGetDeviceEventsMethodInfo
+    ResolveViewMethod "getDirection" o = Gtk.WidgetGetDirectionMethodInfo
+    ResolveViewMethod "getDisplay" o = Gtk.WidgetGetDisplayMethodInfo
+    ResolveViewMethod "getDoubleBuffered" o = Gtk.WidgetGetDoubleBufferedMethodInfo
+    ResolveViewMethod "getDrawSpaces" o = ViewGetDrawSpacesMethodInfo
+    ResolveViewMethod "getEditable" o = Gtk.TextViewGetEditableMethodInfo
+    ResolveViewMethod "getEvents" o = Gtk.WidgetGetEventsMethodInfo
+    ResolveViewMethod "getFocusChain" o = Gtk.ContainerGetFocusChainMethodInfo
+    ResolveViewMethod "getFocusChild" o = Gtk.ContainerGetFocusChildMethodInfo
+    ResolveViewMethod "getFocusHadjustment" o = Gtk.ContainerGetFocusHadjustmentMethodInfo
+    ResolveViewMethod "getFocusVadjustment" o = Gtk.ContainerGetFocusVadjustmentMethodInfo
+    ResolveViewMethod "getFontMap" o = Gtk.WidgetGetFontMapMethodInfo
+    ResolveViewMethod "getFontOptions" o = Gtk.WidgetGetFontOptionsMethodInfo
+    ResolveViewMethod "getFrameClock" o = Gtk.WidgetGetFrameClockMethodInfo
+    ResolveViewMethod "getGutter" o = ViewGetGutterMethodInfo
+    ResolveViewMethod "getHalign" o = Gtk.WidgetGetHalignMethodInfo
+    ResolveViewMethod "getHasTooltip" o = Gtk.WidgetGetHasTooltipMethodInfo
+    ResolveViewMethod "getHasWindow" o = Gtk.WidgetGetHasWindowMethodInfo
+    ResolveViewMethod "getHexpand" o = Gtk.WidgetGetHexpandMethodInfo
+    ResolveViewMethod "getHexpandSet" o = Gtk.WidgetGetHexpandSetMethodInfo
+    ResolveViewMethod "getHighlightCurrentLine" o = ViewGetHighlightCurrentLineMethodInfo
+    ResolveViewMethod "getHscrollPolicy" o = Gtk.ScrollableGetHscrollPolicyMethodInfo
+    ResolveViewMethod "getIndent" o = Gtk.TextViewGetIndentMethodInfo
+    ResolveViewMethod "getIndentOnTab" o = ViewGetIndentOnTabMethodInfo
+    ResolveViewMethod "getIndentWidth" o = ViewGetIndentWidthMethodInfo
+    ResolveViewMethod "getInputHints" o = Gtk.TextViewGetInputHintsMethodInfo
+    ResolveViewMethod "getInputPurpose" o = Gtk.TextViewGetInputPurposeMethodInfo
+    ResolveViewMethod "getInsertSpacesInsteadOfTabs" o = ViewGetInsertSpacesInsteadOfTabsMethodInfo
+    ResolveViewMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveViewMethod "getIterAtLocation" o = Gtk.TextViewGetIterAtLocationMethodInfo
+    ResolveViewMethod "getIterAtPosition" o = Gtk.TextViewGetIterAtPositionMethodInfo
+    ResolveViewMethod "getIterLocation" o = Gtk.TextViewGetIterLocationMethodInfo
+    ResolveViewMethod "getJustification" o = Gtk.TextViewGetJustificationMethodInfo
+    ResolveViewMethod "getLeftMargin" o = Gtk.TextViewGetLeftMarginMethodInfo
+    ResolveViewMethod "getLineAtY" o = Gtk.TextViewGetLineAtYMethodInfo
+    ResolveViewMethod "getLineYrange" o = Gtk.TextViewGetLineYrangeMethodInfo
+    ResolveViewMethod "getMapped" o = Gtk.WidgetGetMappedMethodInfo
+    ResolveViewMethod "getMarginBottom" o = Gtk.WidgetGetMarginBottomMethodInfo
+    ResolveViewMethod "getMarginEnd" o = Gtk.WidgetGetMarginEndMethodInfo
+    ResolveViewMethod "getMarginLeft" o = Gtk.WidgetGetMarginLeftMethodInfo
+    ResolveViewMethod "getMarginRight" o = Gtk.WidgetGetMarginRightMethodInfo
+    ResolveViewMethod "getMarginStart" o = Gtk.WidgetGetMarginStartMethodInfo
+    ResolveViewMethod "getMarginTop" o = Gtk.WidgetGetMarginTopMethodInfo
+    ResolveViewMethod "getMarkAttributes" o = ViewGetMarkAttributesMethodInfo
+    ResolveViewMethod "getModifierMask" o = Gtk.WidgetGetModifierMaskMethodInfo
+    ResolveViewMethod "getModifierStyle" o = Gtk.WidgetGetModifierStyleMethodInfo
+    ResolveViewMethod "getMonospace" o = Gtk.TextViewGetMonospaceMethodInfo
+    ResolveViewMethod "getNoShowAll" o = Gtk.WidgetGetNoShowAllMethodInfo
+    ResolveViewMethod "getOpacity" o = Gtk.WidgetGetOpacityMethodInfo
+    ResolveViewMethod "getOverwrite" o = Gtk.TextViewGetOverwriteMethodInfo
+    ResolveViewMethod "getPangoContext" o = Gtk.WidgetGetPangoContextMethodInfo
+    ResolveViewMethod "getParent" o = Gtk.WidgetGetParentMethodInfo
+    ResolveViewMethod "getParentWindow" o = Gtk.WidgetGetParentWindowMethodInfo
+    ResolveViewMethod "getPath" o = Gtk.WidgetGetPathMethodInfo
+    ResolveViewMethod "getPathForChild" o = Gtk.ContainerGetPathForChildMethodInfo
+    ResolveViewMethod "getPixelsAboveLines" o = Gtk.TextViewGetPixelsAboveLinesMethodInfo
+    ResolveViewMethod "getPixelsBelowLines" o = Gtk.TextViewGetPixelsBelowLinesMethodInfo
+    ResolveViewMethod "getPixelsInsideWrap" o = Gtk.TextViewGetPixelsInsideWrapMethodInfo
+    ResolveViewMethod "getPointer" o = Gtk.WidgetGetPointerMethodInfo
+    ResolveViewMethod "getPreferredHeight" o = Gtk.WidgetGetPreferredHeightMethodInfo
+    ResolveViewMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveViewMethod "getPreferredHeightForWidth" o = Gtk.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveViewMethod "getPreferredSize" o = Gtk.WidgetGetPreferredSizeMethodInfo
+    ResolveViewMethod "getPreferredWidth" o = Gtk.WidgetGetPreferredWidthMethodInfo
+    ResolveViewMethod "getPreferredWidthForHeight" o = Gtk.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveViewMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveViewMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveViewMethod "getRealized" o = Gtk.WidgetGetRealizedMethodInfo
+    ResolveViewMethod "getReceivesDefault" o = Gtk.WidgetGetReceivesDefaultMethodInfo
+    ResolveViewMethod "getRequestMode" o = Gtk.WidgetGetRequestModeMethodInfo
+    ResolveViewMethod "getRequisition" o = Gtk.WidgetGetRequisitionMethodInfo
+    ResolveViewMethod "getResizeMode" o = Gtk.ContainerGetResizeModeMethodInfo
+    ResolveViewMethod "getRightMargin" o = Gtk.TextViewGetRightMarginMethodInfo
+    ResolveViewMethod "getRightMarginPosition" o = ViewGetRightMarginPositionMethodInfo
+    ResolveViewMethod "getRootWindow" o = Gtk.WidgetGetRootWindowMethodInfo
+    ResolveViewMethod "getScaleFactor" o = Gtk.WidgetGetScaleFactorMethodInfo
+    ResolveViewMethod "getScreen" o = Gtk.WidgetGetScreenMethodInfo
+    ResolveViewMethod "getSensitive" o = Gtk.WidgetGetSensitiveMethodInfo
+    ResolveViewMethod "getSettings" o = Gtk.WidgetGetSettingsMethodInfo
+    ResolveViewMethod "getShowLineMarks" o = ViewGetShowLineMarksMethodInfo
+    ResolveViewMethod "getShowLineNumbers" o = ViewGetShowLineNumbersMethodInfo
+    ResolveViewMethod "getShowRightMargin" o = ViewGetShowRightMarginMethodInfo
+    ResolveViewMethod "getSizeRequest" o = Gtk.WidgetGetSizeRequestMethodInfo
+    ResolveViewMethod "getSmartBackspace" o = ViewGetSmartBackspaceMethodInfo
+    ResolveViewMethod "getSmartHomeEnd" o = ViewGetSmartHomeEndMethodInfo
+    ResolveViewMethod "getState" o = Gtk.WidgetGetStateMethodInfo
+    ResolveViewMethod "getStateFlags" o = Gtk.WidgetGetStateFlagsMethodInfo
+    ResolveViewMethod "getStyle" o = Gtk.WidgetGetStyleMethodInfo
+    ResolveViewMethod "getStyleContext" o = Gtk.WidgetGetStyleContextMethodInfo
+    ResolveViewMethod "getSupportMultidevice" o = Gtk.WidgetGetSupportMultideviceMethodInfo
+    ResolveViewMethod "getTabWidth" o = ViewGetTabWidthMethodInfo
+    ResolveViewMethod "getTabs" o = Gtk.TextViewGetTabsMethodInfo
+    ResolveViewMethod "getTemplateChild" o = Gtk.WidgetGetTemplateChildMethodInfo
+    ResolveViewMethod "getTooltipMarkup" o = Gtk.WidgetGetTooltipMarkupMethodInfo
+    ResolveViewMethod "getTooltipText" o = Gtk.WidgetGetTooltipTextMethodInfo
+    ResolveViewMethod "getTooltipWindow" o = Gtk.WidgetGetTooltipWindowMethodInfo
+    ResolveViewMethod "getTopMargin" o = Gtk.TextViewGetTopMarginMethodInfo
+    ResolveViewMethod "getToplevel" o = Gtk.WidgetGetToplevelMethodInfo
+    ResolveViewMethod "getValign" o = Gtk.WidgetGetValignMethodInfo
+    ResolveViewMethod "getValignWithBaseline" o = Gtk.WidgetGetValignWithBaselineMethodInfo
+    ResolveViewMethod "getVexpand" o = Gtk.WidgetGetVexpandMethodInfo
+    ResolveViewMethod "getVexpandSet" o = Gtk.WidgetGetVexpandSetMethodInfo
+    ResolveViewMethod "getVisible" o = Gtk.WidgetGetVisibleMethodInfo
+    ResolveViewMethod "getVisibleRect" o = Gtk.TextViewGetVisibleRectMethodInfo
+    ResolveViewMethod "getVisual" o = Gtk.WidgetGetVisualMethodInfo
+    ResolveViewMethod "getVisualColumn" o = ViewGetVisualColumnMethodInfo
+    ResolveViewMethod "getVscrollPolicy" o = Gtk.ScrollableGetVscrollPolicyMethodInfo
+    ResolveViewMethod "getWindowType" o = Gtk.TextViewGetWindowTypeMethodInfo
+    ResolveViewMethod "getWrapMode" o = Gtk.TextViewGetWrapModeMethodInfo
+    ResolveViewMethod "setAccelPath" o = Gtk.WidgetSetAccelPathMethodInfo
+    ResolveViewMethod "setAcceptsTab" o = Gtk.TextViewSetAcceptsTabMethodInfo
+    ResolveViewMethod "setAllocation" o = Gtk.WidgetSetAllocationMethodInfo
+    ResolveViewMethod "setAppPaintable" o = Gtk.WidgetSetAppPaintableMethodInfo
+    ResolveViewMethod "setAutoIndent" o = ViewSetAutoIndentMethodInfo
+    ResolveViewMethod "setBackgroundPattern" o = ViewSetBackgroundPatternMethodInfo
+    ResolveViewMethod "setBorderWidth" o = Gtk.ContainerSetBorderWidthMethodInfo
+    ResolveViewMethod "setBorderWindowSize" o = Gtk.TextViewSetBorderWindowSizeMethodInfo
+    ResolveViewMethod "setBottomMargin" o = Gtk.TextViewSetBottomMarginMethodInfo
+    ResolveViewMethod "setBuffer" o = Gtk.TextViewSetBufferMethodInfo
+    ResolveViewMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveViewMethod "setCanDefault" o = Gtk.WidgetSetCanDefaultMethodInfo
+    ResolveViewMethod "setCanFocus" o = Gtk.WidgetSetCanFocusMethodInfo
+    ResolveViewMethod "setChildVisible" o = Gtk.WidgetSetChildVisibleMethodInfo
+    ResolveViewMethod "setClip" o = Gtk.WidgetSetClipMethodInfo
+    ResolveViewMethod "setCompositeName" o = Gtk.WidgetSetCompositeNameMethodInfo
+    ResolveViewMethod "setCursorVisible" o = Gtk.TextViewSetCursorVisibleMethodInfo
+    ResolveViewMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveViewMethod "setDeviceEnabled" o = Gtk.WidgetSetDeviceEnabledMethodInfo
+    ResolveViewMethod "setDeviceEvents" o = Gtk.WidgetSetDeviceEventsMethodInfo
+    ResolveViewMethod "setDirection" o = Gtk.WidgetSetDirectionMethodInfo
+    ResolveViewMethod "setDoubleBuffered" o = Gtk.WidgetSetDoubleBufferedMethodInfo
+    ResolveViewMethod "setDrawSpaces" o = ViewSetDrawSpacesMethodInfo
+    ResolveViewMethod "setEditable" o = Gtk.TextViewSetEditableMethodInfo
+    ResolveViewMethod "setEvents" o = Gtk.WidgetSetEventsMethodInfo
+    ResolveViewMethod "setFocusChain" o = Gtk.ContainerSetFocusChainMethodInfo
+    ResolveViewMethod "setFocusChild" o = Gtk.ContainerSetFocusChildMethodInfo
+    ResolveViewMethod "setFocusHadjustment" o = Gtk.ContainerSetFocusHadjustmentMethodInfo
+    ResolveViewMethod "setFocusVadjustment" o = Gtk.ContainerSetFocusVadjustmentMethodInfo
+    ResolveViewMethod "setFontMap" o = Gtk.WidgetSetFontMapMethodInfo
+    ResolveViewMethod "setFontOptions" o = Gtk.WidgetSetFontOptionsMethodInfo
+    ResolveViewMethod "setHadjustment" o = Gtk.ScrollableSetHadjustmentMethodInfo
+    ResolveViewMethod "setHalign" o = Gtk.WidgetSetHalignMethodInfo
+    ResolveViewMethod "setHasTooltip" o = Gtk.WidgetSetHasTooltipMethodInfo
+    ResolveViewMethod "setHasWindow" o = Gtk.WidgetSetHasWindowMethodInfo
+    ResolveViewMethod "setHexpand" o = Gtk.WidgetSetHexpandMethodInfo
+    ResolveViewMethod "setHexpandSet" o = Gtk.WidgetSetHexpandSetMethodInfo
+    ResolveViewMethod "setHighlightCurrentLine" o = ViewSetHighlightCurrentLineMethodInfo
+    ResolveViewMethod "setHscrollPolicy" o = Gtk.ScrollableSetHscrollPolicyMethodInfo
+    ResolveViewMethod "setIndent" o = Gtk.TextViewSetIndentMethodInfo
+    ResolveViewMethod "setIndentOnTab" o = ViewSetIndentOnTabMethodInfo
+    ResolveViewMethod "setIndentWidth" o = ViewSetIndentWidthMethodInfo
+    ResolveViewMethod "setInputHints" o = Gtk.TextViewSetInputHintsMethodInfo
+    ResolveViewMethod "setInputPurpose" o = Gtk.TextViewSetInputPurposeMethodInfo
+    ResolveViewMethod "setInsertSpacesInsteadOfTabs" o = ViewSetInsertSpacesInsteadOfTabsMethodInfo
+    ResolveViewMethod "setJustification" o = Gtk.TextViewSetJustificationMethodInfo
+    ResolveViewMethod "setLeftMargin" o = Gtk.TextViewSetLeftMarginMethodInfo
+    ResolveViewMethod "setMapped" o = Gtk.WidgetSetMappedMethodInfo
+    ResolveViewMethod "setMarginBottom" o = Gtk.WidgetSetMarginBottomMethodInfo
+    ResolveViewMethod "setMarginEnd" o = Gtk.WidgetSetMarginEndMethodInfo
+    ResolveViewMethod "setMarginLeft" o = Gtk.WidgetSetMarginLeftMethodInfo
+    ResolveViewMethod "setMarginRight" o = Gtk.WidgetSetMarginRightMethodInfo
+    ResolveViewMethod "setMarginStart" o = Gtk.WidgetSetMarginStartMethodInfo
+    ResolveViewMethod "setMarginTop" o = Gtk.WidgetSetMarginTopMethodInfo
+    ResolveViewMethod "setMarkAttributes" o = ViewSetMarkAttributesMethodInfo
+    ResolveViewMethod "setMonospace" o = Gtk.TextViewSetMonospaceMethodInfo
+    ResolveViewMethod "setNoShowAll" o = Gtk.WidgetSetNoShowAllMethodInfo
+    ResolveViewMethod "setOpacity" o = Gtk.WidgetSetOpacityMethodInfo
+    ResolveViewMethod "setOverwrite" o = Gtk.TextViewSetOverwriteMethodInfo
+    ResolveViewMethod "setParent" o = Gtk.WidgetSetParentMethodInfo
+    ResolveViewMethod "setParentWindow" o = Gtk.WidgetSetParentWindowMethodInfo
+    ResolveViewMethod "setPixelsAboveLines" o = Gtk.TextViewSetPixelsAboveLinesMethodInfo
+    ResolveViewMethod "setPixelsBelowLines" o = Gtk.TextViewSetPixelsBelowLinesMethodInfo
+    ResolveViewMethod "setPixelsInsideWrap" o = Gtk.TextViewSetPixelsInsideWrapMethodInfo
+    ResolveViewMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveViewMethod "setRealized" o = Gtk.WidgetSetRealizedMethodInfo
+    ResolveViewMethod "setReallocateRedraws" o = Gtk.ContainerSetReallocateRedrawsMethodInfo
+    ResolveViewMethod "setReceivesDefault" o = Gtk.WidgetSetReceivesDefaultMethodInfo
+    ResolveViewMethod "setRedrawOnAllocate" o = Gtk.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveViewMethod "setResizeMode" o = Gtk.ContainerSetResizeModeMethodInfo
+    ResolveViewMethod "setRightMargin" o = Gtk.TextViewSetRightMarginMethodInfo
+    ResolveViewMethod "setRightMarginPosition" o = ViewSetRightMarginPositionMethodInfo
+    ResolveViewMethod "setSensitive" o = Gtk.WidgetSetSensitiveMethodInfo
+    ResolveViewMethod "setShowLineMarks" o = ViewSetShowLineMarksMethodInfo
+    ResolveViewMethod "setShowLineNumbers" o = ViewSetShowLineNumbersMethodInfo
+    ResolveViewMethod "setShowRightMargin" o = ViewSetShowRightMarginMethodInfo
+    ResolveViewMethod "setSizeRequest" o = Gtk.WidgetSetSizeRequestMethodInfo
+    ResolveViewMethod "setSmartBackspace" o = ViewSetSmartBackspaceMethodInfo
+    ResolveViewMethod "setSmartHomeEnd" o = ViewSetSmartHomeEndMethodInfo
+    ResolveViewMethod "setState" o = Gtk.WidgetSetStateMethodInfo
+    ResolveViewMethod "setStateFlags" o = Gtk.WidgetSetStateFlagsMethodInfo
+    ResolveViewMethod "setStyle" o = Gtk.WidgetSetStyleMethodInfo
+    ResolveViewMethod "setSupportMultidevice" o = Gtk.WidgetSetSupportMultideviceMethodInfo
+    ResolveViewMethod "setTabWidth" o = ViewSetTabWidthMethodInfo
+    ResolveViewMethod "setTabs" o = Gtk.TextViewSetTabsMethodInfo
+    ResolveViewMethod "setTooltipMarkup" o = Gtk.WidgetSetTooltipMarkupMethodInfo
+    ResolveViewMethod "setTooltipText" o = Gtk.WidgetSetTooltipTextMethodInfo
+    ResolveViewMethod "setTooltipWindow" o = Gtk.WidgetSetTooltipWindowMethodInfo
+    ResolveViewMethod "setTopMargin" o = Gtk.TextViewSetTopMarginMethodInfo
+    ResolveViewMethod "setVadjustment" o = Gtk.ScrollableSetVadjustmentMethodInfo
+    ResolveViewMethod "setValign" o = Gtk.WidgetSetValignMethodInfo
+    ResolveViewMethod "setVexpand" o = Gtk.WidgetSetVexpandMethodInfo
+    ResolveViewMethod "setVexpandSet" o = Gtk.WidgetSetVexpandSetMethodInfo
+    ResolveViewMethod "setVisible" o = Gtk.WidgetSetVisibleMethodInfo
+    ResolveViewMethod "setVisual" o = Gtk.WidgetSetVisualMethodInfo
+    ResolveViewMethod "setVscrollPolicy" o = Gtk.ScrollableSetVscrollPolicyMethodInfo
+    ResolveViewMethod "setWindow" o = Gtk.WidgetSetWindowMethodInfo
+    ResolveViewMethod "setWrapMode" o = Gtk.TextViewSetWrapModeMethodInfo
+    ResolveViewMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveViewMethod t View, MethodInfo info View p) => IsLabelProxy t (View -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveViewMethod t View, MethodInfo info View p) => IsLabel t (View -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal View::change-case
+type ViewChangeCaseCallback =
+    ChangeCaseType ->
+    IO ()
+
+noViewChangeCaseCallback :: Maybe ViewChangeCaseCallback
+noViewChangeCaseCallback = Nothing
+
+type ViewChangeCaseCallbackC =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewChangeCaseCallback :: ViewChangeCaseCallbackC -> IO (FunPtr ViewChangeCaseCallbackC)
+
+viewChangeCaseClosure :: ViewChangeCaseCallback -> IO Closure
+viewChangeCaseClosure cb = newCClosure =<< mkViewChangeCaseCallback wrapped
+    where wrapped = viewChangeCaseCallbackWrapper cb
+
+viewChangeCaseCallbackWrapper ::
+    ViewChangeCaseCallback ->
+    Ptr () ->
+    CUInt ->
+    Ptr () ->
+    IO ()
+viewChangeCaseCallbackWrapper _cb _ caseType _ = do
+    let caseType' = (toEnum . fromIntegral) caseType
+    _cb  caseType'
+
+onViewChangeCase :: (GObject a, MonadIO m) => a -> ViewChangeCaseCallback -> m SignalHandlerId
+onViewChangeCase obj cb = liftIO $ connectViewChangeCase obj cb SignalConnectBefore
+afterViewChangeCase :: (GObject a, MonadIO m) => a -> ViewChangeCaseCallback -> m SignalHandlerId
+afterViewChangeCase obj cb = connectViewChangeCase obj cb SignalConnectAfter
+
+connectViewChangeCase :: (GObject a, MonadIO m) =>
+                         a -> ViewChangeCaseCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewChangeCase obj cb after = liftIO $ do
+    cb' <- mkViewChangeCaseCallback (viewChangeCaseCallbackWrapper cb)
+    connectSignalFunPtr obj "change-case" cb' after
+
+-- signal View::change-number
+type ViewChangeNumberCallback =
+    Int32 ->
+    IO ()
+
+noViewChangeNumberCallback :: Maybe ViewChangeNumberCallback
+noViewChangeNumberCallback = Nothing
+
+type ViewChangeNumberCallbackC =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewChangeNumberCallback :: ViewChangeNumberCallbackC -> IO (FunPtr ViewChangeNumberCallbackC)
+
+viewChangeNumberClosure :: ViewChangeNumberCallback -> IO Closure
+viewChangeNumberClosure cb = newCClosure =<< mkViewChangeNumberCallback wrapped
+    where wrapped = viewChangeNumberCallbackWrapper cb
+
+viewChangeNumberCallbackWrapper ::
+    ViewChangeNumberCallback ->
+    Ptr () ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+viewChangeNumberCallbackWrapper _cb _ count _ = do
+    _cb  count
+
+onViewChangeNumber :: (GObject a, MonadIO m) => a -> ViewChangeNumberCallback -> m SignalHandlerId
+onViewChangeNumber obj cb = liftIO $ connectViewChangeNumber obj cb SignalConnectBefore
+afterViewChangeNumber :: (GObject a, MonadIO m) => a -> ViewChangeNumberCallback -> m SignalHandlerId
+afterViewChangeNumber obj cb = connectViewChangeNumber obj cb SignalConnectAfter
+
+connectViewChangeNumber :: (GObject a, MonadIO m) =>
+                           a -> ViewChangeNumberCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewChangeNumber obj cb after = liftIO $ do
+    cb' <- mkViewChangeNumberCallback (viewChangeNumberCallbackWrapper cb)
+    connectSignalFunPtr obj "change-number" cb' after
+
+-- signal View::join-lines
+type ViewJoinLinesCallback =
+    IO ()
+
+noViewJoinLinesCallback :: Maybe ViewJoinLinesCallback
+noViewJoinLinesCallback = Nothing
+
+type ViewJoinLinesCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewJoinLinesCallback :: ViewJoinLinesCallbackC -> IO (FunPtr ViewJoinLinesCallbackC)
+
+viewJoinLinesClosure :: ViewJoinLinesCallback -> IO Closure
+viewJoinLinesClosure cb = newCClosure =<< mkViewJoinLinesCallback wrapped
+    where wrapped = viewJoinLinesCallbackWrapper cb
+
+viewJoinLinesCallbackWrapper ::
+    ViewJoinLinesCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+viewJoinLinesCallbackWrapper _cb _ _ = do
+    _cb 
+
+onViewJoinLines :: (GObject a, MonadIO m) => a -> ViewJoinLinesCallback -> m SignalHandlerId
+onViewJoinLines obj cb = liftIO $ connectViewJoinLines obj cb SignalConnectBefore
+afterViewJoinLines :: (GObject a, MonadIO m) => a -> ViewJoinLinesCallback -> m SignalHandlerId
+afterViewJoinLines obj cb = connectViewJoinLines obj cb SignalConnectAfter
+
+connectViewJoinLines :: (GObject a, MonadIO m) =>
+                        a -> ViewJoinLinesCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewJoinLines obj cb after = liftIO $ do
+    cb' <- mkViewJoinLinesCallback (viewJoinLinesCallbackWrapper cb)
+    connectSignalFunPtr obj "join-lines" cb' after
+
+-- signal View::line-mark-activated
+type ViewLineMarkActivatedCallback =
+    Gtk.TextIter ->
+    Gdk.Event ->
+    IO ()
+
+noViewLineMarkActivatedCallback :: Maybe ViewLineMarkActivatedCallback
+noViewLineMarkActivatedCallback = Nothing
+
+type ViewLineMarkActivatedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Event ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewLineMarkActivatedCallback :: ViewLineMarkActivatedCallbackC -> IO (FunPtr ViewLineMarkActivatedCallbackC)
+
+viewLineMarkActivatedClosure :: ViewLineMarkActivatedCallback -> IO Closure
+viewLineMarkActivatedClosure cb = newCClosure =<< mkViewLineMarkActivatedCallback wrapped
+    where wrapped = viewLineMarkActivatedCallbackWrapper cb
+
+viewLineMarkActivatedCallbackWrapper ::
+    ViewLineMarkActivatedCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Ptr Gdk.Event ->
+    Ptr () ->
+    IO ()
+viewLineMarkActivatedCallbackWrapper _cb _ iter event _ = do
+    iter' <- (newBoxed Gtk.TextIter) iter
+    event' <- (newBoxed Gdk.Event) event
+    _cb  iter' event'
+
+onViewLineMarkActivated :: (GObject a, MonadIO m) => a -> ViewLineMarkActivatedCallback -> m SignalHandlerId
+onViewLineMarkActivated obj cb = liftIO $ connectViewLineMarkActivated obj cb SignalConnectBefore
+afterViewLineMarkActivated :: (GObject a, MonadIO m) => a -> ViewLineMarkActivatedCallback -> m SignalHandlerId
+afterViewLineMarkActivated obj cb = connectViewLineMarkActivated obj cb SignalConnectAfter
+
+connectViewLineMarkActivated :: (GObject a, MonadIO m) =>
+                                a -> ViewLineMarkActivatedCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewLineMarkActivated obj cb after = liftIO $ do
+    cb' <- mkViewLineMarkActivatedCallback (viewLineMarkActivatedCallbackWrapper cb)
+    connectSignalFunPtr obj "line-mark-activated" cb' after
+
+-- signal View::move-lines
+type ViewMoveLinesCallback =
+    Bool ->
+    Int32 ->
+    IO ()
+
+noViewMoveLinesCallback :: Maybe ViewMoveLinesCallback
+noViewMoveLinesCallback = Nothing
+
+type ViewMoveLinesCallbackC =
+    Ptr () ->                               -- object
+    CInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewMoveLinesCallback :: ViewMoveLinesCallbackC -> IO (FunPtr ViewMoveLinesCallbackC)
+
+viewMoveLinesClosure :: ViewMoveLinesCallback -> IO Closure
+viewMoveLinesClosure cb = newCClosure =<< mkViewMoveLinesCallback wrapped
+    where wrapped = viewMoveLinesCallbackWrapper cb
+
+viewMoveLinesCallbackWrapper ::
+    ViewMoveLinesCallback ->
+    Ptr () ->
+    CInt ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+viewMoveLinesCallbackWrapper _cb _ copy count _ = do
+    let copy' = (/= 0) copy
+    _cb  copy' count
+
+onViewMoveLines :: (GObject a, MonadIO m) => a -> ViewMoveLinesCallback -> m SignalHandlerId
+onViewMoveLines obj cb = liftIO $ connectViewMoveLines obj cb SignalConnectBefore
+afterViewMoveLines :: (GObject a, MonadIO m) => a -> ViewMoveLinesCallback -> m SignalHandlerId
+afterViewMoveLines obj cb = connectViewMoveLines obj cb SignalConnectAfter
+
+connectViewMoveLines :: (GObject a, MonadIO m) =>
+                        a -> ViewMoveLinesCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewMoveLines obj cb after = liftIO $ do
+    cb' <- mkViewMoveLinesCallback (viewMoveLinesCallbackWrapper cb)
+    connectSignalFunPtr obj "move-lines" cb' after
+
+-- signal View::move-to-matching-bracket
+type ViewMoveToMatchingBracketCallback =
+    Bool ->
+    IO ()
+
+noViewMoveToMatchingBracketCallback :: Maybe ViewMoveToMatchingBracketCallback
+noViewMoveToMatchingBracketCallback = Nothing
+
+type ViewMoveToMatchingBracketCallbackC =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewMoveToMatchingBracketCallback :: ViewMoveToMatchingBracketCallbackC -> IO (FunPtr ViewMoveToMatchingBracketCallbackC)
+
+viewMoveToMatchingBracketClosure :: ViewMoveToMatchingBracketCallback -> IO Closure
+viewMoveToMatchingBracketClosure cb = newCClosure =<< mkViewMoveToMatchingBracketCallback wrapped
+    where wrapped = viewMoveToMatchingBracketCallbackWrapper cb
+
+viewMoveToMatchingBracketCallbackWrapper ::
+    ViewMoveToMatchingBracketCallback ->
+    Ptr () ->
+    CInt ->
+    Ptr () ->
+    IO ()
+viewMoveToMatchingBracketCallbackWrapper _cb _ extendSelection _ = do
+    let extendSelection' = (/= 0) extendSelection
+    _cb  extendSelection'
+
+onViewMoveToMatchingBracket :: (GObject a, MonadIO m) => a -> ViewMoveToMatchingBracketCallback -> m SignalHandlerId
+onViewMoveToMatchingBracket obj cb = liftIO $ connectViewMoveToMatchingBracket obj cb SignalConnectBefore
+afterViewMoveToMatchingBracket :: (GObject a, MonadIO m) => a -> ViewMoveToMatchingBracketCallback -> m SignalHandlerId
+afterViewMoveToMatchingBracket obj cb = connectViewMoveToMatchingBracket obj cb SignalConnectAfter
+
+connectViewMoveToMatchingBracket :: (GObject a, MonadIO m) =>
+                                    a -> ViewMoveToMatchingBracketCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewMoveToMatchingBracket obj cb after = liftIO $ do
+    cb' <- mkViewMoveToMatchingBracketCallback (viewMoveToMatchingBracketCallbackWrapper cb)
+    connectSignalFunPtr obj "move-to-matching-bracket" cb' after
+
+-- signal View::move-words
+type ViewMoveWordsCallback =
+    Int32 ->
+    IO ()
+
+noViewMoveWordsCallback :: Maybe ViewMoveWordsCallback
+noViewMoveWordsCallback = Nothing
+
+type ViewMoveWordsCallbackC =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewMoveWordsCallback :: ViewMoveWordsCallbackC -> IO (FunPtr ViewMoveWordsCallbackC)
+
+viewMoveWordsClosure :: ViewMoveWordsCallback -> IO Closure
+viewMoveWordsClosure cb = newCClosure =<< mkViewMoveWordsCallback wrapped
+    where wrapped = viewMoveWordsCallbackWrapper cb
+
+viewMoveWordsCallbackWrapper ::
+    ViewMoveWordsCallback ->
+    Ptr () ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+viewMoveWordsCallbackWrapper _cb _ count _ = do
+    _cb  count
+
+onViewMoveWords :: (GObject a, MonadIO m) => a -> ViewMoveWordsCallback -> m SignalHandlerId
+onViewMoveWords obj cb = liftIO $ connectViewMoveWords obj cb SignalConnectBefore
+afterViewMoveWords :: (GObject a, MonadIO m) => a -> ViewMoveWordsCallback -> m SignalHandlerId
+afterViewMoveWords obj cb = connectViewMoveWords obj cb SignalConnectAfter
+
+connectViewMoveWords :: (GObject a, MonadIO m) =>
+                        a -> ViewMoveWordsCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewMoveWords obj cb after = liftIO $ do
+    cb' <- mkViewMoveWordsCallback (viewMoveWordsCallbackWrapper cb)
+    connectSignalFunPtr obj "move-words" cb' after
+
+-- signal View::redo
+type ViewRedoCallback =
+    IO ()
+
+noViewRedoCallback :: Maybe ViewRedoCallback
+noViewRedoCallback = Nothing
+
+type ViewRedoCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewRedoCallback :: ViewRedoCallbackC -> IO (FunPtr ViewRedoCallbackC)
+
+viewRedoClosure :: ViewRedoCallback -> IO Closure
+viewRedoClosure cb = newCClosure =<< mkViewRedoCallback wrapped
+    where wrapped = viewRedoCallbackWrapper cb
+
+viewRedoCallbackWrapper ::
+    ViewRedoCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+viewRedoCallbackWrapper _cb _ _ = do
+    _cb 
+
+onViewRedo :: (GObject a, MonadIO m) => a -> ViewRedoCallback -> m SignalHandlerId
+onViewRedo obj cb = liftIO $ connectViewRedo obj cb SignalConnectBefore
+afterViewRedo :: (GObject a, MonadIO m) => a -> ViewRedoCallback -> m SignalHandlerId
+afterViewRedo obj cb = connectViewRedo obj cb SignalConnectAfter
+
+connectViewRedo :: (GObject a, MonadIO m) =>
+                   a -> ViewRedoCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewRedo obj cb after = liftIO $ do
+    cb' <- mkViewRedoCallback (viewRedoCallbackWrapper cb)
+    connectSignalFunPtr obj "redo" cb' after
+
+-- signal View::show-completion
+type ViewShowCompletionCallback =
+    IO ()
+
+noViewShowCompletionCallback :: Maybe ViewShowCompletionCallback
+noViewShowCompletionCallback = Nothing
+
+type ViewShowCompletionCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewShowCompletionCallback :: ViewShowCompletionCallbackC -> IO (FunPtr ViewShowCompletionCallbackC)
+
+viewShowCompletionClosure :: ViewShowCompletionCallback -> IO Closure
+viewShowCompletionClosure cb = newCClosure =<< mkViewShowCompletionCallback wrapped
+    where wrapped = viewShowCompletionCallbackWrapper cb
+
+viewShowCompletionCallbackWrapper ::
+    ViewShowCompletionCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+viewShowCompletionCallbackWrapper _cb _ _ = do
+    _cb 
+
+onViewShowCompletion :: (GObject a, MonadIO m) => a -> ViewShowCompletionCallback -> m SignalHandlerId
+onViewShowCompletion obj cb = liftIO $ connectViewShowCompletion obj cb SignalConnectBefore
+afterViewShowCompletion :: (GObject a, MonadIO m) => a -> ViewShowCompletionCallback -> m SignalHandlerId
+afterViewShowCompletion obj cb = connectViewShowCompletion obj cb SignalConnectAfter
+
+connectViewShowCompletion :: (GObject a, MonadIO m) =>
+                             a -> ViewShowCompletionCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewShowCompletion obj cb after = liftIO $ do
+    cb' <- mkViewShowCompletionCallback (viewShowCompletionCallbackWrapper cb)
+    connectSignalFunPtr obj "show-completion" cb' after
+
+-- signal View::smart-home-end
+type ViewSmartHomeEndCallback =
+    Gtk.TextIter ->
+    Int32 ->
+    IO ()
+
+noViewSmartHomeEndCallback :: Maybe ViewSmartHomeEndCallback
+noViewSmartHomeEndCallback = Nothing
+
+type ViewSmartHomeEndCallbackC =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewSmartHomeEndCallback :: ViewSmartHomeEndCallbackC -> IO (FunPtr ViewSmartHomeEndCallbackC)
+
+viewSmartHomeEndClosure :: ViewSmartHomeEndCallback -> IO Closure
+viewSmartHomeEndClosure cb = newCClosure =<< mkViewSmartHomeEndCallback wrapped
+    where wrapped = viewSmartHomeEndCallbackWrapper cb
+
+viewSmartHomeEndCallbackWrapper ::
+    ViewSmartHomeEndCallback ->
+    Ptr () ->
+    Ptr Gtk.TextIter ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+viewSmartHomeEndCallbackWrapper _cb _ iter count _ = do
+    iter' <- (newBoxed Gtk.TextIter) iter
+    _cb  iter' count
+
+onViewSmartHomeEnd :: (GObject a, MonadIO m) => a -> ViewSmartHomeEndCallback -> m SignalHandlerId
+onViewSmartHomeEnd obj cb = liftIO $ connectViewSmartHomeEnd obj cb SignalConnectBefore
+afterViewSmartHomeEnd :: (GObject a, MonadIO m) => a -> ViewSmartHomeEndCallback -> m SignalHandlerId
+afterViewSmartHomeEnd obj cb = connectViewSmartHomeEnd obj cb SignalConnectAfter
+
+connectViewSmartHomeEnd :: (GObject a, MonadIO m) =>
+                           a -> ViewSmartHomeEndCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewSmartHomeEnd obj cb after = liftIO $ do
+    cb' <- mkViewSmartHomeEndCallback (viewSmartHomeEndCallbackWrapper cb)
+    connectSignalFunPtr obj "smart-home-end" cb' after
+
+-- signal View::undo
+type ViewUndoCallback =
+    IO ()
+
+noViewUndoCallback :: Maybe ViewUndoCallback
+noViewUndoCallback = Nothing
+
+type ViewUndoCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkViewUndoCallback :: ViewUndoCallbackC -> IO (FunPtr ViewUndoCallbackC)
+
+viewUndoClosure :: ViewUndoCallback -> IO Closure
+viewUndoClosure cb = newCClosure =<< mkViewUndoCallback wrapped
+    where wrapped = viewUndoCallbackWrapper cb
+
+viewUndoCallbackWrapper ::
+    ViewUndoCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+viewUndoCallbackWrapper _cb _ _ = do
+    _cb 
+
+onViewUndo :: (GObject a, MonadIO m) => a -> ViewUndoCallback -> m SignalHandlerId
+onViewUndo obj cb = liftIO $ connectViewUndo obj cb SignalConnectBefore
+afterViewUndo :: (GObject a, MonadIO m) => a -> ViewUndoCallback -> m SignalHandlerId
+afterViewUndo obj cb = connectViewUndo obj cb SignalConnectAfter
+
+connectViewUndo :: (GObject a, MonadIO m) =>
+                   a -> ViewUndoCallback -> SignalConnectMode -> m SignalHandlerId
+connectViewUndo obj cb after = liftIO $ do
+    cb' <- mkViewUndoCallback (viewUndoCallbackWrapper cb)
+    connectSignalFunPtr obj "undo" cb' after
+
+-- VVV Prop "auto-indent"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewAutoIndent :: (MonadIO m, ViewK o) => o -> m Bool
+getViewAutoIndent obj = liftIO $ getObjectPropertyBool obj "auto-indent"
+
+setViewAutoIndent :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewAutoIndent obj val = liftIO $ setObjectPropertyBool obj "auto-indent" val
+
+constructViewAutoIndent :: Bool -> IO ([Char], GValue)
+constructViewAutoIndent val = constructObjectPropertyBool "auto-indent" val
+
+data ViewAutoIndentPropertyInfo
+instance AttrInfo ViewAutoIndentPropertyInfo where
+    type AttrAllowedOps ViewAutoIndentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewAutoIndentPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewAutoIndentPropertyInfo = ViewK
+    type AttrGetType ViewAutoIndentPropertyInfo = Bool
+    type AttrLabel ViewAutoIndentPropertyInfo = "auto-indent"
+    attrGet _ = getViewAutoIndent
+    attrSet _ = setViewAutoIndent
+    attrConstruct _ = constructViewAutoIndent
+    attrClear _ = undefined
+
+-- VVV Prop "background-pattern"
+   -- Type: TInterface "GtkSource" "BackgroundPatternType"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewBackgroundPattern :: (MonadIO m, ViewK o) => o -> m BackgroundPatternType
+getViewBackgroundPattern obj = liftIO $ getObjectPropertyEnum obj "background-pattern"
+
+setViewBackgroundPattern :: (MonadIO m, ViewK o) => o -> BackgroundPatternType -> m ()
+setViewBackgroundPattern obj val = liftIO $ setObjectPropertyEnum obj "background-pattern" val
+
+constructViewBackgroundPattern :: BackgroundPatternType -> IO ([Char], GValue)
+constructViewBackgroundPattern val = constructObjectPropertyEnum "background-pattern" val
+
+data ViewBackgroundPatternPropertyInfo
+instance AttrInfo ViewBackgroundPatternPropertyInfo where
+    type AttrAllowedOps ViewBackgroundPatternPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewBackgroundPatternPropertyInfo = (~) BackgroundPatternType
+    type AttrBaseTypeConstraint ViewBackgroundPatternPropertyInfo = ViewK
+    type AttrGetType ViewBackgroundPatternPropertyInfo = BackgroundPatternType
+    type AttrLabel ViewBackgroundPatternPropertyInfo = "background-pattern"
+    attrGet _ = getViewBackgroundPattern
+    attrSet _ = setViewBackgroundPattern
+    attrConstruct _ = constructViewBackgroundPattern
+    attrClear _ = undefined
+
+-- VVV Prop "completion"
+   -- Type: TInterface "GtkSource" "Completion"
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+getViewCompletion :: (MonadIO m, ViewK o) => o -> m Completion
+getViewCompletion obj = liftIO $ checkUnexpectedNothing "getViewCompletion" $ getObjectPropertyObject obj "completion" Completion
+
+data ViewCompletionPropertyInfo
+instance AttrInfo ViewCompletionPropertyInfo where
+    type AttrAllowedOps ViewCompletionPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ViewCompletionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ViewCompletionPropertyInfo = ViewK
+    type AttrGetType ViewCompletionPropertyInfo = Completion
+    type AttrLabel ViewCompletionPropertyInfo = "completion"
+    attrGet _ = getViewCompletion
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+
+-- VVV Prop "draw-spaces"
+   -- Type: TInterface "GtkSource" "DrawSpacesFlags"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewDrawSpaces :: (MonadIO m, ViewK o) => o -> m [DrawSpacesFlags]
+getViewDrawSpaces obj = liftIO $ getObjectPropertyFlags obj "draw-spaces"
+
+setViewDrawSpaces :: (MonadIO m, ViewK o) => o -> [DrawSpacesFlags] -> m ()
+setViewDrawSpaces obj val = liftIO $ setObjectPropertyFlags obj "draw-spaces" val
+
+constructViewDrawSpaces :: [DrawSpacesFlags] -> IO ([Char], GValue)
+constructViewDrawSpaces val = constructObjectPropertyFlags "draw-spaces" val
+
+data ViewDrawSpacesPropertyInfo
+instance AttrInfo ViewDrawSpacesPropertyInfo where
+    type AttrAllowedOps ViewDrawSpacesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewDrawSpacesPropertyInfo = (~) [DrawSpacesFlags]
+    type AttrBaseTypeConstraint ViewDrawSpacesPropertyInfo = ViewK
+    type AttrGetType ViewDrawSpacesPropertyInfo = [DrawSpacesFlags]
+    type AttrLabel ViewDrawSpacesPropertyInfo = "draw-spaces"
+    attrGet _ = getViewDrawSpaces
+    attrSet _ = setViewDrawSpaces
+    attrConstruct _ = constructViewDrawSpaces
+    attrClear _ = undefined
+
+-- VVV Prop "highlight-current-line"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewHighlightCurrentLine :: (MonadIO m, ViewK o) => o -> m Bool
+getViewHighlightCurrentLine obj = liftIO $ getObjectPropertyBool obj "highlight-current-line"
+
+setViewHighlightCurrentLine :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewHighlightCurrentLine obj val = liftIO $ setObjectPropertyBool obj "highlight-current-line" val
+
+constructViewHighlightCurrentLine :: Bool -> IO ([Char], GValue)
+constructViewHighlightCurrentLine val = constructObjectPropertyBool "highlight-current-line" val
+
+data ViewHighlightCurrentLinePropertyInfo
+instance AttrInfo ViewHighlightCurrentLinePropertyInfo where
+    type AttrAllowedOps ViewHighlightCurrentLinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewHighlightCurrentLinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewHighlightCurrentLinePropertyInfo = ViewK
+    type AttrGetType ViewHighlightCurrentLinePropertyInfo = Bool
+    type AttrLabel ViewHighlightCurrentLinePropertyInfo = "highlight-current-line"
+    attrGet _ = getViewHighlightCurrentLine
+    attrSet _ = setViewHighlightCurrentLine
+    attrConstruct _ = constructViewHighlightCurrentLine
+    attrClear _ = undefined
+
+-- VVV Prop "indent-on-tab"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewIndentOnTab :: (MonadIO m, ViewK o) => o -> m Bool
+getViewIndentOnTab obj = liftIO $ getObjectPropertyBool obj "indent-on-tab"
+
+setViewIndentOnTab :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewIndentOnTab obj val = liftIO $ setObjectPropertyBool obj "indent-on-tab" val
+
+constructViewIndentOnTab :: Bool -> IO ([Char], GValue)
+constructViewIndentOnTab val = constructObjectPropertyBool "indent-on-tab" val
+
+data ViewIndentOnTabPropertyInfo
+instance AttrInfo ViewIndentOnTabPropertyInfo where
+    type AttrAllowedOps ViewIndentOnTabPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewIndentOnTabPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewIndentOnTabPropertyInfo = ViewK
+    type AttrGetType ViewIndentOnTabPropertyInfo = Bool
+    type AttrLabel ViewIndentOnTabPropertyInfo = "indent-on-tab"
+    attrGet _ = getViewIndentOnTab
+    attrSet _ = setViewIndentOnTab
+    attrConstruct _ = constructViewIndentOnTab
+    attrClear _ = undefined
+
+-- VVV Prop "indent-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewIndentWidth :: (MonadIO m, ViewK o) => o -> m Int32
+getViewIndentWidth obj = liftIO $ getObjectPropertyInt32 obj "indent-width"
+
+setViewIndentWidth :: (MonadIO m, ViewK o) => o -> Int32 -> m ()
+setViewIndentWidth obj val = liftIO $ setObjectPropertyInt32 obj "indent-width" val
+
+constructViewIndentWidth :: Int32 -> IO ([Char], GValue)
+constructViewIndentWidth val = constructObjectPropertyInt32 "indent-width" val
+
+data ViewIndentWidthPropertyInfo
+instance AttrInfo ViewIndentWidthPropertyInfo where
+    type AttrAllowedOps ViewIndentWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewIndentWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ViewIndentWidthPropertyInfo = ViewK
+    type AttrGetType ViewIndentWidthPropertyInfo = Int32
+    type AttrLabel ViewIndentWidthPropertyInfo = "indent-width"
+    attrGet _ = getViewIndentWidth
+    attrSet _ = setViewIndentWidth
+    attrConstruct _ = constructViewIndentWidth
+    attrClear _ = undefined
+
+-- VVV Prop "insert-spaces-instead-of-tabs"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewInsertSpacesInsteadOfTabs :: (MonadIO m, ViewK o) => o -> m Bool
+getViewInsertSpacesInsteadOfTabs obj = liftIO $ getObjectPropertyBool obj "insert-spaces-instead-of-tabs"
+
+setViewInsertSpacesInsteadOfTabs :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewInsertSpacesInsteadOfTabs obj val = liftIO $ setObjectPropertyBool obj "insert-spaces-instead-of-tabs" val
+
+constructViewInsertSpacesInsteadOfTabs :: Bool -> IO ([Char], GValue)
+constructViewInsertSpacesInsteadOfTabs val = constructObjectPropertyBool "insert-spaces-instead-of-tabs" val
+
+data ViewInsertSpacesInsteadOfTabsPropertyInfo
+instance AttrInfo ViewInsertSpacesInsteadOfTabsPropertyInfo where
+    type AttrAllowedOps ViewInsertSpacesInsteadOfTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewInsertSpacesInsteadOfTabsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewInsertSpacesInsteadOfTabsPropertyInfo = ViewK
+    type AttrGetType ViewInsertSpacesInsteadOfTabsPropertyInfo = Bool
+    type AttrLabel ViewInsertSpacesInsteadOfTabsPropertyInfo = "insert-spaces-instead-of-tabs"
+    attrGet _ = getViewInsertSpacesInsteadOfTabs
+    attrSet _ = setViewInsertSpacesInsteadOfTabs
+    attrConstruct _ = constructViewInsertSpacesInsteadOfTabs
+    attrClear _ = undefined
+
+-- VVV Prop "right-margin-position"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewRightMarginPosition :: (MonadIO m, ViewK o) => o -> m Word32
+getViewRightMarginPosition obj = liftIO $ getObjectPropertyUInt32 obj "right-margin-position"
+
+setViewRightMarginPosition :: (MonadIO m, ViewK o) => o -> Word32 -> m ()
+setViewRightMarginPosition obj val = liftIO $ setObjectPropertyUInt32 obj "right-margin-position" val
+
+constructViewRightMarginPosition :: Word32 -> IO ([Char], GValue)
+constructViewRightMarginPosition val = constructObjectPropertyUInt32 "right-margin-position" val
+
+data ViewRightMarginPositionPropertyInfo
+instance AttrInfo ViewRightMarginPositionPropertyInfo where
+    type AttrAllowedOps ViewRightMarginPositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewRightMarginPositionPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint ViewRightMarginPositionPropertyInfo = ViewK
+    type AttrGetType ViewRightMarginPositionPropertyInfo = Word32
+    type AttrLabel ViewRightMarginPositionPropertyInfo = "right-margin-position"
+    attrGet _ = getViewRightMarginPosition
+    attrSet _ = setViewRightMarginPosition
+    attrConstruct _ = constructViewRightMarginPosition
+    attrClear _ = undefined
+
+-- VVV Prop "show-line-marks"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewShowLineMarks :: (MonadIO m, ViewK o) => o -> m Bool
+getViewShowLineMarks obj = liftIO $ getObjectPropertyBool obj "show-line-marks"
+
+setViewShowLineMarks :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewShowLineMarks obj val = liftIO $ setObjectPropertyBool obj "show-line-marks" val
+
+constructViewShowLineMarks :: Bool -> IO ([Char], GValue)
+constructViewShowLineMarks val = constructObjectPropertyBool "show-line-marks" val
+
+data ViewShowLineMarksPropertyInfo
+instance AttrInfo ViewShowLineMarksPropertyInfo where
+    type AttrAllowedOps ViewShowLineMarksPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewShowLineMarksPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewShowLineMarksPropertyInfo = ViewK
+    type AttrGetType ViewShowLineMarksPropertyInfo = Bool
+    type AttrLabel ViewShowLineMarksPropertyInfo = "show-line-marks"
+    attrGet _ = getViewShowLineMarks
+    attrSet _ = setViewShowLineMarks
+    attrConstruct _ = constructViewShowLineMarks
+    attrClear _ = undefined
+
+-- VVV Prop "show-line-numbers"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewShowLineNumbers :: (MonadIO m, ViewK o) => o -> m Bool
+getViewShowLineNumbers obj = liftIO $ getObjectPropertyBool obj "show-line-numbers"
+
+setViewShowLineNumbers :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewShowLineNumbers obj val = liftIO $ setObjectPropertyBool obj "show-line-numbers" val
+
+constructViewShowLineNumbers :: Bool -> IO ([Char], GValue)
+constructViewShowLineNumbers val = constructObjectPropertyBool "show-line-numbers" val
+
+data ViewShowLineNumbersPropertyInfo
+instance AttrInfo ViewShowLineNumbersPropertyInfo where
+    type AttrAllowedOps ViewShowLineNumbersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewShowLineNumbersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewShowLineNumbersPropertyInfo = ViewK
+    type AttrGetType ViewShowLineNumbersPropertyInfo = Bool
+    type AttrLabel ViewShowLineNumbersPropertyInfo = "show-line-numbers"
+    attrGet _ = getViewShowLineNumbers
+    attrSet _ = setViewShowLineNumbers
+    attrConstruct _ = constructViewShowLineNumbers
+    attrClear _ = undefined
+
+-- VVV Prop "show-right-margin"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewShowRightMargin :: (MonadIO m, ViewK o) => o -> m Bool
+getViewShowRightMargin obj = liftIO $ getObjectPropertyBool obj "show-right-margin"
+
+setViewShowRightMargin :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewShowRightMargin obj val = liftIO $ setObjectPropertyBool obj "show-right-margin" val
+
+constructViewShowRightMargin :: Bool -> IO ([Char], GValue)
+constructViewShowRightMargin val = constructObjectPropertyBool "show-right-margin" val
+
+data ViewShowRightMarginPropertyInfo
+instance AttrInfo ViewShowRightMarginPropertyInfo where
+    type AttrAllowedOps ViewShowRightMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewShowRightMarginPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewShowRightMarginPropertyInfo = ViewK
+    type AttrGetType ViewShowRightMarginPropertyInfo = Bool
+    type AttrLabel ViewShowRightMarginPropertyInfo = "show-right-margin"
+    attrGet _ = getViewShowRightMargin
+    attrSet _ = setViewShowRightMargin
+    attrConstruct _ = constructViewShowRightMargin
+    attrClear _ = undefined
+
+-- VVV Prop "smart-backspace"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewSmartBackspace :: (MonadIO m, ViewK o) => o -> m Bool
+getViewSmartBackspace obj = liftIO $ getObjectPropertyBool obj "smart-backspace"
+
+setViewSmartBackspace :: (MonadIO m, ViewK o) => o -> Bool -> m ()
+setViewSmartBackspace obj val = liftIO $ setObjectPropertyBool obj "smart-backspace" val
+
+constructViewSmartBackspace :: Bool -> IO ([Char], GValue)
+constructViewSmartBackspace val = constructObjectPropertyBool "smart-backspace" val
+
+data ViewSmartBackspacePropertyInfo
+instance AttrInfo ViewSmartBackspacePropertyInfo where
+    type AttrAllowedOps ViewSmartBackspacePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewSmartBackspacePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ViewSmartBackspacePropertyInfo = ViewK
+    type AttrGetType ViewSmartBackspacePropertyInfo = Bool
+    type AttrLabel ViewSmartBackspacePropertyInfo = "smart-backspace"
+    attrGet _ = getViewSmartBackspace
+    attrSet _ = setViewSmartBackspace
+    attrConstruct _ = constructViewSmartBackspace
+    attrClear _ = undefined
+
+-- VVV Prop "smart-home-end"
+   -- Type: TInterface "GtkSource" "SmartHomeEndType"
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewSmartHomeEnd :: (MonadIO m, ViewK o) => o -> m SmartHomeEndType
+getViewSmartHomeEnd obj = liftIO $ getObjectPropertyEnum obj "smart-home-end"
+
+setViewSmartHomeEnd :: (MonadIO m, ViewK o) => o -> SmartHomeEndType -> m ()
+setViewSmartHomeEnd obj val = liftIO $ setObjectPropertyEnum obj "smart-home-end" val
+
+constructViewSmartHomeEnd :: SmartHomeEndType -> IO ([Char], GValue)
+constructViewSmartHomeEnd val = constructObjectPropertyEnum "smart-home-end" val
+
+data ViewSmartHomeEndPropertyInfo
+instance AttrInfo ViewSmartHomeEndPropertyInfo where
+    type AttrAllowedOps ViewSmartHomeEndPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewSmartHomeEndPropertyInfo = (~) SmartHomeEndType
+    type AttrBaseTypeConstraint ViewSmartHomeEndPropertyInfo = ViewK
+    type AttrGetType ViewSmartHomeEndPropertyInfo = SmartHomeEndType
+    type AttrLabel ViewSmartHomeEndPropertyInfo = "smart-home-end"
+    attrGet _ = getViewSmartHomeEnd
+    attrSet _ = setViewSmartHomeEnd
+    attrConstruct _ = constructViewSmartHomeEnd
+    attrClear _ = undefined
+
+-- VVV Prop "tab-width"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+getViewTabWidth :: (MonadIO m, ViewK o) => o -> m Word32
+getViewTabWidth obj = liftIO $ getObjectPropertyUInt32 obj "tab-width"
+
+setViewTabWidth :: (MonadIO m, ViewK o) => o -> Word32 -> m ()
+setViewTabWidth obj val = liftIO $ setObjectPropertyUInt32 obj "tab-width" val
+
+constructViewTabWidth :: Word32 -> IO ([Char], GValue)
+constructViewTabWidth val = constructObjectPropertyUInt32 "tab-width" val
+
+data ViewTabWidthPropertyInfo
+instance AttrInfo ViewTabWidthPropertyInfo where
+    type AttrAllowedOps ViewTabWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewTabWidthPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint ViewTabWidthPropertyInfo = ViewK
+    type AttrGetType ViewTabWidthPropertyInfo = Word32
+    type AttrLabel ViewTabWidthPropertyInfo = "tab-width"
+    attrGet _ = getViewTabWidth
+    attrSet _ = setViewTabWidth
+    attrConstruct _ = constructViewTabWidth
+    attrClear _ = undefined
+
+type instance AttributeList View = ViewAttributeList
+type ViewAttributeList = ('[ '("acceptsTab", Gtk.TextViewAcceptsTabPropertyInfo), '("appPaintable", Gtk.WidgetAppPaintablePropertyInfo), '("autoIndent", ViewAutoIndentPropertyInfo), '("backgroundPattern", ViewBackgroundPatternPropertyInfo), '("borderWidth", Gtk.ContainerBorderWidthPropertyInfo), '("bottomMargin", Gtk.TextViewBottomMarginPropertyInfo), '("buffer", Gtk.TextViewBufferPropertyInfo), '("canDefault", Gtk.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.WidgetCanFocusPropertyInfo), '("child", Gtk.ContainerChildPropertyInfo), '("completion", ViewCompletionPropertyInfo), '("compositeChild", Gtk.WidgetCompositeChildPropertyInfo), '("cursorVisible", Gtk.TextViewCursorVisiblePropertyInfo), '("doubleBuffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("drawSpaces", ViewDrawSpacesPropertyInfo), '("editable", Gtk.TextViewEditablePropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("hadjustment", Gtk.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("hasDefault", Gtk.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.WidgetHexpandSetPropertyInfo), '("highlightCurrentLine", ViewHighlightCurrentLinePropertyInfo), '("hscrollPolicy", Gtk.ScrollableHscrollPolicyPropertyInfo), '("imModule", Gtk.TextViewImModulePropertyInfo), '("indent", Gtk.TextViewIndentPropertyInfo), '("indentOnTab", ViewIndentOnTabPropertyInfo), '("indentWidth", ViewIndentWidthPropertyInfo), '("inputHints", Gtk.TextViewInputHintsPropertyInfo), '("inputPurpose", Gtk.TextViewInputPurposePropertyInfo), '("insertSpacesInsteadOfTabs", ViewInsertSpacesInsteadOfTabsPropertyInfo), '("isFocus", Gtk.WidgetIsFocusPropertyInfo), '("justification", Gtk.TextViewJustificationPropertyInfo), '("leftMargin", Gtk.TextViewLeftMarginPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("marginBottom", Gtk.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.WidgetMarginTopPropertyInfo), '("monospace", Gtk.TextViewMonospacePropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("noShowAll", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("overwrite", Gtk.TextViewOverwritePropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("pixelsAboveLines", Gtk.TextViewPixelsAboveLinesPropertyInfo), '("pixelsBelowLines", Gtk.TextViewPixelsBelowLinesPropertyInfo), '("pixelsInsideWrap", Gtk.TextViewPixelsInsideWrapPropertyInfo), '("populateAll", Gtk.TextViewPopulateAllPropertyInfo), '("receivesDefault", Gtk.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.ContainerResizeModePropertyInfo), '("rightMargin", Gtk.TextViewRightMarginPropertyInfo), '("rightMarginPosition", ViewRightMarginPositionPropertyInfo), '("scaleFactor", Gtk.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("showLineMarks", ViewShowLineMarksPropertyInfo), '("showLineNumbers", ViewShowLineNumbersPropertyInfo), '("showRightMargin", ViewShowRightMarginPropertyInfo), '("smartBackspace", ViewSmartBackspacePropertyInfo), '("smartHomeEnd", ViewSmartHomeEndPropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("tabWidth", ViewTabWidthPropertyInfo), '("tabs", Gtk.TextViewTabsPropertyInfo), '("tooltipMarkup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.WidgetTooltipTextPropertyInfo), '("topMargin", Gtk.TextViewTopMarginPropertyInfo), '("vadjustment", Gtk.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.WidgetVexpandSetPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo), '("wrapMode", Gtk.TextViewWrapModePropertyInfo)] :: [(Symbol, *)])
+
+viewAutoIndent :: AttrLabelProxy "autoIndent"
+viewAutoIndent = AttrLabelProxy
+
+viewBackgroundPattern :: AttrLabelProxy "backgroundPattern"
+viewBackgroundPattern = AttrLabelProxy
+
+viewCompletion :: AttrLabelProxy "completion"
+viewCompletion = AttrLabelProxy
+
+viewDrawSpaces :: AttrLabelProxy "drawSpaces"
+viewDrawSpaces = AttrLabelProxy
+
+viewHighlightCurrentLine :: AttrLabelProxy "highlightCurrentLine"
+viewHighlightCurrentLine = AttrLabelProxy
+
+viewIndentOnTab :: AttrLabelProxy "indentOnTab"
+viewIndentOnTab = AttrLabelProxy
+
+viewIndentWidth :: AttrLabelProxy "indentWidth"
+viewIndentWidth = AttrLabelProxy
+
+viewInsertSpacesInsteadOfTabs :: AttrLabelProxy "insertSpacesInsteadOfTabs"
+viewInsertSpacesInsteadOfTabs = AttrLabelProxy
+
+viewRightMarginPosition :: AttrLabelProxy "rightMarginPosition"
+viewRightMarginPosition = AttrLabelProxy
+
+viewShowLineMarks :: AttrLabelProxy "showLineMarks"
+viewShowLineMarks = AttrLabelProxy
+
+viewShowLineNumbers :: AttrLabelProxy "showLineNumbers"
+viewShowLineNumbers = AttrLabelProxy
+
+viewShowRightMargin :: AttrLabelProxy "showRightMargin"
+viewShowRightMargin = AttrLabelProxy
+
+viewSmartBackspace :: AttrLabelProxy "smartBackspace"
+viewSmartBackspace = AttrLabelProxy
+
+viewSmartHomeEnd :: AttrLabelProxy "smartHomeEnd"
+viewSmartHomeEnd = AttrLabelProxy
+
+viewTabWidth :: AttrLabelProxy "tabWidth"
+viewTabWidth = AttrLabelProxy
+
+data ViewChangeCaseSignalInfo
+instance SignalInfo ViewChangeCaseSignalInfo where
+    type HaskellCallbackType ViewChangeCaseSignalInfo = ViewChangeCaseCallback
+    connectSignal _ = connectViewChangeCase
+
+data ViewChangeNumberSignalInfo
+instance SignalInfo ViewChangeNumberSignalInfo where
+    type HaskellCallbackType ViewChangeNumberSignalInfo = ViewChangeNumberCallback
+    connectSignal _ = connectViewChangeNumber
+
+data ViewJoinLinesSignalInfo
+instance SignalInfo ViewJoinLinesSignalInfo where
+    type HaskellCallbackType ViewJoinLinesSignalInfo = ViewJoinLinesCallback
+    connectSignal _ = connectViewJoinLines
+
+data ViewLineMarkActivatedSignalInfo
+instance SignalInfo ViewLineMarkActivatedSignalInfo where
+    type HaskellCallbackType ViewLineMarkActivatedSignalInfo = ViewLineMarkActivatedCallback
+    connectSignal _ = connectViewLineMarkActivated
+
+data ViewMoveLinesSignalInfo
+instance SignalInfo ViewMoveLinesSignalInfo where
+    type HaskellCallbackType ViewMoveLinesSignalInfo = ViewMoveLinesCallback
+    connectSignal _ = connectViewMoveLines
+
+data ViewMoveToMatchingBracketSignalInfo
+instance SignalInfo ViewMoveToMatchingBracketSignalInfo where
+    type HaskellCallbackType ViewMoveToMatchingBracketSignalInfo = ViewMoveToMatchingBracketCallback
+    connectSignal _ = connectViewMoveToMatchingBracket
+
+data ViewMoveWordsSignalInfo
+instance SignalInfo ViewMoveWordsSignalInfo where
+    type HaskellCallbackType ViewMoveWordsSignalInfo = ViewMoveWordsCallback
+    connectSignal _ = connectViewMoveWords
+
+data ViewRedoSignalInfo
+instance SignalInfo ViewRedoSignalInfo where
+    type HaskellCallbackType ViewRedoSignalInfo = ViewRedoCallback
+    connectSignal _ = connectViewRedo
+
+data ViewShowCompletionSignalInfo
+instance SignalInfo ViewShowCompletionSignalInfo where
+    type HaskellCallbackType ViewShowCompletionSignalInfo = ViewShowCompletionCallback
+    connectSignal _ = connectViewShowCompletion
+
+data ViewSmartHomeEndSignalInfo
+instance SignalInfo ViewSmartHomeEndSignalInfo where
+    type HaskellCallbackType ViewSmartHomeEndSignalInfo = ViewSmartHomeEndCallback
+    connectSignal _ = connectViewSmartHomeEnd
+
+data ViewUndoSignalInfo
+instance SignalInfo ViewUndoSignalInfo where
+    type HaskellCallbackType ViewUndoSignalInfo = ViewUndoCallback
+    connectSignal _ = connectViewUndo
+
+type instance SignalList View = ViewSignalList
+type ViewSignalList = ('[ '("accelClosuresChanged", Gtk.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.ContainerAddSignalInfo), '("backspace", Gtk.TextViewBackspaceSignalInfo), '("buttonPressEvent", Gtk.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.WidgetCanActivateAccelSignalInfo), '("changeCase", ViewChangeCaseSignalInfo), '("changeNumber", ViewChangeNumberSignalInfo), '("checkResize", Gtk.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.WidgetConfigureEventSignalInfo), '("copyClipboard", Gtk.TextViewCopyClipboardSignalInfo), '("cutClipboard", Gtk.TextViewCutClipboardSignalInfo), '("damageEvent", Gtk.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.WidgetDeleteEventSignalInfo), '("deleteFromCursor", Gtk.TextViewDeleteFromCursorSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroyEvent", Gtk.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.WidgetDragDropSignalInfo), '("dragEnd", Gtk.WidgetDragEndSignalInfo), '("dragFailed", Gtk.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("eventAfter", Gtk.WidgetEventAfterSignalInfo), '("extendSelection", Gtk.TextViewExtendSelectionSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focusInEvent", Gtk.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.WidgetHierarchyChangedSignalInfo), '("insertAtCursor", Gtk.TextViewInsertAtCursorSignalInfo), '("joinLines", ViewJoinLinesSignalInfo), '("keyPressEvent", Gtk.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.WidgetLeaveNotifyEventSignalInfo), '("lineMarkActivated", ViewLineMarkActivatedSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("mapEvent", Gtk.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.WidgetMotionNotifyEventSignalInfo), '("moveCursor", Gtk.TextViewMoveCursorSignalInfo), '("moveFocus", Gtk.WidgetMoveFocusSignalInfo), '("moveLines", ViewMoveLinesSignalInfo), '("moveToMatchingBracket", ViewMoveToMatchingBracketSignalInfo), '("moveViewport", Gtk.TextViewMoveViewportSignalInfo), '("moveWords", ViewMoveWordsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parentSet", Gtk.WidgetParentSetSignalInfo), '("pasteClipboard", Gtk.TextViewPasteClipboardSignalInfo), '("populatePopup", Gtk.TextViewPopulatePopupSignalInfo), '("popupMenu", Gtk.WidgetPopupMenuSignalInfo), '("preeditChanged", Gtk.TextViewPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.WidgetQueryTooltipSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("redo", ViewRedoSignalInfo), '("remove", Gtk.ContainerRemoveSignalInfo), '("screenChanged", Gtk.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.WidgetScrollEventSignalInfo), '("selectAll", Gtk.TextViewSelectAllSignalInfo), '("selectionClearEvent", Gtk.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.WidgetSelectionRequestEventSignalInfo), '("setAnchor", Gtk.TextViewSetAnchorSignalInfo), '("setFocusChild", Gtk.ContainerSetFocusChildSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("showCompletion", ViewShowCompletionSignalInfo), '("showHelp", Gtk.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.WidgetSizeAllocateSignalInfo), '("smartHomeEnd", ViewSmartHomeEndSignalInfo), '("stateChanged", Gtk.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.WidgetStyleUpdatedSignalInfo), '("toggleCursorVisible", Gtk.TextViewToggleCursorVisibleSignalInfo), '("toggleOverwrite", Gtk.TextViewToggleOverwriteSignalInfo), '("touchEvent", Gtk.WidgetTouchEventSignalInfo), '("undo", ViewUndoSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+-- method View::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "View")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_new" gtk_source_view_new :: 
+    IO (Ptr View)
+
+
+viewNew ::
+    (MonadIO m) =>
+    m View                                  -- result
+viewNew  = liftIO $ do
+    result <- gtk_source_view_new
+    checkUnexpectedReturnNULL "gtk_source_view_new" result
+    result' <- (newObject View) result
+    return result'
+
+-- method View::new_with_buffer
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface "GtkSource" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "View")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_new_with_buffer" gtk_source_view_new_with_buffer :: 
+    Ptr Buffer ->                           -- buffer : TInterface "GtkSource" "Buffer"
+    IO (Ptr View)
+
+
+viewNewWithBuffer ::
+    (MonadIO m, BufferK a) =>
+    a                                       -- buffer
+    -> m View                               -- result
+viewNewWithBuffer buffer = liftIO $ do
+    let buffer' = unsafeManagedPtrCastPtr buffer
+    result <- gtk_source_view_new_with_buffer buffer'
+    checkUnexpectedReturnNULL "gtk_source_view_new_with_buffer" result
+    result' <- (newObject View) result
+    touchManagedPtr buffer
+    return result'
+
+-- method View::get_auto_indent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_auto_indent" gtk_source_view_get_auto_indent :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetAutoIndent ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetAutoIndent _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_auto_indent _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetAutoIndentMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetAutoIndentMethodInfo a signature where
+    overloadedMethod _ = viewGetAutoIndent
+
+-- method View::get_background_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "BackgroundPatternType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_background_pattern" gtk_source_view_get_background_pattern :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CUInt
+
+
+viewGetBackgroundPattern ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m BackgroundPatternType              -- result
+viewGetBackgroundPattern _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_background_pattern _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetBackgroundPatternMethodInfo
+instance (signature ~ (m BackgroundPatternType), MonadIO m, ViewK a) => MethodInfo ViewGetBackgroundPatternMethodInfo a signature where
+    overloadedMethod _ = viewGetBackgroundPattern
+
+-- method View::get_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Completion")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_completion" gtk_source_view_get_completion :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO (Ptr Completion)
+
+
+viewGetCompletion ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Completion                         -- result
+viewGetCompletion _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_completion _obj'
+    checkUnexpectedReturnNULL "gtk_source_view_get_completion" result
+    result' <- (newObject Completion) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetCompletionMethodInfo
+instance (signature ~ (m Completion), MonadIO m, ViewK a) => MethodInfo ViewGetCompletionMethodInfo a signature where
+    overloadedMethod _ = viewGetCompletion
+
+-- method View::get_draw_spaces
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "DrawSpacesFlags")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_draw_spaces" gtk_source_view_get_draw_spaces :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CUInt
+
+
+viewGetDrawSpaces ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m [DrawSpacesFlags]                  -- result
+viewGetDrawSpaces _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_draw_spaces _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetDrawSpacesMethodInfo
+instance (signature ~ (m [DrawSpacesFlags]), MonadIO m, ViewK a) => MethodInfo ViewGetDrawSpacesMethodInfo a signature where
+    overloadedMethod _ = viewGetDrawSpaces
+
+-- method View::get_gutter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_type", argType = TInterface "Gtk" "TextWindowType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Gutter")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_gutter" gtk_source_view_get_gutter :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CUInt ->                                -- window_type : TInterface "Gtk" "TextWindowType"
+    IO (Ptr Gutter)
+
+
+viewGetGutter ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Gtk.TextWindowType                   -- windowType
+    -> m Gutter                             -- result
+viewGetGutter _obj windowType = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let windowType' = (fromIntegral . fromEnum) windowType
+    result <- gtk_source_view_get_gutter _obj' windowType'
+    checkUnexpectedReturnNULL "gtk_source_view_get_gutter" result
+    result' <- (newObject Gutter) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetGutterMethodInfo
+instance (signature ~ (Gtk.TextWindowType -> m Gutter), MonadIO m, ViewK a) => MethodInfo ViewGetGutterMethodInfo a signature where
+    overloadedMethod _ = viewGetGutter
+
+-- method View::get_highlight_current_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_highlight_current_line" gtk_source_view_get_highlight_current_line :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetHighlightCurrentLine ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetHighlightCurrentLine _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_highlight_current_line _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetHighlightCurrentLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetHighlightCurrentLineMethodInfo a signature where
+    overloadedMethod _ = viewGetHighlightCurrentLine
+
+-- method View::get_indent_on_tab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_indent_on_tab" gtk_source_view_get_indent_on_tab :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetIndentOnTab ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetIndentOnTab _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_indent_on_tab _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetIndentOnTabMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetIndentOnTabMethodInfo a signature where
+    overloadedMethod _ = viewGetIndentOnTab
+
+-- method View::get_indent_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_indent_width" gtk_source_view_get_indent_width :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO Int32
+
+
+viewGetIndentWidth ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+viewGetIndentWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_indent_width _obj'
+    touchManagedPtr _obj
+    return result
+
+data ViewGetIndentWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, ViewK a) => MethodInfo ViewGetIndentWidthMethodInfo a signature where
+    overloadedMethod _ = viewGetIndentWidth
+
+-- method View::get_insert_spaces_instead_of_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_insert_spaces_instead_of_tabs" gtk_source_view_get_insert_spaces_instead_of_tabs :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetInsertSpacesInsteadOfTabs ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetInsertSpacesInsteadOfTabs _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_insert_spaces_instead_of_tabs _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetInsertSpacesInsteadOfTabsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetInsertSpacesInsteadOfTabsMethodInfo a signature where
+    overloadedMethod _ = viewGetInsertSpacesInsteadOfTabs
+
+-- method View::get_mark_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "MarkAttributes")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_mark_attributes" gtk_source_view_get_mark_attributes :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CString ->                              -- category : TBasicType TUTF8
+    Int32 ->                                -- priority : TBasicType TInt
+    IO (Ptr MarkAttributes)
+
+
+viewGetMarkAttributes ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- category
+    -> Int32                                -- priority
+    -> m MarkAttributes                     -- result
+viewGetMarkAttributes _obj category priority = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    category' <- textToCString category
+    result <- gtk_source_view_get_mark_attributes _obj' category' priority
+    checkUnexpectedReturnNULL "gtk_source_view_get_mark_attributes" result
+    result' <- (newObject MarkAttributes) result
+    touchManagedPtr _obj
+    freeMem category'
+    return result'
+
+data ViewGetMarkAttributesMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m MarkAttributes), MonadIO m, ViewK a) => MethodInfo ViewGetMarkAttributesMethodInfo a signature where
+    overloadedMethod _ = viewGetMarkAttributes
+
+-- method View::get_right_margin_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_right_margin_position" gtk_source_view_get_right_margin_position :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO Word32
+
+
+viewGetRightMarginPosition ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Word32                             -- result
+viewGetRightMarginPosition _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_right_margin_position _obj'
+    touchManagedPtr _obj
+    return result
+
+data ViewGetRightMarginPositionMethodInfo
+instance (signature ~ (m Word32), MonadIO m, ViewK a) => MethodInfo ViewGetRightMarginPositionMethodInfo a signature where
+    overloadedMethod _ = viewGetRightMarginPosition
+
+-- method View::get_show_line_marks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_show_line_marks" gtk_source_view_get_show_line_marks :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetShowLineMarks ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetShowLineMarks _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_show_line_marks _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetShowLineMarksMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetShowLineMarksMethodInfo a signature where
+    overloadedMethod _ = viewGetShowLineMarks
+
+-- method View::get_show_line_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_show_line_numbers" gtk_source_view_get_show_line_numbers :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetShowLineNumbers ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetShowLineNumbers _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_show_line_numbers _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetShowLineNumbersMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetShowLineNumbersMethodInfo a signature where
+    overloadedMethod _ = viewGetShowLineNumbers
+
+-- method View::get_show_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_show_right_margin" gtk_source_view_get_show_right_margin :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetShowRightMargin ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetShowRightMargin _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_show_right_margin _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetShowRightMarginMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetShowRightMarginMethodInfo a signature where
+    overloadedMethod _ = viewGetShowRightMargin
+
+-- method View::get_smart_backspace
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_smart_backspace" gtk_source_view_get_smart_backspace :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CInt
+
+
+viewGetSmartBackspace ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+viewGetSmartBackspace _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_smart_backspace _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetSmartBackspaceMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ViewK a) => MethodInfo ViewGetSmartBackspaceMethodInfo a signature where
+    overloadedMethod _ = viewGetSmartBackspace
+
+-- method View::get_smart_home_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "SmartHomeEndType")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_smart_home_end" gtk_source_view_get_smart_home_end :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO CUInt
+
+
+viewGetSmartHomeEnd ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m SmartHomeEndType                   -- result
+viewGetSmartHomeEnd _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_smart_home_end _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data ViewGetSmartHomeEndMethodInfo
+instance (signature ~ (m SmartHomeEndType), MonadIO m, ViewK a) => MethodInfo ViewGetSmartHomeEndMethodInfo a signature where
+    overloadedMethod _ = viewGetSmartHomeEnd
+
+-- method View::get_tab_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_tab_width" gtk_source_view_get_tab_width :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    IO Word32
+
+
+viewGetTabWidth ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> m Word32                             -- result
+viewGetTabWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gtk_source_view_get_tab_width _obj'
+    touchManagedPtr _obj
+    return result
+
+data ViewGetTabWidthMethodInfo
+instance (signature ~ (m Word32), MonadIO m, ViewK a) => MethodInfo ViewGetTabWidthMethodInfo a signature where
+    overloadedMethod _ = viewGetTabWidth
+
+-- method View::get_visual_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_get_visual_column" gtk_source_view_get_visual_column :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    Ptr Gtk.TextIter ->                     -- iter : TInterface "Gtk" "TextIter"
+    IO Word32
+
+
+viewGetVisualColumn ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- iter
+    -> m Word32                             -- result
+viewGetVisualColumn _obj iter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let iter' = unsafeManagedPtrGetPtr iter
+    result <- gtk_source_view_get_visual_column _obj' iter'
+    touchManagedPtr _obj
+    touchManagedPtr iter
+    return result
+
+data ViewGetVisualColumnMethodInfo
+instance (signature ~ (Gtk.TextIter -> m Word32), MonadIO m, ViewK a) => MethodInfo ViewGetVisualColumnMethodInfo a signature where
+    overloadedMethod _ = viewGetVisualColumn
+
+-- method View::indent_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_indent_lines" gtk_source_view_indent_lines :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+viewIndentLines ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> m ()                                 -- result
+viewIndentLines _obj start end = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    gtk_source_view_indent_lines _obj' start' end'
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data ViewIndentLinesMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> m ()), MonadIO m, ViewK a) => MethodInfo ViewIndentLinesMethodInfo a signature where
+    overloadedMethod _ = viewIndentLines
+
+-- method View::set_auto_indent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_auto_indent" gtk_source_view_set_auto_indent :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- enable : TBasicType TBoolean
+    IO ()
+
+
+viewSetAutoIndent ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- enable
+    -> m ()                                 -- result
+viewSetAutoIndent _obj enable = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let enable' = (fromIntegral . fromEnum) enable
+    gtk_source_view_set_auto_indent _obj' enable'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetAutoIndentMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetAutoIndentMethodInfo a signature where
+    overloadedMethod _ = viewSetAutoIndent
+
+-- method View::set_background_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_pattern", argType = TInterface "GtkSource" "BackgroundPatternType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_background_pattern" gtk_source_view_set_background_pattern :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CUInt ->                                -- background_pattern : TInterface "GtkSource" "BackgroundPatternType"
+    IO ()
+
+
+viewSetBackgroundPattern ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> BackgroundPatternType                -- backgroundPattern
+    -> m ()                                 -- result
+viewSetBackgroundPattern _obj backgroundPattern = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let backgroundPattern' = (fromIntegral . fromEnum) backgroundPattern
+    gtk_source_view_set_background_pattern _obj' backgroundPattern'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetBackgroundPatternMethodInfo
+instance (signature ~ (BackgroundPatternType -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetBackgroundPatternMethodInfo a signature where
+    overloadedMethod _ = viewSetBackgroundPattern
+
+-- method View::set_draw_spaces
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GtkSource" "DrawSpacesFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_draw_spaces" gtk_source_view_set_draw_spaces :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CUInt ->                                -- flags : TInterface "GtkSource" "DrawSpacesFlags"
+    IO ()
+
+
+viewSetDrawSpaces ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> [DrawSpacesFlags]                    -- flags
+    -> m ()                                 -- result
+viewSetDrawSpaces _obj flags = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let flags' = gflagsToWord flags
+    gtk_source_view_set_draw_spaces _obj' flags'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetDrawSpacesMethodInfo
+instance (signature ~ ([DrawSpacesFlags] -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetDrawSpacesMethodInfo a signature where
+    overloadedMethod _ = viewSetDrawSpaces
+
+-- method View::set_highlight_current_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_highlight_current_line" gtk_source_view_set_highlight_current_line :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- highlight : TBasicType TBoolean
+    IO ()
+
+
+viewSetHighlightCurrentLine ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- highlight
+    -> m ()                                 -- result
+viewSetHighlightCurrentLine _obj highlight = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let highlight' = (fromIntegral . fromEnum) highlight
+    gtk_source_view_set_highlight_current_line _obj' highlight'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetHighlightCurrentLineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetHighlightCurrentLineMethodInfo a signature where
+    overloadedMethod _ = viewSetHighlightCurrentLine
+
+-- method View::set_indent_on_tab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_indent_on_tab" gtk_source_view_set_indent_on_tab :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- enable : TBasicType TBoolean
+    IO ()
+
+
+viewSetIndentOnTab ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- enable
+    -> m ()                                 -- result
+viewSetIndentOnTab _obj enable = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let enable' = (fromIntegral . fromEnum) enable
+    gtk_source_view_set_indent_on_tab _obj' enable'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetIndentOnTabMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetIndentOnTabMethodInfo a signature where
+    overloadedMethod _ = viewSetIndentOnTab
+
+-- method View::set_indent_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_indent_width" gtk_source_view_set_indent_width :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    Int32 ->                                -- width : TBasicType TInt
+    IO ()
+
+
+viewSetIndentWidth ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Int32                                -- width
+    -> m ()                                 -- result
+viewSetIndentWidth _obj width = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_view_set_indent_width _obj' width
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetIndentWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetIndentWidthMethodInfo a signature where
+    overloadedMethod _ = viewSetIndentWidth
+
+-- method View::set_insert_spaces_instead_of_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_insert_spaces_instead_of_tabs" gtk_source_view_set_insert_spaces_instead_of_tabs :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- enable : TBasicType TBoolean
+    IO ()
+
+
+viewSetInsertSpacesInsteadOfTabs ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- enable
+    -> m ()                                 -- result
+viewSetInsertSpacesInsteadOfTabs _obj enable = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let enable' = (fromIntegral . fromEnum) enable
+    gtk_source_view_set_insert_spaces_instead_of_tabs _obj' enable'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetInsertSpacesInsteadOfTabsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetInsertSpacesInsteadOfTabsMethodInfo a signature where
+    overloadedMethod _ = viewSetInsertSpacesInsteadOfTabs
+
+-- method View::set_mark_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", argType = TInterface "GtkSource" "MarkAttributes", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_mark_attributes" gtk_source_view_set_mark_attributes :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CString ->                              -- category : TBasicType TUTF8
+    Ptr MarkAttributes ->                   -- attributes : TInterface "GtkSource" "MarkAttributes"
+    Int32 ->                                -- priority : TBasicType TInt
+    IO ()
+
+
+viewSetMarkAttributes ::
+    (MonadIO m, ViewK a, MarkAttributesK b) =>
+    a                                       -- _obj
+    -> T.Text                               -- category
+    -> b                                    -- attributes
+    -> Int32                                -- priority
+    -> m ()                                 -- result
+viewSetMarkAttributes _obj category attributes priority = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    category' <- textToCString category
+    let attributes' = unsafeManagedPtrCastPtr attributes
+    gtk_source_view_set_mark_attributes _obj' category' attributes' priority
+    touchManagedPtr _obj
+    touchManagedPtr attributes
+    freeMem category'
+    return ()
+
+data ViewSetMarkAttributesMethodInfo
+instance (signature ~ (T.Text -> b -> Int32 -> m ()), MonadIO m, ViewK a, MarkAttributesK b) => MethodInfo ViewSetMarkAttributesMethodInfo a signature where
+    overloadedMethod _ = viewSetMarkAttributes
+
+-- method View::set_right_margin_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_right_margin_position" gtk_source_view_set_right_margin_position :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    Word32 ->                               -- pos : TBasicType TUInt
+    IO ()
+
+
+viewSetRightMarginPosition ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Word32                               -- pos
+    -> m ()                                 -- result
+viewSetRightMarginPosition _obj pos = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_view_set_right_margin_position _obj' pos
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetRightMarginPositionMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetRightMarginPositionMethodInfo a signature where
+    overloadedMethod _ = viewSetRightMarginPosition
+
+-- method View::set_show_line_marks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_show_line_marks" gtk_source_view_set_show_line_marks :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- show : TBasicType TBoolean
+    IO ()
+
+
+viewSetShowLineMarks ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- show_
+    -> m ()                                 -- result
+viewSetShowLineMarks _obj show_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let show_' = (fromIntegral . fromEnum) show_
+    gtk_source_view_set_show_line_marks _obj' show_'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetShowLineMarksMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetShowLineMarksMethodInfo a signature where
+    overloadedMethod _ = viewSetShowLineMarks
+
+-- method View::set_show_line_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_show_line_numbers" gtk_source_view_set_show_line_numbers :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- show : TBasicType TBoolean
+    IO ()
+
+
+viewSetShowLineNumbers ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- show_
+    -> m ()                                 -- result
+viewSetShowLineNumbers _obj show_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let show_' = (fromIntegral . fromEnum) show_
+    gtk_source_view_set_show_line_numbers _obj' show_'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetShowLineNumbersMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetShowLineNumbersMethodInfo a signature where
+    overloadedMethod _ = viewSetShowLineNumbers
+
+-- method View::set_show_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_show_right_margin" gtk_source_view_set_show_right_margin :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- show : TBasicType TBoolean
+    IO ()
+
+
+viewSetShowRightMargin ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- show_
+    -> m ()                                 -- result
+viewSetShowRightMargin _obj show_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let show_' = (fromIntegral . fromEnum) show_
+    gtk_source_view_set_show_right_margin _obj' show_'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetShowRightMarginMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetShowRightMarginMethodInfo a signature where
+    overloadedMethod _ = viewSetShowRightMargin
+
+-- method View::set_smart_backspace
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "smart_backspace", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_smart_backspace" gtk_source_view_set_smart_backspace :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CInt ->                                 -- smart_backspace : TBasicType TBoolean
+    IO ()
+
+
+viewSetSmartBackspace ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- smartBackspace
+    -> m ()                                 -- result
+viewSetSmartBackspace _obj smartBackspace = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let smartBackspace' = (fromIntegral . fromEnum) smartBackspace
+    gtk_source_view_set_smart_backspace _obj' smartBackspace'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetSmartBackspaceMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetSmartBackspaceMethodInfo a signature where
+    overloadedMethod _ = viewSetSmartBackspace
+
+-- method View::set_smart_home_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "smart_home_end", argType = TInterface "GtkSource" "SmartHomeEndType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_smart_home_end" gtk_source_view_set_smart_home_end :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    CUInt ->                                -- smart_home_end : TInterface "GtkSource" "SmartHomeEndType"
+    IO ()
+
+
+viewSetSmartHomeEnd ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> SmartHomeEndType                     -- smartHomeEnd
+    -> m ()                                 -- result
+viewSetSmartHomeEnd _obj smartHomeEnd = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let smartHomeEnd' = (fromIntegral . fromEnum) smartHomeEnd
+    gtk_source_view_set_smart_home_end _obj' smartHomeEnd'
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetSmartHomeEndMethodInfo
+instance (signature ~ (SmartHomeEndType -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetSmartHomeEndMethodInfo a signature where
+    overloadedMethod _ = viewSetSmartHomeEnd
+
+-- method View::set_tab_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_set_tab_width" gtk_source_view_set_tab_width :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    Word32 ->                               -- width : TBasicType TUInt
+    IO ()
+
+
+viewSetTabWidth ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Word32                               -- width
+    -> m ()                                 -- result
+viewSetTabWidth _obj width = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gtk_source_view_set_tab_width _obj' width
+    touchManagedPtr _obj
+    return ()
+
+data ViewSetTabWidthMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, ViewK a) => MethodInfo ViewSetTabWidthMethodInfo a signature where
+    overloadedMethod _ = viewSetTabWidth
+
+-- method View::unindent_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "View", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface "Gtk" "TextIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_view_unindent_lines" gtk_source_view_unindent_lines :: 
+    Ptr View ->                             -- _obj : TInterface "GtkSource" "View"
+    Ptr Gtk.TextIter ->                     -- start : TInterface "Gtk" "TextIter"
+    Ptr Gtk.TextIter ->                     -- end : TInterface "Gtk" "TextIter"
+    IO ()
+
+
+viewUnindentLines ::
+    (MonadIO m, ViewK a) =>
+    a                                       -- _obj
+    -> Gtk.TextIter                         -- start
+    -> Gtk.TextIter                         -- end
+    -> m ()                                 -- result
+viewUnindentLines _obj start end = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let start' = unsafeManagedPtrGetPtr start
+    let end' = unsafeManagedPtrGetPtr end
+    gtk_source_view_unindent_lines _obj' start' end'
+    touchManagedPtr _obj
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+data ViewUnindentLinesMethodInfo
+instance (signature ~ (Gtk.TextIter -> Gtk.TextIter -> m ()), MonadIO m, ViewK a) => MethodInfo ViewUnindentLinesMethodInfo a signature where
+    overloadedMethod _ = viewUnindentLines
+
+
diff --git a/GI/GtkSource/Objects/View.hs-boot b/GI/GtkSource/Objects/View.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Objects/View.hs-boot
@@ -0,0 +1,74 @@
+module GI.GtkSource.Objects.View where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype View = View (ForeignPtr View)
+instance GObject View where
+class GObject o => ViewK o
+instance (GObject o, IsDescendantOf View o) => ViewK o
+data ViewAutoIndentPropertyInfo
+data ViewBackgroundPatternPropertyInfo
+data ViewCompletionPropertyInfo
+data ViewDrawSpacesPropertyInfo
+data ViewHighlightCurrentLinePropertyInfo
+data ViewIndentOnTabPropertyInfo
+data ViewIndentWidthPropertyInfo
+data ViewInsertSpacesInsteadOfTabsPropertyInfo
+data ViewRightMarginPositionPropertyInfo
+data ViewShowLineMarksPropertyInfo
+data ViewShowLineNumbersPropertyInfo
+data ViewShowRightMarginPropertyInfo
+data ViewSmartBackspacePropertyInfo
+data ViewSmartHomeEndPropertyInfo
+data ViewTabWidthPropertyInfo
+data ViewChangeCaseSignalInfo
+data ViewChangeNumberSignalInfo
+data ViewJoinLinesSignalInfo
+data ViewLineMarkActivatedSignalInfo
+data ViewMoveLinesSignalInfo
+data ViewMoveToMatchingBracketSignalInfo
+data ViewMoveWordsSignalInfo
+data ViewRedoSignalInfo
+data ViewShowCompletionSignalInfo
+data ViewSmartHomeEndSignalInfo
+data ViewUndoSignalInfo
+data ViewGetAutoIndentMethodInfo
+data ViewGetBackgroundPatternMethodInfo
+data ViewGetCompletionMethodInfo
+data ViewGetDrawSpacesMethodInfo
+data ViewGetGutterMethodInfo
+data ViewGetHighlightCurrentLineMethodInfo
+data ViewGetIndentOnTabMethodInfo
+data ViewGetIndentWidthMethodInfo
+data ViewGetInsertSpacesInsteadOfTabsMethodInfo
+data ViewGetMarkAttributesMethodInfo
+data ViewGetRightMarginPositionMethodInfo
+data ViewGetShowLineMarksMethodInfo
+data ViewGetShowLineNumbersMethodInfo
+data ViewGetShowRightMarginMethodInfo
+data ViewGetSmartBackspaceMethodInfo
+data ViewGetSmartHomeEndMethodInfo
+data ViewGetTabWidthMethodInfo
+data ViewGetVisualColumnMethodInfo
+data ViewIndentLinesMethodInfo
+data ViewSetAutoIndentMethodInfo
+data ViewSetBackgroundPatternMethodInfo
+data ViewSetDrawSpacesMethodInfo
+data ViewSetHighlightCurrentLineMethodInfo
+data ViewSetIndentOnTabMethodInfo
+data ViewSetIndentWidthMethodInfo
+data ViewSetInsertSpacesInsteadOfTabsMethodInfo
+data ViewSetMarkAttributesMethodInfo
+data ViewSetRightMarginPositionMethodInfo
+data ViewSetShowLineMarksMethodInfo
+data ViewSetShowLineNumbersMethodInfo
+data ViewSetShowRightMarginMethodInfo
+data ViewSetSmartBackspaceMethodInfo
+data ViewSetSmartHomeEndMethodInfo
+data ViewSetTabWidthMethodInfo
+data ViewUnindentLinesMethodInfo
diff --git a/GI/GtkSource/Structs.hs b/GI/GtkSource/Structs.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Structs.hs
@@ -0,0 +1,27 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Structs
+    (     module GI.GtkSource.Structs.Encoding    ,
+
+
+    ) where
+
+import GI.GtkSource.Structs.Encoding
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+
+
diff --git a/GI/GtkSource/Structs/Encoding.hs b/GI/GtkSource/Structs/Encoding.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Structs/Encoding.hs
@@ -0,0 +1,363 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
+-}
+
+module GI.GtkSource.Structs.Encoding
+    ( 
+
+-- * Exported types
+    Encoding(..)                            ,
+    noEncoding                              ,
+
+
+ -- * Methods
+-- ** encodingCopy
+    EncodingCopyMethodInfo                  ,
+    encodingCopy                            ,
+
+
+-- ** encodingFree
+    EncodingFreeMethodInfo                  ,
+    encodingFree                            ,
+
+
+-- ** encodingGetAll
+    encodingGetAll                          ,
+
+
+-- ** encodingGetCharset
+    EncodingGetCharsetMethodInfo            ,
+    encodingGetCharset                      ,
+
+
+-- ** encodingGetCurrent
+    encodingGetCurrent                      ,
+
+
+-- ** encodingGetDefaultCandidates
+    encodingGetDefaultCandidates            ,
+
+
+-- ** encodingGetFromCharset
+    encodingGetFromCharset                  ,
+
+
+-- ** encodingGetName
+    EncodingGetNameMethodInfo               ,
+    encodingGetName                         ,
+
+
+-- ** encodingGetUtf8
+    encodingGetUtf8                         ,
+
+
+-- ** encodingToString
+    EncodingToStringMethodInfo              ,
+    encodingToString                        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GtkSource.Types
+import GI.GtkSource.Callbacks
+
+newtype Encoding = Encoding (ForeignPtr Encoding)
+foreign import ccall "gtk_source_encoding_get_type" c_gtk_source_encoding_get_type :: 
+    IO GType
+
+instance BoxedObject Encoding where
+    boxedType _ = c_gtk_source_encoding_get_type
+
+noEncoding :: Maybe Encoding
+noEncoding = Nothing
+
+
+type instance AttributeList Encoding = EncodingAttributeList
+type EncodingAttributeList = ('[ ] :: [(Symbol, *)])
+
+-- method Encoding::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_copy" gtk_source_encoding_copy :: 
+    Ptr Encoding ->                         -- _obj : TInterface "GtkSource" "Encoding"
+    IO (Ptr Encoding)
+
+
+encodingCopy ::
+    (MonadIO m) =>
+    Encoding                                -- _obj
+    -> m Encoding                           -- result
+encodingCopy _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gtk_source_encoding_copy _obj'
+    checkUnexpectedReturnNULL "gtk_source_encoding_copy" result
+    result' <- (wrapBoxed Encoding) result
+    touchManagedPtr _obj
+    return result'
+
+data EncodingCopyMethodInfo
+instance (signature ~ (m Encoding), MonadIO m) => MethodInfo EncodingCopyMethodInfo Encoding signature where
+    overloadedMethod _ = encodingCopy
+
+-- method Encoding::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_free" gtk_source_encoding_free :: 
+    Ptr Encoding ->                         -- _obj : TInterface "GtkSource" "Encoding"
+    IO ()
+
+
+encodingFree ::
+    (MonadIO m) =>
+    Encoding                                -- _obj
+    -> m ()                                 -- result
+encodingFree _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    gtk_source_encoding_free _obj'
+    touchManagedPtr _obj
+    return ()
+
+data EncodingFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo EncodingFreeMethodInfo Encoding signature where
+    overloadedMethod _ = encodingFree
+
+-- method Encoding::get_charset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_charset" gtk_source_encoding_get_charset :: 
+    Ptr Encoding ->                         -- _obj : TInterface "GtkSource" "Encoding"
+    IO CString
+
+
+encodingGetCharset ::
+    (MonadIO m) =>
+    Encoding                                -- _obj
+    -> m T.Text                             -- result
+encodingGetCharset _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gtk_source_encoding_get_charset _obj'
+    checkUnexpectedReturnNULL "gtk_source_encoding_get_charset" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data EncodingGetCharsetMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo EncodingGetCharsetMethodInfo Encoding signature where
+    overloadedMethod _ = encodingGetCharset
+
+-- method Encoding::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_name" gtk_source_encoding_get_name :: 
+    Ptr Encoding ->                         -- _obj : TInterface "GtkSource" "Encoding"
+    IO CString
+
+
+encodingGetName ::
+    (MonadIO m) =>
+    Encoding                                -- _obj
+    -> m T.Text                             -- result
+encodingGetName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gtk_source_encoding_get_name _obj'
+    checkUnexpectedReturnNULL "gtk_source_encoding_get_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data EncodingGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo EncodingGetNameMethodInfo Encoding signature where
+    overloadedMethod _ = encodingGetName
+
+-- method Encoding::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GtkSource" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_to_string" gtk_source_encoding_to_string :: 
+    Ptr Encoding ->                         -- _obj : TInterface "GtkSource" "Encoding"
+    IO CString
+
+
+encodingToString ::
+    (MonadIO m) =>
+    Encoding                                -- _obj
+    -> m T.Text                             -- result
+encodingToString _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gtk_source_encoding_to_string _obj'
+    checkUnexpectedReturnNULL "gtk_source_encoding_to_string" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+data EncodingToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo EncodingToStringMethodInfo Encoding signature where
+    overloadedMethod _ = encodingToString
+
+-- method Encoding::get_all
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface "GtkSource" "Encoding"))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_all" gtk_source_encoding_get_all :: 
+    IO (Ptr (GSList (Ptr Encoding)))
+
+
+encodingGetAll ::
+    (MonadIO m) =>
+    m [Encoding]                            -- result
+encodingGetAll  = liftIO $ do
+    result <- gtk_source_encoding_get_all
+    result' <- unpackGSList result
+    result'' <- mapM (newBoxed Encoding) result'
+    g_slist_free result
+    return result''
+
+-- method Encoding::get_current
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_current" gtk_source_encoding_get_current :: 
+    IO (Ptr Encoding)
+
+
+encodingGetCurrent ::
+    (MonadIO m) =>
+    m Encoding                              -- result
+encodingGetCurrent  = liftIO $ do
+    result <- gtk_source_encoding_get_current
+    checkUnexpectedReturnNULL "gtk_source_encoding_get_current" result
+    result' <- (newBoxed Encoding) result
+    return result'
+
+-- method Encoding::get_default_candidates
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface "GtkSource" "Encoding"))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_default_candidates" gtk_source_encoding_get_default_candidates :: 
+    IO (Ptr (GSList (Ptr Encoding)))
+
+
+encodingGetDefaultCandidates ::
+    (MonadIO m) =>
+    m [Encoding]                            -- result
+encodingGetDefaultCandidates  = liftIO $ do
+    result <- gtk_source_encoding_get_default_candidates
+    result' <- unpackGSList result
+    result'' <- mapM (newBoxed Encoding) result'
+    g_slist_free result
+    return result''
+
+-- method Encoding::get_from_charset
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "charset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_from_charset" gtk_source_encoding_get_from_charset :: 
+    CString ->                              -- charset : TBasicType TUTF8
+    IO (Ptr Encoding)
+
+
+encodingGetFromCharset ::
+    (MonadIO m) =>
+    T.Text                                  -- charset
+    -> m (Maybe Encoding)                   -- result
+encodingGetFromCharset charset = liftIO $ do
+    charset' <- textToCString charset
+    result <- gtk_source_encoding_get_from_charset charset'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Encoding) result'
+        return result''
+    freeMem charset'
+    return maybeResult
+
+-- method Encoding::get_utf8
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface "GtkSource" "Encoding")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_source_encoding_get_utf8" gtk_source_encoding_get_utf8 :: 
+    IO (Ptr Encoding)
+
+
+encodingGetUtf8 ::
+    (MonadIO m) =>
+    m Encoding                              -- result
+encodingGetUtf8  = liftIO $ do
+    result <- gtk_source_encoding_get_utf8
+    checkUnexpectedReturnNULL "gtk_source_encoding_get_utf8" result
+    result' <- (newBoxed Encoding) result
+    return result'
+
+type family ResolveEncodingMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEncodingMethod "copy" o = EncodingCopyMethodInfo
+    ResolveEncodingMethod "free" o = EncodingFreeMethodInfo
+    ResolveEncodingMethod "toString" o = EncodingToStringMethodInfo
+    ResolveEncodingMethod "getCharset" o = EncodingGetCharsetMethodInfo
+    ResolveEncodingMethod "getName" o = EncodingGetNameMethodInfo
+    ResolveEncodingMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEncodingMethod t Encoding, MethodInfo info Encoding p) => IsLabelProxy t (Encoding -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEncodingMethod t Encoding, MethodInfo info Encoding p) => IsLabel t (Encoding -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+
diff --git a/GI/GtkSource/Structs/Encoding.hs-boot b/GI/GtkSource/Structs/Encoding.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Structs/Encoding.hs-boot
@@ -0,0 +1,16 @@
+module GI.GtkSource.Structs.Encoding where
+
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+newtype Encoding = Encoding (ForeignPtr Encoding)
+instance BoxedObject Encoding where
+data EncodingCopyMethodInfo
+data EncodingFreeMethodInfo
+data EncodingGetCharsetMethodInfo
+data EncodingGetNameMethodInfo
+data EncodingToStringMethodInfo
diff --git a/GI/GtkSource/Types.hs b/GI/GtkSource/Types.hs
new file mode 100644
--- /dev/null
+++ b/GI/GtkSource/Types.hs
@@ -0,0 +1,76 @@
+module GI.GtkSource.Types
+    (     module GI.GtkSource.Interfaces.CompletionProposal,
+    module GI.GtkSource.Interfaces.CompletionProvider,
+    module GI.GtkSource.Interfaces.StyleSchemeChooser,
+    module GI.GtkSource.Interfaces.UndoManager,
+    module GI.GtkSource.Objects.Buffer      ,
+    module GI.GtkSource.Objects.Completion  ,
+    module GI.GtkSource.Objects.CompletionContext,
+    module GI.GtkSource.Objects.CompletionInfo,
+    module GI.GtkSource.Objects.CompletionItem,
+    module GI.GtkSource.Objects.CompletionWords,
+    module GI.GtkSource.Objects.File        ,
+    module GI.GtkSource.Objects.FileLoader  ,
+    module GI.GtkSource.Objects.FileSaver   ,
+    module GI.GtkSource.Objects.Gutter      ,
+    module GI.GtkSource.Objects.GutterRenderer,
+    module GI.GtkSource.Objects.GutterRendererPixbuf,
+    module GI.GtkSource.Objects.GutterRendererText,
+    module GI.GtkSource.Objects.Language    ,
+    module GI.GtkSource.Objects.LanguageManager,
+    module GI.GtkSource.Objects.Map         ,
+    module GI.GtkSource.Objects.Mark        ,
+    module GI.GtkSource.Objects.MarkAttributes,
+    module GI.GtkSource.Objects.PrintCompositor,
+    module GI.GtkSource.Objects.SearchContext,
+    module GI.GtkSource.Objects.SearchSettings,
+    module GI.GtkSource.Objects.Style       ,
+    module GI.GtkSource.Objects.StyleScheme ,
+    module GI.GtkSource.Objects.StyleSchemeChooserButton,
+    module GI.GtkSource.Objects.StyleSchemeChooserWidget,
+    module GI.GtkSource.Objects.StyleSchemeManager,
+    module GI.GtkSource.Objects.View        ,
+    module GI.GtkSource.Structs.Encoding    ,
+    module GI.GtkSource.Enums               ,
+    module GI.GtkSource.Flags               ,
+
+
+    ) where
+
+
+import {-# SOURCE #-} GI.GtkSource.Interfaces.CompletionProposal
+import {-# SOURCE #-} GI.GtkSource.Interfaces.CompletionProvider
+import {-# SOURCE #-} GI.GtkSource.Interfaces.StyleSchemeChooser
+import {-# SOURCE #-} GI.GtkSource.Interfaces.UndoManager
+import {-# SOURCE #-} GI.GtkSource.Objects.Buffer
+import {-# SOURCE #-} GI.GtkSource.Objects.Completion
+import {-# SOURCE #-} GI.GtkSource.Objects.CompletionContext
+import {-# SOURCE #-} GI.GtkSource.Objects.CompletionInfo
+import {-# SOURCE #-} GI.GtkSource.Objects.CompletionItem
+import {-# SOURCE #-} GI.GtkSource.Objects.CompletionWords
+import {-# SOURCE #-} GI.GtkSource.Objects.File
+import {-# SOURCE #-} GI.GtkSource.Objects.FileLoader
+import {-# SOURCE #-} GI.GtkSource.Objects.FileSaver
+import {-# SOURCE #-} GI.GtkSource.Objects.Gutter
+import {-# SOURCE #-} GI.GtkSource.Objects.GutterRenderer
+import {-# SOURCE #-} GI.GtkSource.Objects.GutterRendererPixbuf
+import {-# SOURCE #-} GI.GtkSource.Objects.GutterRendererText
+import {-# SOURCE #-} GI.GtkSource.Objects.Language
+import {-# SOURCE #-} GI.GtkSource.Objects.LanguageManager
+import {-# SOURCE #-} GI.GtkSource.Objects.Map
+import {-# SOURCE #-} GI.GtkSource.Objects.Mark
+import {-# SOURCE #-} GI.GtkSource.Objects.MarkAttributes
+import {-# SOURCE #-} GI.GtkSource.Objects.PrintCompositor
+import {-# SOURCE #-} GI.GtkSource.Objects.SearchContext
+import {-# SOURCE #-} GI.GtkSource.Objects.SearchSettings
+import {-# SOURCE #-} GI.GtkSource.Objects.Style
+import {-# SOURCE #-} GI.GtkSource.Objects.StyleScheme
+import {-# SOURCE #-} GI.GtkSource.Objects.StyleSchemeChooserButton
+import {-# SOURCE #-} GI.GtkSource.Objects.StyleSchemeChooserWidget
+import {-# SOURCE #-} GI.GtkSource.Objects.StyleSchemeManager
+import {-# SOURCE #-} GI.GtkSource.Objects.View
+import {-# SOURCE #-} GI.GtkSource.Structs.Encoding
+
+import GI.GtkSource.Enums
+import GI.GtkSource.Flags
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,456 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,3 @@
+#!/usr/bin/env runhaskell
+import Distribution.Simple
+main = defaultMain
diff --git a/gi-gtksource.cabal b/gi-gtksource.cabal
new file mode 100644
--- /dev/null
+++ b/gi-gtksource.cabal
@@ -0,0 +1,76 @@
+-- Autogenerated, do not edit.
+name:               gi-gtksource
+version:            0.3.18.14
+synopsis:           GtkSource bindings
+description:        Bindings for GtkSource, autogenerated by haskell-gi.
+homepage:           https://github.com/haskell-gi/haskell-gi
+license:            LGPL-2.1
+license-file:       LICENSE
+author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte
+maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)
+category:           Bindings
+build-type:         Simple
+cabal-version:      >=1.10
+
+library
+    default-language:   Haskell2010
+    default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
+    other-extensions:   PatternSynonyms ViewPatterns
+    ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
+    exposed-modules:    GI.GtkSource.Types
+                        GI.GtkSource
+                        GI.GtkSource.Callbacks
+                        GI.GtkSource.Enums
+                        GI.GtkSource.Flags
+                        GI.GtkSource.Functions
+                        GI.GtkSource.Interfaces
+                        GI.GtkSource.Interfaces.CompletionProposal
+                        GI.GtkSource.Interfaces.CompletionProvider
+                        GI.GtkSource.Interfaces.StyleSchemeChooser
+                        GI.GtkSource.Interfaces.UndoManager
+                        GI.GtkSource.Objects
+                        GI.GtkSource.Objects.Buffer
+                        GI.GtkSource.Objects.Completion
+                        GI.GtkSource.Objects.CompletionContext
+                        GI.GtkSource.Objects.CompletionInfo
+                        GI.GtkSource.Objects.CompletionItem
+                        GI.GtkSource.Objects.CompletionWords
+                        GI.GtkSource.Objects.File
+                        GI.GtkSource.Objects.FileLoader
+                        GI.GtkSource.Objects.FileSaver
+                        GI.GtkSource.Objects.Gutter
+                        GI.GtkSource.Objects.GutterRenderer
+                        GI.GtkSource.Objects.GutterRendererPixbuf
+                        GI.GtkSource.Objects.GutterRendererText
+                        GI.GtkSource.Objects.Language
+                        GI.GtkSource.Objects.LanguageManager
+                        GI.GtkSource.Objects.Map
+                        GI.GtkSource.Objects.Mark
+                        GI.GtkSource.Objects.MarkAttributes
+                        GI.GtkSource.Objects.PrintCompositor
+                        GI.GtkSource.Objects.SearchContext
+                        GI.GtkSource.Objects.SearchSettings
+                        GI.GtkSource.Objects.Style
+                        GI.GtkSource.Objects.StyleScheme
+                        GI.GtkSource.Objects.StyleSchemeChooserButton
+                        GI.GtkSource.Objects.StyleSchemeChooserWidget
+                        GI.GtkSource.Objects.StyleSchemeManager
+                        GI.GtkSource.Objects.View
+                        GI.GtkSource.Structs
+                        GI.GtkSource.Structs.Encoding
+    pkgconfig-depends:  gtksourceview-3.0 >= 3.18
+    build-depends: base >= 4.7 && <5,
+        haskell-gi-base >= 0.14 && < 1,
+        gi-atk >= 0.2.18.14 && < 0.2.19,
+        gi-glib >= 0.2.46.14 && < 0.2.47,
+        gi-gobject >= 0.2.46.14 && < 0.2.47,
+        gi-gdk >= 0.3.18.14 && < 0.3.19,
+        gi-gdkpixbuf >= 0.2.32.14 && < 0.2.33,
+        gi-gio >= 0.2.46.14 && < 0.2.47,
+        gi-gtk >= 0.3.18.14 && < 0.3.19,
+        gi-pango >= 0.1.38.14 && < 0.1.39,
+        gi-cairo >= 0.1.14.14 && < 0.1.15,
+        bytestring >= 0.10,
+        containers >= 0.5,
+        text >= 1.0,
+        transformers >= 0.3
