1<?php
2/*************************************************************************************
3 * cpp.php
4 * -------
5 * Author: Iulian M
6 * Copyright: (c) 2006 Iulian M
7 * Release Version: 1.0.9.1
8 * Date Started: 2004/09/27
9 *
10 * C++ (with Qt extensions) language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2009/06/28 (1.0.8.4)
15 *   -  Updated list of Keywords from Qt 4.5
16 *
17 * 2008/05/23 (1.0.7.22)
18 *   -  Added description of extra language features (SF#1970248)
19 *
20 * TODO
21 * ----
22 *
23 *************************************************************************************
24 *
25 *     This file is part of GeSHi.
26 *
27 *   GeSHi is free software; you can redistribute it and/or modify
28 *   it under the terms of the GNU General Public License as published by
29 *   the Free Software Foundation; either version 2 of the License, or
30 *   (at your option) any later version.
31 *
32 *   GeSHi is distributed in the hope that it will be useful,
33 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
34 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
35 *   GNU General Public License for more details.
36 *
37 *   You should have received a copy of the GNU General Public License
38 *   along with GeSHi; if not, write to the Free Software
39 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
40 *
41 ************************************************************************************/
42
43$language_data = array (
44    'LANG_NAME' => 'C++ (Qt)',
45    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
46    'COMMENT_MULTI' => array('/*' => '*/'),
47    'COMMENT_REGEXP' => array(
48        //Multiline-continued single-line comments
49        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
50        //Multiline-continued preprocessor define
51        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
52        //C++ 11 string literal extensions
53        3 => '/(?:L|u8?|U)(?=")/',
54        //C++ 11 string literal extensions (raw)
55        4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms'
56        ),
57    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
58    'QUOTEMARKS' => array("'", '"'),
59    'ESCAPE_CHAR' => '',
60    'ESCAPE_REGEXP' => array(
61        //Simple Single Char Escapes
62        1 => "#\\\\[abfnrtv\\\'\"?\n]#i",
63        //Hexadecimal Char Specs
64        2 => "#\\\\x[\da-fA-F]{2}#",
65        //Hexadecimal Char Specs
66        3 => "#\\\\u[\da-fA-F]{4}#",
67        //Hexadecimal Char Specs
68        4 => "#\\\\U[\da-fA-F]{8}#",
69        //Octal Char Specs
70        5 => "#\\\\[0-7]{1,3}#"
71        ),
72    'NUMBERS' =>
73        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
74        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
75        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
76    'KEYWORDS' => array(
77        1 => array(
78            'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
79            'switch', 'while', 'delete', 'new', 'this'
80            ),
81        2 => array(
82            'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
83            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
84            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
85            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
86            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
87            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
88            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
89            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
90            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
91            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
92            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
93            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
94            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
95            'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
96            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' ,
97            'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals', 'Q_SIGNALS', 'Q_SLOTS',
98            'Q_FOREACH', 'QCOMPARE', 'QVERIFY', 'qDebug', 'kDebug', 'QBENCHMARK',
99            'SIGNAL', 'SLOT', 'emit'
100            ),
101        3 => array(
102            'cin', 'cerr', 'clog', 'cout',
103            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
104            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
105            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
106            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
107            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
108            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
109            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
110            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
111            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
112            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
113            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
114            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
115            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
116            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
117            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
118            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
119            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
120            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
121            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
122            ),
123        4 => array(
124            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
125            'register', 'short', 'shortint', 'signed', 'static', 'struct',
126            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
127            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
128            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
129
130            'int8', 'int16', 'int32', 'int64',
131            'uint8', 'uint16', 'uint32', 'uint64',
132
133            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
134            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
135
136            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
137            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
138
139            'int8_t', 'int16_t', 'int32_t', 'int64_t',
140            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
141
142            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
143            ),
144        5 => array(
145            'Q_INT8', 'Q_INT16', 'Q_INT32', 'Q_INT64', 'Q_LLONG', 'Q_LONG',
146            'Q_UINT8', 'Q_UINT16', 'Q_UINT32', 'Q_UINT64', 'Q_ULLONG', 'Q_ULONG',
147
148            'QAbstractAnimation', 'QAbstractButton', 'QAbstractEventDispatcher',
149            'QAbstractExtensionFactory', 'QAbstractExtensionManager',
150            'QAbstractFormBuilder', 'QAbstractGraphicsShapeItem',
151            'QAbstractItemDelegate', 'QAbstractItemModel', 'QAbstractItemView',
152            'QAbstractListModel', 'QAbstractMessageHandler',
153            'QAbstractNativeEventFilter', 'QAbstractNetworkCache',
154            'QAbstractOpenGLFunctions', 'QAbstractPlanarVideoBuffer',
155            'QAbstractPrintDialog', 'QAbstractProxyModel', 'QAbstractScrollArea',
156            'QAbstractSlider', 'QAbstractSocket', 'QAbstractSpinBox',
157            'QAbstractState', 'QAbstractTableModel',
158            'QAbstractTextDocumentLayout', 'QAbstractTransition',
159            'QAbstractUriResolver', 'QAbstractVideoBuffer',
160            'QAbstractVideoSurface', 'QAbstractXmlNodeModel',
161            'QAbstractXmlReceiver', 'QAccelerometer', 'QAccelerometerFilter',
162            'QAccelerometerReading', 'QAccessible', 'QAccessibleActionInterface',
163            'QAccessibleEditableTextInterface', 'QAccessibleEvent',
164            'QAccessibleInterface', 'QAccessibleObject', 'QAccessiblePlugin',
165            'QAccessibleStateChangeEvent', 'QAccessibleTableCellInterface',
166            'QAccessibleTableInterface', 'QAccessibleTableModelChangeEvent',
167            'QAccessibleTextCursorEvent', 'QAccessibleTextInsertEvent',
168            'QAccessibleTextInterface', 'QAccessibleTextRemoveEvent',
169            'QAccessibleTextSelectionEvent', 'QAccessibleTextUpdateEvent',
170            'QAccessibleValueChangeEvent', 'QAccessibleValueInterface',
171            'QAccessibleWidget', 'QAction', 'QActionEvent', 'QActionGroup',
172            'QAltimeter', 'QAltimeterFilter', 'QAltimeterReading',
173            'QAmbientLightFilter','QAmbientLightReading', 'QAmbientLightSensor',
174            'QAmbientTemperatureFilter', 'QAmbientTemperatureReading',
175            'QAmbientTemperatureSensor', 'QAndroidActivityResultReceiver',
176            'QAndroidJniEnvironment', 'QAndroidJniObject', 'QAnimationGroup',
177            'QApplication', 'QAssociativeIterable', 'QAtomicInt',
178            'QAtomicInteger', 'QAtomicPointer', 'QAudioBuffer', 'QAudioDecoder',
179            'QAudioDecoderControl', 'QAudioDeviceInfo', 'QAudioEncoderSettings',
180            'QAudioEncoderSettingsControl', 'QAudioFormat', 'QAudioInput',
181            'QAudioInputSelectorControl', 'QAudioOutput',
182            'QAudioOutputSelectorControl', 'QAudioProbe', 'QAudioRecorder',
183            'QAuthenticator', 'QAxAggregated', 'QAxBase', 'QAxBindable',
184            'QAxFactory', 'QAxObject', 'QAxScript', 'QAxScriptEngine',
185            'QAxScriptManager', 'QAxSelect', 'QAxWidget', 'QBackingStore',
186            'QBasicTimer', 'QBitArray', 'QBitmap', 'QBluetoothAddress',
187            'QBluetoothDeviceDiscoveryAgent', 'QBluetoothDeviceInfo',
188            'QBluetoothHostInfo', 'QBluetoothLocalDevice', 'QBluetoothServer',
189            'QBluetoothServiceDiscoveryAgent', 'QBluetoothServiceInfo',
190            'QBluetoothSocket', 'QBluetoothTransferManager',
191            'QBluetoothTransferReply', 'QBluetoothTransferRequest',
192            'QBluetoothUuid', 'QBoxLayout', 'QBrush', 'QBuffer', 'QButtonGroup',
193            'QByteArray', 'QByteArrayList', 'QByteArrayMatcher', 'QCache',
194            'QCalendarWidget', 'QCamera', 'QCameraCaptureBufferFormatControl',
195            'QCameraCaptureDestinationControl', 'QCameraControl',
196            'QCameraExposure', 'QCameraExposureControl', 'QCameraFeedbackControl',
197            'QCameraFlashControl', 'QCameraFocus', 'QCameraFocusControl',
198            'QCameraFocusZone', 'QCameraImageCapture',
199            'QCameraImageCaptureControl', 'QCameraImageProcessing',
200            'QCameraImageProcessingControl', 'QCameraInfo', 'QCameraInfoControl',
201            'QCameraLocksControl', 'QCameraViewfinder',
202            'QCameraViewfinderSettingsControl', 'QCameraZoomControl', 'QChar',
203            'QCheckBox', 'QChildEvent', 'QClipboard', 'QCloseEvent',
204            'QCocoaNativeContext', 'QCollator', 'QCollatorSortKey', 'QColor',
205            'QColorDialog', 'QColormap', 'QColumnView', 'QComboBox',
206            'QCommandLineOption', 'QCommandLineParser', 'QCommandLinkButton',
207            'QCommonStyle', 'QCompass', 'QCompassFilter', 'QCompassReading',
208            'QCompleter', 'QConicalGradient', 'QContextMenuEvent',
209            'QContiguousCache', 'QCoreApplication', 'QCryptographicHash',
210            'QCursor', 'QDBusAbstractAdaptor', 'QDBusAbstractInterface',
211            'QDBusArgument', 'QDBusConnection', 'QDBusConnectionInterface',
212            'QDBusContext', 'QDBusError', 'QDBusInterface', 'QDBusMessage',
213            'QDBusObjectPath', 'QDBusPendingCall', 'QDBusPendingCallWatcher',
214            'QDBusPendingReply', 'QDBusReply', 'QDBusServer',
215            'QDBusServiceWatcher', 'QDBusSignature', 'QDBusUnixFileDescriptor',
216            'QDBusVariant', 'QDBusVirtualObject', 'QDataStream',
217            'QDataWidgetMapper', 'QDate', 'QDateEdit', 'QDateTime',
218            'QDateTimeEdit', 'QDebug', 'QDebugStateSaver',
219            'QDesignerActionEditorInterface', 'QDesignerContainerExtension',
220            'QDesignerCustomWidgetCollectionInterface',
221            'QDesignerCustomWidgetInterface',
222            'QDesignerDynamicPropertySheetExtension',
223            'QDesignerFormEditorInterface', 'QDesignerFormWindowCursorInterface',
224            'QDesignerFormWindowInterface', 'QDesignerFormWindowManagerInterface',
225            'QDesignerMemberSheetExtension', 'QDesignerObjectInspectorInterface',
226            'QDesignerPropertyEditorInterface', 'QDesignerPropertySheetExtension',
227            'QDesignerTaskMenuExtension', 'QDesignerWidgetBoxInterface',
228            'QDesktopServices', 'QDesktopWidget', 'QDial', 'QDialog',
229            'QDialogButtonBox', 'QDir', 'QDirIterator', 'QDirModel',
230            'QDistanceFilter', 'QDistanceReading', 'QDistanceSensor',
231            'QDnsDomainNameRecord', 'QDnsHostAddressRecord', 'QDnsLookup',
232            'QDnsMailExchangeRecord', 'QDnsServiceRecord', 'QDnsTextRecord',
233            'QDockWidget', 'QDomAttr', 'QDomCDATASection', 'QDomCharacterData',
234            'QDomComment', 'QDomDocument', 'QDomDocumentFragment',
235            'QDomDocumentType', 'QDomElement', 'QDomEntity', 'QDomEntityReference',
236            'QDomImplementation', 'QDomNamedNodeMap', 'QDomNode', 'QDomNodeList',
237            'QDomNotation', 'QDomProcessingInstruction', 'QDomText',
238            'QDoubleSpinBox', 'QDoubleValidator', 'QDrag', 'QDragEnterEvent',
239            'QDragLeaveEvent', 'QDragMoveEvent', 'QDropEvent',
240            'QDynamicPropertyChangeEvent', 'EnginioClient',
241            'EnginioClientConnection', 'EnginioIdentity', 'EnginioModel',
242            'EnginioOAuth2Authentication', 'EnginioReply', 'QEGLNativeContext',
243            'QEasingCurve', 'QEglFSFunctions', 'QElapsedTimer',
244            'QEnableSharedFromThis', 'QEnterEvent', 'QErrorMessage', 'QEvent',
245            'QEventLoop', 'QEventLoopLocker', 'QEventTransition', 'QException',
246            'QExplicitlySharedDataPointer', 'QExposeEvent', 'QExtensionFactory',
247            'QExtensionManager', 'QFile', 'QFileDevice', 'QFileDialog',
248            'QFileIconProvider', 'QFileInfo', 'QFileOpenEvent', 'QFileSelector',
249            'QFileSystemModel', 'QFileSystemWatcher', 'QFinalState', 'QFlag',
250            'QFlags', 'QFocusEvent', 'QFocusFrame', 'QFont', 'QFontComboBox',
251            'QFontDatabase', 'QFontDialog', 'QFontInfo', 'QFontMetrics',
252            'QFontMetricsF', 'QFormBuilder', 'QFormLayout', 'QFrame', 'QFuture',
253            'QFutureIterator', 'QFutureSynchronizer', 'QFutureWatcher',
254            'QGLBuffer', 'QGLColormap', 'QGLContext', 'QGLFormat',
255            'QGLFramebufferObject', 'QGLFramebufferObjectFormat', 'QGLFunctions',
256            'QGLPixelBuffer', 'QGLShader', 'QGLShaderProgram', 'QGLWidget',
257            'QGLXNativeContext', 'QGenericArgument', 'QGenericMatrix',
258            'QGenericPlugin', 'QGenericPluginFactory', 'QGenericReturnArgument',
259            'QGeoAddress', 'QGeoAreaMonitorInfo', 'QGeoAreaMonitorSource',
260            'QGeoCircle', 'QGeoCodeReply', 'QGeoCodingManager',
261            'QGeoCodingManagerEngine', 'QGeoCoordinate', 'QGeoLocation',
262            'QGeoManeuver', 'QGeoPositionInfo', 'QGeoPositionInfoSource',
263            'QGeoPositionInfoSourceFactory', 'QGeoRectangle', 'QGeoRoute',
264            'QGeoRouteReply', 'QGeoRouteRequest', 'QGeoRouteSegment',
265            'QGeoRoutingManager', 'QGeoRoutingManagerEngine',
266            'QGeoSatelliteInfo', 'QGeoSatelliteInfoSource',
267            'QGeoServiceProvider', 'QGeoServiceProviderFactory', 'QGeoShape',
268            'QGesture', 'QGestureEvent', 'QGestureRecognizer', 'QGlobalStatic',
269            'QGlyphRun', 'QGradient', 'QGraphicsAnchor', 'QGraphicsAnchorLayout',
270            'QGraphicsBlurEffect', 'QGraphicsColorizeEffect',
271            'QGraphicsDropShadowEffect', 'QGraphicsEffect',
272            'QGraphicsEllipseItem', 'QGraphicsGridLayout', 'QGraphicsItem',
273            'QGraphicsItemAnimation', 'QGraphicsItemGroup', 'QGraphicsLayout',
274            'QGraphicsLayoutItem', 'QGraphicsLineItem', 'QGraphicsLinearLayout',
275            'QGraphicsObject', 'QGraphicsOpacityEffect', 'QGraphicsPathItem',
276            'QGraphicsPixmapItem', 'QGraphicsPolygonItem',
277            'QGraphicsProxyWidget', 'QGraphicsRectItem', 'QGraphicsRotation',
278            'QGraphicsScale', 'QGraphicsScene', 'QGraphicsSceneContextMenuEvent',
279            'QGraphicsSceneDragDropEvent', 'QGraphicsSceneEvent',
280            'QGraphicsSceneHelpEvent', 'QGraphicsSceneHoverEvent',
281            'QGraphicsSceneMouseEvent', 'QGraphicsSceneMoveEvent',
282            'QGraphicsSceneResizeEvent', 'QGraphicsSceneWheelEvent',
283            'QGraphicsSimpleTextItem', 'QGraphicsSvgItem', 'QGraphicsTextItem',
284            'QGraphicsTransform', 'QGraphicsVideoItem', 'QGraphicsView',
285            'QGraphicsWebView', 'QGraphicsWidget', 'QGridLayout', 'QGroupBox',
286            'QGuiApplication', 'QGyroscope', 'QGyroscopeFilter',
287            'QGyroscopeReading', 'QHBoxLayout', 'QHash', 'QHashIterator',
288            'QHeaderView', 'QHelpContentItem', 'QHelpContentModel',
289            'QHelpContentWidget', 'QHelpEngine', 'QHelpEngineCore', 'QHelpEvent',
290            'QHelpIndexModel', 'QHelpIndexWidget', 'QHelpSearchEngine',
291            'QHelpSearchQuery', 'QHelpSearchQueryWidget',
292            'QHelpSearchResultWidget', 'QHideEvent', 'QHistoryState',
293            'QHolsterFilter', 'QHolsterReading', 'QHolsterSensor',
294            'QHostAddress', 'QHostInfo', 'QHoverEvent', 'QHttpMultiPart',
295            'QHttpPart', 'QIODevice', 'QIRProximityFilter', 'QIRProximityReading',
296            'QIRProximitySensor', 'QIcon', 'QIconDragEvent', 'QIconEngine',
297            'QIconEnginePlugin', 'QIdentityProxyModel', 'QImage',
298            'QImageEncoderControl', 'QImageEncoderSettings', 'QImageIOHandler',
299            'QImageIOPlugin', 'QImageReader', 'QImageWriter', 'QInputDialog',
300            'QInputEvent', 'QInputMethod', 'QInputMethodEvent',
301            'QInputMethodQueryEvent', 'QIntValidator', 'QItemDelegate',
302            'QItemEditorCreator', 'QItemEditorCreatorBase', 'QItemEditorFactory',
303            'QItemSelection', 'QItemSelectionModel', 'QItemSelectionRange',
304            'QJSEngine', 'QJSValue', 'QJSValueIterator', 'QJsonArray',
305            'QJsonDocument', 'QJsonObject', 'QJsonParseError', 'QJsonValue',
306            'QKeyEvent', 'QKeyEventTransition', 'QKeySequence', 'QKeySequenceEdit',
307            'QLCDNumber', 'QLabel', 'QLatin1Char', 'QLatin1String', 'QLayout',
308            'QLayoutItem', 'QLibrary', 'QLibraryInfo', 'QLightFilter',
309            'QLightReading', 'QLightSensor', 'QLine', 'QLineEdit', 'QLineF',
310            'QLinearGradient', 'QLinkedList', 'QLinkedListIterator', 'QList',
311            'QListIterator', 'QListView', 'QListWidget', 'QListWidgetItem',
312            'QLocalServer', 'QLocalSocket', 'QLocale', 'QLockFile',
313            'QLoggingCategory', 'QLowEnergyCharacteristic',
314            'QLowEnergyController', 'QLowEnergyDescriptor', 'QLowEnergyService',
315            'QMacCocoaViewContainer', 'QMacNativeWidget', 'QMacPasteboardMime',
316            'QMacToolBar', 'QMacToolBarItem', 'QMagnetometer',
317            'QMagnetometerFilter', 'QMagnetometerReading', 'QMainWindow', 'QMap',
318            'QMapIterator', 'QMargins', 'QMarginsF', 'QMaskGenerator', 'QMatrix',
319            'QMatrix4x4', 'QMdiArea', 'QMdiSubWindow', 'QMediaAudioProbeControl',
320            'QMediaAvailabilityControl', 'QMediaBindableInterface',
321            'QMediaContainerControl', 'QMediaContent', 'QMediaControl',
322            'QMediaGaplessPlaybackControl', 'QMediaNetworkAccessControl',
323            'QMediaObject', 'QMediaPlayer', 'QMediaPlayerControl',
324            'QMediaPlaylist', 'QMediaRecorder', 'QMediaRecorderControl',
325            'QMediaResource', 'QMediaService', 'QMediaServiceCameraInfoInterface',
326            'QMediaServiceFeaturesInterface', 'QMediaServiceProviderPlugin',
327            'QMediaServiceSupportedDevicesInterface',
328            'QMediaServiceSupportedFormatsInterface', 'QMediaStreamsControl',
329            'QMediaTimeInterval', 'QMediaTimeRange', 'QMediaVideoProbeControl',
330            'QMenu', 'QMenuBar', 'QMessageAuthenticationCode', 'QMessageBox',
331            'QMessageLogContext', 'QMessageLogger', 'QMetaClassInfo',
332            'QMetaDataReaderControl', 'QMetaDataWriterControl', 'QMetaEnum',
333            'QMetaMethod', 'QMetaObject', 'QMetaProperty', 'QMetaType',
334            'QMimeData', 'QMimeDatabase', 'QMimeType', 'QModelIndex',
335            'QMouseEvent', 'QMouseEventTransition', 'QMoveEvent', 'QMovie',
336            'QMultiHash', 'QMultiMap', 'QMutableHashIterator',
337            'QMutableLinkedListIterator', 'QMutableListIterator',
338            'QMutableMapIterator', 'QMutableSetIterator',
339            'QMutableVectorIterator', 'QMutex', 'QMutexLocker',
340            'QNativeGestureEvent', 'QNdefFilter', 'QNdefMessage',
341            'QNdefNfcSmartPosterRecord', 'QNdefNfcTextRecord',
342            'QNdefNfcUriRecord', 'QNdefRecord', 'QNearFieldManager',
343            'QNearFieldShareManager', 'QNearFieldShareTarget', 'QNearFieldTarget',
344            'QNetworkAccessManager', 'QNetworkAddressEntry',
345            'QNetworkCacheMetaData', 'QNetworkConfiguration',
346            'QNetworkConfigurationManager', 'QNetworkCookie', 'QNetworkCookieJar',
347            'QNetworkDiskCache', 'QNetworkInterface', 'QNetworkProxy',
348            'QNetworkProxyFactory', 'QNetworkProxyQuery', 'QNetworkReply',
349            'QNetworkRequest', 'QNetworkSession', 'QNmeaPositionInfoSource',
350            'QObject', 'QObjectCleanupHandler', 'QOffscreenSurface',
351            'QOpenGLBuffer', 'QOpenGLContext', 'QOpenGLContextGroup',
352            'QOpenGLDebugLogger', 'QOpenGLDebugMessage',
353            'QOpenGLFramebufferObject', 'QOpenGLFramebufferObjectFormat',
354            'QOpenGLFunctions', 'QOpenGLFunctions_1_0', 'QOpenGLFunctions_1_1',
355            'QOpenGLFunctions_1_2', 'QOpenGLFunctions_1_3', 'QOpenGLFunctions_1_4',
356            'QOpenGLFunctions_1_5', 'QOpenGLFunctions_2_0', 'QOpenGLFunctions_2_1',
357            'QOpenGLFunctions_3_0', 'QOpenGLFunctions_3_1',
358            'QOpenGLFunctions_3_2_Compatibility', 'QOpenGLFunctions_3_2_Core',
359            'QOpenGLFunctions_3_3_Compatibility', 'QOpenGLFunctions_3_3_Core',
360            'QOpenGLFunctions_4_0_Compatibility', 'QOpenGLFunctions_4_0_Core',
361            'QOpenGLFunctions_4_1_Compatibility', 'QOpenGLFunctions_4_1_Core',
362            'QOpenGLFunctions_4_2_Compatibility', 'QOpenGLFunctions_4_2_Core',
363            'QOpenGLFunctions_4_3_Compatibility', 'QOpenGLFunctions_4_3_Core',
364            'QOpenGLFunctions_ES2', 'QOpenGLPaintDevice',
365            'QOpenGLPixelTransferOptions', 'QOpenGLShader',
366            'QOpenGLShaderProgram', 'QOpenGLTexture', 'QOpenGLTimeMonitor',
367            'QOpenGLTimerQuery', 'QOpenGLVersionProfile',
368            'QOpenGLVertexArrayObject', 'QOpenGLWidget', 'QOpenGLWindow',
369            'QOrientationFilter', 'QOrientationReading', 'QOrientationSensor',
370            'QPageLayout', 'QPageSetupDialog', 'QPageSize', 'QPagedPaintDevice',
371            'QPaintDevice', 'QPaintDeviceWindow', 'QPaintEngine',
372            'QPaintEngineState', 'QPaintEvent', 'QPainter', 'QPainterPath',
373            'QPainterPathStroker', 'QPair', 'QPalette', 'QPanGesture',
374            'QParallelAnimationGroup', 'QPauseAnimation', 'QPdfWriter', 'QPen',
375            'QPersistentModelIndex', 'QPicture', 'QPictureFormatPlugin',
376            'QPictureIO', 'QPinchGesture', 'QPixelFormat', 'QPixmap',
377            'QPixmapCache', 'QPlace', 'QPlaceAttribute', 'QPlaceCategory',
378            'QPlaceContactDetail', 'QPlaceContent', 'QPlaceContentReply',
379            'QPlaceContentRequest', 'QPlaceDetailsReply', 'QPlaceEditorial',
380            'QPlaceIcon', 'QPlaceIdReply', 'QPlaceImage', 'QPlaceManager',
381            'QPlaceManagerEngine', 'QPlaceMatchReply', 'QPlaceMatchRequest',
382            'QPlaceProposedSearchResult', 'QPlaceRatings', 'QPlaceReply',
383            'QPlaceResult', 'QPlaceReview', 'QPlaceSearchReply',
384            'QPlaceSearchRequest', 'QPlaceSearchResult',
385            'QPlaceSearchSuggestionReply', 'QPlaceSupplier', 'QPlaceUser',
386            'QPlainTextDocumentLayout', 'QPlainTextEdit',
387            'QPlatformSystemTrayIcon', 'QPluginLoader', 'QPoint', 'QPointF',
388            'QPointer', 'QPolygon', 'QPolygonF', 'QPressureFilter',
389            'QPressureReading', 'QPressureSensor', 'QPrintDialog', 'QPrintEngine',
390            'QPrintPreviewDialog', 'QPrintPreviewWidget', 'QPrinter',
391            'QPrinterInfo', 'QProcess', 'QProcessEnvironment', 'QProgressBar',
392            'QProgressDialog', 'QPropertyAnimation', 'QProximityFilter',
393            'QProximityReading', 'QProximitySensor', 'QProxyStyle',
394            'QPushButton', 'QQmlAbstractProfilerAdapter',
395            'QQmlAbstractUrlInterceptor', 'QQmlApplicationEngine',
396            'QQmlComponent', 'QQmlContext', 'QQmlEngine', 'QQmlError',
397            'QQmlExpression', 'QQmlExtensionPlugin', 'QQmlFileSelector',
398            'QQmlImageProviderBase', 'QQmlIncubationController', 'QQmlIncubator',
399            'QQmlListProperty', 'QQmlListReference', 'QQmlNdefRecord',
400            'QQmlNetworkAccessManagerFactory', 'QQmlParserStatus', 'QQmlProperty',
401            'QQmlPropertyMap', 'QQmlPropertyValueSource', 'QQmlScriptString',
402            'QQuaternion', 'QQueue', 'QQuickFramebufferObject', 'QQuickImageProvider',
403            'QQuickItem', 'QQuickItemGrabResult', 'QQuickPaintedItem',
404            'QQuickRenderControl', 'QQuickTextDocument', 'QQuickTextureFactory',
405            'QQuickView', 'QQuickWidget', 'QQuickWindow', 'QTouchEventSequence',
406            'Qoutputrange', 'QRadialGradient', 'QRadioButton', 'QRadioData',
407            'QRadioDataControl', 'QRadioTuner', 'QRadioTunerControl',
408            'QRasterPaintEngine', 'QRasterWindow', 'QRawFont', 'QReadLocker',
409            'QReadWriteLock', 'QRect', 'QRectF', 'QRegExp', 'QRegExpValidator',
410            'QRegion', 'QRegularExpression', 'QRegularExpressionMatch',
411            'QRegularExpressionMatchIterator', 'QRegularExpressionValidator',
412            'QResizeEvent', 'QResource', 'QRotationFilter', 'QRotationReading',
413            'QRotationSensor', 'QRubberBand', 'QRunnable', 'QSGAbstractRenderer',
414            'QSGBasicGeometryNode', 'QSGClipNode', 'QSGDynamicTexture',
415            'QSGEngine', 'QSGFlatColorMaterial', 'QSGGeometry', 'QSGGeometryNode',
416            'QSGMaterial', 'QSGMaterialShader', 'QSGMaterialType', 'QSGNode',
417            'QSGOpacityNode', 'QSGOpaqueTextureMaterial', 'QSGSimpleMaterial',
418            'QSGSimpleMaterialShader', 'QSGSimpleRectNode',
419            'QSGSimpleTextureNode', 'QSGTexture', 'QSGTextureMaterial',
420            'QSGTextureProvider', 'QSGTransformNode', 'QSGVertexColorMaterial',
421            'QSaveFile', 'QScopedArrayPointer', 'QScopedPointer',
422            'QScopedValueRollback', 'QScreen', 'QScriptClass',
423            'QScriptClassPropertyIterator', 'QScriptContext',
424            'QScriptContextInfo', 'QScriptEngine', 'QScriptEngineAgent',
425            'QScriptEngineDebugger', 'QScriptExtensionPlugin', 'QScriptProgram',
426            'QScriptString', 'QScriptSyntaxCheckResult', 'QScriptValue',
427            'QScriptValueIterator', 'QScriptable', 'QScrollArea', 'QScrollBar',
428            'QScrollEvent', 'QScrollPrepareEvent', 'QScroller',
429            'QScrollerProperties', 'QSemaphore', 'QSensor', 'QSensorBackend',
430            'QSensorBackendFactory', 'QSensorChangesInterface', 'QSensorFilter',
431            'QSensorGesture', 'QSensorGestureManager',
432            'QSensorGesturePluginInterface', 'QSensorGestureRecognizer',
433            'QSensorManager', 'QSensorPluginInterface', 'QSensorReading',
434            'QSequentialAnimationGroup', 'QSequentialIterable', 'QSerialPort',
435            'QSerialPortInfo', 'QSessionManager', 'QSet', 'QSetIterator',
436            'QSettings', 'QSharedData', 'QSharedDataPointer', 'QSharedMemory',
437            'QSharedPointer', 'QShortcut', 'QShortcutEvent', 'QShowEvent',
438            'QSignalBlocker', 'QSignalMapper', 'QSignalSpy', 'QSignalTransition',
439            'QSimpleXmlNodeModel', 'QSize', 'QSizeF', 'QSizeGrip', 'QSizePolicy',
440            'QSlider', 'QSocketNotifier', 'QSortFilterProxyModel', 'QSound',
441            'QSoundEffect', 'QSourceLocation', 'QSpacerItem', 'QSpinBox',
442            'QSplashScreen', 'QSplitter', 'QSplitterHandle', 'QSqlDatabase',
443            'QSqlDriver', 'QSqlDriverCreator', 'QSqlDriverCreatorBase',
444            'QSqlDriverPlugin', 'QSqlError', 'QSqlField', 'QSqlIndex',
445            'QSqlQuery', 'QSqlQueryModel', 'QSqlRecord', 'QSqlRelation',
446            'QSqlRelationalDelegate', 'QSqlRelationalTableModel', 'QSqlResult',
447            'QSqlTableModel', 'QSslCertificate', 'QSslCertificateExtension',
448            'QSslCipher', 'QSslConfiguration', 'QSslError', 'QSslKey',
449            'QSslSocket', 'QStack', 'QStackedLayout', 'QStackedWidget',
450            'QStandardItem', 'QStandardItemEditorCreator', 'QStandardItemModel',
451            'QStandardPaths', 'QState', 'QStateMachine', 'QStaticPlugin',
452            'QStaticText', 'QStatusBar', 'QStatusTipEvent', 'QStorageInfo',
453            'QString', 'QStringList', 'QStringListModel', 'QStringMatcher',
454            'QStringRef', 'QStyle', 'QStyleFactory', 'QStyleHintReturn',
455            'QStyleHintReturnMask', 'QStyleHintReturnVariant', 'QStyleHints',
456            'QStyleOption', 'QStyleOptionButton', 'QStyleOptionComboBox',
457            'QStyleOptionComplex', 'QStyleOptionDockWidget',
458            'QStyleOptionFocusRect', 'QStyleOptionFrame',
459            'QStyleOptionGraphicsItem', 'QStyleOptionGroupBox',
460            'QStyleOptionHeader', 'QStyleOptionMenuItem',
461            'QStyleOptionProgressBar', 'QStyleOptionRubberBand',
462            'QStyleOptionSizeGrip', 'QStyleOptionSlider',
463            'QStyleOptionSpinBox', 'QStyleOptionTab',
464            'QStyleOptionTabBarBase', 'QStyleOptionTabWidgetFrame',
465            'QStyleOptionTitleBar', 'QStyleOptionToolBar',
466            'QStyleOptionToolBox', 'QStyleOptionToolButton',
467            'QStyleOptionViewItem', 'QStylePainter', 'QStylePlugin',
468            'QStyledItemDelegate', 'QSupportedWritingSystems', 'QSurface',
469            'QSurfaceFormat', 'QSvgGenerator', 'QSvgRenderer', 'QSvgWidget',
470            'QSwipeGesture', 'QSyntaxHighlighter', 'QSysInfo', 'QSystemSemaphore',
471            'QSystemTrayIcon', 'QTabBar', 'QTabWidget', 'QTableView',
472            'QTableWidget', 'QTableWidgetItem', 'QTableWidgetSelectionRange',
473            'QTabletEvent', 'QTapAndHoldGesture', 'QTapFilter', 'QTapGesture',
474            'QTapReading', 'QTapSensor', 'QTcpServer', 'QTcpSocket',
475            'QTemporaryDir', 'QTemporaryFile', 'QTestEventList', 'QTextBlock',
476            'QTextBlockFormat', 'QTextBlockGroup', 'QTextBlockUserData',
477            'QTextBoundaryFinder', 'QTextBrowser', 'QTextCharFormat',
478            'QTextCodec', 'QTextCursor', 'QTextDecoder', 'QTextDocument',
479            'QTextDocumentFragment', 'QTextDocumentWriter', 'QTextEdit',
480            'QTextEncoder', 'QTextFormat', 'QTextFragment', 'QTextFrame',
481            'QTextFrameFormat', 'QTextImageFormat', 'QTextInlineObject',
482            'QTextItem', 'QTextLayout', 'QTextLength', 'QTextLine', 'QTextList',
483            'QTextListFormat', 'QTextObject', 'QTextObjectInterface',
484            'QTextOption', 'QTextStream', 'QTextTable', 'QTextTableCell',
485            'QTextTableCellFormat', 'QTextTableFormat', 'QThread', 'QThreadPool',
486            'QThreadStorage', 'QTileRules', 'QTiltFilter', 'QTiltReading',
487            'QTiltSensor', 'QTime', 'QTimeEdit', 'QTimeLine', 'QTimeZone',
488            'QTimer', 'QTimerEvent', 'QToolBar', 'QToolBox', 'QToolButton',
489            'QToolTip', 'QTouchDevice', 'QTouchEvent', 'QTransform',
490            'QTranslator', 'QTreeView', 'QTreeWidget', 'QTreeWidgetItem',
491            'QTreeWidgetItemIterator', 'QUdpSocket', 'QUiLoader', 'QUndoCommand',
492            'QUndoGroup', 'QUndoStack', 'QUndoView', 'QUnhandledException',
493            'QUrl', 'QUrlQuery', 'QUuid', 'QVBoxLayout', 'QValidator',
494            'QVarLengthArray', 'QVariant', 'QVariantAnimation', 'QVector',
495            'QVector2D', 'QVector3D', 'QVector4D', 'QVectorIterator',
496            'QVideoDeviceSelectorControl', 'QVideoEncoderSettings',
497            'QVideoEncoderSettingsControl', 'QVideoFrame', 'QVideoProbe',
498            'QVideoRendererControl', 'QVideoSurfaceFormat', 'QVideoWidget',
499            'QVideoWidgetControl', 'QVideoWindowControl', 'QWGLNativeContext',
500            'QWaitCondition', 'QWeakPointer', 'QWebChannel',
501            'QWebChannelAbstractTransport', 'QWebDatabase', 'QWebElement',
502            'QWebElementCollection', 'QWebEngineHistory', 'QWebEngineHistoryItem',
503            'QWebEnginePage', 'QWebEngineSettings', 'QWebEngineView', 'QWebFrame',
504            'QWebHistory', 'QWebHistoryInterface', 'QWebHistoryItem',
505            'QWebHitTestResult', 'QWebInspector', 'QWebPage', 'QWebPluginFactory',
506            'QWebSecurityOrigin', 'QWebSettings', 'QWebSocket',
507            'QWebSocketCorsAuthenticator', 'QWebSocketServer', 'QWebView',
508            'QWhatsThis', 'QWhatsThisClickedEvent', 'QWheelEvent', 'QWidget',
509            'QWidgetAction', 'QWidgetItem', 'QWinEventNotifier', 'QWinJumpList',
510            'QWinJumpListCategory', 'QWinJumpListItem', 'QWinMime',
511            'QWinTaskbarButton', 'QWinTaskbarProgress', 'QWinThumbnailToolBar',
512            'QWinThumbnailToolButton', 'QWindow', 'QWindowStateChangeEvent',
513            'QWizard', 'QWizardPage', 'QWriteLocker', 'QX11Info',
514            'QXcbWindowFunctions', 'QXmlAttributes', 'QXmlContentHandler',
515            'QXmlDTDHandler', 'QXmlDeclHandler', 'QXmlDefaultHandler',
516            'QXmlEntityResolver','QXmlErrorHandler', 'QXmlFormatter',
517            'QXmlInputSource', 'QXmlItem', 'QXmlLexicalHandler', 'QXmlLocator',
518            'QXmlName', 'QXmlNamePool', 'QXmlNamespaceSupport',
519            'QXmlNodeModelIndex', 'QXmlParseException', 'QXmlQuery',
520            'QXmlReader', 'QXmlResultItems', 'QXmlSchema', 'QXmlSchemaValidator',
521            'QXmlSerializer', 'QXmlSimpleReader', 'QXmlStreamAttribute',
522            'QXmlStreamAttributes', 'QXmlStreamEntityDeclaration',
523            'QXmlStreamEntityResolver', 'QXmlStreamNamespaceDeclaration',
524            'QXmlStreamNotationDeclaration', 'QXmlStreamReader',
525            'QXmlStreamWriter'
526            )
527        ),
528    'SYMBOLS' => array(
529        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', ';', '|', '<', '>'
530        ),
531    'CASE_SENSITIVE' => array(
532        GESHI_COMMENTS => false,
533        1 => true,
534        2 => true,
535        3 => true,
536        4 => true,
537        5 => true,
538        ),
539    'STYLES' => array(
540        'KEYWORDS' => array(
541            1 => 'color: #000000; font-weight:bold;',
542            2 => 'color: #0057AE;',
543            3 => 'color: #2B74C7;',
544            4 => 'color: #0057AE;',
545            5 => 'color: #22aadd;'
546            ),
547        'COMMENTS' => array(
548            1 => 'color: #888888;',
549            2 => 'color: #006E28;',
550            3 => 'color: #BF0303;',
551            4 => 'color: #BF0303;',
552            'MULTI' => 'color: #888888; font-style: italic;'
553            ),
554        'ESCAPE_CHAR' => array(
555            0 => 'color: #000099; font-weight: bold;',
556            1 => 'color: #000099; font-weight: bold;',
557            2 => 'color: #660099; font-weight: bold;',
558            3 => 'color: #660099; font-weight: bold;',
559            4 => 'color: #660099; font-weight: bold;',
560            5 => 'color: #006699; font-weight: bold;',
561            'HARD' => '',
562            ),
563        'BRACKETS' => array(
564            0 => 'color: #006E28;'
565            ),
566        'STRINGS' => array(
567            0 => 'color: #BF0303;'
568            ),
569        'NUMBERS' => array(
570            0 => 'color: #B08000;',
571            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
572            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
573            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
574            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
575            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
576            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
577            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
578            ),
579        'METHODS' => array(
580            1 => 'color: #2B74C7;',
581            2 => 'color: #2B74C7;',
582            3 => 'color: #2B74C7;'
583            ),
584        'SYMBOLS' => array(
585            0 => 'color: #006E28;'
586            ),
587        'REGEXPS' => array(
588            ),
589        'SCRIPT' => array(
590            )
591        ),
592    'URLS' => array(
593        1 => '',
594        2 => '',
595        3 => '',
596        4 => '',
597        5 => 'http://qt-project.org/doc/latest/{FNAMEL}.html'
598        ),
599    'OOLANG' => true,
600    'OBJECT_SPLITTERS' => array(
601        1 => '.',
602        2 => '::',
603        3 => '-&gt;',
604        ),
605    'REGEXPS' => array(
606        ),
607    'STRICT_MODE_APPLIES' => GESHI_NEVER,
608    'SCRIPT_DELIMITERS' => array(
609        ),
610    'HIGHLIGHT_STRICT_BLOCK' => array(
611        ),
612    'TAB_WIDTH' => 4,
613    'PARSER_CONTROL' => array(
614        'KEYWORDS' => array(
615            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
616            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
617        ),
618        'OOLANG' => array(
619            'MATCH_AFTER' => '~?[a-zA-Z][a-zA-Z0-9_]*',
620        )
621    )
622);
623