(no commit message)
authorAdrian Iain Lam <adrianiainlam@users.noreply.github.com>
Tue, 3 Feb 2015 22:17:45 +0000 (14:17 -0800)
committerAdrian Iain Lam <adrianiainlam@users.noreply.github.com>
Tue, 3 Feb 2015 22:17:45 +0000 (14:17 -0800)
gtk.py [new file with mode: 0644]

diff --git a/gtk.py b/gtk.py
new file mode 100644 (file)
index 0000000..2770808
--- /dev/null
+++ b/gtk.py
@@ -0,0 +1,189 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers.gtk
+    ~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Lexers for GTK+ in C.
+
+    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+    
+    Modified by Adrian Iain Lam in 2015.
+"""
+
+import re
+from string import Template
+
+from pygments.lexer import Lexer, RegexLexer, include, bygroups, using, \
+     this, combined, inherit, do_insertions
+from pygments.util import get_bool_opt, get_list_opt
+from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
+     Number, Punctuation, Error, Literal, Generic
+from pygments.scanner import Scanner
+
+
+__all__ = ['GtkLexer']
+
+
+class CFamilyLexer(RegexLexer):
+    """
+    For C family source code.  This is used as a base class to avoid repetitious
+    definitions.
+    """
+
+    #: optional Comment or Whitespace
+    _ws = r'(?:\s|//.*?\n|/[*].*?[*]/)+'
+    #: only one /* */ style comment
+    _ws1 = r':\s*/[*].*?[*]/\s*'
+
+    tokens = {
+        'whitespace': [
+            # preprocessor directives: without whitespace
+            ('^#if\s+0', Comment.Preproc, 'if0'),
+            ('^#', Comment.Preproc, 'macro'),
+            # or with whitespace
+            ('^(' + _ws1 + r')(#if\s+0)',
+             bygroups(using(this), Comment.Preproc), 'if0'),
+            ('^(' + _ws1 + ')(#)',
+             bygroups(using(this), Comment.Preproc), 'macro'),
+            (r'^(\s*)([a-zA-Z_][a-zA-Z0-9_]*:(?!:))',
+             bygroups(Text, Name.Label)),
+            (r'\n', Text),
+            (r'\s+', Text),
+            (r'\\\n', Text), # line continuation
+            (r'//(\n|(.|\n)*?[^\\]\n)', Comment.Single),
+            (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
+        ],
+        'statements': [
+            (r'L?"', String, 'string'),
+            (r"L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
+            (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
+            (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
+            (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
+            (r'0[0-7]+[LlUu]*', Number.Oct),
+            (r'\d+[LlUu]*', Number.Integer),
+            (r'\*/', Error),
+            (r'[~!%^&*+=|?:<>/-]', Operator),
+            (r'[()\[\],.]', Punctuation),
+            (r'\b(case)(.+?)(:)', bygroups(Keyword, using(this), Text)),
+            (r'(auto|break|case|const|continue|default|do|else|enum|extern|'
+             r'for|goto|if|register|restricted|return|sizeof|static|struct|'
+             r'switch|typedef|union|volatile|while)\b', Keyword),
+            (r'(bool|int|long|float|short|double|char|unsigned|signed|void|'
+             r'[a-z_][a-z0-9_]*_t)\b',
+             Keyword.Type),
+            (r'(_{0,2}inline|naked|restrict|thread|typename)\b', Keyword.Reserved),
+            # Vector intrinsics
+            (r'(__(m128i|m128d|m128|m64))\b', Keyword.Reserved),
+            # Microsoft-isms
+            (r'__(asm|int8|based|except|int16|stdcall|cdecl|fastcall|int32|'
+             r'declspec|finally|int64|try|leave|wchar_t|w64|unaligned|'
+             r'raise|noop|identifier|forceinline|assume)\b', Keyword.Reserved),
+            (r'(TRUE|FALSE|NULL)\b', Name.Builtin),
+            ('[a-zA-Z_][a-zA-Z0-9_]*', Name),
+        ],
+        'root': [
+            include('whitespace'),
+            # functions
+            (r'((?:[a-zA-Z0-9_*\s])+?(?:\s|[*]))'    # return arguments
+             r'([a-zA-Z_][a-zA-Z0-9_]*)'             # method name
+             r'(\s*\([^;]*?\))'                      # signature
+             r'(' + _ws + r')?({)',
+             bygroups(using(this), Name.Function, using(this), using(this),
+                      Punctuation),
+             'function'),
+            # function declarations
+            (r'((?:[a-zA-Z0-9_*\s])+?(?:\s|[*]))'    # return arguments
+             r'([a-zA-Z_][a-zA-Z0-9_]*)'             # method name
+             r'(\s*\([^;]*?\))'                      # signature
+             r'(' + _ws + r')?(;)',
+             bygroups(using(this), Name.Function, using(this), using(this),
+                      Punctuation)),
+            ('', Text, 'statement'),
+        ],
+        'statement' : [
+            include('whitespace'),
+            include('statements'),
+            ('[{}]', Punctuation),
+            (';', Punctuation, '#pop'),
+        ],
+        'function': [
+            include('whitespace'),
+            include('statements'),
+            (';', Punctuation),
+            ('{', Punctuation, '#push'),
+            ('}', Punctuation, '#pop'),
+        ],
+        'string': [
+            (r'"', String, '#pop'),
+            (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|'
+             r'u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})', String.Escape),
+            (r'[^\\"\n]+', String), # all other characters
+            (r'\\\n', String), # line continuation
+            (r'\\', String), # stray backslash
+        ],
+        'macro': [
+            (r'[^/\n]+', Comment.Preproc),
+            (r'/[*](.|\n)*?[*]/', Comment.Multiline),
+            (r'//.*?\n', Comment.Single, '#pop'),
+            (r'/', Comment.Preproc),
+            (r'(?<=\\)\n', Comment.Preproc),
+            (r'\n', Comment.Preproc, '#pop'),
+        ],
+        'if0': [
+            (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
+            (r'^\s*#el(?:se|if).*\n', Comment.Preproc, '#pop'),
+            (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
+            (r'.*?\n', Comment),
+        ]
+    }
+
+    stdlib_types = ['size_t', 'ssize_t', 'off_t', 'wchar_t', 'ptrdiff_t',
+                    'sig_atomic_t', 'fpos_t', 'clock_t', 'time_t', 'va_list',
+                    'jmp_buf', 'FILE', 'DIR', 'div_t', 'ldiv_t', 'mbstate_t',
+                    'wctrans_t', 'wint_t', 'wctype_t']
+    c99_types = ['_Bool', '_Complex', 'int8_t', 'int16_t', 'int32_t', 'int64_t',
+                 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', 'int_least8_t',
+                 'int_least16_t', 'int_least32_t', 'int_least64_t',
+                 'uint_least8_t', 'uint_least16_t', 'uint_least32_t',
+                 'uint_least64_t', 'int_fast8_t', 'int_fast16_t', 'int_fast32_t',
+                 'int_fast64_t', 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t',
+                 'uint_fast64_t', 'intptr_t', 'uintptr_t', 'intmax_t',
+                 'uintmax_t']
+    gtk_types = ['AtkAction', 'AtkActionIface', 'AtkAttribute', 'AtkAttributeSet', 'AtkComponent', 'AtkComponentIface', 'AtkCoordType', 'AtkDocument', 'AtkDocumentIface', 'AtkEditableText', 'AtkEditableTextIface', 'AtkEventListener', 'AtkEventListenerInit', 'AtkFocusHandler', 'AtkFunction', 'AtkGObjectAccessible', 'AtkGObjectAccessibleClass', 'AtkHyperlink', 'AtkHyperlinkClass', 'AtkHyperlinkImpl', 'AtkHyperlinkImplIface', 'AtkHyperlinkStateFlags', 'AtkHypertext', 'AtkHypertextIface', 'AtkImage', 'AtkImageIface', 'AtkImplementor', 'AtkImplementorIface', 'AtkKeyEventStruct', 'AtkKeyEventType', 'AtkKeySnoopFunc', 'AtkLayer', 'AtkMisc', 'AtkMiscClass', 'AtkNoOpObject', 'AtkNoOpObjectClass', 'AtkNoOpObjectFactory', 'AtkNoOpObjectFactoryClass', 'AtkObject', 'AtkObjectClass', 'AtkObjectFactory', 'AtkObjectFactoryClass', 'AtkPlug', 'AtkPlugClass', 'AtkPropertyChangeHandler', 'AtkPropertyValues', 'AtkRange', 'AtkRectangle', 'AtkRegistry', 'AtkRegistryClass', 'AtkRelation', 'AtkRelationClass', 'AtkRelationSet', 'AtkRelationSetClass', 'AtkRelationType', 'AtkRole', 'AtkSelection', 'AtkSelectionIface', 'AtkSocket', 'AtkSocketClass', 'AtkState', 'AtkStateSet', 'AtkStateSetClass', 'AtkStateType', 'AtkStreamableContent', 'AtkStreamableContentIface', 'AtkTable', 'AtkTableCell', 'AtkTableCellIface', 'AtkTableIface', 'AtkText', 'AtkTextAttribute', 'AtkTextBoundary', 'AtkTextClipType', 'AtkTextGranularity', 'AtkTextIface', 'AtkTextRange', 'AtkTextRectangle', 'AtkUtil', 'AtkUtilClass', 'AtkValue', 'AtkValueIface', 'AtkValueType', 'AtkWindow', 'AtkWindowIface', 'DIR', 'FILE', 'GAction', 'GActionEntry', 'GActionGroup', 'GActionGroupInterface', 'GActionInterface', 'GActionMap', 'GActionMapInterface', 'GAllocator', 'GAppInfo', 'GAppInfoCreateFlags', 'GAppInfoIface', 'GAppInfoMonitor', 'GAppLaunchContext', 'GAppLaunchContextClass', 'GAppLaunchContextPrivate', 'GApplication', 'GApplicationClass', 'GApplicationCommandLine', 'GApplicationCommandLineClass', 'GApplicationCommandLinePrivate', 'GApplicationFlags', 'GApplicationPrivate', 'GArray', 'GAsciiType', 'GAskPasswordFlags', 'GAsyncInitable', 'GAsyncInitableIface', 'GAsyncQueue', 'GAsyncReadyCallback', 'GAsyncResult', 'GAsyncResultIface', 'GBaseFinalizeFunc', 'GBaseInitFunc', 'GBinding', 'GBindingFlags', 'GBindingTransformFunc', 'GBookmarkFile', 'GBookmarkFileError', 'GBoxedCopyFunc', 'GBoxedFreeFunc', 'GBufferedInputStream', 'GBufferedInputStreamClass', 'GBufferedInputStreamPrivate', 'GBufferedOutputStream', 'GBufferedOutputStreamClass', 'GBufferedOutputStreamPrivate', 'GBusAcquiredCallback', 'GBusNameAcquiredCallback', 'GBusNameAppearedCallback', 'GBusNameLostCallback', 'GBusNameOwnerFlags', 'GBusNameVanishedCallback', 'GBusNameWatcherFlags', 'GBusType', 'GByteArray', 'GBytes', 'GBytesIcon', 'GCClosure', 'GCache', 'GCacheDestroyFunc', 'GCacheDupFunc', 'GCacheNewFunc', 'GCallback', 'GCancellable', 'GCancellableClass', 'GCancellablePrivate', 'GCancellableSourceFunc', 'GCharsetConverter', 'GCharsetConverterClass', 'GChecksum', 'GChecksumType', 'GChildWatchFunc', 'GClassFinalizeFunc', 'GClassInitFunc', 'GClosure', 'GClosureMarshal', 'GClosureNotify', 'GClosureNotifyData', 'GCompareDataFunc', 'GCompareFunc', 'GCompletion', 'GCompletionFunc', 'GCompletionStrncmpFunc', 'GCond', 'GConnectFlags', 'GConvertError', 'GConverter', 'GConverterFlags', 'GConverterIface', 'GConverterInputStream', 'GConverterInputStreamClass', 'GConverterInputStreamPrivate', 'GConverterOutputStream', 'GConverterOutputStreamClass', 'GConverterOutputStreamPrivate', 'GConverterResult', 'GCopyFunc', 'GCredentials', 'GCredentialsClass', 'GCredentialsType', 'GDBusActionGroup', 'GDBusAnnotationInfo', 'GDBusArgInfo', 'GDBusAuthObserver', 'GDBusCallFlags', 'GDBusCapabilityFlags', 'GDBusConnection', 'GDBusConnectionFlags', 'GDBusError', 'GDBusErrorEntry', 'GDBusInterface', 'GDBusInterfaceGetPropertyFunc', 'GDBusInterfaceIface', 'GDBusInterfaceInfo', 'GDBusInterfaceMethodCallFunc', 'GDBusInterfaceSetPropertyFunc', 'GDBusInterfaceSkeleton', 'GDBusInterfaceSkeletonClass', 'GDBusInterfaceSkeletonFlags', 'GDBusInterfaceSkeletonPrivate', 'GDBusInterfaceVTable', 'GDBusMenuModel', 'GDBusMessage', 'GDBusMessageByteOrder', 'GDBusMessageFilterFunction', 'GDBusMessageFlags', 'GDBusMessageHeaderField', 'GDBusMessageType', 'GDBusMethodInfo', 'GDBusMethodInvocation', 'GDBusNodeInfo', 'GDBusObject', 'GDBusObjectIface', 'GDBusObjectManager', 'GDBusObjectManagerClient', 'GDBusObjectManagerClientClass', 'GDBusObjectManagerClientFlags', 'GDBusObjectManagerClientPrivate', 'GDBusObjectManagerIface', 'GDBusObjectManagerServer', 'GDBusObjectManagerServerClass', 'GDBusObjectManagerServerPrivate', 'GDBusObjectProxy', 'GDBusObjectProxyClass', 'GDBusObjectProxyPrivate', 'GDBusObjectSkeleton', 'GDBusObjectSkeletonClass', 'GDBusObjectSkeletonPrivate', 'GDBusPropertyInfo', 'GDBusPropertyInfoFlags', 'GDBusProxy', 'GDBusProxyClass', 'GDBusProxyFlags', 'GDBusProxyPrivate', 'GDBusProxyTypeFunc', 'GDBusSendMessageFlags', 'GDBusServer', 'GDBusServerFlags', 'GDBusSignalCallback', 'GDBusSignalFlags', 'GDBusSignalInfo', 'GDBusSubtreeDispatchFunc', 'GDBusSubtreeEnumerateFunc', 'GDBusSubtreeFlags', 'GDBusSubtreeIntrospectFunc', 'GDBusSubtreeVTable', 'GData', 'GDataForeachFunc', 'GDataInputStream', 'GDataInputStreamClass', 'GDataInputStreamPrivate', 'GDataOutputStream', 'GDataOutputStreamClass', 'GDataOutputStreamPrivate', 'GDataStreamByteOrder', 'GDataStreamNewlineType', 'GDate', 'GDateDMY', 'GDateDay', 'GDateMonth', 'GDateTime', 'GDateWeekday', 'GDateYear', 'GDebugKey', 'GDestroyNotify', 'GDir', 'GDoubleIEEE754', 'GDrive', 'GDriveIface', 'GDriveStartFlags', 'GDriveStartStopType', 'GDuplicateFunc', 'GEmblem', 'GEmblemClass', 'GEmblemOrigin', 'GEmblemedIcon', 'GEmblemedIconClass', 'GEmblemedIconPrivate', 'GEnumClass', 'GEnumValue', 'GEqualFunc', 'GError', 'GErrorType', 'GFile', 'GFileAttributeInfo', 'GFileAttributeInfoFlags', 'GFileAttributeInfoList', 'GFileAttributeMatcher', 'GFileAttributeStatus', 'GFileAttributeType', 'GFileCopyFlags', 'GFileCreateFlags', 'GFileDescriptorBased', 'GFileEnumerator', 'GFileEnumeratorClass', 'GFileEnumeratorPrivate', 'GFileError', 'GFileIOStream', 'GFileIOStreamClass', 'GFileIOStreamPrivate', 'GFileIcon', 'GFileIconClass', 'GFileIface', 'GFileInfo', 'GFileInfoClass', 'GFileInputStream', 'GFileInputStreamClass', 'GFileInputStreamPrivate', 'GFileMeasureFlags', 'GFileMeasureProgressCallback', 'GFileMonitor', 'GFileMonitorClass', 'GFileMonitorEvent', 'GFileMonitorFlags', 'GFileMonitorPrivate', 'GFileOutputStream', 'GFileOutputStreamClass', 'GFileOutputStreamPrivate', 'GFileProgressCallback', 'GFileQueryInfoFlags', 'GFileReadMoreCallback', 'GFileTest', 'GFileType', 'GFilenameCompleter', 'GFilenameCompleterClass', 'GFilesystemPreviewType', 'GFilterInputStream', 'GFilterInputStreamClass', 'GFilterOutputStream', 'GFilterOutputStreamClass', 'GFlagsClass', 'GFlagsValue', 'GFloatIEEE754', 'GFormatSizeFlags', 'GFreeFunc', 'GFunc', 'GHFunc', 'GHRFunc', 'GHashFunc', 'GHashTable', 'GHashTableIter', 'GHmac', 'GHook', 'GHookCheckFunc', 'GHookCheckMarshaller', 'GHookCompareFunc', 'GHookFinalizeFunc', 'GHookFindFunc', 'GHookFlagMask', 'GHookFunc', 'GHookList', 'GHookMarshaller', 'GIConv', 'GIOChannel', 'GIOChannelError', 'GIOCondition', 'GIOError', 'GIOErrorEnum', 'GIOExtension', 'GIOExtensionPoint', 'GIOFlags', 'GIOFunc', 'GIOFuncs', 'GIOModule', 'GIOModuleClass', 'GIOModuleScope', 'GIOModuleScopeFlags', 'GIOSchedulerJob', 'GIOSchedulerJobFunc', 'GIOStatus', 'GIOStream', 'GIOStreamAdapter', 'GIOStreamClass', 'GIOStreamPrivate', 'GIOStreamSpliceFlags', 'GIcon', 'GIconIface', 'GInetAddress', 'GInetAddressClass', 'GInetAddressMask', 'GInetAddressMaskClass', 'GInetAddressMaskPrivate', 'GInetAddressPrivate', 'GInetSocketAddress', 'GInetSocketAddressClass', 'GInetSocketAddressPrivate', 'GInitable', 'GInitableIface', 'GInitiallyUnowned', 'GInitiallyUnownedClass', 'GInputStream', 'GInputStreamClass', 'GInputStreamPrivate', 'GInputVector', 'GInstanceInitFunc', 'GInterfaceFinalizeFunc', 'GInterfaceInfo', 'GInterfaceInitFunc', 'GKeyFile', 'GKeyFileError', 'GKeyFileFlags', 'GList', 'GLoadableIcon', 'GLoadableIconIface', 'GLogFunc', 'GLogLevelFlags', 'GMainContext', 'GMainLoop', 'GMappedFile', 'GMarkupCollectType', 'GMarkupError', 'GMarkupParseContext', 'GMarkupParseFlags', 'GMarkupParser', 'GMatchInfo', 'GMemChunk', 'GMemVTable', 'GMemoryInputStream', 'GMemoryInputStreamClass', 'GMemoryInputStreamPrivate', 'GMemoryOutputStream', 'GMemoryOutputStreamClass', 'GMemoryOutputStreamPrivate', 'GMenu', 'GMenuAttributeIter', 'GMenuAttributeIterClass', 'GMenuAttributeIterPrivate', 'GMenuItem', 'GMenuLinkIter', 'GMenuLinkIterClass', 'GMenuLinkIterPrivate', 'GMenuModel', 'GMenuModelClass', 'GMenuModelPrivate', 'GModule', 'GModuleCheckInit', 'GModuleFlags', 'GModuleUnload', 'GMount', 'GMountIface', 'GMountMountFlags', 'GMountOperation', 'GMountOperationClass', 'GMountOperationPrivate', 'GMountOperationResult', 'GMountUnmountFlags', 'GMutex', 'GNativeVolumeMonitor', 'GNativeVolumeMonitorClass', 'GNetworkAddress', 'GNetworkAddressClass', 'GNetworkAddressPrivate', 'GNetworkMonitor', 'GNetworkMonitorInterface', 'GNetworkService', 'GNetworkServiceClass', 'GNetworkServicePrivate', 'GNode', 'GNodeForeachFunc', 'GNodeTraverseFunc', 'GNormalizeMode', 'GNotification', 'GObject', 'GObjectClass', 'GObjectConstructParam', 'GObjectFinalizeFunc', 'GObjectGetPropertyFunc', 'GObjectSetPropertyFunc', 'GOnce', 'GOnceStatus', 'GOptionArg', 'GOptionArgFunc', 'GOptionContext', 'GOptionEntry', 'GOptionError', 'GOptionErrorFunc', 'GOptionFlags', 'GOptionGroup', 'GOptionParseFunc', 'GOutputStream', 'GOutputStreamClass', 'GOutputStreamPrivate', 'GOutputStreamSpliceFlags', 'GOutputVector', 'GParamFlags', 'GParamSpec', 'GParamSpecBoolean', 'GParamSpecBoxed', 'GParamSpecChar', 'GParamSpecClass', 'GParamSpecDouble', 'GParamSpecEnum', 'GParamSpecFlags', 'GParamSpecFloat', 'GParamSpecGType', 'GParamSpecInt', 'GParamSpecInt64', 'GParamSpecLong', 'GParamSpecObject', 'GParamSpecOverride', 'GParamSpecParam', 'GParamSpecPointer', 'GParamSpecPool', 'GParamSpecString', 'GParamSpecTypeInfo', 'GParamSpecUChar', 'GParamSpecUInt', 'GParamSpecUInt64', 'GParamSpecULong', 'GParamSpecUnichar', 'GParamSpecValueArray', 'GParamSpecVariant', 'GParameter', 'GPasswordSave', 'GPatternSpec', 'GPermission', 'GPermissionClass', 'GPermissionPrivate', 'GPid', 'GPollFD', 'GPollFunc', 'GPollableInputStream', 'GPollableInputStreamInterface', 'GPollableOutputStream', 'GPollableOutputStreamInterface', 'GPollableSourceFunc', 'GPrintFunc', 'GPrivate', 'GPropertyAction', 'GProxy', 'GProxyAddress', 'GProxyAddressClass', 'GProxyAddressEnumerator', 'GProxyAddressEnumeratorClass', 'GProxyAddressEnumeratorPrivate', 'GProxyAddressPrivate', 'GProxyInterface', 'GProxyResolver', 'GProxyResolverInterface', 'GPtrArray', 'GQuark', 'GQueue', 'GRWLock', 'GRand', 'GReallocFunc', 'GRecMutex', 'GRegex', 'GRegexCompileFlags', 'GRegexError', 'GRegexEvalCallback', 'GRegexMatchFlags', 'GRelation', 'GRemoteActionGroup', 'GRemoteActionGroupInterface', 'GResolver', 'GResolverClass', 'GResolverError', 'GResolverPrivate', 'GResolverRecordType', 'GResource', 'GResourceError', 'GResourceFlags', 'GResourceLookupFlags', 'GSList', 'GScanner', 'GScannerConfig', 'GScannerMsgFunc', 'GSeekType', 'GSeekable', 'GSeekableIface', 'GSequence', 'GSequenceIter', 'GSequenceIterCompareFunc', 'GSettings', 'GSettingsBackend', 'GSettingsBindFlags', 'GSettingsBindGetMapping', 'GSettingsBindSetMapping', 'GSettingsClass', 'GSettingsGetMapping', 'GSettingsPrivate', 'GSettingsSchema', 'GSettingsSchemaKey', 'GSettingsSchemaSource', 'GShellError', 'GSignalAccumulator', 'GSignalCMarshaller', 'GSignalCVaMarshaller', 'GSignalEmissionHook', 'GSignalFlags', 'GSignalInvocationHint', 'GSignalMatchType', 'GSignalQuery', 'GSimpleAction', 'GSimpleActionGroup', 'GSimpleActionGroupClass', 'GSimpleActionGroupPrivate', 'GSimpleAsyncResult', 'GSimpleAsyncResultClass', 'GSimpleAsyncThreadFunc', 'GSimplePermission', 'GSimpleProxyResolver', 'GSimpleProxyResolverClass', 'GSimpleProxyResolverPrivate', 'GSliceConfig', 'GSocket', 'GSocketAddress', 'GSocketAddressClass', 'GSocketAddressEnumerator', 'GSocketAddressEnumeratorClass', 'GSocketClass', 'GSocketClient', 'GSocketClientClass', 'GSocketClientEvent', 'GSocketClientPrivate', 'GSocketConnectable', 'GSocketConnectableIface', 'GSocketConnection', 'GSocketConnectionClass', 'GSocketConnectionPrivate', 'GSocketControlMessage', 'GSocketControlMessageClass', 'GSocketControlMessagePrivate', 'GSocketFamily', 'GSocketListener', 'GSocketListenerClass', 'GSocketListenerPrivate', 'GSocketMsgFlags', 'GSocketPrivate', 'GSocketProtocol', 'GSocketService', 'GSocketServiceClass', 'GSocketServicePrivate', 'GSocketSourceFunc', 'GSocketType', 'GSource', 'GSourceCallbackFuncs', 'GSourceDummyMarshal', 'GSourceFunc', 'GSourceFuncs', 'GSourcePrivate', 'GSpawnChildSetupFunc', 'GSpawnError', 'GSpawnFlags', 'GSrvTarget', 'GStaticMutex', 'GStaticPrivate', 'GStaticRWLock', 'GStaticRecMutex', 'GStaticResource', 'GString', 'GStringChunk', 'GStrv', 'GSubprocess', 'GSubprocessFlags', 'GSubprocessLauncher', 'GTask', 'GTaskClass', 'GTaskThreadFunc', 'GTcpConnection', 'GTcpConnectionClass', 'GTcpConnectionPrivate', 'GTcpWrapperConnection', 'GTcpWrapperConnectionClass', 'GTcpWrapperConnectionPrivate', 'GTestCase', 'GTestConfig', 'GTestDBus', 'GTestDBusFlags', 'GTestDataFunc', 'GTestFileType', 'GTestFixtureFunc', 'GTestFunc', 'GTestLogBuffer', 'GTestLogFatalFunc', 'GTestLogMsg', 'GTestLogType', 'GTestSubprocessFlags', 'GTestSuite', 'GTestTrapFlags', 'GThemedIcon', 'GThemedIconClass', 'GThread', 'GThreadError', 'GThreadFunc', 'GThreadFunctions', 'GThreadPool', 'GThreadPriority', 'GThreadedSocketService', 'GThreadedSocketServiceClass', 'GThreadedSocketServicePrivate', 'GTime', 'GTimeSpan', 'GTimeType', 'GTimeVal', 'GTimeZone', 'GTimer', 'GTlsAuthenticationMode', 'GTlsBackend', 'GTlsBackendInterface', 'GTlsCertificate', 'GTlsCertificateClass', 'GTlsCertificateFlags', 'GTlsCertificatePrivate', 'GTlsCertificateRequestFlags', 'GTlsClientConnection', 'GTlsClientConnectionInterface', 'GTlsConnection', 'GTlsConnectionClass', 'GTlsConnectionPrivate', 'GTlsDatabase', 'GTlsDatabaseClass', 'GTlsDatabaseLookupFlags', 'GTlsDatabasePrivate', 'GTlsDatabaseVerifyFlags', 'GTlsError', 'GTlsFileDatabase', 'GTlsFileDatabaseInterface', 'GTlsInteraction', 'GTlsInteractionClass', 'GTlsInteractionPrivate', 'GTlsInteractionResult', 'GTlsPassword', 'GTlsPasswordClass', 'GTlsPasswordFlags', 'GTlsPasswordPrivate', 'GTlsRehandshakeMode', 'GTlsServerConnection', 'GTlsServerConnectionInterface', 'GToggleNotify', 'GTokenType', 'GTokenValue', 'GTranslateFunc', 'GTrashStack', 'GTraverseFlags', 'GTraverseFunc', 'GTraverseType', 'GTree', 'GTuples', 'GType', 'GTypeCValue', 'GTypeClass', 'GTypeClassCacheFunc', 'GTypeDebugFlags', 'GTypeFlags', 'GTypeFundamentalFlags', 'GTypeFundamentalInfo', 'GTypeInfo', 'GTypeInstance', 'GTypeInterface', 'GTypeInterfaceCheckFunc', 'GTypeModule', 'GTypeModuleClass', 'GTypePlugin', 'GTypePluginClass', 'GTypePluginCompleteInterfaceInfo', 'GTypePluginCompleteTypeInfo', 'GTypePluginUnuse', 'GTypePluginUse', 'GTypeQuery', 'GTypeValueTable', 'GUnicodeBreakType', 'GUnicodeScript', 'GUnicodeType', 'GUnixCredentialsMessage', 'GUnixFDList', 'GUnixSocketAddressType', 'GUserDirectory', 'GVaClosureMarshal', 'GValue', 'GValueArray', 'GValueTransform', 'GVariant', 'GVariantBuilder', 'GVariantClass', 'GVariantDict', 'GVariantIter', 'GVariantParseError', 'GVariantType', 'GVfs', 'GVfsClass', 'GVoidFunc', 'GVolume', 'GVolumeIface', 'GVolumeMonitor', 'GVolumeMonitorClass', 'GWeakNotify', 'GWeakRef', 'GZlibCompressor', 'GZlibCompressorClass', 'GZlibCompressorFormat', 'GZlibDecompressor', 'GZlibDecompressorClass', 'GdkAppLaunchContext', 'GdkAtom', 'GdkAxisUse', 'GdkByteOrder', 'GdkColor', 'GdkColorspace', 'GdkCrossingMode', 'GdkCursor', 'GdkCursorType', 'GdkDevice', 'GdkDeviceManager', 'GdkDeviceType', 'GdkDisplay', 'GdkDisplayManager', 'GdkDragAction', 'GdkDragContext', 'GdkDragProtocol', 'GdkEvent', 'GdkEventAny', 'GdkEventButton', 'GdkEventConfigure', 'GdkEventCrossing', 'GdkEventDND', 'GdkEventExpose', 'GdkEventFocus', 'GdkEventFunc', 'GdkEventGrabBroken', 'GdkEventKey', 'GdkEventMask', 'GdkEventMotion', 'GdkEventOwnerChange', 'GdkEventProperty', 'GdkEventProximity', 'GdkEventScroll', 'GdkEventSelection', 'GdkEventSequence', 'GdkEventSetting', 'GdkEventTouch', 'GdkEventType', 'GdkEventVisibility', 'GdkEventWindowState', 'GdkFilterFunc', 'GdkFilterReturn', 'GdkFrameClock', 'GdkFrameClockClass', 'GdkFrameClockPhase', 'GdkFrameClockPrivate', 'GdkFrameTimings', 'GdkFullscreenMode', 'GdkGeometry', 'GdkGrabOwnership', 'GdkGrabStatus', 'GdkGravity', 'GdkInputMode', 'GdkInputSource', 'GdkInterpType', 'GdkKeymap', 'GdkKeymapKey', 'GdkModifierIntent', 'GdkModifierType', 'GdkNotifyType', 'GdkOwnerChange', 'GdkPixbuf', 'GdkPixbufAlphaMode', 'GdkPixbufAnimation', 'GdkPixbufAnimationIter', 'GdkPixbufDestroyNotify', 'GdkPixbufError', 'GdkPixbufFormat', 'GdkPixbufLoader', 'GdkPixbufLoaderClass', 'GdkPixbufRotation', 'GdkPixbufSaveFunc', 'GdkPixbufSimpleAnim', 'GdkPixbufSimpleAnimClass', 'GdkPoint', 'GdkPropMode', 'GdkPropertyState', 'GdkRGBA', 'GdkRectangle', 'GdkScreen', 'GdkScrollDirection', 'GdkSettingAction', 'GdkStatus', 'GdkTimeCoord', 'GdkVisibilityState', 'GdkVisual', 'GdkVisualType', 'GdkWMDecoration', 'GdkWMFunction', 'GdkWindow', 'GdkWindowAttr', 'GdkWindowAttributesType', 'GdkWindowChildFunc', 'GdkWindowClass', 'GdkWindowEdge', 'GdkWindowHints', 'GdkWindowInvalidateHandlerFunc', 'GdkWindowRedirect', 'GdkWindowState', 'GdkWindowType', 'GdkWindowTypeHint', 'GdkWindowWindowClass', 'GdkXEvent', 'GtkAboutDialog', 'GtkAboutDialogClass', 'GtkAboutDialogPrivate', 'GtkAccelFlags', 'GtkAccelGroup', 'GtkAccelGroupActivate', 'GtkAccelGroupClass', 'GtkAccelGroupEntry', 'GtkAccelGroupFindFunc', 'GtkAccelGroupPrivate', 'GtkAccelKey', 'GtkAccelLabel', 'GtkAccelLabelClass', 'GtkAccelLabelPrivate', 'GtkAccelMap', 'GtkAccelMapClass', 'GtkAccelMapForeach', 'GtkAccessible', 'GtkAccessibleClass', 'GtkAccessiblePrivate', 'GtkAction', 'GtkActionBar', 'GtkActionBarClass', 'GtkActionBarPrivate', 'GtkActionClass', 'GtkActionEntry', 'GtkActionGroup', 'GtkActionGroupClass', 'GtkActionGroupPrivate', 'GtkActionPrivate', 'GtkActionable', 'GtkActionableInterface', 'GtkActivatable', 'GtkActivatableIface', 'GtkAdjustment', 'GtkAdjustmentClass', 'GtkAdjustmentPrivate', 'GtkAlign', 'GtkAlignment', 'GtkAlignmentClass', 'GtkAlignmentPrivate', 'GtkAllocation', 'GtkAppChooser', 'GtkAppChooserButton', 'GtkAppChooserButtonClass', 'GtkAppChooserButtonPrivate', 'GtkAppChooserDialog', 'GtkAppChooserDialogClass', 'GtkAppChooserDialogPrivate', 'GtkAppChooserWidget', 'GtkAppChooserWidgetClass', 'GtkAppChooserWidgetPrivate', 'GtkApplication', 'GtkApplicationClass', 'GtkApplicationInhibitFlags', 'GtkApplicationPrivate', 'GtkApplicationWindow', 'GtkApplicationWindowClass', 'GtkApplicationWindowPrivate', 'GtkArrow', 'GtkArrowClass', 'GtkArrowPlacement', 'GtkArrowPrivate', 'GtkArrowType', 'GtkAspectFrame', 'GtkAspectFrameClass', 'GtkAspectFramePrivate', 'GtkAssistant', 'GtkAssistantClass', 'GtkAssistantPageFunc', 'GtkAssistantPageType', 'GtkAssistantPrivate', 'GtkAttachOptions', 'GtkBaselinePosition', 'GtkBin', 'GtkBinClass', 'GtkBinPrivate', 'GtkBindingArg', 'GtkBindingEntry', 'GtkBindingSet', 'GtkBindingSignal', 'GtkBorder', 'GtkBorderStyle', 'GtkBox', 'GtkBoxClass', 'GtkBoxPrivate', 'GtkBuildable', 'GtkBuildableIface', 'GtkBuilder', 'GtkBuilderClass', 'GtkBuilderConnectFunc', 'GtkBuilderError', 'GtkBuilderPrivate', 'GtkButton', 'GtkButtonBox', 'GtkButtonBoxClass', 'GtkButtonBoxPrivate', 'GtkButtonBoxStyle', 'GtkButtonClass', 'GtkButtonPrivate', 'GtkButtonsType', 'GtkCalendar', 'GtkCalendarClass', 'GtkCalendarDetailFunc', 'GtkCalendarDisplayOptions', 'GtkCalendarPrivate', 'GtkCallback', 'GtkCellAllocCallback', 'GtkCellArea', 'GtkCellAreaBox', 'GtkCellAreaBoxClass', 'GtkCellAreaBoxPrivate', 'GtkCellAreaClass', 'GtkCellAreaContext', 'GtkCellAreaContextClass', 'GtkCellAreaContextPrivate', 'GtkCellAreaPrivate', 'GtkCellCallback', 'GtkCellEditable', 'GtkCellEditableIface', 'GtkCellLayout', 'GtkCellLayoutDataFunc', 'GtkCellLayoutIface', 'GtkCellRenderer', 'GtkCellRendererAccel', 'GtkCellRendererAccelClass', 'GtkCellRendererAccelMode', 'GtkCellRendererAccelPrivate', 'GtkCellRendererClass', 'GtkCellRendererClassPrivate', 'GtkCellRendererCombo', 'GtkCellRendererComboClass', 'GtkCellRendererComboPrivate', 'GtkCellRendererMode', 'GtkCellRendererPixbuf', 'GtkCellRendererPixbufClass', 'GtkCellRendererPixbufPrivate', 'GtkCellRendererPrivate', 'GtkCellRendererProgress', 'GtkCellRendererProgressClass', 'GtkCellRendererProgressPrivate', 'GtkCellRendererSpin', 'GtkCellRendererSpinClass', 'GtkCellRendererSpinPrivate', 'GtkCellRendererSpinner', 'GtkCellRendererSpinnerClass', 'GtkCellRendererSpinnerPrivate', 'GtkCellRendererState', 'GtkCellRendererText', 'GtkCellRendererTextClass', 'GtkCellRendererTextPrivate', 'GtkCellRendererToggle', 'GtkCellRendererToggleClass', 'GtkCellRendererTogglePrivate', 'GtkCellView', 'GtkCellViewClass', 'GtkCellViewPrivate', 'GtkCheckButton', 'GtkCheckButtonClass', 'GtkCheckMenuItem', 'GtkCheckMenuItemClass', 'GtkCheckMenuItemPrivate', 'GtkClipboard', 'GtkClipboardClearFunc', 'GtkClipboardGetFunc', 'GtkClipboardImageReceivedFunc', 'GtkClipboardReceivedFunc', 'GtkClipboardRichTextReceivedFunc', 'GtkClipboardTargetsReceivedFunc', 'GtkClipboardTextReceivedFunc', 'GtkClipboardURIReceivedFunc', 'GtkColorButton', 'GtkColorButtonClass', 'GtkColorButtonPrivate', 'GtkColorChooser', 'GtkColorChooserDialog', 'GtkColorChooserDialogClass', 'GtkColorChooserDialogPrivate', 'GtkColorChooserInterface', 'GtkColorChooserWidget', 'GtkColorChooserWidgetClass', 'GtkColorChooserWidgetPrivate', 'GtkColorSelection', 'GtkColorSelectionChangePaletteFunc', 'GtkColorSelectionChangePaletteWithScreenFunc', 'GtkColorSelectionClass', 'GtkColorSelectionDialog', 'GtkColorSelectionDialogClass', 'GtkColorSelectionDialogPrivate', 'GtkColorSelectionPrivate', 'GtkComboBox', 'GtkComboBoxClass', 'GtkComboBoxPrivate', 'GtkComboBoxText', 'GtkComboBoxTextClass', 'GtkComboBoxTextPrivate', 'GtkContainer', 'GtkContainerClass', 'GtkContainerPrivate', 'GtkCornerType', 'GtkCssProvider', 'GtkCssProviderClass', 'GtkCssProviderError', 'GtkCssProviderPrivate', 'GtkCssSection', 'GtkCssSectionType', 'GtkDebugFlag', 'GtkDeleteType', 'GtkDestDefaults', 'GtkDialog', 'GtkDialogClass', 'GtkDialogFlags', 'GtkDialogPrivate', 'GtkDirectionType', 'GtkDragResult', 'GtkDrawingArea', 'GtkDrawingAreaClass', 'GtkEditable', 'GtkEditableInterface', 'GtkEntry', 'GtkEntryBuffer', 'GtkEntryBufferClass', 'GtkEntryBufferPrivate', 'GtkEntryClass', 'GtkEntryCompletion', 'GtkEntryCompletionClass', 'GtkEntryCompletionMatchFunc', 'GtkEntryCompletionPrivate', 'GtkEntryIconPosition', 'GtkEntryPrivate', 'GtkEventBox', 'GtkEventBoxClass', 'GtkEventBoxPrivate', 'GtkExpander', 'GtkExpanderClass', 'GtkExpanderPrivate', 'GtkExpanderStyle', 'GtkFileChooser', 'GtkFileChooserAction', 'GtkFileChooserButton', 'GtkFileChooserButtonClass', 'GtkFileChooserButtonPrivate', 'GtkFileChooserConfirmation', 'GtkFileChooserDialog', 'GtkFileChooserDialogClass', 'GtkFileChooserDialogPrivate', 'GtkFileChooserError', 'GtkFileChooserWidget', 'GtkFileChooserWidgetClass', 'GtkFileChooserWidgetPrivate', 'GtkFileFilter', 'GtkFileFilterFlags', 'GtkFileFilterFunc', 'GtkFileFilterInfo', 'GtkFixed', 'GtkFixedChild', 'GtkFixedClass', 'GtkFixedPrivate', 'GtkFlowBox', 'GtkFlowBoxChild', 'GtkFlowBoxChildClass', 'GtkFlowBoxClass', 'GtkFlowBoxFilterFunc', 'GtkFlowBoxForeachFunc', 'GtkFlowBoxSortFunc', 'GtkFontButton', 'GtkFontButtonClass', 'GtkFontButtonPrivate', 'GtkFontChooser', 'GtkFontChooserDialog', 'GtkFontChooserDialogClass', 'GtkFontChooserDialogPrivate', 'GtkFontChooserIface', 'GtkFontChooserWidget', 'GtkFontChooserWidgetClass', 'GtkFontChooserWidgetPrivate', 'GtkFontFilterFunc', 'GtkFontSelection', 'GtkFontSelectionClass', 'GtkFontSelectionDialog', 'GtkFontSelectionDialogClass', 'GtkFontSelectionDialogPrivate', 'GtkFontSelectionPrivate', 'GtkFrame', 'GtkFrameClass', 'GtkFramePrivate', 'GtkGradient', 'GtkGrid', 'GtkGridClass', 'GtkGridPrivate', 'GtkHBox', 'GtkHBoxClass', 'GtkHButtonBox', 'GtkHButtonBoxClass', 'GtkHPaned', 'GtkHPanedClass', 'GtkHSV', 'GtkHSVClass', 'GtkHSVPrivate', 'GtkHScale', 'GtkHScaleClass', 'GtkHScrollbar', 'GtkHScrollbarClass', 'GtkHSeparator', 'GtkHSeparatorClass', 'GtkHandleBox', 'GtkHandleBoxClass', 'GtkHandleBoxPrivate', 'GtkHeaderBar', 'GtkHeaderBarClass', 'GtkHeaderBarPrivate', 'GtkIMContext', 'GtkIMContextClass', 'GtkIMContextInfo', 'GtkIMContextSimple', 'GtkIMContextSimpleClass', 'GtkIMContextSimplePrivate', 'GtkIMMulticontext', 'GtkIMMulticontextClass', 'GtkIMMulticontextPrivate', 'GtkIMPreeditStyle', 'GtkIMStatusStyle', 'GtkIconFactory', 'GtkIconFactoryClass', 'GtkIconFactoryPrivate', 'GtkIconInfo', 'GtkIconInfoClass', 'GtkIconLookupFlags', 'GtkIconSet', 'GtkIconSize', 'GtkIconSource', 'GtkIconTheme', 'GtkIconThemeClass', 'GtkIconThemeError', 'GtkIconThemePrivate', 'GtkIconView', 'GtkIconViewClass', 'GtkIconViewDropPosition', 'GtkIconViewForeachFunc', 'GtkIconViewPrivate', 'GtkImage', 'GtkImageClass', 'GtkImageMenuItem', 'GtkImageMenuItemClass', 'GtkImageMenuItemPrivate', 'GtkImagePrivate', 'GtkImageType', 'GtkInfoBar', 'GtkInfoBarClass', 'GtkInfoBarPrivate', 'GtkInputHints', 'GtkInputPurpose', 'GtkInvisible', 'GtkInvisibleClass', 'GtkInvisiblePrivate', 'GtkJunctionSides', 'GtkJustification', 'GtkKeySnoopFunc', 'GtkLabel', 'GtkLabelClass', 'GtkLabelPrivate', 'GtkLabelSelectionInfo', 'GtkLayout', 'GtkLayoutClass', 'GtkLayoutPrivate', 'GtkLevelBar', 'GtkLevelBarClass', 'GtkLevelBarMode', 'GtkLevelBarPrivate', 'GtkLicense', 'GtkLinkButton', 'GtkLinkButtonClass', 'GtkLinkButtonPrivate', 'GtkListBox', 'GtkListBoxClass', 'GtkListBoxFilterFunc', 'GtkListBoxRow', 'GtkListBoxRowClass', 'GtkListBoxSortFunc', 'GtkListBoxUpdateHeaderFunc', 'GtkListStore', 'GtkListStoreClass', 'GtkListStorePrivate', 'GtkLockButton', 'GtkLockButtonClass', 'GtkLockButtonPrivate', 'GtkMenu', 'GtkMenuBar', 'GtkMenuBarClass', 'GtkMenuBarPrivate', 'GtkMenuButton', 'GtkMenuButtonClass', 'GtkMenuButtonPrivate', 'GtkMenuClass', 'GtkMenuDetachFunc', 'GtkMenuDirectionType', 'GtkMenuItem', 'GtkMenuItemClass', 'GtkMenuItemPrivate', 'GtkMenuPositionFunc', 'GtkMenuPrivate', 'GtkMenuShell', 'GtkMenuShellClass', 'GtkMenuShellPrivate', 'GtkMenuToolButton', 'GtkMenuToolButtonClass', 'GtkMenuToolButtonPrivate', 'GtkMessageDialog', 'GtkMessageDialogClass', 'GtkMessageDialogPrivate', 'GtkMessageType', 'GtkMisc', 'GtkMiscClass', 'GtkMiscPrivate', 'GtkModuleDisplayInitFunc', 'GtkModuleInitFunc', 'GtkMountOperation', 'GtkMountOperationClass', 'GtkMountOperationPrivate', 'GtkMovementStep', 'GtkNotebook', 'GtkNotebookClass', 'GtkNotebookPrivate', 'GtkNotebookTab', 'GtkNumberUpLayout', 'GtkNumerableIcon', 'GtkNumerableIconClass', 'GtkNumerableIconPrivate', 'GtkOffscreenWindow', 'GtkOffscreenWindowClass', 'GtkOrientable', 'GtkOrientableIface', 'GtkOrientation', 'GtkOverlay', 'GtkOverlayClass', 'GtkOverlayPrivate', 'GtkPackDirection', 'GtkPackType', 'GtkPageOrientation', 'GtkPageRange', 'GtkPageSet', 'GtkPageSetup', 'GtkPageSetupDoneFunc', 'GtkPaned', 'GtkPanedClass', 'GtkPanedPrivate', 'GtkPaperSize', 'GtkPathPriorityType', 'GtkPathType', 'GtkPlacesOpenFlags', 'GtkPlacesSidebar', 'GtkPlacesSidebarClass', 'GtkPolicyType', 'GtkPopover', 'GtkPopoverClass', 'GtkPopoverPrivate', 'GtkPositionType', 'GtkPrintContext', 'GtkPrintDuplex', 'GtkPrintError', 'GtkPrintOperation', 'GtkPrintOperationAction', 'GtkPrintOperationClass', 'GtkPrintOperationPreview', 'GtkPrintOperationPreviewIface', 'GtkPrintOperationPrivate', 'GtkPrintOperationResult', 'GtkPrintPages', 'GtkPrintQuality', 'GtkPrintSettings', 'GtkPrintSettingsFunc', 'GtkPrintStatus', 'GtkProgressBar', 'GtkProgressBarClass', 'GtkProgressBarPrivate', 'GtkRadioAction', 'GtkRadioActionClass', 'GtkRadioActionEntry', 'GtkRadioActionPrivate', 'GtkRadioButton', 'GtkRadioButtonClass', 'GtkRadioButtonPrivate', 'GtkRadioMenuItem', 'GtkRadioMenuItemClass', 'GtkRadioMenuItemPrivate', 'GtkRadioToolButton', 'GtkRadioToolButtonClass', 'GtkRange', 'GtkRangeClass', 'GtkRangePrivate', 'GtkRcContext', 'GtkRcFlags', 'GtkRcProperty', 'GtkRcPropertyParser', 'GtkRcStyle', 'GtkRcStyleClass', 'GtkRcTokenType', 'GtkRecentAction', 'GtkRecentActionClass', 'GtkRecentActionPrivate', 'GtkRecentChooser', 'GtkRecentChooserDialog', 'GtkRecentChooserDialogClass', 'GtkRecentChooserDialogPrivate', 'GtkRecentChooserError', 'GtkRecentChooserIface', 'GtkRecentChooserMenu', 'GtkRecentChooserMenuClass', 'GtkRecentChooserMenuPrivate', 'GtkRecentChooserWidget', 'GtkRecentChooserWidgetClass', 'GtkRecentChooserWidgetPrivate', 'GtkRecentData', 'GtkRecentFilter', 'GtkRecentFilterFlags', 'GtkRecentFilterFunc', 'GtkRecentFilterInfo', 'GtkRecentInfo', 'GtkRecentManager', 'GtkRecentManagerClass', 'GtkRecentManagerError', 'GtkRecentManagerPrivate', 'GtkRecentSortFunc', 'GtkRecentSortType', 'GtkRegionFlags', 'GtkReliefStyle', 'GtkRequestedSize', 'GtkRequisition', 'GtkResizeMode', 'GtkResponseType', 'GtkRevealer', 'GtkRevealerClass', 'GtkRevealerTransitionType', 'GtkScale', 'GtkScaleButton', 'GtkScaleButtonClass', 'GtkScaleButtonPrivate', 'GtkScaleClass', 'GtkScalePrivate', 'GtkScrollStep', 'GtkScrollType', 'GtkScrollable', 'GtkScrollableInterface', 'GtkScrollablePolicy', 'GtkScrollbar', 'GtkScrollbarClass', 'GtkScrolledWindow', 'GtkScrolledWindowClass', 'GtkScrolledWindowPrivate', 'GtkSearchBar', 'GtkSearchBarClass', 'GtkSearchEntry', 'GtkSearchEntryClass', 'GtkSelectionData', 'GtkSelectionMode', 'GtkSensitivityType', 'GtkSeparator', 'GtkSeparatorClass', 'GtkSeparatorMenuItem', 'GtkSeparatorMenuItemClass', 'GtkSeparatorPrivate', 'GtkSeparatorToolItem', 'GtkSeparatorToolItemClass', 'GtkSeparatorToolItemPrivate', 'GtkSettings', 'GtkSettingsClass', 'GtkSettingsPrivate', 'GtkSettingsValue', 'GtkShadowType', 'GtkSizeGroup', 'GtkSizeGroupClass', 'GtkSizeGroupMode', 'GtkSizeGroupPrivate', 'GtkSizeRequestMode', 'GtkSortType', 'GtkSpinButton', 'GtkSpinButtonClass', 'GtkSpinButtonPrivate', 'GtkSpinButtonUpdatePolicy', 'GtkSpinType', 'GtkSpinner', 'GtkSpinnerClass', 'GtkSpinnerPrivate', 'GtkStack', 'GtkStackClass', 'GtkStackSwitcher', 'GtkStackSwitcherClass', 'GtkStackTransitionType', 'GtkStateFlags', 'GtkStateType', 'GtkStatusIcon', 'GtkStatusIconClass', 'GtkStatusIconPrivate', 'GtkStatusbar', 'GtkStatusbarClass', 'GtkStatusbarPrivate', 'GtkStock', 'GtkStockItem', 'GtkStyle', 'GtkStyleClass', 'GtkStyleContext', 'GtkStyleContextClass', 'GtkStyleContextPrivate', 'GtkStyleProperties', 'GtkStylePropertiesClass', 'GtkStylePropertiesPrivate', 'GtkStylePropertyParser', 'GtkStyleProvider', 'GtkStyleProviderIface', 'GtkSwitch', 'GtkSwitchClass', 'GtkSwitchPrivate', 'GtkSymbolicColor', 'GtkTable', 'GtkTableChild', 'GtkTableClass', 'GtkTablePrivate', 'GtkTableRowCol', 'GtkTargetEntry', 'GtkTargetFlags', 'GtkTargetList', 'GtkTargetPair', 'GtkTearoffMenuItem', 'GtkTearoffMenuItemClass', 'GtkTearoffMenuItemPrivate', 'GtkTextAppearance', 'GtkTextAttributes', 'GtkTextBTree', 'GtkTextBuffer', 'GtkTextBufferClass', 'GtkTextBufferDeserializeFunc', 'GtkTextBufferPrivate', 'GtkTextBufferSerializeFunc', 'GtkTextBufferTargetInfo', 'GtkTextCharPredicate', 'GtkTextChildAnchor', 'GtkTextChildAnchorClass', 'GtkTextDirection', 'GtkTextIter', 'GtkTextMark', 'GtkTextMarkClass', 'GtkTextSearchFlags', 'GtkTextTag', 'GtkTextTagClass', 'GtkTextTagPrivate', 'GtkTextTagTable', 'GtkTextTagTableClass', 'GtkTextTagTableForeach', 'GtkTextTagTablePrivate', 'GtkTextView', 'GtkTextViewClass', 'GtkTextViewPrivate', 'GtkTextWindowType', 'GtkThemeEngine', 'GtkThemingEngine', 'GtkThemingEngineClass', 'GtkThemingEnginePrivate', 'GtkTickCallback', 'GtkToggleAction', 'GtkToggleActionClass', 'GtkToggleActionEntry', 'GtkToggleActionPrivate', 'GtkToggleButton', 'GtkToggleButtonClass', 'GtkToggleButtonPrivate', 'GtkToggleToolButton', 'GtkToggleToolButtonClass', 'GtkToggleToolButtonPrivate', 'GtkToolButton', 'GtkToolButtonClass', 'GtkToolButtonPrivate', 'GtkToolItem', 'GtkToolItemClass', 'GtkToolItemGroup', 'GtkToolItemGroupClass', 'GtkToolItemGroupPrivate', 'GtkToolItemPrivate', 'GtkToolPalette', 'GtkToolPaletteClass', 'GtkToolPaletteDragTargets', 'GtkToolPalettePrivate', 'GtkToolShell', 'GtkToolShellIface', 'GtkToolbar', 'GtkToolbarClass', 'GtkToolbarPrivate', 'GtkToolbarSpaceStyle', 'GtkToolbarStyle', 'GtkTooltip', 'GtkTranslateFunc', 'GtkTreeCellDataFunc', 'GtkTreeDestroyCountFunc', 'GtkTreeDragDest', 'GtkTreeDragDestIface', 'GtkTreeDragSource', 'GtkTreeDragSourceIface', 'GtkTreeIter', 'GtkTreeIterCompareFunc', 'GtkTreeModel', 'GtkTreeModelFilter', 'GtkTreeModelFilterClass', 'GtkTreeModelFilterModifyFunc', 'GtkTreeModelFilterPrivate', 'GtkTreeModelFilterVisibleFunc', 'GtkTreeModelFlags', 'GtkTreeModelForeachFunc', 'GtkTreeModelIface', 'GtkTreeModelSort', 'GtkTreeModelSortClass', 'GtkTreeModelSortPrivate', 'GtkTreePath', 'GtkTreeRowReference', 'GtkTreeSelection', 'GtkTreeSelectionClass', 'GtkTreeSelectionForeachFunc', 'GtkTreeSelectionFunc', 'GtkTreeSelectionPrivate', 'GtkTreeSortable', 'GtkTreeSortableIface', 'GtkTreeStore', 'GtkTreeStoreClass', 'GtkTreeStorePrivate', 'GtkTreeView', 'GtkTreeViewClass', 'GtkTreeViewColumn', 'GtkTreeViewColumnClass', 'GtkTreeViewColumnDropFunc', 'GtkTreeViewColumnPrivate', 'GtkTreeViewColumnSizing', 'GtkTreeViewDropPosition', 'GtkTreeViewGridLines', 'GtkTreeViewMappingFunc', 'GtkTreeViewPrivate', 'GtkTreeViewRowSeparatorFunc', 'GtkTreeViewSearchEqualFunc', 'GtkTreeViewSearchPositionFunc', 'GtkUIManager', 'GtkUIManagerClass', 'GtkUIManagerItemType', 'GtkUIManagerPrivate', 'GtkUnit', 'GtkVBox', 'GtkVBoxClass', 'GtkVButtonBox', 'GtkVButtonBoxClass', 'GtkVPaned', 'GtkVPanedClass', 'GtkVScale', 'GtkVScaleClass', 'GtkVScrollbar', 'GtkVScrollbarClass', 'GtkVSeparator', 'GtkVSeparatorClass', 'GtkViewport', 'GtkViewportClass', 'GtkViewportPrivate', 'GtkVolumeButton', 'GtkVolumeButtonClass', 'GtkWidget', 'GtkWidgetAuxInfo', 'GtkWidgetClass', 'GtkWidgetClassPrivate', 'GtkWidgetHelpType', 'GtkWidgetPath', 'GtkWidgetPrivate', 'GtkWindow', 'GtkWindowClass', 'GtkWindowGeometryInfo', 'GtkWindowGroup', 'GtkWindowGroupClass', 'GtkWindowGroupPrivate', 'GtkWindowPosition', 'GtkWindowPrivate', 'GtkWindowType', 'GtkWrapMode', 'PangoAlignment', 'PangoAnalysis', 'PangoAttrClass', 'PangoAttrColor', 'PangoAttrDataCopyFunc', 'PangoAttrFilterFunc', 'PangoAttrFloat', 'PangoAttrFontDesc', 'PangoAttrInt', 'PangoAttrIterator', 'PangoAttrLanguage', 'PangoAttrList', 'PangoAttrShape', 'PangoAttrSize', 'PangoAttrString', 'PangoAttrType', 'PangoAttribute', 'PangoBidiType', 'PangoCairoFont', 'PangoCairoFontMap', 'PangoCairoShapeRendererFunc', 'PangoColor', 'PangoContext', 'PangoContextClass', 'PangoCoverage', 'PangoCoverageLevel', 'PangoDirection', 'PangoEllipsizeMode', 'PangoEngineLang', 'PangoEngineShape', 'PangoFont', 'PangoFontDescription', 'PangoFontFace', 'PangoFontFamily', 'PangoFontMap', 'PangoFontMask', 'PangoFontMetrics', 'PangoFontset', 'PangoFontsetForeachFunc', 'PangoGlyph', 'PangoGlyphGeometry', 'PangoGlyphInfo', 'PangoGlyphItem', 'PangoGlyphItemIter', 'PangoGlyphString', 'PangoGlyphUnit', 'PangoGlyphVisAttr', 'PangoGravity', 'PangoGravityHint', 'PangoItem', 'PangoLanguage', 'PangoLayout', 'PangoLayoutClass', 'PangoLayoutIter', 'PangoLayoutLine', 'PangoLayoutRun', 'PangoLogAttr', 'PangoMatrix', 'PangoRectangle', 'PangoRenderPart', 'PangoRenderer', 'PangoRendererClass', 'PangoRendererPrivate', 'PangoScript', 'PangoScriptIter', 'PangoStretch', 'PangoStyle', 'PangoTabAlign', 'PangoTabArray', 'PangoUnderline', 'PangoVariant', 'PangoWeight', 'PangoWrapMode', '_G_fpos64_t', '_G_fpos_t', '_IO_cookie_io_functions_t', '_IO_lock_t', '__FILE', '__blkcnt64_t', '__blkcnt_t', '__blksize_t', '__caddr_t', '__clock_t', '__clockid_t', '__cpu_mask', '__daddr_t', '__dev_t', '__fd_mask', '__fsblkcnt64_t', '__fsblkcnt_t', '__fsfilcnt64_t', '__fsfilcnt_t', '__fsid_t', '__fsword_t', '__gid_t', '__gnuc_va_list', '__id_t', '__ino64_t', '__ino_t', '__int16_t', '__int32_t', '__int64_t', '__int8_t', '__intptr_t', '__io_close_fn', '__io_read_fn', '__io_seek_fn', '__io_write_fn', '__jmp_buf', '__key_t', '__locale_t', '__loff_t', '__mbstate_t', '__mode_t', '__nlink_t', '__off64_t', '__off_t', '__pid_t', '__pthread_list_t', '__pthread_unwind_buf_t', '__qaddr_t', '__quad_t', '__rlim64_t', '__rlim_t', '__sig_atomic_t', '__sigchld_clock_t', '__sighandler_t', '__sigset_t', '__socklen_t', '__ssize_t', '__suseconds_t', '__syscall_slong_t', '__syscall_ulong_t', '__time_t', '__timer_t', '__u_char', '__u_int', '__u_long', '__u_quad_t', '__u_short', '__uid_t', '__uint16_t', '__uint32_t', '__uint64_t', '__uint8_t', '__useconds_t', 'blkcnt64_t', 'blkcnt_t', 'blksize_t', 'caddr_t', 'cairo_antialias_t', 'cairo_bool_t', 'cairo_content_t', 'cairo_destroy_func_t', 'cairo_device_t', 'cairo_device_type_t', 'cairo_extend_t', 'cairo_fill_rule_t', 'cairo_filter_t', 'cairo_font_extents_t', 'cairo_font_face_t', 'cairo_font_options_t', 'cairo_font_slant_t', 'cairo_font_type_t', 'cairo_font_weight_t', 'cairo_format_t', 'cairo_glyph_t', 'cairo_hint_metrics_t', 'cairo_hint_style_t', 'cairo_line_cap_t', 'cairo_line_join_t', 'cairo_matrix_t', 'cairo_operator_t', 'cairo_path_data_t', 'cairo_path_data_type_t', 'cairo_path_t', 'cairo_pattern_t', 'cairo_pattern_type_t', 'cairo_raster_source_acquire_func_t', 'cairo_raster_source_copy_func_t', 'cairo_raster_source_finish_func_t', 'cairo_raster_source_release_func_t', 'cairo_raster_source_snapshot_func_t', 'cairo_read_func_t', 'cairo_rectangle_int_t', 'cairo_rectangle_list_t', 'cairo_rectangle_t', 'cairo_region_overlap_t', 'cairo_region_t', 'cairo_scaled_font_t', 'cairo_status_t', 'cairo_subpixel_order_t', 'cairo_surface_observer_callback_t', 'cairo_surface_observer_mode_t', 'cairo_surface_t', 'cairo_surface_type_t', 'cairo_t', 'cairo_text_cluster_flags_t', 'cairo_text_cluster_t', 'cairo_text_extents_t', 'cairo_user_data_key_t', 'cairo_user_scaled_font_init_func_t', 'cairo_user_scaled_font_render_glyph_func_t', 'cairo_user_scaled_font_text_to_glyphs_func_t', 'cairo_user_scaled_font_unicode_to_glyph_func_t', 'cairo_write_func_t', 'clock_t', 'clockid_t', 'cookie_close_function_t', 'cookie_io_functions_t', 'cookie_read_function_t', 'cookie_seek_function_t', 'cookie_write_function_t', 'cpu_set_t', 'daddr_t', 'dev_t', 'fd_mask', 'fd_set', 'fpos64_t', 'fpos_t', 'fpregset_t', 'fsblkcnt64_t', 'fsblkcnt_t', 'fsfilcnt64_t', 'fsfilcnt_t', 'fsid_t', 'gboolean', 'gchar', 'gchararray', 'gconstpointer', 'gdouble', 'gfloat', 'gid_t', 'gint', 'gint16', 'gint32', 'gint64', 'gint8', 'gintptr', 'glong', 'goffset', 'gpointer', 'greg_t', 'gregset_t', 'gshort', 'gsize', 'gssize', 'guchar', 'guint', 'guint16', 'guint32', 'guint64', 'guint8', 'guintptr', 'gulong', 'gunichar', 'gunichar2', 'gushort', 'id_t', 'ino64_t', 'ino_t', 'int16_t', 'int32_t', 'int64_t', 'int8_t', 'intptr_t', 'key_t', 'locale_t', 'loff_t', 'mcontext_t', 'mode_t', 'nlink_t', 'off64_t', 'off_t', 'pid_t', 'pthread_attr_t', 'pthread_barrier_t', 'pthread_barrierattr_t', 'pthread_cond_t', 'pthread_condattr_t', 'pthread_key_t', 'pthread_mutex_t', 'pthread_mutexattr_t', 'pthread_once_t', 'pthread_rwlock_t', 'pthread_rwlockattr_t', 'pthread_spinlock_t', 'pthread_t', 'ptrdiff_t', 'quad_t', 'register_t', 'sig_atomic_t', 'sig_t', 'sigevent_t', 'sighandler_t', 'siginfo_t', 'sigset_t', 'sigval_t', 'socklen_t', 'ssize_t', 'stack_t', 'suseconds_t', 'time_t', 'timer_t', 'u_char', 'u_int', 'u_int16_t', 'u_int32_t', 'u_int64_t', 'u_int8_t', 'u_long', 'u_quad_t', 'u_short', 'ucontext_t', 'uid_t', 'uint', 'ulong', 'useconds_t', 'ushort', 'va_list']
+
+    def __init__(self, **options):
+        self.stdlibhighlighting = get_bool_opt(options,
+                'stdlibhighlighting', True)
+        self.c99highlighting = get_bool_opt(options,
+                'c99highlighting', True)
+        self.gtkhighlighting = get_bool_opt(options,
+                'gtkhighlighting', True)
+        RegexLexer.__init__(self, **options)
+
+    def get_tokens_unprocessed(self, text):
+        for index, token, value in \
+            RegexLexer.get_tokens_unprocessed(self, text):
+            if token is Name:
+                if self.stdlibhighlighting and value in self.stdlib_types:
+                    token = Keyword.Type
+                elif self.c99highlighting and value in self.c99_types:
+                    token = Keyword.Type
+                elif self.gtkhighlighting and value in self.gtk_types:
+                    token = Keyword.Type
+            yield index, token, value
+
+
+class GtkLexer(CFamilyLexer):
+    """
+    For GTK+ source code with preprocessor directives.
+    """
+    name = 'GTK+'
+    aliases = ['gtk','gtk+','GTK','Gtk','Gtk+']
+    filenames = ['*.c', '*.h', '*.idc']
+    mimetypes = ['text/x-chdr', 'text/x-csrc']
+    priority = 0.1
+
+    def analyse_text(text):
+        return 0.1
+