1 ////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/stc/stc.h
3 // Purpose:     A wxWidgets implementation of Scintilla.  This class is the
4 //              one meant to be used directly by wx applications.  It does not
5 //              derive directly from the Scintilla classes, and in fact there
6 //              is no mention of Scintilla classes at all in this header.
7 //              This class delegates all method calls and events to the
8 //              Scintilla objects and so forth.  This allows the use of
9 //              Scintilla without polluting the namespace with all the
10 //              classes and identifiers from Scintilla.
11 //
12 // Author:      Robin Dunn
13 //
14 // Created:     13-Jan-2000
15 // Copyright:   (c) 2000 by Total Control Software
16 // Licence:     wxWindows licence
17 /////////////////////////////////////////////////////////////////////////////
18 
19 /*
20     IMPORTANT: include/wx/stc/stc.h is generated by src/stc/gen_iface.py from
21                src/stc/stc.h.in, don't edit stc.h file as your changes will be
22                lost after the next regeneration, edit stc.h.in and rerun the
23                gen_iface.py script instead!
24 
25                Parts of this file generated by the script are found in between
26                the special "{{{" and "}}}" markers, the rest of it is copied
27                verbatim from src.h.in.
28  */
29 
30 #ifndef __WXSCINTILLA_H__
31 #define __WXSCINTILLA_H__
32 
33 #include <wx/defs.h>
34 
35 /* C::B -> Don't forget to change version number here and in wxscintilla.cpp at the bottom */
36 #define wxSCINTILLA_VERSION _T("3.75.0")
37 
38 #include <wx/control.h>
39 #include <wx/dnd.h>
40 #include <wx/stopwatch.h>
41 /* C::B begin */
42 #include <wx/scrolbar.h>
43 #if wxCHECK_VERSION(3, 0, 0)
44 #include <wx/versioninfo.h>
45 #endif
46 
47 #ifdef WXMAKINGDLL_SCI
48     #define WXDLLIMPEXP_SCI WXEXPORT
49 #elif defined(WXUSINGDLL_SCI) || defined(WXUSINGDLL)
50     #define WXDLLIMPEXP_SCI WXIMPORT
51 #else // not making nor using DLL
52     #define WXDLLIMPEXP_SCI
53 #endif
54 /* C::B end */
55 
56 class WXDLLIMPEXP_FWD_CORE wxScrollBar;
57 
58 // SWIG can't handle "#if" type of conditionals, only "#ifdef"
59 #ifdef SWIG
60 #define SCI_USE_DND 1
61 #else
62 #if wxUSE_DRAG_AND_DROP
63 #define SCI_USE_DND 1
64 #endif
65 #endif
66 
67 //----------------------------------------------------------------------
68 // SCI constants generated section {{{
69 
70 #define wxSCI_INVALID_POSITION -1
71 
72 /// Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages
73 /// as many EM_ messages can be used although that use is deprecated.
74 #define wxSCI_START 2000
75 #define wxSCI_OPTIONAL_START 3000
76 #define wxSCI_LEXER_START 4000
77 #define wxSCI_WS_INVISIBLE 0
78 #define wxSCI_WS_VISIBLEALWAYS 1
79 #define wxSCI_WS_VISIBLEAFTERINDENT 2
80 #define wxSCI_WS_VISIBLEONLYININDENT 3
81 #define wxSCI_TD_LONGARROW 0
82 #define wxSCI_TD_STRIKEOUT 1
83 #define wxSCI_EOL_CRLF 0
84 #define wxSCI_EOL_CR 1
85 #define wxSCI_EOL_LF 2
86 
87 /// The SC_CP_UTF8 value can be used to enter Unicode mode.
88 /// This is the same value as CP_UTF8 in Windows
89 #define wxSCI_CP_UTF8 65001
90 #define wxSCI_IME_WINDOWED 0
91 #define wxSCI_IME_INLINE 1
92 #define wxSCI_MARKER_MAX 31
93 #define wxSCI_MARK_CIRCLE 0
94 #define wxSCI_MARK_ROUNDRECT 1
95 #define wxSCI_MARK_ARROW 2
96 #define wxSCI_MARK_SMALLRECT 3
97 #define wxSCI_MARK_SHORTARROW 4
98 #define wxSCI_MARK_EMPTY 5
99 #define wxSCI_MARK_ARROWDOWN 6
100 #define wxSCI_MARK_MINUS 7
101 #define wxSCI_MARK_PLUS 8
102 
103 /// Shapes used for outlining column.
104 #define wxSCI_MARK_VLINE 9
105 #define wxSCI_MARK_LCORNER 10
106 #define wxSCI_MARK_TCORNER 11
107 #define wxSCI_MARK_BOXPLUS 12
108 #define wxSCI_MARK_BOXPLUSCONNECTED 13
109 #define wxSCI_MARK_BOXMINUS 14
110 #define wxSCI_MARK_BOXMINUSCONNECTED 15
111 #define wxSCI_MARK_LCORNERCURVE 16
112 #define wxSCI_MARK_TCORNERCURVE 17
113 #define wxSCI_MARK_CIRCLEPLUS 18
114 #define wxSCI_MARK_CIRCLEPLUSCONNECTED 19
115 #define wxSCI_MARK_CIRCLEMINUS 20
116 #define wxSCI_MARK_CIRCLEMINUSCONNECTED 21
117 
118 /// Invisible mark that only sets the line background colour.
119 #define wxSCI_MARK_BACKGROUND 22
120 #define wxSCI_MARK_DOTDOTDOT 23
121 #define wxSCI_MARK_ARROWS 24
122 #define wxSCI_MARK_PIXMAP 25
123 #define wxSCI_MARK_FULLRECT 26
124 #define wxSCI_MARK_LEFTRECT 27
125 #define wxSCI_MARK_AVAILABLE 28
126 #define wxSCI_MARK_UNDERLINE 29
127 #define wxSCI_MARK_RGBAIMAGE 30
128 #define wxSCI_MARK_BOOKMARK 31
129 #define wxSCI_MARK_CHARACTER 10000
130 
131 /* C::B begin */
132 #define wxSCI_MARKNUM_LASTUNUSED 22
133 /* C::B end */
134 /* CHANGEBAR begin */
135 // Markers used for outlining and changed column.
136 #define wxSCI_MARKNUM_CHANGEUNSAVED 23
137 #define wxSCI_MARKNUM_CHANGESAVED 24
138 /* CHANGEBAR end */
139 #define wxSCI_MARKNUM_FOLDEREND 25
140 #define wxSCI_MARKNUM_FOLDEROPENMID 26
141 #define wxSCI_MARKNUM_FOLDERMIDTAIL 27
142 #define wxSCI_MARKNUM_FOLDERTAIL 28
143 #define wxSCI_MARKNUM_FOLDERSUB 29
144 #define wxSCI_MARKNUM_FOLDER 30
145 #define wxSCI_MARKNUM_FOLDEROPEN 31
146 /* CHANGEBAR begin */
147 #define wxSCI_MASK_FOLDERS 0xFF800000
148 /* CHANGEBAR end */
149 #define wxSCI_MAX_MARGIN 4
150 #define wxSCI_MARGIN_SYMBOL 0
151 #define wxSCI_MARGIN_NUMBER 1
152 #define wxSCI_MARGIN_BACK 2
153 #define wxSCI_MARGIN_FORE 3
154 #define wxSCI_MARGIN_TEXT 4
155 #define wxSCI_MARGIN_RTEXT 5
156 #define wxSCI_MARGIN_COLOUR 6
157 /* CHANGEBAR begin */
158 #define wxSCI_MARGIN_CHANGED 7
159 /* CHANGEBAR end */
160 
161 /// Styles in range 32..38 are predefined for parts of the UI and are not used as normal styles.
162 /// Style 39 is for future use.
163 #define wxSCI_STYLE_DEFAULT 32
164 #define wxSCI_STYLE_LINENUMBER 33
165 #define wxSCI_STYLE_BRACELIGHT 34
166 #define wxSCI_STYLE_BRACEBAD 35
167 #define wxSCI_STYLE_CONTROLCHAR 36
168 #define wxSCI_STYLE_INDENTGUIDE 37
169 #define wxSCI_STYLE_CALLTIP 38
170 #define wxSCI_STYLE_FOLDDISPLAYTEXT 39
171 #define wxSCI_STYLE_LASTPREDEFINED 39
172 #define wxSCI_STYLE_MAX 255
173 
174 /// Character set identifiers are used in StyleSetCharacterSet.
175 /// The values are the same as the Windows *_CHARSET values.
176 #define wxSCI_CHARSET_ANSI 0
177 #define wxSCI_CHARSET_DEFAULT 1
178 #define wxSCI_CHARSET_BALTIC 186
179 #define wxSCI_CHARSET_CHINESEBIG5 136
180 #define wxSCI_CHARSET_EASTEUROPE 238
181 #define wxSCI_CHARSET_GB2312 134
182 #define wxSCI_CHARSET_GREEK 161
183 #define wxSCI_CHARSET_HANGUL 129
184 #define wxSCI_CHARSET_MAC 77
185 #define wxSCI_CHARSET_OEM 255
186 #define wxSCI_CHARSET_RUSSIAN 204
187 #define wxSCI_CHARSET_OEM866 866
188 #define wxSCI_CHARSET_CYRILLIC 1251
189 #define wxSCI_CHARSET_SHIFTJIS 128
190 #define wxSCI_CHARSET_SYMBOL 2
191 #define wxSCI_CHARSET_TURKISH 162
192 #define wxSCI_CHARSET_JOHAB 130
193 #define wxSCI_CHARSET_HEBREW 177
194 #define wxSCI_CHARSET_ARABIC 178
195 #define wxSCI_CHARSET_VIETNAMESE 163
196 #define wxSCI_CHARSET_THAI 222
197 #define wxSCI_CHARSET_8859_15 1000
198 #define wxSCI_CASE_MIXED 0
199 #define wxSCI_CASE_UPPER 1
200 #define wxSCI_CASE_LOWER 2
201 #define wxSCI_CASE_CAMEL 3
202 #define wxSCI_FONT_SIZE_MULTIPLIER 100
203 #define wxSCI_WEIGHT_NORMAL 400
204 #define wxSCI_WEIGHT_SEMIBOLD 600
205 #define wxSCI_WEIGHT_BOLD 700
206 
207 /// Indicator style enumeration and some constants
208 #define wxSCI_INDIC_PLAIN 0
209 #define wxSCI_INDIC_SQUIGGLE 1
210 #define wxSCI_INDIC_TT 2
211 #define wxSCI_INDIC_DIAGONAL 3
212 #define wxSCI_INDIC_STRIKE 4
213 #define wxSCI_INDIC_HIDDEN 5
214 #define wxSCI_INDIC_BOX 6
215 #define wxSCI_INDIC_ROUNDBOX 7
216 #define wxSCI_INDIC_STRAIGHTBOX 8
217 #define wxSCI_INDIC_DASH 9
218 #define wxSCI_INDIC_DOTS 10
219 #define wxSCI_INDIC_SQUIGGLELOW 11
220 #define wxSCI_INDIC_DOTBOX 12
221 #define wxSCI_INDIC_SQUIGGLEPIXMAP 13
222 #define wxSCI_INDIC_COMPOSITIONTHICK 14
223 #define wxSCI_INDIC_COMPOSITIONTHIN 15
224 #define wxSCI_INDIC_FULLBOX 16
225 #define wxSCI_INDIC_TEXTFORE 17
226 #define wxSCI_INDIC_POINT 18
227 #define wxSCI_INDIC_POINTCHARACTER 19
228 /* C::B begin INDIC_HIGHLIGHT */
229 #define wxSCI_INDIC_HIGHLIGHT 31 // please change also in wxscintilla.h !!
230 /* C::B end */
231 #define wxSCI_INDIC_IME 32
232 #define wxSCI_INDIC_IME_MAX 35
233 #define wxSCI_INDIC_MAX 35
234 #define wxSCI_INDIC_CONTAINER 8
235 #define wxSCI_INDICVALUEBIT 0x1000000
236 #define wxSCI_INDICVALUEMASK 0xFFFFFF
237 #define wxSCI_INDICFLAG_VALUEFORE 1
238 #define wxSCI_IV_NONE 0
239 #define wxSCI_IV_REAL 1
240 #define wxSCI_IV_LOOKFORWARD 2
241 #define wxSCI_IV_LOOKBOTH 3
242 
243 /// PrintColourMode - use same colours as screen.
244 #define wxSCI_PRINT_NORMAL 0
245 
246 /// PrintColourMode - invert the light value of each style for printing.
247 #define wxSCI_PRINT_INVERTLIGHT 1
248 
249 /// PrintColourMode - force black text on white background for printing.
250 #define wxSCI_PRINT_BLACKONWHITE 2
251 
252 /// PrintColourMode - text stays coloured, but all background is forced to be white for printing.
253 #define wxSCI_PRINT_COLOURONWHITE 3
254 
255 /// PrintColourMode - only the default-background is forced to be white for printing.
256 #define wxSCI_PRINT_COLOURONWHITEDEFAULTBG 4
257 #define wxSCI_FIND_WHOLEWORD 0x2
258 #define wxSCI_FIND_MATCHCASE 0x4
259 #define wxSCI_FIND_WORDSTART 0x00100000
260 #define wxSCI_FIND_REGEXP 0x00200000
261 #define wxSCI_FIND_POSIX 0x00400000
262 #define wxSCI_FIND_CXX11REGEX 0x00800000
263 #define wxSCI_FOLDLEVELBASE 0x400
264 #define wxSCI_FOLDLEVELWHITEFLAG 0x1000
265 #define wxSCI_FOLDLEVELHEADERFLAG 0x2000
266 #define wxSCI_FOLDLEVELNUMBERMASK 0x0FFF
267 #define wxSCI_FOLDDISPLAYTEXT_HIDDEN 0
268 #define wxSCI_FOLDDISPLAYTEXT_STANDARD 1
269 #define wxSCI_FOLDDISPLAYTEXT_BOXED 2
270 #define wxSCI_FOLDACTION_CONTRACT 0
271 #define wxSCI_FOLDACTION_EXPAND 1
272 #define wxSCI_FOLDACTION_TOGGLE 2
273 #define wxSCI_AUTOMATICFOLD_SHOW 0x0001
274 #define wxSCI_AUTOMATICFOLD_CLICK 0x0002
275 #define wxSCI_AUTOMATICFOLD_CHANGE 0x0004
276 #define wxSCI_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002
277 #define wxSCI_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004
278 #define wxSCI_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
279 #define wxSCI_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
280 #define wxSCI_FOLDFLAG_LEVELNUMBERS 0x0040
281 #define wxSCI_FOLDFLAG_LINESTATE 0x0080
282 #define wxSCI_TIME_FOREVER 10000000
283 #define wxSCI_IDLESTYLING_NONE 0
284 #define wxSCI_IDLESTYLING_TOVISIBLE 1
285 #define wxSCI_IDLESTYLING_AFTERVISIBLE 2
286 #define wxSCI_IDLESTYLING_ALL 3
287 #define wxSCI_WRAP_NONE 0
288 #define wxSCI_WRAP_WORD 1
289 #define wxSCI_WRAP_CHAR 2
290 #define wxSCI_WRAP_WHITESPACE 3
291 #define wxSCI_WRAPVISUALFLAG_NONE 0x0000
292 #define wxSCI_WRAPVISUALFLAG_END 0x0001
293 #define wxSCI_WRAPVISUALFLAG_START 0x0002
294 #define wxSCI_WRAPVISUALFLAG_MARGIN 0x0004
295 #define wxSCI_WRAPVISUALFLAGLOC_DEFAULT 0x0000
296 #define wxSCI_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001
297 #define wxSCI_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002
298 #define wxSCI_WRAPINDENT_FIXED 0
299 #define wxSCI_WRAPINDENT_SAME 1
300 #define wxSCI_WRAPINDENT_INDENT 2
301 #define wxSCI_CACHE_NONE 0
302 #define wxSCI_CACHE_CARET 1
303 #define wxSCI_CACHE_PAGE 2
304 #define wxSCI_CACHE_DOCUMENT 3
305 #define wxSCI_PHASES_ONE 0
306 #define wxSCI_PHASES_TWO 1
307 #define wxSCI_PHASES_MULTIPLE 2
308 
309 /// Control font anti-aliasing.
310 #define wxSCI_EFF_QUALITY_MASK 0xF
311 #define wxSCI_EFF_QUALITY_DEFAULT 0
312 #define wxSCI_EFF_QUALITY_NON_ANTIALIASED 1
313 #define wxSCI_EFF_QUALITY_ANTIALIASED 2
314 #define wxSCI_EFF_QUALITY_LCD_OPTIMIZED 3
315 #define wxSCI_MULTIPASTE_ONCE 0
316 #define wxSCI_MULTIPASTE_EACH 1
317 #define wxSCI_EDGE_NONE 0
318 #define wxSCI_EDGE_LINE 1
319 #define wxSCI_EDGE_BACKGROUND 2
320 #define wxSCI_EDGE_MULTILINE 3
321 #define wxSCI_POPUP_NEVER 0
322 #define wxSCI_POPUP_ALL 1
323 #define wxSCI_POPUP_TEXT 2
324 #define wxSCI_STATUS_OK 0
325 #define wxSCI_STATUS_FAILURE 1
326 #define wxSCI_STATUS_BADALLOC 2
327 #define wxSCI_STATUS_WARN_START 1000
328 #define wxSCI_STATUS_WARN_REGEX 1001
329 #define wxSCI_CURSORNORMAL -1
330 #define wxSCI_CURSORARROW 2
331 #define wxSCI_CURSORWAIT 4
332 #define wxSCI_CURSORREVERSEARROW 7
333 
334 /// Constants for use with SetVisiblePolicy, similar to SetCaretPolicy.
335 #define wxSCI_VISIBLE_SLOP 0x01
336 #define wxSCI_VISIBLE_STRICT 0x04
337 
338 /// Caret policy, used by SetXCaretPolicy and SetYCaretPolicy.
339 /// If CARET_SLOP is set, we can define a slop value: caretSlop.
340 /// This value defines an unwanted zone (UZ) where the caret is... unwanted.
341 /// This zone is defined as a number of pixels near the vertical margins,
342 /// and as a number of lines near the horizontal margins.
343 /// By keeping the caret away from the edges, it is seen within its context,
344 /// so it is likely that the identifier that the caret is on can be completely seen,
345 /// and that the current line is seen with some of the lines following it which are
346 /// often dependent on that line.
347 #define wxSCI_CARET_SLOP 0x01
348 
349 /// If CARET_STRICT is set, the policy is enforced... strictly.
350 /// The caret is centred on the display if slop is not set,
351 /// and cannot go in the UZ if slop is set.
352 #define wxSCI_CARET_STRICT 0x04
353 
354 /// If CARET_JUMPS is set, the display is moved more energetically
355 /// so the caret can move in the same direction longer before the policy is applied again.
356 #define wxSCI_CARET_JUMPS 0x10
357 
358 /// If CARET_EVEN is not set, instead of having symmetrical UZs,
359 /// the left and bottom UZs are extended up to right and top UZs respectively.
360 /// This way, we favour the displaying of useful information: the beginning of lines,
361 /// where most code reside, and the lines after the caret, eg. the body of a function.
362 #define wxSCI_CARET_EVEN 0x08
363 #define wxSCI_SEL_STREAM 0
364 #define wxSCI_SEL_RECTANGLE 1
365 #define wxSCI_SEL_LINES 2
366 #define wxSCI_SEL_THIN 3
367 #define wxSCI_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0
368 #define wxSCI_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1
369 #define wxSCI_MULTIAUTOC_ONCE 0
370 #define wxSCI_MULTIAUTOC_EACH 1
371 #define wxSCI_ORDER_PRESORTED 0
372 #define wxSCI_ORDER_PERFORMSORT 1
373 #define wxSCI_ORDER_CUSTOM 2
374 #define wxSCI_CARETSTICKY_OFF 0
375 #define wxSCI_CARETSTICKY_ON 1
376 #define wxSCI_CARETSTICKY_WHITESPACE 2
377 #define wxSCI_ALPHA_TRANSPARENT 0
378 #define wxSCI_ALPHA_OPAQUE 255
379 #define wxSCI_ALPHA_NOALPHA 256
380 #define wxSCI_CARETSTYLE_INVISIBLE 0
381 #define wxSCI_CARETSTYLE_LINE 1
382 #define wxSCI_CARETSTYLE_BLOCK 2
383 #define wxSCI_MARGINOPTION_NONE 0
384 #define wxSCI_MARGINOPTION_SUBLINESELECT 1
385 #define wxSCI_ANNOTATION_HIDDEN 0
386 #define wxSCI_ANNOTATION_STANDARD 1
387 #define wxSCI_ANNOTATION_BOXED 2
388 #define wxSCI_ANNOTATION_INDENTED 3
389 #define wxSCI_UNDO_MAY_COALESCE 1
390 #define wxSCI_VS_NONE 0
391 #define wxSCI_VS_RECTANGULARSELECTION 1
392 #define wxSCI_VS_USERACCESSIBLE 2
393 #define wxSCI_VS_NOWRAPLINESTART 4
394 #define wxSCI_TECHNOLOGY_DEFAULT 0
395 #define wxSCI_TECHNOLOGY_DIRECTWRITE 1
396 
397 /// Line end types which may be used in addition to LF, CR, and CRLF
398 /// SC_LINE_END_TYPE_UNICODE includes U+2028 Line Separator,
399 /// U+2029 Paragraph Separator, and U+0085 Next Line
400 #define wxSCI_LINE_END_TYPE_DEFAULT 0
401 #define wxSCI_LINE_END_TYPE_UNICODE 1
402 
403 /// Maximum value of keywordSet parameter of SetKeyWords.
404 #define wxSCI_KEYWORDSET_MAX 8
405 #define wxSCI_TYPE_BOOLEAN 0
406 #define wxSCI_TYPE_INTEGER 1
407 #define wxSCI_TYPE_STRING 2
408 
409 /// Notifications
410 /// Type of modification and the action which caused the modification.
411 /// These are defined as a bit mask to make it easy to specify which notifications are wanted.
412 /// One bit is set from each of SC_MOD_* and SC_PERFORMED_*.
413 #define wxSCI_MOD_INSERTTEXT 0x1
414 #define wxSCI_MOD_DELETETEXT 0x2
415 #define wxSCI_MOD_CHANGESTYLE 0x4
416 #define wxSCI_MOD_CHANGEFOLD 0x8
417 #define wxSCI_PERFORMED_USER 0x10
418 #define wxSCI_PERFORMED_UNDO 0x20
419 #define wxSCI_PERFORMED_REDO 0x40
420 #define wxSCI_MULTISTEPUNDOREDO 0x80
421 #define wxSCI_LASTSTEPINUNDOREDO 0x100
422 #define wxSCI_MOD_CHANGEMARKER 0x200
423 #define wxSCI_MOD_BEFOREINSERT 0x400
424 #define wxSCI_MOD_BEFOREDELETE 0x800
425 #define wxSCI_MULTILINEUNDOREDO 0x1000
426 #define wxSCI_STARTACTION 0x2000
427 #define wxSCI_MOD_CHANGEINDICATOR 0x4000
428 #define wxSCI_MOD_CHANGELINESTATE 0x8000
429 #define wxSCI_MOD_CHANGEMARGIN 0x10000
430 #define wxSCI_MOD_CHANGEANNOTATION 0x20000
431 #define wxSCI_MOD_CONTAINER 0x40000
432 #define wxSCI_MOD_LEXERSTATE 0x80000
433 #define wxSCI_MOD_INSERTCHECK 0x100000
434 #define wxSCI_MOD_CHANGETABSTOPS 0x200000
435 #define wxSCI_MODEVENTMASKALL 0x3FFFFF
436 #define wxSCI_UPDATE_CONTENT 0x1
437 #define wxSCI_UPDATE_SELECTION 0x2
438 #define wxSCI_UPDATE_V_SCROLL 0x4
439 #define wxSCI_UPDATE_H_SCROLL 0x8
440 
441 /// Symbolic key codes and modifier flags.
442 /// ASCII and other printable characters below 256.
443 /// Extended keys above 300.
444 #define wxSCI_KEY_DOWN 300
445 #define wxSCI_KEY_UP 301
446 #define wxSCI_KEY_LEFT 302
447 #define wxSCI_KEY_RIGHT 303
448 #define wxSCI_KEY_HOME 304
449 #define wxSCI_KEY_END 305
450 #define wxSCI_KEY_PRIOR 306
451 #define wxSCI_KEY_NEXT 307
452 #define wxSCI_KEY_DELETE 308
453 #define wxSCI_KEY_INSERT 309
454 #define wxSCI_KEY_ESCAPE 7
455 #define wxSCI_KEY_BACK 8
456 #define wxSCI_KEY_TAB 9
457 #define wxSCI_KEY_RETURN 13
458 #define wxSCI_KEY_ADD 310
459 #define wxSCI_KEY_SUBTRACT 311
460 #define wxSCI_KEY_DIVIDE 312
461 #define wxSCI_KEY_WIN 313
462 #define wxSCI_KEY_RWIN 314
463 #define wxSCI_KEY_MENU 315
464 #define wxSCI_KEYMOD_NORM 0
465 #define wxSCI_KEYMOD_SHIFT 1
466 #define wxSCI_KEYMOD_CTRL 2
467 #define wxSCI_KEYMOD_ALT 4
468 #define wxSCI_KEYMOD_SUPER 8
469 #define wxSCI_KEYMOD_META 16
470 #define wxSCI_AC_FILLUP 1
471 #define wxSCI_AC_DOUBLECLICK 2
472 #define wxSCI_AC_TAB 3
473 #define wxSCI_AC_NEWLINE 4
474 #define wxSCI_AC_COMMAND 5
475 
476 /// For SciLexer.h
477 #define wxSCI_LEX_CONTAINER 0
478 #define wxSCI_LEX_NULL 1
479 #define wxSCI_LEX_PYTHON 2
480 #define wxSCI_LEX_CPP 3
481 #define wxSCI_LEX_HTML 4
482 #define wxSCI_LEX_XML 5
483 #define wxSCI_LEX_PERL 6
484 #define wxSCI_LEX_SQL 7
485 #define wxSCI_LEX_VB 8
486 #define wxSCI_LEX_PROPERTIES 9
487 #define wxSCI_LEX_ERRORLIST 10
488 #define wxSCI_LEX_MAKEFILE 11
489 #define wxSCI_LEX_BATCH 12
490 #define wxSCI_LEX_XCODE 13
491 #define wxSCI_LEX_LATEX 14
492 #define wxSCI_LEX_LUA 15
493 #define wxSCI_LEX_DIFF 16
494 #define wxSCI_LEX_CONF 17
495 #define wxSCI_LEX_PASCAL 18
496 #define wxSCI_LEX_AVE 19
497 #define wxSCI_LEX_ADA 20
498 #define wxSCI_LEX_LISP 21
499 #define wxSCI_LEX_RUBY 22
500 #define wxSCI_LEX_EIFFEL 23
501 #define wxSCI_LEX_EIFFELKW 24
502 #define wxSCI_LEX_TCL 25
503 #define wxSCI_LEX_NNCRONTAB 26
504 #define wxSCI_LEX_BULLANT 27
505 #define wxSCI_LEX_VBSCRIPT 28
506 #define wxSCI_LEX_BAAN 31
507 #define wxSCI_LEX_MATLAB 32
508 #define wxSCI_LEX_SCRIPTOL 33
509 #define wxSCI_LEX_ASM 34
510 #define wxSCI_LEX_CPPNOCASE 35
511 #define wxSCI_LEX_FORTRAN 36
512 #define wxSCI_LEX_F77 37
513 #define wxSCI_LEX_CSS 38
514 #define wxSCI_LEX_POV 39
515 #define wxSCI_LEX_LOUT 40
516 #define wxSCI_LEX_ESCRIPT 41
517 #define wxSCI_LEX_PS 42
518 #define wxSCI_LEX_NSIS 43
519 #define wxSCI_LEX_MMIXAL 44
520 #define wxSCI_LEX_CLW 45
521 #define wxSCI_LEX_CLWNOCASE 46
522 #define wxSCI_LEX_LOT 47
523 #define wxSCI_LEX_YAML 48
524 #define wxSCI_LEX_TEX 49
525 #define wxSCI_LEX_METAPOST 50
526 #define wxSCI_LEX_POWERBASIC 51
527 #define wxSCI_LEX_FORTH 52
528 #define wxSCI_LEX_ERLANG 53
529 #define wxSCI_LEX_OCTAVE 54
530 #define wxSCI_LEX_MSSQL 55
531 #define wxSCI_LEX_VERILOG 56
532 #define wxSCI_LEX_KIX 57
533 #define wxSCI_LEX_GUI4CLI 58
534 #define wxSCI_LEX_SPECMAN 59
535 #define wxSCI_LEX_AU3 60
536 #define wxSCI_LEX_APDL 61
537 #define wxSCI_LEX_BASH 62
538 #define wxSCI_LEX_ASN1 63
539 #define wxSCI_LEX_VHDL 64
540 #define wxSCI_LEX_CAML 65
541 #define wxSCI_LEX_BLITZBASIC 66
542 #define wxSCI_LEX_PUREBASIC 67
543 #define wxSCI_LEX_HASKELL 68
544 #define wxSCI_LEX_PHPSCRIPT 69
545 #define wxSCI_LEX_TADS3 70
546 #define wxSCI_LEX_REBOL 71
547 #define wxSCI_LEX_SMALLTALK 72
548 #define wxSCI_LEX_FLAGSHIP 73
549 #define wxSCI_LEX_CSOUND 74
550 #define wxSCI_LEX_FREEBASIC 75
551 #define wxSCI_LEX_INNOSETUP 76
552 #define wxSCI_LEX_OPAL 77
553 #define wxSCI_LEX_SPICE 78
554 #define wxSCI_LEX_D 79
555 #define wxSCI_LEX_CMAKE 80
556 #define wxSCI_LEX_GAP 81
557 #define wxSCI_LEX_PLM 82
558 #define wxSCI_LEX_PROGRESS 83
559 #define wxSCI_LEX_ABAQUS 84
560 #define wxSCI_LEX_ASYMPTOTE 85
561 #define wxSCI_LEX_R 86
562 #define wxSCI_LEX_MAGIK 87
563 #define wxSCI_LEX_POWERSHELL 88
564 #define wxSCI_LEX_MYSQL 89
565 #define wxSCI_LEX_PO 90
566 #define wxSCI_LEX_TAL 91
567 #define wxSCI_LEX_COBOL 92
568 #define wxSCI_LEX_TACL 93
569 #define wxSCI_LEX_SORCUS 94
570 #define wxSCI_LEX_POWERPRO 95
571 #define wxSCI_LEX_NIMROD 96
572 #define wxSCI_LEX_SML 97
573 #define wxSCI_LEX_MARKDOWN 98
574 #define wxSCI_LEX_TXT2TAGS 99
575 #define wxSCI_LEX_A68K 100
576 #define wxSCI_LEX_MODULA 101
577 #define wxSCI_LEX_COFFEESCRIPT 102
578 #define wxSCI_LEX_TCMD 103
579 #define wxSCI_LEX_AVS 104
580 #define wxSCI_LEX_ECL 105
581 #define wxSCI_LEX_OSCRIPT 106
582 #define wxSCI_LEX_VISUALPROLOG 107
583 #define wxSCI_LEX_LITERATEHASKELL 108
584 #define wxSCI_LEX_STTXT 109
585 #define wxSCI_LEX_KVIRC 110
586 #define wxSCI_LEX_RUST 111
587 #define wxSCI_LEX_DMAP 112
588 #define wxSCI_LEX_AS 113
589 #define wxSCI_LEX_DMIS 114
590 #define wxSCI_LEX_REGISTRY 115
591 #define wxSCI_LEX_BIBTEX 116
592 #define wxSCI_LEX_SREC 117
593 #define wxSCI_LEX_IHEX 118
594 #define wxSCI_LEX_TEHEX 119
595 #define wxSCI_LEX_JSON 120
596 #define wxSCI_LEX_EDIFACT 121
597 #define wxSCI_LEX_INDENT 122
598 /* C::B begin */
599 #define wxSCI_LEX_LAST wxSCI_LEX_INDENT // update if the above gets extended!
600 /* C::B end */
601 
602 /// When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
603 /// value assigned in sequence from SCLEX_AUTOMATIC+1.
604 #define wxSCI_LEX_AUTOMATIC 1000
605 
606 /// Lexical states for SCLEX_PYTHON
607 #define wxSCI_P_DEFAULT 0
608 #define wxSCI_P_COMMENTLINE 1
609 #define wxSCI_P_NUMBER 2
610 #define wxSCI_P_STRING 3
611 #define wxSCI_P_CHARACTER 4
612 #define wxSCI_P_WORD 5
613 #define wxSCI_P_TRIPLE 6
614 #define wxSCI_P_TRIPLEDOUBLE 7
615 #define wxSCI_P_CLASSNAME 8
616 #define wxSCI_P_DEFNAME 9
617 #define wxSCI_P_OPERATOR 10
618 #define wxSCI_P_IDENTIFIER 11
619 #define wxSCI_P_COMMENTBLOCK 12
620 #define wxSCI_P_STRINGEOL 13
621 #define wxSCI_P_WORD2 14
622 #define wxSCI_P_DECORATOR 15
623 #define wxSCI_P_FSTRING 16
624 #define wxSCI_P_FCHARACTER 17
625 #define wxSCI_P_FTRIPLE 18
626 #define wxSCI_P_FTRIPLEDOUBLE 19
627 
628 /// Lexical states for SCLEX_CPP, SCLEX_BULLANT, SCLEX_COBOL, SCLEX_TACL, SCLEX_TAL
629 #define wxSCI_C_DEFAULT 0
630 #define wxSCI_C_COMMENT 1
631 #define wxSCI_C_COMMENTLINE 2
632 #define wxSCI_C_COMMENTDOC 3
633 #define wxSCI_C_NUMBER 4
634 #define wxSCI_C_WORD 5
635 #define wxSCI_C_STRING 6
636 #define wxSCI_C_CHARACTER 7
637 #define wxSCI_C_UUID 8
638 #define wxSCI_C_PREPROCESSOR 9
639 #define wxSCI_C_OPERATOR 10
640 #define wxSCI_C_IDENTIFIER 11
641 #define wxSCI_C_STRINGEOL 12
642 #define wxSCI_C_VERBATIM 13
643 #define wxSCI_C_REGEX 14
644 #define wxSCI_C_COMMENTLINEDOC 15
645 #define wxSCI_C_WORD2 16
646 #define wxSCI_C_COMMENTDOCKEYWORD 17
647 #define wxSCI_C_COMMENTDOCKEYWORDERROR 18
648 #define wxSCI_C_GLOBALCLASS 19
649 #define wxSCI_C_STRINGRAW 20
650 #define wxSCI_C_TRIPLEVERBATIM 21
651 #define wxSCI_C_HASHQUOTEDSTRING 22
652 #define wxSCI_C_PREPROCESSORCOMMENT 23
653 #define wxSCI_C_PREPROCESSORCOMMENTDOC 24
654 #define wxSCI_C_USERLITERAL 25
655 #define wxSCI_C_TASKMARKER 26
656 #define wxSCI_C_ESCAPESEQUENCE 27
657 
658 /// WXSMITH begin #
659 /// Keep in sync with wxscinilla.h  -> wxSCI_C_WXSMITH
660 /// Keep in sync with SciLexer.h    -> SCE_C_WXSMITH
661 /// Keep in sync with lexer_cpp.xml -> Style name="wxSmith-generated code"
662 /// Notice that due to the "activeFlag" in LexCPP.cxx, the index must be < 64 (0x40).
663 #define wxSCI_C_WXSMITH 50
664 
665 /// WXSMITH end #
666 /// Lexical states for SCLEX_D
667 #define wxSCI_D_DEFAULT 0
668 #define wxSCI_D_COMMENT 1
669 #define wxSCI_D_COMMENTLINE 2
670 #define wxSCI_D_COMMENTDOC 3
671 #define wxSCI_D_COMMENTNESTED 4
672 #define wxSCI_D_NUMBER 5
673 #define wxSCI_D_WORD 6
674 #define wxSCI_D_WORD2 7
675 #define wxSCI_D_WORD3 8
676 #define wxSCI_D_TYPEDEF 9
677 #define wxSCI_D_STRING 10
678 #define wxSCI_D_STRINGEOL 11
679 #define wxSCI_D_CHARACTER 12
680 #define wxSCI_D_OPERATOR 13
681 #define wxSCI_D_IDENTIFIER 14
682 #define wxSCI_D_COMMENTLINEDOC 15
683 #define wxSCI_D_COMMENTDOCKEYWORD 16
684 #define wxSCI_D_COMMENTDOCKEYWORDERROR 17
685 #define wxSCI_D_STRINGB 18
686 #define wxSCI_D_STRINGR 19
687 #define wxSCI_D_WORD5 20
688 #define wxSCI_D_WORD6 21
689 #define wxSCI_D_WORD7 22
690 
691 /// Lexical states for SCLEX_TCL
692 #define wxSCI_TCL_DEFAULT 0
693 #define wxSCI_TCL_COMMENT 1
694 #define wxSCI_TCL_COMMENTLINE 2
695 #define wxSCI_TCL_NUMBER 3
696 #define wxSCI_TCL_WORD_IN_QUOTE 4
697 #define wxSCI_TCL_IN_QUOTE 5
698 #define wxSCI_TCL_OPERATOR 6
699 #define wxSCI_TCL_IDENTIFIER 7
700 #define wxSCI_TCL_SUBSTITUTION 8
701 #define wxSCI_TCL_SUB_BRACE 9
702 #define wxSCI_TCL_MODIFIER 10
703 #define wxSCI_TCL_EXPAND 11
704 #define wxSCI_TCL_WORD 12
705 #define wxSCI_TCL_WORD2 13
706 #define wxSCI_TCL_WORD3 14
707 #define wxSCI_TCL_WORD4 15
708 #define wxSCI_TCL_WORD5 16
709 #define wxSCI_TCL_WORD6 17
710 #define wxSCI_TCL_WORD7 18
711 #define wxSCI_TCL_WORD8 19
712 #define wxSCI_TCL_COMMENT_BOX 20
713 #define wxSCI_TCL_BLOCK_COMMENT 21
714 
715 /// Lexical states for SCLEX_HTML, SCLEX_XML
716 #define wxSCI_H_DEFAULT 0
717 #define wxSCI_H_TAG 1
718 #define wxSCI_H_TAGUNKNOWN 2
719 #define wxSCI_H_ATTRIBUTE 3
720 #define wxSCI_H_ATTRIBUTEUNKNOWN 4
721 #define wxSCI_H_NUMBER 5
722 #define wxSCI_H_DOUBLESTRING 6
723 #define wxSCI_H_SINGLESTRING 7
724 #define wxSCI_H_OTHER 8
725 #define wxSCI_H_COMMENT 9
726 #define wxSCI_H_ENTITY 10
727 
728 /// XML and ASP
729 #define wxSCI_H_TAGEND 11
730 #define wxSCI_H_XMLSTART 12
731 #define wxSCI_H_XMLEND 13
732 #define wxSCI_H_SCRIPT 14
733 #define wxSCI_H_ASP 15
734 #define wxSCI_H_ASPAT 16
735 #define wxSCI_H_CDATA 17
736 #define wxSCI_H_QUESTION 18
737 
738 /// More HTML
739 #define wxSCI_H_VALUE 19
740 
741 /// X-Code
742 #define wxSCI_H_XCCOMMENT 20
743 
744 /// SGML
745 #define wxSCI_H_SGML_DEFAULT 21
746 #define wxSCI_H_SGML_COMMAND 22
747 #define wxSCI_H_SGML_1ST_PARAM 23
748 #define wxSCI_H_SGML_DOUBLESTRING 24
749 #define wxSCI_H_SGML_SIMPLESTRING 25
750 #define wxSCI_H_SGML_ERROR 26
751 #define wxSCI_H_SGML_SPECIAL 27
752 #define wxSCI_H_SGML_ENTITY 28
753 #define wxSCI_H_SGML_COMMENT 29
754 #define wxSCI_H_SGML_1ST_PARAM_COMMENT 30
755 #define wxSCI_H_SGML_BLOCK_DEFAULT 31
756 
757 /// Embedded Javascript
758 #define wxSCI_HJ_START 40
759 #define wxSCI_HJ_DEFAULT 41
760 #define wxSCI_HJ_COMMENT 42
761 #define wxSCI_HJ_COMMENTLINE 43
762 #define wxSCI_HJ_COMMENTDOC 44
763 #define wxSCI_HJ_NUMBER 45
764 #define wxSCI_HJ_WORD 46
765 #define wxSCI_HJ_KEYWORD 47
766 #define wxSCI_HJ_DOUBLESTRING 48
767 #define wxSCI_HJ_SINGLESTRING 49
768 #define wxSCI_HJ_SYMBOLS 50
769 #define wxSCI_HJ_STRINGEOL 51
770 #define wxSCI_HJ_REGEX 52
771 
772 /// ASP Javascript
773 #define wxSCI_HJA_START 55
774 #define wxSCI_HJA_DEFAULT 56
775 #define wxSCI_HJA_COMMENT 57
776 #define wxSCI_HJA_COMMENTLINE 58
777 #define wxSCI_HJA_COMMENTDOC 59
778 #define wxSCI_HJA_NUMBER 60
779 #define wxSCI_HJA_WORD 61
780 #define wxSCI_HJA_KEYWORD 62
781 #define wxSCI_HJA_DOUBLESTRING 63
782 #define wxSCI_HJA_SINGLESTRING 64
783 #define wxSCI_HJA_SYMBOLS 65
784 #define wxSCI_HJA_STRINGEOL 66
785 #define wxSCI_HJA_REGEX 67
786 
787 /// Embedded VBScript
788 #define wxSCI_HB_START 70
789 #define wxSCI_HB_DEFAULT 71
790 #define wxSCI_HB_COMMENTLINE 72
791 #define wxSCI_HB_NUMBER 73
792 #define wxSCI_HB_WORD 74
793 #define wxSCI_HB_STRING 75
794 #define wxSCI_HB_IDENTIFIER 76
795 #define wxSCI_HB_STRINGEOL 77
796 
797 /// ASP VBScript
798 #define wxSCI_HBA_START 80
799 #define wxSCI_HBA_DEFAULT 81
800 #define wxSCI_HBA_COMMENTLINE 82
801 #define wxSCI_HBA_NUMBER 83
802 #define wxSCI_HBA_WORD 84
803 #define wxSCI_HBA_STRING 85
804 #define wxSCI_HBA_IDENTIFIER 86
805 #define wxSCI_HBA_STRINGEOL 87
806 
807 /// Embedded Python
808 #define wxSCI_HP_START 90
809 #define wxSCI_HP_DEFAULT 91
810 #define wxSCI_HP_COMMENTLINE 92
811 #define wxSCI_HP_NUMBER 93
812 #define wxSCI_HP_STRING 94
813 #define wxSCI_HP_CHARACTER 95
814 #define wxSCI_HP_WORD 96
815 #define wxSCI_HP_TRIPLE 97
816 #define wxSCI_HP_TRIPLEDOUBLE 98
817 #define wxSCI_HP_CLASSNAME 99
818 #define wxSCI_HP_DEFNAME 100
819 #define wxSCI_HP_OPERATOR 101
820 #define wxSCI_HP_IDENTIFIER 102
821 
822 /// PHP
823 #define wxSCI_HPHP_COMPLEX_VARIABLE 104
824 
825 /// ASP Python
826 #define wxSCI_HPA_START 105
827 #define wxSCI_HPA_DEFAULT 106
828 #define wxSCI_HPA_COMMENTLINE 107
829 #define wxSCI_HPA_NUMBER 108
830 #define wxSCI_HPA_STRING 109
831 #define wxSCI_HPA_CHARACTER 110
832 #define wxSCI_HPA_WORD 111
833 #define wxSCI_HPA_TRIPLE 112
834 #define wxSCI_HPA_TRIPLEDOUBLE 113
835 #define wxSCI_HPA_CLASSNAME 114
836 #define wxSCI_HPA_DEFNAME 115
837 #define wxSCI_HPA_OPERATOR 116
838 #define wxSCI_HPA_IDENTIFIER 117
839 
840 /// PHP
841 #define wxSCI_HPHP_DEFAULT 118
842 #define wxSCI_HPHP_HSTRING 119
843 #define wxSCI_HPHP_SIMPLESTRING 120
844 #define wxSCI_HPHP_WORD 121
845 #define wxSCI_HPHP_NUMBER 122
846 #define wxSCI_HPHP_VARIABLE 123
847 #define wxSCI_HPHP_COMMENT 124
848 #define wxSCI_HPHP_COMMENTLINE 125
849 #define wxSCI_HPHP_HSTRING_VARIABLE 126
850 #define wxSCI_HPHP_OPERATOR 127
851 
852 /// Lexical states for SCLEX_PERL
853 #define wxSCI_PL_DEFAULT 0
854 #define wxSCI_PL_ERROR 1
855 #define wxSCI_PL_COMMENTLINE 2
856 #define wxSCI_PL_POD 3
857 #define wxSCI_PL_NUMBER 4
858 #define wxSCI_PL_WORD 5
859 #define wxSCI_PL_STRING 6
860 #define wxSCI_PL_CHARACTER 7
861 #define wxSCI_PL_PUNCTUATION 8
862 #define wxSCI_PL_PREPROCESSOR 9
863 #define wxSCI_PL_OPERATOR 10
864 #define wxSCI_PL_IDENTIFIER 11
865 #define wxSCI_PL_SCALAR 12
866 #define wxSCI_PL_ARRAY 13
867 #define wxSCI_PL_HASH 14
868 #define wxSCI_PL_SYMBOLTABLE 15
869 #define wxSCI_PL_VARIABLE_INDEXER 16
870 #define wxSCI_PL_REGEX 17
871 #define wxSCI_PL_REGSUBST 18
872 #define wxSCI_PL_LONGQUOTE 19
873 #define wxSCI_PL_BACKTICKS 20
874 #define wxSCI_PL_DATASECTION 21
875 #define wxSCI_PL_HERE_DELIM 22
876 #define wxSCI_PL_HERE_Q 23
877 #define wxSCI_PL_HERE_QQ 24
878 #define wxSCI_PL_HERE_QX 25
879 #define wxSCI_PL_STRING_Q 26
880 #define wxSCI_PL_STRING_QQ 27
881 #define wxSCI_PL_STRING_QX 28
882 #define wxSCI_PL_STRING_QR 29
883 #define wxSCI_PL_STRING_QW 30
884 #define wxSCI_PL_POD_VERB 31
885 #define wxSCI_PL_SUB_PROTOTYPE 40
886 #define wxSCI_PL_FORMAT_IDENT 41
887 #define wxSCI_PL_FORMAT 42
888 #define wxSCI_PL_STRING_VAR 43
889 #define wxSCI_PL_XLAT 44
890 #define wxSCI_PL_REGEX_VAR 54
891 #define wxSCI_PL_REGSUBST_VAR 55
892 #define wxSCI_PL_BACKTICKS_VAR 57
893 #define wxSCI_PL_HERE_QQ_VAR 61
894 #define wxSCI_PL_HERE_QX_VAR 62
895 #define wxSCI_PL_STRING_QQ_VAR 64
896 #define wxSCI_PL_STRING_QX_VAR 65
897 #define wxSCI_PL_STRING_QR_VAR 66
898 
899 /// Lexical states for SCLEX_RUBY
900 #define wxSCI_RB_DEFAULT 0
901 #define wxSCI_RB_ERROR 1
902 #define wxSCI_RB_COMMENTLINE 2
903 #define wxSCI_RB_POD 3
904 #define wxSCI_RB_NUMBER 4
905 #define wxSCI_RB_WORD 5
906 #define wxSCI_RB_STRING 6
907 #define wxSCI_RB_CHARACTER 7
908 #define wxSCI_RB_CLASSNAME 8
909 #define wxSCI_RB_DEFNAME 9
910 #define wxSCI_RB_OPERATOR 10
911 #define wxSCI_RB_IDENTIFIER 11
912 #define wxSCI_RB_REGEX 12
913 #define wxSCI_RB_GLOBAL 13
914 #define wxSCI_RB_SYMBOL 14
915 #define wxSCI_RB_MODULE_NAME 15
916 #define wxSCI_RB_INSTANCE_VAR 16
917 #define wxSCI_RB_CLASS_VAR 17
918 #define wxSCI_RB_BACKTICKS 18
919 #define wxSCI_RB_DATASECTION 19
920 #define wxSCI_RB_HERE_DELIM 20
921 #define wxSCI_RB_HERE_Q 21
922 #define wxSCI_RB_HERE_QQ 22
923 #define wxSCI_RB_HERE_QX 23
924 #define wxSCI_RB_STRING_Q 24
925 #define wxSCI_RB_STRING_QQ 25
926 #define wxSCI_RB_STRING_QX 26
927 #define wxSCI_RB_STRING_QR 27
928 #define wxSCI_RB_STRING_QW 28
929 #define wxSCI_RB_WORD_DEMOTED 29
930 #define wxSCI_RB_STDIN 30
931 #define wxSCI_RB_STDOUT 31
932 #define wxSCI_RB_STDERR 40
933 #define wxSCI_RB_UPPER_BOUND 41
934 
935 /// Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC, SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC
936 #define wxSCI_B_DEFAULT 0
937 #define wxSCI_B_COMMENT 1
938 #define wxSCI_B_NUMBER 2
939 #define wxSCI_B_KEYWORD 3
940 #define wxSCI_B_STRING 4
941 #define wxSCI_B_PREPROCESSOR 5
942 #define wxSCI_B_OPERATOR 6
943 #define wxSCI_B_IDENTIFIER 7
944 #define wxSCI_B_DATE 8
945 #define wxSCI_B_STRINGEOL 9
946 #define wxSCI_B_KEYWORD2 10
947 #define wxSCI_B_KEYWORD3 11
948 #define wxSCI_B_KEYWORD4 12
949 #define wxSCI_B_CONSTANT 13
950 #define wxSCI_B_ASM 14
951 #define wxSCI_B_LABEL 15
952 #define wxSCI_B_ERROR 16
953 #define wxSCI_B_HEXNUMBER 17
954 #define wxSCI_B_BINNUMBER 18
955 #define wxSCI_B_COMMENTBLOCK 19
956 #define wxSCI_B_DOCLINE 20
957 #define wxSCI_B_DOCBLOCK 21
958 #define wxSCI_B_DOCKEYWORD 22
959 
960 /// Lexical states for SCLEX_PROPERTIES
961 #define wxSCI_PROPS_DEFAULT 0
962 #define wxSCI_PROPS_COMMENT 1
963 #define wxSCI_PROPS_SECTION 2
964 #define wxSCI_PROPS_ASSIGNMENT 3
965 #define wxSCI_PROPS_DEFVAL 4
966 #define wxSCI_PROPS_KEY 5
967 
968 /// Lexical states for SCLEX_LATEX
969 #define wxSCI_L_DEFAULT 0
970 #define wxSCI_L_COMMAND 1
971 #define wxSCI_L_TAG 2
972 #define wxSCI_L_MATH 3
973 #define wxSCI_L_COMMENT 4
974 #define wxSCI_L_TAG2 5
975 #define wxSCI_L_MATH2 6
976 #define wxSCI_L_COMMENT2 7
977 #define wxSCI_L_VERBATIM 8
978 #define wxSCI_L_SHORTCMD 9
979 #define wxSCI_L_SPECIAL 10
980 #define wxSCI_L_CMDOPT 11
981 #define wxSCI_L_ERROR 12
982 
983 /// Lexical states for SCLEX_LUA
984 #define wxSCI_LUA_DEFAULT 0
985 #define wxSCI_LUA_COMMENT 1
986 #define wxSCI_LUA_COMMENTLINE 2
987 #define wxSCI_LUA_COMMENTDOC 3
988 #define wxSCI_LUA_NUMBER 4
989 #define wxSCI_LUA_WORD 5
990 #define wxSCI_LUA_STRING 6
991 #define wxSCI_LUA_CHARACTER 7
992 #define wxSCI_LUA_LITERALSTRING 8
993 #define wxSCI_LUA_PREPROCESSOR 9
994 #define wxSCI_LUA_OPERATOR 10
995 #define wxSCI_LUA_IDENTIFIER 11
996 #define wxSCI_LUA_STRINGEOL 12
997 #define wxSCI_LUA_WORD2 13
998 #define wxSCI_LUA_WORD3 14
999 #define wxSCI_LUA_WORD4 15
1000 #define wxSCI_LUA_WORD5 16
1001 #define wxSCI_LUA_WORD6 17
1002 #define wxSCI_LUA_WORD7 18
1003 #define wxSCI_LUA_WORD8 19
1004 #define wxSCI_LUA_LABEL 20
1005 
1006 /// Lexical states for SCLEX_ERRORLIST
1007 #define wxSCI_ERR_DEFAULT 0
1008 #define wxSCI_ERR_PYTHON 1
1009 #define wxSCI_ERR_GCC 2
1010 #define wxSCI_ERR_MS 3
1011 #define wxSCI_ERR_CMD 4
1012 #define wxSCI_ERR_BORLAND 5
1013 #define wxSCI_ERR_PERL 6
1014 #define wxSCI_ERR_NET 7
1015 #define wxSCI_ERR_LUA 8
1016 #define wxSCI_ERR_CTAG 9
1017 #define wxSCI_ERR_DIFF_CHANGED 10
1018 #define wxSCI_ERR_DIFF_ADDITION 11
1019 #define wxSCI_ERR_DIFF_DELETION 12
1020 #define wxSCI_ERR_DIFF_MESSAGE 13
1021 #define wxSCI_ERR_PHP 14
1022 #define wxSCI_ERR_ELF 15
1023 #define wxSCI_ERR_IFC 16
1024 #define wxSCI_ERR_IFORT 17
1025 #define wxSCI_ERR_ABSF 18
1026 #define wxSCI_ERR_TIDY 19
1027 #define wxSCI_ERR_JAVA_STACK 20
1028 #define wxSCI_ERR_VALUE 21
1029 #define wxSCI_ERR_GCC_INCLUDED_FROM 22
1030 #define wxSCI_ERR_ESCSEQ 23
1031 #define wxSCI_ERR_ESCSEQ_UNKNOWN 24
1032 #define wxSCI_ERR_ES_BLACK 40
1033 #define wxSCI_ERR_ES_RED 41
1034 #define wxSCI_ERR_ES_GREEN 42
1035 #define wxSCI_ERR_ES_BROWN 43
1036 #define wxSCI_ERR_ES_BLUE 44
1037 #define wxSCI_ERR_ES_MAGENTA 45
1038 #define wxSCI_ERR_ES_CYAN 46
1039 #define wxSCI_ERR_ES_GRAY 47
1040 #define wxSCI_ERR_ES_DARK_GRAY 48
1041 #define wxSCI_ERR_ES_BRIGHT_RED 49
1042 #define wxSCI_ERR_ES_BRIGHT_GREEN 50
1043 #define wxSCI_ERR_ES_YELLOW 51
1044 #define wxSCI_ERR_ES_BRIGHT_BLUE 52
1045 #define wxSCI_ERR_ES_BRIGHT_MAGENTA 53
1046 #define wxSCI_ERR_ES_BRIGHT_CYAN 54
1047 #define wxSCI_ERR_ES_WHITE 55
1048 
1049 /// Lexical states for SCLEX_BATCH
1050 #define wxSCI_BAT_DEFAULT 0
1051 #define wxSCI_BAT_COMMENT 1
1052 #define wxSCI_BAT_WORD 2
1053 #define wxSCI_BAT_LABEL 3
1054 #define wxSCI_BAT_HIDE 4
1055 #define wxSCI_BAT_COMMAND 5
1056 #define wxSCI_BAT_IDENTIFIER 6
1057 #define wxSCI_BAT_OPERATOR 7
1058 
1059 /// Lexical states for SCLEX_TCMD
1060 #define wxSCI_TCMD_DEFAULT 0
1061 #define wxSCI_TCMD_COMMENT 1
1062 #define wxSCI_TCMD_WORD 2
1063 #define wxSCI_TCMD_LABEL 3
1064 #define wxSCI_TCMD_HIDE 4
1065 #define wxSCI_TCMD_COMMAND 5
1066 #define wxSCI_TCMD_IDENTIFIER 6
1067 #define wxSCI_TCMD_OPERATOR 7
1068 #define wxSCI_TCMD_ENVIRONMENT 8
1069 #define wxSCI_TCMD_EXPANSION 9
1070 #define wxSCI_TCMD_CLABEL 10
1071 
1072 /// Lexical states for SCLEX_MAKEFILE
1073 #define wxSCI_MAKE_DEFAULT 0
1074 #define wxSCI_MAKE_COMMENT 1
1075 #define wxSCI_MAKE_PREPROCESSOR 2
1076 #define wxSCI_MAKE_IDENTIFIER 3
1077 #define wxSCI_MAKE_OPERATOR 4
1078 #define wxSCI_MAKE_TARGET 5
1079 #define wxSCI_MAKE_IDEOL 9
1080 
1081 /// Lexical states for SCLEX_DIFF
1082 #define wxSCI_DIFF_DEFAULT 0
1083 #define wxSCI_DIFF_COMMENT 1
1084 #define wxSCI_DIFF_COMMAND 2
1085 #define wxSCI_DIFF_HEADER 3
1086 #define wxSCI_DIFF_POSITION 4
1087 #define wxSCI_DIFF_DELETED 5
1088 #define wxSCI_DIFF_ADDED 6
1089 #define wxSCI_DIFF_CHANGED 7
1090 
1091 /// Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)
1092 #define wxSCI_CONF_DEFAULT 0
1093 #define wxSCI_CONF_COMMENT 1
1094 #define wxSCI_CONF_NUMBER 2
1095 #define wxSCI_CONF_IDENTIFIER 3
1096 #define wxSCI_CONF_EXTENSION 4
1097 #define wxSCI_CONF_PARAMETER 5
1098 #define wxSCI_CONF_STRING 6
1099 #define wxSCI_CONF_OPERATOR 7
1100 #define wxSCI_CONF_IP 8
1101 #define wxSCI_CONF_DIRECTIVE 9
1102 
1103 /// Lexical states for SCLEX_AVE, Avenue
1104 #define wxSCI_AVE_DEFAULT 0
1105 #define wxSCI_AVE_COMMENT 1
1106 #define wxSCI_AVE_NUMBER 2
1107 #define wxSCI_AVE_WORD 3
1108 #define wxSCI_AVE_STRING 6
1109 #define wxSCI_AVE_ENUM 7
1110 #define wxSCI_AVE_STRINGEOL 8
1111 #define wxSCI_AVE_IDENTIFIER 9
1112 #define wxSCI_AVE_OPERATOR 10
1113 #define wxSCI_AVE_WORD1 11
1114 #define wxSCI_AVE_WORD2 12
1115 #define wxSCI_AVE_WORD3 13
1116 #define wxSCI_AVE_WORD4 14
1117 #define wxSCI_AVE_WORD5 15
1118 #define wxSCI_AVE_WORD6 16
1119 
1120 /// Lexical states for SCLEX_ADA
1121 #define wxSCI_ADA_DEFAULT 0
1122 #define wxSCI_ADA_WORD 1
1123 #define wxSCI_ADA_IDENTIFIER 2
1124 #define wxSCI_ADA_NUMBER 3
1125 #define wxSCI_ADA_DELIMITER 4
1126 #define wxSCI_ADA_CHARACTER 5
1127 #define wxSCI_ADA_CHARACTEREOL 6
1128 #define wxSCI_ADA_STRING 7
1129 #define wxSCI_ADA_STRINGEOL 8
1130 #define wxSCI_ADA_LABEL 9
1131 #define wxSCI_ADA_COMMENTLINE 10
1132 #define wxSCI_ADA_ILLEGAL 11
1133 
1134 /// Lexical states for SCLEX_BAAN
1135 #define wxSCI_BAAN_DEFAULT 0
1136 #define wxSCI_BAAN_COMMENT 1
1137 #define wxSCI_BAAN_COMMENTDOC 2
1138 #define wxSCI_BAAN_NUMBER 3
1139 #define wxSCI_BAAN_WORD 4
1140 #define wxSCI_BAAN_STRING 5
1141 #define wxSCI_BAAN_PREPROCESSOR 6
1142 #define wxSCI_BAAN_OPERATOR 7
1143 #define wxSCI_BAAN_IDENTIFIER 8
1144 #define wxSCI_BAAN_STRINGEOL 9
1145 #define wxSCI_BAAN_WORD2 10
1146 #define wxSCI_BAAN_WORD3 11
1147 #define wxSCI_BAAN_WORD4 12
1148 #define wxSCI_BAAN_WORD5 13
1149 #define wxSCI_BAAN_WORD6 14
1150 #define wxSCI_BAAN_WORD7 15
1151 #define wxSCI_BAAN_WORD8 16
1152 #define wxSCI_BAAN_WORD9 17
1153 #define wxSCI_BAAN_TABLEDEF 18
1154 #define wxSCI_BAAN_TABLESQL 19
1155 #define wxSCI_BAAN_FUNCTION 20
1156 #define wxSCI_BAAN_DOMDEF 21
1157 #define wxSCI_BAAN_FUNCDEF 22
1158 #define wxSCI_BAAN_OBJECTDEF 23
1159 #define wxSCI_BAAN_DEFINEDEF 24
1160 
1161 /// Lexical states for SCLEX_LISP
1162 #define wxSCI_LISP_DEFAULT 0
1163 #define wxSCI_LISP_COMMENT 1
1164 #define wxSCI_LISP_NUMBER 2
1165 #define wxSCI_LISP_KEYWORD 3
1166 #define wxSCI_LISP_KEYWORD_KW 4
1167 #define wxSCI_LISP_SYMBOL 5
1168 #define wxSCI_LISP_STRING 6
1169 #define wxSCI_LISP_STRINGEOL 8
1170 #define wxSCI_LISP_IDENTIFIER 9
1171 #define wxSCI_LISP_OPERATOR 10
1172 #define wxSCI_LISP_SPECIAL 11
1173 #define wxSCI_LISP_MULTI_COMMENT 12
1174 
1175 /// Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW
1176 #define wxSCI_EIFFEL_DEFAULT 0
1177 #define wxSCI_EIFFEL_COMMENTLINE 1
1178 #define wxSCI_EIFFEL_NUMBER 2
1179 #define wxSCI_EIFFEL_WORD 3
1180 #define wxSCI_EIFFEL_STRING 4
1181 #define wxSCI_EIFFEL_CHARACTER 5
1182 #define wxSCI_EIFFEL_OPERATOR 6
1183 #define wxSCI_EIFFEL_IDENTIFIER 7
1184 #define wxSCI_EIFFEL_STRINGEOL 8
1185 
1186 /// Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer)
1187 #define wxSCI_NNCRONTAB_DEFAULT 0
1188 #define wxSCI_NNCRONTAB_COMMENT 1
1189 #define wxSCI_NNCRONTAB_TASK 2
1190 #define wxSCI_NNCRONTAB_SECTION 3
1191 #define wxSCI_NNCRONTAB_KEYWORD 4
1192 #define wxSCI_NNCRONTAB_MODIFIER 5
1193 #define wxSCI_NNCRONTAB_ASTERISK 6
1194 #define wxSCI_NNCRONTAB_NUMBER 7
1195 #define wxSCI_NNCRONTAB_STRING 8
1196 #define wxSCI_NNCRONTAB_ENVIRONMENT 9
1197 #define wxSCI_NNCRONTAB_IDENTIFIER 10
1198 
1199 /// Lexical states for SCLEX_FORTH (Forth Lexer)
1200 #define wxSCI_FORTH_DEFAULT 0
1201 #define wxSCI_FORTH_COMMENT 1
1202 #define wxSCI_FORTH_COMMENT_ML 2
1203 #define wxSCI_FORTH_IDENTIFIER 3
1204 #define wxSCI_FORTH_CONTROL 4
1205 #define wxSCI_FORTH_KEYWORD 5
1206 #define wxSCI_FORTH_DEFWORD 6
1207 #define wxSCI_FORTH_PREWORD1 7
1208 #define wxSCI_FORTH_PREWORD2 8
1209 #define wxSCI_FORTH_NUMBER 9
1210 #define wxSCI_FORTH_STRING 10
1211 #define wxSCI_FORTH_LOCALE 11
1212 
1213 /// Lexical states for SCLEX_MATLAB
1214 #define wxSCI_MATLAB_DEFAULT 0
1215 #define wxSCI_MATLAB_COMMENT 1
1216 #define wxSCI_MATLAB_COMMAND 2
1217 #define wxSCI_MATLAB_NUMBER 3
1218 #define wxSCI_MATLAB_KEYWORD 4
1219 
1220 /// single quoted string
1221 #define wxSCI_MATLAB_STRING 5
1222 #define wxSCI_MATLAB_OPERATOR 6
1223 #define wxSCI_MATLAB_IDENTIFIER 7
1224 #define wxSCI_MATLAB_DOUBLEQUOTESTRING 8
1225 
1226 /// Lexical states for SCLEX_SCRIPTOL
1227 #define wxSCI_SCRIPTOL_DEFAULT 0
1228 #define wxSCI_SCRIPTOL_WHITE 1
1229 #define wxSCI_SCRIPTOL_COMMENTLINE 2
1230 #define wxSCI_SCRIPTOL_PERSISTENT 3
1231 #define wxSCI_SCRIPTOL_CSTYLE 4
1232 #define wxSCI_SCRIPTOL_COMMENTBLOCK 5
1233 #define wxSCI_SCRIPTOL_NUMBER 6
1234 #define wxSCI_SCRIPTOL_STRING 7
1235 #define wxSCI_SCRIPTOL_CHARACTER 8
1236 #define wxSCI_SCRIPTOL_STRINGEOL 9
1237 #define wxSCI_SCRIPTOL_KEYWORD 10
1238 #define wxSCI_SCRIPTOL_OPERATOR 11
1239 #define wxSCI_SCRIPTOL_IDENTIFIER 12
1240 #define wxSCI_SCRIPTOL_TRIPLE 13
1241 #define wxSCI_SCRIPTOL_CLASSNAME 14
1242 #define wxSCI_SCRIPTOL_PREPROCESSOR 15
1243 
1244 /// Lexical states for SCLEX_ASM, SCLEX_AS
1245 #define wxSCI_ASM_DEFAULT 0
1246 #define wxSCI_ASM_COMMENT 1
1247 #define wxSCI_ASM_NUMBER 2
1248 #define wxSCI_ASM_STRING 3
1249 #define wxSCI_ASM_OPERATOR 4
1250 #define wxSCI_ASM_IDENTIFIER 5
1251 #define wxSCI_ASM_CPUINSTRUCTION 6
1252 #define wxSCI_ASM_MATHINSTRUCTION 7
1253 #define wxSCI_ASM_REGISTER 8
1254 #define wxSCI_ASM_DIRECTIVE 9
1255 #define wxSCI_ASM_DIRECTIVEOPERAND 10
1256 #define wxSCI_ASM_COMMENTBLOCK 11
1257 #define wxSCI_ASM_CHARACTER 12
1258 #define wxSCI_ASM_STRINGEOL 13
1259 #define wxSCI_ASM_EXTINSTRUCTION 14
1260 #define wxSCI_ASM_COMMENTDIRECTIVE 15
1261 
1262 /// Lexical states for SCLEX_FORTRAN
1263 #define wxSCI_F_DEFAULT 0
1264 #define wxSCI_F_COMMENT 1
1265 #define wxSCI_F_NUMBER 2
1266 #define wxSCI_F_STRING1 3
1267 #define wxSCI_F_STRING2 4
1268 #define wxSCI_F_STRINGEOL 5
1269 #define wxSCI_F_OPERATOR 6
1270 #define wxSCI_F_IDENTIFIER 7
1271 #define wxSCI_F_WORD 8
1272 #define wxSCI_F_WORD2 9
1273 #define wxSCI_F_WORD3 10
1274 #define wxSCI_F_PREPROCESSOR 11
1275 #define wxSCI_F_OPERATOR2 12
1276 #define wxSCI_F_LABEL 13
1277 #define wxSCI_F_CONTINUATION 14
1278 
1279 /// Lexical states for SCLEX_CSS
1280 #define wxSCI_CSS_DEFAULT 0
1281 #define wxSCI_CSS_TAG 1
1282 #define wxSCI_CSS_CLASS 2
1283 #define wxSCI_CSS_PSEUDOCLASS 3
1284 #define wxSCI_CSS_UNKNOWN_PSEUDOCLASS 4
1285 #define wxSCI_CSS_OPERATOR 5
1286 #define wxSCI_CSS_IDENTIFIER 6
1287 #define wxSCI_CSS_UNKNOWN_IDENTIFIER 7
1288 #define wxSCI_CSS_VALUE 8
1289 #define wxSCI_CSS_COMMENT 9
1290 #define wxSCI_CSS_ID 10
1291 #define wxSCI_CSS_IMPORTANT 11
1292 #define wxSCI_CSS_DIRECTIVE 12
1293 #define wxSCI_CSS_DOUBLESTRING 13
1294 #define wxSCI_CSS_SINGLESTRING 14
1295 #define wxSCI_CSS_IDENTIFIER2 15
1296 #define wxSCI_CSS_ATTRIBUTE 16
1297 #define wxSCI_CSS_IDENTIFIER3 17
1298 #define wxSCI_CSS_PSEUDOELEMENT 18
1299 #define wxSCI_CSS_EXTENDED_IDENTIFIER 19
1300 #define wxSCI_CSS_EXTENDED_PSEUDOCLASS 20
1301 #define wxSCI_CSS_EXTENDED_PSEUDOELEMENT 21
1302 #define wxSCI_CSS_MEDIA 22
1303 #define wxSCI_CSS_VARIABLE 23
1304 
1305 /// Lexical states for SCLEX_POV
1306 #define wxSCI_POV_DEFAULT 0
1307 #define wxSCI_POV_COMMENT 1
1308 #define wxSCI_POV_COMMENTLINE 2
1309 #define wxSCI_POV_NUMBER 3
1310 #define wxSCI_POV_OPERATOR 4
1311 #define wxSCI_POV_IDENTIFIER 5
1312 #define wxSCI_POV_STRING 6
1313 #define wxSCI_POV_STRINGEOL 7
1314 #define wxSCI_POV_DIRECTIVE 8
1315 #define wxSCI_POV_BADDIRECTIVE 9
1316 #define wxSCI_POV_WORD2 10
1317 #define wxSCI_POV_WORD3 11
1318 #define wxSCI_POV_WORD4 12
1319 #define wxSCI_POV_WORD5 13
1320 #define wxSCI_POV_WORD6 14
1321 #define wxSCI_POV_WORD7 15
1322 #define wxSCI_POV_WORD8 16
1323 
1324 /// Lexical states for SCLEX_LOUT
1325 #define wxSCI_LOUT_DEFAULT 0
1326 #define wxSCI_LOUT_COMMENT 1
1327 #define wxSCI_LOUT_NUMBER 2
1328 #define wxSCI_LOUT_WORD 3
1329 #define wxSCI_LOUT_WORD2 4
1330 #define wxSCI_LOUT_WORD3 5
1331 #define wxSCI_LOUT_WORD4 6
1332 #define wxSCI_LOUT_STRING 7
1333 #define wxSCI_LOUT_OPERATOR 8
1334 #define wxSCI_LOUT_IDENTIFIER 9
1335 #define wxSCI_LOUT_STRINGEOL 10
1336 
1337 /// Lexical states for SCLEX_ESCRIPT
1338 #define wxSCI_ESCRIPT_DEFAULT 0
1339 #define wxSCI_ESCRIPT_COMMENT 1
1340 #define wxSCI_ESCRIPT_COMMENTLINE 2
1341 #define wxSCI_ESCRIPT_COMMENTDOC 3
1342 #define wxSCI_ESCRIPT_NUMBER 4
1343 #define wxSCI_ESCRIPT_WORD 5
1344 #define wxSCI_ESCRIPT_STRING 6
1345 #define wxSCI_ESCRIPT_OPERATOR 7
1346 #define wxSCI_ESCRIPT_IDENTIFIER 8
1347 #define wxSCI_ESCRIPT_BRACE 9
1348 #define wxSCI_ESCRIPT_WORD2 10
1349 #define wxSCI_ESCRIPT_WORD3 11
1350 
1351 /// Lexical states for SCLEX_PS
1352 #define wxSCI_PS_DEFAULT 0
1353 #define wxSCI_PS_COMMENT 1
1354 #define wxSCI_PS_DSC_COMMENT 2
1355 #define wxSCI_PS_DSC_VALUE 3
1356 #define wxSCI_PS_NUMBER 4
1357 #define wxSCI_PS_NAME 5
1358 #define wxSCI_PS_KEYWORD 6
1359 #define wxSCI_PS_LITERAL 7
1360 #define wxSCI_PS_IMMEVAL 8
1361 #define wxSCI_PS_PAREN_ARRAY 9
1362 #define wxSCI_PS_PAREN_DICT 10
1363 #define wxSCI_PS_PAREN_PROC 11
1364 #define wxSCI_PS_TEXT 12
1365 #define wxSCI_PS_HEXSTRING 13
1366 #define wxSCI_PS_BASE85STRING 14
1367 #define wxSCI_PS_BADSTRINGCHAR 15
1368 
1369 /// Lexical states for SCLEX_NSIS
1370 #define wxSCI_NSIS_DEFAULT 0
1371 #define wxSCI_NSIS_COMMENT 1
1372 #define wxSCI_NSIS_STRINGDQ 2
1373 #define wxSCI_NSIS_STRINGLQ 3
1374 #define wxSCI_NSIS_STRINGRQ 4
1375 #define wxSCI_NSIS_FUNCTION 5
1376 #define wxSCI_NSIS_VARIABLE 6
1377 #define wxSCI_NSIS_LABEL 7
1378 #define wxSCI_NSIS_USERDEFINED 8
1379 #define wxSCI_NSIS_SECTIONDEF 9
1380 #define wxSCI_NSIS_SUBSECTIONDEF 10
1381 #define wxSCI_NSIS_IFDEFINEDEF 11
1382 #define wxSCI_NSIS_MACRODEF 12
1383 #define wxSCI_NSIS_STRINGVAR 13
1384 #define wxSCI_NSIS_NUMBER 14
1385 #define wxSCI_NSIS_SECTIONGROUP 15
1386 #define wxSCI_NSIS_PAGEEX 16
1387 #define wxSCI_NSIS_FUNCTIONDEF 17
1388 #define wxSCI_NSIS_COMMENTBOX 18
1389 
1390 /// Lexical states for SCLEX_MMIXAL
1391 #define wxSCI_MMIXAL_LEADWS 0
1392 #define wxSCI_MMIXAL_COMMENT 1
1393 #define wxSCI_MMIXAL_LABEL 2
1394 #define wxSCI_MMIXAL_OPCODE 3
1395 #define wxSCI_MMIXAL_OPCODE_PRE 4
1396 #define wxSCI_MMIXAL_OPCODE_VALID 5
1397 #define wxSCI_MMIXAL_OPCODE_UNKNOWN 6
1398 #define wxSCI_MMIXAL_OPCODE_POST 7
1399 #define wxSCI_MMIXAL_OPERANDS 8
1400 #define wxSCI_MMIXAL_NUMBER 9
1401 #define wxSCI_MMIXAL_REF 10
1402 #define wxSCI_MMIXAL_CHAR 11
1403 #define wxSCI_MMIXAL_STRING 12
1404 #define wxSCI_MMIXAL_REGISTER 13
1405 #define wxSCI_MMIXAL_HEX 14
1406 #define wxSCI_MMIXAL_OPERATOR 15
1407 #define wxSCI_MMIXAL_SYMBOL 16
1408 #define wxSCI_MMIXAL_INCLUDE 17
1409 
1410 /// Lexical states for SCLEX_CLW
1411 #define wxSCI_CLW_DEFAULT 0
1412 #define wxSCI_CLW_LABEL 1
1413 #define wxSCI_CLW_COMMENT 2
1414 #define wxSCI_CLW_STRING 3
1415 #define wxSCI_CLW_USER_IDENTIFIER 4
1416 #define wxSCI_CLW_INTEGER_CONSTANT 5
1417 #define wxSCI_CLW_REAL_CONSTANT 6
1418 #define wxSCI_CLW_PICTURE_STRING 7
1419 #define wxSCI_CLW_KEYWORD 8
1420 #define wxSCI_CLW_COMPILER_DIRECTIVE 9
1421 #define wxSCI_CLW_RUNTIME_EXPRESSIONS 10
1422 #define wxSCI_CLW_BUILTIN_PROCEDURES_FUNCTION 11
1423 #define wxSCI_CLW_STRUCTURE_DATA_TYPE 12
1424 #define wxSCI_CLW_ATTRIBUTE 13
1425 #define wxSCI_CLW_STANDARD_EQUATE 14
1426 #define wxSCI_CLW_ERROR 15
1427 #define wxSCI_CLW_DEPRECATED 16
1428 
1429 /// Lexical states for SCLEX_LOT
1430 #define wxSCI_LOT_DEFAULT 0
1431 #define wxSCI_LOT_HEADER 1
1432 #define wxSCI_LOT_BREAK 2
1433 #define wxSCI_LOT_SET 3
1434 #define wxSCI_LOT_PASS 4
1435 #define wxSCI_LOT_FAIL 5
1436 #define wxSCI_LOT_ABORT 6
1437 
1438 /// Lexical states for SCLEX_YAML
1439 #define wxSCI_YAML_DEFAULT 0
1440 #define wxSCI_YAML_COMMENT 1
1441 #define wxSCI_YAML_IDENTIFIER 2
1442 #define wxSCI_YAML_KEYWORD 3
1443 #define wxSCI_YAML_NUMBER 4
1444 #define wxSCI_YAML_REFERENCE 5
1445 #define wxSCI_YAML_DOCUMENT 6
1446 #define wxSCI_YAML_TEXT 7
1447 #define wxSCI_YAML_ERROR 8
1448 #define wxSCI_YAML_OPERATOR 9
1449 
1450 /// Lexical states for SCLEX_TEX
1451 #define wxSCI_TEX_DEFAULT 0
1452 #define wxSCI_TEX_SPECIAL 1
1453 #define wxSCI_TEX_GROUP 2
1454 #define wxSCI_TEX_SYMBOL 3
1455 #define wxSCI_TEX_COMMAND 4
1456 #define wxSCI_TEX_TEXT 5
1457 #define wxSCI_METAPOST_DEFAULT 0
1458 #define wxSCI_METAPOST_SPECIAL 1
1459 #define wxSCI_METAPOST_GROUP 2
1460 #define wxSCI_METAPOST_SYMBOL 3
1461 #define wxSCI_METAPOST_COMMAND 4
1462 #define wxSCI_METAPOST_TEXT 5
1463 #define wxSCI_METAPOST_EXTRA 6
1464 
1465 /// Lexical states for SCLEX_ERLANG
1466 #define wxSCI_ERLANG_DEFAULT 0
1467 #define wxSCI_ERLANG_COMMENT 1
1468 #define wxSCI_ERLANG_VARIABLE 2
1469 #define wxSCI_ERLANG_NUMBER 3
1470 #define wxSCI_ERLANG_KEYWORD 4
1471 #define wxSCI_ERLANG_STRING 5
1472 #define wxSCI_ERLANG_OPERATOR 6
1473 #define wxSCI_ERLANG_ATOM 7
1474 #define wxSCI_ERLANG_FUNCTION_NAME 8
1475 #define wxSCI_ERLANG_CHARACTER 9
1476 #define wxSCI_ERLANG_MACRO 10
1477 #define wxSCI_ERLANG_RECORD 11
1478 #define wxSCI_ERLANG_PREPROC 12
1479 #define wxSCI_ERLANG_NODE_NAME 13
1480 #define wxSCI_ERLANG_COMMENT_FUNCTION 14
1481 #define wxSCI_ERLANG_COMMENT_MODULE 15
1482 #define wxSCI_ERLANG_COMMENT_DOC 16
1483 #define wxSCI_ERLANG_COMMENT_DOC_MACRO 17
1484 #define wxSCI_ERLANG_ATOM_QUOTED 18
1485 #define wxSCI_ERLANG_MACRO_QUOTED 19
1486 #define wxSCI_ERLANG_RECORD_QUOTED 20
1487 #define wxSCI_ERLANG_NODE_NAME_QUOTED 21
1488 #define wxSCI_ERLANG_BIFS 22
1489 #define wxSCI_ERLANG_MODULES 23
1490 #define wxSCI_ERLANG_MODULES_ATT 24
1491 #define wxSCI_ERLANG_UNKNOWN 31
1492 
1493 /// Lexical states for SCLEX_OCTAVE are identical to MatLab
1494 /// Lexical states for SCLEX_MSSQL
1495 #define wxSCI_MSSQL_DEFAULT 0
1496 #define wxSCI_MSSQL_COMMENT 1
1497 #define wxSCI_MSSQL_LINE_COMMENT 2
1498 #define wxSCI_MSSQL_NUMBER 3
1499 #define wxSCI_MSSQL_STRING 4
1500 #define wxSCI_MSSQL_OPERATOR 5
1501 #define wxSCI_MSSQL_IDENTIFIER 6
1502 #define wxSCI_MSSQL_VARIABLE 7
1503 #define wxSCI_MSSQL_COLUMN_NAME 8
1504 #define wxSCI_MSSQL_STATEMENT 9
1505 #define wxSCI_MSSQL_DATATYPE 10
1506 #define wxSCI_MSSQL_SYSTABLE 11
1507 #define wxSCI_MSSQL_GLOBAL_VARIABLE 12
1508 #define wxSCI_MSSQL_FUNCTION 13
1509 #define wxSCI_MSSQL_STORED_PROCEDURE 14
1510 #define wxSCI_MSSQL_DEFAULT_PREF_DATATYPE 15
1511 #define wxSCI_MSSQL_COLUMN_NAME_2 16
1512 
1513 /// Lexical states for SCLEX_VERILOG
1514 #define wxSCI_V_DEFAULT 0
1515 #define wxSCI_V_COMMENT 1
1516 #define wxSCI_V_COMMENTLINE 2
1517 #define wxSCI_V_COMMENTLINEBANG 3
1518 #define wxSCI_V_NUMBER 4
1519 #define wxSCI_V_WORD 5
1520 #define wxSCI_V_STRING 6
1521 #define wxSCI_V_WORD2 7
1522 #define wxSCI_V_WORD3 8
1523 #define wxSCI_V_PREPROCESSOR 9
1524 #define wxSCI_V_OPERATOR 10
1525 #define wxSCI_V_IDENTIFIER 11
1526 #define wxSCI_V_STRINGEOL 12
1527 #define wxSCI_V_USER 19
1528 #define wxSCI_V_COMMENT_WORD 20
1529 #define wxSCI_V_INPUT 21
1530 #define wxSCI_V_OUTPUT 22
1531 #define wxSCI_V_INOUT 23
1532 #define wxSCI_V_PORT_CONNECT 24
1533 
1534 /// Lexical states for SCLEX_KIX
1535 #define wxSCI_KIX_DEFAULT 0
1536 #define wxSCI_KIX_COMMENT 1
1537 #define wxSCI_KIX_STRING1 2
1538 #define wxSCI_KIX_STRING2 3
1539 #define wxSCI_KIX_NUMBER 4
1540 #define wxSCI_KIX_VAR 5
1541 #define wxSCI_KIX_MACRO 6
1542 #define wxSCI_KIX_KEYWORD 7
1543 #define wxSCI_KIX_FUNCTIONS 8
1544 #define wxSCI_KIX_OPERATOR 9
1545 #define wxSCI_KIX_COMMENTSTREAM 10
1546 #define wxSCI_KIX_IDENTIFIER 31
1547 
1548 /// Lexical states for SCLEX_GUI4CLI
1549 #define wxSCI_GC_DEFAULT 0
1550 #define wxSCI_GC_COMMENTLINE 1
1551 #define wxSCI_GC_COMMENTBLOCK 2
1552 #define wxSCI_GC_GLOBAL 3
1553 #define wxSCI_GC_EVENT 4
1554 #define wxSCI_GC_ATTRIBUTE 5
1555 #define wxSCI_GC_CONTROL 6
1556 #define wxSCI_GC_COMMAND 7
1557 #define wxSCI_GC_STRING 8
1558 #define wxSCI_GC_OPERATOR 9
1559 
1560 /// Lexical states for SCLEX_SPECMAN
1561 #define wxSCI_SN_DEFAULT 0
1562 #define wxSCI_SN_CODE 1
1563 #define wxSCI_SN_COMMENTLINE 2
1564 #define wxSCI_SN_COMMENTLINEBANG 3
1565 #define wxSCI_SN_NUMBER 4
1566 #define wxSCI_SN_WORD 5
1567 #define wxSCI_SN_STRING 6
1568 #define wxSCI_SN_WORD2 7
1569 #define wxSCI_SN_WORD3 8
1570 #define wxSCI_SN_PREPROCESSOR 9
1571 #define wxSCI_SN_OPERATOR 10
1572 #define wxSCI_SN_IDENTIFIER 11
1573 #define wxSCI_SN_STRINGEOL 12
1574 #define wxSCI_SN_REGEXTAG 13
1575 #define wxSCI_SN_SIGNAL 14
1576 #define wxSCI_SN_USER 19
1577 
1578 /// Lexical states for SCLEX_AU3
1579 #define wxSCI_AU3_DEFAULT 0
1580 #define wxSCI_AU3_COMMENT 1
1581 #define wxSCI_AU3_COMMENTBLOCK 2
1582 #define wxSCI_AU3_NUMBER 3
1583 #define wxSCI_AU3_FUNCTION 4
1584 #define wxSCI_AU3_KEYWORD 5
1585 #define wxSCI_AU3_MACRO 6
1586 #define wxSCI_AU3_STRING 7
1587 #define wxSCI_AU3_OPERATOR 8
1588 #define wxSCI_AU3_VARIABLE 9
1589 #define wxSCI_AU3_SENT 10
1590 #define wxSCI_AU3_PREPROCESSOR 11
1591 #define wxSCI_AU3_SPECIAL 12
1592 #define wxSCI_AU3_EXPAND 13
1593 #define wxSCI_AU3_COMOBJ 14
1594 #define wxSCI_AU3_UDF 15
1595 
1596 /// Lexical states for SCLEX_APDL
1597 #define wxSCI_APDL_DEFAULT 0
1598 #define wxSCI_APDL_COMMENT 1
1599 #define wxSCI_APDL_COMMENTBLOCK 2
1600 #define wxSCI_APDL_NUMBER 3
1601 #define wxSCI_APDL_STRING 4
1602 #define wxSCI_APDL_OPERATOR 5
1603 #define wxSCI_APDL_WORD 6
1604 #define wxSCI_APDL_PROCESSOR 7
1605 #define wxSCI_APDL_COMMAND 8
1606 #define wxSCI_APDL_SLASHCOMMAND 9
1607 #define wxSCI_APDL_STARCOMMAND 10
1608 #define wxSCI_APDL_ARGUMENT 11
1609 #define wxSCI_APDL_FUNCTION 12
1610 
1611 /// Lexical states for SCLEX_BASH
1612 #define wxSCI_SH_DEFAULT 0
1613 #define wxSCI_SH_ERROR 1
1614 #define wxSCI_SH_COMMENTLINE 2
1615 #define wxSCI_SH_NUMBER 3
1616 #define wxSCI_SH_WORD 4
1617 #define wxSCI_SH_STRING 5
1618 #define wxSCI_SH_CHARACTER 6
1619 #define wxSCI_SH_OPERATOR 7
1620 #define wxSCI_SH_IDENTIFIER 8
1621 #define wxSCI_SH_SCALAR 9
1622 #define wxSCI_SH_PARAM 10
1623 #define wxSCI_SH_BACKTICKS 11
1624 #define wxSCI_SH_HERE_DELIM 12
1625 #define wxSCI_SH_HERE_Q 13
1626 
1627 /// Lexical states for SCLEX_ASN1
1628 #define wxSCI_ASN1_DEFAULT 0
1629 #define wxSCI_ASN1_COMMENT 1
1630 #define wxSCI_ASN1_IDENTIFIER 2
1631 #define wxSCI_ASN1_STRING 3
1632 #define wxSCI_ASN1_OID 4
1633 #define wxSCI_ASN1_SCALAR 5
1634 #define wxSCI_ASN1_KEYWORD 6
1635 #define wxSCI_ASN1_ATTRIBUTE 7
1636 #define wxSCI_ASN1_DESCRIPTOR 8
1637 #define wxSCI_ASN1_TYPE 9
1638 #define wxSCI_ASN1_OPERATOR 10
1639 
1640 /// Lexical states for SCLEX_VHDL
1641 #define wxSCI_VHDL_DEFAULT 0
1642 #define wxSCI_VHDL_COMMENT 1
1643 #define wxSCI_VHDL_COMMENTLINEBANG 2
1644 #define wxSCI_VHDL_NUMBER 3
1645 #define wxSCI_VHDL_STRING 4
1646 #define wxSCI_VHDL_OPERATOR 5
1647 #define wxSCI_VHDL_IDENTIFIER 6
1648 #define wxSCI_VHDL_STRINGEOL 7
1649 #define wxSCI_VHDL_KEYWORD 8
1650 #define wxSCI_VHDL_STDOPERATOR 9
1651 #define wxSCI_VHDL_ATTRIBUTE 10
1652 #define wxSCI_VHDL_STDFUNCTION 11
1653 #define wxSCI_VHDL_STDPACKAGE 12
1654 #define wxSCI_VHDL_STDTYPE 13
1655 #define wxSCI_VHDL_USERWORD 14
1656 #define wxSCI_VHDL_BLOCK_COMMENT 15
1657 
1658 /// Lexical states for SCLEX_CAML
1659 #define wxSCI_CAML_DEFAULT 0
1660 #define wxSCI_CAML_IDENTIFIER 1
1661 #define wxSCI_CAML_TAGNAME 2
1662 #define wxSCI_CAML_KEYWORD 3
1663 #define wxSCI_CAML_KEYWORD2 4
1664 #define wxSCI_CAML_KEYWORD3 5
1665 #define wxSCI_CAML_LINENUM 6
1666 #define wxSCI_CAML_OPERATOR 7
1667 #define wxSCI_CAML_NUMBER 8
1668 #define wxSCI_CAML_CHAR 9
1669 #define wxSCI_CAML_WHITE 10
1670 #define wxSCI_CAML_STRING 11
1671 #define wxSCI_CAML_COMMENT 12
1672 #define wxSCI_CAML_COMMENT1 13
1673 #define wxSCI_CAML_COMMENT2 14
1674 #define wxSCI_CAML_COMMENT3 15
1675 
1676 /// Lexical states for SCLEX_HASKELL
1677 #define wxSCI_HA_DEFAULT 0
1678 #define wxSCI_HA_IDENTIFIER 1
1679 #define wxSCI_HA_KEYWORD 2
1680 #define wxSCI_HA_NUMBER 3
1681 #define wxSCI_HA_STRING 4
1682 #define wxSCI_HA_CHARACTER 5
1683 #define wxSCI_HA_CLASS 6
1684 #define wxSCI_HA_MODULE 7
1685 #define wxSCI_HA_CAPITAL 8
1686 #define wxSCI_HA_DATA 9
1687 #define wxSCI_HA_IMPORT 10
1688 #define wxSCI_HA_OPERATOR 11
1689 #define wxSCI_HA_INSTANCE 12
1690 #define wxSCI_HA_COMMENTLINE 13
1691 #define wxSCI_HA_COMMENTBLOCK 14
1692 #define wxSCI_HA_COMMENTBLOCK2 15
1693 #define wxSCI_HA_COMMENTBLOCK3 16
1694 #define wxSCI_HA_PRAGMA 17
1695 #define wxSCI_HA_PREPROCESSOR 18
1696 #define wxSCI_HA_STRINGEOL 19
1697 #define wxSCI_HA_RESERVED_OPERATOR 20
1698 #define wxSCI_HA_LITERATE_COMMENT 21
1699 #define wxSCI_HA_LITERATE_CODEDELIM 22
1700 
1701 /// Lexical states of SCLEX_TADS3
1702 #define wxSCI_T3_DEFAULT 0
1703 #define wxSCI_T3_X_DEFAULT 1
1704 #define wxSCI_T3_PREPROCESSOR 2
1705 #define wxSCI_T3_BLOCK_COMMENT 3
1706 #define wxSCI_T3_LINE_COMMENT 4
1707 #define wxSCI_T3_OPERATOR 5
1708 #define wxSCI_T3_KEYWORD 6
1709 #define wxSCI_T3_NUMBER 7
1710 #define wxSCI_T3_IDENTIFIER 8
1711 #define wxSCI_T3_S_STRING 9
1712 #define wxSCI_T3_D_STRING 10
1713 #define wxSCI_T3_X_STRING 11
1714 #define wxSCI_T3_LIB_DIRECTIVE 12
1715 #define wxSCI_T3_MSG_PARAM 13
1716 #define wxSCI_T3_HTML_TAG 14
1717 #define wxSCI_T3_HTML_DEFAULT 15
1718 #define wxSCI_T3_HTML_STRING 16
1719 #define wxSCI_T3_USER1 17
1720 #define wxSCI_T3_USER2 18
1721 #define wxSCI_T3_USER3 19
1722 #define wxSCI_T3_BRACE 20
1723 
1724 /// Lexical states for SCLEX_REBOL
1725 #define wxSCI_REBOL_DEFAULT 0
1726 #define wxSCI_REBOL_COMMENTLINE 1
1727 #define wxSCI_REBOL_COMMENTBLOCK 2
1728 #define wxSCI_REBOL_PREFACE 3
1729 #define wxSCI_REBOL_OPERATOR 4
1730 #define wxSCI_REBOL_CHARACTER 5
1731 #define wxSCI_REBOL_QUOTEDSTRING 6
1732 #define wxSCI_REBOL_BRACEDSTRING 7
1733 #define wxSCI_REBOL_NUMBER 8
1734 #define wxSCI_REBOL_PAIR 9
1735 #define wxSCI_REBOL_TUPLE 10
1736 #define wxSCI_REBOL_BINARY 11
1737 #define wxSCI_REBOL_MONEY 12
1738 #define wxSCI_REBOL_ISSUE 13
1739 #define wxSCI_REBOL_TAG 14
1740 #define wxSCI_REBOL_FILE 15
1741 #define wxSCI_REBOL_EMAIL 16
1742 #define wxSCI_REBOL_URL 17
1743 #define wxSCI_REBOL_DATE 18
1744 #define wxSCI_REBOL_TIME 19
1745 #define wxSCI_REBOL_IDENTIFIER 20
1746 #define wxSCI_REBOL_WORD 21
1747 #define wxSCI_REBOL_WORD2 22
1748 #define wxSCI_REBOL_WORD3 23
1749 #define wxSCI_REBOL_WORD4 24
1750 #define wxSCI_REBOL_WORD5 25
1751 #define wxSCI_REBOL_WORD6 26
1752 #define wxSCI_REBOL_WORD7 27
1753 #define wxSCI_REBOL_WORD8 28
1754 
1755 /// Lexical states for SCLEX_SQL
1756 #define wxSCI_SQL_DEFAULT 0
1757 #define wxSCI_SQL_COMMENT 1
1758 #define wxSCI_SQL_COMMENTLINE 2
1759 #define wxSCI_SQL_COMMENTDOC 3
1760 #define wxSCI_SQL_NUMBER 4
1761 #define wxSCI_SQL_WORD 5
1762 #define wxSCI_SQL_STRING 6
1763 #define wxSCI_SQL_CHARACTER 7
1764 #define wxSCI_SQL_SQLPLUS 8
1765 #define wxSCI_SQL_SQLPLUS_PROMPT 9
1766 #define wxSCI_SQL_OPERATOR 10
1767 #define wxSCI_SQL_IDENTIFIER 11
1768 #define wxSCI_SQL_SQLPLUS_COMMENT 13
1769 #define wxSCI_SQL_COMMENTLINEDOC 15
1770 #define wxSCI_SQL_WORD2 16
1771 #define wxSCI_SQL_COMMENTDOCKEYWORD 17
1772 #define wxSCI_SQL_COMMENTDOCKEYWORDERROR 18
1773 #define wxSCI_SQL_USER1 19
1774 #define wxSCI_SQL_USER2 20
1775 #define wxSCI_SQL_USER3 21
1776 #define wxSCI_SQL_USER4 22
1777 #define wxSCI_SQL_QUOTEDIDENTIFIER 23
1778 #define wxSCI_SQL_QOPERATOR 24
1779 
1780 /// Lexical states for SCLEX_SMALLTALK
1781 #define wxSCI_ST_DEFAULT 0
1782 #define wxSCI_ST_STRING 1
1783 #define wxSCI_ST_NUMBER 2
1784 #define wxSCI_ST_COMMENT 3
1785 #define wxSCI_ST_SYMBOL 4
1786 #define wxSCI_ST_BINARY 5
1787 #define wxSCI_ST_BOOL 6
1788 #define wxSCI_ST_SELF 7
1789 #define wxSCI_ST_SUPER 8
1790 #define wxSCI_ST_NIL 9
1791 #define wxSCI_ST_GLOBAL 10
1792 #define wxSCI_ST_RETURN 11
1793 #define wxSCI_ST_SPECIAL 12
1794 #define wxSCI_ST_KWSEND 13
1795 #define wxSCI_ST_ASSIGN 14
1796 #define wxSCI_ST_CHARACTER 15
1797 #define wxSCI_ST_SPEC_SEL 16
1798 
1799 /// Lexical states for SCLEX_FLAGSHIP (clipper)
1800 #define wxSCI_FS_DEFAULT 0
1801 #define wxSCI_FS_COMMENT 1
1802 #define wxSCI_FS_COMMENTLINE 2
1803 #define wxSCI_FS_COMMENTDOC 3
1804 #define wxSCI_FS_COMMENTLINEDOC 4
1805 #define wxSCI_FS_COMMENTDOCKEYWORD 5
1806 #define wxSCI_FS_COMMENTDOCKEYWORDERROR 6
1807 #define wxSCI_FS_KEYWORD 7
1808 #define wxSCI_FS_KEYWORD2 8
1809 #define wxSCI_FS_KEYWORD3 9
1810 #define wxSCI_FS_KEYWORD4 10
1811 #define wxSCI_FS_NUMBER 11
1812 #define wxSCI_FS_STRING 12
1813 #define wxSCI_FS_PREPROCESSOR 13
1814 #define wxSCI_FS_OPERATOR 14
1815 #define wxSCI_FS_IDENTIFIER 15
1816 #define wxSCI_FS_DATE 16
1817 #define wxSCI_FS_STRINGEOL 17
1818 #define wxSCI_FS_CONSTANT 18
1819 #define wxSCI_FS_WORDOPERATOR 19
1820 #define wxSCI_FS_DISABLEDCODE 20
1821 #define wxSCI_FS_DEFAULT_C 21
1822 #define wxSCI_FS_COMMENTDOC_C 22
1823 #define wxSCI_FS_COMMENTLINEDOC_C 23
1824 #define wxSCI_FS_KEYWORD_C 24
1825 #define wxSCI_FS_KEYWORD2_C 25
1826 #define wxSCI_FS_NUMBER_C 26
1827 #define wxSCI_FS_STRING_C 27
1828 #define wxSCI_FS_PREPROCESSOR_C 28
1829 #define wxSCI_FS_OPERATOR_C 29
1830 #define wxSCI_FS_IDENTIFIER_C 30
1831 #define wxSCI_FS_STRINGEOL_C 31
1832 
1833 /// Lexical states for SCLEX_CSOUND
1834 #define wxSCI_CSOUND_DEFAULT 0
1835 #define wxSCI_CSOUND_COMMENT 1
1836 #define wxSCI_CSOUND_NUMBER 2
1837 #define wxSCI_CSOUND_OPERATOR 3
1838 #define wxSCI_CSOUND_INSTR 4
1839 #define wxSCI_CSOUND_IDENTIFIER 5
1840 #define wxSCI_CSOUND_OPCODE 6
1841 #define wxSCI_CSOUND_HEADERSTMT 7
1842 #define wxSCI_CSOUND_USERKEYWORD 8
1843 #define wxSCI_CSOUND_COMMENTBLOCK 9
1844 #define wxSCI_CSOUND_PARAM 10
1845 #define wxSCI_CSOUND_ARATE_VAR 11
1846 #define wxSCI_CSOUND_KRATE_VAR 12
1847 #define wxSCI_CSOUND_IRATE_VAR 13
1848 #define wxSCI_CSOUND_GLOBAL_VAR 14
1849 #define wxSCI_CSOUND_STRINGEOL 15
1850 
1851 /// Lexical states for SCLEX_INNOSETUP
1852 #define wxSCI_INNO_DEFAULT 0
1853 #define wxSCI_INNO_COMMENT 1
1854 #define wxSCI_INNO_KEYWORD 2
1855 #define wxSCI_INNO_PARAMETER 3
1856 #define wxSCI_INNO_SECTION 4
1857 #define wxSCI_INNO_PREPROC 5
1858 #define wxSCI_INNO_INLINE_EXPANSION 6
1859 #define wxSCI_INNO_COMMENT_PASCAL 7
1860 #define wxSCI_INNO_KEYWORD_PASCAL 8
1861 #define wxSCI_INNO_KEYWORD_USER 9
1862 #define wxSCI_INNO_STRING_DOUBLE 10
1863 #define wxSCI_INNO_STRING_SINGLE 11
1864 #define wxSCI_INNO_IDENTIFIER 12
1865 
1866 /// Lexical states for SCLEX_OPAL
1867 #define wxSCI_OPAL_SPACE 0
1868 #define wxSCI_OPAL_COMMENT_BLOCK 1
1869 #define wxSCI_OPAL_COMMENT_LINE 2
1870 #define wxSCI_OPAL_INTEGER 3
1871 #define wxSCI_OPAL_KEYWORD 4
1872 #define wxSCI_OPAL_SORT 5
1873 #define wxSCI_OPAL_STRING 6
1874 #define wxSCI_OPAL_PAR 7
1875 #define wxSCI_OPAL_BOOL_CONST 8
1876 #define wxSCI_OPAL_DEFAULT 32
1877 
1878 /// Lexical states for SCLEX_SPICE
1879 #define wxSCI_SPICE_DEFAULT 0
1880 #define wxSCI_SPICE_IDENTIFIER 1
1881 #define wxSCI_SPICE_KEYWORD 2
1882 #define wxSCI_SPICE_KEYWORD2 3
1883 #define wxSCI_SPICE_KEYWORD3 4
1884 #define wxSCI_SPICE_NUMBER 5
1885 #define wxSCI_SPICE_DELIMITER 6
1886 #define wxSCI_SPICE_VALUE 7
1887 #define wxSCI_SPICE_COMMENTLINE 8
1888 
1889 /// Lexical states for SCLEX_CMAKE
1890 #define wxSCI_CMAKE_DEFAULT 0
1891 #define wxSCI_CMAKE_COMMENT 1
1892 #define wxSCI_CMAKE_STRINGDQ 2
1893 #define wxSCI_CMAKE_STRINGLQ 3
1894 #define wxSCI_CMAKE_STRINGRQ 4
1895 #define wxSCI_CMAKE_COMMANDS 5
1896 #define wxSCI_CMAKE_PARAMETERS 6
1897 #define wxSCI_CMAKE_VARIABLE 7
1898 #define wxSCI_CMAKE_USERDEFINED 8
1899 #define wxSCI_CMAKE_WHILEDEF 9
1900 #define wxSCI_CMAKE_FOREACHDEF 10
1901 #define wxSCI_CMAKE_IFDEFINEDEF 11
1902 #define wxSCI_CMAKE_MACRODEF 12
1903 #define wxSCI_CMAKE_STRINGVAR 13
1904 #define wxSCI_CMAKE_NUMBER 14
1905 
1906 /// Lexical states for SCLEX_GAP
1907 #define wxSCI_GAP_DEFAULT 0
1908 #define wxSCI_GAP_IDENTIFIER 1
1909 #define wxSCI_GAP_KEYWORD 2
1910 #define wxSCI_GAP_KEYWORD2 3
1911 #define wxSCI_GAP_KEYWORD3 4
1912 #define wxSCI_GAP_KEYWORD4 5
1913 #define wxSCI_GAP_STRING 6
1914 #define wxSCI_GAP_CHAR 7
1915 #define wxSCI_GAP_OPERATOR 8
1916 #define wxSCI_GAP_COMMENT 9
1917 #define wxSCI_GAP_NUMBER 10
1918 #define wxSCI_GAP_STRINGEOL 11
1919 
1920 /// Lexical state for SCLEX_PLM
1921 #define wxSCI_PLM_DEFAULT 0
1922 #define wxSCI_PLM_COMMENT 1
1923 #define wxSCI_PLM_STRING 2
1924 #define wxSCI_PLM_NUMBER 3
1925 #define wxSCI_PLM_IDENTIFIER 4
1926 #define wxSCI_PLM_OPERATOR 5
1927 #define wxSCI_PLM_CONTROL 6
1928 #define wxSCI_PLM_KEYWORD 7
1929 
1930 /// Lexical state for SCLEX_PROGRESS
1931 #define wxSCI_ABL_DEFAULT 0
1932 #define wxSCI_ABL_NUMBER 1
1933 #define wxSCI_ABL_WORD 2
1934 #define wxSCI_ABL_STRING 3
1935 #define wxSCI_ABL_CHARACTER 4
1936 #define wxSCI_ABL_PREPROCESSOR 5
1937 #define wxSCI_ABL_OPERATOR 6
1938 #define wxSCI_ABL_IDENTIFIER 7
1939 #define wxSCI_ABL_BLOCK 8
1940 #define wxSCI_ABL_END 9
1941 #define wxSCI_ABL_COMMENT 10
1942 #define wxSCI_ABL_TASKMARKER 11
1943 #define wxSCI_ABL_LINECOMMENT 12
1944 
1945 /// Lexical states for SCLEX_ABAQUS
1946 #define wxSCI_ABAQUS_DEFAULT 0
1947 #define wxSCI_ABAQUS_COMMENT 1
1948 #define wxSCI_ABAQUS_COMMENTBLOCK 2
1949 #define wxSCI_ABAQUS_NUMBER 3
1950 #define wxSCI_ABAQUS_STRING 4
1951 #define wxSCI_ABAQUS_OPERATOR 5
1952 #define wxSCI_ABAQUS_WORD 6
1953 #define wxSCI_ABAQUS_PROCESSOR 7
1954 #define wxSCI_ABAQUS_COMMAND 8
1955 #define wxSCI_ABAQUS_SLASHCOMMAND 9
1956 #define wxSCI_ABAQUS_STARCOMMAND 10
1957 #define wxSCI_ABAQUS_ARGUMENT 11
1958 #define wxSCI_ABAQUS_FUNCTION 12
1959 
1960 /// Lexical states for SCLEX_ASYMPTOTE
1961 #define wxSCI_ASY_DEFAULT 0
1962 #define wxSCI_ASY_COMMENT 1
1963 #define wxSCI_ASY_COMMENTLINE 2
1964 #define wxSCI_ASY_NUMBER 3
1965 #define wxSCI_ASY_WORD 4
1966 #define wxSCI_ASY_STRING 5
1967 #define wxSCI_ASY_CHARACTER 6
1968 #define wxSCI_ASY_OPERATOR 7
1969 #define wxSCI_ASY_IDENTIFIER 8
1970 #define wxSCI_ASY_STRINGEOL 9
1971 #define wxSCI_ASY_COMMENTLINEDOC 10
1972 #define wxSCI_ASY_WORD2 11
1973 
1974 /// Lexical states for SCLEX_R
1975 #define wxSCI_R_DEFAULT 0
1976 #define wxSCI_R_COMMENT 1
1977 #define wxSCI_R_KWORD 2
1978 #define wxSCI_R_BASEKWORD 3
1979 #define wxSCI_R_OTHERKWORD 4
1980 #define wxSCI_R_NUMBER 5
1981 #define wxSCI_R_STRING 6
1982 #define wxSCI_R_STRING2 7
1983 #define wxSCI_R_OPERATOR 8
1984 #define wxSCI_R_IDENTIFIER 9
1985 #define wxSCI_R_INFIX 10
1986 #define wxSCI_R_INFIXEOL 11
1987 
1988 /// Lexical state for SCLEX_MAGIK
1989 #define wxSCI_MAGIK_DEFAULT 0
1990 #define wxSCI_MAGIK_COMMENT 1
1991 #define wxSCI_MAGIK_HYPER_COMMENT 16
1992 #define wxSCI_MAGIK_STRING 2
1993 #define wxSCI_MAGIK_CHARACTER 3
1994 #define wxSCI_MAGIK_NUMBER 4
1995 #define wxSCI_MAGIK_IDENTIFIER 5
1996 #define wxSCI_MAGIK_OPERATOR 6
1997 #define wxSCI_MAGIK_FLOW 7
1998 #define wxSCI_MAGIK_CONTAINER 8
1999 #define wxSCI_MAGIK_BRACKET_BLOCK 9
2000 #define wxSCI_MAGIK_BRACE_BLOCK 10
2001 #define wxSCI_MAGIK_SQBRACKET_BLOCK 11
2002 #define wxSCI_MAGIK_UNKNOWN_KEYWORD 12
2003 #define wxSCI_MAGIK_KEYWORD 13
2004 #define wxSCI_MAGIK_PRAGMA 14
2005 #define wxSCI_MAGIK_SYMBOL 15
2006 
2007 /// Lexical state for SCLEX_POWERSHELL
2008 #define wxSCI_POWERSHELL_DEFAULT 0
2009 #define wxSCI_POWERSHELL_COMMENT 1
2010 #define wxSCI_POWERSHELL_STRING 2
2011 #define wxSCI_POWERSHELL_CHARACTER 3
2012 #define wxSCI_POWERSHELL_NUMBER 4
2013 #define wxSCI_POWERSHELL_VARIABLE 5
2014 #define wxSCI_POWERSHELL_OPERATOR 6
2015 #define wxSCI_POWERSHELL_IDENTIFIER 7
2016 #define wxSCI_POWERSHELL_KEYWORD 8
2017 #define wxSCI_POWERSHELL_CMDLET 9
2018 #define wxSCI_POWERSHELL_ALIAS 10
2019 #define wxSCI_POWERSHELL_FUNCTION 11
2020 #define wxSCI_POWERSHELL_USER1 12
2021 #define wxSCI_POWERSHELL_COMMENTSTREAM 13
2022 #define wxSCI_POWERSHELL_HERE_STRING 14
2023 #define wxSCI_POWERSHELL_HERE_CHARACTER 15
2024 #define wxSCI_POWERSHELL_COMMENTDOCKEYWORD 16
2025 
2026 /// Lexical state for SCLEX_MYSQL
2027 #define wxSCI_MYSQL_DEFAULT 0
2028 #define wxSCI_MYSQL_COMMENT 1
2029 #define wxSCI_MYSQL_COMMENTLINE 2
2030 #define wxSCI_MYSQL_VARIABLE 3
2031 #define wxSCI_MYSQL_SYSTEMVARIABLE 4
2032 #define wxSCI_MYSQL_KNOWNSYSTEMVARIABLE 5
2033 #define wxSCI_MYSQL_NUMBER 6
2034 #define wxSCI_MYSQL_MAJORKEYWORD 7
2035 #define wxSCI_MYSQL_KEYWORD 8
2036 #define wxSCI_MYSQL_DATABASEOBJECT 9
2037 #define wxSCI_MYSQL_PROCEDUREKEYWORD 10
2038 #define wxSCI_MYSQL_STRING 11
2039 #define wxSCI_MYSQL_SQSTRING 12
2040 #define wxSCI_MYSQL_DQSTRING 13
2041 #define wxSCI_MYSQL_OPERATOR 14
2042 #define wxSCI_MYSQL_FUNCTION 15
2043 #define wxSCI_MYSQL_IDENTIFIER 16
2044 #define wxSCI_MYSQL_QUOTEDIDENTIFIER 17
2045 #define wxSCI_MYSQL_USER1 18
2046 #define wxSCI_MYSQL_USER2 19
2047 #define wxSCI_MYSQL_USER3 20
2048 #define wxSCI_MYSQL_HIDDENCOMMAND 21
2049 #define wxSCI_MYSQL_PLACEHOLDER 22
2050 
2051 /// Lexical state for SCLEX_PO
2052 #define wxSCI_PO_DEFAULT 0
2053 #define wxSCI_PO_COMMENT 1
2054 #define wxSCI_PO_MSGID 2
2055 #define wxSCI_PO_MSGID_TEXT 3
2056 #define wxSCI_PO_MSGSTR 4
2057 #define wxSCI_PO_MSGSTR_TEXT 5
2058 #define wxSCI_PO_MSGCTXT 6
2059 #define wxSCI_PO_MSGCTXT_TEXT 7
2060 #define wxSCI_PO_FUZZY 8
2061 #define wxSCI_PO_PROGRAMMER_COMMENT 9
2062 #define wxSCI_PO_REFERENCE 10
2063 #define wxSCI_PO_FLAGS 11
2064 #define wxSCI_PO_MSGID_TEXT_EOL 12
2065 #define wxSCI_PO_MSGSTR_TEXT_EOL 13
2066 #define wxSCI_PO_MSGCTXT_TEXT_EOL 14
2067 #define wxSCI_PO_ERROR 15
2068 
2069 /// Lexical states for SCLEX_PASCAL
2070 #define wxSCI_PAS_DEFAULT 0
2071 #define wxSCI_PAS_IDENTIFIER 1
2072 #define wxSCI_PAS_COMMENT 2
2073 #define wxSCI_PAS_COMMENT2 3
2074 #define wxSCI_PAS_COMMENTLINE 4
2075 #define wxSCI_PAS_PREPROCESSOR 5
2076 #define wxSCI_PAS_PREPROCESSOR2 6
2077 #define wxSCI_PAS_NUMBER 7
2078 #define wxSCI_PAS_HEXNUMBER 8
2079 #define wxSCI_PAS_WORD 9
2080 #define wxSCI_PAS_STRING 10
2081 #define wxSCI_PAS_STRINGEOL 11
2082 #define wxSCI_PAS_CHARACTER 12
2083 #define wxSCI_PAS_OPERATOR 13
2084 #define wxSCI_PAS_ASM 14
2085 
2086 /// Lexical state for SCLEX_SORCUS
2087 #define wxSCI_SORCUS_DEFAULT 0
2088 #define wxSCI_SORCUS_COMMAND 1
2089 #define wxSCI_SORCUS_PARAMETER 2
2090 #define wxSCI_SORCUS_COMMENTLINE 3
2091 #define wxSCI_SORCUS_STRING 4
2092 #define wxSCI_SORCUS_STRINGEOL 5
2093 #define wxSCI_SORCUS_IDENTIFIER 6
2094 #define wxSCI_SORCUS_OPERATOR 7
2095 #define wxSCI_SORCUS_NUMBER 8
2096 #define wxSCI_SORCUS_CONSTANT 9
2097 
2098 /// Lexical state for SCLEX_POWERPRO
2099 #define wxSCI_POWERPRO_DEFAULT 0
2100 #define wxSCI_POWERPRO_COMMENTBLOCK 1
2101 #define wxSCI_POWERPRO_COMMENTLINE 2
2102 #define wxSCI_POWERPRO_NUMBER 3
2103 #define wxSCI_POWERPRO_WORD 4
2104 #define wxSCI_POWERPRO_WORD2 5
2105 #define wxSCI_POWERPRO_WORD3 6
2106 #define wxSCI_POWERPRO_WORD4 7
2107 #define wxSCI_POWERPRO_DOUBLEQUOTEDSTRING 8
2108 #define wxSCI_POWERPRO_SINGLEQUOTEDSTRING 9
2109 #define wxSCI_POWERPRO_LINECONTINUE 10
2110 #define wxSCI_POWERPRO_OPERATOR 11
2111 #define wxSCI_POWERPRO_IDENTIFIER 12
2112 #define wxSCI_POWERPRO_STRINGEOL 13
2113 #define wxSCI_POWERPRO_VERBATIM 14
2114 #define wxSCI_POWERPRO_ALTQUOTE 15
2115 #define wxSCI_POWERPRO_FUNCTION 16
2116 
2117 /// Lexical states for SCLEX_SML
2118 #define wxSCI_SML_DEFAULT 0
2119 #define wxSCI_SML_IDENTIFIER 1
2120 #define wxSCI_SML_TAGNAME 2
2121 #define wxSCI_SML_KEYWORD 3
2122 #define wxSCI_SML_KEYWORD2 4
2123 #define wxSCI_SML_KEYWORD3 5
2124 #define wxSCI_SML_LINENUM 6
2125 #define wxSCI_SML_OPERATOR 7
2126 #define wxSCI_SML_NUMBER 8
2127 #define wxSCI_SML_CHAR 9
2128 #define wxSCI_SML_STRING 11
2129 #define wxSCI_SML_COMMENT 12
2130 #define wxSCI_SML_COMMENT1 13
2131 #define wxSCI_SML_COMMENT2 14
2132 #define wxSCI_SML_COMMENT3 15
2133 
2134 /// Lexical state for SCLEX_MARKDOWN
2135 #define wxSCI_MARKDOWN_DEFAULT 0
2136 #define wxSCI_MARKDOWN_LINE_BEGIN 1
2137 #define wxSCI_MARKDOWN_STRONG1 2
2138 #define wxSCI_MARKDOWN_STRONG2 3
2139 #define wxSCI_MARKDOWN_EM1 4
2140 #define wxSCI_MARKDOWN_EM2 5
2141 #define wxSCI_MARKDOWN_HEADER1 6
2142 #define wxSCI_MARKDOWN_HEADER2 7
2143 #define wxSCI_MARKDOWN_HEADER3 8
2144 #define wxSCI_MARKDOWN_HEADER4 9
2145 #define wxSCI_MARKDOWN_HEADER5 10
2146 #define wxSCI_MARKDOWN_HEADER6 11
2147 #define wxSCI_MARKDOWN_PRECHAR 12
2148 #define wxSCI_MARKDOWN_ULIST_ITEM 13
2149 #define wxSCI_MARKDOWN_OLIST_ITEM 14
2150 #define wxSCI_MARKDOWN_BLOCKQUOTE 15
2151 #define wxSCI_MARKDOWN_STRIKEOUT 16
2152 #define wxSCI_MARKDOWN_HRULE 17
2153 #define wxSCI_MARKDOWN_LINK 18
2154 #define wxSCI_MARKDOWN_CODE 19
2155 #define wxSCI_MARKDOWN_CODE2 20
2156 #define wxSCI_MARKDOWN_CODEBK 21
2157 
2158 /// Lexical state for SCLEX_TXT2TAGS
2159 #define wxSCI_TXT2TAGS_DEFAULT 0
2160 #define wxSCI_TXT2TAGS_LINE_BEGIN 1
2161 #define wxSCI_TXT2TAGS_STRONG1 2
2162 #define wxSCI_TXT2TAGS_STRONG2 3
2163 #define wxSCI_TXT2TAGS_EM1 4
2164 #define wxSCI_TXT2TAGS_EM2 5
2165 #define wxSCI_TXT2TAGS_HEADER1 6
2166 #define wxSCI_TXT2TAGS_HEADER2 7
2167 #define wxSCI_TXT2TAGS_HEADER3 8
2168 #define wxSCI_TXT2TAGS_HEADER4 9
2169 #define wxSCI_TXT2TAGS_HEADER5 10
2170 #define wxSCI_TXT2TAGS_HEADER6 11
2171 #define wxSCI_TXT2TAGS_PRECHAR 12
2172 #define wxSCI_TXT2TAGS_ULIST_ITEM 13
2173 #define wxSCI_TXT2TAGS_OLIST_ITEM 14
2174 #define wxSCI_TXT2TAGS_BLOCKQUOTE 15
2175 #define wxSCI_TXT2TAGS_STRIKEOUT 16
2176 #define wxSCI_TXT2TAGS_HRULE 17
2177 #define wxSCI_TXT2TAGS_LINK 18
2178 #define wxSCI_TXT2TAGS_CODE 19
2179 #define wxSCI_TXT2TAGS_CODE2 20
2180 #define wxSCI_TXT2TAGS_CODEBK 21
2181 #define wxSCI_TXT2TAGS_COMMENT 22
2182 #define wxSCI_TXT2TAGS_OPTION 23
2183 #define wxSCI_TXT2TAGS_PREPROC 24
2184 #define wxSCI_TXT2TAGS_POSTPROC 25
2185 
2186 /// Lexical states for SCLEX_A68K
2187 #define wxSCI_A68K_DEFAULT 0
2188 #define wxSCI_A68K_COMMENT 1
2189 #define wxSCI_A68K_NUMBER_DEC 2
2190 #define wxSCI_A68K_NUMBER_BIN 3
2191 #define wxSCI_A68K_NUMBER_HEX 4
2192 #define wxSCI_A68K_STRING1 5
2193 #define wxSCI_A68K_OPERATOR 6
2194 #define wxSCI_A68K_CPUINSTRUCTION 7
2195 #define wxSCI_A68K_EXTINSTRUCTION 8
2196 #define wxSCI_A68K_REGISTER 9
2197 #define wxSCI_A68K_DIRECTIVE 10
2198 #define wxSCI_A68K_MACRO_ARG 11
2199 #define wxSCI_A68K_LABEL 12
2200 #define wxSCI_A68K_STRING2 13
2201 #define wxSCI_A68K_IDENTIFIER 14
2202 #define wxSCI_A68K_MACRO_DECLARATION 15
2203 #define wxSCI_A68K_COMMENT_WORD 16
2204 #define wxSCI_A68K_COMMENT_SPECIAL 17
2205 #define wxSCI_A68K_COMMENT_DOXYGEN 18
2206 
2207 /// Lexical states for SCLEX_MODULA
2208 #define wxSCI_MODULA_DEFAULT 0
2209 #define wxSCI_MODULA_COMMENT 1
2210 #define wxSCI_MODULA_DOXYCOMM 2
2211 #define wxSCI_MODULA_DOXYKEY 3
2212 #define wxSCI_MODULA_KEYWORD 4
2213 #define wxSCI_MODULA_RESERVED 5
2214 #define wxSCI_MODULA_NUMBER 6
2215 #define wxSCI_MODULA_BASENUM 7
2216 #define wxSCI_MODULA_FLOAT 8
2217 #define wxSCI_MODULA_STRING 9
2218 #define wxSCI_MODULA_STRSPEC 10
2219 #define wxSCI_MODULA_CHAR 11
2220 #define wxSCI_MODULA_CHARSPEC 12
2221 #define wxSCI_MODULA_PROC 13
2222 #define wxSCI_MODULA_PRAGMA 14
2223 #define wxSCI_MODULA_PRGKEY 15
2224 #define wxSCI_MODULA_OPERATOR 16
2225 #define wxSCI_MODULA_BADSTR 17
2226 
2227 /// Lexical states for SCLEX_COFFEESCRIPT
2228 #define wxSCI_COFFEESCRIPT_DEFAULT 0
2229 #define wxSCI_COFFEESCRIPT_COMMENT 1
2230 #define wxSCI_COFFEESCRIPT_COMMENTLINE 2
2231 #define wxSCI_COFFEESCRIPT_COMMENTDOC 3
2232 #define wxSCI_COFFEESCRIPT_NUMBER 4
2233 #define wxSCI_COFFEESCRIPT_WORD 5
2234 #define wxSCI_COFFEESCRIPT_STRING 6
2235 #define wxSCI_COFFEESCRIPT_CHARACTER 7
2236 #define wxSCI_COFFEESCRIPT_UUID 8
2237 #define wxSCI_COFFEESCRIPT_PREPROCESSOR 9
2238 #define wxSCI_COFFEESCRIPT_OPERATOR 10
2239 #define wxSCI_COFFEESCRIPT_IDENTIFIER 11
2240 #define wxSCI_COFFEESCRIPT_STRINGEOL 12
2241 #define wxSCI_COFFEESCRIPT_VERBATIM 13
2242 #define wxSCI_COFFEESCRIPT_REGEX 14
2243 #define wxSCI_COFFEESCRIPT_COMMENTLINEDOC 15
2244 #define wxSCI_COFFEESCRIPT_WORD2 16
2245 #define wxSCI_COFFEESCRIPT_COMMENTDOCKEYWORD 17
2246 #define wxSCI_COFFEESCRIPT_COMMENTDOCKEYWORDERROR 18
2247 #define wxSCI_COFFEESCRIPT_GLOBALCLASS 19
2248 #define wxSCI_COFFEESCRIPT_STRINGRAW 20
2249 #define wxSCI_COFFEESCRIPT_TRIPLEVERBATIM 21
2250 #define wxSCI_COFFEESCRIPT_COMMENTBLOCK 22
2251 #define wxSCI_COFFEESCRIPT_VERBOSE_REGEX 23
2252 #define wxSCI_COFFEESCRIPT_VERBOSE_REGEX_COMMENT 24
2253 #define wxSCI_COFFEESCRIPT_INSTANCEPROPERTY 25
2254 
2255 /// Lexical states for SCLEX_AVS
2256 #define wxSCI_AVS_DEFAULT 0
2257 #define wxSCI_AVS_COMMENTBLOCK 1
2258 #define wxSCI_AVS_COMMENTBLOCKN 2
2259 #define wxSCI_AVS_COMMENTLINE 3
2260 #define wxSCI_AVS_NUMBER 4
2261 #define wxSCI_AVS_OPERATOR 5
2262 #define wxSCI_AVS_IDENTIFIER 6
2263 #define wxSCI_AVS_STRING 7
2264 #define wxSCI_AVS_TRIPLESTRING 8
2265 #define wxSCI_AVS_KEYWORD 9
2266 #define wxSCI_AVS_FILTER 10
2267 #define wxSCI_AVS_PLUGIN 11
2268 #define wxSCI_AVS_FUNCTION 12
2269 #define wxSCI_AVS_CLIPPROP 13
2270 #define wxSCI_AVS_USERDFN 14
2271 
2272 /// Lexical states for SCLEX_ECL
2273 #define wxSCI_ECL_DEFAULT 0
2274 #define wxSCI_ECL_COMMENT 1
2275 #define wxSCI_ECL_COMMENTLINE 2
2276 #define wxSCI_ECL_NUMBER 3
2277 #define wxSCI_ECL_STRING 4
2278 #define wxSCI_ECL_WORD0 5
2279 #define wxSCI_ECL_OPERATOR 6
2280 #define wxSCI_ECL_CHARACTER 7
2281 #define wxSCI_ECL_UUID 8
2282 #define wxSCI_ECL_PREPROCESSOR 9
2283 #define wxSCI_ECL_UNKNOWN 10
2284 #define wxSCI_ECL_IDENTIFIER 11
2285 #define wxSCI_ECL_STRINGEOL 12
2286 #define wxSCI_ECL_VERBATIM 13
2287 #define wxSCI_ECL_REGEX 14
2288 #define wxSCI_ECL_COMMENTLINEDOC 15
2289 #define wxSCI_ECL_WORD1 16
2290 #define wxSCI_ECL_COMMENTDOCKEYWORD 17
2291 #define wxSCI_ECL_COMMENTDOCKEYWORDERROR 18
2292 #define wxSCI_ECL_WORD2 19
2293 #define wxSCI_ECL_WORD3 20
2294 #define wxSCI_ECL_WORD4 21
2295 #define wxSCI_ECL_WORD5 22
2296 #define wxSCI_ECL_COMMENTDOC 23
2297 #define wxSCI_ECL_ADDED 24
2298 #define wxSCI_ECL_DELETED 25
2299 #define wxSCI_ECL_CHANGED 26
2300 #define wxSCI_ECL_MOVED 27
2301 
2302 /// Lexical states for SCLEX_OSCRIPT
2303 #define wxSCI_OSCRIPT_DEFAULT 0
2304 #define wxSCI_OSCRIPT_LINE_COMMENT 1
2305 #define wxSCI_OSCRIPT_BLOCK_COMMENT 2
2306 #define wxSCI_OSCRIPT_DOC_COMMENT 3
2307 #define wxSCI_OSCRIPT_PREPROCESSOR 4
2308 #define wxSCI_OSCRIPT_NUMBER 5
2309 #define wxSCI_OSCRIPT_SINGLEQUOTE_STRING 6
2310 #define wxSCI_OSCRIPT_DOUBLEQUOTE_STRING 7
2311 #define wxSCI_OSCRIPT_CONSTANT 8
2312 #define wxSCI_OSCRIPT_IDENTIFIER 9
2313 #define wxSCI_OSCRIPT_GLOBAL 10
2314 #define wxSCI_OSCRIPT_KEYWORD 11
2315 #define wxSCI_OSCRIPT_OPERATOR 12
2316 #define wxSCI_OSCRIPT_LABEL 13
2317 #define wxSCI_OSCRIPT_TYPE 14
2318 #define wxSCI_OSCRIPT_FUNCTION 15
2319 #define wxSCI_OSCRIPT_OBJECT 16
2320 #define wxSCI_OSCRIPT_PROPERTY 17
2321 #define wxSCI_OSCRIPT_METHOD 18
2322 
2323 /// Lexical states for SCLEX_VISUALPROLOG
2324 #define wxSCI_VISUALPROLOG_DEFAULT 0
2325 #define wxSCI_VISUALPROLOG_KEY_MAJOR 1
2326 #define wxSCI_VISUALPROLOG_KEY_MINOR 2
2327 #define wxSCI_VISUALPROLOG_KEY_DIRECTIVE 3
2328 #define wxSCI_VISUALPROLOG_COMMENT_BLOCK 4
2329 #define wxSCI_VISUALPROLOG_COMMENT_LINE 5
2330 #define wxSCI_VISUALPROLOG_COMMENT_KEY 6
2331 #define wxSCI_VISUALPROLOG_COMMENT_KEY_ERROR 7
2332 #define wxSCI_VISUALPROLOG_IDENTIFIER 8
2333 #define wxSCI_VISUALPROLOG_VARIABLE 9
2334 #define wxSCI_VISUALPROLOG_ANONYMOUS 10
2335 #define wxSCI_VISUALPROLOG_NUMBER 11
2336 #define wxSCI_VISUALPROLOG_OPERATOR 12
2337 #define wxSCI_VISUALPROLOG_CHARACTER 13
2338 #define wxSCI_VISUALPROLOG_CHARACTER_TOO_MANY 14
2339 #define wxSCI_VISUALPROLOG_CHARACTER_ESCAPE_ERROR 15
2340 #define wxSCI_VISUALPROLOG_STRING 16
2341 #define wxSCI_VISUALPROLOG_STRING_ESCAPE 17
2342 #define wxSCI_VISUALPROLOG_STRING_ESCAPE_ERROR 18
2343 #define wxSCI_VISUALPROLOG_STRING_EOL_OPEN 19
2344 #define wxSCI_VISUALPROLOG_STRING_VERBATIM 20
2345 #define wxSCI_VISUALPROLOG_STRING_VERBATIM_SPECIAL 21
2346 #define wxSCI_VISUALPROLOG_STRING_VERBATIM_EOL 22
2347 
2348 /// Lexical states for SCLEX_STTXT
2349 #define wxSCI_STTXT_DEFAULT 0
2350 #define wxSCI_STTXT_COMMENT 1
2351 #define wxSCI_STTXT_COMMENTLINE 2
2352 #define wxSCI_STTXT_KEYWORD 3
2353 #define wxSCI_STTXT_TYPE 4
2354 #define wxSCI_STTXT_FUNCTION 5
2355 #define wxSCI_STTXT_FB 6
2356 #define wxSCI_STTXT_NUMBER 7
2357 #define wxSCI_STTXT_HEXNUMBER 8
2358 #define wxSCI_STTXT_PRAGMA 9
2359 #define wxSCI_STTXT_OPERATOR 10
2360 #define wxSCI_STTXT_CHARACTER 11
2361 #define wxSCI_STTXT_STRING1 12
2362 #define wxSCI_STTXT_STRING2 13
2363 #define wxSCI_STTXT_STRINGEOL 14
2364 #define wxSCI_STTXT_IDENTIFIER 15
2365 #define wxSCI_STTXT_DATETIME 16
2366 #define wxSCI_STTXT_VARS 17
2367 #define wxSCI_STTXT_PRAGMAS 18
2368 
2369 /// Lexical states for SCLEX_KVIRC
2370 #define wxSCI_KVIRC_DEFAULT 0
2371 #define wxSCI_KVIRC_COMMENT 1
2372 #define wxSCI_KVIRC_COMMENTBLOCK 2
2373 #define wxSCI_KVIRC_STRING 3
2374 #define wxSCI_KVIRC_WORD 4
2375 #define wxSCI_KVIRC_KEYWORD 5
2376 #define wxSCI_KVIRC_FUNCTION_KEYWORD 6
2377 #define wxSCI_KVIRC_FUNCTION 7
2378 #define wxSCI_KVIRC_VARIABLE 8
2379 #define wxSCI_KVIRC_NUMBER 9
2380 #define wxSCI_KVIRC_OPERATOR 10
2381 #define wxSCI_KVIRC_STRING_FUNCTION 11
2382 #define wxSCI_KVIRC_STRING_VARIABLE 12
2383 
2384 /// Lexical states for SCLEX_RUST
2385 #define wxSCI_RUST_DEFAULT 0
2386 #define wxSCI_RUST_COMMENTBLOCK 1
2387 #define wxSCI_RUST_COMMENTLINE 2
2388 #define wxSCI_RUST_COMMENTBLOCKDOC 3
2389 #define wxSCI_RUST_COMMENTLINEDOC 4
2390 #define wxSCI_RUST_NUMBER 5
2391 #define wxSCI_RUST_WORD 6
2392 #define wxSCI_RUST_WORD2 7
2393 #define wxSCI_RUST_WORD3 8
2394 #define wxSCI_RUST_WORD4 9
2395 #define wxSCI_RUST_WORD5 10
2396 #define wxSCI_RUST_WORD6 11
2397 #define wxSCI_RUST_WORD7 12
2398 #define wxSCI_RUST_STRING 13
2399 #define wxSCI_RUST_STRINGR 14
2400 #define wxSCI_RUST_CHARACTER 15
2401 #define wxSCI_RUST_OPERATOR 16
2402 #define wxSCI_RUST_IDENTIFIER 17
2403 #define wxSCI_RUST_LIFETIME 18
2404 #define wxSCI_RUST_MACRO 19
2405 #define wxSCI_RUST_LEXERROR 20
2406 #define wxSCI_RUST_BYTESTRING 21
2407 #define wxSCI_RUST_BYTESTRINGR 22
2408 #define wxSCI_RUST_BYTECHARACTER 23
2409 
2410 /// Lexical states for SCLEX_DMAP
2411 #define wxSCI_DMAP_DEFAULT 0
2412 #define wxSCI_DMAP_COMMENT 1
2413 #define wxSCI_DMAP_NUMBER 2
2414 #define wxSCI_DMAP_STRING1 3
2415 #define wxSCI_DMAP_STRING2 4
2416 #define wxSCI_DMAP_STRINGEOL 5
2417 #define wxSCI_DMAP_OPERATOR 6
2418 #define wxSCI_DMAP_IDENTIFIER 7
2419 #define wxSCI_DMAP_WORD 8
2420 #define wxSCI_DMAP_WORD2 9
2421 #define wxSCI_DMAP_WORD3 10
2422 
2423 /// Lexical states for SCLEX_DMIS
2424 #define wxSCI_DMIS_DEFAULT 0
2425 #define wxSCI_DMIS_COMMENT 1
2426 #define wxSCI_DMIS_STRING 2
2427 #define wxSCI_DMIS_NUMBER 3
2428 #define wxSCI_DMIS_KEYWORD 4
2429 #define wxSCI_DMIS_MAJORWORD 5
2430 #define wxSCI_DMIS_MINORWORD 6
2431 #define wxSCI_DMIS_UNSUPPORTED_MAJOR 7
2432 #define wxSCI_DMIS_UNSUPPORTED_MINOR 8
2433 #define wxSCI_DMIS_LABEL 9
2434 
2435 /// Lexical states for SCLEX_REGISTRY
2436 #define wxSCI_REG_DEFAULT 0
2437 #define wxSCI_REG_COMMENT 1
2438 #define wxSCI_REG_VALUENAME 2
2439 #define wxSCI_REG_STRING 3
2440 #define wxSCI_REG_HEXDIGIT 4
2441 #define wxSCI_REG_VALUETYPE 5
2442 #define wxSCI_REG_ADDEDKEY 6
2443 #define wxSCI_REG_DELETEDKEY 7
2444 #define wxSCI_REG_ESCAPED 8
2445 #define wxSCI_REG_KEYPATH_GUID 9
2446 #define wxSCI_REG_STRING_GUID 10
2447 #define wxSCI_REG_PARAMETER 11
2448 #define wxSCI_REG_OPERATOR 12
2449 
2450 /// Lexical state for SCLEX_BIBTEX
2451 #define wxSCI_BIBTEX_DEFAULT 0
2452 #define wxSCI_BIBTEX_ENTRY 1
2453 #define wxSCI_BIBTEX_UNKNOWN_ENTRY 2
2454 #define wxSCI_BIBTEX_KEY 3
2455 #define wxSCI_BIBTEX_PARAMETER 4
2456 #define wxSCI_BIBTEX_VALUE 5
2457 #define wxSCI_BIBTEX_COMMENT 6
2458 
2459 /// Lexical state for SCLEX_SREC
2460 #define wxSCI_HEX_DEFAULT 0
2461 #define wxSCI_HEX_RECSTART 1
2462 #define wxSCI_HEX_RECTYPE 2
2463 #define wxSCI_HEX_RECTYPE_UNKNOWN 3
2464 #define wxSCI_HEX_BYTECOUNT 4
2465 #define wxSCI_HEX_BYTECOUNT_WRONG 5
2466 #define wxSCI_HEX_NOADDRESS 6
2467 #define wxSCI_HEX_DATAADDRESS 7
2468 #define wxSCI_HEX_RECCOUNT 8
2469 #define wxSCI_HEX_STARTADDRESS 9
2470 #define wxSCI_HEX_ADDRESSFIELD_UNKNOWN 10
2471 #define wxSCI_HEX_EXTENDEDADDRESS 11
2472 #define wxSCI_HEX_DATA_ODD 12
2473 #define wxSCI_HEX_DATA_EVEN 13
2474 #define wxSCI_HEX_DATA_UNKNOWN 14
2475 #define wxSCI_HEX_DATA_EMPTY 15
2476 #define wxSCI_HEX_CHECKSUM 16
2477 #define wxSCI_HEX_CHECKSUM_WRONG 17
2478 #define wxSCI_HEX_GARBAGE 18
2479 
2480 /// Lexical state for SCLEX_IHEX (shared with Srec)
2481 /// Lexical state for SCLEX_TEHEX (shared with Srec)
2482 /// Lexical states for SCLEX_JSON
2483 #define wxSCI_JSON_DEFAULT 0
2484 #define wxSCI_JSON_NUMBER 1
2485 #define wxSCI_JSON_STRING 2
2486 #define wxSCI_JSON_STRINGEOL 3
2487 #define wxSCI_JSON_PROPERTYNAME 4
2488 #define wxSCI_JSON_ESCAPESEQUENCE 5
2489 #define wxSCI_JSON_LINECOMMENT 6
2490 #define wxSCI_JSON_BLOCKCOMMENT 7
2491 #define wxSCI_JSON_OPERATOR 8
2492 #define wxSCI_JSON_URI 9
2493 #define wxSCI_JSON_COMPACTIRI 10
2494 #define wxSCI_JSON_KEYWORD 11
2495 #define wxSCI_JSON_LDKEYWORD 12
2496 #define wxSCI_JSON_ERROR 13
2497 #define wxSCI_EDI_DEFAULT 0
2498 #define wxSCI_EDI_SEGMENTSTART 1
2499 #define wxSCI_EDI_SEGMENTEND 2
2500 #define wxSCI_EDI_SEP_ELEMENT 3
2501 #define wxSCI_EDI_SEP_COMPOSITE 4
2502 #define wxSCI_EDI_SEP_RELEASE 5
2503 #define wxSCI_EDI_UNA 6
2504 #define wxSCI_EDI_UNH 7
2505 #define wxSCI_EDI_BADSEGMENT 8
2506 
2507 //}}}
2508 //----------------------------------------------------------------------
2509 
2510 
2511 #if defined(__clang__) || wxCHECK_GCC_VERSION(4, 5)
2512     #define wxSCI_STRINGIFY(X) #X
2513     #define wxSCI_DEPRECATED_MACRO_VALUE(value,msg) \
2514         _Pragma(wxSCI_STRINGIFY(GCC warning msg)) value
2515 #else
2516     #define wxSCI_DEPRECATED_MACRO_VALUE(value,msg) value
2517 #endif
2518 
2519 //----------------------------------------------------------------------
2520 // Commands that can be bound to keystrokes section {{{
2521 
2522 
2523 /// Redoes the next action on the undo history.
2524 #define wxSCI_CMD_REDO 2011
2525 
2526 /// Select all the text in the document.
2527 #define wxSCI_CMD_SELECTALL 2013
2528 
2529 /// Undo one action in the undo history.
2530 #define wxSCI_CMD_UNDO 2176
2531 
2532 /// Cut the selection to the clipboard.
2533 #define wxSCI_CMD_CUT 2177
2534 
2535 /// Copy the selection to the clipboard.
2536 #define wxSCI_CMD_COPY 2178
2537 
2538 /// Paste the contents of the clipboard into the document replacing the selection.
2539 #define wxSCI_CMD_PASTE 2179
2540 
2541 /// Clear the selection.
2542 #define wxSCI_CMD_CLEAR 2180
2543 
2544 /// Move caret down one line.
2545 #define wxSCI_CMD_LINEDOWN 2300
2546 
2547 /// Move caret down one line extending selection to new caret position.
2548 #define wxSCI_CMD_LINEDOWNEXTEND 2301
2549 
2550 /// Move caret up one line.
2551 #define wxSCI_CMD_LINEUP 2302
2552 
2553 /// Move caret up one line extending selection to new caret position.
2554 #define wxSCI_CMD_LINEUPEXTEND 2303
2555 
2556 /// Move caret left one character.
2557 #define wxSCI_CMD_CHARLEFT 2304
2558 
2559 /// Move caret left one character extending selection to new caret position.
2560 #define wxSCI_CMD_CHARLEFTEXTEND 2305
2561 
2562 /// Move caret right one character.
2563 #define wxSCI_CMD_CHARRIGHT 2306
2564 
2565 /// Move caret right one character extending selection to new caret position.
2566 #define wxSCI_CMD_CHARRIGHTEXTEND 2307
2567 
2568 /// Move caret left one word.
2569 #define wxSCI_CMD_WORDLEFT 2308
2570 
2571 /// Move caret left one word extending selection to new caret position.
2572 #define wxSCI_CMD_WORDLEFTEXTEND 2309
2573 
2574 /// Move caret right one word.
2575 #define wxSCI_CMD_WORDRIGHT 2310
2576 
2577 /// Move caret right one word extending selection to new caret position.
2578 #define wxSCI_CMD_WORDRIGHTEXTEND 2311
2579 
2580 /// Move caret to first position on line.
2581 #define wxSCI_CMD_HOME 2312
2582 
2583 /// Move caret to first position on line extending selection to new caret position.
2584 #define wxSCI_CMD_HOMEEXTEND 2313
2585 
2586 /// Move caret to last position on line.
2587 #define wxSCI_CMD_LINEEND 2314
2588 
2589 /// Move caret to last position on line extending selection to new caret position.
2590 #define wxSCI_CMD_LINEENDEXTEND 2315
2591 
2592 /// Move caret to first position in document.
2593 #define wxSCI_CMD_DOCUMENTSTART 2316
2594 
2595 /// Move caret to first position in document extending selection to new caret position.
2596 #define wxSCI_CMD_DOCUMENTSTARTEXTEND 2317
2597 
2598 /// Move caret to last position in document.
2599 #define wxSCI_CMD_DOCUMENTEND 2318
2600 
2601 /// Move caret to last position in document extending selection to new caret position.
2602 #define wxSCI_CMD_DOCUMENTENDEXTEND 2319
2603 
2604 /// Move caret one page up.
2605 #define wxSCI_CMD_PAGEUP 2320
2606 
2607 /// Move caret one page up extending selection to new caret position.
2608 #define wxSCI_CMD_PAGEUPEXTEND 2321
2609 
2610 /// Move caret one page down.
2611 #define wxSCI_CMD_PAGEDOWN 2322
2612 
2613 /// Move caret one page down extending selection to new caret position.
2614 #define wxSCI_CMD_PAGEDOWNEXTEND 2323
2615 
2616 /// Switch from insert to overtype mode or the reverse.
2617 #define wxSCI_CMD_EDITTOGGLEOVERTYPE 2324
2618 
2619 /// Cancel any modes such as call tip or auto-completion list display.
2620 #define wxSCI_CMD_CANCEL 2325
2621 
2622 /// Delete the selection or if no selection, the character before the caret.
2623 #define wxSCI_CMD_DELETEBACK 2326
2624 
2625 /// If selection is empty or all on one line replace the selection with a tab character.
2626 /// If more than one line selected, indent the lines.
2627 #define wxSCI_CMD_TAB 2327
2628 
2629 /// Dedent the selected lines.
2630 #define wxSCI_CMD_BACKTAB 2328
2631 
2632 /// Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
2633 #define wxSCI_CMD_NEWLINE 2329
2634 
2635 /// Insert a Form Feed character.
2636 #define wxSCI_CMD_FORMFEED 2330
2637 
2638 /// Move caret to before first visible character on line.
2639 /// If already there move to first character on line.
2640 #define wxSCI_CMD_VCHOME 2331
2641 
2642 /// Like VCHome but extending selection to new caret position.
2643 #define wxSCI_CMD_VCHOMEEXTEND 2332
2644 
2645 /// Magnify the displayed text by increasing the sizes by 1 point.
2646 #define wxSCI_CMD_ZOOMIN 2333
2647 
2648 /// Make the displayed text smaller by decreasing the sizes by 1 point.
2649 #define wxSCI_CMD_ZOOMOUT 2334
2650 
2651 /// Delete the word to the left of the caret.
2652 #define wxSCI_CMD_DELWORDLEFT 2335
2653 
2654 /// Delete the word to the right of the caret.
2655 #define wxSCI_CMD_DELWORDRIGHT 2336
2656 
2657 /// Delete the word to the right of the caret, but not the trailing non-word characters.
2658 #define wxSCI_CMD_DELWORDRIGHTEND 2518
2659 
2660 /// Cut the line containing the caret.
2661 #define wxSCI_CMD_LINECUT 2337
2662 
2663 /// Delete the line containing the caret.
2664 #define wxSCI_CMD_LINEDELETE 2338
2665 
2666 /// Switch the current line with the previous.
2667 #define wxSCI_CMD_LINETRANSPOSE 2339
2668 
2669 /// Duplicate the current line.
2670 #define wxSCI_CMD_LINEDUPLICATE 2404
2671 
2672 /// Transform the selection to lower case.
2673 #define wxSCI_CMD_LOWERCASE 2340
2674 
2675 /// Transform the selection to upper case.
2676 #define wxSCI_CMD_UPPERCASE 2341
2677 
2678 /// Scroll the document down, keeping the caret visible.
2679 #define wxSCI_CMD_LINESCROLLDOWN 2342
2680 
2681 /// Scroll the document up, keeping the caret visible.
2682 #define wxSCI_CMD_LINESCROLLUP 2343
2683 
2684 /// Delete the selection or if no selection, the character before the caret.
2685 /// Will not delete the character before at the start of a line.
2686 #define wxSCI_CMD_DELETEBACKNOTLINE 2344
2687 
2688 /// Move caret to first position on display line.
2689 #define wxSCI_CMD_HOMEDISPLAY 2345
2690 
2691 /// Move caret to first position on display line extending selection to
2692 /// new caret position.
2693 #define wxSCI_CMD_HOMEDISPLAYEXTEND 2346
2694 
2695 /// Move caret to last position on display line.
2696 #define wxSCI_CMD_LINEENDDISPLAY 2347
2697 
2698 /// Move caret to last position on display line extending selection to new
2699 /// caret position.
2700 #define wxSCI_CMD_LINEENDDISPLAYEXTEND 2348
2701 
2702 /// Like Home but when word-wrap is enabled goes first to start of display line
2703 /// HomeDisplay, then to start of document line Home.
2704 #define wxSCI_CMD_HOMEWRAP 2349
2705 
2706 /// Like HomeExtend but when word-wrap is enabled extends first to start of display line
2707 /// HomeDisplayExtend, then to start of document line HomeExtend.
2708 #define wxSCI_CMD_HOMEWRAPEXTEND 2450
2709 
2710 /// Like LineEnd but when word-wrap is enabled goes first to end of display line
2711 /// LineEndDisplay, then to start of document line LineEnd.
2712 #define wxSCI_CMD_LINEENDWRAP 2451
2713 
2714 /// Like LineEndExtend but when word-wrap is enabled extends first to end of display line
2715 /// LineEndDisplayExtend, then to start of document line LineEndExtend.
2716 #define wxSCI_CMD_LINEENDWRAPEXTEND 2452
2717 
2718 /// Like VCHome but when word-wrap is enabled goes first to start of display line
2719 /// VCHomeDisplay, then behaves like VCHome.
2720 #define wxSCI_CMD_VCHOMEWRAP 2453
2721 
2722 /// Like VCHomeExtend but when word-wrap is enabled extends first to start of display line
2723 /// VCHomeDisplayExtend, then behaves like VCHomeExtend.
2724 #define wxSCI_CMD_VCHOMEWRAPEXTEND 2454
2725 
2726 /// Copy the line containing the caret.
2727 #define wxSCI_CMD_LINECOPY 2455
2728 
2729 /// Move to the previous change in capitalisation.
2730 #define wxSCI_CMD_WORDPARTLEFT 2390
2731 
2732 /// Move to the previous change in capitalisation extending selection
2733 /// to new caret position.
2734 #define wxSCI_CMD_WORDPARTLEFTEXTEND 2391
2735 
2736 /// Move to the change next in capitalisation.
2737 #define wxSCI_CMD_WORDPARTRIGHT 2392
2738 
2739 /// Move to the next change in capitalisation extending selection
2740 /// to new caret position.
2741 #define wxSCI_CMD_WORDPARTRIGHTEXTEND 2393
2742 
2743 /// Delete back from the current position to the start of the line.
2744 #define wxSCI_CMD_DELLINELEFT 2395
2745 
2746 /// Delete forwards from the current position to the end of the line.
2747 #define wxSCI_CMD_DELLINERIGHT 2396
2748 
2749 /// Move caret down one paragraph (delimited by empty lines).
2750 #define wxSCI_CMD_PARADOWN 2413
2751 
2752 /// Extend selection down one paragraph (delimited by empty lines).
2753 #define wxSCI_CMD_PARADOWNEXTEND 2414
2754 
2755 /// Move caret up one paragraph (delimited by empty lines).
2756 #define wxSCI_CMD_PARAUP 2415
2757 
2758 /// Extend selection up one paragraph (delimited by empty lines).
2759 #define wxSCI_CMD_PARAUPEXTEND 2416
2760 
2761 /// Move caret down one line, extending rectangular selection to new caret position.
2762 #define wxSCI_CMD_LINEDOWNRECTEXTEND 2426
2763 
2764 /// Move caret up one line, extending rectangular selection to new caret position.
2765 #define wxSCI_CMD_LINEUPRECTEXTEND 2427
2766 
2767 /// Move caret left one character, extending rectangular selection to new caret position.
2768 #define wxSCI_CMD_CHARLEFTRECTEXTEND 2428
2769 
2770 /// Move caret right one character, extending rectangular selection to new caret position.
2771 #define wxSCI_CMD_CHARRIGHTRECTEXTEND 2429
2772 
2773 /// Move caret to first position on line, extending rectangular selection to new caret position.
2774 #define wxSCI_CMD_HOMERECTEXTEND 2430
2775 
2776 /// Move caret to before first visible character on line.
2777 /// If already there move to first character on line.
2778 /// In either case, extend rectangular selection to new caret position.
2779 #define wxSCI_CMD_VCHOMERECTEXTEND 2431
2780 
2781 /// Move caret to last position on line, extending rectangular selection to new caret position.
2782 #define wxSCI_CMD_LINEENDRECTEXTEND 2432
2783 
2784 /// Move caret one page up, extending rectangular selection to new caret position.
2785 #define wxSCI_CMD_PAGEUPRECTEXTEND 2433
2786 
2787 /// Move caret one page down, extending rectangular selection to new caret position.
2788 #define wxSCI_CMD_PAGEDOWNRECTEXTEND 2434
2789 
2790 /// Move caret to top of page, or one page up if already at top of page.
2791 #define wxSCI_CMD_STUTTEREDPAGEUP 2435
2792 
2793 /// Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.
2794 #define wxSCI_CMD_STUTTEREDPAGEUPEXTEND 2436
2795 
2796 /// Move caret to bottom of page, or one page down if already at bottom of page.
2797 #define wxSCI_CMD_STUTTEREDPAGEDOWN 2437
2798 
2799 /// Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.
2800 #define wxSCI_CMD_STUTTEREDPAGEDOWNEXTEND 2438
2801 
2802 /// Move caret left one word, position cursor at end of word.
2803 #define wxSCI_CMD_WORDLEFTEND 2439
2804 
2805 /// Move caret left one word, position cursor at end of word, extending selection to new caret position.
2806 #define wxSCI_CMD_WORDLEFTENDEXTEND 2440
2807 
2808 /// Move caret right one word, position cursor at end of word.
2809 #define wxSCI_CMD_WORDRIGHTEND 2441
2810 
2811 /// Move caret right one word, position cursor at end of word, extending selection to new caret position.
2812 #define wxSCI_CMD_WORDRIGHTENDEXTEND 2442
2813 
2814 /// Centre current line in window.
2815 #define wxSCI_CMD_VERTICALCENTRECARET 2619
2816 
2817 /// Move the selected lines up one line, shifting the line above after the selection
2818 #define wxSCI_CMD_MOVESELECTEDLINESUP 2620
2819 
2820 /// Move the selected lines down one line, shifting the line below before the selection
2821 #define wxSCI_CMD_MOVESELECTEDLINESDOWN 2621
2822 
2823 /// Scroll to start of document.
2824 #define wxSCI_CMD_SCROLLTOSTART 2628
2825 
2826 /// Scroll to end of document.
2827 #define wxSCI_CMD_SCROLLTOEND 2629
2828 
2829 /// Move caret to before first visible character on display line.
2830 /// If already there move to first character on display line.
2831 #define wxSCI_CMD_VCHOMEDISPLAY 2652
2832 
2833 /// Like VCHomeDisplay but extending selection to new caret position.
2834 #define wxSCI_CMD_VCHOMEDISPLAYEXTEND 2653
2835 
2836 //}}}
2837 //----------------------------------------------------------------------
2838 
2839 class  ScintillaWX;                      // forward declare
2840 class  WordList;
2841 
2842 #ifdef SCI_NAMESPACE
2843 	#ifndef SCI_NAMESPACE_PREFIX
2844 		#define SCI_NAMESPACE_PREFIX( x ) Scintilla::x
2845 	#endif
2846 namespace Scintilla {
2847 #else
2848 	#ifndef SCI_NAMESPACE_PREFIX
2849 		#define SCI_NAMESPACE_PREFIX( x ) x
2850 	#endif
2851 #endif
2852 struct SCNotification;
2853 #ifdef SCI_NAMESPACE
2854 }
2855 #endif
2856 
2857 #ifndef SWIG
2858 extern WXDLLIMPEXP_SCI const wxChar wxSCINameStr[];
2859 class  WXDLLIMPEXP_SCI wxScintilla;
2860 class  WXDLLIMPEXP_SCI wxScintillaEvent;
2861 #endif
2862 
2863 //----------------------------------------------------------------------
2864 
2865 class WXDLLIMPEXP_SCI wxScintilla : public wxControl {
2866 public:
2867 
2868 #ifdef SWIG
2869     %pythonAppend wxScintilla   "self._setOORInfo(self)"
2870     %pythonAppend wxScintilla() ""
2871 
2872     wxScintilla (wxWindow *parent, wxWindowID id=wxID_ANY,
2873                  const wxPoint& pos = wxDefaultPosition,
2874                  const wxSize& size = wxDefaultSize, long style = 0,
2875                  const wxString& name = wxPySCINameStr);
2876     %RenameCtor(PreScintilla, wxScintilla());
2877 
2878 #else
2879     wxScintilla (wxWindow *parent, wxWindowID id=wxID_ANY,
2880                  const wxPoint& pos = wxDefaultPosition,
2881                  const wxSize& size = wxDefaultSize, long style = 0,
2882                  const wxString& name = wxSCINameStr);
2883     wxScintilla() { m_swx = NULL; }
2884     ~wxScintilla();
2885 
2886 #endif
2887 
2888     bool Create(wxWindow *parent, wxWindowID id=wxID_ANY,
2889                 const wxPoint& pos = wxDefaultPosition,
2890                 const wxSize& size = wxDefaultSize, long style = 0,
2891                 const wxString& name = wxSCINameStr);
2892 
2893 
2894     //----------------------------------------------------------------------
2895     // Generated method declaration section {{{
2896 
2897 
2898     // Add text to the document at current position.
2899     void AddText(const wxString& text);
2900 
2901     // Add array of cells to document.
2902     void AddStyledText(const wxMemoryBuffer& data);
2903 
2904     // Insert string at a position.
2905     void InsertText(int pos, const wxString& text);
2906 
2907     // Change the text that is being inserted in response to wxSCI_MOD_INSERTCHECK
2908     void ChangeInsertion(int length, const wxString& text);
2909 
2910     // Delete all text in the document.
2911     void ClearAll();
2912 
2913     // Delete a range of text in the document.
2914     void DeleteRange(int start, int lengthDelete);
2915 
2916     // Set all style bytes to 0, remove all folding information.
2917     void ClearDocumentStyle();
2918 
2919     // Returns the number of bytes in the document.
2920     int GetLength() const;
2921 
2922     // Returns the character byte at the position.
2923     int GetCharAt(int pos) const;
2924 
2925     // Returns the position of the caret.
2926     int GetCurrentPos() const;
2927 
2928     // Returns the position of the opposite end of the selection to the caret.
2929     int GetAnchor() const;
2930 
2931     // Returns the style byte at the position.
2932     int GetStyleAt(int pos) const;
2933 
2934     // Redoes the next action on the undo history.
2935     void Redo();
2936 
2937     // Choose between collecting actions into the undo
2938     // history and discarding them.
2939     void SetUndoCollection(bool collectUndo);
2940 
2941 /* CHANGEBAR begin */
2942     // Choose between collecting actions into the changes
2943     // history and discarding them.
2944     void SetChangeCollection(bool collectChange);
2945 
2946     // Find a changed line, if fromLine > toLine search is performed backwards.
2947     int FindChangedLine (const int fromLine, const int toLine) const;
2948 /* CHANGEBAR end */
2949 
2950     // Select all the text in the document.
2951     void SelectAll();
2952 
2953     // Remember the current position in the undo history as the position
2954     // at which the document was saved.
2955     void SetSavePoint();
2956 
2957     // Retrieve a buffer of cells.
2958     wxMemoryBuffer GetStyledText(int startPos, int endPos);
2959 
2960     // Are there any redoable actions in the undo history?
2961     bool CanRedo() const;
2962 
2963     // Retrieve the line number at which a particular marker is located.
2964     int MarkerLineFromHandle(int markerHandle);
2965 
2966     // Delete a marker.
2967     void MarkerDeleteHandle(int markerHandle);
2968 
2969     // Is undo history being collected?
2970     bool GetUndoCollection() const;
2971 
2972     // Are white space characters currently visible?
2973     // Returns one of wxSCI_WS_* constants.
2974     int GetViewWhiteSpace() const;
2975 
2976     // Make white space characters invisible, always visible or visible outside indentation.
2977     void SetViewWhiteSpace(int viewWS);
2978 
2979     // Retrieve the current tab draw mode.
2980     // Returns one of wxSCI_TD_* constants.
2981     int GetTabDrawMode() const;
2982 
2983     // Set how tabs are drawn when visible.
2984     void SetTabDrawMode(int tabDrawMode);
2985 
2986     // Find the position from a point within the window.
2987     int PositionFromPoint(wxPoint pt) const;
2988 
2989     // Find the position from a point within the window but return
2990     // wxSCI_INVALID_POSITION if not close to text.
2991     int PositionFromPointClose(int x, int y);
2992 
2993     // Set caret to start of a line and ensure it is visible.
2994     void GotoLine(int line);
2995 
2996     // Set caret to a position and ensure it is visible.
2997     void GotoPos(int caret);
2998 
2999     // Set the selection anchor to a position. The anchor is the opposite
3000     // end of the selection from the caret.
3001     void SetAnchor(int anchor);
3002 
3003     // Retrieve the text of the line containing the caret.
3004     #ifdef SWIG
3005     wxString GetCurLine(int* OUTPUT);
3006 #else
3007     wxString GetCurLine(int* linePos=NULL);
3008 #endif
3009 
3010     // Retrieve the position of the last correctly styled character.
3011     int GetEndStyled() const;
3012 
3013     // Convert all line endings in the document to one mode.
3014     void ConvertEOLs(int eolMode);
3015 
3016     // Retrieve the current end of line mode - one of wxSCI_EOL_CRLF, wxSCI_EOL_CR, or wxSCI_EOL_LF.
3017     int GetEOLMode() const;
3018 
3019     // Set the current end of line mode.
3020     void SetEOLMode(int eolMode);
3021 
3022     // Set the current styling position to start.
3023     void StartStyling(int start);
3024 
3025     // Change style from current styling position for length characters to a style
3026     // and move the current styling position to after this newly styled segment.
3027     void SetStyling(int length, int style);
3028 
3029     // Is drawing done first into a buffer or direct to the screen?
3030     bool GetBufferedDraw() const;
3031 
3032     // If drawing is buffered then each line of text is drawn into a bitmap buffer
3033     // before drawing it to the screen to avoid flicker.
3034     void SetBufferedDraw(bool buffered);
3035 
3036     // Change the visible size of a tab to be a multiple of the width of a space character.
3037     void SetTabWidth(int tabWidth);
3038 
3039     // Retrieve the visible size of a tab.
3040     int GetTabWidth() const;
3041 
3042     // Clear explicit tabstops on a line.
3043     void ClearTabStops(int line);
3044 
3045     // Add an explicit tab stop for a line.
3046     void AddTabStop(int line, int x);
3047 
3048     // Find the next explicit tab stop position on a line after a position.
3049     int GetNextTabStop(int line, int x);
3050 
3051     // Set the code page used to interpret the bytes of the document as characters.
3052     void SetCodePage(int codePage);
3053 
3054     // Is the IME displayed in a window or inline?
3055     int GetIMEInteraction() const;
3056 
3057     // Choose to display the the IME in a winow or inline.
3058     void SetIMEInteraction(int imeInteraction);
3059 
3060     // Set the symbol used for a particular marker number,
3061     // and optionally the fore and background colours.
3062     void MarkerDefine(int markerNumber, int markerSymbol,
3063                 const wxColour& foreground = wxNullColour,
3064                 const wxColour& background = wxNullColour);
3065 
3066     // Set the foreground colour used for a particular marker number.
3067     void MarkerSetForeground(int markerNumber, const wxColour& fore);
3068 
3069     // Set the background colour used for a particular marker number.
3070     void MarkerSetBackground(int markerNumber, const wxColour& back);
3071 
3072     // Set the background colour used for a particular marker number when its folding block is selected.
3073     void MarkerSetBackgroundSelected(int markerNumber, const wxColour& back);
3074 
3075     // Enable/disable highlight for current folding bloc (smallest one that contains the caret)
3076     void MarkerEnableHighlight(bool enabled);
3077 
3078     // Add a marker to a line, returning an ID which can be used to find or delete the marker.
3079     int MarkerAdd(int line, int markerNumber);
3080 
3081     // Delete a marker from a line.
3082     void MarkerDelete(int line, int markerNumber);
3083 
3084     // Delete all markers with a particular number from all lines.
3085     void MarkerDeleteAll(int markerNumber);
3086 
3087     // Get a bit mask of all the markers set on a line.
3088     int MarkerGet(int line);
3089 
3090     // Find the next line at or after lineStart that includes a marker in mask.
3091     // Return -1 when no more lines.
3092     int MarkerNext(int lineStart, int markerMask);
3093 
3094     // Find the previous line before lineStart that includes a marker in mask.
3095     int MarkerPrevious(int lineStart, int markerMask);
3096 
3097     // Define a marker from a bitmap
3098     void MarkerDefinePixmap(int markerNumber, const char* const* xpmData);
3099 
3100     // Add a set of markers to a line.
3101     void MarkerAddSet(int line, int markerSet);
3102 
3103     // Set the alpha used for a marker that is drawn in the text area, not the margin.
3104     void MarkerSetAlpha(int markerNumber, int alpha);
3105 
3106     // Set a margin to be either numeric or symbolic.
3107     void SetMarginType(int margin, int marginType);
3108 
3109     // Retrieve the type of a margin.
3110     int GetMarginType(int margin) const;
3111 
3112     // Set the width of a margin to a width expressed in pixels.
3113     void SetMarginWidth(int margin, int pixelWidth);
3114 
3115     // Retrieve the width of a margin in pixels.
3116     int GetMarginWidth(int margin) const;
3117 
3118     // Set a mask that determines which markers are displayed in a margin.
3119     void SetMarginMask(int margin, int mask);
3120 
3121     // Retrieve the marker mask of a margin.
3122     int GetMarginMask(int margin) const;
3123 
3124     // Make a margin sensitive or insensitive to mouse clicks.
3125     void SetMarginSensitive(int margin, bool sensitive);
3126 
3127     // Retrieve the mouse click sensitivity of a margin.
3128     bool GetMarginSensitive(int margin) const;
3129 
3130     // Set the cursor shown when the mouse is inside a margin.
3131     void SetMarginCursor(int margin, int cursor);
3132 
3133     // Retrieve the cursor shown in a margin.
3134     int GetMarginCursor(int margin) const;
3135 
3136     // Set the background colour of a margin. Only visible for wxSCI_MARGIN_COLOUR.
3137     void SetMarginBackground(int margin, const wxColour& back);
3138 
3139     // Retrieve the background colour of a margin
3140     wxColour GetMarginBackground(int margin) const;
3141 
3142     // Allocate a non-standard number of margins.
3143     void SetMarginCount(int margins);
3144 
3145     // How many margins are there?.
3146     int GetMarginCount() const;
3147 
3148     // Clear all the styles and make equivalent to the global default style.
3149     void StyleClearAll();
3150 
3151     // Set the foreground colour of a style.
3152     void StyleSetForeground(int style, const wxColour& fore);
3153 
3154     // Set the background colour of a style.
3155     void StyleSetBackground(int style, const wxColour& back);
3156 
3157     // Set a style to be bold or not.
3158     void StyleSetBold(int style, bool bold);
3159 
3160     // Set a style to be italic or not.
3161     void StyleSetItalic(int style, bool italic);
3162 
3163     // Set the size of characters of a style.
3164     void StyleSetSize(int style, int sizePoints);
3165 
3166     // Set the font of a style.
3167     void StyleSetFaceName(int style, const wxString& fontName);
3168 
3169     // Set a style to have its end of line filled or not.
3170     void StyleSetEOLFilled(int style, bool eolFilled);
3171 
3172     // Reset the default style to its state at startup
3173     void StyleResetDefault();
3174 
3175     // Set a style to be underlined or not.
3176     void StyleSetUnderline(int style, bool underline);
3177 
3178     // Get the foreground colour of a style.
3179     wxColour StyleGetForeground(int style) const;
3180 
3181     // Get the background colour of a style.
3182     wxColour StyleGetBackground(int style) const;
3183 
3184     // Get is a style bold or not.
3185     bool StyleGetBold(int style) const;
3186 
3187     // Get is a style italic or not.
3188     bool StyleGetItalic(int style) const;
3189 
3190     // Get the size of characters of a style.
3191     int StyleGetSize(int style) const;
3192 
3193     // Get the font facename of a style
3194     wxString StyleGetFaceName(int style);
3195 
3196     // Get is a style to have its end of line filled or not.
3197     bool StyleGetEOLFilled(int style) const;
3198 
3199     // Get is a style underlined or not.
3200     bool StyleGetUnderline(int style) const;
3201 
3202     // Get is a style mixed case, or to force upper or lower case.
3203     int StyleGetCase(int style) const;
3204 
3205     // Get the character get of the font in a style.
3206     int StyleGetCharacterSet(int style) const;
3207 
3208     // Get is a style visible or not.
3209     bool StyleGetVisible(int style) const;
3210 
3211     // Get is a style changeable or not (read only).
3212     // Experimental feature, currently buggy.
3213     bool StyleGetChangeable(int style) const;
3214 
3215     // Get is a style a hotspot or not.
3216     bool StyleGetHotSpot(int style) const;
3217 
3218     // Set a style to be mixed case, or to force upper or lower case.
3219     void StyleSetCase(int style, int caseVisible);
3220 
3221     // Set the size of characters of a style. Size is in points multiplied by 100.
3222     void StyleSetSizeFractional(int style, int sizeHundredthPoints);
3223 
3224     // Get the size of characters of a style in points multiplied by 100
3225     int StyleGetSizeFractional(int style) const;
3226 
3227     // Set the weight of characters of a style.
3228     void StyleSetWeight(int style, int weight);
3229 
3230     // Get the weight of characters of a style.
3231     int StyleGetWeight(int style) const;
3232 
3233     // Set the character set of the font in a style.
3234     void StyleSetCharacterSet(int style, int characterSet);
3235 
3236     // Set a style to be a hotspot or not.
3237     void StyleSetHotSpot(int style, bool hotspot);
3238 
3239     // Set the foreground colour of the main and additional selections and whether to use this setting.
3240     void SetSelForeground(bool useSetting, const wxColour& fore);
3241 
3242     // Set the background colour of the main and additional selections and whether to use this setting.
3243     void SetSelBackground(bool useSetting, const wxColour& back);
3244 
3245     // Get the alpha of the selection.
3246     int GetSelAlpha() const;
3247 
3248     // Set the alpha of the selection.
3249     void SetSelAlpha(int alpha);
3250 
3251     // Is the selection end of line filled?
3252     bool GetSelEOLFilled() const;
3253 
3254     // Set the selection to have its end of line filled or not.
3255     void SetSelEOLFilled(bool filled);
3256 
3257     // Set the foreground colour of the caret.
3258     void SetCaretForeground(const wxColour& fore);
3259 
3260     // When key+modifier combination keyDefinition is pressed perform sciCommand.
3261     void CmdKeyAssign(int key, int modifiers, int cmd);
3262 
3263     // When key+modifier combination keyDefinition is pressed do nothing.
3264     void CmdKeyClear(int key, int modifiers);
3265 
3266     // Drop all key mappings.
3267     void CmdKeyClearAll();
3268 
3269     // Set the styles for a segment of the document.
3270     void SetStyleBytes(int length, char* styleBytes);
3271 
3272     // Set a style to be visible or not.
3273     void StyleSetVisible(int style, bool visible);
3274 
3275     // Get the time in milliseconds that the caret is on and off.
3276     int GetCaretPeriod() const;
3277 
3278     // Get the time in milliseconds that the caret is on and off. 0 = steady on.
3279     void SetCaretPeriod(int periodMilliseconds);
3280 
3281     // Set the set of characters making up words for when moving or selecting by word.
3282     // First sets defaults like SetCharsDefault.
3283     void SetWordChars(const wxString& characters);
3284 
3285     // Get the set of characters making up words for when moving or selecting by word.
3286     wxString GetWordChars() const;
3287 
3288     // Start a sequence of actions that is undone and redone as a unit.
3289     // May be nested.
3290     void BeginUndoAction();
3291 
3292     // End a sequence of actions that is undone and redone as a unit.
3293     void EndUndoAction();
3294 
3295     // Set an indicator to plain, squiggle or TT.
3296     void IndicatorSetStyle(int indicator, int indicatorStyle);
3297 
3298     // Retrieve the style of an indicator.
3299     int IndicatorGetStyle(int indicator) const;
3300 
3301     // Set the foreground colour of an indicator.
3302     void IndicatorSetForeground(int indicator, const wxColour& fore);
3303 
3304     // Retrieve the foreground colour of an indicator.
3305     wxColour IndicatorGetForeground(int indicator) const;
3306 
3307     // Set an indicator to draw under text or over(default).
3308     void IndicatorSetUnder(int indicator, bool under);
3309 
3310     // Retrieve whether indicator drawn under or over text.
3311     bool IndicatorGetUnder(int indicator) const;
3312 
3313     // Set a hover indicator to plain, squiggle or TT.
3314     void IndicatorSetHoverStyle(int indicator, int indicatorStyle);
3315 
3316     // Retrieve the hover style of an indicator.
3317     int IndicatorGetHoverStyle(int indicator) const;
3318 
3319     // Set the foreground hover colour of an indicator.
3320     void IndicatorSetHoverForeground(int indicator, const wxColour& fore);
3321 
3322     // Retrieve the foreground hover colour of an indicator.
3323     wxColour IndicatorGetHoverForeground(int indicator) const;
3324 
3325     // Set the attributes of an indicator.
3326     void IndicatorSetFlags(int indicator, int flags);
3327 
3328     // Retrieve the attributes of an indicator.
3329     int IndicatorGetFlags(int indicator) const;
3330 
3331     // Set the foreground colour of all whitespace and whether to use this setting.
3332     void SetWhitespaceForeground(bool useSetting, const wxColour& fore);
3333 
3334     // Set the background colour of all whitespace and whether to use this setting.
3335     void SetWhitespaceBackground(bool useSetting, const wxColour& back);
3336 
3337     // Set the size of the dots used to mark space characters.
3338     void SetWhitespaceSize(int size);
3339 
3340     // Get the size of the dots used to mark space characters.
3341     int GetWhitespaceSize() const;
3342 
3343     // Divide each styling byte into lexical class bits (default: 5) and indicator
3344     // bits (default: 3). If a lexer requires more than 32 lexical states, then this
3345     // is used to expand the possible states.
3346 #if wxCHECK_VERSION(3, 0, 0)
3347     wxDEPRECATED_MSG( "This method uses a function deprecated in the Scintilla library." )
3348 #endif // wxCHECK_VERSION
3349     void SetStyleBits(int bits);
3350 
3351     // Retrieve number of bits in style bytes used to hold the lexical state.
3352 #if wxCHECK_VERSION(3, 0, 0)
3353     wxDEPRECATED_MSG( "This method uses a function deprecated in the Scintilla library." )
3354 #endif // wxCHECK_VERSION
3355     int GetStyleBits() const;
3356 
3357     // Used to hold extra styling information for each line.
3358     void SetLineState(int line, int state);
3359 
3360     // Retrieve the extra styling information for a line.
3361     int GetLineState(int line) const;
3362 
3363     // Retrieve the last line number that has line state.
3364     int GetMaxLineState() const;
3365 
3366     // Is the background of the line containing the caret in a different colour?
3367     bool GetCaretLineVisible() const;
3368 
3369     // Display the background of the line containing the caret in a different colour.
3370     void SetCaretLineVisible(bool show);
3371 
3372     // Get the colour of the background of the line containing the caret.
3373     wxColour GetCaretLineBackground() const;
3374 
3375     // Set the colour of the background of the line containing the caret.
3376     void SetCaretLineBackground(const wxColour& back);
3377 
3378     // Set a style to be changeable or not (read only).
3379     // Experimental feature, currently buggy.
3380     void StyleSetChangeable(int style, bool changeable);
3381 
3382     // Display a auto-completion list.
3383     // The lengthEntered parameter indicates how many characters before
3384     // the caret should be used to provide context.
3385     void AutoCompShow(int lengthEntered, const wxString& itemList);
3386 
3387     // Remove the auto-completion list from the screen.
3388     void AutoCompCancel();
3389 
3390     // Is there an auto-completion list visible?
3391     bool AutoCompActive();
3392 
3393     // Retrieve the position of the caret when the auto-completion list was displayed.
3394     int AutoCompPosStart();
3395 
3396     // User has selected an item so remove the list and insert the selection.
3397     void AutoCompComplete();
3398 
3399     // Define a set of character that when typed cancel the auto-completion list.
3400     void AutoCompStops(const wxString& characterSet);
3401 
3402     // Change the separator character in the string setting up an auto-completion list.
3403     // Default is space but can be changed if items contain space.
3404     void AutoCompSetSeparator(int separatorCharacter);
3405 
3406     // Retrieve the auto-completion list separator character.
3407     int AutoCompGetSeparator() const;
3408 
3409     // Select the item in the auto-completion list that starts with a string.
3410     void AutoCompSelect(const wxString& select);
3411 
3412     // Should the auto-completion list be cancelled if the user backspaces to a
3413     // position before where the box was created.
3414     void AutoCompSetCancelAtStart(bool cancel);
3415 
3416     // Retrieve whether auto-completion cancelled by backspacing before start.
3417     bool AutoCompGetCancelAtStart() const;
3418 
3419     // Define a set of characters that when typed will cause the autocompletion to
3420     // choose the selected item.
3421     void AutoCompSetFillUps(const wxString& characterSet);
3422 
3423     // Should a single item auto-completion list automatically choose the item.
3424     void AutoCompSetChooseSingle(bool chooseSingle);
3425 
3426     // Retrieve whether a single item auto-completion list automatically choose the item.
3427     bool AutoCompGetChooseSingle() const;
3428 
3429     // Set whether case is significant when performing auto-completion searches.
3430     void AutoCompSetIgnoreCase(bool ignoreCase);
3431 
3432     // Retrieve state of ignore case flag.
3433     bool AutoCompGetIgnoreCase() const;
3434 
3435     // Display a list of strings and send notification when user chooses one.
3436     void UserListShow(int listType, const wxString& itemList);
3437 
3438     // Set whether or not autocompletion is hidden automatically when nothing matches.
3439     void AutoCompSetAutoHide(bool autoHide);
3440 
3441     // Retrieve whether or not autocompletion is hidden automatically when nothing matches.
3442     bool AutoCompGetAutoHide() const;
3443 
3444     // Set whether or not autocompletion deletes any word characters
3445     // after the inserted text upon completion.
3446     void AutoCompSetDropRestOfWord(bool dropRestOfWord);
3447 
3448     // Retrieve whether or not autocompletion deletes any word characters
3449     // after the inserted text upon completion.
3450     bool AutoCompGetDropRestOfWord() const;
3451 
3452     // Register an image for use in autocompletion lists.
3453     void RegisterImage(int type, const char* const* xpmData);
3454 
3455     // Clear all the registered images.
3456     void ClearRegisteredImages();
3457 
3458     // Retrieve the auto-completion list type-separator character.
3459     int AutoCompGetTypeSeparator() const;
3460 
3461     // Change the type-separator character in the string setting up an auto-completion list.
3462     // Default is '?' but can be changed if items contain '?'.
3463     void AutoCompSetTypeSeparator(int separatorCharacter);
3464 
3465     // Set the maximum width, in characters, of auto-completion and user lists.
3466     // Set to 0 to autosize to fit longest item, which is the default.
3467     void AutoCompSetMaxWidth(int characterCount);
3468 
3469     // Get the maximum width, in characters, of auto-completion and user lists.
3470     int AutoCompGetMaxWidth() const;
3471 
3472     // Set the maximum height, in rows, of auto-completion and user lists.
3473     // The default is 5 rows.
3474     void AutoCompSetMaxHeight(int rowCount);
3475 
3476     // Set the maximum height, in rows, of auto-completion and user lists.
3477     int AutoCompGetMaxHeight() const;
3478 
3479     // Set the number of spaces used for one level of indentation.
3480     void SetIndent(int indentSize);
3481 
3482     // Retrieve indentation size.
3483     int GetIndent() const;
3484 
3485     // Indentation will only use space characters if useTabs is false, otherwise
3486     // it will use a combination of tabs and spaces.
3487     void SetUseTabs(bool useTabs);
3488 
3489     // Retrieve whether tabs will be used in indentation.
3490     bool GetUseTabs() const;
3491 
3492     // Change the indentation of a line to a number of columns.
3493     void SetLineIndentation(int line, int indentation);
3494 
3495     // Retrieve the number of columns that a line is indented.
3496     int GetLineIndentation(int line) const;
3497 
3498     // Retrieve the position before the first non indentation character on a line.
3499     int GetLineIndentPosition(int line) const;
3500 
3501     // Retrieve the column number of a position, taking tab width into account.
3502     int GetColumn(int pos) const;
3503 
3504     // Count characters between two positions.
3505     int CountCharacters(int start, int end);
3506 
3507     // Show or hide the horizontal scroll bar.
3508     void SetUseHorizontalScrollBar(bool visible);
3509 
3510     // Is the horizontal scroll bar visible?
3511     bool GetUseHorizontalScrollBar() const;
3512 
3513     // Show or hide indentation guides.
3514     void SetIndentationGuides(int indentView);
3515 
3516     // Are the indentation guides visible?
3517     int GetIndentationGuides() const;
3518 
3519     // Set the highlighted indentation guide column.
3520     // 0 = no highlighted guide.
3521     void SetHighlightGuide(int column);
3522 
3523     // Get the highlighted indentation guide column.
3524     int GetHighlightGuide() const;
3525 
3526     // Get the position after the last visible characters on a line.
3527     int GetLineEndPosition(int line) const;
3528 
3529     // Get the code page used to interpret the bytes of the document as characters.
3530     int GetCodePage() const;
3531 
3532     // Get the foreground colour of the caret.
3533     wxColour GetCaretForeground() const;
3534 
3535     // In read-only mode?
3536     bool GetReadOnly() const;
3537 
3538     // Sets the position of the caret.
3539     void SetCurrentPos(int caret);
3540 
3541     // Sets the position that starts the selection - this becomes the anchor.
3542     void SetSelectionStart(int anchor);
3543 
3544     // Returns the position at the start of the selection.
3545     int GetSelectionStart() const;
3546 
3547     // Sets the position that ends the selection - this becomes the caret.
3548     void SetSelectionEnd(int caret);
3549 
3550     // Returns the position at the end of the selection.
3551     int GetSelectionEnd() const;
3552 
3553     // Set caret to a position, while removing any existing selection.
3554     void SetEmptySelection(int caret);
3555 
3556     // Sets the print magnification added to the point size of each style for printing.
3557     void SetPrintMagnification(int magnification);
3558 
3559     // Returns the print magnification.
3560     int GetPrintMagnification() const;
3561 
3562     // Modify colours when printing for clearer printed text.
3563     void SetPrintColourMode(int mode);
3564 
3565     // Returns the print colour mode.
3566     int GetPrintColourMode() const;
3567 
3568     // Find some text in the document.
3569     int FindText(int minPos, int maxPos, const wxString& text, int flags=0,
3570                  int* findEnd=NULL);
3571 
3572     // On Windows, will draw the document into a display context such as a printer.
3573     int FormatRange(bool   doDraw,
3574                int    startPos,
3575                int    endPos,
3576                wxDC*  draw,
3577                wxDC*  target,
3578                wxRect renderRect,
3579                wxRect pageRect);
3580 
3581     // Retrieve the display line at the top of the display.
3582     int GetFirstVisibleLine() const;
3583 
3584     // Retrieve the contents of a line.
3585     wxString GetLine(int line) const;
3586 
3587     // Returns the number of lines in the document. There is always at least one.
3588     int GetLineCount() const;
3589 
3590     // Sets the size in pixels of the left margin.
3591     void SetMarginLeft(int pixelWidth);
3592 
3593     // Returns the size in pixels of the left margin.
3594     int GetMarginLeft() const;
3595 
3596     // Sets the size in pixels of the right margin.
3597     void SetMarginRight(int pixelWidth);
3598 
3599     // Returns the size in pixels of the right margin.
3600     int GetMarginRight() const;
3601 
3602     // Is the document different from when it was last saved?
3603     bool GetModify() const;
3604 
3605     // Retrieve the selected text.
3606     wxString GetSelectedText();
3607 
3608     // Retrieve a range of text.
3609     wxString GetTextRange(int startPos, int endPos);
3610 
3611     // Draw the selection in normal style or with selection highlighted.
3612     void HideSelection(bool hide);
3613 
3614     // Retrieve the point in the window where a position is displayed.
3615     wxPoint PointFromPosition(int pos);
3616 
3617     // Retrieve the line containing a position.
3618     int LineFromPosition(int pos) const;
3619 
3620     // Retrieve the position at the start of a line.
3621     int PositionFromLine(int line) const;
3622 
3623     // Scroll horizontally and vertically.
3624     void LineScroll(int columns, int lines);
3625 
3626     // Ensure the caret is visible.
3627     void EnsureCaretVisible();
3628 
3629     // Scroll the argument positions and the range between them into view giving
3630     // priority to the primary position then the secondary position.
3631     // This may be used to make a search match visible.
3632     void ScrollRange(int secondary, int primary);
3633 
3634     // Replace the selected text with the argument text.
3635     void ReplaceSelection(const wxString& text);
3636 
3637     // Set to read only or read write.
3638     void SetReadOnly(bool readOnly);
3639 
3640     // Will a paste succeed?
3641     bool CanPaste() const;
3642 
3643     // Are there any undoable actions in the undo history?
3644     bool CanUndo() const;
3645 
3646     // Delete the undo history.
3647 /* CHANGEBAR begin */
3648     void EmptyUndoBuffer(bool collectChangeHistory=false);
3649 /* CHANGEBAR end */
3650 
3651     // Undo one action in the undo history.
3652     void Undo();
3653 
3654     // Cut the selection to the clipboard.
3655     void Cut();
3656 
3657     // Copy the selection to the clipboard.
3658     void Copy();
3659 
3660     // Paste the contents of the clipboard into the document replacing the selection.
3661     void Paste();
3662 
3663     // Clear the selection.
3664     void Clear();
3665 
3666     // Replace the contents of the document with the argument text.
3667     void SetText(const wxString& text);
3668 
3669     // Retrieve all the text in the document.
3670     wxString GetText() const;
3671 
3672     // Retrieve the number of characters in the document.
3673     int GetTextLength() const;
3674 
3675     // Retrieve a pointer to a function that processes messages for this Scintilla.
3676     void* GetDirectFunction() const;
3677 
3678     // Retrieve a pointer value to use as the first argument when calling
3679     // the function returned by GetDirectFunction.
3680     void* GetDirectPointer() const;
3681 
3682     // Set to overtype (true) or insert mode.
3683     void SetOvertype(bool overType);
3684 
3685     // Returns true if overtype mode is active otherwise false is returned.
3686     bool GetOvertype() const;
3687 
3688     // Set the width of the insert mode caret.
3689     void SetCaretWidth(int pixelWidth);
3690 
3691     // Returns the width of the insert mode caret.
3692     int GetCaretWidth() const;
3693 
3694     // Sets the position that starts the target which is used for updating the
3695     // document without affecting the scroll position.
3696     void SetTargetStart(int start);
3697 
3698     // Get the position that starts the target.
3699     int GetTargetStart() const;
3700 
3701     // Sets the position that ends the target which is used for updating the
3702     // document without affecting the scroll position.
3703     void SetTargetEnd(int end);
3704 
3705     // Get the position that ends the target.
3706     int GetTargetEnd() const;
3707 
3708     // Sets both the start and end of the target in one call.
3709     void SetTargetRange(int start, int end);
3710 
3711     // Retrieve the text in the target.
3712     wxString GetTargetText() const;
3713 
3714     // Make the target range start and end be the same as the selection range start and end.
3715     void TargetFromSelection();
3716 
3717     // Sets the target to the whole document.
3718     void TargetWholeDocument();
3719 
3720     // Replace the target text with the argument text.
3721     // Text is counted so it can contain NULs.
3722     // Returns the length of the replacement text.
3723     int ReplaceTarget(const wxString& text);
3724 
3725     // Replace the target text with the argument text after \\d processing.
3726     // Text is counted so it can contain NULs.
3727     // Looks for \\d where d is between 1 and 9 and replaces these with the strings
3728     // matched in the last search operation which were surrounded by \\( and \\).
3729     // Returns the length of the replacement text including any change
3730     // caused by processing the \\d patterns.
3731     int ReplaceTargetRE(const wxString& text);
3732 
3733     // Search for a counted string in the target and set the target to the found
3734     // range. Text is counted so it can contain NULs.
3735     // Returns length of range or -1 for failure in which case target is not moved.
3736     int SearchInTarget(const wxString& text);
3737 
3738     // Set the search flags used by SearchInTarget.
3739     void SetSearchFlags(int searchFlags);
3740 
3741     // Get the search flags used by SearchInTarget.
3742     int GetSearchFlags() const;
3743 
3744     // Show a call tip containing a definition near position pos.
3745     void CallTipShow(int pos, const wxString& definition);
3746 
3747     // Remove the call tip from the screen.
3748     void CallTipCancel();
3749 
3750     // Is there an active call tip?
3751     bool CallTipActive();
3752 
3753     // Retrieve the position where the caret was before displaying the call tip.
3754     int CallTipPosAtStart();
3755 
3756     // Set the start position in order to change when backspacing removes the calltip.
3757     void CallTipSetPosAtStart(int posStart);
3758 
3759     // Highlight a segment of the definition.
3760     void CallTipSetHighlight(int highlightStart, int highlightEnd);
3761 
3762     // Set the background colour for the call tip.
3763     void CallTipSetBackground(const wxColour& back);
3764 
3765     // Set the foreground colour for the call tip.
3766     void CallTipSetForeground(const wxColour& fore);
3767 
3768     // Set the foreground colour for the highlighted part of the call tip.
3769     void CallTipSetForegroundHighlight(const wxColour& fore);
3770 
3771     // Enable use of wxSCI_STYLE_CALLTIP and set call tip tab size in pixels.
3772     void CallTipUseStyle(int tabSize);
3773 
3774     // Set position of calltip, above or below text.
3775     void CallTipSetPosition(bool above);
3776 
3777     // Find the display line of a document line taking hidden lines into account.
3778     int VisibleFromDocLine(int docLine);
3779 
3780     // Find the document line of a display line taking hidden lines into account.
3781     int DocLineFromVisible(int displayLine);
3782 
3783     // The number of display lines needed to wrap a document line
3784     int WrapCount(int docLine);
3785 
3786     // Set the fold level of a line.
3787     // This encodes an integer level along with flags indicating whether the
3788     // line is a header and whether it is effectively white space.
3789     void SetFoldLevel(int line, int level);
3790 
3791     // Retrieve the fold level of a line.
3792     int GetFoldLevel(int line) const;
3793 
3794     // Find the last child line of a header line.
3795     int GetLastChild(int line, int level) const;
3796 
3797     // Find the parent line of a child line.
3798     int GetFoldParent(int line) const;
3799 
3800     // Make a range of lines visible.
3801     void ShowLines(int lineStart, int lineEnd);
3802 
3803     // Make a range of lines invisible.
3804     void HideLines(int lineStart, int lineEnd);
3805 
3806     // Is a line visible?
3807     bool GetLineVisible(int line) const;
3808 
3809     // Are all lines visible?
3810     bool GetAllLinesVisible() const;
3811 
3812     // Show the children of a header line.
3813     void SetFoldExpanded(int line, bool expanded);
3814 
3815     // Is a header line expanded?
3816     bool GetFoldExpanded(int line) const;
3817 
3818     // Switch a header line between expanded and contracted.
3819     void ToggleFold(int line);
3820 
3821     // Switch a header line between expanded and contracted and show some text after the line.
3822     void ToggleFoldShowText(int line, const wxString& text);
3823 
3824     // Set the style of fold display text
3825     void FoldDisplayTextSetStyle(int style);
3826 
3827     // Expand or contract a fold header.
3828     void FoldLine(int line, int action);
3829 
3830     // Expand or contract a fold header and its children.
3831     void FoldChildren(int line, int action);
3832 
3833     // Expand a fold header and all children. Use the level argument instead of the line's current level.
3834     void ExpandChildren(int line, int level);
3835 
3836     // Expand or contract all fold headers.
3837     void FoldAll(int action);
3838 
3839     // Ensure a particular line is visible by expanding any header line hiding it.
3840     void EnsureVisible(int line);
3841 
3842     // Set automatic folding behaviours.
3843     void SetAutomaticFold(int automaticFold);
3844 
3845     // Get automatic folding behaviours.
3846     int GetAutomaticFold() const;
3847 
3848     // Set some style options for folding.
3849     void SetFoldFlags(int flags);
3850 
3851     // Ensure a particular line is visible by expanding any header line hiding it.
3852     // Use the currently set visibility policy to determine which range to display.
3853     void EnsureVisibleEnforcePolicy(int line);
3854 
3855     // Sets whether a tab pressed when caret is within indentation indents.
3856     void SetTabIndents(bool tabIndents);
3857 
3858     // Does a tab pressed when caret is within indentation indent?
3859     bool GetTabIndents() const;
3860 
3861     // Sets whether a backspace pressed when caret is within indentation unindents.
3862     void SetBackSpaceUnIndents(bool bsUnIndents);
3863 
3864     // Does a backspace pressed when caret is within indentation unindent?
3865     bool GetBackSpaceUnIndents() const;
3866 
3867     // Sets the time the mouse must sit still to generate a mouse dwell event.
3868     void SetMouseDwellTime(int periodMilliseconds);
3869 
3870     // Retrieve the time the mouse must sit still to generate a mouse dwell event.
3871     int GetMouseDwellTime() const;
3872 
3873     // Get position of start of word.
3874     int WordStartPosition(int pos, bool onlyWordCharacters);
3875 
3876     // Get position of end of word.
3877     int WordEndPosition(int pos, bool onlyWordCharacters);
3878 
3879     // Is the range start..end considered a word?
3880     bool IsRangeWord(int start, int end);
3881 
3882     // Sets limits to idle styling.
3883     void SetIdleStyling(int idleStyling);
3884 
3885     // Retrieve the limits to idle styling.
3886     int GetIdleStyling() const;
3887 
3888     // Sets whether text is word wrapped.
3889     void SetWrapMode(int wrapMode);
3890 
3891     // Retrieve whether text is word wrapped.
3892     int GetWrapMode() const;
3893 
3894     // Set the display mode of visual flags for wrapped lines.
3895     void SetWrapVisualFlags(int wrapVisualFlags);
3896 
3897     // Retrieve the display mode of visual flags for wrapped lines.
3898     int GetWrapVisualFlags() const;
3899 
3900     // Set the location of visual flags for wrapped lines.
3901     void SetWrapVisualFlagsLocation(int wrapVisualFlagsLocation);
3902 
3903     // Retrieve the location of visual flags for wrapped lines.
3904     int GetWrapVisualFlagsLocation() const;
3905 
3906     // Set the start indent for wrapped lines.
3907     void SetWrapStartIndent(int indent);
3908 
3909     // Retrieve the start indent for wrapped lines.
3910     int GetWrapStartIndent() const;
3911 
3912     // Sets how wrapped sublines are placed. Default is wxSCI_WRAPINDENT_FIXED.
3913     void SetWrapIndentMode(int wrapIndentMode);
3914 
3915     // Retrieve how wrapped sublines are placed. Default is wxSCI_WRAPINDENT_FIXED.
3916     int GetWrapIndentMode() const;
3917 
3918     // Sets the degree of caching of layout information.
3919     void SetLayoutCache(int cacheMode);
3920 
3921     // Retrieve the degree of caching of layout information.
3922     int GetLayoutCache() const;
3923 
3924     // Sets the document width assumed for scrolling.
3925     void SetScrollWidth(int pixelWidth);
3926 
3927     // Retrieve the document width assumed for scrolling.
3928     int GetScrollWidth() const;
3929 
3930     // Sets whether the maximum width line displayed is used to set scroll width.
3931     void SetScrollWidthTracking(bool tracking);
3932 
3933     // Retrieve whether the scroll width tracks wide lines.
3934     bool GetScrollWidthTracking() const;
3935 
3936     // Measure the pixel width of some text in a particular style.
3937     // Does not handle tab or control characters.
3938     int TextWidth(int style, const wxString& text);
3939 
3940     // Sets the scroll range so that maximum scroll position has
3941     // the last line at the bottom of the view (default).
3942     // Setting this to false allows scrolling one page below the last line.
3943     void SetEndAtLastLine(bool endAtLastLine);
3944 
3945     // Retrieve whether the maximum scroll position has the last
3946     // line at the bottom of the view.
3947     bool GetEndAtLastLine() const;
3948 
3949     // Retrieve the height of a particular line of text in pixels.
3950     int TextHeight(int line);
3951 
3952     // Show or hide the vertical scroll bar.
3953     void SetUseVerticalScrollBar(bool visible);
3954 
3955     // Is the vertical scroll bar visible?
3956     bool GetUseVerticalScrollBar() const;
3957 
3958     // Append a string to the end of the document without changing the selection.
3959     void AppendText(const wxString& text);
3960 
3961     // Is drawing done in two phases with backgrounds drawn before foregrounds?
3962     bool GetTwoPhaseDraw() const;
3963 
3964     // In twoPhaseDraw mode, drawing is performed in two phases, first the background
3965     // and then the foreground. This avoids chopping off characters that overlap the next run.
3966     void SetTwoPhaseDraw(bool twoPhase);
3967 
3968     // How many phases is drawing done in?
3969     int GetPhasesDraw() const;
3970 
3971     // In one phase draw, text is drawn in a series of rectangular blocks with no overlap.
3972     // In two phase draw, text is drawn in a series of lines allowing runs to overlap horizontally.
3973     // In multiple phase draw, each element is drawn over the whole drawing area, allowing text
3974     // to overlap from one line to the next.
3975     void SetPhasesDraw(int phases);
3976 
3977     // Choose the quality level for text.
3978     void SetFontQuality(int fontQuality);
3979 
3980     // Retrieve the quality level for text.
3981     int GetFontQuality() const;
3982 
3983     // Scroll so that a display line is at the top of the display.
3984     void SetFirstVisibleLine(int displayLine);
3985 
3986     // Change the effect of pasting when there are multiple selections.
3987     void SetMultiPaste(int multiPaste);
3988 
3989     // Retrieve the effect of pasting when there are multiple selections.
3990     int GetMultiPaste() const;
3991 
3992     // Retrieve the value of a tag from a regular expression search.
3993     wxString GetTag(int tagNumber) const;
3994 
3995     // Join the lines in the target.
3996     void LinesJoin();
3997 
3998     // Split the lines in the target into lines that are less wide than pixelWidth
3999     // where possible.
4000     void LinesSplit(int pixelWidth);
4001 
4002     // Set one of the colours used as a chequerboard pattern in the fold margin
4003     void SetFoldMarginColour(bool useSetting, const wxColour& back);
4004 
4005     // Set the other colour used as a chequerboard pattern in the fold margin
4006     void SetFoldMarginHiColour(bool useSetting, const wxColour& fore);
4007 
4008     // Move caret down one line.
4009     void LineDown();
4010 
4011     // Move caret down one line extending selection to new caret position.
4012     void LineDownExtend();
4013 
4014     // Move caret up one line.
4015     void LineUp();
4016 
4017     // Move caret up one line extending selection to new caret position.
4018     void LineUpExtend();
4019 
4020     // Move caret left one character.
4021     void CharLeft();
4022 
4023     // Move caret left one character extending selection to new caret position.
4024     void CharLeftExtend();
4025 
4026     // Move caret right one character.
4027     void CharRight();
4028 
4029     // Move caret right one character extending selection to new caret position.
4030     void CharRightExtend();
4031 
4032     // Move caret left one word.
4033     void WordLeft();
4034 
4035     // Move caret left one word extending selection to new caret position.
4036     void WordLeftExtend();
4037 
4038     // Move caret right one word.
4039     void WordRight();
4040 
4041     // Move caret right one word extending selection to new caret position.
4042     void WordRightExtend();
4043 
4044     // Move caret to first position on line.
4045     void Home();
4046 
4047     // Move caret to first position on line extending selection to new caret position.
4048     void HomeExtend();
4049 
4050     // Move caret to last position on line.
4051     void LineEnd();
4052 
4053     // Move caret to last position on line extending selection to new caret position.
4054     void LineEndExtend();
4055 
4056     // Move caret to first position in document.
4057     void DocumentStart();
4058 
4059     // Move caret to first position in document extending selection to new caret position.
4060     void DocumentStartExtend();
4061 
4062     // Move caret to last position in document.
4063     void DocumentEnd();
4064 
4065     // Move caret to last position in document extending selection to new caret position.
4066     void DocumentEndExtend();
4067 
4068     // Move caret one page up.
4069     void PageUp();
4070 
4071     // Move caret one page up extending selection to new caret position.
4072     void PageUpExtend();
4073 
4074     // Move caret one page down.
4075     void PageDown();
4076 
4077     // Move caret one page down extending selection to new caret position.
4078     void PageDownExtend();
4079 
4080     // Switch from insert to overtype mode or the reverse.
4081     void EditToggleOvertype();
4082 
4083     // Cancel any modes such as call tip or auto-completion list display.
4084     void Cancel();
4085 
4086     // Delete the selection or if no selection, the character before the caret.
4087     void DeleteBack();
4088 
4089     // If selection is empty or all on one line replace the selection with a tab character.
4090     // If more than one line selected, indent the lines.
4091     void Tab();
4092 
4093     // Dedent the selected lines.
4094     void BackTab();
4095 
4096     // Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
4097     void NewLine();
4098 
4099     // Insert a Form Feed character.
4100     void FormFeed();
4101 
4102     // Move caret to before first visible character on line.
4103     // If already there move to first character on line.
4104     void VCHome();
4105 
4106     // Like VCHome but extending selection to new caret position.
4107     void VCHomeExtend();
4108 
4109     // Magnify the displayed text by increasing the sizes by 1 point.
4110     void ZoomIn();
4111 
4112     // Make the displayed text smaller by decreasing the sizes by 1 point.
4113     void ZoomOut();
4114 
4115     // Delete the word to the left of the caret.
4116     void DelWordLeft();
4117 
4118     // Delete the word to the right of the caret.
4119     void DelWordRight();
4120 
4121     // Delete the word to the right of the caret, but not the trailing non-word characters.
4122     void DelWordRightEnd();
4123 
4124     // Cut the line containing the caret.
4125     void LineCut();
4126 
4127     // Delete the line containing the caret.
4128     void LineDelete();
4129 
4130     // Switch the current line with the previous.
4131     void LineTranspose();
4132 
4133     // Duplicate the current line.
4134     void LineDuplicate();
4135 
4136     // Transform the selection to lower case.
4137     void LowerCase();
4138 
4139     // Transform the selection to upper case.
4140     void UpperCase();
4141 
4142     // Scroll the document down, keeping the caret visible.
4143     void LineScrollDown();
4144 
4145     // Scroll the document up, keeping the caret visible.
4146     void LineScrollUp();
4147 
4148     // Delete the selection or if no selection, the character before the caret.
4149     // Will not delete the character before at the start of a line.
4150     void DeleteBackNotLine();
4151 
4152     // Move caret to first position on display line.
4153     void HomeDisplay();
4154 
4155     // Move caret to first position on display line extending selection to
4156     // new caret position.
4157     void HomeDisplayExtend();
4158 
4159     // Move caret to last position on display line.
4160     void LineEndDisplay();
4161 
4162     // Move caret to last position on display line extending selection to new
4163     // caret position.
4164     void LineEndDisplayExtend();
4165 
4166     // Like Home but when word-wrap is enabled goes first to start of display line
4167     // HomeDisplay, then to start of document line Home.
4168     void HomeWrap();
4169 
4170     // Like HomeExtend but when word-wrap is enabled extends first to start of display line
4171     // HomeDisplayExtend, then to start of document line HomeExtend.
4172     void HomeWrapExtend();
4173 
4174     // Like LineEnd but when word-wrap is enabled goes first to end of display line
4175     // LineEndDisplay, then to start of document line LineEnd.
4176     void LineEndWrap();
4177 
4178     // Like LineEndExtend but when word-wrap is enabled extends first to end of display line
4179     // LineEndDisplayExtend, then to start of document line LineEndExtend.
4180     void LineEndWrapExtend();
4181 
4182     // Like VCHome but when word-wrap is enabled goes first to start of display line
4183     // VCHomeDisplay, then behaves like VCHome.
4184     void VCHomeWrap();
4185 
4186     // Like VCHomeExtend but when word-wrap is enabled extends first to start of display line
4187     // VCHomeDisplayExtend, then behaves like VCHomeExtend.
4188     void VCHomeWrapExtend();
4189 
4190     // Copy the line containing the caret.
4191     void LineCopy();
4192 
4193     // Move the caret inside current view if it's not there already.
4194     void MoveCaretInsideView();
4195 
4196     // How many characters are on a line, including end of line characters?
4197     int LineLength(int line) const;
4198 
4199     // Highlight the characters at two positions.
4200     void BraceHighlight(int posA, int posB);
4201 
4202     // Use specified indicator to highlight matching braces instead of changing their style.
4203     void BraceHighlightIndicator(bool useSetting, int indicator);
4204 
4205     // Highlight the character at a position indicating there is no matching brace.
4206     void BraceBadLight(int pos);
4207 
4208     // Use specified indicator to highlight non matching brace instead of changing its style.
4209     void BraceBadLightIndicator(bool useSetting, int indicator);
4210 
4211     // Find the position of a matching brace or wxSCI_INVALID_POSITION if no match.
4212     // The maxReStyle must be 0 for now. It may be defined in a future release.
4213     int BraceMatch(int pos, int maxReStyle=0);
4214 
4215     // Are the end of line characters visible?
4216     bool GetViewEOL() const;
4217 
4218     // Make the end of line characters visible or invisible.
4219     void SetViewEOL(bool visible);
4220 
4221     // Retrieve a pointer to the document object.
4222     void* GetDocPointer();
4223 
4224     // Change the document object used.
4225     void SetDocPointer(void* docPointer);
4226 
4227     // Set which document modification events are sent to the container.
4228     void SetModEventMask(int eventMask);
4229 
4230     // Retrieve the column number which text should be kept within.
4231     int GetEdgeColumn() const;
4232 
4233     // Set the column number of the edge.
4234     // If text goes past the edge then it is highlighted.
4235     void SetEdgeColumn(int column);
4236 
4237     // Retrieve the edge highlight mode.
4238     int GetEdgeMode() const;
4239 
4240     // The edge may be displayed by a line (wxSCI_EDGE_LINE/wxSCI_EDGE_MULTILINE) or by highlighting text that
4241     // goes beyond it (wxSCI_EDGE_BACKGROUND) or not displayed at all (wxSCI_EDGE_NONE).
4242     void SetEdgeMode(int edgeMode);
4243 
4244     // Retrieve the colour used in edge indication.
4245     wxColour GetEdgeColour() const;
4246 
4247     // Change the colour used in edge indication.
4248     void SetEdgeColour(const wxColour& edgeColour);
4249 
4250     // Add a new vertical edge to the view.
4251     void MultiEdgeAddLine(int column, const wxColour& edgeColour);
4252 
4253     // Clear all vertical edges.
4254     void MultiEdgeClearAll();
4255 
4256     // Sets the current caret position to be the search anchor.
4257     void SearchAnchor();
4258 
4259     // Find some text starting at the search anchor.
4260     // Does not ensure the selection is visible.
4261     int SearchNext(int searchFlags, const wxString& text);
4262 
4263     // Find some text starting at the search anchor and moving backwards.
4264     // Does not ensure the selection is visible.
4265     int SearchPrev(int searchFlags, const wxString& text);
4266 
4267     // Retrieves the number of lines completely visible.
4268     int LinesOnScreen() const;
4269 
4270     // Set whether a pop up menu is displayed automatically when the user presses
4271     // the wrong mouse button on certain areas.
4272     void UsePopUp(int popUpMode);
4273 
4274     // Is the selection rectangular? The alternative is the more common stream selection.
4275     bool SelectionIsRectangle() const;
4276 
4277     // Set the zoom level. This number of points is added to the size of all fonts.
4278     // It may be positive to magnify or negative to reduce.
4279     void SetZoom(int zoomInPoints);
4280 
4281     // Retrieve the zoom level.
4282     int GetZoom() const;
4283 
4284     // Create a new document object.
4285     // Starts with reference count of 1 and not selected into editor.
4286     void* CreateDocument();
4287 
4288     // Extend life of document.
4289     void AddRefDocument(void* docPointer);
4290 
4291     // Release a reference to the document, deleting document if it fades to black.
4292     void ReleaseDocument(void* docPointer);
4293 
4294     // Get which document modification events are sent to the container.
4295     int GetModEventMask() const;
4296 
4297     // Change internal focus flag.
4298     void SetSCIFocus(bool focus);
4299 
4300     // Get internal focus flag.
4301     bool GetSCIFocus() const;
4302 
4303     // Change error status - 0 = OK.
4304     void SetStatus(int status);
4305 
4306     // Get error status.
4307     int GetStatus() const;
4308 
4309     // Set whether the mouse is captured when its button is pressed.
4310     void SetMouseDownCaptures(bool captures);
4311 
4312     // Get whether mouse gets captured.
4313     bool GetMouseDownCaptures() const;
4314 
4315     // Set whether the mouse wheel can be active outside the window.
4316     void SetMouseWheelCaptures(bool captures);
4317 
4318     // Get whether mouse wheel can be active outside the window.
4319     bool GetMouseWheelCaptures() const;
4320 
4321     // Sets the cursor to one of the wxSCI_CURSOR* values.
4322     void SetSCICursor(int cursorType);
4323 
4324     // Get cursor type.
4325     int GetSCICursor() const;
4326 
4327     // Change the way control characters are displayed:
4328     // If symbol is < 32, keep the drawn way, else, use the given character.
4329     void SetControlCharSymbol(int symbol);
4330 
4331     // Get the way control characters are displayed.
4332     int GetControlCharSymbol() const;
4333 
4334     // Move to the previous change in capitalisation.
4335     void WordPartLeft();
4336 
4337     // Move to the previous change in capitalisation extending selection
4338     // to new caret position.
4339     void WordPartLeftExtend();
4340 
4341     // Move to the change next in capitalisation.
4342     void WordPartRight();
4343 
4344     // Move to the next change in capitalisation extending selection
4345     // to new caret position.
4346     void WordPartRightExtend();
4347 
4348     // Set the way the display area is determined when a particular line
4349     // is to be moved to by Find, FindNext, GotoLine, etc.
4350     void SetVisiblePolicy(int visiblePolicy, int visibleSlop);
4351 
4352     // Delete back from the current position to the start of the line.
4353     void DelLineLeft();
4354 
4355     // Delete forwards from the current position to the end of the line.
4356     void DelLineRight();
4357 
4358     // Set the xOffset (ie, horizontal scroll position).
4359     void SetXOffset(int xOffset);
4360 
4361     // Get the xOffset (ie, horizontal scroll position).
4362     int GetXOffset() const;
4363 
4364     // Set the last x chosen value to be the caret x position.
4365     void ChooseCaretX();
4366 
4367     // Set the way the caret is kept visible when going sideways.
4368     // The exclusion zone is given in pixels.
4369     void SetXCaretPolicy(int caretPolicy, int caretSlop);
4370 
4371     // Set the way the line the caret is on is kept visible.
4372     // The exclusion zone is given in lines.
4373     void SetYCaretPolicy(int caretPolicy, int caretSlop);
4374 
4375     // Set printing to line wrapped (wxSCI_WRAP_WORD) or not line wrapped (wxSCI_WRAP_NONE).
4376     void SetPrintWrapMode(int wrapMode);
4377 
4378     // Is printing line wrapped?
4379     int GetPrintWrapMode() const;
4380 
4381     // Set a fore colour for active hotspots.
4382     void SetHotspotActiveForeground(bool useSetting, const wxColour& fore);
4383 
4384     // Get the fore colour for active hotspots.
4385     wxColour GetHotspotActiveForeground() const;
4386 
4387     // Set a back colour for active hotspots.
4388     void SetHotspotActiveBackground(bool useSetting, const wxColour& back);
4389 
4390     // Get the back colour for active hotspots.
4391     wxColour GetHotspotActiveBackground() const;
4392 
4393     // Enable / Disable underlining active hotspots.
4394     void SetHotspotActiveUnderline(bool underline);
4395 
4396     // Get whether underlining for active hotspots.
4397     bool GetHotspotActiveUnderline() const;
4398 
4399     // Limit hotspots to single line so hotspots on two lines don't merge.
4400     void SetHotspotSingleLine(bool singleLine);
4401 
4402     // Get the HotspotSingleLine property
4403     bool GetHotspotSingleLine() const;
4404 
4405     // Move caret down one paragraph (delimited by empty lines).
4406     void ParaDown();
4407 
4408     // Extend selection down one paragraph (delimited by empty lines).
4409     void ParaDownExtend();
4410 
4411     // Move caret up one paragraph (delimited by empty lines).
4412     void ParaUp();
4413 
4414     // Extend selection up one paragraph (delimited by empty lines).
4415     void ParaUpExtend();
4416 
4417     // Given a valid document position, return the previous position taking code
4418     // page into account. Returns 0 if passed 0.
4419     int PositionBefore(int pos);
4420 
4421     // Given a valid document position, return the next position taking code
4422     // page into account. Maximum value returned is the last position in the document.
4423     int PositionAfter(int pos);
4424 
4425     // Given a valid document position, return a position that differs in a number
4426     // of characters. Returned value is always between 0 and last position in document.
4427     int PositionRelative(int pos, int relative);
4428 
4429     // Copy a range of text to the clipboard. Positions are clipped into the document.
4430     void CopyRange(int start, int end);
4431 
4432     // Copy argument text to the clipboard.
4433     void CopyText(int length, const wxString& text);
4434 
4435     // Set the selection mode to stream (wxSCI_SEL_STREAM) or rectangular (wxSCI_SEL_RECTANGLE/wxSCI_SEL_THIN) or
4436     // by lines (wxSCI_SEL_LINES).
4437     void SetSelectionMode(int selectionMode);
4438 
4439     // Get the mode of the current selection.
4440     int GetSelectionMode() const;
4441 
4442     // Retrieve the position of the start of the selection at the given line (wxSCI_INVALID_POSITION if no selection on this line).
4443     int GetLineSelStartPosition(int line);
4444 
4445     // Retrieve the position of the end of the selection at the given line (wxSCI_INVALID_POSITION if no selection on this line).
4446     int GetLineSelEndPosition(int line);
4447 
4448     // Move caret down one line, extending rectangular selection to new caret position.
4449     void LineDownRectExtend();
4450 
4451     // Move caret up one line, extending rectangular selection to new caret position.
4452     void LineUpRectExtend();
4453 
4454     // Move caret left one character, extending rectangular selection to new caret position.
4455     void CharLeftRectExtend();
4456 
4457     // Move caret right one character, extending rectangular selection to new caret position.
4458     void CharRightRectExtend();
4459 
4460     // Move caret to first position on line, extending rectangular selection to new caret position.
4461     void HomeRectExtend();
4462 
4463     // Move caret to before first visible character on line.
4464     // If already there move to first character on line.
4465     // In either case, extend rectangular selection to new caret position.
4466     void VCHomeRectExtend();
4467 
4468     // Move caret to last position on line, extending rectangular selection to new caret position.
4469     void LineEndRectExtend();
4470 
4471     // Move caret one page up, extending rectangular selection to new caret position.
4472     void PageUpRectExtend();
4473 
4474     // Move caret one page down, extending rectangular selection to new caret position.
4475     void PageDownRectExtend();
4476 
4477     // Move caret to top of page, or one page up if already at top of page.
4478     void StutteredPageUp();
4479 
4480     // Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.
4481     void StutteredPageUpExtend();
4482 
4483     // Move caret to bottom of page, or one page down if already at bottom of page.
4484     void StutteredPageDown();
4485 
4486     // Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.
4487     void StutteredPageDownExtend();
4488 
4489     // Move caret left one word, position cursor at end of word.
4490     void WordLeftEnd();
4491 
4492     // Move caret left one word, position cursor at end of word, extending selection to new caret position.
4493     void WordLeftEndExtend();
4494 
4495     // Move caret right one word, position cursor at end of word.
4496     void WordRightEnd();
4497 
4498     // Move caret right one word, position cursor at end of word, extending selection to new caret position.
4499     void WordRightEndExtend();
4500 
4501     // Set the set of characters making up whitespace for when moving or selecting by word.
4502     // Should be called after SetWordChars.
4503     void SetWhitespaceChars(const wxString& characters);
4504 
4505     // Get the set of characters making up whitespace for when moving or selecting by word.
4506     wxString GetWhitespaceChars() const;
4507 
4508     // Set the set of characters making up punctuation characters
4509     // Should be called after SetWordChars.
4510     void SetPunctuationChars(const wxString& characters);
4511 
4512     // Get the set of characters making up punctuation characters
4513     wxString GetPunctuationChars() const;
4514 
4515     // Reset the set of characters for whitespace and word characters to the defaults.
4516     void SetCharsDefault();
4517 
4518     // Get currently selected item position in the auto-completion list
4519     int AutoCompGetCurrent() const;
4520 
4521     // Get currently selected item text in the auto-completion list
4522     wxString AutoCompGetCurrentText() const;
4523 
4524     // Set auto-completion case insensitive behaviour to either prefer case-sensitive matches or have no preference.
4525     void AutoCompSetCaseInsensitiveBehaviour(int behaviour);
4526 
4527     // Get auto-completion case insensitive behaviour.
4528     int AutoCompGetCaseInsensitiveBehaviour() const;
4529 
4530     // Change the effect of autocompleting when there are multiple selections.
4531     void AutoCompSetMulti(int multi);
4532 
4533     // Retrieve the effect of autocompleting when there are multiple selections.
4534     int AutoCompGetMulti() const;
4535 
4536     // Set the way autocompletion lists are ordered.
4537     void AutoCompSetOrder(int order);
4538 
4539     // Get the way autocompletion lists are ordered.
4540     int AutoCompGetOrder() const;
4541 
4542     // Enlarge the document to a particular size of text bytes.
4543     void Allocate(int bytes);
4544 
4545     // Find the position of a column on a line taking into account tabs and
4546     // multi-byte characters. If beyond end of line, return line end position.
4547     int FindColumn(int line, int column);
4548 
4549     // Can the caret preferred x position only be changed by explicit movement commands?
4550     int GetCaretSticky() const;
4551 
4552     // Stop the caret preferred x position changing when the user types.
4553     void SetCaretSticky(int useCaretStickyBehaviour);
4554 
4555     // Switch between sticky and non-sticky: meant to be bound to a key.
4556     void ToggleCaretSticky();
4557 
4558     // Enable/Disable convert-on-paste for line endings
4559     void SetPasteConvertEndings(bool convert);
4560 
4561     // Get convert-on-paste setting
4562     bool GetPasteConvertEndings() const;
4563 
4564     // Duplicate the selection. If selection empty duplicate the line containing the caret.
4565     void SelectionDuplicate();
4566 
4567     // Set background alpha of the caret line.
4568     void SetCaretLineBackAlpha(int alpha);
4569 
4570     // Get the background alpha of the caret line.
4571     int GetCaretLineBackAlpha() const;
4572 
4573     // Set the style of the caret to be drawn.
4574     void SetCaretStyle(int caretStyle);
4575 
4576     // Returns the current style of the caret.
4577     int GetCaretStyle() const;
4578 
4579     // Set the indicator used for IndicatorFillRange and IndicatorClearRange
4580     void SetIndicatorCurrent(int indicator);
4581 
4582     // Get the current indicator
4583     int GetIndicatorCurrent() const;
4584 
4585     // Set the value used for IndicatorFillRange
4586     void SetIndicatorValue(int value);
4587 
4588     // Get the current indicator value
4589     int GetIndicatorValue() const;
4590 
4591     // Turn a indicator on over a range.
4592     void IndicatorFillRange(int start, int lengthFill);
4593 
4594     // Turn a indicator off over a range.
4595     void IndicatorClearRange(int start, int lengthClear);
4596 
4597     // Are any indicators present at pos?
4598     int IndicatorAllOnFor(int pos);
4599 
4600     // What value does a particular indicator have at a position?
4601     int IndicatorValueAt(int indicator, int pos);
4602 
4603     // Where does a particular indicator start?
4604     int IndicatorStart(int indicator, int pos);
4605 
4606     // Where does a particular indicator end?
4607     int IndicatorEnd(int indicator, int pos);
4608 
4609     // Set number of entries in position cache
4610     void SetPositionCacheSize(int size);
4611 
4612     // How many entries are allocated to the position cache?
4613     int GetPositionCacheSize() const;
4614 
4615     // Copy the selection, if selection empty copy the line with the caret
4616     void CopyAllowLine();
4617 
4618     // Compact the document buffer and return a read-only pointer to the
4619     // characters in the document.
4620     const char* GetCharacterPointer() const;
4621 
4622     // Return a read-only pointer to a range of characters in the document.
4623     // May move the gap so that the range is contiguous, but will only move up
4624     // to rangeLength bytes.
4625     const char* GetRangePointer(int position, int rangeLength) const;
4626 
4627     // Return a position which, to avoid performance costs, should not be within
4628     // the range of a call to GetRangePointer.
4629     int GetGapPosition() const;
4630 
4631     // Set the alpha fill colour of the given indicator.
4632     void IndicatorSetAlpha(int indicator, int alpha);
4633 
4634     // Get the alpha fill colour of the given indicator.
4635     int IndicatorGetAlpha(int indicator) const;
4636 
4637     // Set the alpha outline colour of the given indicator.
4638     void IndicatorSetOutlineAlpha(int indicator, int alpha);
4639 
4640     // Get the alpha outline colour of the given indicator.
4641     int IndicatorGetOutlineAlpha(int indicator) const;
4642 
4643     // Set extra ascent for each line
4644     void SetExtraAscent(int extraAscent);
4645 
4646     // Get extra ascent for each line
4647     int GetExtraAscent() const;
4648 
4649     // Set extra descent for each line
4650     void SetExtraDescent(int extraDescent);
4651 
4652     // Get extra descent for each line
4653     int GetExtraDescent() const;
4654 
4655     // Which symbol was defined for markerNumber with MarkerDefine
4656     int GetMarkerSymbolDefined(int markerNumber);
4657 
4658     // Set the text in the text margin for a line
4659     void MarginSetText(int line, const wxString& text);
4660 
4661     // Get the text in the text margin for a line
4662     wxString MarginGetText(int line) const;
4663 
4664     // Set the style number for the text margin for a line
4665     void MarginSetStyle(int line, int style);
4666 
4667     // Get the style number for the text margin for a line
4668     int MarginGetStyle(int line) const;
4669 
4670     // Set the style in the text margin for a line
4671     void MarginSetStyles(int line, const wxString& styles);
4672 
4673     // Get the styles in the text margin for a line
4674     wxString MarginGetStyles(int line) const;
4675 
4676     // Clear the margin text on all lines
4677     void MarginTextClearAll();
4678 
4679     // Get the start of the range of style numbers used for margin text
4680     void MarginSetStyleOffset(int style);
4681 
4682     // Get the start of the range of style numbers used for margin text
4683     int MarginGetStyleOffset() const;
4684 
4685     // Set the margin options.
4686     void SetMarginOptions(int marginOptions);
4687 
4688     // Get the margin options.
4689     int GetMarginOptions() const;
4690 
4691     // Set the annotation text for a line
4692     void AnnotationSetText(int line, const wxString& text);
4693 
4694     // Get the annotation text for a line
4695     wxString AnnotationGetText(int line) const;
4696 
4697     // Set the style number for the annotations for a line
4698     void AnnotationSetStyle(int line, int style);
4699 
4700     // Get the style number for the annotations for a line
4701     int AnnotationGetStyle(int line) const;
4702 
4703     // Set the annotation styles for a line
4704     void AnnotationSetStyles(int line, const wxString& styles);
4705 
4706     // Get the annotation styles for a line
4707     wxString AnnotationGetStyles(int line) const;
4708 
4709     // Get the number of annotation lines for a line
4710     int AnnotationGetLines(int line) const;
4711 
4712     // Clear the annotations from all lines
4713     void AnnotationClearAll();
4714 
4715     // Set the visibility for the annotations for a view
4716     void AnnotationSetVisible(int visible);
4717 
4718     // Get the visibility for the annotations for a view
4719     int AnnotationGetVisible() const;
4720 
4721     // Get the start of the range of style numbers used for annotations
4722     void AnnotationSetStyleOffset(int style);
4723 
4724     // Get the start of the range of style numbers used for annotations
4725     int AnnotationGetStyleOffset() const;
4726 
4727     // Release all extended (>255) style numbers
4728     void ReleaseAllExtendedStyles();
4729 
4730     // Allocate some extended (>255) style numbers and return the start of the range
4731     int AllocateExtendedStyles(int numberStyles);
4732 
4733     // Add a container action to the undo stack
4734     void AddUndoAction(int token, int flags);
4735 
4736     // Find the position of a character from a point within the window.
4737     int CharPositionFromPoint(int x, int y);
4738 
4739     // Find the position of a character from a point within the window.
4740     // Return wxSCI_INVALID_POSITION if not close to text.
4741     int CharPositionFromPointClose(int x, int y);
4742 
4743     // Set whether switching to rectangular mode while selecting with the mouse is allowed.
4744     void SetMouseSelectionRectangularSwitch(bool mouseSelectionRectangularSwitch);
4745 
4746     // Whether switching to rectangular mode while selecting with the mouse is allowed.
4747     bool GetMouseSelectionRectangularSwitch() const;
4748 
4749     // Set whether multiple selections can be made
4750     void SetMultipleSelection(bool multipleSelection);
4751 
4752     // Whether multiple selections can be made
4753     bool GetMultipleSelection() const;
4754 
4755     // Set whether typing can be performed into multiple selections
4756     void SetAdditionalSelectionTyping(bool additionalSelectionTyping);
4757 
4758     // Whether typing can be performed into multiple selections
4759     bool GetAdditionalSelectionTyping() const;
4760 
4761     // Set whether additional carets will blink
4762     void SetAdditionalCaretsBlink(bool additionalCaretsBlink);
4763 
4764     // Whether additional carets will blink
4765     bool GetAdditionalCaretsBlink() const;
4766 
4767     // Set whether additional carets are visible
4768     void SetAdditionalCaretsVisible(bool additionalCaretsVisible);
4769 
4770     // Whether additional carets are visible
4771     bool GetAdditionalCaretsVisible() const;
4772 
4773     // How many selections are there?
4774     int GetSelections() const;
4775 
4776     // Is every selected range empty?
4777     bool GetSelectionEmpty() const;
4778 
4779     // Clear selections to a single empty stream selection
4780     void ClearSelections();
4781 
4782 /* C::B begin */
4783     // Select a range of text.
4784     void SetSelectionVoid(int startPos, int endPos);
4785 
4786     // Set a simple selection
4787     int SetSelectionInt(int caret, int anchor);
4788 /* C::B end */
4789 
4790     // Add a selection
4791     int AddSelection(int caret, int anchor);
4792 
4793     // Drop one selection
4794     void DropSelectionN(int selection);
4795 
4796     // Set the main selection
4797     void SetMainSelection(int selection);
4798 
4799     // Which selection is the main selection
4800     int GetMainSelection() const;
4801 
4802     // Set the caret position of the nth selection.
4803     void SetSelectionNCaret(int selection, int caret);
4804 
4805     // Return the caret position of the nth selection.
4806     int GetSelectionNCaret(int selection) const;
4807 
4808     // Set the anchor position of the nth selection.
4809     void SetSelectionNAnchor(int selection, int anchor);
4810 
4811     // Return the anchor position of the nth selection.
4812     int GetSelectionNAnchor(int selection) const;
4813 
4814     // Set the virtual space of the caret of the nth selection.
4815     void SetSelectionNCaretVirtualSpace(int selection, int space);
4816 
4817     // Return the virtual space of the caret of the nth selection.
4818     int GetSelectionNCaretVirtualSpace(int selection) const;
4819 
4820     // Set the virtual space of the anchor of the nth selection.
4821     void SetSelectionNAnchorVirtualSpace(int selection, int space);
4822 
4823     // Return the virtual space of the anchor of the nth selection.
4824     int GetSelectionNAnchorVirtualSpace(int selection) const;
4825 
4826     // Sets the position that starts the selection - this becomes the anchor.
4827     void SetSelectionNStart(int selection, int anchor);
4828 
4829     // Returns the position at the start of the selection.
4830     int GetSelectionNStart(int selection) const;
4831 
4832     // Sets the position that ends the selection - this becomes the currentPosition.
4833     void SetSelectionNEnd(int selection, int caret);
4834 
4835     // Returns the position at the end of the selection.
4836     int GetSelectionNEnd(int selection) const;
4837 
4838     // Set the caret position of the rectangular selection.
4839     void SetRectangularSelectionCaret(int caret);
4840 
4841     // Return the caret position of the rectangular selection.
4842     int GetRectangularSelectionCaret() const;
4843 
4844     // Set the anchor position of the rectangular selection.
4845     void SetRectangularSelectionAnchor(int anchor);
4846 
4847     // Return the anchor position of the rectangular selection.
4848     int GetRectangularSelectionAnchor() const;
4849 
4850     // Set the virtual space of the caret of the rectangular selection.
4851     void SetRectangularSelectionCaretVirtualSpace(int space);
4852 
4853     // Return the virtual space of the caret of the rectangular selection.
4854     int GetRectangularSelectionCaretVirtualSpace() const;
4855 
4856     // Set the virtual space of the anchor of the rectangular selection.
4857     void SetRectangularSelectionAnchorVirtualSpace(int space);
4858 
4859     // Return the virtual space of the anchor of the rectangular selection.
4860     int GetRectangularSelectionAnchorVirtualSpace() const;
4861 
4862     // Set options for virtual space behaviour.
4863     void SetVirtualSpaceOptions(int virtualSpaceOptions);
4864 
4865     // Return options for virtual space behaviour.
4866     int GetVirtualSpaceOptions() const;
4867 
4868     // On GTK+, allow selecting the modifier key to use for mouse-based
4869     // rectangular selection. Often the window manager requires Alt+Mouse Drag
4870     // for moving windows.
4871     // Valid values are wxSCI_KEYMOD_CTRL (default), wxSCI_KEYMOD_ALT, or wxSCI_KEYMOD_SUPER.
4872     void SetRectangularSelectionModifier(int modifier);
4873 
4874     // Get the modifier key used for rectangular selection.
4875     int GetRectangularSelectionModifier() const;
4876 
4877     // Set the foreground colour of additional selections.
4878     // Must have previously called SetSelFore with non-zero first argument for this to have an effect.
4879     void SetAdditionalSelForeground(const wxColour& fore);
4880 
4881     // Set the background colour of additional selections.
4882     // Must have previously called SetSelBack with non-zero first argument for this to have an effect.
4883     void SetAdditionalSelBackground(const wxColour& back);
4884 
4885     // Set the alpha of the selection.
4886     void SetAdditionalSelAlpha(int alpha);
4887 
4888     // Get the alpha of the selection.
4889     int GetAdditionalSelAlpha() const;
4890 
4891     // Set the foreground colour of additional carets.
4892     void SetAdditionalCaretForeground(const wxColour& fore);
4893 
4894     // Get the foreground colour of additional carets.
4895     wxColour GetAdditionalCaretForeground() const;
4896 
4897     // Set the main selection to the next selection.
4898     void RotateSelection();
4899 
4900     // Swap that caret and anchor of the main selection.
4901     void SwapMainAnchorCaret();
4902 
4903     // Add the next occurrence of the main selection to the set of selections as main.
4904     // If the current selection is empty then select word around caret.
4905     void MultipleSelectAddNext();
4906 
4907     // Add each occurrence of the main selection in the target to the set of selections.
4908     // If the current selection is empty then select word around caret.
4909     void MultipleSelectAddEach();
4910 
4911     // Indicate that the internal state of a lexer has changed over a range and therefore
4912     // there may be a need to redraw.
4913     int ChangeLexerState(int start, int end);
4914 
4915     // Find the next line at or after lineStart that is a contracted fold header line.
4916     // Return -1 when no more lines.
4917     int ContractedFoldNext(int lineStart);
4918 
4919     // Centre current line in window.
4920     void VerticalCentreCaret();
4921 
4922     // Move the selected lines up one line, shifting the line above after the selection
4923     void MoveSelectedLinesUp();
4924 
4925     // Move the selected lines down one line, shifting the line below before the selection
4926     void MoveSelectedLinesDown();
4927 
4928     // Set the identifier reported as idFrom in notification messages.
4929     void SetIdentifier(int identifier);
4930 
4931     // Get the identifier.
4932     int GetIdentifier() const;
4933 
4934     // Set the width for future RGBA image data.
4935     void RGBAImageSetWidth(int width);
4936 
4937     // Set the height for future RGBA image data.
4938     void RGBAImageSetHeight(int height);
4939 
4940     // Set the scale factor in percent for future RGBA image data.
4941     void RGBAImageSetScale(int scalePercent);
4942 
4943     // Define a marker from RGBA data.
4944     // It has the width and height from RGBAImageSetWidth/Height
4945     void MarkerDefineRGBAImage(int markerNumber, const unsigned char* pixels);
4946 
4947     // Register an RGBA image for use in autocompletion lists.
4948     // It has the width and height from RGBAImageSetWidth/Height
4949     void RegisterRGBAImage(int type, const unsigned char* pixels);
4950 
4951     // Scroll to start of document.
4952     void ScrollToStart();
4953 
4954     // Scroll to end of document.
4955     void ScrollToEnd();
4956 
4957     // Set the technology used.
4958     void SetTechnology(int technology);
4959 
4960     // Get the tech.
4961     int GetTechnology() const;
4962 
4963     // Create an ILoader*.
4964     void* CreateLoader(int bytes) const;
4965 
4966     // Move caret to before first visible character on display line.
4967     // If already there move to first character on display line.
4968     void VCHomeDisplay();
4969 
4970     // Like VCHomeDisplay but extending selection to new caret position.
4971     void VCHomeDisplayExtend();
4972 
4973     // Is the caret line always visible?
4974     bool GetCaretLineVisibleAlways() const;
4975 
4976     // Sets the caret line to always visible.
4977     void SetCaretLineVisibleAlways(bool alwaysVisible);
4978 
4979     // Set the line end types that the application wants to use. May not be used if incompatible with lexer or encoding.
4980     void SetLineEndTypesAllowed(int lineEndBitSet);
4981 
4982     // Get the line end types currently allowed.
4983     int GetLineEndTypesAllowed() const;
4984 
4985     // Get the line end types currently recognised. May be a subset of the allowed types due to lexer limitation.
4986     int GetLineEndTypesActive() const;
4987 
4988     // Set the way a character is drawn.
4989     void SetRepresentation(const wxString& encodedCharacter, const wxString& representation);
4990 
4991     // Set the way a character is drawn.
4992     wxString GetRepresentation(const wxString& encodedCharacter) const;
4993 
4994     // Remove a character representation.
4995     void ClearRepresentation(const wxString& encodedCharacter);
4996 
4997     // Start notifying the container of all key presses and commands.
4998     void StartRecord();
4999 
5000     // Stop notifying the container of all key presses and commands.
5001     void StopRecord();
5002 
5003     // Set the lexing language of the document.
5004     void SetLexer(int lexer);
5005 
5006     // Retrieve the lexing language of the document.
5007     int GetLexer() const;
5008 
5009     // Colourise a segment of the document using the current lexing language.
5010     void Colourise(int start, int end);
5011 
5012     // Set up a value that may be used by a lexer for some optional feature.
5013     void SetProperty(const wxString& key, const wxString& value);
5014 
5015     // Set up the key words used by the lexer.
5016     void SetKeyWords(int keyWordSet, const wxString& keyWords);
5017 
5018     // Set the lexing language of the document based on string name.
5019     void SetLexerLanguage(const wxString& language);
5020 
5021     // Load a lexer library (dll / so).
5022     void LoadLexerLibrary(const wxString& path);
5023 
5024     // Retrieve a "property" value previously set with SetProperty.
5025     wxString GetProperty(const wxString& key);
5026 
5027     // Retrieve a "property" value previously set with SetProperty,
5028     // with "$()" variable replacement on returned buffer.
5029     wxString GetPropertyExpanded(const wxString& key);
5030 
5031     // Retrieve a "property" value previously set with SetProperty,
5032     // interpreted as an int AFTER any "$()" variable replacement.
5033     int GetPropertyInt(const wxString &key, int defaultValue=0) const;
5034 
5035     // Retrieve the number of bits the current lexer needs for styling.
5036 #if wxCHECK_VERSION(3, 0, 0)
5037     wxDEPRECATED_MSG( "This method uses a function deprecated in the Scintilla library." )
5038 #endif // wxCHECK_VERSION
5039     int GetStyleBitsNeeded() const;
5040 
5041     // Retrieve the lexing language of the document.
5042     wxString GetLexerLanguage() const;
5043 
5044     // For private communication between an application and a known lexer.
5045     void* PrivateLexerCall(int operation, void* pointer);
5046 
5047     // Retrieve a '\\n' separated list of properties understood by the current lexer.
5048     wxString PropertyNames() const;
5049 
5050     // Retrieve the type of a property.
5051     int PropertyType(const wxString& name);
5052 
5053     // Describe a property.
5054     wxString DescribeProperty(const wxString& name) const;
5055 
5056     // Retrieve a '\\n' separated list of descriptions of the keyword sets understood by the current lexer.
5057     wxString DescribeKeyWordSets() const;
5058 
5059     // Bit set of LineEndType enumertion for which line ends beyond the standard
5060     // LF, CR, and CRLF are supported by the lexer.
5061     int GetLineEndTypesSupported() const;
5062 
5063     // Allocate a set of sub styles for a particular base style, returning start of range
5064     int AllocateSubStyles(int styleBase, int numberStyles);
5065 
5066     // The starting style number for the sub styles associated with a base style
5067     int GetSubStylesStart(int styleBase) const;
5068 
5069     // The number of sub styles associated with a base style
5070     int GetSubStylesLength(int styleBase) const;
5071 
5072     // For a sub style, return the base style, else return the argument.
5073     int GetStyleFromSubStyle(int subStyle) const;
5074 
5075     // For a secondary style, return the primary style, else return the argument.
5076     int GetPrimaryStyleFromStyle(int style) const;
5077 
5078     // Free allocated sub styles
5079     void FreeSubStyles();
5080 
5081     // Set the identifiers that are shown in a particular style
5082     void SetIdentifiers(int style, const wxString& identifiers);
5083 
5084     // Where styles are duplicated by a feature such as active/inactive code
5085     // return the distance between the two types.
5086     int DistanceToSecondaryStyles() const;
5087 
5088     // Get the set of base styles that can be extended with sub styles
5089     wxString GetSubStyleBases() const;
5090 
5091     //}}}
5092     //----------------------------------------------------------------------
5093 
5094     // Manually declared methods
5095 
5096     // Returns the line number of the line with the caret.
5097     int GetCurrentLine();
5098 
5099     // Extract style settings from a spec-string which is composed of one or
5100     // more of the following comma separated elements:
5101     //
5102     //      bold                    turns on bold
5103     //      italic                  turns on italics
5104     //      fore:[name or #RRGGBB]  sets the foreground colour
5105     //      back:[name or #RRGGBB]  sets the background colour
5106     //      face:[facename]         sets the font face name to use
5107     //      size:[num]              sets the font size in points
5108     //      eol                     turns on eol filling
5109     //      underline               turns on underlining
5110     //
5111     void StyleSetSpec(int styleNum, const wxString& spec);
5112 
5113 
5114     // Get the font of a style.
5115     wxFont StyleGetFont(int style);
5116 
5117 
5118     // Set style size, face, bold, italic, and underline attributes from
5119     // a wxFont's attributes.
5120     void StyleSetFont(int styleNum, const wxFont& font);
5121 
5122 
5123 
5124     // Set all font style attributes at once.
5125     void StyleSetFontAttr(int styleNum, int size,
5126                           const wxString& faceName,
5127                           bool bold, bool italic,
5128                           bool underline,
5129                           wxFontEncoding encoding=wxFONTENCODING_DEFAULT);
5130 
5131 
5132     // Set the font encoding to be used by a style.
5133     void StyleSetFontEncoding(int style, wxFontEncoding encoding);
5134 
5135 
5136     // Perform one of the operations defined by the wxSCI_CMD_* constants.
5137     void CmdKeyExecute(int cmd);
5138 
5139 
5140     // Set the left and right margin in the edit area, measured in pixels.
5141     void SetMargins(int left, int right);
5142 
5143 
5144     // Scroll enough to make the given line visible
5145     void ScrollToLine(int line);
5146 
5147 
5148     // Scroll enough to make the given column visible
5149     void ScrollToColumn(int column);
5150 
5151 
5152     // Send a message to Scintilla
5153     //
5154     // NB: this method is not really const as it can modify the control but it
5155     //     has to be declared as such as it's called from both const and
5156     //     non-const methods and we can't distinguish between the two
5157     wxIntPtr SendMsg(int msg, wxUIntPtr wp=0, wxIntPtr lp=0) const;
5158 
5159 
5160     // Set the vertical scrollbar to use instead of the one that's built-in.
5161     void SetVScrollBar(wxScrollBar* bar);
5162 
5163 
5164     // Set the horizontal scrollbar to use instead of the one that's built-in.
5165     void SetHScrollBar(wxScrollBar* bar);
5166 
5167     // Can be used to prevent the EVT_CHAR handler from adding the char
GetLastKeydownProcessed()5168     bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; }
SetLastKeydownProcessed(bool val)5169     void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; }
5170 
5171 /* C::B begin */
5172     // Write the contents of the editor to filename
5173     bool SaveFile(const wxString& filename);
5174 
5175     // Load the contents of filename into the editor
5176     bool LoadFile(const wxString& filename);
5177 /* C::B end */
5178 
5179 #ifdef SCI_USE_DND
5180     // Allow for simulating a DnD DragEnter
5181     wxDragResult DoDragEnter(wxCoord x, wxCoord y, wxDragResult def);
5182 
5183     // Allow for simulating a DnD DragOver
5184     wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
5185 
5186     // Allow for simulating a DnD DragLeave
5187     void DoDragLeave();
5188 
5189     // Allow for simulating a DnD DropText
5190     bool DoDropText(long x, long y, const wxString& data);
5191 #endif
5192 
5193     // Specify whether anti-aliased fonts should be used.  Will have no effect
5194     // on some platforms, but on some (wxMac for example) can greatly improve
5195     // performance.
5196     void SetUseAntiAliasing(bool useAA);
5197 
5198     // Returns the current UseAntiAliasing setting.
5199     bool GetUseAntiAliasing();
5200 
5201     // Clear annotations from the given line.
5202     void AnnotationClearLine(int line);
5203 
5204     // Define a marker from a bitmap.
5205     void MarkerDefineBitmap(int markerNumber, const wxBitmap& bmp);
5206 
5207     // Register an image for use in autocompletion lists.
5208     void RegisterImage(int type, const wxBitmap& bmp);
5209 
5210 
5211 
5212     // The following methods are nearly equivalent to their similarly named
5213     // cousins above.  The difference is that these methods bypass wxString
5214     // and always use a char* even if used in a unicode build of wxWidgets.
5215     // In that case the character data will be utf-8 encoded since that is
5216     // what is used internally by Scintilla in unicode builds.
5217 
5218     // Add text to the document at current position.
5219     void AddTextRaw(const char* text, int length=-1);
5220 
5221     // Insert string at a position.
5222     void InsertTextRaw(int pos, const char* text);
5223 
5224     // Retrieve the text of the line containing the caret.
5225     // Returns the index of the caret on the line.
5226 #ifdef SWIG
5227     wxCharBuffer GetCurLineRaw(int* OUTPUT);
5228 #else
5229     wxCharBuffer GetCurLineRaw(int* linePos=NULL);
5230 #endif
5231 
5232     // Retrieve the contents of a line.
5233     wxCharBuffer GetLineRaw(int line);
5234 
5235     // Retrieve the selected text.
5236     wxCharBuffer GetSelectedTextRaw();
5237 
5238     // Retrieve the target text.
5239     wxCharBuffer GetTargetTextRaw();
5240 
5241     // Retrieve a range of text.
5242     wxCharBuffer GetTextRangeRaw(int startPos, int endPos);
5243 
5244     // Replace the contents of the document with the argument text.
5245     void SetTextRaw(const char* text);
5246 
5247     // Retrieve all the text in the document.
5248     wxCharBuffer GetTextRaw();
5249 
5250     // Append a string to the end of the document without changing the selection.
5251     void AppendTextRaw(const char* text, int length=-1);
5252 
5253 #ifdef SWIG
5254     %pythoncode "_SCI_utf8_methods.py"
5255 #endif
5256 
5257 
5258     // implement wxTextEntryBase pure virtual methods
5259     // ----------------------------------------------
5260 
5261     virtual void WriteText(const wxString& text)
5262     {
5263         ReplaceSelection(text);
5264     }
5265 
Remove(long from,long to)5266     virtual void Remove(long from, long to)
5267     {
5268         Replace(from, to, wxString());
5269     }
Replace(long from,long to,const wxString & text)5270     virtual void Replace(long from, long to, const wxString& text)
5271     {
5272         SetTargetStart((int)from);
5273         SetTargetEnd((int)to);
5274         ReplaceTarget(text);
5275     }
5276 
5277     /*
5278         These functions are already declared in the generated section.
5279 
5280     virtual void Copy();
5281     virtual void Cut();
5282     virtual void Paste();
5283 
5284     virtual void Undo();
5285     virtual void Redo();
5286 
5287     virtual bool CanUndo() const;
5288     virtual bool CanRedo() const;
5289 
5290     */
5291 
SetInsertionPoint(long pos)5292     virtual void SetInsertionPoint(long pos)
5293     {
5294         SetCurrentPos(int(pos == -1 ? GetLastPosition() : pos));
5295     }
GetInsertionPoint()5296     virtual long GetInsertionPoint() const { return GetCurrentPos(); }
GetLastPosition()5297     virtual long GetLastPosition() const { return GetTextLength(); }
5298 
SetSelection(long from,long to)5299     virtual void SetSelection(long from, long to)
5300     {
5301         if ( from == -1 && to == -1 )
5302         {
5303             SelectAll();
5304         }
5305         else
5306         {
5307             SetSelectionStart((int)from);
5308             SetSelectionEnd((int)to);
5309         }
5310     }
5311 
SelectNone()5312     virtual void SelectNone()
5313     {
5314         ClearSelections();
5315     }
5316 
5317 #ifdef SWIG
5318     void GetSelection(long* OUTPUT, long* OUTPUT) const;
5319 #else
GetSelection(long * from,long * to)5320     virtual void GetSelection(long *from, long *to) const
5321     {
5322         if ( from )
5323             *from = GetSelectionStart();
5324         if ( to )
5325             *to = GetSelectionEnd();
5326     }
5327 
5328     // kept for compatibility only
GetSelection(int * from,int * to)5329     void GetSelection(int *from, int *to)
5330     {
5331         long f, t;
5332         GetSelection(&f, &t);
5333         if ( from )
5334             *from = (int)f;
5335         if ( to )
5336             *to = (int)t;
5337     }
5338 #endif
5339 
IsEditable()5340     virtual bool IsEditable() const { return !GetReadOnly(); }
SetEditable(bool editable)5341     virtual void SetEditable(bool editable) { SetReadOnly(!editable); }
5342 
5343 /* C::B begin capture mouse assert fix */
5344     void SetMouseCapture(bool on);
5345     bool HaveMouseCapture() const;
5346 /* C::B end */
5347 
5348 /* C::B begin */
5349 #if wxCHECK_VERSION(3, 0, 0)
5350     static wxVersionInfo GetLibraryVersionInfo();
5351 #endif
5352 /* C::B end */
5353 
5354 protected:
5355 /* C::B begin */
GetValue()5356     wxString GetValue() const { return GetText(); }
SetValue(const wxString & text)5357     void SetValue(const wxString& text) { SetText(text); }
5358 /* C::B end */
5359     virtual void DoSetValue(const wxString& value, int flags);
DoGetValue()5360     virtual wxString DoGetValue() const { return GetText(); }
GetEditableWindow()5361     virtual wxWindow *GetEditableWindow() { return this; }
5362 
5363 #ifndef SWIG
5364     virtual bool DoLoadFile(const wxString& file, int fileType);
5365     virtual bool DoSaveFile(const wxString& file, int fileType);
5366 
5367     // Event handlers
5368     void OnPaint(wxPaintEvent& evt);
5369     void OnScrollWin(wxScrollWinEvent& evt);
5370     void OnScroll(wxScrollEvent& evt);
5371     void OnSize(wxSizeEvent& evt);
5372     void OnMouseLeftDown(wxMouseEvent& evt);
5373     void OnMouseRightDown(wxMouseEvent& evt);
5374     void OnMouseMove(wxMouseEvent& evt);
5375     void OnMouseLeftUp(wxMouseEvent& evt);
5376     void OnMouseRightUp(wxMouseEvent& evt);
5377     void OnMouseMiddleUp(wxMouseEvent& evt);
5378     void OnContextMenu(wxContextMenuEvent& evt);
5379     void OnMouseWheel(wxMouseEvent& evt);
5380     void OnChar(wxKeyEvent& evt);
5381     void OnKeyDown(wxKeyEvent& evt);
5382     void OnLoseFocus(wxFocusEvent& evt);
5383     void OnGainFocus(wxFocusEvent& evt);
5384     void OnSysColourChanged(wxSysColourChangedEvent& evt);
5385     void OnEraseBackground(wxEraseEvent& evt);
5386     void OnMenu(wxCommandEvent& evt);
5387     void OnListBox(wxCommandEvent& evt);
5388     void OnIdle(wxIdleEvent& evt);
5389     void OnMouseCaptureLost(wxMouseCaptureLostEvent& evt);
5390 
5391     virtual wxSize DoGetBestSize() const override;
5392 
5393     // Turn notifications from Scintilla into events
5394     void NotifyChange();
5395     void NotifyParent(SCNotification* scn);
5396 
5397 private:
5398     DECLARE_EVENT_TABLE();
5399     DECLARE_DYNAMIC_CLASS(wxScintilla);
5400 
5401 protected:
5402 
5403     ScintillaWX*        m_swx;
5404     wxStopWatch         m_stopWatch;
5405     wxScrollBar*        m_vScrollBar;
5406     wxScrollBar*        m_hScrollBar;
5407 
5408     bool                m_lastKeyDownConsumed;
5409 
5410     friend class ScintillaWX;
5411     friend class Platform;
5412 #endif // !SWIG
5413 };
5414 
5415 //----------------------------------------------------------------------
5416 
5417 class WXDLLIMPEXP_SCI wxScintillaEvent : public wxCommandEvent {
5418 public:
5419     wxScintillaEvent(wxEventType commandType=0, int id=0);
5420 #ifndef SWIG
5421     wxScintillaEvent(const wxScintillaEvent& event);
5422 #endif
~wxScintillaEvent()5423     ~wxScintillaEvent() {}
5424 
SetPosition(int pos)5425     void SetPosition(int pos)             { m_position = pos; }
SetKey(int k)5426     void SetKey(int k)                    { m_key = k; }
SetModifiers(int m)5427     void SetModifiers(int m)              { m_modifiers = m; }
SetModificationType(int t)5428     void SetModificationType(int t)       { m_modificationType = t; }
5429     // Kept for backwards compatibility, use SetString().
SetText(const wxString & t)5430     void SetText(const wxString& t)       { SetString(t); }
SetLength(int len)5431     void SetLength(int len)               { m_length = len; }
SetLinesAdded(int num)5432     void SetLinesAdded(int num)           { m_linesAdded = num; }
SetLine(int val)5433     void SetLine(int val)                 { m_line = val; }
SetFoldLevelNow(int val)5434     void SetFoldLevelNow(int val)         { m_foldLevelNow = val; }
SetFoldLevelPrev(int val)5435     void SetFoldLevelPrev(int val)        { m_foldLevelPrev = val; }
SetMargin(int val)5436     void SetMargin(int val)               { m_margin = val; }
SetMessage(int val)5437     void SetMessage(int val)              { m_message = val; }
SetWParam(int val)5438     void SetWParam(int val)               { m_wParam = val; }
SetLParam(int val)5439     void SetLParam(int val)               { m_lParam = val; }
SetListType(int val)5440     void SetListType(int val)             { m_listType = val; }
SetX(int val)5441     void SetX(int val)                    { m_x = val; }
SetY(int val)5442     void SetY(int val)                    { m_y = val; }
SetToken(int val)5443     void SetToken(int val)                { m_token = val; }
SetAnnotationLinesAdded(int val)5444     void SetAnnotationLinesAdded(int val) { m_annotationLinesAdded = val; }
SetUpdated(int val)5445     void SetUpdated(int val)              { m_updated = val; }
SetListCompletionMethod(int val)5446     void SetListCompletionMethod(int val) { m_listCompletionMethod = val; }
5447 #ifdef  SCI_USE_DND
5448     // Kept for backwards compatibility, use SetString().
SetDragText(const wxString & val)5449     void SetDragText(const wxString& val) { SetString(val); }
SetDragFlags(int flags)5450     void SetDragFlags(int flags)          { m_dragFlags = flags; }
SetDragResult(wxDragResult val)5451     void SetDragResult(wxDragResult val)  { m_dragResult = val; }
5452 
5453     // This method is kept mainly for backwards compatibility, use
5454     // SetDragFlags() in the new code.
SetDragAllowMove(bool allow)5455     void SetDragAllowMove(bool allow)
5456     {
5457         if ( allow )
5458             m_dragFlags |= wxDrag_AllowMove;
5459         else
5460             m_dragFlags &= ~(wxDrag_AllowMove | wxDrag_DefaultMove);
5461     }
5462 #endif
5463 
GetPosition()5464     int  GetPosition() const         { return m_position; }
GetKey()5465     int  GetKey()  const             { return m_key; }
GetModifiers()5466     int  GetModifiers() const        { return m_modifiers; }
GetModificationType()5467     int  GetModificationType() const { return m_modificationType; }
5468     // Kept for backwards compatibility, use GetString().
GetText()5469     wxString GetText() const         { return GetString(); }
GetLength()5470     int  GetLength() const           { return m_length; }
GetLinesAdded()5471     int  GetLinesAdded() const       { return m_linesAdded; }
GetLine()5472     int  GetLine() const             { return m_line; }
GetFoldLevelNow()5473     int  GetFoldLevelNow() const     { return m_foldLevelNow; }
GetFoldLevelPrev()5474     int  GetFoldLevelPrev() const    { return m_foldLevelPrev; }
GetMargin()5475     int  GetMargin() const           { return m_margin; }
GetMessage()5476     int  GetMessage() const          { return m_message; }
GetWParam()5477     int  GetWParam() const           { return m_wParam; }
GetLParam()5478     int  GetLParam() const           { return m_lParam; }
GetListType()5479     int  GetListType() const         { return m_listType; }
GetX()5480     int  GetX() const                { return m_x; }
GetY()5481     int  GetY() const                { return m_y; }
GetToken()5482     int  GetToken() const                 { return m_token; }
GetAnnotationsLinesAdded()5483     int  GetAnnotationsLinesAdded() const { return m_annotationLinesAdded; }
GetUpdated()5484     int  GetUpdated() const               { return m_updated; }
GetListCompletionMethod()5485     int  GetListCompletionMethod() const  { return m_listCompletionMethod; }
5486 
5487 #ifdef SCI_USE_DND
5488     // Kept for backwards compatibility, use GetString().
GetDragText()5489     wxString GetDragText()           { return GetString(); }
GetDragFlags()5490     int GetDragFlags()               { return m_dragFlags; }
GetDragResult()5491     wxDragResult GetDragResult()     { return m_dragResult; }
5492 
GetDragAllowMove()5493     bool GetDragAllowMove() { return (GetDragFlags() & wxDrag_AllowMove) != 0; }
5494 #endif
5495 
5496     bool GetShift() const;
5497     bool GetControl() const;
5498     bool GetAlt() const;
5499 
Clone()5500     virtual wxEvent* Clone() const { return new wxScintillaEvent(*this); }
5501 
5502 #ifndef SWIG
5503 private:
5504     DECLARE_DYNAMIC_CLASS(wxScintillaEvent)
5505 
5506     int  m_position;
5507     int  m_key;
5508     int  m_modifiers;
5509 
5510     int  m_modificationType;    // wxEVT_SCI_MODIFIED
5511     int  m_length;
5512     int  m_linesAdded;
5513     int  m_line;
5514     int  m_foldLevelNow;
5515     int  m_foldLevelPrev;
5516 
5517     int  m_margin;              // wxEVT_SCI_MARGINCLICK
5518 
5519     int  m_message;             // wxEVT_SCI_MACRORECORD
5520     int  m_wParam;
5521     int  m_lParam;
5522 
5523     int m_listType;
5524     int m_x;
5525     int m_y;
5526 
5527     int m_token;                // wxEVT_SCI__MODIFIED with SC_MOD_CONTAINER
5528     int m_annotationLinesAdded; // wxEVT_SCI_MODIFIED with SC_MOD_CHANGEANNOTATION
5529     int m_updated;              // wxEVT_SCI_UPDATEUI
5530     int m_listCompletionMethod;
5531 
5532 #if wxUSE_DRAG_AND_DROP
5533     int      m_dragFlags;       // wxEVT_SCI_START_DRAG
5534     wxDragResult m_dragResult;  // wxEVT_SCI_DRAG_OVER,wxEVT_SCI_DO_DROP
5535 #endif
5536 #endif
5537 };
5538 
5539 
5540 
5541 #ifndef SWIG
5542 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_CHANGE,               1650)
5543 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_STYLENEEDED,          1651)
5544 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_CHARADDED,            1652)
5545 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_SAVEPOINTREACHED,     1653)
5546 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_SAVEPOINTLEFT,        1654)
5547 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_ROMODIFYATTEMPT,      1655)
5548 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_DOUBLECLICK,          1657)
5549 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_UPDATEUI,             1658)
5550 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_MODIFIED,             1659)
5551 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_MACRORECORD,          1660)
5552 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_MARGINCLICK,          1661)
5553 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_NEEDSHOWN,            1662)
5554 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_PAINTED,              1664)
5555 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_USERLISTSELECTION,    1665)
5556 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_DWELLSTART,           1667)
5557 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_DWELLEND,             1668)
5558 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_START_DRAG,           1669)
5559 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_DRAG_OVER,            1670)
5560 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_DO_DROP,              1671)
5561 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_ZOOM,                 1672)
5562 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_HOTSPOT_CLICK,        1673)
5563 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_HOTSPOT_DCLICK,       1674)
5564 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_CALLTIP_CLICK,        1675)
5565 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_AUTOCOMP_SELECTION,   1676)
5566 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_INDICATOR_CLICK,      1677)
5567 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_INDICATOR_RELEASE,    1678)
5568 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_AUTOCOMP_CANCELLED,   1679)
5569 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_AUTOCOMP_CHAR_DELETED,1680)
5570 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_HOTSPOT_RELEASE_CLICK,1681)
5571 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_CLIPBOARD_COPY,       1681)
5572 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_CLIPBOARD_PASTE,      1682)
5573 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_AUTOCOMP_COMPLETED,   1683)
5574 DECLARE_EXPORTED_EVENT_TYPE (WXDLLIMPEXP_SCI, wxEVT_SCI_MARGIN_RIGHT_CLICK,   1684)
5575 END_DECLARE_EVENT_TYPES()
5576 #else
5577     enum {
5578         wxEVT_SCI_CHANGE,
5579         wxEVT_SCI_STYLENEEDED,
5580         wxEVT_SCI_CHARADDED,
5581         wxEVT_SCI_SAVEPOINTREACHED,
5582         wxEVT_SCI_SAVEPOINTLEFT,
5583         wxEVT_SCI_ROMODIFYATTEMPT,
5584         wxEVT_SCI_DOUBLECLICK,
5585         wxEVT_SCI_UPDATEUI,
5586         wxEVT_SCI_MODIFIED,
5587         wxEVT_SCI_MACRORECORD,
5588         wxEVT_SCI_MARGINCLICK,
5589         wxEVT_SCI_NEEDSHOWN,
5590         wxEVT_SCI_PAINTED,
5591         wxEVT_SCI_USERLISTSELECTION,
5592         wxEVT_SCI_DWELLSTART,
5593         wxEVT_SCI_DWELLEND,
5594         wxEVT_SCI_START_DRAG,
5595         wxEVT_SCI_DRAG_OVER,
5596         wxEVT_SCI_DO_DROP,
5597         wxEVT_SCI_ZOOM,
5598         wxEVT_SCI_HOTSPOT_CLICK,
5599         wxEVT_SCI_HOTSPOT_DCLICK,
5600         wxEVT_SCI_CALLTIP_CLICK,
5601         wxEVT_SCI_AUTOCOMP_SELECTION,
5602         wxEVT_SCI_INDICATOR_CLICK,
5603         wxEVT_SCI_INDICATOR_RELEASE,
5604         wxEVT_SCI_AUTOCOMP_CANCELLED,
5605         wxEVT_SCI_AUTOCOMP_CHAR_DELETED,
5606         wxEVT_SCI_HOTSPOT_RELEASE_CLICK,
5607         wxEVT_SCI_CLIPBOARD_COPY,
5608         wxEVT_SCI_CLIPBOARD_PASTE,
5609         wxEVT_SCI_AUTOCOMP_COMPLETED,
5610         wxEVT_SCI_MARGIN_RIGHT_CLICK
5611     };
5612 #endif
5613 
5614 
5615 
5616 #ifndef SWIG
5617 typedef void (wxEvtHandler::*wxScintillaEventFunction)(wxScintillaEvent&);
5618 
5619 /* C::B begin */
5620 #if !wxCHECK_VERSION(3, 0, 0)
5621   #define wxEVENT_HANDLER_CAST( functype, func ) \
5622       ( wxObjectEventFunction )( wxEventFunction )wxStaticCastEvent( functype, &func )
5623 #endif
5624 /* C::B end */
5625 
5626 #define wxScintillaEventHandler( func ) \
5627     wxEVENT_HANDLER_CAST( wxScintillaEventFunction, func )
5628 
5629 #define EVT_SCI_CHANGE(id, fn)             DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_CHANGE,                id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5630 #define EVT_SCI_STYLENEEDED(id, fn)        DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_STYLENEEDED,           id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5631 #define EVT_SCI_CHARADDED(id, fn)          DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_CHARADDED,             id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5632 #define EVT_SCI_SAVEPOINTREACHED(id, fn)   DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_SAVEPOINTREACHED,      id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5633 #define EVT_SCI_SAVEPOINTLEFT(id, fn)      DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_SAVEPOINTLEFT,         id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5634 #define EVT_SCI_ROMODIFYATTEMPT(id, fn)    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_ROMODIFYATTEMPT,       id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5635 #define EVT_SCI_KEY(id, fn)                DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_KEY,                   id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5636 #define EVT_SCI_DOUBLECLICK(id, fn)        DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_DOUBLECLICK,           id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5637 #define EVT_SCI_UPDATEUI(id, fn)           DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_UPDATEUI,              id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5638 #define EVT_SCI_MODIFIED(id, fn)           DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_MODIFIED,              id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5639 #define EVT_SCI_MACRORECORD(id, fn)        DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_MACRORECORD,           id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5640 #define EVT_SCI_MARGINCLICK(id, fn)        DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_MARGINCLICK,           id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5641 #define EVT_SCI_NEEDSHOWN(id, fn)          DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_NEEDSHOWN,             id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5642 #define EVT_SCI_PAINTED(id, fn)            DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_PAINTED,               id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5643 #define EVT_SCI_USERLISTSELECTION(id, fn)  DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_USERLISTSELECTION,     id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5644 #define EVT_SCI_URIDROPPED(id, fn)         DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_URIDROPPED,            id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5645 #define EVT_SCI_DWELLSTART(id, fn)         DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_DWELLSTART,            id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5646 #define EVT_SCI_DWELLEND(id, fn)           DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_DWELLEND,              id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5647 #define EVT_SCI_START_DRAG(id, fn)         DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_START_DRAG,            id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5648 #define EVT_SCI_DRAG_OVER(id, fn)          DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_DRAG_OVER,             id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5649 #define EVT_SCI_DO_DROP(id, fn)            DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_DO_DROP,               id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5650 #define EVT_SCI_ZOOM(id, fn)               DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_ZOOM,                  id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5651 #define EVT_SCI_HOTSPOT_CLICK(id, fn)      DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_HOTSPOT_CLICK,         id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5652 #define EVT_SCI_HOTSPOT_DCLICK(id, fn)     DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_HOTSPOT_DCLICK,        id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5653 #define EVT_SCI_CALLTIP_CLICK(id, fn)      DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_CALLTIP_CLICK,         id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5654 #define EVT_SCI_AUTOCOMP_SELECTION(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_AUTOCOMP_SELECTION,    id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5655 #define EVT_SCI_INDICATOR_CLICK(id, fn)    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_INDICATOR_CLICK,       id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5656 #define EVT_SCI_INDICATOR_RELEASE(id, fn)  DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_INDICATOR_RELEASE,     id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5657 #define EVT_SCI_AUTOCOMP_CANCELLED(id, fn)    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_AUTOCOMP_CANCELLED,    id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5658 #define EVT_SCI_AUTOCOMP_CHAR_DELETED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_AUTOCOMP_CHAR_DELETED, id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5659 #define EVT_SCI_HOTSPOT_RELEASE_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_HOTSPOT_RELEASE_CLICK, id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5660 #define EVT_SCI_CLIPBOARD_COPY(id, fn)        DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_CLIPBOARD_COPY,        id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5661 #define EVT_SCI_CLIPBOARD_PASTE(id, fn)       DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_CLIPBOARD_PASTE,       id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5662 #define EVT_SCI_AUTOCOMP_COMPLETED(id, fn)    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_AUTOCOMP_COMPLETED,    id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5663 #define EVT_SCI_MARGIN_RIGHT_CLICK(id, fn)    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SCI_MARGIN_RIGHT_CLICK,    id, wxID_ANY, wxScintillaEventHandler( fn ), (wxObject *) NULL ),
5664 
5665 #endif
5666 
5667 
5668 //----------------------------------------------------------------------
5669 // Utility functions used within wxScintilla
5670 
5671 #if wxUSE_UNICODE
5672 
5673 extern wxString sci2wx(const char* str);
5674 extern wxString sci2wx(const char* str, size_t len);
5675 extern wxCharBuffer wx2sci(const wxString& str);
5676 
5677 // This function takes both wxString and wxCharBuffer because it uses either
5678 // one or the other of them depending on the build mode. In Unicode it uses the
5679 // length of the already converted buffer to avoid doing the conversion again
5680 // just to compute the length.
wx2scilen(const wxString & WXUNUSED (str),const wxCharBuffer & buf)5681 inline size_t wx2scilen(const wxString& WXUNUSED(str), const wxCharBuffer& buf)
5682 {
5683 #if wxCHECK_VERSION(3, 0, 0)
5684     return buf.length();
5685 #else
5686     return strlen(buf);
5687 #endif // wxCHECK_VERSION
5688 }
5689 
5690 #else // not UNICODE
5691 
sci2wx(const char * str)5692 inline wxString sci2wx(const char* str) {
5693     return wxString(str);
5694 }
sci2wx(const char * str,size_t len)5695 inline wxString sci2wx(const char* str, size_t len) {
5696     return wxString(str, len);
5697 }
wx2sci(const wxString & str)5698 inline const char* wx2sci(const wxString& str) {
5699     return str.mbc_str();
5700 }
5701 
5702 // As explained above, the buffer argument is only used in Unicode build.
wx2scilen(const wxString & str,const char * WXUNUSED (buf))5703 inline size_t wx2scilen(const wxString& str, const char* WXUNUSED(buf))
5704 {
5705     return str.length();
5706 }
5707 
5708 #endif // UNICODE
5709 
5710 #endif // __WXSCINTILLA_H__
5711