fxruby 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -652,6 +652,14 @@ FXMemoryBuffer *FXImage_getData(FXImage const *self){
652
652
  return 0;
653
653
  }
654
654
  }
655
+ FXColor FXImage_getPixel(FXImage const *self,FXint x,FXint y){
656
+ if(self->getData()==0) rb_raise(rb_eRuntimeError,"client side pixel buffer already released");
657
+ return self->getPixel(x,y);
658
+ }
659
+ void FXImage_setPixel(FXImage *self,FXint x,FXint y,FXColor color){
660
+ if(self->getData()==0) rb_raise(rb_eRuntimeError,"client side pixel buffer already released");
661
+ self->setPixel(x,y,color);
662
+ }
655
663
 
656
664
  swig_class cFXImage;
657
665
  static void free_FXImage(FXImage *);
@@ -1110,11 +1118,11 @@ static VALUE _wrap_FXImage_getPixel(int argc, VALUE *argv, VALUE self) { FXImage
1110
1118
  FXint arg3 ; FXColor result; VALUE vresult = Qnil; if ((argc < 2) || (argc > 2))
1111
1119
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc);
1112
1120
  SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXImage, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]);
1113
- result = (FXColor)((FXImage const *)arg1)->getPixel(arg2,arg3); vresult = UINT2NUM(result); return vresult; }
1121
+ result = (FXColor)FXImage_getPixel((FXImage const *)arg1,arg2,arg3); vresult = UINT2NUM(result); return vresult; }
1114
1122
  static VALUE _wrap_FXImage_setPixel(int argc, VALUE *argv, VALUE self) { FXImage *arg1 = (FXImage *) 0 ; FXint arg2 ;
1115
1123
  FXint arg3 ; FXColor arg4 ; if ((argc < 3) || (argc > 3)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc);
1116
1124
  SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXImage, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]);
1117
- arg4 = to_FXColor(argv[2]); (arg1)->setPixel(arg2,arg3,arg4); return Qnil; }
1125
+ arg4 = to_FXColor(argv[2]); FXImage_setPixel(arg1,arg2,arg3,arg4); return Qnil; }
1118
1126
  static VALUE _wrap_FXImage_hasAlphaq___(int argc, VALUE *argv, VALUE self) { FXImage *arg1 = (FXImage *) 0 ; FXbool result;
1119
1127
  VALUE vresult = Qnil; if ((argc < 0) || (argc > 0)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc);
1120
1128
  SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXImage, 1); result = (FXbool)((FXImage const *)arg1)->hasAlpha();
@@ -2313,9 +2313,7 @@ static VALUE _wrap_FXTable_acceptInput(int argc, VALUE *argv, VALUE self) { FXTa
2313
2313
  FXTable_acceptInput(arg1,arg2); return Qnil; }
2314
2314
  static VALUE _wrap_FXTable_makePositionVisible(int argc, VALUE *argv, VALUE self) { FXTable *arg1 = (FXTable *) 0 ; FXint arg2 ;
2315
2315
  FXint arg3 ; if ((argc < 2) || (argc > 2)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc);
2316
- SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXTable, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]); {
2317
- if (arg2 < 0 || arg2 >= arg1->getNumRows()) { rb_raise(rb_eIndexError, "table row out of bounds"); } } {
2318
- if (arg3 < 0 || arg3 >= arg1->getNumColumns()) { rb_raise(rb_eIndexError, "table column out of bounds"); } }
2316
+ SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXTable, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]);
2319
2317
  FXTable_makePositionVisible(arg1,arg2,arg3); return Qnil; }
2320
2318
  static VALUE _wrap_FXTable_enableItem(int argc, VALUE *argv, VALUE self) { FXTable *arg1 = (FXTable *) 0 ; FXint arg2 ;
2321
2319
  FXint arg3 ; FXbool result; VALUE vresult = Qnil; if ((argc < 2) || (argc > 2))
data/lib/fox14/chore.rb CHANGED
@@ -1,9 +1,11 @@
1
1
  require 'fox14'
2
+ require 'ostruct'
2
3
 
3
4
  module Fox
4
5
  class FXApp
5
6
 
6
7
  alias addChoreOrig addChore # :nodoc:
8
+ alias removeChoreOrig removeChore # :nodoc:
7
9
 
8
10
  #
9
11
  # Add a idle processing message to be sent to a target object when
@@ -28,12 +30,11 @@ module Fox
28
30
  # ... handle the chore ...
29
31
  # }
30
32
  #
31
- # All of these return a reference to an opaque FXChore instance that
32
- # can be passed to #removeChore if it is necessary to remove the chore
33
- # before it fires.
33
+ # All of these return a reference to an object that can be passed to
34
+ # #removeChore if it is necessary to remove the chore before it fires.
34
35
  #
35
36
  def addChore(*args, &block)
36
- tgt, sel = nil, 0
37
+ tgt, sel, ptr = nil, 0, nil
37
38
  if args.length > 0
38
39
  if args[0].respond_to? :call
39
40
  tgt = FXPseudoTarget.new
@@ -45,7 +46,22 @@ module Fox
45
46
  tgt = FXPseudoTarget.new
46
47
  tgt.pconnect(SEL_CHORE, nil, block)
47
48
  end
48
- addChoreOrig(tgt, sel)
49
+ addChoreOrig(tgt, sel, ptr)
50
+ OpenStruct.new({ "tgt" => tgt, "sel" => sel })
51
+ end
52
+
53
+ #
54
+ # Remove idle processing chore.
55
+ #
56
+ def removeChore(chore)
57
+ removeChoreOrig(chore.tgt, chore.sel)
58
+ end
59
+
60
+ #
61
+ # Return +true+ if given chore has been set, otherwise return +false+.
62
+ #
63
+ def hasChore?(chore)
64
+ hasChore(chore.tgt, chore.sel)
49
65
  end
50
66
  end
51
67
  end
@@ -14,13 +14,13 @@ module Fox
14
14
  # Basics
15
15
 
16
16
  INVALID_POSITION = -1
17
- # Define start of Scintilla messages to be greater than all edit (EM_*) messages
17
+ # Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages
18
18
  # as many EM_ messages can be used although that use is deprecated.
19
19
  SCI_START = 2000
20
20
  SCI_OPTIONAL_START = 3000
21
21
  SCI_LEXER_START = 4000
22
22
 
23
- # Add text to the document.
23
+ # Add text to the document at current position.
24
24
  def addText(length, text)
25
25
  sendMessage(2001, length, text)
26
26
  end
@@ -45,7 +45,7 @@ module Fox
45
45
  sendMessage(2005, 0, 0)
46
46
  end
47
47
 
48
- # The number of characters in the document.
48
+ # Returns the number of characters in the document.
49
49
  def getLength
50
50
  sendMessage(2006, 0, 0)
51
51
  end
@@ -93,7 +93,7 @@ module Fox
93
93
  end
94
94
 
95
95
  # Retrieve a buffer of cells.
96
- # Returns the number of bytes in the buffer not including terminating nulls.
96
+ # Returns the number of bytes in the buffer not including terminating NULs.
97
97
  def getStyledText(tr)
98
98
  sendMessage(2015, 0, tr)
99
99
  end
@@ -478,6 +478,11 @@ module Fox
478
478
  sendMessage(2066, style, characterSet)
479
479
  end
480
480
 
481
+ # Set a style to be a hotspot or not.
482
+ def styleSetHotSpot(style, hotspot)
483
+ sendMessage(2409, style, hotspot)
484
+ end
485
+
481
486
  # Set the foreground colour of the selection and whether to use this setting.
482
487
  def setSelFore(useSetting, fore)
483
488
  sendMessage(2067, useSetting, fore & 0xffffff)
@@ -498,7 +503,7 @@ module Fox
498
503
  sendMessage(2070, km, msg)
499
504
  end
500
505
 
501
- # When key+modifier combination km do nothing.
506
+ # When key+modifier combination km is pressed do nothing.
502
507
  def clearCmdKey(km)
503
508
  sendMessage(2071, km, 0)
504
509
  end
@@ -529,6 +534,7 @@ module Fox
529
534
  end
530
535
 
531
536
  # Set the set of characters making up words for when moving or selecting by word.
537
+ # First sets deaults like SetCharsDefault.
532
538
  def setWordChars(characters)
533
539
  sendMessage(2077, 0, characters)
534
540
  end
@@ -550,6 +556,8 @@ module Fox
550
556
  INDIC_TT = 2
551
557
  INDIC_DIAGONAL = 3
552
558
  INDIC_STRIKE = 4
559
+ INDIC_HIDDEN = 5
560
+ INDIC_BOX = 6
553
561
  INDIC0_MASK = 0x20
554
562
  INDIC1_MASK = 0x40
555
563
  INDIC2_MASK = 0x80
@@ -771,6 +779,28 @@ module Fox
771
779
  sendMessage(2286, separatorCharacter, 0)
772
780
  end
773
781
 
782
+ # Set the maximum width, in characters, of auto-completion and user lists.
783
+ # Set to 0 to autosize to fit longest item, which is the default.
784
+ def autoCSetMaxWidth(characterCount)
785
+ sendMessage(2208, characterCount, 0)
786
+ end
787
+
788
+ # Get the maximum width, in characters, of auto-completion and user lists.
789
+ def autoCGetMaxWidth
790
+ sendMessage(2209, 0, 0)
791
+ end
792
+
793
+ # Set the maximum height, in rows, of auto-completion and user lists.
794
+ # The default is 5 rows.
795
+ def autoCSetMaxHeight(rowCount)
796
+ sendMessage(2210, rowCount, 0)
797
+ end
798
+
799
+ # Set the maximum height, in rows, of auto-completion and user lists.
800
+ def autoCGetMaxHeight
801
+ sendMessage(2211, 0, 0)
802
+ end
803
+
774
804
  # Set the number of spaces used for one level of indentation.
775
805
  def setIndent(indentSize)
776
806
  sendMessage(2122, indentSize, 0)
@@ -928,6 +958,7 @@ module Fox
928
958
  SCFIND_MATCHCASE = 4
929
959
  SCFIND_WORDSTART = 0x00100000
930
960
  SCFIND_REGEXP = 0x00200000
961
+ SCFIND_POSIX = 0x00400000
931
962
 
932
963
  # Find some text in the document.
933
964
  def findText(flags, ft)
@@ -1161,14 +1192,14 @@ module Fox
1161
1192
  end
1162
1193
 
1163
1194
  # Replace the target text with the argument text.
1164
- # Text is counted so it can contain nulls.
1195
+ # Text is counted so it can contain NULs.
1165
1196
  # Returns the length of the replacement text.
1166
1197
  def replaceTarget(length, text)
1167
1198
  sendMessage(2194, length, text)
1168
1199
  end
1169
1200
 
1170
1201
  # Replace the target text with the argument text after \d processing.
1171
- # Text is counted so it can contain nulls.
1202
+ # Text is counted so it can contain NULs.
1172
1203
  # Looks for \d where d is between 1 and 9 and replaces these with the strings
1173
1204
  # matched in the last search operation which were surrounded by \( and \).
1174
1205
  # Returns the length of the replacement text including any change
@@ -1178,7 +1209,7 @@ module Fox
1178
1209
  end
1179
1210
 
1180
1211
  # Search for a counted string in the target and set the target to the found
1181
- # range. Text is counted so it can contain nulls.
1212
+ # range. Text is counted so it can contain NULs.
1182
1213
  # Returns length of range or -1 for failure in which case target is not moved.
1183
1214
  def searchInTarget(length, text)
1184
1215
  sendMessage(2197, length, text)
@@ -1224,6 +1255,16 @@ module Fox
1224
1255
  sendMessage(2205, back & 0xffffff, 0)
1225
1256
  end
1226
1257
 
1258
+ # Set the foreground colour for the call tip.
1259
+ def callTipSetFore(fore)
1260
+ sendMessage(2206, fore & 0xffffff, 0)
1261
+ end
1262
+
1263
+ # Set the foreground colour for the highlighted part of the call tip.
1264
+ def callTipSetForeHlt(fore)
1265
+ sendMessage(2207, fore & 0xffffff, 0)
1266
+ end
1267
+
1227
1268
  # Find the display line of a document line taking hidden lines into account.
1228
1269
  def visibleFromDocLine(line)
1229
1270
  sendMessage(2220, line, 0)
@@ -1234,6 +1275,11 @@ module Fox
1234
1275
  sendMessage(2221, lineDisplay, 0)
1235
1276
  end
1236
1277
 
1278
+ # The number of display lines needed to wrap a document line
1279
+ def wrapCount(line)
1280
+ sendMessage(2235, line, 0)
1281
+ end
1282
+
1237
1283
  SC_FOLDLEVELBASE = 0x400
1238
1284
  SC_FOLDLEVELWHITEFLAG = 0x1000
1239
1285
  SC_FOLDLEVELHEADERFLAG = 0x2000
@@ -1362,6 +1408,7 @@ module Fox
1362
1408
 
1363
1409
  SC_WRAP_NONE = 0
1364
1410
  SC_WRAP_WORD = 1
1411
+ SC_WRAP_CHAR = 2
1365
1412
 
1366
1413
  # Sets whether text is word wrapped.
1367
1414
  def setWrapMode(mode)
@@ -1373,6 +1420,44 @@ module Fox
1373
1420
  sendMessage(2269, 0, 0)
1374
1421
  end
1375
1422
 
1423
+ SC_WRAPVISUALFLAG_NONE = 0x0000
1424
+ SC_WRAPVISUALFLAG_END = 0x0001
1425
+ SC_WRAPVISUALFLAG_START = 0x0002
1426
+
1427
+ # Set the display mode of visual flags for wrapped lines.
1428
+ def setWrapVisualFlags(wrapVisualFlags)
1429
+ sendMessage(2460, wrapVisualFlags, 0)
1430
+ end
1431
+
1432
+ # Retrive the display mode of visual flags for wrapped lines.
1433
+ def getWrapVisualFlags
1434
+ sendMessage(2461, 0, 0)
1435
+ end
1436
+
1437
+ SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000
1438
+ SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001
1439
+ SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002
1440
+
1441
+ # Set the location of visual flags for wrapped lines.
1442
+ def setWrapVisualFlagsLocation(wrapVisualFlagsLocation)
1443
+ sendMessage(2462, wrapVisualFlagsLocation, 0)
1444
+ end
1445
+
1446
+ # Retrive the location of visual flags for wrapped lines.
1447
+ def getWrapVisualFlagsLocation
1448
+ sendMessage(2463, 0, 0)
1449
+ end
1450
+
1451
+ # Set the start indent for wrapped lines.
1452
+ def setWrapStartIndent(indent)
1453
+ sendMessage(2464, indent, 0)
1454
+ end
1455
+
1456
+ # Retrive the start indent for wrapped lines.
1457
+ def getWrapStartIndent
1458
+ sendMessage(2465, 0, 0)
1459
+ end
1460
+
1376
1461
  SC_CACHE_NONE = 0
1377
1462
  SC_CACHE_CARET = 1
1378
1463
  SC_CACHE_PAGE = 2
@@ -1399,7 +1484,7 @@ module Fox
1399
1484
  end
1400
1485
 
1401
1486
  # Measure the pixel width of some text in a particular style.
1402
- # Nul terminated text argument.
1487
+ # NUL terminated text argument.
1403
1488
  # Does not handle tab or control characters.
1404
1489
  def textWidth(style, text)
1405
1490
  sendMessage(2276, style, text)
@@ -1455,7 +1540,6 @@ module Fox
1455
1540
  end
1456
1541
 
1457
1542
  # Join the lines in the target.
1458
- # This is an experimental feature and may be changed or removed.
1459
1543
  def linesJoin
1460
1544
  sendMessage(2288, 0, 0)
1461
1545
  end
@@ -1730,6 +1814,36 @@ module Fox
1730
1814
  sendMessage(2348, 0, 0)
1731
1815
  end
1732
1816
 
1817
+ # These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)?
1818
+ # except they behave differently when word-wrap is enabled:
1819
+ # They go first to the start / end of the display line, like (Home|LineEnd)Display
1820
+ # The difference is that, the cursor is already at the point, it goes on to the start
1821
+ # or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?.
1822
+
1823
+ def homeWrap
1824
+ sendMessage(2349, 0, 0)
1825
+ end
1826
+ def homeWrapExtend
1827
+ sendMessage(2450, 0, 0)
1828
+ end
1829
+ def lineEndWrap
1830
+ sendMessage(2451, 0, 0)
1831
+ end
1832
+ def lineEndWrapExtend
1833
+ sendMessage(2452, 0, 0)
1834
+ end
1835
+ def vCHomeWrap
1836
+ sendMessage(2453, 0, 0)
1837
+ end
1838
+ def vCHomeWrapExtend
1839
+ sendMessage(2454, 0, 0)
1840
+ end
1841
+
1842
+ # Copy the line containing the caret.
1843
+ def lineCopy
1844
+ sendMessage(2455, 0, 0)
1845
+ end
1846
+
1733
1847
  # Move the caret inside current view if it's not there already.
1734
1848
  def moveCaretInsideView
1735
1849
  sendMessage(2401, 0, 0)
@@ -1972,7 +2086,7 @@ module Fox
1972
2086
  sendMessage(2398, 0, 0)
1973
2087
  end
1974
2088
 
1975
- # Set the last x chosen value to be the caret x position
2089
+ # Set the last x chosen value to be the caret x position.
1976
2090
  def chooseCaretX
1977
2091
  sendMessage(2399, 0, 0)
1978
2092
  end
@@ -2023,11 +2137,244 @@ module Fox
2023
2137
  sendMessage(2406, mode, 0)
2024
2138
  end
2025
2139
 
2026
- # Is printing line wrapped.
2140
+ # Is printing line wrapped?
2027
2141
  def getPrintWrapMode
2028
2142
  sendMessage(2407, 0, 0)
2029
2143
  end
2030
2144
 
2145
+ # Set a fore colour for active hotspots.
2146
+ def setHotspotActiveFore(useSetting, fore)
2147
+ sendMessage(2410, useSetting, fore & 0xffffff)
2148
+ end
2149
+
2150
+ # Set a back colour for active hotspots.
2151
+ def setHotspotActiveBack(useSetting, back)
2152
+ sendMessage(2411, useSetting, back & 0xffffff)
2153
+ end
2154
+
2155
+ # Enable / Disable underlining active hotspots.
2156
+ def setHotspotActiveUnderline(underline)
2157
+ sendMessage(2412, underline, 0)
2158
+ end
2159
+
2160
+ # Limit hotspots to single line so hotspots on two lines don't merge.
2161
+ def setHotspotSingleLine(singleLine)
2162
+ sendMessage(2421, singleLine, 0)
2163
+ end
2164
+
2165
+ # Move caret between paragraphs (delimited by empty lines).
2166
+ def paraDown
2167
+ sendMessage(2413, 0, 0)
2168
+ end
2169
+ def paraDownExtend
2170
+ sendMessage(2414, 0, 0)
2171
+ end
2172
+ def paraUp
2173
+ sendMessage(2415, 0, 0)
2174
+ end
2175
+ def paraUpExtend
2176
+ sendMessage(2416, 0, 0)
2177
+ end
2178
+
2179
+ # Given a valid document position, return the previous position taking code
2180
+ # page into account. Returns 0 if passed 0.
2181
+ def positionBefore(pos)
2182
+ sendMessage(2417, pos, 0)
2183
+ end
2184
+
2185
+ # Given a valid document position, return the next position taking code
2186
+ # page into account. Maximum value returned is the last position in the document.
2187
+ def positionAfter(pos)
2188
+ sendMessage(2418, pos, 0)
2189
+ end
2190
+
2191
+ # Copy a range of text to the clipboard. Positions are clipped into the document.
2192
+ def copyRange(start, last)
2193
+ sendMessage(2419, start, last)
2194
+ end
2195
+
2196
+ # Copy argument text to the clipboard.
2197
+ def copyText(length, text)
2198
+ sendMessage(2420, length, text)
2199
+ end
2200
+
2201
+ SC_SEL_STREAM = 0
2202
+ SC_SEL_RECTANGLE = 1
2203
+ SC_SEL_LINES = 2
2204
+
2205
+ # Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE) or
2206
+ # by lines (SC_SEL_LINES).
2207
+ def setSelectionMode(mode)
2208
+ sendMessage(2422, mode, 0)
2209
+ end
2210
+
2211
+ # Get the mode of the current selection.
2212
+ def getSelectionMode
2213
+ sendMessage(2423, 0, 0)
2214
+ end
2215
+
2216
+ # Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).
2217
+ def getLineSelStartPosition(line)
2218
+ sendMessage(2424, line, 0)
2219
+ end
2220
+
2221
+ # Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line).
2222
+ def getLineSelEndPosition(line)
2223
+ sendMessage(2425, line, 0)
2224
+ end
2225
+
2226
+ # Move caret down one line, extending rectangular selection to new caret position.
2227
+ def lineDownRectExtend
2228
+ sendMessage(2426, 0, 0)
2229
+ end
2230
+
2231
+ # Move caret up one line, extending rectangular selection to new caret position.
2232
+ def lineUpRectExtend
2233
+ sendMessage(2427, 0, 0)
2234
+ end
2235
+
2236
+ # Move caret left one character, extending rectangular selection to new caret position.
2237
+ def charLeftRectExtend
2238
+ sendMessage(2428, 0, 0)
2239
+ end
2240
+
2241
+ # Move caret right one character, extending rectangular selection to new caret position.
2242
+ def charRightRectExtend
2243
+ sendMessage(2429, 0, 0)
2244
+ end
2245
+
2246
+ # Move caret to first position on line, extending rectangular selection to new caret position.
2247
+ def homeRectExtend
2248
+ sendMessage(2430, 0, 0)
2249
+ end
2250
+
2251
+ # Move caret to before first visible character on line.
2252
+ # If already there move to first character on line.
2253
+ # In either case, extend rectangular selection to new caret position.
2254
+ def vCHomeRectExtend
2255
+ sendMessage(2431, 0, 0)
2256
+ end
2257
+
2258
+ # Move caret to last position on line, extending rectangular selection to new caret position.
2259
+ def lineEndRectExtend
2260
+ sendMessage(2432, 0, 0)
2261
+ end
2262
+
2263
+ # Move caret one page up, extending rectangular selection to new caret position.
2264
+ def pageUpRectExtend
2265
+ sendMessage(2433, 0, 0)
2266
+ end
2267
+
2268
+ # Move caret one page down, extending rectangular selection to new caret position.
2269
+ def pageDownRectExtend
2270
+ sendMessage(2434, 0, 0)
2271
+ end
2272
+
2273
+
2274
+ # Move caret to top of page, or one page up if already at top of page.
2275
+ def stutteredPageUp
2276
+ sendMessage(2435, 0, 0)
2277
+ end
2278
+
2279
+ # Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.
2280
+ def stutteredPageUpExtend
2281
+ sendMessage(2436, 0, 0)
2282
+ end
2283
+
2284
+ # Move caret to bottom of page, or one page down if already at bottom of page.
2285
+ def stutteredPageDown
2286
+ sendMessage(2437, 0, 0)
2287
+ end
2288
+
2289
+ # Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.
2290
+ def stutteredPageDownExtend
2291
+ sendMessage(2438, 0, 0)
2292
+ end
2293
+
2294
+
2295
+ # Move caret left one word, position cursor at end of word.
2296
+ def wordLeftEnd
2297
+ sendMessage(2439, 0, 0)
2298
+ end
2299
+
2300
+ # Move caret left one word, position cursor at end of word, extending selection to new caret position.
2301
+ def wordLeftEndExtend
2302
+ sendMessage(2440, 0, 0)
2303
+ end
2304
+
2305
+ # Move caret right one word, position cursor at end of word.
2306
+ def wordRightEnd
2307
+ sendMessage(2441, 0, 0)
2308
+ end
2309
+
2310
+ # Move caret right one word, position cursor at end of word, extending selection to new caret position.
2311
+ def wordRightEndExtend
2312
+ sendMessage(2442, 0, 0)
2313
+ end
2314
+
2315
+ # Set the set of characters making up whitespace for when moving or selecting by word.
2316
+ # Should be called after SetWordChars.
2317
+ def setWhitespaceChars(characters)
2318
+ sendMessage(2443, 0, characters)
2319
+ end
2320
+
2321
+ # Reset the set of characters for whitespace and word characters to the defaults.
2322
+ def setCharsDefault
2323
+ sendMessage(2444, 0, 0)
2324
+ end
2325
+
2326
+ # Get currently selected item position in the auto-completion list
2327
+ def autoCGetCurrent
2328
+ sendMessage(2445, 0, 0)
2329
+ end
2330
+
2331
+ # Enlarge the document to a particular size of text bytes.
2332
+ def allocate(bytes)
2333
+ sendMessage(2446, bytes, 0)
2334
+ end
2335
+
2336
+ # Returns the target converted to UTF8.
2337
+ # Return the length in bytes.
2338
+ def targetAsUTF8
2339
+ sendMessage(2447, 0, s)
2340
+ end
2341
+
2342
+ # Set the length of the utf8 argument for calling EncodedFromUTF8.
2343
+ # Set to 0 and the string will be measured to the first nul.
2344
+ def setLengthForEncode(bytes)
2345
+ sendMessage(2448, bytes, 0)
2346
+ end
2347
+
2348
+ # Translates a UTF8 string into the document encoding.
2349
+ # Return the length of the result in bytes.
2350
+ # On error return 0.
2351
+ def encodedFromUTF8(utf8)
2352
+ buffer = "".ljust(utf8)
2353
+ sendMessage(2449, utf8, buffer)
2354
+ buffer
2355
+ end
2356
+
2357
+ # Find the position of a column on a line taking into account tabs and
2358
+ # multi-byte characters. If beyond end of line, return line end position.
2359
+ def findColumn(line, column)
2360
+ sendMessage(2456, line, column)
2361
+ end
2362
+
2363
+ # Can the caret preferred x position only be changed by explicit movement commands?
2364
+ def getCaretSticky
2365
+ sendMessage(2457, 0, 0) == 1 ? true : false
2366
+ end
2367
+
2368
+ # Stop the caret preferred x position changing when the user types.
2369
+ def setCaretSticky(useCaretStickyBehaviour)
2370
+ sendMessage(2458, useCaretStickyBehaviour, 0)
2371
+ end
2372
+
2373
+ # Switch between sticky and non-sticky: meant to be bound to a key.
2374
+ def toggleCaretSticky
2375
+ sendMessage(2459, 0, 0)
2376
+ end
2377
+
2031
2378
  # Start notifying the container of all key presses and commands.
2032
2379
  def startRecord
2033
2380
  sendMessage(3001, 0, 0)
@@ -2058,6 +2405,9 @@ module Fox
2058
2405
  sendMessage(4004, key, value)
2059
2406
  end
2060
2407
 
2408
+ # Maximum value of keywordSet parameter of SetKeyWords.
2409
+ KEYWORDSET_MAX = 8
2410
+
2061
2411
  # Set up the key words used by the lexer.
2062
2412
  def setKeyWords(keywordSet, keyWords)
2063
2413
  sendMessage(4005, keywordSet, keyWords)
@@ -2068,6 +2418,11 @@ module Fox
2068
2418
  sendMessage(4006, 0, language)
2069
2419
  end
2070
2420
 
2421
+ # Load a lexer library (dll / so).
2422
+ def loadLexerLibrary(path)
2423
+ sendMessage(4007, 0, path)
2424
+ end
2425
+
2071
2426
  # Notifications
2072
2427
  # Type of modification and the action which caused the modification.
2073
2428
  # These are defined as a bit mask to make it easy to specify which notifications are wanted.
@@ -2149,8 +2504,6 @@ module Fox
2149
2504
  SCLEX_NNCRONTAB = 26
2150
2505
  SCLEX_BULLANT = 27
2151
2506
  SCLEX_VBSCRIPT = 28
2152
- SCLEX_ASP = 29
2153
- SCLEX_PHP = 30
2154
2507
  SCLEX_BAAN = 31
2155
2508
  SCLEX_MATLAB = 32
2156
2509
  SCLEX_SCRIPTOL = 33
@@ -2159,6 +2512,37 @@ module Fox
2159
2512
  SCLEX_FORTRAN = 36
2160
2513
  SCLEX_F77 = 37
2161
2514
  SCLEX_CSS = 38
2515
+ SCLEX_POV = 39
2516
+ SCLEX_LOUT = 40
2517
+ SCLEX_ESCRIPT = 41
2518
+ SCLEX_PS = 42
2519
+ SCLEX_NSIS = 43
2520
+ SCLEX_MMIXAL = 44
2521
+ SCLEX_CLW = 45
2522
+ SCLEX_CLWNOCASE = 46
2523
+ SCLEX_LOT = 47
2524
+ SCLEX_YAML = 48
2525
+ SCLEX_TEX = 49
2526
+ SCLEX_METAPOST = 50
2527
+ SCLEX_POWERBASIC = 51
2528
+ SCLEX_FORTH = 52
2529
+ SCLEX_ERLANG = 53
2530
+ SCLEX_OCTAVE = 54
2531
+ SCLEX_MSSQL = 55
2532
+ SCLEX_VERILOG = 56
2533
+ SCLEX_KIX = 57
2534
+ SCLEX_GUI4CLI = 58
2535
+ SCLEX_SPECMAN = 59
2536
+ SCLEX_AU3 = 60
2537
+ SCLEX_APDL = 61
2538
+ SCLEX_BASH = 62
2539
+ SCLEX_ASN1 = 63
2540
+ SCLEX_VHDL = 64
2541
+ SCLEX_CAML = 65
2542
+ SCLEX_BLITZBASIC = 66
2543
+ SCLEX_PUREBASIC = 67
2544
+ SCLEX_HASKELL = 68
2545
+ SCLEX_PHPSCRIPT = 69
2162
2546
 
2163
2547
  # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
2164
2548
  # value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -2198,6 +2582,7 @@ module Fox
2198
2582
  SCE_C_WORD2 = 16
2199
2583
  SCE_C_COMMENTDOCKEYWORD = 17
2200
2584
  SCE_C_COMMENTDOCKEYWORDERROR = 18
2585
+ SCE_C_GLOBALCLASS = 19
2201
2586
  # Lexical states for SCLEX_HTML, SCLEX_XML
2202
2587
  SCE_H_DEFAULT = 0
2203
2588
  SCE_H_TAG = 1
@@ -2295,6 +2680,8 @@ module Fox
2295
2680
  SCE_HP_DEFNAME = 100
2296
2681
  SCE_HP_OPERATOR = 101
2297
2682
  SCE_HP_IDENTIFIER = 102
2683
+ # PHP
2684
+ SCE_HPHP_COMPLEX_VARIABLE = 104
2298
2685
  # ASP Python
2299
2686
  SCE_HPA_START = 105
2300
2687
  SCE_HPA_DEFAULT = 106
@@ -2351,7 +2738,7 @@ module Fox
2351
2738
  SCE_PL_STRING_QX = 28
2352
2739
  SCE_PL_STRING_QR = 29
2353
2740
  SCE_PL_STRING_QW = 30
2354
- # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT
2741
+ # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC
2355
2742
  SCE_B_DEFAULT = 0
2356
2743
  SCE_B_COMMENT = 1
2357
2744
  SCE_B_NUMBER = 2
@@ -2361,6 +2748,16 @@ module Fox
2361
2748
  SCE_B_OPERATOR = 6
2362
2749
  SCE_B_IDENTIFIER = 7
2363
2750
  SCE_B_DATE = 8
2751
+ SCE_B_STRINGEOL = 9
2752
+ SCE_B_KEYWORD2 = 10
2753
+ SCE_B_KEYWORD3 = 11
2754
+ SCE_B_KEYWORD4 = 12
2755
+ SCE_B_CONSTANT = 13
2756
+ SCE_B_ASM = 14
2757
+ SCE_B_LABEL = 15
2758
+ SCE_B_ERROR = 16
2759
+ SCE_B_HEXNUMBER = 17
2760
+ SCE_B_BINNUMBER = 18
2364
2761
  # Lexical states for SCLEX_PROPERTIES
2365
2762
  SCE_PROPS_DEFAULT = 0
2366
2763
  SCE_PROPS_COMMENT = 1
@@ -2392,6 +2789,8 @@ module Fox
2392
2789
  SCE_LUA_WORD4 = 15
2393
2790
  SCE_LUA_WORD5 = 16
2394
2791
  SCE_LUA_WORD6 = 17
2792
+ SCE_LUA_WORD7 = 18
2793
+ SCE_LUA_WORD8 = 19
2395
2794
  # Lexical states for SCLEX_ERRORLIST
2396
2795
  SCE_ERR_DEFAULT = 0
2397
2796
  SCE_ERR_PYTHON = 1
@@ -2408,6 +2807,12 @@ module Fox
2408
2807
  SCE_ERR_DIFF_DELETION = 12
2409
2808
  SCE_ERR_DIFF_MESSAGE = 13
2410
2809
  SCE_ERR_PHP = 14
2810
+ SCE_ERR_ELF = 15
2811
+ SCE_ERR_IFC = 16
2812
+ SCE_ERR_IFORT = 17
2813
+ SCE_ERR_ABSF = 18
2814
+ SCE_ERR_TIDY = 19
2815
+ SCE_ERR_JAVA_STACK = 20
2411
2816
  # Lexical states for SCLEX_BATCH
2412
2817
  SCE_BAT_DEFAULT = 0
2413
2818
  SCE_BAT_COMMENT = 1
@@ -2516,36 +2921,47 @@ module Fox
2516
2921
  SCE_NNCRONTAB_STRING = 8
2517
2922
  SCE_NNCRONTAB_ENVIRONMENT = 9
2518
2923
  SCE_NNCRONTAB_IDENTIFIER = 10
2924
+ # Lexical states for SCLEX_FORTH (Forth Lexer)
2925
+ SCE_FORTH_DEFAULT = 0
2926
+ SCE_FORTH_COMMENT = 1
2927
+ SCE_FORTH_COMMENT_ML = 2
2928
+ SCE_FORTH_IDENTIFIER = 3
2929
+ SCE_FORTH_CONTROL = 4
2930
+ SCE_FORTH_KEYWORD = 5
2931
+ SCE_FORTH_DEFWORD = 6
2932
+ SCE_FORTH_PREWORD1 = 7
2933
+ SCE_FORTH_PREWORD2 = 8
2934
+ SCE_FORTH_NUMBER = 9
2935
+ SCE_FORTH_STRING = 10
2936
+ SCE_FORTH_LOCALE = 11
2519
2937
  # Lexical states for SCLEX_MATLAB
2520
2938
  SCE_MATLAB_DEFAULT = 0
2521
2939
  SCE_MATLAB_COMMENT = 1
2522
2940
  SCE_MATLAB_COMMAND = 2
2523
2941
  SCE_MATLAB_NUMBER = 3
2524
2942
  SCE_MATLAB_KEYWORD = 4
2943
+ # single quoted string
2525
2944
  SCE_MATLAB_STRING = 5
2526
2945
  SCE_MATLAB_OPERATOR = 6
2527
2946
  SCE_MATLAB_IDENTIFIER = 7
2947
+ SCE_MATLAB_DOUBLEQUOTESTRING = 8
2528
2948
  # Lexical states for SCLEX_SCRIPTOL
2529
2949
  SCE_SCRIPTOL_DEFAULT = 0
2530
- SCE_SCRIPTOL_COMMENT = 1
2950
+ SCE_SCRIPTOL_WHITE = 1
2531
2951
  SCE_SCRIPTOL_COMMENTLINE = 2
2532
- SCE_SCRIPTOL_COMMENTDOC = 3
2533
- SCE_SCRIPTOL_NUMBER = 4
2534
- SCE_SCRIPTOL_WORD = 5
2535
- SCE_SCRIPTOL_STRING = 6
2536
- SCE_SCRIPTOL_CHARACTER = 7
2537
- SCE_SCRIPTOL_UUID = 8
2538
- SCE_SCRIPTOL_PREPROCESSOR = 9
2539
- SCE_SCRIPTOL_OPERATOR = 10
2540
- SCE_SCRIPTOL_IDENTIFIER = 11
2541
- SCE_SCRIPTOL_STRINGEOL = 12
2542
- SCE_SCRIPTOL_VERBATIM = 13
2543
- SCE_SCRIPTOL_REGEX = 14
2544
- SCE_SCRIPTOL_COMMENTLINEDOC = 15
2545
- SCE_SCRIPTOL_WORD2 = 16
2546
- SCE_SCRIPTOL_COMMENTDOCKEYWORD = 17
2547
- SCE_SCRIPTOL_COMMENTDOCKEYWORDERROR = 18
2548
- SCE_SCRIPTOL_COMMENTBASIC = 19
2952
+ SCE_SCRIPTOL_PERSISTENT = 3
2953
+ SCE_SCRIPTOL_CSTYLE = 4
2954
+ SCE_SCRIPTOL_COMMENTBLOCK = 5
2955
+ SCE_SCRIPTOL_NUMBER = 6
2956
+ SCE_SCRIPTOL_STRING = 7
2957
+ SCE_SCRIPTOL_CHARACTER = 8
2958
+ SCE_SCRIPTOL_STRINGEOL = 9
2959
+ SCE_SCRIPTOL_KEYWORD = 10
2960
+ SCE_SCRIPTOL_OPERATOR = 11
2961
+ SCE_SCRIPTOL_IDENTIFIER = 12
2962
+ SCE_SCRIPTOL_TRIPLE = 13
2963
+ SCE_SCRIPTOL_CLASSNAME = 14
2964
+ SCE_SCRIPTOL_PREPROCESSOR = 15
2549
2965
  # Lexical states for SCLEX_ASM
2550
2966
  SCE_ASM_DEFAULT = 0
2551
2967
  SCE_ASM_COMMENT = 1
@@ -2558,6 +2974,10 @@ module Fox
2558
2974
  SCE_ASM_REGISTER = 8
2559
2975
  SCE_ASM_DIRECTIVE = 9
2560
2976
  SCE_ASM_DIRECTIVEOPERAND = 10
2977
+ SCE_ASM_COMMENTBLOCK = 11
2978
+ SCE_ASM_CHARACTER = 12
2979
+ SCE_ASM_STRINGEOL = 13
2980
+ SCE_ASM_EXTINSTRUCTION = 14
2561
2981
  # Lexical states for SCLEX_FORTRAN
2562
2982
  SCE_F_DEFAULT = 0
2563
2983
  SCE_F_COMMENT = 1
@@ -2588,6 +3008,354 @@ module Fox
2588
3008
  SCE_CSS_ID = 10
2589
3009
  SCE_CSS_IMPORTANT = 11
2590
3010
  SCE_CSS_DIRECTIVE = 12
3011
+ SCE_CSS_DOUBLESTRING = 13
3012
+ SCE_CSS_SINGLESTRING = 14
3013
+ SCE_CSS_IDENTIFIER2 = 15
3014
+ SCE_CSS_ATTRIBUTE = 16
3015
+ # Lexical states for SCLEX_POV
3016
+ SCE_POV_DEFAULT = 0
3017
+ SCE_POV_COMMENT = 1
3018
+ SCE_POV_COMMENTLINE = 2
3019
+ SCE_POV_NUMBER = 3
3020
+ SCE_POV_OPERATOR = 4
3021
+ SCE_POV_IDENTIFIER = 5
3022
+ SCE_POV_STRING = 6
3023
+ SCE_POV_STRINGEOL = 7
3024
+ SCE_POV_DIRECTIVE = 8
3025
+ SCE_POV_BADDIRECTIVE = 9
3026
+ SCE_POV_WORD2 = 10
3027
+ SCE_POV_WORD3 = 11
3028
+ SCE_POV_WORD4 = 12
3029
+ SCE_POV_WORD5 = 13
3030
+ SCE_POV_WORD6 = 14
3031
+ SCE_POV_WORD7 = 15
3032
+ SCE_POV_WORD8 = 16
3033
+ # Lexical states for SCLEX_LOUT
3034
+ SCE_LOUT_DEFAULT = 0
3035
+ SCE_LOUT_COMMENT = 1
3036
+ SCE_LOUT_NUMBER = 2
3037
+ SCE_LOUT_WORD = 3
3038
+ SCE_LOUT_WORD2 = 4
3039
+ SCE_LOUT_WORD3 = 5
3040
+ SCE_LOUT_WORD4 = 6
3041
+ SCE_LOUT_STRING = 7
3042
+ SCE_LOUT_OPERATOR = 8
3043
+ SCE_LOUT_IDENTIFIER = 9
3044
+ SCE_LOUT_STRINGEOL = 10
3045
+ # Lexical states for SCLEX_ESCRIPT
3046
+ SCE_ESCRIPT_DEFAULT = 0
3047
+ SCE_ESCRIPT_COMMENT = 1
3048
+ SCE_ESCRIPT_COMMENTLINE = 2
3049
+ SCE_ESCRIPT_COMMENTDOC = 3
3050
+ SCE_ESCRIPT_NUMBER = 4
3051
+ SCE_ESCRIPT_WORD = 5
3052
+ SCE_ESCRIPT_STRING = 6
3053
+ SCE_ESCRIPT_OPERATOR = 7
3054
+ SCE_ESCRIPT_IDENTIFIER = 8
3055
+ SCE_ESCRIPT_BRACE = 9
3056
+ SCE_ESCRIPT_WORD2 = 10
3057
+ SCE_ESCRIPT_WORD3 = 11
3058
+ # Lexical states for SCLEX_PS
3059
+ SCE_PS_DEFAULT = 0
3060
+ SCE_PS_COMMENT = 1
3061
+ SCE_PS_DSC_COMMENT = 2
3062
+ SCE_PS_DSC_VALUE = 3
3063
+ SCE_PS_NUMBER = 4
3064
+ SCE_PS_NAME = 5
3065
+ SCE_PS_KEYWORD = 6
3066
+ SCE_PS_LITERAL = 7
3067
+ SCE_PS_IMMEVAL = 8
3068
+ SCE_PS_PAREN_ARRAY = 9
3069
+ SCE_PS_PAREN_DICT = 10
3070
+ SCE_PS_PAREN_PROC = 11
3071
+ SCE_PS_TEXT = 12
3072
+ SCE_PS_HEXSTRING = 13
3073
+ SCE_PS_BASE85STRING = 14
3074
+ SCE_PS_BADSTRINGCHAR = 15
3075
+ # Lexical states for SCLEX_NSIS
3076
+ SCE_NSIS_DEFAULT = 0
3077
+ SCE_NSIS_COMMENT = 1
3078
+ SCE_NSIS_STRINGDQ = 2
3079
+ SCE_NSIS_STRINGLQ = 3
3080
+ SCE_NSIS_STRINGRQ = 4
3081
+ SCE_NSIS_FUNCTION = 5
3082
+ SCE_NSIS_VARIABLE = 6
3083
+ SCE_NSIS_LABEL = 7
3084
+ SCE_NSIS_USERDEFINED = 8
3085
+ SCE_NSIS_SECTIONDEF = 9
3086
+ SCE_NSIS_SUBSECTIONDEF = 10
3087
+ SCE_NSIS_IFDEFINEDEF = 11
3088
+ SCE_NSIS_MACRODEF = 12
3089
+ SCE_NSIS_STRINGVAR = 13
3090
+ SCE_NSIS_NUMBER = 14
3091
+ SCE_NSIS_SECTIONGROUP = 15
3092
+ SCE_NSIS_PAGEEX = 16
3093
+ SCE_NSIS_FUNCTIONDEF = 17
3094
+ SCE_NSIS_COMMENTBOX = 18
3095
+ # Lexical states for SCLEX_MMIXAL
3096
+ SCE_MMIXAL_LEADWS = 0
3097
+ SCE_MMIXAL_COMMENT = 1
3098
+ SCE_MMIXAL_LABEL = 2
3099
+ SCE_MMIXAL_OPCODE = 3
3100
+ SCE_MMIXAL_OPCODE_PRE = 4
3101
+ SCE_MMIXAL_OPCODE_VALID = 5
3102
+ SCE_MMIXAL_OPCODE_UNKNOWN = 6
3103
+ SCE_MMIXAL_OPCODE_POST = 7
3104
+ SCE_MMIXAL_OPERANDS = 8
3105
+ SCE_MMIXAL_NUMBER = 9
3106
+ SCE_MMIXAL_REF = 10
3107
+ SCE_MMIXAL_CHAR = 11
3108
+ SCE_MMIXAL_STRING = 12
3109
+ SCE_MMIXAL_REGISTER = 13
3110
+ SCE_MMIXAL_HEX = 14
3111
+ SCE_MMIXAL_OPERATOR = 15
3112
+ SCE_MMIXAL_SYMBOL = 16
3113
+ SCE_MMIXAL_INCLUDE = 17
3114
+ # Lexical states for SCLEX_CLW
3115
+ SCE_CLW_DEFAULT = 0
3116
+ SCE_CLW_LABEL = 1
3117
+ SCE_CLW_COMMENT = 2
3118
+ SCE_CLW_STRING = 3
3119
+ SCE_CLW_USER_IDENTIFIER = 4
3120
+ SCE_CLW_INTEGER_CONSTANT = 5
3121
+ SCE_CLW_REAL_CONSTANT = 6
3122
+ SCE_CLW_PICTURE_STRING = 7
3123
+ SCE_CLW_KEYWORD = 8
3124
+ SCE_CLW_COMPILER_DIRECTIVE = 9
3125
+ SCE_CLW_RUNTIME_EXPRESSIONS = 10
3126
+ SCE_CLW_BUILTIN_PROCEDURES_FUNCTION = 11
3127
+ SCE_CLW_STRUCTURE_DATA_TYPE = 12
3128
+ SCE_CLW_ATTRIBUTE = 13
3129
+ SCE_CLW_STANDARD_EQUATE = 14
3130
+ SCE_CLW_ERROR = 15
3131
+ SCE_CLW_DEPRECATED = 16
3132
+ # Lexical states for SCLEX_LOT
3133
+ SCE_LOT_DEFAULT = 0
3134
+ SCE_LOT_HEADER = 1
3135
+ SCE_LOT_BREAK = 2
3136
+ SCE_LOT_SET = 3
3137
+ SCE_LOT_PASS = 4
3138
+ SCE_LOT_FAIL = 5
3139
+ SCE_LOT_ABORT = 6
3140
+ # Lexical states for SCLEX_YAML
3141
+ SCE_YAML_DEFAULT = 0
3142
+ SCE_YAML_COMMENT = 1
3143
+ SCE_YAML_IDENTIFIER = 2
3144
+ SCE_YAML_KEYWORD = 3
3145
+ SCE_YAML_NUMBER = 4
3146
+ SCE_YAML_REFERENCE = 5
3147
+ SCE_YAML_DOCUMENT = 6
3148
+ SCE_YAML_TEXT = 7
3149
+ SCE_YAML_ERROR = 8
3150
+ # Lexical states for SCLEX_TEX
3151
+ SCE_TEX_DEFAULT = 0
3152
+ SCE_TEX_SPECIAL = 1
3153
+ SCE_TEX_GROUP = 2
3154
+ SCE_TEX_SYMBOL = 3
3155
+ SCE_TEX_COMMAND = 4
3156
+ SCE_TEX_TEXT = 5
3157
+ SCE_METAPOST_DEFAULT = 0
3158
+ SCE_METAPOST_SPECIAL = 1
3159
+ SCE_METAPOST_GROUP = 2
3160
+ SCE_METAPOST_SYMBOL = 3
3161
+ SCE_METAPOST_COMMAND = 4
3162
+ SCE_METAPOST_TEXT = 5
3163
+ SCE_METAPOST_EXTRA = 6
3164
+ # Lexical states for SCLEX_ERLANG
3165
+ SCE_ERLANG_DEFAULT = 0
3166
+ SCE_ERLANG_COMMENT = 1
3167
+ SCE_ERLANG_VARIABLE = 2
3168
+ SCE_ERLANG_NUMBER = 3
3169
+ SCE_ERLANG_KEYWORD = 4
3170
+ SCE_ERLANG_STRING = 5
3171
+ SCE_ERLANG_OPERATOR = 6
3172
+ SCE_ERLANG_ATOM = 7
3173
+ SCE_ERLANG_FUNCTION_NAME = 8
3174
+ SCE_ERLANG_CHARACTER = 9
3175
+ SCE_ERLANG_MACRO = 10
3176
+ SCE_ERLANG_RECORD = 11
3177
+ SCE_ERLANG_SEPARATOR = 12
3178
+ SCE_ERLANG_NODE_NAME = 13
3179
+ SCE_ERLANG_UNKNOWN = 31
3180
+ # Lexical states for SCLEX_OCTAVE are identical to MatLab
3181
+ # Lexical states for SCLEX_MSSQL
3182
+ SCE_MSSQL_DEFAULT = 0
3183
+ SCE_MSSQL_COMMENT = 1
3184
+ SCE_MSSQL_LINE_COMMENT = 2
3185
+ SCE_MSSQL_NUMBER = 3
3186
+ SCE_MSSQL_STRING = 4
3187
+ SCE_MSSQL_OPERATOR = 5
3188
+ SCE_MSSQL_IDENTIFIER = 6
3189
+ SCE_MSSQL_VARIABLE = 7
3190
+ SCE_MSSQL_COLUMN_NAME = 8
3191
+ SCE_MSSQL_STATEMENT = 9
3192
+ SCE_MSSQL_DATATYPE = 10
3193
+ SCE_MSSQL_SYSTABLE = 11
3194
+ SCE_MSSQL_GLOBAL_VARIABLE = 12
3195
+ SCE_MSSQL_FUNCTION = 13
3196
+ SCE_MSSQL_STORED_PROCEDURE = 14
3197
+ SCE_MSSQL_DEFAULT_PREF_DATATYPE = 15
3198
+ SCE_MSSQL_COLUMN_NAME_2 = 16
3199
+ # Lexical states for SCLEX_VERILOG
3200
+ SCE_V_DEFAULT = 0
3201
+ SCE_V_COMMENT = 1
3202
+ SCE_V_COMMENTLINE = 2
3203
+ SCE_V_COMMENTLINEBANG = 3
3204
+ SCE_V_NUMBER = 4
3205
+ SCE_V_WORD = 5
3206
+ SCE_V_STRING = 6
3207
+ SCE_V_WORD2 = 7
3208
+ SCE_V_WORD3 = 8
3209
+ SCE_V_PREPROCESSOR = 9
3210
+ SCE_V_OPERATOR = 10
3211
+ SCE_V_IDENTIFIER = 11
3212
+ SCE_V_STRINGEOL = 12
3213
+ SCE_V_USER = 19
3214
+ # Lexical states for SCLEX_KIX
3215
+ SCE_KIX_DEFAULT = 0
3216
+ SCE_KIX_COMMENT = 1
3217
+ SCE_KIX_STRING1 = 2
3218
+ SCE_KIX_STRING2 = 3
3219
+ SCE_KIX_NUMBER = 4
3220
+ SCE_KIX_VAR = 5
3221
+ SCE_KIX_MACRO = 6
3222
+ SCE_KIX_KEYWORD = 7
3223
+ SCE_KIX_FUNCTIONS = 8
3224
+ SCE_KIX_OPERATOR = 9
3225
+ SCE_KIX_IDENTIFIER = 31
3226
+ # Lexical states for SCLEX_GUI4CLI
3227
+ SCE_GC_DEFAULT = 0
3228
+ SCE_GC_COMMENTLINE = 1
3229
+ SCE_GC_COMMENTBLOCK = 2
3230
+ SCE_GC_GLOBAL = 3
3231
+ SCE_GC_EVENT = 4
3232
+ SCE_GC_ATTRIBUTE = 5
3233
+ SCE_GC_CONTROL = 6
3234
+ SCE_GC_COMMAND = 7
3235
+ SCE_GC_STRING = 8
3236
+ SCE_GC_OPERATOR = 9
3237
+ # Lexical states for SCLEX_SPECMAN
3238
+ SCE_SN_DEFAULT = 0
3239
+ SCE_SN_CODE = 1
3240
+ SCE_SN_COMMENTLINE = 2
3241
+ SCE_SN_COMMENTLINEBANG = 3
3242
+ SCE_SN_NUMBER = 4
3243
+ SCE_SN_WORD = 5
3244
+ SCE_SN_STRING = 6
3245
+ SCE_SN_WORD2 = 7
3246
+ SCE_SN_WORD3 = 8
3247
+ SCE_SN_PREPROCESSOR = 9
3248
+ SCE_SN_OPERATOR = 10
3249
+ SCE_SN_IDENTIFIER = 11
3250
+ SCE_SN_STRINGEOL = 12
3251
+ SCE_SN_REGEXTAG = 13
3252
+ SCE_SN_SIGNAL = 14
3253
+ SCE_SN_USER = 19
3254
+ # Lexical states for SCLEX_AU3
3255
+ SCE_AU3_DEFAULT = 0
3256
+ SCE_AU3_COMMENT = 1
3257
+ SCE_AU3_COMMENTBLOCK = 2
3258
+ SCE_AU3_NUMBER = 3
3259
+ SCE_AU3_FUNCTION = 4
3260
+ SCE_AU3_KEYWORD = 5
3261
+ SCE_AU3_MACRO = 6
3262
+ SCE_AU3_STRING = 7
3263
+ SCE_AU3_OPERATOR = 8
3264
+ SCE_AU3_VARIABLE = 9
3265
+ SCE_AU3_SENT = 10
3266
+ SCE_AU3_PREPROCESSOR = 11
3267
+ SCE_AU3_SPECIAL = 12
3268
+ SCE_AU3_EXPAND = 13
3269
+ # Lexical states for SCLEX_APDL
3270
+ SCE_APDL_DEFAULT = 0
3271
+ SCE_APDL_COMMENT = 1
3272
+ SCE_APDL_COMMENTBLOCK = 2
3273
+ SCE_APDL_NUMBER = 3
3274
+ SCE_APDL_STRING = 4
3275
+ SCE_APDL_OPERATOR = 5
3276
+ SCE_APDL_WORD = 6
3277
+ SCE_APDL_PROCESSOR = 7
3278
+ SCE_APDL_COMMAND = 8
3279
+ SCE_APDL_SLASHCOMMAND = 9
3280
+ SCE_APDL_STARCOMMAND = 10
3281
+ SCE_APDL_ARGUMENT = 11
3282
+ SCE_APDL_FUNCTION = 12
3283
+ # Lexical states for SCLEX_BASH
3284
+ SCE_SH_DEFAULT = 0
3285
+ SCE_SH_ERROR = 1
3286
+ SCE_SH_COMMENTLINE = 2
3287
+ SCE_SH_NUMBER = 3
3288
+ SCE_SH_WORD = 4
3289
+ SCE_SH_STRING = 5
3290
+ SCE_SH_CHARACTER = 6
3291
+ SCE_SH_OPERATOR = 7
3292
+ SCE_SH_IDENTIFIER = 8
3293
+ SCE_SH_SCALAR = 9
3294
+ SCE_SH_PARAM = 10
3295
+ SCE_SH_BACKTICKS = 11
3296
+ SCE_SH_HERE_DELIM = 12
3297
+ SCE_SH_HERE_Q = 13
3298
+ # Lexical states for SCLEX_ASN1
3299
+ SCE_ASN1_DEFAULT = 0
3300
+ SCE_ASN1_COMMENT = 1
3301
+ SCE_ASN1_IDENTIFIER = 2
3302
+ SCE_ASN1_STRING = 3
3303
+ SCE_ASN1_OID = 4
3304
+ SCE_ASN1_SCALAR = 5
3305
+ SCE_ASN1_KEYWORD = 6
3306
+ SCE_ASN1_ATTRIBUTE = 7
3307
+ SCE_ASN1_DESCRIPTOR = 8
3308
+ SCE_ASN1_TYPE = 9
3309
+ SCE_ASN1_OPERATOR = 10
3310
+ # Lexical states for SCLEX_VHDL
3311
+ SCE_VHDL_DEFAULT = 0
3312
+ SCE_VHDL_COMMENT = 1
3313
+ SCE_VHDL_COMMENTLINEBANG = 2
3314
+ SCE_VHDL_NUMBER = 3
3315
+ SCE_VHDL_STRING = 4
3316
+ SCE_VHDL_OPERATOR = 5
3317
+ SCE_VHDL_IDENTIFIER = 6
3318
+ SCE_VHDL_STRINGEOL = 7
3319
+ SCE_VHDL_KEYWORD = 8
3320
+ SCE_VHDL_STDOPERATOR = 9
3321
+ SCE_VHDL_ATTRIBUTE = 10
3322
+ SCE_VHDL_STDFUNCTION = 11
3323
+ SCE_VHDL_STDPACKAGE = 12
3324
+ SCE_VHDL_STDTYPE = 13
3325
+ SCE_VHDL_USERWORD = 14
3326
+ # Lexical states for SCLEX_CAML
3327
+ SCE_CAML_DEFAULT = 0
3328
+ SCE_CAML_IDENTIFIER = 1
3329
+ SCE_CAML_TAGNAME = 2
3330
+ SCE_CAML_KEYWORD = 3
3331
+ SCE_CAML_KEYWORD2 = 4
3332
+ SCE_CAML_LINENUM = 5
3333
+ SCE_CAML_OPERATOR = 6
3334
+ SCE_CAML_NUMBER = 7
3335
+ SCE_CAML_CHAR = 8
3336
+ SCE_CAML_STRING = 9
3337
+ SCE_CAML_COMMENT = 10
3338
+ SCE_CAML_COMMENT1 = 11
3339
+ SCE_CAML_COMMENT2 = 12
3340
+ SCE_CAML_COMMENT3 = 13
3341
+ # Lexical states for SCLEX_HASKELL
3342
+ SCE_HA_DEFAULT = 0
3343
+ SCE_HA_IDENTIFIER = 1
3344
+ SCE_HA_KEYWORD = 2
3345
+ SCE_HA_NUMBER = 3
3346
+ SCE_HA_STRING = 4
3347
+ SCE_HA_CHARACTER = 5
3348
+ SCE_HA_CLASS = 6
3349
+ SCE_HA_MODULE = 7
3350
+ SCE_HA_CAPITAL = 8
3351
+ SCE_HA_DATA = 9
3352
+ SCE_HA_IMPORT = 10
3353
+ SCE_HA_OPERATOR = 11
3354
+ SCE_HA_INSTANCE = 12
3355
+ SCE_HA_COMMENTLINE = 13
3356
+ SCE_HA_COMMENTBLOCK = 14
3357
+ SCE_HA_COMMENTBLOCK2 = 15
3358
+ SCE_HA_COMMENTBLOCK3 = 16
2591
3359
 
2592
3360
  # Events
2593
3361
 
@@ -2610,6 +3378,10 @@ module Fox
2610
3378
  SCN_DWELLSTART = 2016
2611
3379
  SCN_DWELLEND = 2017
2612
3380
  SCN_ZOOM = 2018
3381
+ SCN_HOTSPOTCLICK = 2019
3382
+ SCN_HOTSPOTDOUBLECLICK = 2020
3383
+ SCN_CALLTIPCLICK = 2021
3384
+ SCN_AUTOCSELECTION = 2022
2613
3385
 
2614
3386
  # Deprecated
2615
3387
 
@@ -2625,5 +3397,8 @@ module Fox
2625
3397
  SCN_CHECKBRACE = 2007
2626
3398
  SCN_POSCHANGED = 2012
2627
3399
 
3400
+ # SCLEX_HTML should be used in preference to these.
3401
+ SCLEX_ASP = 29
3402
+ SCLEX_PHP = 30
2628
3403
  end
2629
3404
  end