]> git.saurik.com Git - wxWidgets.git/blame - src/stc/scintilla/include/Scintilla.iface
Reformatting.
[wxWidgets.git] / src / stc / scintilla / include / Scintilla.iface
CommitLineData
bfabd11a
RD
1## First line may be used for shbang
2
3## This file defines the interface to Scintilla
4
5## A line starting with ## is a pure comment and should be stripped by readers.
6## A line starting with #!! is for future shbang use
7## A line starting with # followed by a space is a documentation comment and refers
8## to the next feature definition.
9
10## Each feature is defined by a line starting with fun, get, set or val.
11## cat -> start a category
12## fun -> a function
13## get -> a property get function
14## get -> a property set function
15## val -> definition of a constant
16## All other feature names should be ignored. They may be defined in the future.
17## A property may have a set function, a get function or both. Each will have
18## "Get" or "Set" in their names and the corresponding name will have the obvious switch.
19## A property may be subscripted, in which case the first parameter is the subscript.
20## fun, get, and set features have a strict syntax:
21## <featureType><ws><returnType><ws><name>[=<number](<param>,<param>)
22## param is <paramType><ws><paramName>[=<value>]
23## Additional white space is allowed between elements.
24## Feature names that contain an underscore are defined by Windows, so in these
25## cases, using the Windows definition is preferred where available.
26
27## Types:
28## void
29## int
30## bool -> integer, 1=true, 0=false
31## position -> integer position in a document
32## colour -> colour integer containing red, green and blue bytes.
33## string -> pointer to const character
34## stringresult -> pointer to character
35## cells -> pointer to array of cells, each cell containing a style byte and character byte
36## textrange -> complex structure
37## findtext -> searchrange, text -> foundposition
38## keymod -> integer containing key in low half and modifiers in high half
39## countedstring
40## formatrange
41## point -> x,y
42## Client code should ignore definitions containing types it does not understand, except
43## for possibly #defining the constants
44
45cat Basics
46
47################################################
48## From Scintilla.h
49val INVALID_POSITION=-1
50val SCI_START=2000
51val SCI_OPTIONAL_START=3000
52val SCI_LEXER_START=4000
53
54# Add text to the document
55fun void AddText=2001(int length, string text)
56
57# Add array of cells to document
58fun void AddStyledText=2002(int length, cells c)
59
60# Insert string at a position
61fun void InsertText=2003(position pos, string text)
62
63# Delete all text in the document
64fun void ClearAll=2004(,)
65
66# The number of characters in the document
67get int GetLength=2006(,)
68
69# Returns the character byte at the position
70get int GetCharAt=2007(position pos,)
71
72# Returns the position of the caret
73get position GetCurrentPos=2008(,)
74
75# Returns the position of the opposite end of the selection to the caret
76get position GetAnchor=2009(,)
77
78# Returns the style byte at the position
79get int GetStyleAt=2010(position pos,)
80
81# Redoes the next action on the undo history
82fun void Redo=2011(,)
83
84val SC_UNDOCOLLECT_NONE=0
85val SC_UNDOCOLLECT_AUTOSTART=1
86
87# Choose between collecting actions into the undo
88# history and discarding them.
89set void SetUndoCollection=2012(int collectUndo,)
90
91# Select all the text in the document.
92fun void SelectAll=2013(,)
93
94# Remember the current position in the undo history as the position
95# at which the document was saved.
96fun void SetSavePoint=2014(,)
97
98# Retrieve a buffer of cells.
99# Returns the number of bytes in the buffer not including terminating nulls.
100fun int GetStyledText=2015(, textrange tr)
101
102# Are there any redoable actions in the undo history.
103fun bool CanRedo=2016(,)
104
105# Retrieve the line number at which a particular marker is located
106fun int MarkerLineFromHandle=2017(int handle,)
107
108# Delete a marker.
109fun void MarkerDeleteHandle=2018(int handle,)
110
111# Are white space characters currently visible?
112get bool GetViewWS=2020(,)
113
114# Make white space characters visible or invisible.
115set void SetViewWS=2021(bool viewWS,)
116
117# Set caret to start of a line and ensure it is visible.
118fun void GotoLine=2024(int line,)
119
120# Set caret to a position and ensure it is visible.
121fun void GotoPos=2025(position pos,)
122
123# Set the selection anchor to a position. The anchor is the opposite
124# end of the selection from the caret.
125set void SetAnchor=2026(position posAnchor,)
126
127# Retrieve the text of the line containing the caret.
128# Returns the index of the caret on the line.
129fun int GetCurLine=2027(int length, stringresult text)
130
131# Retrieve the position of the last correctly styled character.
132get position GetEndStyled=2028(,)
133
134# Convert all line endings in the document to use the current mode.
135fun void ConvertEOLs=2029(,)
136
137val SC_EOL_CRLF=0
138val SC_EOL_CR=1
139val SC_EOL_LF=2
140
141# Retrieve the current end of line mode - one of CRLF, CR, or LF.
142get int GetEOLMode=2030(,)
143
144# Set the current end of line mode.
145set void SetEOLMode=2031(int eolMode,)
146
147# Set the current styling position to pos and the styling mask to mask.
148# The styling mask can be used to protect some bits in each styling byte from
149# modification.
150fun void StartStyling=2032(position pos, int mask)
151
152# Change style from current styling position for length characters to a style
153# and move the current styling position to after this newly styled segment.
154fun void SetStyling=2033(int length, int style)
155
156# If drawing is buffered then each line of text is drawn into a bitmap buffer
157# before drawing it to the screen to avoid flicker.
158set void SetBufferedDraw=2035(bool buffered,)
159
160# Change the visible size of a tab to be a multiple of the width of a space
161# character.
162set void SetTabWidth=2036(int tabWidth,)
163
164# Retrieve the visible size of a tab.
165get int GetTabWidth=2121(,)
166
167val SC_CP_UTF8=65001
168
169# Set the code page used to interpret the bytes of the document as characters.
170# The SC_CP_UTF8 value can be used to enter Unicode mode.
171set void SetCodePage=2037(int codePage,)
172
173# In palette mode, Scintilla uses the environments palette calls to display
174# more colours. This may lead to ugly displays.
175set void SetUsePalette=2039(bool usePalette,)
176
177val MARKER_MAX=31
178val SC_MARK_CIRCLE=0
179val SC_MARK_ROUNDRECT=1
180val SC_MARK_ARROW=2
181val SC_MARK_SMALLRECT=3
182val SC_MARK_SHORTARROW=4
183val SC_MARK_EMPTY=5
184val SC_MARK_ARROWDOWN=6
185val SC_MARK_MINUS=7
186val SC_MARK_PLUS=8
187
188val SC_MARKNUM_FOLDER=30
189val SC_MARKNUM_FOLDEROPEN=31
190##val SC_MASK_FOLDERS=1<<SC_MARKNUM_FOLDER | 1<<SC_MARKNUM_FOLDEROPEN
191
192# Set the symbol used for a particular marker number.
193fun void MarkerDefine=2040(int markerNumber, int markerSymbol)
194
195# Set the foreground colour used for a particular marker number.
196fun void MarkerSetFore=2041(int markerNumber, colour fore)
197
198# Set the background colour used for a particular marker number.
199fun void MarkerSetBack=2042(int markerNumber, colour back)
200
201# Add a marker to a line.
202fun void MarkerAdd=2043(int line, int markerNumber)
203
204# Delete a marker from a line
205fun void MarkerDelete=2044(int line, int markerNumber)
206
207# Delete all markers with a particular number from all lines
208fun void MarkerDeleteAll=2045(int markerNumber,)
209
210# Get a bit mask of all the markers set on a line.
211fun int MarkerGet=2046(int line,)
212
213# Find the next line after lineStart that includes a marker in mask.
214fun int MarkerNext=2047(int lineStart, int markerMask)
215
216# Find the previous line before lineStart that includes a marker in mask.
217fun int MarkerPrevious=2048(int lineStart, int markerMask)
218
219val SC_MARGIN_SYMBOL=0
220val SC_MARGIN_NUMBER=1
221
222# Set a margin to be either numeric or symbolic.
223set void SetMarginTypeN=2240(int margin, int marginType)
224
225# Retrieve the type of a margin.
226get int GetMarginTypeN=2241(int margin,)
227
228# Set the width of a margin to a width expressed in pixels.
229set void SetMarginWidthN=2242(int margin, int pixelWidth)
230
231# Retrieve the width of a margin in pixels.
232get int GetMarginWidthN=2243(int margin,)
233
234# Set a mask that determines which markers are displayed in a margin.
235set void SetMarginMaskN=2244(int margin, int mask)
236
237# Retrieve the marker mask of a margin.
238get int GetMarginMaskN=2245(int margin,)
239
240# Make a margin sensitive or insensitive to mouse clicks.
241set void SetMarginSensitiveN=2246(int margin, bool sensitive)
242
243# Retrieve the mouse click sensitivity of a margin.
244get bool GetMarginSensitiveN=2247(int margin,)
245
246val STYLE_DEFAULT=32
247val STYLE_LINENUMBER=33
248val STYLE_BRACELIGHT=34
249val STYLE_BRACEBAD=35
250val STYLE_CONTROLCHAR=36
251val STYLE_MAX=127
252
253# Clear all the styles and make equivalent to the global default style.
254set void StyleClearAll=2050(,)
255
256# Set the foreground colour of a style.
257set void StyleSetFore=2051(int style, colour fore)
258
259# Set the background colour of a style.
260set void StyleSetBack=2052(int style, colour back)
261
262# Set a style to be bold or not.
263set void StyleSetBold=2053(int style, bool bold)
264
265# Set a style to be italic or not.
266set void StyleSetItalic=2054(int style, bool italic)
267
268# Set the size of characters of a style.
269set void StyleSetSize=2055(int style, int sizePoints)
270
271# Set the font of a style.
272set void StyleSetFont=2056(int style, string fontName)
273
274# Set a style to have its end of line filled or not.
275set void StyleSetEOLFilled=2057(int style, bool filled)
276
277# Reset the default style to its state at startup
278fun void StyleResetDefault=2058(,)
279
280# Set a style to be underlined or not.
281set void StyleSetUnderline=2059(int style, bool underline)
282
283# Set the character set of the font in a style.
284set void StyleSetCharacterSet=2066(int style, int characterSet)
285
286# Set the foreground colour of the selection and whether to use this setting.
287fun void SetSelFore=2067(bool useSetting, colour fore)
288
289# Set the background colour of the selection and whether to use this setting.
290fun void SetSelBack=2068(bool useSetting, colour back)
291
292# Set the foreground colour of the caret.
293fun void SetCaretFore=2069(colour fore,)
294
295# When key+modifier combination km is pressed perform msg.
296fun void AssignCmdKey=2070(keymod km, int msg)
297
298# When key+modifier combination km do nothing.
299fun void ClearCmdKey=2071(keymod km,)
300
301# Drop all key mappings.
302fun void ClearAllCmdKeys=2072(,)
303
304# Set the styles for a segment of the document.
305fun void SetStylingEx=2073(int length, string styles)
306
307# Get the time in milliseconds that the caret is on and off.
308get int GetCaretPeriod=2075(,)
309
310# Get the time in milliseconds that the caret is on and off. 0 = steady on.
311set void SetCaretPeriod=2076(int periodMilliseconds,)
312
313# Set the set of characters making up words for when moving or selecting
314# by word.
315set void SetWordChars=2077(, string characters)
316
317# Start a sequence of actions that is undone and redone as a unit.
318# May be nested.
319fun void BeginUndoAction=2078(,)
320
321# End a sequence of actions that is undone and redone as a unit.
322fun void EndUndoAction=2079(,)
323
324val INDIC_MAX=7
325val INDIC_PLAIN=0
326val INDIC_SQUIGGLE=1
327val INDIC_TT=2
328val INDIC_DIAGONAL=3
329val INDIC_STRIKE=4
330val INDIC0_MASK=32
331val INDIC1_MASK=64
332val INDIC2_MASK=128
333val INDICS_MASK=INDIC0_MASK | INDIC1_MASK | INDIC2_MASK
334
335# Set an indicator to plain, squiggle or TT.
336set void IndicSetStyle=2080(int indic, int style)
337
338# Retrieve the style of an indicator.
339get int IndicGetStyle=2081(int indic,)
340
341# Set the foreground colour of an indicator.
342set void IndicSetFore=2082(int indic, colour fore)
343
344# Retrieve the foreground colour of an indicator.
345get colour IndicGetFore=2083(int indic,)
346
347# Divide each styling byte into lexical class bits (default:5) and indicator
348# bits (default:3). If a lexer requires more than 32 lexical states, then this
349# is used to expand the possible states.
350set void SetStyleBits=2090(int bits,)
351
352# Retrieve number of bits in style bytes used to hold the lexical state.
353get int GetStyleBits=2091(,)
354
355# Used to hold extra styling information for each line.
356set void SetLineState=2092(int line, int state)
357
358# Retrieve the extra styling information for a line.
359get int GetLineState=2093(int line,)
360
361# Retrieve the last line number that has line state.
362get int GetMaxLineState=2094(,)
363
364# Display a auto-completion list.
365# The lenEntered parameter indicates how many characters before
366# the caret should be used to provide context.
367fun void AutoCShow=2100(int lenEntered, string itemList)
368
369# Remove the auto-completion list from the screen.
370fun void AutoCCancel=2101(,)
371
372# Is there an auto-completion list visible?
373fun bool AutoCActive=2102(,)
374
375# Retrieve the position of the caret when the auto-completion list was
376# displayed.
377fun position AutoCPosStart=2103(,)
378
379# User has selected an item so remove the list and insert the selection.
380fun void AutoCComplete=2104(,)
381
382# Define a set of character that when typed cancel the auto-completion list.
383fun void AutoCStops=2105(, string characterSet)
384
385# Change the separator character in the string setting up an auto-completion
386# list. Default is space but can be changed if items contain space.
387set void AutoCSetSeparator=2106(int separatorCharacter,)
388
389# Retrieve the auto-completion list separator character.
390get int AutoCGetSeparator=2107(,)
391
392# Select the item in the auto-completion list that starts with a string.
393fun void AutoCSelect=2108(, string text)
394
395# Set the number of spaces used for one level of indentation.
396set void SetIndent=2122(int indentSize,)
397
398# Retrieve indentation size.
399get int GetIndent=2123(,)
400
401# Indentation will only use space characters if useTabs is false, otherwise
402# it will use a combination of tabs and spaces.
403set void SetUseTabs=2124(bool useTabs,)
404
405# Retrieve whether tabs will be used in indentation.
406get bool GetUseTabs=2125(,)
407
408# Change the indentation of a line to a number of columns.
409set void SetLineIndentation=2126(int line, int indentSize)
410
411# Retrieve the number of columns that a line is indented.
412get int GetLineIndentation=2127(int line,)
413
414# Retrieve the position before the first non indentation character on a line.
415get position GetLineIndentPosition=2128(int line,)
416
417# Show or hide the horizontal scroll bar
418set void SetHScrollBar=2130(bool show,)
419
420# Is the horizontal scroll bar visible.
421get bool GetHScrollBar=2131(,)
422
423# Show a call tip containing a definition near position pos.
424fun void CallTipShow=2200(position pos, string definition)
425
426# Remove the call tip from the screen.
427fun void CallTipCancel=2201(,)
428
429# Is there an active call tip?
430fun bool CallTipActive=2202(,)
431
432# Retrieve the position where the caret was before displaying the call tip.
433fun position CallTipPosStart=2203(,)
434
435# Highlight a segment of the definition.
436fun void CallTipSetHlt=2204(int start, int end)
437
438# Set the background colour for the call tip.
439set void CallTipSetBack=2205(colour back,)
440
441# Find the display line of a document line taking hidden lines into account.
442fun int VisibleFromDocLine=2220(int line,)
443
444# Find the document line of a display line taking hidden lines into account.
445fun int DocLineFromVisible=2221(int lineDisplay,)
446
447val SC_FOLDLEVELBASE=0x400
448val SC_FOLDLEVELWHITEFLAG=0x1000
449val SC_FOLDLEVELHEADERFLAG=0x2000
450val SC_FOLDLEVELNUMBERMASK=0x0FFF
451
452# Set the fold level of a line.
453# This encodes an integer level along with flags indicating whether the
454# line is a header and whether it is effectively white space.
455set void SetFoldLevel=2222(int line, int level)
456
457# Retrieve the fold level of a line.
458get int GetFoldLevel=2223(int line,)
459
460# Find the last child line of a header line.
461get int GetLastChild=2224(int line,)
462
463# Find the parent line of a child line.
464get int GetFoldParent=2225(int line,)
465
466# Make a range of lines visible.
467fun void ShowLines=2226(int lineStart, int lineEnd)
468
469# Make a range of lines invisible.
470fun void HideLines=2227(int lineStart, int lineEnd)
471
472# Is a line visible?
473get bool GetLineVisible=2228(int line,)
474
475# Show the children of a header line.
476set void SetFoldExpanded=2229(int line, bool expanded)
477
478# Is a header line expanded?
479get bool GetFoldExpanded=2230(int line,)
480
481# Switch a header line between expanded and contracted.
482fun void ToggleFold=2231(int line,)
483
484# Ensure a particular line is visible by expanding any header line hiding it.
485fun void EnsureVisible=2232(int line,)
486
487# Set some debugging options for folding
488fun void SetFoldFlags=2233(int flags,)
489
490# Move caret down one line.
491fun void LineDown=2300(,)
492
493# Move caret down one line extending selection to new caret position.
494fun void LineDownExtend=2301(,)
495
496# Move caret up one line.
497fun void LineUp=2302(,)
498
499# Move caret up one line extending selection to new caret position.
500fun void LineUpExtend=2303(,)
501
502# Move caret left one character.
503fun void CharLeft=2304(,)
504
505# Move caret left one character extending selection to new caret position.
506fun void CharLeftExtend=2305(,)
507
508# Move caret right one character.
509fun void CharRight=2306(,)
510
511# Move caret right one character extending selection to new caret position.
512fun void CharRightExtend=2307(,)
513
514# Move caret left one word.
515fun void WordLeft=2308(,)
516
517# Move caret left one word extending selection to new caret position.
518fun void WordLeftExtend=2309(,)
519
520# Move caret right one word.
521fun void WordRight=2310(,)
522
523# Move caret right one word extending selection to new caret position.
524fun void WordRightExtend=2311(,)
525
526# Move caret to first position on line.
527fun void Home=2312(,)
528
529# Move caret to first position on line extending selection to new caret position.
530fun void HomeExtend=2313(,)
531
532# Move caret to last position on line.
533fun void LineEnd=2314(,)
534
535# Move caret to last position on line extending selection to new caret position.
536fun void LineEndExtend=2315(,)
537
538# Move caret to first position in document.
539fun void DocumentStart=2316(,)
540
541# Move caret to first position in document extending selection to new caret position.
542fun void DocumentStartExtend=2317(,)
543
544# Move caret to last position in document.
545fun void DocumentEnd=2318(,)
546
547# Move caret to last position in document extending selection to new caret position.
548fun void DocumentEndExtend=2319(,)
549
550# Move caret one page up.
551fun void PageUp=2320(,)
552
553# Move caret one page up extending selection to new caret position.
554fun void PageUpExtend=2321(,)
555
556# Move caret one page down.
557fun void PageDown=2322(,)
558
559# Move caret one page down extending selection to new caret position.
560fun void PageDownExtend=2323(,)
561
562# Switch from insert to overtype mode or the reverse.
563fun void EditToggleOvertype=2324(,)
564
565# Cancel any modes such as call tip or auto-completion list display.
566fun void Cancel=2325(,)
567
568# Delete the selection or if no selection, the character before the caret.
569fun void DeleteBack=2326(,)
570
571# If selection is empty or all on one line replace the selection with a tab
572# character.
573# If more than one line selected, indent the lines.
574fun void Tab=2327(,)
575
576# Dedent the selected lines.
577fun void BackTab=2328(,)
578
579# Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
580fun void NewLine=2329(,)
581
582# Insert a Form Feed character.
583fun void FormFeed=2330(,)
584
585# Move caret to before first visible character on line.
586# If already there move to first character on line.
587fun void VCHome=2331(,)
588
589# Like VCHome but extending selection to new caret position.
590fun void VCHomeExtend=2332(,)
591
592# Magnify the displayed text by increasing the sizes by 1 point.
593fun void ZoomIn=2333(,)
594
595# Make the displayed text smaller by decreasing the sizes by 1 point.
596fun void ZoomOut=2334(,)
597
598# Delete the word to the left of the caret.
599fun void DelWordLeft=2335(,)
600
601# Delete the word to the right of the caret.
602fun void DelWordRight=2336(,)
603
604# Cut the line containing the caret.
605fun void LineCut=2337(,)
606
607# Delete the line containing the caret.
608fun void LineDelete=2338(,)
609
610# Switch the current line with the previous.
611fun void LineTranspose=2339(,)
612
613# Transform the selection to lower case.
614fun void LowerCase=2340(,)
615
616# Transform the selection to upper case.
617fun void UpperCase=2341(,)
618
619# Scroll the document down, keeping the caret visible.
620fun void LineScrollDown=2342(,)
621
622# Scroll the document up, keeping the caret visible.
623fun void LineScrollUp=2343(,)
624
625# How many characters are on a line, not including end of line characters.
626fun int LineLength=2350(int line,)
627
628# Highlight the characters at two positions.
629fun void BraceHighlight=2351(position pos1,position pos2)
630
631# Highlight the character at a position indicating there is no matching brace.
632fun void BraceBadLight=2352(position pos,)
633
634# Find the position of a matching brace or INVALID_POSITION if no match.
635fun position BraceMatch=2353(position pos,)
636
637# Are the end of line characters visible.
638get bool GetViewEOL=2355(,)
639
640# Make the end of line characters visible or invisible
641set void SetViewEOL=2356(bool visible,)
642
643# Retrieve a pointer to the document object.
644get int GetDocPointer=2357(,)
645
646# Change the document object used.
647set void SetDocPointer=2358(int pointer,)
648
649# Set which document modification events are sent to the container.
650set void SetModEventMask=2359(int mask,)
651
652val EDGE_NONE=0
653val EDGE_LINE=1
654val EDGE_BACKGROUND=2
655
656# Retrieve the column number which text should be kept within.
657get int GetEdgeColumn=2360(,)
658
659# Set the column number of the edge.
660# If text goes past the edge then it is highlighted.
661set void SetEdgeColumn=2361(int column,)
662
663# Retrieve the edge highlight mode.
664get int GetEdgeMode=2362(,)
665
666# The edge may be displayed by a line (EDGE_LINE) or by highlighting text that
667# goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE).
668set void SetEdgeMode=2363(int mode,)
669
670# Retrieve the colour used in edge indication.
671get colour GetEdgeColour=2364(,)
672
673# Change the colour used in edge indication.
674set void SetEdgeColour=2365(colour edgeColour,)
675
676# Sets the current caret position to be the search anchor.
677fun void SearchAnchor=2366(,)
678
679# Find some text starting at the search anchor.
680fun int SearchNext=2367(int flags, string text)
681
682# Find some text starting at the search anchor and moving backwards.
683fun int SearchPrev=2368(int flags, string text)
684
685val CARET_SLOP=0x01
686val CARET_CENTER=0x02
687val CARET_STRICT=0x04
688# Set the way the line the caret is on is kept visible.
689fun void SetCaretPolicy=2369(int caretPolicy, int caretSlop)
690
691# Retrieves the number of lines completely visible.
692get int LinesOnScreen=2370(,)
693
694# Set whether a pop up menu is displayed automatically when the user presses
695# the wrong mouse button.
696fun void UsePopUp=2371(bool allowPopUp,)
697
698# Is the selection a rectangular. The alternative is the more common stream selection.
699get bool SelectionIsRectangle=2372(,)
700
701# Set the zoom level. This number of points is added to the size of all fonts.
702# It may be positive to magnify or negative to reduce.
703set void SetZoom=2373(int zoom,)
704# Retrieve the zoom level.
705get int GetZoom=2374(,)
706
707# Extend life of document.
708fun void AddRefDoc=2375(, int doc)
709# Release a reference to the document, deleting document if it fades to black.
710fun void ReleaseDoc=2376(, int doc)
711
712# Set the focus to this Scintilla widget.
713fun void GrabFocus=2400(,)
714
715# Start notifying the container of all key presses and commands.
716fun void StartRecord=3001(,)
717
718# Stop notifying the container of all key presses and commands.
719fun void StopRecord=3002(,)
720
721# Set the lexing language of the document.
722set void SetLexer=4001(int lexer,)
723
724# Retrieve the lexing language of the document.
725get int GetLexer=4002(,)
726
727# Colourise a segment of the document using the current lexing language.
728fun void Colourise=4003(position start, position end)
729
730# Set up a value that may be used by a lexer for some optional feature.
731set void SetProperty=4004(string key, string value)
732
733# Set up the key words used by the lexer.
734set void SetKeyWords=4005(int keywordSet, string keyWords)
735
736val SC_MOD_INSERTTEXT=0x1
737val SC_MOD_DELETETEXT=0x2
738val SC_MOD_CHANGESTYLE=0x4
739val SC_MOD_CHANGEFOLD=0x8
740val SC_PERFORMED_USER=0x10
741val SC_PERFORMED_UNDO=0x20
742val SC_PERFORMED_REDO=0x40
743val SC_LASTSTEPINUNDOREDO=0x100
744val SC_MOD_CHANGEMARKER=0x200
745val SC_MOD_BEFOREINSERT=0x400
746val SC_MOD_BEFOREDELETE=0x800
747val SC_MODEVENTMASKALL=0xF77
748val SCN_STYLENEEDED=2000
749val SCN_CHARADDED=2001
750val SCN_SAVEPOINTREACHED=2002
751val SCN_SAVEPOINTLEFT=2003
752val SCN_MODIFYATTEMPTRO=2004
753val SCN_KEY=2005
754val SCN_DOUBLECLICK=2006
755val SCN_UPDATEUI=2007
756val SCN_CHECKBRACE=2007
757val SCN_MODIFIED=2008
758val SCN_MACRORECORD=2009
759val SCN_MARGINCLICK=2010
760val SCN_NEEDSHOWN=2011
761
762################################################
763# From SciLexer.h
764val SCLEX_CONTAINER=0
765val SCLEX_NULL=1
766val SCLEX_PYTHON=2
767val SCLEX_CPP=3
768val SCLEX_HTML=4
769val SCLEX_XML=5
770val SCLEX_PERL=6
771val SCLEX_SQL=7
772val SCLEX_VB=8
773val SCLEX_PROPERTIES=9
774val SCLEX_ERRORLIST=10
775val SCLEX_MAKEFILE=11
776val SCLEX_BATCH=12
777val SCLEX_XCODE=13
778val SCLEX_LATEX=14
779val SCE_P_DEFAULT=0
780val SCE_P_COMMENTLINE=1
781val SCE_P_NUMBER=2
782val SCE_P_STRING=3
783val SCE_P_CHARACTER=4
784val SCE_P_WORD=5
785val SCE_P_TRIPLE=6
786val SCE_P_TRIPLEDOUBLE=7
787val SCE_P_CLASSNAME=8
788val SCE_P_DEFNAME=9
789val SCE_P_OPERATOR=10
790val SCE_P_IDENTIFIER=11
791val SCE_P_COMMENTBLOCK=12
792val SCE_P_STRINGEOL=13
793val SCE_C_DEFAULT=0
794val SCE_C_COMMENT=1
795val SCE_C_COMMENTLINE=2
796val SCE_C_COMMENTDOC=3
797val SCE_C_NUMBER=4
798val SCE_C_WORD=5
799val SCE_C_STRING=6
800val SCE_C_CHARACTER=7
801val SCE_C_UUID=8
802val SCE_C_PREPROCESSOR=9
803val SCE_C_OPERATOR=10
804val SCE_C_IDENTIFIER=11
805val SCE_C_STRINGEOL=12
806val SCE_H_DEFAULT=0
807val SCE_H_TAG=1
808val SCE_H_TAGUNKNOWN=2
809val SCE_H_ATTRIBUTE=3
810val SCE_H_ATTRIBUTEUNKNOWN=4
811val SCE_H_NUMBER=5
812val SCE_H_DOUBLESTRING=6
813val SCE_H_SINGLESTRING=7
814val SCE_H_OTHER=8
815val SCE_H_COMMENT=9
816val SCE_H_ENTITY=10
817val SCE_H_TAGEND=11
818val SCE_H_XMLSTART=12
819val SCE_H_XMLEND=13
820val SCE_H_SCRIPT=14
821val SCE_H_ASP=15
822val SCE_H_ASPAT=16
823val SCE_HJ_START=40
824val SCE_HJ_DEFAULT=41
825val SCE_HJ_COMMENT=42
826val SCE_HJ_COMMENTLINE=43
827val SCE_HJ_COMMENTDOC=44
828val SCE_HJ_NUMBER=45
829val SCE_HJ_WORD=46
830val SCE_HJ_KEYWORD=47
831val SCE_HJ_DOUBLESTRING=48
832val SCE_HJ_SINGLESTRING=49
833val SCE_HJ_SYMBOLS=50
834val SCE_HJ_STRINGEOL=51
835val SCE_HJA_START=55
836val SCE_HJA_DEFAULT=56
837val SCE_HJA_COMMENT=57
838val SCE_HJA_COMMENTLINE=58
839val SCE_HJA_COMMENTDOC=59
840val SCE_HJA_NUMBER=60
841val SCE_HJA_WORD=61
842val SCE_HJA_KEYWORD=62
843val SCE_HJA_DOUBLESTRING=63
844val SCE_HJA_SINGLESTRING=64
845val SCE_HJA_SYMBOLS=65
846val SCE_HJA_STRINGEOL=66
847val SCE_HB_START=70
848val SCE_HB_DEFAULT=71
849val SCE_HB_COMMENTLINE=72
850val SCE_HB_NUMBER=73
851val SCE_HB_WORD=74
852val SCE_HB_STRING=75
853val SCE_HB_IDENTIFIER=76
854val SCE_HB_STRINGEOL=77
855val SCE_HBA_START=80
856val SCE_HBA_DEFAULT=81
857val SCE_HBA_COMMENTLINE=82
858val SCE_HBA_NUMBER=83
859val SCE_HBA_WORD=84
860val SCE_HBA_STRING=85
861val SCE_HBA_IDENTIFIER=86
862val SCE_HBA_STRINGEOL=87
863val SCE_HP_START=90
864val SCE_HP_DEFAULT=91
865val SCE_HP_COMMENTLINE=92
866val SCE_HP_NUMBER=93
867val SCE_HP_STRING=94
868val SCE_HP_CHARACTER=95
869val SCE_HP_WORD=96
870val SCE_HP_TRIPLE=97
871val SCE_HP_TRIPLEDOUBLE=98
872val SCE_HP_CLASSNAME=99
873val SCE_HP_DEFNAME=100
874val SCE_HP_OPERATOR=101
875val SCE_HP_IDENTIFIER=102
876val SCE_HPA_START=105
877val SCE_HPA_DEFAULT=106
878val SCE_HPA_COMMENTLINE=107
879val SCE_HPA_NUMBER=108
880val SCE_HPA_STRING=109
881val SCE_HPA_CHARACTER=110
882val SCE_HPA_WORD=111
883val SCE_HPA_TRIPLE=112
884val SCE_HPA_TRIPLEDOUBLE=113
885val SCE_HPA_CLASSNAME=114
886val SCE_HPA_DEFNAME=115
887val SCE_HPA_OPERATOR=116
888val SCE_HPA_IDENTIFIER=117
889val SCE_PL_DEFAULT=0
890val SCE_PL_HERE=1
891val SCE_PL_COMMENTLINE=2
892val SCE_PL_POD=3
893val SCE_PL_NUMBER=4
894val SCE_PL_WORD=5
895val SCE_PL_STRING=6
896val SCE_PL_CHARACTER=7
897val SCE_PL_PUNCTUATION=8
898val SCE_PL_PREPROCESSOR=9
899val SCE_PL_OPERATOR=10
900val SCE_PL_IDENTIFIER=11
901val SCE_PL_SCALAR=12
902val SCE_PL_ARRAY=13
903val SCE_PL_HASH=14
904val SCE_PL_SYMBOLTABLE=15
905val SCE_PL_REF=16
906val SCE_PL_REGEX=17
907val SCE_PL_REGSUBST=18
908val SCE_PL_LONGQUOTE=19
909val SCE_PL_BACKTICKS=20
910val SCE_PL_DATASECTION=21
911val SCE_L_DEFAULT=0
912val SCE_L_COMMAND=1
913val SCE_L_TAG=2
914val SCE_L_MATH=3
915val SCE_L_COMMENT=4
916
917################################################
918# From WinDefs.h
919
920# Will a paste succeed?
921fun bool EM_CanPaste=1074(,)
922
923# Are there any undoable actions in the undo history.
924fun bool EM_CanUndo=198(,)
925
926# Find the position and line from a point within the window.
927fun int EM_CharFromPos=215(,point pt)
928
929# Delete the undo history.
930fun void EM_EmptyUndoBuffer=205(,)
931
932# Retrieve the selection range.
933fun void EM_ExGetSel=1076(,charrange cr)
934
935# Retrieve the line number of a position in the document.
936get int EM_ExLineFromChar=1078(,position pos)
937
938# Select a range of text.
939fun void EM_ExSetSel=1079(,charrange cr)
940
941# Find some text in the document.
942fun position EM_FindText=1080(int flags, findtext ft)
943
944# Find some text in the document. Returns range of found text in ft argument.
945fun position EM_FindTextEx=1103(int flags, findtext ft)
946
947# On Windows will draw the document into a display context such as a printer.
948fun void EM_FormatRange=1081(bool draw, formatrange fr)
949
950# Retrieve the line at the top of the display.
951get int EM_GetFirstVisibleLine=206(,)
952
953# Retrieve the contents of a line.
954# Returns the length of the line.
955fun int EM_GetLine=196(int line, countedstring text)
956
957# Returns the number of lines in the document. There is always at least one.
958fun int EM_GetLineCount=186(,)
959
960# Returns the size in pixels of left and right margins packed into one integer.
961# The left margin is in the low half and the right margin in the high half.
962fun int EM_GetMargins=212(,)
963
964# Is the document different from when it was last saved?
965get bool EM_GetModify=184(,)
966
967# Get the area used to display the document.
968fun void EM_GetRect=178(,rectangle r)
969
970# Return the selection packed into one integer with the start of the selection
971# in the low half and the end in the high half.
972fun int EM_GetSel=176(,)
973
974# Retrieve the selected text.
975# Return the length of the text.
976fun int EM_GetSelText=1086(,stringresult text)
977
978# Retrieve a range of text.
979# Return the length of the text.
980fun int EM_GetTextRange=1099(, textrange tr)
981
982# Draw the selection in normal style or with selection highlighted.
983fun void EM_HideSelection=1087(bool normal,)
984
985# Retrieve the line of a position.
986fun int EM_LineFromChar=201(position pos,)
987
988# Retrieve the position at the start of a line.
989fun position EM_LineIndex=187(int line,)
990
991# Retrieve the number of characters on a line not including end of line characters.
992fun int EM_LineLength=193(int line,)
993
994# Scroll horizontally and vertically.
995fun void EM_LineScroll=182(int columns, int lines)
996
997# Retrieve the point in the window where a position is displayed.
998fun void EM_PosFromChar=214(point pt, position pos)
999
1000# Replace the selected text with the argument text.
1001fun void EM_ReplaceSel=194(, string text)
1002
1003# Ensure the caret is visible.
1004fun void EM_ScrollCaret=183(,)
1005
1006# Returns SEL_EMPTY if selection contains no characters, otherwise SEL_TEXT.
1007fun void EM_SelectionType=1090(,)
1008
1009# Set the width of the left and right margins
1010fun void EM_SetMargins=211(int flags, int values)
1011
1012# Set to read only or read write.
1013set void EM_SetReadOnly=207(bool readOnly,)
1014
1015# Select the range of text from start to end.
1016fun void EM_SetSel=177(position start, position end)
1017
1018# Undo one action in the undo history.
1019fun void EM_Undo=199(,)
1020
1021# Null operation.
1022fun void WM_Null=0(,)
1023
1024# Clear the selection.
1025fun void WM_Clear=771(,)
1026
1027fun void WM_Command=273(,)
1028
1029# Copy the selection to the clipboard.
1030fun void WM_Copy=769(,)
1031
1032# Cut the selection to the clipboard.
1033fun void WM_Cut=768(,)
1034
1035# Retrieve all the text in the document.
1036# Returns number of characters retrieved.
1037fun int WM_GetText=13(int length, stringresult text)
1038
1039# Retrieve the number of characters in the document.
1040fun int WM_GetTextLength=14(,)
1041
1042# Notification back to container
1043fun void WM_Notify=78(int id, int stuff)
1044
1045# Paste the contents of the clipboard into the document replacing the selection.
1046fun void WM_Paste=770(,)
1047
1048# Replace the contents of the document with the argument text.
1049fun void WM_SetText=12(, string text)
1050
1051# Undo one action in the undo history.
1052fun void WM_Undo=772(,)
1053
1054# Notification codes
1055val EN_CHANGE=768
1056val EN_KILLFOCUS=512
1057val EN_SETFOCUS=256
1058
1059# Flags for setting margins.
1060val EC_LEFTMARGIN=1
1061val EC_RIGHTMARGIN=2
1062val EC_USEFONTINFO=0xffff
1063
1064# Selection type.
1065val SEL_EMPTY=0
1066val SEL_TEXT=1
1067
1068# Find replace mask constants
1069val FR_MATCHCASE=0x4
1070val FR_WHOLEWORD=0x2
1071val FR_DOWN=0x1
1072
1073# Key modifier flag.
1074val SHIFT_PRESSED=1
1075val LEFT_CTRL_PRESSED=2
1076val LEFT_ALT_PRESSED=4
1077