/
Scintilla.iface
3505 lines (2582 loc) · 121 KB
/
Scintilla.iface
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
## First line may be used for shbang
## This file defines the interface to Scintilla
## Copyright 2000-2003 by Neil Hodgson <neilh@scintilla.org>
## The License.txt file describes the conditions under which this software may be distributed.
## A line starting with ## is a pure comment and should be stripped by readers.
## A line starting with #! is for future shbang use
## A line starting with # followed by a space is a documentation comment and refers
## to the next feature definition.
## Each feature is defined by a line starting with fun, get, set, val, evt, enu, lex, or ali.
## cat -> start a category
## fun -> a function
## get -> a property get function
## set -> a property set function
## val -> definition of a constant
## evt -> an event
## enu -> associate an enumeration with a set of vals with a prefix
## lex -> associate a lexer with the lexical classes it produces
## ali -> add an alias for a val, commonly adding '_' to separate words
##
## All other feature names should be ignored. They may be defined in the future.
## A property may have a set function, a get function or both. Each will have
## "Get" or "Set" in their names and the corresponding name will have the obvious switch.
## A property may be subscripted, in which case the first parameter is the subscript.
## fun, get, and set features have a strict syntax:
## <featureType><ws><returnType><ws><name>[=<number](<param>,<param>)
## where <ws> stands for white space.
## param may be empty (null value) or is <paramType><ws><paramName>[=<value>]
## Additional white space is allowed between elements.
## The syntax for evt is <featureType><ws><returnType><ws><name>[=<number]([<param>[,<param>]*])
## Feature names that contain an underscore are defined by Windows, so in these
## cases, using the Windows definition is preferred where available.
## The feature numbers are stable so features will not be renumbered.
## Features may be removed but they will go through a period of deprecation
## before removal which is signalled by moving them into the Deprecated category.
##
## enu has the syntax enu<ws><enumeration>=<prefix>[<ws><prefix>]* where all the val
## features in this file starting with a given <prefix> are considered part of the
## enumeration.
##
## lex has the syntax lex<ws><name>=<lexerVal><ws><prefix>[<ws><prefix>]*
## where name is a reasonably capitalised (Python, XML) identifier or UI name,
## lexerVal is the val used to specify the lexer, and the list of prefixes is similar
## to enu. The name may not be the same as that used within the lexer so the lexerVal
## should be used to tie these entities together.
## Types: Never start with a capital letter
## void
## int
## bool -> integer, 1=true, 0=false
## position -> intptr_t position in a document
## line -> intptr_t line in a document
## colour -> colour integer containing red, green, and blue bytes with red as least-significant and blue as most.
## colouralpha -> colour integer containing red, green, blue, and alpha bytes with red as least-significant and alpha as most.
## string -> pointer to const character
## stringresult -> pointer to character, NULL-> return size of result
## cells -> pointer to array of cells, each cell containing a style byte and character byte
## pointer -> void* pointer that may point to a document, loader, internal text storage or similar
## textrange -> range of a min and a max position with an output string
## textrangefull -> range of a min and a max position with an output string - supports 64-bit
## findtext -> searchrange, text -> foundposition
## findtextfull -> searchrange, text -> foundposition
## keymod -> integer containing key in low half and modifiers in high half
## formatrange
## formatrangefull
## Enumeration types always start with a capital letter
## Types no longer used:
## findtextex -> searchrange
## charrange -> range of a min and a max position
## charrangeresult -> like charrange, but output param
## countedstring
## point -> x,y
## pointresult -> like point, but output param
## rectangle -> left,top,right,bottom
## Client code should ignore definitions containing types it does not understand, except
## for possibly #defining the constants
## Line numbers and positions start at 0.
## String arguments may contain NUL ('\0') characters where the calls provide a length
## argument and retrieve NUL characters. APIs marked as NUL-terminated also have a
## NUL appended but client code should calculate the size that will be returned rather
## than relying upon the NUL whenever possible. Allow for the extra NUL character when
## allocating buffers. The size to allocate for a stringresult (not including NUL) can be
## determined by calling with a NULL (0) pointer.
cat Basics
################################################
## For Scintilla.h
val INVALID_POSITION=-1
# Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages
# as many EM_ messages can be used although that use is deprecated.
val SCI_START=2000
val SCI_OPTIONAL_START=3000
val SCI_LEXER_START=4000
# Add text to the document at current position.
fun void AddText=2001(position length, string text)
# Add array of cells to document.
fun void AddStyledText=2002(position length, cells c)
# Insert string at a position.
fun void InsertText=2003(position pos, string text)
# Change the text that is being inserted in response to SC_MOD_INSERTCHECK
fun void ChangeInsertion=2672(position length, string text)
# Delete all text in the document.
fun void ClearAll=2004(,)
# Delete a range of text in the document.
fun void DeleteRange=2645(position start, position lengthDelete)
# Set all style bytes to 0, remove all folding information.
fun void ClearDocumentStyle=2005(,)
# Returns the number of bytes in the document.
get position GetLength=2006(,)
# Returns the character byte at the position.
get int GetCharAt=2007(position pos,)
# Returns the position of the caret.
get position GetCurrentPos=2008(,)
# Returns the position of the opposite end of the selection to the caret.
get position GetAnchor=2009(,)
# Returns the style byte at the position.
get int GetStyleAt=2010(position pos,)
# Returns the unsigned style byte at the position.
get int GetStyleIndexAt=2038(position pos,)
# Redoes the next action on the undo history.
fun void Redo=2011(,)
# Choose between collecting actions into the undo
# history and discarding them.
set void SetUndoCollection=2012(bool collectUndo,)
# Select all the text in the document.
fun void SelectAll=2013(,)
# Remember the current position in the undo history as the position
# at which the document was saved.
fun void SetSavePoint=2014(,)
# Retrieve a buffer of cells.
# Returns the number of bytes in the buffer not including terminating NULs.
fun position GetStyledText=2015(, textrange tr)
# Retrieve a buffer of cells that can be past 2GB.
# Returns the number of bytes in the buffer not including terminating NULs.
fun position GetStyledTextFull=2778(, textrangefull tr)
# Are there any redoable actions in the undo history?
fun bool CanRedo=2016(,)
# Retrieve the line number at which a particular marker is located.
fun line MarkerLineFromHandle=2017(int markerHandle,)
# Delete a marker.
fun void MarkerDeleteHandle=2018(int markerHandle,)
# Retrieve marker handles of a line
fun int MarkerHandleFromLine=2732(line line, int which)
# Retrieve marker number of a marker handle
fun int MarkerNumberFromLine=2733(line line, int which)
# Is undo history being collected?
get bool GetUndoCollection=2019(,)
enu WhiteSpace=SCWS_
val SCWS_INVISIBLE=0
val SCWS_VISIBLEALWAYS=1
val SCWS_VISIBLEAFTERINDENT=2
val SCWS_VISIBLEONLYININDENT=3
ali SCWS_VISIBLEALWAYS=VISIBLE_ALWAYS
ali SCWS_VISIBLEAFTERINDENT=VISIBLE_AFTER_INDENT
ali SCWS_VISIBLEONLYININDENT=VISIBLE_ONLY_IN_INDENT
# Are white space characters currently visible?
# Returns one of SCWS_* constants.
get WhiteSpace GetViewWS=2020(,)
# Make white space characters invisible, always visible or visible outside indentation.
set void SetViewWS=2021(WhiteSpace viewWS,)
enu TabDrawMode=SCTD_
val SCTD_LONGARROW=0
val SCTD_STRIKEOUT=1
ali SCTD_LONGARROW=LONG_ARROW
ali SCTD_STRIKEOUT=STRIKE_OUT
# Retrieve the current tab draw mode.
# Returns one of SCTD_* constants.
get TabDrawMode GetTabDrawMode=2698(,)
# Set how tabs are drawn when visible.
set void SetTabDrawMode=2699(TabDrawMode tabDrawMode,)
# Find the position from a point within the window.
fun position PositionFromPoint=2022(int x, int y)
# Find the position from a point within the window but return
# INVALID_POSITION if not close to text.
fun position PositionFromPointClose=2023(int x, int y)
# Set caret to start of a line and ensure it is visible.
fun void GotoLine=2024(line line,)
# Set caret to a position and ensure it is visible.
fun void GotoPos=2025(position caret,)
# Set the selection anchor to a position. The anchor is the opposite
# end of the selection from the caret.
set void SetAnchor=2026(position anchor,)
# Retrieve the text of the line containing the caret.
# Returns the index of the caret on the line.
# Result is NUL-terminated.
fun position GetCurLine=2027(position length, stringresult text)
# Retrieve the position of the last correctly styled character.
get position GetEndStyled=2028(,)
enu EndOfLine=SC_EOL_
val SC_EOL_CRLF=0
val SC_EOL_CR=1
val SC_EOL_LF=2
ali SC_EOL_CRLF=CR_LF
# Convert all line endings in the document to one mode.
fun void ConvertEOLs=2029(EndOfLine eolMode,)
# Retrieve the current end of line mode - one of CRLF, CR, or LF.
get EndOfLine GetEOLMode=2030(,)
# Set the current end of line mode.
set void SetEOLMode=2031(EndOfLine eolMode,)
# Set the current styling position to start.
# The unused parameter is no longer used and should be set to 0.
fun void StartStyling=2032(position start, int unused)
# Change style from current styling position for length characters to a style
# and move the current styling position to after this newly styled segment.
fun void SetStyling=2033(position length, int style)
# Is drawing done first into a buffer or direct to the screen?
get bool GetBufferedDraw=2034(,)
# If drawing is buffered then each line of text is drawn into a bitmap buffer
# before drawing it to the screen to avoid flicker.
set void SetBufferedDraw=2035(bool buffered,)
# Change the visible size of a tab to be a multiple of the width of a space character.
set void SetTabWidth=2036(int tabWidth,)
# Retrieve the visible size of a tab.
get int GetTabWidth=2121(,)
# Set the minimum visual width of a tab.
set void SetTabMinimumWidth=2724(int pixels,)
# Get the minimum visual width of a tab.
get int GetTabMinimumWidth=2725(,)
# Clear explicit tabstops on a line.
fun void ClearTabStops=2675(line line,)
# Add an explicit tab stop for a line.
fun void AddTabStop=2676(line line, int x)
# Find the next explicit tab stop position on a line after a position.
fun int GetNextTabStop=2677(line line, int x)
# The SC_CP_UTF8 value can be used to enter Unicode mode.
# This is the same value as CP_UTF8 in Windows
val SC_CP_UTF8=65001
# Set the code page used to interpret the bytes of the document as characters.
# The SC_CP_UTF8 value can be used to enter Unicode mode.
set void SetCodePage=2037(int codePage,)
# Set the locale for displaying text.
set void SetFontLocale=2760(, string localeName)
# Get the locale for displaying text.
get int GetFontLocale=2761(, stringresult localeName)
enu IMEInteraction=SC_IME_
val SC_IME_WINDOWED=0
val SC_IME_INLINE=1
# Is the IME displayed in a window or inline?
get IMEInteraction GetIMEInteraction=2678(,)
# Choose to display the IME in a window or inline.
set void SetIMEInteraction=2679(IMEInteraction imeInteraction,)
enu Alpha=SC_ALPHA_
val SC_ALPHA_TRANSPARENT=0
val SC_ALPHA_OPAQUE=255
val SC_ALPHA_NOALPHA=256
ali SC_ALPHA_NOALPHA=NO_ALPHA
enu CursorShape=SC_CURSOR
val SC_CURSORNORMAL=-1
val SC_CURSORARROW=2
val SC_CURSORWAIT=4
val SC_CURSORREVERSEARROW=7
ali SC_CURSORREVERSEARROW=REVERSE_ARROW
enu MarkerSymbol=SC_MARK_
val MARKER_MAX=31
val SC_MARK_CIRCLE=0
val SC_MARK_ROUNDRECT=1
val SC_MARK_ARROW=2
val SC_MARK_SMALLRECT=3
val SC_MARK_SHORTARROW=4
val SC_MARK_EMPTY=5
val SC_MARK_ARROWDOWN=6
val SC_MARK_MINUS=7
val SC_MARK_PLUS=8
# Shapes used for outlining column.
val SC_MARK_VLINE=9
val SC_MARK_LCORNER=10
val SC_MARK_TCORNER=11
val SC_MARK_BOXPLUS=12
val SC_MARK_BOXPLUSCONNECTED=13
val SC_MARK_BOXMINUS=14
val SC_MARK_BOXMINUSCONNECTED=15
val SC_MARK_LCORNERCURVE=16
val SC_MARK_TCORNERCURVE=17
val SC_MARK_CIRCLEPLUS=18
val SC_MARK_CIRCLEPLUSCONNECTED=19
val SC_MARK_CIRCLEMINUS=20
val SC_MARK_CIRCLEMINUSCONNECTED=21
# Invisible mark that only sets the line background colour.
val SC_MARK_BACKGROUND=22
val SC_MARK_DOTDOTDOT=23
val SC_MARK_ARROWS=24
val SC_MARK_PIXMAP=25
val SC_MARK_FULLRECT=26
val SC_MARK_LEFTRECT=27
val SC_MARK_AVAILABLE=28
val SC_MARK_UNDERLINE=29
val SC_MARK_RGBAIMAGE=30
val SC_MARK_BOOKMARK=31
val SC_MARK_VERTICALBOOKMARK=32
val SC_MARK_BAR=33
val SC_MARK_CHARACTER=10000
ali SC_MARK_ROUNDRECT=ROUND_RECT
ali SC_MARK_SMALLRECT=SMALL_RECT
ali SC_MARK_SHORTARROW=SHORT_ARROW
ali SC_MARK_ARROWDOWN=ARROW_DOWN
ali SC_MARK_VLINE=V_LINE
ali SC_MARK_LCORNER=L_CORNER
ali SC_MARK_TCORNER=T_CORNER
ali SC_MARK_BOXPLUS=BOX_PLUS
ali SC_MARK_BOXPLUSCONNECTED=BOX_PLUS_CONNECTED
ali SC_MARK_BOXMINUS=BOX_MINUS
ali SC_MARK_BOXMINUSCONNECTED=BOX_MINUS_CONNECTED
ali SC_MARK_LCORNERCURVE=L_CORNER_CURVE
ali SC_MARK_TCORNERCURVE=T_CORNER_CURVE
ali SC_MARK_CIRCLEPLUS=CIRCLE_PLUS
ali SC_MARK_CIRCLEPLUSCONNECTED=CIRCLE_PLUS_CONNECTED
ali SC_MARK_CIRCLEMINUS=CIRCLE_MINUS
ali SC_MARK_CIRCLEMINUSCONNECTED=CIRCLE_MINUS_CONNECTED
ali SC_MARK_DOTDOTDOT=DOT_DOT_DOT
ali SC_MARK_FULLRECT=FULL_RECT
ali SC_MARK_LEFTRECT=LEFT_RECT
ali SC_MARK_RGBAIMAGE=RGBA_IMAGE
ali SC_MARK_VERTICALBOOKMARK=VERTICAL_BOOKMARK
enu MarkerOutline=SC_MARKNUM_
# Markers used for outlining and change history columns.
val SC_MARKNUM_HISTORY_REVERTED_TO_ORIGIN=21
val SC_MARKNUM_HISTORY_SAVED=22
val SC_MARKNUM_HISTORY_MODIFIED=23
val SC_MARKNUM_HISTORY_REVERTED_TO_MODIFIED=24
val SC_MARKNUM_FOLDEREND=25
val SC_MARKNUM_FOLDEROPENMID=26
val SC_MARKNUM_FOLDERMIDTAIL=27
val SC_MARKNUM_FOLDERTAIL=28
val SC_MARKNUM_FOLDERSUB=29
val SC_MARKNUM_FOLDER=30
val SC_MARKNUM_FOLDEROPEN=31
ali SC_MARKNUM_FOLDEREND=FOLDER_END
ali SC_MARKNUM_FOLDEROPENMID=FOLDER_OPEN_MID
ali SC_MARKNUM_FOLDERMIDTAIL=FOLDER_MID_TAIL
ali SC_MARKNUM_FOLDERTAIL=FOLDER_TAIL
ali SC_MARKNUM_FOLDERSUB=FOLDER_SUB
ali SC_MARKNUM_FOLDEROPEN=FOLDER_OPEN
# SC_MASK_FOLDERS doesn't go in an enumeration as larger than max 32-bit positive integer
val SC_MASK_FOLDERS=0xFE000000
# Set the symbol used for a particular marker number.
fun void MarkerDefine=2040(int markerNumber, MarkerSymbol markerSymbol)
# Set the foreground colour used for a particular marker number.
set void MarkerSetFore=2041(int markerNumber, colour fore)
# Set the background colour used for a particular marker number.
set void MarkerSetBack=2042(int markerNumber, colour back)
# Set the background colour used for a particular marker number when its folding block is selected.
set void MarkerSetBackSelected=2292(int markerNumber, colour back)
# Set the foreground colour used for a particular marker number.
set void MarkerSetForeTranslucent=2294(int markerNumber, colouralpha fore)
# Set the background colour used for a particular marker number.
set void MarkerSetBackTranslucent=2295(int markerNumber, colouralpha back)
# Set the background colour used for a particular marker number when its folding block is selected.
set void MarkerSetBackSelectedTranslucent=2296(int markerNumber, colouralpha back)
# Set the width of strokes used in .01 pixels so 50 = 1/2 pixel width.
set void MarkerSetStrokeWidth=2297(int markerNumber, int hundredths)
# Enable/disable highlight for current folding block (smallest one that contains the caret)
fun void MarkerEnableHighlight=2293(bool enabled,)
# Add a marker to a line, returning an ID which can be used to find or delete the marker.
fun int MarkerAdd=2043(line line, int markerNumber)
# Delete a marker from a line.
fun void MarkerDelete=2044(line line, int markerNumber)
# Delete all markers with a particular number from all lines.
fun void MarkerDeleteAll=2045(int markerNumber,)
# Get a bit mask of all the markers set on a line.
fun int MarkerGet=2046(line line,)
# Find the next line at or after lineStart that includes a marker in mask.
# Return -1 when no more lines.
fun line MarkerNext=2047(line lineStart, int markerMask)
# Find the previous line before lineStart that includes a marker in mask.
fun line MarkerPrevious=2048(line lineStart, int markerMask)
# Define a marker from a pixmap.
fun void MarkerDefinePixmap=2049(int markerNumber, string pixmap)
# Add a set of markers to a line.
fun void MarkerAddSet=2466(line line, int markerSet)
# Set the alpha used for a marker that is drawn in the text area, not the margin.
set void MarkerSetAlpha=2476(int markerNumber, Alpha alpha)
# Get the layer used for a marker that is drawn in the text area, not the margin.
get Layer MarkerGetLayer=2734(int markerNumber,)
# Set the layer used for a marker that is drawn in the text area, not the margin.
set void MarkerSetLayer=2735(int markerNumber, Layer layer)
val SC_MAX_MARGIN=4
enu MarginType=SC_MARGIN_
val SC_MARGIN_SYMBOL=0
val SC_MARGIN_NUMBER=1
val SC_MARGIN_BACK=2
val SC_MARGIN_FORE=3
val SC_MARGIN_TEXT=4
val SC_MARGIN_RTEXT=5
val SC_MARGIN_COLOUR=6
ali SC_MARGIN_RTEXT=R_TEXT
# Set a margin to be either numeric or symbolic.
set void SetMarginTypeN=2240(int margin, MarginType marginType)
# Retrieve the type of a margin.
get MarginType GetMarginTypeN=2241(int margin,)
# Set the width of a margin to a width expressed in pixels.
set void SetMarginWidthN=2242(int margin, int pixelWidth)
# Retrieve the width of a margin in pixels.
get int GetMarginWidthN=2243(int margin,)
# Set a mask that determines which markers are displayed in a margin.
set void SetMarginMaskN=2244(int margin, int mask)
# Retrieve the marker mask of a margin.
get int GetMarginMaskN=2245(int margin,)
# Make a margin sensitive or insensitive to mouse clicks.
set void SetMarginSensitiveN=2246(int margin, bool sensitive)
# Retrieve the mouse click sensitivity of a margin.
get bool GetMarginSensitiveN=2247(int margin,)
# Set the cursor shown when the mouse is inside a margin.
set void SetMarginCursorN=2248(int margin, CursorShape cursor)
# Retrieve the cursor shown in a margin.
get CursorShape GetMarginCursorN=2249(int margin,)
# Set the background colour of a margin. Only visible for SC_MARGIN_COLOUR.
set void SetMarginBackN=2250(int margin, colour back)
# Retrieve the background colour of a margin
get colour GetMarginBackN=2251(int margin,)
# Allocate a non-standard number of margins.
set void SetMargins=2252(int margins,)
# How many margins are there?.
get int GetMargins=2253(,)
# Styles in range 32..39 are predefined for parts of the UI and are not used as normal styles.
enu StylesCommon=STYLE_
val STYLE_DEFAULT=32
val STYLE_LINENUMBER=33
val STYLE_BRACELIGHT=34
val STYLE_BRACEBAD=35
val STYLE_CONTROLCHAR=36
val STYLE_INDENTGUIDE=37
val STYLE_CALLTIP=38
val STYLE_FOLDDISPLAYTEXT=39
val STYLE_LASTPREDEFINED=39
val STYLE_MAX=255
ali STYLE_LINENUMBER=LINE_NUMBER
ali STYLE_BRACELIGHT=BRACE_LIGHT
ali STYLE_BRACEBAD=BRACE_BAD
ali STYLE_CONTROLCHAR=CONTROL_CHAR
ali STYLE_INDENTGUIDE=INDENT_GUIDE
ali STYLE_CALLTIP=CALL_TIP
ali STYLE_FOLDDISPLAYTEXT=FOLD_DISPLAY_TEXT
ali STYLE_LASTPREDEFINED=LAST_PREDEFINED
# Character set identifiers are used in StyleSetCharacterSet.
# The values are the same as the Windows *_CHARSET values.
enu CharacterSet=SC_CHARSET_
val SC_CHARSET_ANSI=0
val SC_CHARSET_DEFAULT=1
val SC_CHARSET_BALTIC=186
val SC_CHARSET_CHINESEBIG5=136
val SC_CHARSET_EASTEUROPE=238
val SC_CHARSET_GB2312=134
val SC_CHARSET_GREEK=161
val SC_CHARSET_HANGUL=129
val SC_CHARSET_MAC=77
val SC_CHARSET_OEM=255
val SC_CHARSET_RUSSIAN=204
val SC_CHARSET_OEM866=866
val SC_CHARSET_CYRILLIC=1251
val SC_CHARSET_SHIFTJIS=128
val SC_CHARSET_SYMBOL=2
val SC_CHARSET_TURKISH=162
val SC_CHARSET_JOHAB=130
val SC_CHARSET_HEBREW=177
val SC_CHARSET_ARABIC=178
val SC_CHARSET_VIETNAMESE=163
val SC_CHARSET_THAI=222
val SC_CHARSET_8859_15=1000
ali SC_CHARSET_CHINESEBIG5=CHINESE_BIG5
ali SC_CHARSET_EASTEUROPE=EAST_EUROPE
ali SC_CHARSET_GB2312=G_B_2312
ali SC_CHARSET_OEM866=OEM_866
ali SC_CHARSET_SHIFTJIS=SHIFT_JIS
ali SC_CHARSET_8859_15=ISO_8859_15
# Clear all the styles and make equivalent to the global default style.
fun void StyleClearAll=2050(,)
# Set the foreground colour of a style.
set void StyleSetFore=2051(int style, colour fore)
# Set the background colour of a style.
set void StyleSetBack=2052(int style, colour back)
# Set a style to be bold or not.
set void StyleSetBold=2053(int style, bool bold)
# Set a style to be italic or not.
set void StyleSetItalic=2054(int style, bool italic)
# Set the size of characters of a style.
set void StyleSetSize=2055(int style, int sizePoints)
# Set the font of a style.
set void StyleSetFont=2056(int style, string fontName)
# Set a style to have its end of line filled or not.
set void StyleSetEOLFilled=2057(int style, bool eolFilled)
# Reset the default style to its state at startup
fun void StyleResetDefault=2058(,)
# Set a style to be underlined or not.
set void StyleSetUnderline=2059(int style, bool underline)
enu CaseVisible=SC_CASE_
val SC_CASE_MIXED=0
val SC_CASE_UPPER=1
val SC_CASE_LOWER=2
val SC_CASE_CAMEL=3
# Get the foreground colour of a style.
get colour StyleGetFore=2481(int style,)
# Get the background colour of a style.
get colour StyleGetBack=2482(int style,)
# Get is a style bold or not.
get bool StyleGetBold=2483(int style,)
# Get is a style italic or not.
get bool StyleGetItalic=2484(int style,)
# Get the size of characters of a style.
get int StyleGetSize=2485(int style,)
# Get the font of a style.
# Returns the length of the fontName
# Result is NUL-terminated.
get int StyleGetFont=2486(int style, stringresult fontName)
# Get is a style to have its end of line filled or not.
get bool StyleGetEOLFilled=2487(int style,)
# Get is a style underlined or not.
get bool StyleGetUnderline=2488(int style,)
# Get is a style mixed case, or to force upper or lower case.
get CaseVisible StyleGetCase=2489(int style,)
# Get the character get of the font in a style.
get CharacterSet StyleGetCharacterSet=2490(int style,)
# Get is a style visible or not.
get bool StyleGetVisible=2491(int style,)
# Get is a style changeable or not (read only).
# Experimental feature, currently buggy.
get bool StyleGetChangeable=2492(int style,)
# Get is a style a hotspot or not.
get bool StyleGetHotSpot=2493(int style,)
# Set a style to be mixed case, or to force upper or lower case.
set void StyleSetCase=2060(int style, CaseVisible caseVisible)
val SC_FONT_SIZE_MULTIPLIER=100
# Set the size of characters of a style. Size is in points multiplied by 100.
set void StyleSetSizeFractional=2061(int style, int sizeHundredthPoints)
# Get the size of characters of a style in points multiplied by 100
get int StyleGetSizeFractional=2062(int style,)
enu FontWeight=SC_WEIGHT_
val SC_WEIGHT_NORMAL=400
val SC_WEIGHT_SEMIBOLD=600
val SC_WEIGHT_BOLD=700
ali SC_WEIGHT_SEMIBOLD=SEMI_BOLD
# Set the weight of characters of a style.
set void StyleSetWeight=2063(int style, FontWeight weight)
# Get the weight of characters of a style.
get FontWeight StyleGetWeight=2064(int style,)
# Set the character set of the font in a style.
set void StyleSetCharacterSet=2066(int style, CharacterSet characterSet)
# Set a style to be a hotspot or not.
set void StyleSetHotSpot=2409(int style, bool hotspot)
# Indicate that a style may be monospaced over ASCII graphics characters which enables optimizations.
set void StyleSetCheckMonospaced=2254(int style, bool checkMonospaced)
# Get whether a style may be monospaced.
get bool StyleGetCheckMonospaced=2255(int style,)
# Set the invisible representation for a style.
set void StyleSetInvisibleRepresentation=2256(int style, string representation)
# Get the invisible representation for a style.
get int StyleGetInvisibleRepresentation=2257(int style, stringresult representation)
enu Element=SC_ELEMENT_
val SC_ELEMENT_LIST=0
val SC_ELEMENT_LIST_BACK=1
val SC_ELEMENT_LIST_SELECTED=2
val SC_ELEMENT_LIST_SELECTED_BACK=3
val SC_ELEMENT_SELECTION_TEXT=10
val SC_ELEMENT_SELECTION_BACK=11
val SC_ELEMENT_SELECTION_ADDITIONAL_TEXT=12
val SC_ELEMENT_SELECTION_ADDITIONAL_BACK=13
val SC_ELEMENT_SELECTION_SECONDARY_TEXT=14
val SC_ELEMENT_SELECTION_SECONDARY_BACK=15
val SC_ELEMENT_SELECTION_INACTIVE_TEXT=16
val SC_ELEMENT_SELECTION_INACTIVE_BACK=17
val SC_ELEMENT_CARET=40
val SC_ELEMENT_CARET_ADDITIONAL=41
val SC_ELEMENT_CARET_LINE_BACK=50
val SC_ELEMENT_WHITE_SPACE=60
val SC_ELEMENT_WHITE_SPACE_BACK=61
val SC_ELEMENT_HOT_SPOT_ACTIVE=70
val SC_ELEMENT_HOT_SPOT_ACTIVE_BACK=71
val SC_ELEMENT_FOLD_LINE=80
val SC_ELEMENT_HIDDEN_LINE=81
# Set the colour of an element. Translucency (alpha) may or may not be significant
# and this may depend on the platform. The alpha byte should commonly be 0xff for opaque.
set void SetElementColour=2753(Element element, colouralpha colourElement)
# Get the colour of an element.
get colouralpha GetElementColour=2754(Element element,)
# Use the default or platform-defined colour for an element.
fun void ResetElementColour=2755(Element element,)
# Get whether an element has been set by SetElementColour.
# When false, a platform-defined or default colour is used.
get bool GetElementIsSet=2756(Element element,)
# Get whether an element supports translucency.
get bool GetElementAllowsTranslucent=2757(Element element,)
# Get the colour of an element.
get colouralpha GetElementBaseColour=2758(Element element,)
# Set the foreground colour of the main and additional selections and whether to use this setting.
fun void SetSelFore=2067(bool useSetting, colour fore)
# Set the background colour of the main and additional selections and whether to use this setting.
fun void SetSelBack=2068(bool useSetting, colour back)
# Get the alpha of the selection.
get Alpha GetSelAlpha=2477(,)
# Set the alpha of the selection.
set void SetSelAlpha=2478(Alpha alpha,)
# Is the selection end of line filled?
get bool GetSelEOLFilled=2479(,)
# Set the selection to have its end of line filled or not.
set void SetSelEOLFilled=2480(bool filled,)
enu Layer=SC_LAYER_
val SC_LAYER_BASE=0
val SC_LAYER_UNDER_TEXT=1
val SC_LAYER_OVER_TEXT=2
# Get the layer for drawing selections
get Layer GetSelectionLayer=2762(,)
# Set the layer for drawing selections: either opaquely on base layer or translucently over text
set void SetSelectionLayer=2763(Layer layer,)
# Get the layer of the background of the line containing the caret.
get Layer GetCaretLineLayer=2764(,)
# Set the layer of the background of the line containing the caret.
set void SetCaretLineLayer=2765(Layer layer,)
# Get only highlighting subline instead of whole line.
get bool GetCaretLineHighlightSubLine=2773(,)
# Set only highlighting subline instead of whole line.
set void SetCaretLineHighlightSubLine=2774(bool subLine,)
# Set the foreground colour of the caret.
set void SetCaretFore=2069(colour fore,)
# When key+modifier combination keyDefinition is pressed perform sciCommand.
fun void AssignCmdKey=2070(keymod keyDefinition, int sciCommand)
# When key+modifier combination keyDefinition is pressed do nothing.
fun void ClearCmdKey=2071(keymod keyDefinition,)
# Drop all key mappings.
fun void ClearAllCmdKeys=2072(,)
# Set the styles for a segment of the document.
fun void SetStylingEx=2073(position length, string styles)
# Set a style to be visible or not.
set void StyleSetVisible=2074(int style, bool visible)
# Get the time in milliseconds that the caret is on and off.
get int GetCaretPeriod=2075(,)
# Get the time in milliseconds that the caret is on and off. 0 = steady on.
set void SetCaretPeriod=2076(int periodMilliseconds,)
# Set the set of characters making up words for when moving or selecting by word.
# First sets defaults like SetCharsDefault.
set void SetWordChars=2077(, string characters)
# Get the set of characters making up words for when moving or selecting by word.
# Returns the number of characters
get int GetWordChars=2646(, stringresult characters)
# Set the number of characters to have directly indexed categories
set void SetCharacterCategoryOptimization=2720(int countCharacters,)
# Get the number of characters to have directly indexed categories
get int GetCharacterCategoryOptimization=2721(,)
# Start a sequence of actions that is undone and redone as a unit.
# May be nested.
fun void BeginUndoAction=2078(,)
# End a sequence of actions that is undone and redone as a unit.
fun void EndUndoAction=2079(,)
# How many undo actions are in the history?
get int GetUndoActions=2790(,)
# Set action as the save point
set void SetUndoSavePoint=2791(int action,)
# Which action is the save point?
get int GetUndoSavePoint=2792(,)
# Set action as the detach point
set void SetUndoDetach=2793(int action,)
# Which action is the detach point?
get int GetUndoDetach=2794(,)
# Set action as the tentative point
set void SetUndoTentative=2795(int action,)
# Which action is the tentative point?
get int GetUndoTentative=2796(,)
# Set action as the current point
set void SetUndoCurrent=2797(int action,)
# Which action is the current point?
get int GetUndoCurrent=2798(,)
# Push one action onto undo history with no text
fun void PushUndoActionType=2800(int type, position pos)
# Set the text and length of the most recently pushed action
fun void ChangeLastUndoActionText=2801(position length, string text)
# What is the type of an action?
get int GetUndoActionType=2802(int action,)
# What is the position of an action?
get position GetUndoActionPosition=2803(int action,)
# What is the text of an action?
get int GetUndoActionText=2804(int action, stringresult text)
# Indicator style enumeration and some constants
enu IndicatorStyle=INDIC_
val INDIC_PLAIN=0
val INDIC_SQUIGGLE=1
val INDIC_TT=2
val INDIC_DIAGONAL=3
val INDIC_STRIKE=4
val INDIC_HIDDEN=5
val INDIC_BOX=6
val INDIC_ROUNDBOX=7
val INDIC_STRAIGHTBOX=8
val INDIC_DASH=9
val INDIC_DOTS=10
val INDIC_SQUIGGLELOW=11
val INDIC_DOTBOX=12
val INDIC_SQUIGGLEPIXMAP=13
val INDIC_COMPOSITIONTHICK=14
val INDIC_COMPOSITIONTHIN=15
val INDIC_FULLBOX=16
val INDIC_TEXTFORE=17
val INDIC_POINT=18
val INDIC_POINTCHARACTER=19
val INDIC_GRADIENT=20
val INDIC_GRADIENTCENTRE=21
val INDIC_POINT_TOP=22
# INDIC_CONTAINER, INDIC_IME, INDIC_IME_MAX, and INDIC_MAX are indicator numbers,
# not IndicatorStyles so should not really be in the INDIC_ enumeration.
# They are redeclared in IndicatorNumbers INDICATOR_.
val INDIC_CONTAINER=8
val INDIC_IME=32
val INDIC_IME_MAX=35
val INDIC_MAX=35
enu IndicatorNumbers=INDICATOR_
val INDICATOR_CONTAINER=8
val INDICATOR_IME=32
val INDICATOR_IME_MAX=35
val INDICATOR_HISTORY_REVERTED_TO_ORIGIN_INSERTION=36
val INDICATOR_HISTORY_REVERTED_TO_ORIGIN_DELETION=37
val INDICATOR_HISTORY_SAVED_INSERTION=38
val INDICATOR_HISTORY_SAVED_DELETION=39
val INDICATOR_HISTORY_MODIFIED_INSERTION=40
val INDICATOR_HISTORY_MODIFIED_DELETION=41
val INDICATOR_HISTORY_REVERTED_TO_MODIFIED_INSERTION=42
val INDICATOR_HISTORY_REVERTED_TO_MODIFIED_DELETION=43
val INDICATOR_MAX=43
ali INDIC_TT=T_T
ali INDIC_ROUNDBOX=ROUND_BOX
ali INDIC_STRAIGHTBOX=STRAIGHT_BOX
ali INDIC_SQUIGGLELOW=SQUIGGLE_LOW
ali INDIC_DOTBOX=DOT_BOX
ali INDIC_SQUIGGLEPIXMAP=SQUIGGLE_PIXMAP
ali INDIC_COMPOSITIONTHICK=COMPOSITION_THICK
ali INDIC_COMPOSITIONTHIN=COMPOSITION_THIN
ali INDIC_FULLBOX=FULL_BOX
ali INDIC_TEXTFORE=TEXT_FORE
ali INDIC_POINTCHARACTER=POINT_CHARACTER
ali INDIC_GRADIENTCENTRE=GRADIENT_CENTRE
# Set an indicator to plain, squiggle or TT.
set void IndicSetStyle=2080(int indicator, IndicatorStyle indicatorStyle)
# Retrieve the style of an indicator.
get IndicatorStyle IndicGetStyle=2081(int indicator,)
# Set the foreground colour of an indicator.
set void IndicSetFore=2082(int indicator, colour fore)
# Retrieve the foreground colour of an indicator.
get colour IndicGetFore=2083(int indicator,)
# Set an indicator to draw under text or over(default).
set void IndicSetUnder=2510(int indicator, bool under)
# Retrieve whether indicator drawn under or over text.
get bool IndicGetUnder=2511(int indicator,)
# Set a hover indicator to plain, squiggle or TT.
set void IndicSetHoverStyle=2680(int indicator, IndicatorStyle indicatorStyle)
# Retrieve the hover style of an indicator.
get IndicatorStyle IndicGetHoverStyle=2681(int indicator,)
# Set the foreground hover colour of an indicator.
set void IndicSetHoverFore=2682(int indicator, colour fore)
# Retrieve the foreground hover colour of an indicator.
get colour IndicGetHoverFore=2683(int indicator,)
enu IndicValue=SC_INDICVALUE
val SC_INDICVALUEBIT=0x1000000
val SC_INDICVALUEMASK=0xFFFFFF
enu IndicFlag=SC_INDICFLAG_
val SC_INDICFLAG_NONE=0
val SC_INDICFLAG_VALUEFORE=1
ali SC_INDICFLAG_VALUEFORE=VALUE_FORE
# Set the attributes of an indicator.
set void IndicSetFlags=2684(int indicator, IndicFlag flags)
# Retrieve the attributes of an indicator.
get IndicFlag IndicGetFlags=2685(int indicator,)
# Set the stroke width of an indicator in hundredths of a pixel.
set void IndicSetStrokeWidth=2751(int indicator, int hundredths)
# Retrieve the stroke width of an indicator.
get int IndicGetStrokeWidth=2752(int indicator,)
# Set the foreground colour of all whitespace and whether to use this setting.
fun void SetWhitespaceFore=2084(bool useSetting, colour fore)
# Set the background colour of all whitespace and whether to use this setting.
fun void SetWhitespaceBack=2085(bool useSetting, colour back)
# Set the size of the dots used to mark space characters.
set void SetWhitespaceSize=2086(int size,)
# Get the size of the dots used to mark space characters.