/scintillua/scintillua.patch

https://github.com/mkottman/scite · Patch · 10283 lines · 10141 code · 142 blank · 0 comment · 0 complexity · 2cfb733607cf750cf9e27eeb36f1ad8b MD5 · raw file

  1. --- scite-latest/scintilla/gtk/deps.mak 2010-01-20 17:48:36.000000000 -0500
  2. +++ scintillua/scintilla/gtk/deps.mak 2010-02-01 16:09:37.000000000 -0500
  3. @@ -58,240 +58,11 @@
  4. LexAbaqus.o: ../src/LexAbaqus.cxx ../include/Platform.h \
  5. ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  6. ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  7. -LexAda.o: ../src/LexAda.cxx ../include/Platform.h ../include/Accessor.h \
  8. +# modified by Mitchell
  9. +LexLPeg.o: ../src/LexLPeg.cxx ../include/Platform.h ../include/Accessor.h \
  10. ../src/StyleContext.h ../include/PropSet.h ../include/KeyWords.h \
  11. ../include/SciLexer.h
  12. -LexAPDL.o: ../src/LexAPDL.cxx ../include/Platform.h ../include/PropSet.h \
  13. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  14. - ../include/Scintilla.h ../include/SciLexer.h
  15. -LexAsm.o: ../src/LexAsm.cxx ../include/Platform.h ../include/PropSet.h \
  16. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  17. - ../include/Scintilla.h ../include/SciLexer.h
  18. -LexAsn1.o: ../src/LexAsn1.cxx ../include/Platform.h ../include/PropSet.h \
  19. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  20. - ../include/Scintilla.h ../include/SciLexer.h
  21. -LexASY.o: ../src/LexASY.cxx ../include/Platform.h ../include/PropSet.h \
  22. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  23. - ../include/Scintilla.h ../include/SciLexer.h ../src/CharacterSet.h
  24. -LexAU3.o: ../src/LexAU3.cxx ../include/Platform.h ../include/PropSet.h \
  25. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  26. - ../include/Scintilla.h ../include/SciLexer.h
  27. -LexAVE.o: ../src/LexAVE.cxx ../include/Platform.h ../include/PropSet.h \
  28. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  29. - ../include/Scintilla.h ../include/SciLexer.h
  30. -LexBaan.o: ../src/LexBaan.cxx ../include/Platform.h ../include/PropSet.h \
  31. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  32. - ../include/Scintilla.h ../include/SciLexer.h
  33. -LexBash.o: ../src/LexBash.cxx ../include/Platform.h ../include/PropSet.h \
  34. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  35. - ../include/Scintilla.h ../include/SciLexer.h ../src/CharacterSet.h
  36. -LexBasic.o: ../src/LexBasic.cxx ../include/Platform.h \
  37. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  38. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  39. -LexBullant.o: ../src/LexBullant.cxx ../include/Platform.h \
  40. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  41. - ../include/Scintilla.h ../include/SciLexer.h
  42. -LexCaml.o: ../src/LexCaml.cxx ../include/Platform.h ../include/PropSet.h \
  43. - ../src/PropSetSimple.h ../include/Accessor.h ../src/StyleContext.h \
  44. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  45. -LexCLW.o: ../src/LexCLW.cxx ../include/Platform.h ../include/PropSet.h \
  46. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  47. - ../include/Scintilla.h ../include/SciLexer.h
  48. -LexCmake.o: ../src/LexCmake.cxx ../include/Platform.h \
  49. - ../src/CharClassify.h ../include/PropSet.h ../include/Accessor.h \
  50. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  51. -LexCOBOL.o: ../src/LexCOBOL.cxx ../include/Platform.h \
  52. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  53. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h
  54. -LexConf.o: ../src/LexConf.cxx ../include/Platform.h ../include/PropSet.h \
  55. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  56. - ../include/SciLexer.h
  57. -LexCPP.o: ../src/LexCPP.cxx ../include/Platform.h ../include/PropSet.h \
  58. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  59. - ../include/Scintilla.h ../include/SciLexer.h ../src/CharacterSet.h
  60. -LexCrontab.o: ../src/LexCrontab.cxx ../include/Platform.h \
  61. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  62. - ../include/Scintilla.h ../include/SciLexer.h
  63. -LexCsound.o: ../src/LexCsound.cxx ../include/Platform.h \
  64. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  65. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  66. -LexCSS.o: ../src/LexCSS.cxx ../include/Platform.h ../include/PropSet.h \
  67. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  68. - ../include/Scintilla.h ../include/SciLexer.h
  69. -LexD.o: ../src/LexD.cxx ../include/Platform.h ../include/PropSet.h \
  70. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  71. - ../include/Scintilla.h ../include/SciLexer.h
  72. -LexEiffel.o: ../src/LexEiffel.cxx ../include/Platform.h \
  73. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  74. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  75. -LexErlang.o: ../src/LexErlang.cxx ../include/Platform.h \
  76. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  77. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  78. -LexEScript.o: ../src/LexEScript.cxx ../include/Platform.h \
  79. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  80. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  81. -LexFlagship.o: ../src/LexFlagship.cxx ../include/Platform.h \
  82. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  83. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  84. -LexForth.o: ../src/LexForth.cxx ../include/Platform.h \
  85. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  86. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  87. -LexFortran.o: ../src/LexFortran.cxx ../include/Platform.h \
  88. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  89. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  90. -LexGAP.o: ../src/LexGAP.cxx ../include/Platform.h ../include/PropSet.h \
  91. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  92. - ../include/Scintilla.h ../include/SciLexer.h
  93. -LexGui4Cli.o: ../src/LexGui4Cli.cxx ../include/Platform.h \
  94. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  95. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  96. -LexHaskell.o: ../src/LexHaskell.cxx ../include/Platform.h \
  97. - ../include/PropSet.h ../src/PropSetSimple.h ../include/Accessor.h \
  98. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  99. - ../include/SciLexer.h
  100. -LexHTML.o: ../src/LexHTML.cxx ../include/Platform.h ../include/PropSet.h \
  101. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  102. - ../include/Scintilla.h ../include/SciLexer.h ../src/CharacterSet.h
  103. -LexInno.o: ../src/LexInno.cxx ../include/Platform.h ../src/CharClassify.h \
  104. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  105. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  106. -LexKix.o: ../src/LexKix.cxx ../include/Platform.h ../include/PropSet.h \
  107. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  108. - ../include/Scintilla.h ../include/SciLexer.h
  109. -LexLisp.o: ../src/LexLisp.cxx ../include/Platform.h ../include/PropSet.h \
  110. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  111. - ../include/SciLexer.h ../src/StyleContext.h
  112. -LexLout.o: ../src/LexLout.cxx ../include/Platform.h ../include/PropSet.h \
  113. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  114. - ../include/Scintilla.h ../include/SciLexer.h
  115. -LexLua.o: ../src/LexLua.cxx ../include/Platform.h ../include/PropSet.h \
  116. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  117. - ../include/Scintilla.h ../include/SciLexer.h ../src/CharacterSet.h
  118. -LexMagik.o: ../src/LexMagik.cxx ../include/Platform.h \
  119. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  120. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  121. -LexMarkdown.o: ../src/LexMarkdown.cxx ../include/Platform.h \
  122. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  123. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  124. -LexMatlab.o: ../src/LexMatlab.cxx ../include/Platform.h \
  125. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  126. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  127. -LexMetapost.o: ../src/LexMetapost.cxx ../include/Platform.h \
  128. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  129. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h
  130. -LexMMIXAL.o: ../src/LexMMIXAL.cxx ../include/Platform.h \
  131. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  132. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  133. -LexMPT.o: ../src/LexMPT.cxx ../include/Platform.h ../include/PropSet.h \
  134. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  135. - ../include/SciLexer.h
  136. -LexMSSQL.o: ../src/LexMSSQL.cxx ../include/Platform.h \
  137. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  138. - ../include/Scintilla.h ../include/SciLexer.h
  139. -LexMySQL.o: ../src/LexMySQL.cxx ../include/Platform.h \
  140. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  141. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  142. -LexNimrod.o: ../src/LexNimrod.cxx ../include/Platform.h \
  143. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  144. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  145. -LexNsis.o: ../src/LexNsis.cxx ../include/Platform.h ../src/CharClassify.h \
  146. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  147. - ../include/Scintilla.h ../include/SciLexer.h
  148. -LexOpal.o: ../src/LexOpal.cxx ../include/Platform.h ../include/PropSet.h \
  149. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  150. - ../include/SciLexer.h ../src/StyleContext.h
  151. -LexOthers.o: ../src/LexOthers.cxx ../include/Platform.h \
  152. - ../src/CharClassify.h ../include/PropSet.h ../include/Accessor.h \
  153. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  154. -LexPascal.o: ../src/LexPascal.cxx ../include/Platform.h \
  155. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  156. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h \
  157. - ../src/CharacterSet.h
  158. -LexPB.o: ../src/LexPB.cxx ../include/Platform.h ../include/PropSet.h \
  159. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  160. - ../include/Scintilla.h ../include/SciLexer.h
  161. -LexPerl.o: ../src/LexPerl.cxx ../include/Platform.h ../include/PropSet.h \
  162. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  163. - ../include/Scintilla.h ../include/SciLexer.h ../src/CharacterSet.h
  164. -LexPLM.o: ../src/LexPLM.cxx ../include/Platform.h ../include/PropSet.h \
  165. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  166. - ../include/SciLexer.h ../src/StyleContext.h
  167. -LexPOV.o: ../src/LexPOV.cxx ../include/Platform.h ../include/PropSet.h \
  168. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  169. - ../include/Scintilla.h ../include/SciLexer.h
  170. -LexPowerPro.o: ../src/LexPowerPro.cxx ../include/Platform.h \
  171. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  172. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h \
  173. - ../src/CharacterSet.h
  174. -LexPowerShell.o: ../src/LexPowerShell.cxx ../include/Platform.h \
  175. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  176. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  177. -LexProgress.o: ../src/LexProgress.cxx ../include/Platform.h \
  178. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  179. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  180. -LexPS.o: ../src/LexPS.cxx ../include/Platform.h ../include/PropSet.h \
  181. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  182. - ../include/Scintilla.h ../include/SciLexer.h
  183. -LexPython.o: ../src/LexPython.cxx ../include/Platform.h \
  184. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  185. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  186. -LexR.o: ../src/LexR.cxx ../include/Platform.h ../include/PropSet.h \
  187. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  188. - ../include/Scintilla.h ../include/SciLexer.h
  189. -LexRebol.o: ../src/LexRebol.cxx ../include/Platform.h \
  190. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  191. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h
  192. -LexRuby.o: ../src/LexRuby.cxx ../include/Platform.h ../include/PropSet.h \
  193. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  194. - ../include/SciLexer.h
  195. -LexScriptol.o: ../src/LexScriptol.cxx ../include/Platform.h \
  196. - ../include/PropSet.h ../include/Accessor.h ../include/KeyWords.h \
  197. - ../include/Scintilla.h ../include/SciLexer.h
  198. -LexSmalltalk.o: ../src/LexSmalltalk.cxx ../include/Platform.h \
  199. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  200. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  201. -LexSML.o: ../src/LexSML.cxx ../include/Platform.h ../include/PropSet.h \
  202. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  203. - ../include/Scintilla.h ../include/SciLexer.h
  204. -LexSorcus.o: ../src/LexSorcus.cxx ../include/Platform.h \
  205. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  206. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  207. -LexSpecman.o: ../src/LexSpecman.cxx ../include/Platform.h \
  208. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  209. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  210. -LexSpice.o: ../src/LexSpice.cxx ../include/Platform.h \
  211. - ../include/Accessor.h ../src/StyleContext.h ../include/PropSet.h \
  212. - ../include/KeyWords.h ../include/SciLexer.h
  213. -LexSQL.o: ../src/LexSQL.cxx ../include/Platform.h ../include/PropSet.h \
  214. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  215. - ../include/Scintilla.h ../include/SciLexer.h
  216. -LexTACL.o: ../src/LexTACL.cxx ../include/Platform.h ../include/PropSet.h \
  217. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  218. - ../include/SciLexer.h ../src/StyleContext.h
  219. -LexTADS3.o: ../src/LexTADS3.cxx ../include/Platform.h \
  220. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  221. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  222. -LexTAL.o: ../src/LexTAL.cxx ../include/Platform.h ../include/PropSet.h \
  223. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  224. - ../include/SciLexer.h ../src/StyleContext.h
  225. -LexTCL.o: ../src/LexTCL.cxx ../include/Platform.h ../include/PropSet.h \
  226. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  227. - ../include/Scintilla.h ../include/SciLexer.h
  228. -LexTeX.o: ../src/LexTeX.cxx ../include/Platform.h ../include/PropSet.h \
  229. - ../include/Accessor.h ../include/KeyWords.h ../include/Scintilla.h \
  230. - ../include/SciLexer.h ../src/StyleContext.h
  231. -LexVB.o: ../src/LexVB.cxx ../include/Platform.h ../include/PropSet.h \
  232. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  233. - ../include/Scintilla.h ../include/SciLexer.h
  234. -LexVerilog.o: ../src/LexVerilog.cxx ../include/Platform.h \
  235. - ../include/PropSet.h ../include/Accessor.h ../src/StyleContext.h \
  236. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  237. -LexVHDL.o: ../src/LexVHDL.cxx ../include/Platform.h ../include/PropSet.h \
  238. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  239. - ../include/Scintilla.h ../include/SciLexer.h
  240. -LexYAML.o: ../src/LexYAML.cxx ../include/Platform.h ../include/PropSet.h \
  241. - ../include/Accessor.h ../src/StyleContext.h ../include/KeyWords.h \
  242. - ../include/Scintilla.h ../include/SciLexer.h
  243. +# end modified by Mitchell
  244. LineMarker.o: ../src/LineMarker.cxx ../include/Platform.h \
  245. ../include/Scintilla.h ../src/XPM.h ../src/LineMarker.h
  246. PerLine.o: ../src/PerLine.cxx ../include/Platform.h \
  247. --- scite-latest/scintilla/gtk/makefile 2009-08-26 21:20:35.000000000 -0400
  248. +++ scintillua/scintilla/gtk/makefile 2010-02-01 16:09:37.000000000 -0500
  249. @@ -22,7 +22,7 @@
  250. vpath %.h ../src ../include
  251. vpath %.cxx ../src
  252. -INCLUDEDIRS=-I ../include -I ../src
  253. +INCLUDEDIRS=-I ../include -I ../src -I ../../scite/lua/include # modified by mitchell
  254. CXXBASEFLAGS=-Wall -Wno-missing-braces -Wno-char-subscripts -pedantic -Os -DGTK -DSCI_LEXER $(INCLUDEDIRS)
  255. ifdef NOTHREADS
  256. @@ -60,22 +60,13 @@
  257. .c.o:
  258. $(CCOMP) $(CONFIGFLAGS) $(CXXFLAGS) -w -c $<
  259. +# modified by Mitchell
  260. #++Autogenerated -- run src/LexGen.py to regenerate
  261. #**LEXOBJS=\\\n\(\*.o \)
  262. LEXOBJS=\
  263. -LexAbaqus.o LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexASY.o LexAU3.o LexAVE.o \
  264. -LexBaan.o LexBash.o LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o \
  265. -LexCOBOL.o LexConf.o LexCPP.o LexCrontab.o LexCsound.o LexCSS.o LexD.o \
  266. -LexEiffel.o LexErlang.o LexEScript.o LexFlagship.o LexForth.o LexFortran.o \
  267. -LexGAP.o LexGui4Cli.o LexHaskell.o LexHTML.o LexInno.o LexKix.o LexLisp.o \
  268. -LexLout.o LexLua.o LexMagik.o LexMarkdown.o LexMatlab.o LexMetapost.o \
  269. -LexMMIXAL.o LexMPT.o LexMSSQL.o LexMySQL.o LexNimrod.o LexNsis.o LexOpal.o \
  270. -LexOthers.o LexPascal.o LexPB.o LexPerl.o LexPLM.o LexPOV.o LexPowerPro.o \
  271. -LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o LexRebol.o LexRuby.o \
  272. -LexScriptol.o LexSmalltalk.o LexSML.o LexSorcus.o LexSpecman.o LexSpice.o \
  273. -LexSQL.o LexTACL.o LexTADS3.o LexTAL.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o \
  274. -LexVHDL.o LexYAML.o
  275. +LexLPeg.o
  276. #--Autogenerated -- end of automatically generated section
  277. +# end modified by Mitchell
  278. all: $(COMPLIB)
  279. --- scite-latest/scintilla/gtk/scintilla.mak 2009-08-26 21:20:35.000000000 -0400
  280. +++ scintillua/scintilla/gtk/scintilla.mak 2010-02-01 16:09:37.000000000 -0500
  281. @@ -61,7 +61,7 @@
  282. $(GTK_TOP)/glib/glib-1.3.lib
  283. !ENDIF
  284. -INCLUDEDIRS=-I ../include -I ../src $(GTK_INCLUDES)
  285. +INCLUDEDIRS=-I ../include -I ../src $(GTK_INCLUDES) -I ../../scite/lua/include # modified by Mitchell
  286. CXXFLAGS=/TP /W4 -EHsc -DGTK -D_CRT_SECURE_NO_DEPRECATE=1
  287. CFLAGS=/W4 -DGTK
  288. # For something scary:/Wp64
  289. @@ -141,89 +141,14 @@
  290. $(DIR_O)\ViewStyle.obj \
  291. $(DIR_O)\XPM.obj
  292. +# modified by Mitchell
  293. #++Autogenerated -- run src/LexGen.py to regenerate
  294. #**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
  295. LEXOBJS=\
  296. - $(DIR_O)\LexAbaqus.obj \
  297. - $(DIR_O)\LexAda.obj \
  298. - $(DIR_O)\LexAPDL.obj \
  299. - $(DIR_O)\LexAsm.obj \
  300. - $(DIR_O)\LexAsn1.obj \
  301. - $(DIR_O)\LexASY.obj \
  302. - $(DIR_O)\LexAU3.obj \
  303. - $(DIR_O)\LexAVE.obj \
  304. - $(DIR_O)\LexBaan.obj \
  305. - $(DIR_O)\LexBash.obj \
  306. - $(DIR_O)\LexBasic.obj \
  307. - $(DIR_O)\LexBullant.obj \
  308. - $(DIR_O)\LexCaml.obj \
  309. - $(DIR_O)\LexCLW.obj \
  310. - $(DIR_O)\LexCmake.obj \
  311. - $(DIR_O)\LexCOBOL.obj \
  312. - $(DIR_O)\LexConf.obj \
  313. - $(DIR_O)\LexCPP.obj \
  314. - $(DIR_O)\LexCrontab.obj \
  315. - $(DIR_O)\LexCsound.obj \
  316. - $(DIR_O)\LexCSS.obj \
  317. - $(DIR_O)\LexD.obj \
  318. - $(DIR_O)\LexEiffel.obj \
  319. - $(DIR_O)\LexErlang.obj \
  320. - $(DIR_O)\LexEScript.obj \
  321. - $(DIR_O)\LexFlagship.obj \
  322. - $(DIR_O)\LexForth.obj \
  323. - $(DIR_O)\LexFortran.obj \
  324. - $(DIR_O)\LexGAP.obj \
  325. - $(DIR_O)\LexGui4Cli.obj \
  326. - $(DIR_O)\LexHaskell.obj \
  327. - $(DIR_O)\LexHTML.obj \
  328. - $(DIR_O)\LexInno.obj \
  329. - $(DIR_O)\LexKix.obj \
  330. - $(DIR_O)\LexLisp.obj \
  331. - $(DIR_O)\LexLout.obj \
  332. - $(DIR_O)\LexLua.obj \
  333. - $(DIR_O)\LexMagik.obj \
  334. - $(DIR_O)\LexMarkdown.obj \
  335. - $(DIR_O)\LexMatlab.obj \
  336. - $(DIR_O)\LexMetapost.obj \
  337. - $(DIR_O)\LexMMIXAL.obj \
  338. - $(DIR_O)\LexMPT.obj \
  339. - $(DIR_O)\LexMSSQL.obj \
  340. - $(DIR_O)\LexMySQL.obj \
  341. - $(DIR_O)\LexNimrod.obj \
  342. - $(DIR_O)\LexNsis.obj \
  343. - $(DIR_O)\LexOpal.obj \
  344. - $(DIR_O)\LexOthers.obj \
  345. - $(DIR_O)\LexPascal.obj \
  346. - $(DIR_O)\LexPB.obj \
  347. - $(DIR_O)\LexPerl.obj \
  348. - $(DIR_O)\LexPLM.obj \
  349. - $(DIR_O)\LexPOV.obj \
  350. - $(DIR_O)\LexPowerPro.obj \
  351. - $(DIR_O)\LexPowerShell.obj \
  352. - $(DIR_O)\LexProgress.obj \
  353. - $(DIR_O)\LexPS.obj \
  354. - $(DIR_O)\LexPython.obj \
  355. - $(DIR_O)\LexR.obj \
  356. - $(DIR_O)\LexRebol.obj \
  357. - $(DIR_O)\LexRuby.obj \
  358. - $(DIR_O)\LexScriptol.obj \
  359. - $(DIR_O)\LexSmalltalk.obj \
  360. - $(DIR_O)\LexSML.obj \
  361. - $(DIR_O)\LexSorcus.obj \
  362. - $(DIR_O)\LexSpecman.obj \
  363. - $(DIR_O)\LexSpice.obj \
  364. - $(DIR_O)\LexSQL.obj \
  365. - $(DIR_O)\LexTACL.obj \
  366. - $(DIR_O)\LexTADS3.obj \
  367. - $(DIR_O)\LexTAL.obj \
  368. - $(DIR_O)\LexTCL.obj \
  369. - $(DIR_O)\LexTeX.obj \
  370. - $(DIR_O)\LexVB.obj \
  371. - $(DIR_O)\LexVerilog.obj \
  372. - $(DIR_O)\LexVHDL.obj \
  373. - $(DIR_O)\LexYAML.obj \
  374. + $(DIR_O)\LexLPeg.obj
  375. #--Autogenerated -- end of automatically generated section
  376. +# end modified by Mitchell
  377. LOBJS=\
  378. $(DIR_O)\AutoComplete.obj \
  379. @@ -365,161 +290,7 @@
  380. #++Autogenerated -- run src/LexGen.py to regenerate
  381. #**\n\($(DIR_O)\\\*.obj: ..\\src\\\*.cxx $(LEX_HEADERS)\n\n\)
  382. -$(DIR_O)\LexAbaqus.obj: ..\src\LexAbaqus.cxx $(LEX_HEADERS)
  383. -
  384. -$(DIR_O)\LexAda.obj: ..\src\LexAda.cxx $(LEX_HEADERS)
  385. -
  386. -$(DIR_O)\LexAPDL.obj: ..\src\LexAPDL.cxx $(LEX_HEADERS)
  387. -
  388. -$(DIR_O)\LexAsm.obj: ..\src\LexAsm.cxx $(LEX_HEADERS)
  389. -
  390. -$(DIR_O)\LexAsn1.obj: ..\src\LexAsn1.cxx $(LEX_HEADERS)
  391. -
  392. -$(DIR_O)\LexASY.obj: ..\src\LexASY.cxx $(LEX_HEADERS)
  393. -
  394. -$(DIR_O)\LexAU3.obj: ..\src\LexAU3.cxx $(LEX_HEADERS)
  395. -
  396. -$(DIR_O)\LexAVE.obj: ..\src\LexAVE.cxx $(LEX_HEADERS)
  397. -
  398. -$(DIR_O)\LexBaan.obj: ..\src\LexBaan.cxx $(LEX_HEADERS)
  399. -
  400. -$(DIR_O)\LexBash.obj: ..\src\LexBash.cxx $(LEX_HEADERS)
  401. -
  402. -$(DIR_O)\LexBasic.obj: ..\src\LexBasic.cxx $(LEX_HEADERS)
  403. -
  404. -$(DIR_O)\LexBullant.obj: ..\src\LexBullant.cxx $(LEX_HEADERS)
  405. -
  406. -$(DIR_O)\LexCaml.obj: ..\src\LexCaml.cxx $(LEX_HEADERS)
  407. -
  408. -$(DIR_O)\LexCLW.obj: ..\src\LexCLW.cxx $(LEX_HEADERS)
  409. -
  410. -$(DIR_O)\LexCmake.obj: ..\src\LexCmake.cxx $(LEX_HEADERS)
  411. -
  412. -$(DIR_O)\LexCOBOL.obj: ..\src\LexCOBOL.cxx $(LEX_HEADERS)
  413. -
  414. -$(DIR_O)\LexConf.obj: ..\src\LexConf.cxx $(LEX_HEADERS)
  415. -
  416. -$(DIR_O)\LexCPP.obj: ..\src\LexCPP.cxx $(LEX_HEADERS)
  417. -
  418. -$(DIR_O)\LexCrontab.obj: ..\src\LexCrontab.cxx $(LEX_HEADERS)
  419. -
  420. -$(DIR_O)\LexCsound.obj: ..\src\LexCsound.cxx $(LEX_HEADERS)
  421. -
  422. -$(DIR_O)\LexCSS.obj: ..\src\LexCSS.cxx $(LEX_HEADERS)
  423. -
  424. -$(DIR_O)\LexD.obj: ..\src\LexD.cxx $(LEX_HEADERS)
  425. -
  426. -$(DIR_O)\LexEiffel.obj: ..\src\LexEiffel.cxx $(LEX_HEADERS)
  427. -
  428. -$(DIR_O)\LexErlang.obj: ..\src\LexErlang.cxx $(LEX_HEADERS)
  429. -
  430. -$(DIR_O)\LexEScript.obj: ..\src\LexEScript.cxx $(LEX_HEADERS)
  431. -
  432. -$(DIR_O)\LexFlagship.obj: ..\src\LexFlagship.cxx $(LEX_HEADERS)
  433. -
  434. -$(DIR_O)\LexForth.obj: ..\src\LexForth.cxx $(LEX_HEADERS)
  435. -
  436. -$(DIR_O)\LexFortran.obj: ..\src\LexFortran.cxx $(LEX_HEADERS)
  437. -
  438. -$(DIR_O)\LexGAP.obj: ..\src\LexGAP.cxx $(LEX_HEADERS)
  439. -
  440. -$(DIR_O)\LexGui4Cli.obj: ..\src\LexGui4Cli.cxx $(LEX_HEADERS)
  441. -
  442. -$(DIR_O)\LexHaskell.obj: ..\src\LexHaskell.cxx $(LEX_HEADERS)
  443. -
  444. -$(DIR_O)\LexHTML.obj: ..\src\LexHTML.cxx $(LEX_HEADERS)
  445. -
  446. -$(DIR_O)\LexInno.obj: ..\src\LexInno.cxx $(LEX_HEADERS)
  447. -
  448. -$(DIR_O)\LexKix.obj: ..\src\LexKix.cxx $(LEX_HEADERS)
  449. -
  450. -$(DIR_O)\LexLisp.obj: ..\src\LexLisp.cxx $(LEX_HEADERS)
  451. -
  452. -$(DIR_O)\LexLout.obj: ..\src\LexLout.cxx $(LEX_HEADERS)
  453. -
  454. -$(DIR_O)\LexLua.obj: ..\src\LexLua.cxx $(LEX_HEADERS)
  455. -
  456. -$(DIR_O)\LexMagik.obj: ..\src\LexMagik.cxx $(LEX_HEADERS)
  457. -
  458. -$(DIR_O)\LexMarkdown.obj: ..\src\LexMarkdown.cxx $(LEX_HEADERS)
  459. -
  460. -$(DIR_O)\LexMatlab.obj: ..\src\LexMatlab.cxx $(LEX_HEADERS)
  461. -
  462. -$(DIR_O)\LexMetapost.obj: ..\src\LexMetapost.cxx $(LEX_HEADERS)
  463. -
  464. -$(DIR_O)\LexMMIXAL.obj: ..\src\LexMMIXAL.cxx $(LEX_HEADERS)
  465. -
  466. -$(DIR_O)\LexMPT.obj: ..\src\LexMPT.cxx $(LEX_HEADERS)
  467. -
  468. -$(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS)
  469. -
  470. -$(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS)
  471. -
  472. -$(DIR_O)\LexNimrod.obj: ..\src\LexNimrod.cxx $(LEX_HEADERS)
  473. -
  474. -$(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS)
  475. -
  476. -$(DIR_O)\LexOpal.obj: ..\src\LexOpal.cxx $(LEX_HEADERS)
  477. -
  478. -$(DIR_O)\LexOthers.obj: ..\src\LexOthers.cxx $(LEX_HEADERS)
  479. -
  480. -$(DIR_O)\LexPascal.obj: ..\src\LexPascal.cxx $(LEX_HEADERS)
  481. -
  482. -$(DIR_O)\LexPB.obj: ..\src\LexPB.cxx $(LEX_HEADERS)
  483. -
  484. -$(DIR_O)\LexPerl.obj: ..\src\LexPerl.cxx $(LEX_HEADERS)
  485. -
  486. -$(DIR_O)\LexPLM.obj: ..\src\LexPLM.cxx $(LEX_HEADERS)
  487. -
  488. -$(DIR_O)\LexPOV.obj: ..\src\LexPOV.cxx $(LEX_HEADERS)
  489. -
  490. -$(DIR_O)\LexPowerPro.obj: ..\src\LexPowerPro.cxx $(LEX_HEADERS)
  491. -
  492. -$(DIR_O)\LexPowerShell.obj: ..\src\LexPowerShell.cxx $(LEX_HEADERS)
  493. -
  494. -$(DIR_O)\LexProgress.obj: ..\src\LexProgress.cxx $(LEX_HEADERS)
  495. -
  496. -$(DIR_O)\LexPS.obj: ..\src\LexPS.cxx $(LEX_HEADERS)
  497. -
  498. -$(DIR_O)\LexPython.obj: ..\src\LexPython.cxx $(LEX_HEADERS)
  499. -
  500. -$(DIR_O)\LexR.obj: ..\src\LexR.cxx $(LEX_HEADERS)
  501. -
  502. -$(DIR_O)\LexRebol.obj: ..\src\LexRebol.cxx $(LEX_HEADERS)
  503. -
  504. -$(DIR_O)\LexRuby.obj: ..\src\LexRuby.cxx $(LEX_HEADERS)
  505. -
  506. -$(DIR_O)\LexScriptol.obj: ..\src\LexScriptol.cxx $(LEX_HEADERS)
  507. -
  508. -$(DIR_O)\LexSmalltalk.obj: ..\src\LexSmalltalk.cxx $(LEX_HEADERS)
  509. -
  510. -$(DIR_O)\LexSML.obj: ..\src\LexSML.cxx $(LEX_HEADERS)
  511. -
  512. -$(DIR_O)\LexSorcus.obj: ..\src\LexSorcus.cxx $(LEX_HEADERS)
  513. -
  514. -$(DIR_O)\LexSpecman.obj: ..\src\LexSpecman.cxx $(LEX_HEADERS)
  515. -
  516. -$(DIR_O)\LexSpice.obj: ..\src\LexSpice.cxx $(LEX_HEADERS)
  517. -
  518. -$(DIR_O)\LexSQL.obj: ..\src\LexSQL.cxx $(LEX_HEADERS)
  519. -
  520. -$(DIR_O)\LexTACL.obj: ..\src\LexTACL.cxx $(LEX_HEADERS)
  521. -
  522. -$(DIR_O)\LexTADS3.obj: ..\src\LexTADS3.cxx $(LEX_HEADERS)
  523. -
  524. -$(DIR_O)\LexTAL.obj: ..\src\LexTAL.cxx $(LEX_HEADERS)
  525. -
  526. -$(DIR_O)\LexTCL.obj: ..\src\LexTCL.cxx $(LEX_HEADERS)
  527. -
  528. -$(DIR_O)\LexTeX.obj: ..\src\LexTeX.cxx $(LEX_HEADERS)
  529. -
  530. -$(DIR_O)\LexVB.obj: ..\src\LexVB.cxx $(LEX_HEADERS)
  531. -
  532. -$(DIR_O)\LexVerilog.obj: ..\src\LexVerilog.cxx $(LEX_HEADERS)
  533. -
  534. -$(DIR_O)\LexVHDL.obj: ..\src\LexVHDL.cxx $(LEX_HEADERS)
  535. -
  536. -$(DIR_O)\LexYAML.obj: ..\src\LexYAML.cxx $(LEX_HEADERS)
  537. +$(DIR_O)\LexLPeg.obj: ..\src\LexLPeg.cxx $(LEX_HEADERS)
  538. #--Autogenerated -- end of automatically generated section
  539. --- scite-latest/scintilla/include/KeyWords.h 2009-07-21 05:05:43.000000000 -0400
  540. +++ scintillua/scintilla/include/KeyWords.h 2010-02-01 16:09:37.000000000 -0500
  541. @@ -5,6 +5,14 @@
  542. // Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
  543. // The License.txt file describes the conditions under which this software may be distributed.
  544. +// added by Mitchell
  545. +extern "C" {
  546. +#include <lua.h>
  547. +#include <lualib.h>
  548. +#include <lauxlib.h>
  549. +}
  550. +// end added by Mitchell
  551. +
  552. #ifdef SCI_NAMESPACE
  553. namespace Scintilla {
  554. #endif
  555. @@ -33,7 +41,9 @@
  556. };
  557. typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyle,
  558. + lua_State *L, // added by Mitchell
  559. WordList *keywordlists[], Accessor &styler);
  560. +typedef bool (*InitFunction)(lua_State *L, const char *languageName, Accessor &styler); // added by Mitchell
  561. /**
  562. * A LexerModule is responsible for lexing and folding a particular language.
  563. @@ -44,6 +54,7 @@
  564. protected:
  565. const LexerModule *next;
  566. int language;
  567. + InitFunction fnInit; // added by Mitchell
  568. LexerFunction fnLexer;
  569. LexerFunction fnFolder;
  570. const char * const * wordListDescriptions;
  571. @@ -54,9 +65,10 @@
  572. public:
  573. const char *languageName;
  574. - LexerModule(int language_,
  575. - LexerFunction fnLexer_,
  576. - const char *languageName_=0,
  577. + LexerModule(int language_,
  578. + InitFunction fnInit_, // added by Mitchell
  579. + LexerFunction fnLexer_,
  580. + const char *languageName_=0,
  581. LexerFunction fnFolder_=0,
  582. const char * const wordListDescriptions_[] = NULL,
  583. int styleBits_=5);
  584. @@ -70,9 +82,12 @@
  585. int GetStyleBitsNeeded() const;
  586. + virtual bool Init(lua_State *L, const char *languageName, Accessor &styler) const; // added by Mitchell
  587. virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle,
  588. + lua_State *L, // added by Mitchell
  589. WordList *keywordlists[], Accessor &styler) const;
  590. virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle,
  591. + lua_State *L, // added by Mitchell
  592. WordList *keywordlists[], Accessor &styler) const;
  593. static const LexerModule *Find(int language);
  594. static const LexerModule *Find(const char *languageName);
  595. --- scite-latest/scintilla/include/SciLexer.h 2009-08-26 21:20:38.000000000 -0400
  596. +++ scintillua/scintilla/include/SciLexer.h 2010-02-01 16:09:37.000000000 -0500
  597. @@ -13,1359 +13,13 @@
  598. /* SciLexer features - not in standard Scintilla */
  599. +// modified by Mitchell
  600. /* ++Autogenerated -- start of section automatically generated from Scintilla.iface */
  601. #define SCLEX_CONTAINER 0
  602. #define SCLEX_NULL 1
  603. -#define SCLEX_PYTHON 2
  604. -#define SCLEX_CPP 3
  605. -#define SCLEX_HTML 4
  606. -#define SCLEX_XML 5
  607. -#define SCLEX_PERL 6
  608. -#define SCLEX_SQL 7
  609. -#define SCLEX_VB 8
  610. -#define SCLEX_PROPERTIES 9
  611. -#define SCLEX_ERRORLIST 10
  612. -#define SCLEX_MAKEFILE 11
  613. -#define SCLEX_BATCH 12
  614. -#define SCLEX_XCODE 13
  615. -#define SCLEX_LATEX 14
  616. -#define SCLEX_LUA 15
  617. -#define SCLEX_DIFF 16
  618. -#define SCLEX_CONF 17
  619. -#define SCLEX_PASCAL 18
  620. -#define SCLEX_AVE 19
  621. -#define SCLEX_ADA 20
  622. -#define SCLEX_LISP 21
  623. -#define SCLEX_RUBY 22
  624. -#define SCLEX_EIFFEL 23
  625. -#define SCLEX_EIFFELKW 24
  626. -#define SCLEX_TCL 25
  627. -#define SCLEX_NNCRONTAB 26
  628. -#define SCLEX_BULLANT 27
  629. -#define SCLEX_VBSCRIPT 28
  630. -#define SCLEX_BAAN 31
  631. -#define SCLEX_MATLAB 32
  632. -#define SCLEX_SCRIPTOL 33
  633. -#define SCLEX_ASM 34
  634. -#define SCLEX_CPPNOCASE 35
  635. -#define SCLEX_FORTRAN 36
  636. -#define SCLEX_F77 37
  637. -#define SCLEX_CSS 38
  638. -#define SCLEX_POV 39
  639. -#define SCLEX_LOUT 40
  640. -#define SCLEX_ESCRIPT 41
  641. -#define SCLEX_PS 42
  642. -#define SCLEX_NSIS 43
  643. -#define SCLEX_MMIXAL 44
  644. -#define SCLEX_CLW 45
  645. -#define SCLEX_CLWNOCASE 46
  646. -#define SCLEX_LOT 47
  647. -#define SCLEX_YAML 48
  648. -#define SCLEX_TEX 49
  649. -#define SCLEX_METAPOST 50
  650. -#define SCLEX_POWERBASIC 51
  651. -#define SCLEX_FORTH 52
  652. -#define SCLEX_ERLANG 53
  653. -#define SCLEX_OCTAVE 54
  654. -#define SCLEX_MSSQL 55
  655. -#define SCLEX_VERILOG 56
  656. -#define SCLEX_KIX 57
  657. -#define SCLEX_GUI4CLI 58
  658. -#define SCLEX_SPECMAN 59
  659. -#define SCLEX_AU3 60
  660. -#define SCLEX_APDL 61
  661. -#define SCLEX_BASH 62
  662. -#define SCLEX_ASN1 63
  663. -#define SCLEX_VHDL 64
  664. -#define SCLEX_CAML 65
  665. -#define SCLEX_BLITZBASIC 66
  666. -#define SCLEX_PUREBASIC 67
  667. -#define SCLEX_HASKELL 68
  668. -#define SCLEX_PHPSCRIPT 69
  669. -#define SCLEX_TADS3 70
  670. -#define SCLEX_REBOL 71
  671. -#define SCLEX_SMALLTALK 72
  672. -#define SCLEX_FLAGSHIP 73
  673. -#define SCLEX_CSOUND 74
  674. -#define SCLEX_FREEBASIC 75
  675. -#define SCLEX_INNOSETUP 76
  676. -#define SCLEX_OPAL 77
  677. -#define SCLEX_SPICE 78
  678. -#define SCLEX_D 79
  679. -#define SCLEX_CMAKE 80
  680. -#define SCLEX_GAP 81
  681. -#define SCLEX_PLM 82
  682. -#define SCLEX_PROGRESS 83
  683. -#define SCLEX_ABAQUS 84
  684. -#define SCLEX_ASYMPTOTE 85
  685. -#define SCLEX_R 86
  686. -#define SCLEX_MAGIK 87
  687. -#define SCLEX_POWERSHELL 88
  688. -#define SCLEX_MYSQL 89
  689. -#define SCLEX_PO 90
  690. -#define SCLEX_TAL 91
  691. -#define SCLEX_COBOL 92
  692. -#define SCLEX_TACL 93
  693. -#define SCLEX_SORCUS 94
  694. -#define SCLEX_POWERPRO 95
  695. -#define SCLEX_NIMROD 96
  696. -#define SCLEX_SML 97
  697. -#define SCLEX_MARKDOWN 98
  698. +#define SCLEX_LPEG 2
  699. #define SCLEX_AUTOMATIC 1000
  700. -#define SCE_P_DEFAULT 0
  701. -#define SCE_P_COMMENTLINE 1
  702. -#define SCE_P_NUMBER 2
  703. -#define SCE_P_STRING 3
  704. -#define SCE_P_CHARACTER 4
  705. -#define SCE_P_WORD 5
  706. -#define SCE_P_TRIPLE 6
  707. -#define SCE_P_TRIPLEDOUBLE 7
  708. -#define SCE_P_CLASSNAME 8
  709. -#define SCE_P_DEFNAME 9
  710. -#define SCE_P_OPERATOR 10
  711. -#define SCE_P_IDENTIFIER 11
  712. -#define SCE_P_COMMENTBLOCK 12
  713. -#define SCE_P_STRINGEOL 13
  714. -#define SCE_P_WORD2 14
  715. -#define SCE_P_DECORATOR 15
  716. -#define SCE_C_DEFAULT 0
  717. -#define SCE_C_COMMENT 1
  718. -#define SCE_C_COMMENTLINE 2
  719. -#define SCE_C_COMMENTDOC 3
  720. -#define SCE_C_NUMBER 4
  721. -#define SCE_C_WORD 5
  722. -#define SCE_C_STRING 6
  723. -#define SCE_C_CHARACTER 7
  724. -#define SCE_C_UUID 8
  725. -#define SCE_C_PREPROCESSOR 9
  726. -#define SCE_C_OPERATOR 10
  727. -#define SCE_C_IDENTIFIER 11
  728. -#define SCE_C_STRINGEOL 12
  729. -#define SCE_C_VERBATIM 13
  730. -#define SCE_C_REGEX 14
  731. -#define SCE_C_COMMENTLINEDOC 15
  732. -#define SCE_C_WORD2 16
  733. -#define SCE_C_COMMENTDOCKEYWORD 17
  734. -#define SCE_C_COMMENTDOCKEYWORDERROR 18
  735. -#define SCE_C_GLOBALCLASS 19
  736. -#define SCE_D_DEFAULT 0
  737. -#define SCE_D_COMMENT 1
  738. -#define SCE_D_COMMENTLINE 2
  739. -#define SCE_D_COMMENTDOC 3
  740. -#define SCE_D_COMMENTNESTED 4
  741. -#define SCE_D_NUMBER 5
  742. -#define SCE_D_WORD 6
  743. -#define SCE_D_WORD2 7
  744. -#define SCE_D_WORD3 8
  745. -#define SCE_D_TYPEDEF 9
  746. -#define SCE_D_STRING 10
  747. -#define SCE_D_STRINGEOL 11
  748. -#define SCE_D_CHARACTER 12
  749. -#define SCE_D_OPERATOR 13
  750. -#define SCE_D_IDENTIFIER 14
  751. -#define SCE_D_COMMENTLINEDOC 15
  752. -#define SCE_D_COMMENTDOCKEYWORD 16
  753. -#define SCE_D_COMMENTDOCKEYWORDERROR 17
  754. -#define SCE_D_STRINGB 18
  755. -#define SCE_D_STRINGR 19
  756. -#define SCE_D_WORD5 20
  757. -#define SCE_D_WORD6 21
  758. -#define SCE_D_WORD7 22
  759. -#define SCE_TCL_DEFAULT 0
  760. -#define SCE_TCL_COMMENT 1
  761. -#define SCE_TCL_COMMENTLINE 2
  762. -#define SCE_TCL_NUMBER 3
  763. -#define SCE_TCL_WORD_IN_QUOTE 4
  764. -#define SCE_TCL_IN_QUOTE 5
  765. -#define SCE_TCL_OPERATOR 6
  766. -#define SCE_TCL_IDENTIFIER 7
  767. -#define SCE_TCL_SUBSTITUTION 8
  768. -#define SCE_TCL_SUB_BRACE 9
  769. -#define SCE_TCL_MODIFIER 10
  770. -#define SCE_TCL_EXPAND 11
  771. -#define SCE_TCL_WORD 12
  772. -#define SCE_TCL_WORD2 13
  773. -#define SCE_TCL_WORD3 14
  774. -#define SCE_TCL_WORD4 15
  775. -#define SCE_TCL_WORD5 16
  776. -#define SCE_TCL_WORD6 17
  777. -#define SCE_TCL_WORD7 18
  778. -#define SCE_TCL_WORD8 19
  779. -#define SCE_TCL_COMMENT_BOX 20
  780. -#define SCE_TCL_BLOCK_COMMENT 21
  781. -#define SCE_H_DEFAULT 0
  782. -#define SCE_H_TAG 1
  783. -#define SCE_H_TAGUNKNOWN 2
  784. -#define SCE_H_ATTRIBUTE 3
  785. -#define SCE_H_ATTRIBUTEUNKNOWN 4
  786. -#define SCE_H_NUMBER 5
  787. -#define SCE_H_DOUBLESTRING 6
  788. -#define SCE_H_SINGLESTRING 7
  789. -#define SCE_H_OTHER 8
  790. -#define SCE_H_COMMENT 9
  791. -#define SCE_H_ENTITY 10
  792. -#define SCE_H_TAGEND 11
  793. -#define SCE_H_XMLSTART 12
  794. -#define SCE_H_XMLEND 13
  795. -#define SCE_H_SCRIPT 14
  796. -#define SCE_H_ASP 15
  797. -#define SCE_H_ASPAT 16
  798. -#define SCE_H_CDATA 17
  799. -#define SCE_H_QUESTION 18
  800. -#define SCE_H_VALUE 19
  801. -#define SCE_H_XCCOMMENT 20
  802. -#define SCE_H_SGML_DEFAULT 21
  803. -#define SCE_H_SGML_COMMAND 22
  804. -#define SCE_H_SGML_1ST_PARAM 23
  805. -#define SCE_H_SGML_DOUBLESTRING 24
  806. -#define SCE_H_SGML_SIMPLESTRING 25
  807. -#define SCE_H_SGML_ERROR 26
  808. -#define SCE_H_SGML_SPECIAL 27
  809. -#define SCE_H_SGML_ENTITY 28
  810. -#define SCE_H_SGML_COMMENT 29
  811. -#define SCE_H_SGML_1ST_PARAM_COMMENT 30
  812. -#define SCE_H_SGML_BLOCK_DEFAULT 31
  813. -#define SCE_HJ_START 40
  814. -#define SCE_HJ_DEFAULT 41
  815. -#define SCE_HJ_COMMENT 42
  816. -#define SCE_HJ_COMMENTLINE 43
  817. -#define SCE_HJ_COMMENTDOC 44
  818. -#define SCE_HJ_NUMBER 45
  819. -#define SCE_HJ_WORD 46
  820. -#define SCE_HJ_KEYWORD 47
  821. -#define SCE_HJ_DOUBLESTRING 48
  822. -#define SCE_HJ_SINGLESTRING 49
  823. -#define SCE_HJ_SYMBOLS 50
  824. -#define SCE_HJ_STRINGEOL 51
  825. -#define SCE_HJ_REGEX 52
  826. -#define SCE_HJA_START 55
  827. -#define SCE_HJA_DEFAULT 56
  828. -#define SCE_HJA_COMMENT 57
  829. -#define SCE_HJA_COMMENTLINE 58
  830. -#define SCE_HJA_COMMENTDOC 59
  831. -#define SCE_HJA_NUMBER 60
  832. -#define SCE_HJA_WORD 61
  833. -#define SCE_HJA_KEYWORD 62
  834. -#define SCE_HJA_DOUBLESTRING 63
  835. -#define SCE_HJA_SINGLESTRING 64
  836. -#define SCE_HJA_SYMBOLS 65
  837. -#define SCE_HJA_STRINGEOL 66
  838. -#define SCE_HJA_REGEX 67
  839. -#define SCE_HB_START 70
  840. -#define SCE_HB_DEFAULT 71
  841. -#define SCE_HB_COMMENTLINE 72
  842. -#define SCE_HB_NUMBER 73
  843. -#define SCE_HB_WORD 74
  844. -#define SCE_HB_STRING 75
  845. -#define SCE_HB_IDENTIFIER 76
  846. -#define SCE_HB_STRINGEOL 77
  847. -#define SCE_HBA_START 80
  848. -#define SCE_HBA_DEFAULT 81
  849. -#define SCE_HBA_COMMENTLINE 82
  850. -#define SCE_HBA_NUMBER 83
  851. -#define SCE_HBA_WORD 84
  852. -#define SCE_HBA_STRING 85
  853. -#define SCE_HBA_IDENTIFIER 86
  854. -#define SCE_HBA_STRINGEOL 87
  855. -#define SCE_HP_START 90
  856. -#define SCE_HP_DEFAULT 91
  857. -#define SCE_HP_COMMENTLINE 92
  858. -#define SCE_HP_NUMBER 93
  859. -#define SCE_HP_STRING 94
  860. -#define SCE_HP_CHARACTER 95
  861. -#define SCE_HP_WORD 96
  862. -#define SCE_HP_TRIPLE 97
  863. -#define SCE_HP_TRIPLEDOUBLE 98
  864. -#define SCE_HP_CLASSNAME 99
  865. -#define SCE_HP_DEFNAME 100
  866. -#define SCE_HP_OPERATOR 101
  867. -#define SCE_HP_IDENTIFIER 102
  868. -#define SCE_HPHP_COMPLEX_VARIABLE 104
  869. -#define SCE_HPA_START 105
  870. -#define SCE_HPA_DEFAULT 106
  871. -#define SCE_HPA_COMMENTLINE 107
  872. -#define SCE_HPA_NUMBER 108
  873. -#define SCE_HPA_STRING 109
  874. -#define SCE_HPA_CHARACTER 110
  875. -#define SCE_HPA_WORD 111
  876. -#define SCE_HPA_TRIPLE 112
  877. -#define SCE_HPA_TRIPLEDOUBLE 113
  878. -#define SCE_HPA_CLASSNAME 114
  879. -#define SCE_HPA_DEFNAME 115
  880. -#define SCE_HPA_OPERATOR 116
  881. -#define SCE_HPA_IDENTIFIER 117
  882. -#define SCE_HPHP_DEFAULT 118
  883. -#define SCE_HPHP_HSTRING 119
  884. -#define SCE_HPHP_SIMPLESTRING 120
  885. -#define SCE_HPHP_WORD 121
  886. -#define SCE_HPHP_NUMBER 122
  887. -#define SCE_HPHP_VARIABLE 123
  888. -#define SCE_HPHP_COMMENT 124
  889. -#define SCE_HPHP_COMMENTLINE 125
  890. -#define SCE_HPHP_HSTRING_VARIABLE 126
  891. -#define SCE_HPHP_OPERATOR 127
  892. -#define SCE_PL_DEFAULT 0
  893. -#define SCE_PL_ERROR 1
  894. -#define SCE_PL_COMMENTLINE 2
  895. -#define SCE_PL_POD 3
  896. -#define SCE_PL_NUMBER 4
  897. -#define SCE_PL_WORD 5
  898. -#define SCE_PL_STRING 6
  899. -#define SCE_PL_CHARACTER 7
  900. -#define SCE_PL_PUNCTUATION 8
  901. -#define SCE_PL_PREPROCESSOR 9
  902. -#define SCE_PL_OPERATOR 10
  903. -#define SCE_PL_IDENTIFIER 11
  904. -#define SCE_PL_SCALAR 12
  905. -#define SCE_PL_ARRAY 13
  906. -#define SCE_PL_HASH 14
  907. -#define SCE_PL_SYMBOLTABLE 15
  908. -#define SCE_PL_VARIABLE_INDEXER 16
  909. -#define SCE_PL_REGEX 17
  910. -#define SCE_PL_REGSUBST 18
  911. -#define SCE_PL_LONGQUOTE 19
  912. -#define SCE_PL_BACKTICKS 20
  913. -#define SCE_PL_DATASECTION 21
  914. -#define SCE_PL_HERE_DELIM 22
  915. -#define SCE_PL_HERE_Q 23
  916. -#define SCE_PL_HERE_QQ 24
  917. -#define SCE_PL_HERE_QX 25
  918. -#define SCE_PL_STRING_Q 26
  919. -#define SCE_PL_STRING_QQ 27
  920. -#define SCE_PL_STRING_QX 28
  921. -#define SCE_PL_STRING_QR 29
  922. -#define SCE_PL_STRING_QW 30
  923. -#define SCE_PL_POD_VERB 31
  924. -#define SCE_PL_SUB_PROTOTYPE 40
  925. -#define SCE_PL_FORMAT_IDENT 41
  926. -#define SCE_PL_FORMAT 42
  927. -#define SCE_RB_DEFAULT 0
  928. -#define SCE_RB_ERROR 1
  929. -#define SCE_RB_COMMENTLINE 2
  930. -#define SCE_RB_POD 3
  931. -#define SCE_RB_NUMBER 4
  932. -#define SCE_RB_WORD 5
  933. -#define SCE_RB_STRING 6
  934. -#define SCE_RB_CHARACTER 7
  935. -#define SCE_RB_CLASSNAME 8
  936. -#define SCE_RB_DEFNAME 9
  937. -#define SCE_RB_OPERATOR 10
  938. -#define SCE_RB_IDENTIFIER 11
  939. -#define SCE_RB_REGEX 12
  940. -#define SCE_RB_GLOBAL 13
  941. -#define SCE_RB_SYMBOL 14
  942. -#define SCE_RB_MODULE_NAME 15
  943. -#define SCE_RB_INSTANCE_VAR 16
  944. -#define SCE_RB_CLASS_VAR 17
  945. -#define SCE_RB_BACKTICKS 18
  946. -#define SCE_RB_DATASECTION 19
  947. -#define SCE_RB_HERE_DELIM 20
  948. -#define SCE_RB_HERE_Q 21
  949. -#define SCE_RB_HERE_QQ 22
  950. -#define SCE_RB_HERE_QX 23
  951. -#define SCE_RB_STRING_Q 24
  952. -#define SCE_RB_STRING_QQ 25
  953. -#define SCE_RB_STRING_QX 26
  954. -#define SCE_RB_STRING_QR 27
  955. -#define SCE_RB_STRING_QW 28
  956. -#define SCE_RB_WORD_DEMOTED 29
  957. -#define SCE_RB_STDIN 30
  958. -#define SCE_RB_STDOUT 31
  959. -#define SCE_RB_STDERR 40
  960. -#define SCE_RB_UPPER_BOUND 41
  961. -#define SCE_B_DEFAULT 0
  962. -#define SCE_B_COMMENT 1
  963. -#define SCE_B_NUMBER 2
  964. -#define SCE_B_KEYWORD 3
  965. -#define SCE_B_STRING 4
  966. -#define SCE_B_PREPROCESSOR 5
  967. -#define SCE_B_OPERATOR 6
  968. -#define SCE_B_IDENTIFIER 7
  969. -#define SCE_B_DATE 8
  970. -#define SCE_B_STRINGEOL 9
  971. -#define SCE_B_KEYWORD2 10
  972. -#define SCE_B_KEYWORD3 11
  973. -#define SCE_B_KEYWORD4 12
  974. -#define SCE_B_CONSTANT 13
  975. -#define SCE_B_ASM 14
  976. -#define SCE_B_LABEL 15
  977. -#define SCE_B_ERROR 16
  978. -#define SCE_B_HEXNUMBER 17
  979. -#define SCE_B_BINNUMBER 18
  980. -#define SCE_PROPS_DEFAULT 0
  981. -#define SCE_PROPS_COMMENT 1
  982. -#define SCE_PROPS_SECTION 2
  983. -#define SCE_PROPS_ASSIGNMENT 3
  984. -#define SCE_PROPS_DEFVAL 4
  985. -#define SCE_PROPS_KEY 5
  986. -#define SCE_L_DEFAULT 0
  987. -#define SCE_L_COMMAND 1
  988. -#define SCE_L_TAG 2
  989. -#define SCE_L_MATH 3
  990. -#define SCE_L_COMMENT 4
  991. -#define SCE_LUA_DEFAULT 0
  992. -#define SCE_LUA_COMMENT 1
  993. -#define SCE_LUA_COMMENTLINE 2
  994. -#define SCE_LUA_COMMENTDOC 3
  995. -#define SCE_LUA_NUMBER 4
  996. -#define SCE_LUA_WORD 5
  997. -#define SCE_LUA_STRING 6
  998. -#define SCE_LUA_CHARACTER 7
  999. -#define SCE_LUA_LITERALSTRING 8
  1000. -#define SCE_LUA_PREPROCESSOR 9
  1001. -#define SCE_LUA_OPERATOR 10
  1002. -#define SCE_LUA_IDENTIFIER 11
  1003. -#define SCE_LUA_STRINGEOL 12
  1004. -#define SCE_LUA_WORD2 13
  1005. -#define SCE_LUA_WORD3 14
  1006. -#define SCE_LUA_WORD4 15
  1007. -#define SCE_LUA_WORD5 16
  1008. -#define SCE_LUA_WORD6 17
  1009. -#define SCE_LUA_WORD7 18
  1010. -#define SCE_LUA_WORD8 19
  1011. -#define SCE_ERR_DEFAULT 0
  1012. -#define SCE_ERR_PYTHON 1
  1013. -#define SCE_ERR_GCC 2
  1014. -#define SCE_ERR_MS 3
  1015. -#define SCE_ERR_CMD 4
  1016. -#define SCE_ERR_BORLAND 5
  1017. -#define SCE_ERR_PERL 6
  1018. -#define SCE_ERR_NET 7
  1019. -#define SCE_ERR_LUA 8
  1020. -#define SCE_ERR_CTAG 9
  1021. -#define SCE_ERR_DIFF_CHANGED 10
  1022. -#define SCE_ERR_DIFF_ADDITION 11
  1023. -#define SCE_ERR_DIFF_DELETION 12
  1024. -#define SCE_ERR_DIFF_MESSAGE 13
  1025. -#define SCE_ERR_PHP 14
  1026. -#define SCE_ERR_ELF 15
  1027. -#define SCE_ERR_IFC 16
  1028. -#define SCE_ERR_IFORT 17
  1029. -#define SCE_ERR_ABSF 18
  1030. -#define SCE_ERR_TIDY 19
  1031. -#define SCE_ERR_JAVA_STACK 20
  1032. -#define SCE_ERR_VALUE 21
  1033. -#define SCE_BAT_DEFAULT 0
  1034. -#define SCE_BAT_COMMENT 1
  1035. -#define SCE_BAT_WORD 2
  1036. -#define SCE_BAT_LABEL 3
  1037. -#define SCE_BAT_HIDE 4
  1038. -#define SCE_BAT_COMMAND 5
  1039. -#define SCE_BAT_IDENTIFIER 6
  1040. -#define SCE_BAT_OPERATOR 7
  1041. -#define SCE_MAKE_DEFAULT 0
  1042. -#define SCE_MAKE_COMMENT 1
  1043. -#define SCE_MAKE_PREPROCESSOR 2
  1044. -#define SCE_MAKE_IDENTIFIER 3
  1045. -#define SCE_MAKE_OPERATOR 4
  1046. -#define SCE_MAKE_TARGET 5
  1047. -#define SCE_MAKE_IDEOL 9
  1048. -#define SCE_DIFF_DEFAULT 0
  1049. -#define SCE_DIFF_COMMENT 1
  1050. -#define SCE_DIFF_COMMAND 2
  1051. -#define SCE_DIFF_HEADER 3
  1052. -#define SCE_DIFF_POSITION 4
  1053. -#define SCE_DIFF_DELETED 5
  1054. -#define SCE_DIFF_ADDED 6
  1055. -#define SCE_DIFF_CHANGED 7
  1056. -#define SCE_CONF_DEFAULT 0
  1057. -#define SCE_CONF_COMMENT 1
  1058. -#define SCE_CONF_NUMBER 2
  1059. -#define SCE_CONF_IDENTIFIER 3
  1060. -#define SCE_CONF_EXTENSION 4
  1061. -#define SCE_CONF_PARAMETER 5
  1062. -#define SCE_CONF_STRING 6
  1063. -#define SCE_CONF_OPERATOR 7
  1064. -#define SCE_CONF_IP 8
  1065. -#define SCE_CONF_DIRECTIVE 9
  1066. -#define SCE_AVE_DEFAULT 0
  1067. -#define SCE_AVE_COMMENT 1
  1068. -#define SCE_AVE_NUMBER 2
  1069. -#define SCE_AVE_WORD 3
  1070. -#define SCE_AVE_STRING 6
  1071. -#define SCE_AVE_ENUM 7
  1072. -#define SCE_AVE_STRINGEOL 8
  1073. -#define SCE_AVE_IDENTIFIER 9
  1074. -#define SCE_AVE_OPERATOR 10
  1075. -#define SCE_AVE_WORD1 11
  1076. -#define SCE_AVE_WORD2 12
  1077. -#define SCE_AVE_WORD3 13
  1078. -#define SCE_AVE_WORD4 14
  1079. -#define SCE_AVE_WORD5 15
  1080. -#define SCE_AVE_WORD6 16
  1081. -#define SCE_ADA_DEFAULT 0
  1082. -#define SCE_ADA_WORD 1
  1083. -#define SCE_ADA_IDENTIFIER 2
  1084. -#define SCE_ADA_NUMBER 3
  1085. -#define SCE_ADA_DELIMITER 4
  1086. -#define SCE_ADA_CHARACTER 5
  1087. -#define SCE_ADA_CHARACTEREOL 6
  1088. -#define SCE_ADA_STRING 7
  1089. -#define SCE_ADA_STRINGEOL 8
  1090. -#define SCE_ADA_LABEL 9
  1091. -#define SCE_ADA_COMMENTLINE 10
  1092. -#define SCE_ADA_ILLEGAL 11
  1093. -#define SCE_BAAN_DEFAULT 0
  1094. -#define SCE_BAAN_COMMENT 1
  1095. -#define SCE_BAAN_COMMENTDOC 2
  1096. -#define SCE_BAAN_NUMBER 3
  1097. -#define SCE_BAAN_WORD 4
  1098. -#define SCE_BAAN_STRING 5
  1099. -#define SCE_BAAN_PREPROCESSOR 6
  1100. -#define SCE_BAAN_OPERATOR 7
  1101. -#define SCE_BAAN_IDENTIFIER 8
  1102. -#define SCE_BAAN_STRINGEOL 9
  1103. -#define SCE_BAAN_WORD2 10
  1104. -#define SCE_LISP_DEFAULT 0
  1105. -#define SCE_LISP_COMMENT 1
  1106. -#define SCE_LISP_NUMBER 2
  1107. -#define SCE_LISP_KEYWORD 3
  1108. -#define SCE_LISP_KEYWORD_KW 4
  1109. -#define SCE_LISP_SYMBOL 5
  1110. -#define SCE_LISP_STRING 6
  1111. -#define SCE_LISP_STRINGEOL 8
  1112. -#define SCE_LISP_IDENTIFIER 9
  1113. -#define SCE_LISP_OPERATOR 10
  1114. -#define SCE_LISP_SPECIAL 11
  1115. -#define SCE_LISP_MULTI_COMMENT 12
  1116. -#define SCE_EIFFEL_DEFAULT 0
  1117. -#define SCE_EIFFEL_COMMENTLINE 1
  1118. -#define SCE_EIFFEL_NUMBER 2
  1119. -#define SCE_EIFFEL_WORD 3
  1120. -#define SCE_EIFFEL_STRING 4
  1121. -#define SCE_EIFFEL_CHARACTER 5
  1122. -#define SCE_EIFFEL_OPERATOR 6
  1123. -#define SCE_EIFFEL_IDENTIFIER 7
  1124. -#define SCE_EIFFEL_STRINGEOL 8
  1125. -#define SCE_NNCRONTAB_DEFAULT 0
  1126. -#define SCE_NNCRONTAB_COMMENT 1
  1127. -#define SCE_NNCRONTAB_TASK 2
  1128. -#define SCE_NNCRONTAB_SECTION 3
  1129. -#define SCE_NNCRONTAB_KEYWORD 4
  1130. -#define SCE_NNCRONTAB_MODIFIER 5
  1131. -#define SCE_NNCRONTAB_ASTERISK 6
  1132. -#define SCE_NNCRONTAB_NUMBER 7
  1133. -#define SCE_NNCRONTAB_STRING 8
  1134. -#define SCE_NNCRONTAB_ENVIRONMENT 9
  1135. -#define SCE_NNCRONTAB_IDENTIFIER 10
  1136. -#define SCE_FORTH_DEFAULT 0
  1137. -#define SCE_FORTH_COMMENT 1
  1138. -#define SCE_FORTH_COMMENT_ML 2
  1139. -#define SCE_FORTH_IDENTIFIER 3
  1140. -#define SCE_FORTH_CONTROL 4
  1141. -#define SCE_FORTH_KEYWORD 5
  1142. -#define SCE_FORTH_DEFWORD 6
  1143. -#define SCE_FORTH_PREWORD1 7
  1144. -#define SCE_FORTH_PREWORD2 8
  1145. -#define SCE_FORTH_NUMBER 9
  1146. -#define SCE_FORTH_STRING 10
  1147. -#define SCE_FORTH_LOCALE 11
  1148. -#define SCE_MATLAB_DEFAULT 0
  1149. -#define SCE_MATLAB_COMMENT 1
  1150. -#define SCE_MATLAB_COMMAND 2
  1151. -#define SCE_MATLAB_NUMBER 3
  1152. -#define SCE_MATLAB_KEYWORD 4
  1153. -#define SCE_MATLAB_STRING 5
  1154. -#define SCE_MATLAB_OPERATOR 6
  1155. -#define SCE_MATLAB_IDENTIFIER 7
  1156. -#define SCE_MATLAB_DOUBLEQUOTESTRING 8
  1157. -#define SCE_SCRIPTOL_DEFAULT 0
  1158. -#define SCE_SCRIPTOL_WHITE 1
  1159. -#define SCE_SCRIPTOL_COMMENTLINE 2
  1160. -#define SCE_SCRIPTOL_PERSISTENT 3
  1161. -#define SCE_SCRIPTOL_CSTYLE 4
  1162. -#define SCE_SCRIPTOL_COMMENTBLOCK 5
  1163. -#define SCE_SCRIPTOL_NUMBER 6
  1164. -#define SCE_SCRIPTOL_STRING 7
  1165. -#define SCE_SCRIPTOL_CHARACTER 8
  1166. -#define SCE_SCRIPTOL_STRINGEOL 9
  1167. -#define SCE_SCRIPTOL_KEYWORD 10
  1168. -#define SCE_SCRIPTOL_OPERATOR 11
  1169. -#define SCE_SCRIPTOL_IDENTIFIER 12
  1170. -#define SCE_SCRIPTOL_TRIPLE 13
  1171. -#define SCE_SCRIPTOL_CLASSNAME 14
  1172. -#define SCE_SCRIPTOL_PREPROCESSOR 15
  1173. -#define SCE_ASM_DEFAULT 0
  1174. -#define SCE_ASM_COMMENT 1
  1175. -#define SCE_ASM_NUMBER 2
  1176. -#define SCE_ASM_STRING 3
  1177. -#define SCE_ASM_OPERATOR 4
  1178. -#define SCE_ASM_IDENTIFIER 5
  1179. -#define SCE_ASM_CPUINSTRUCTION 6
  1180. -#define SCE_ASM_MATHINSTRUCTION 7
  1181. -#define SCE_ASM_REGISTER 8
  1182. -#define SCE_ASM_DIRECTIVE 9
  1183. -#define SCE_ASM_DIRECTIVEOPERAND 10
  1184. -#define SCE_ASM_COMMENTBLOCK 11
  1185. -#define SCE_ASM_CHARACTER 12
  1186. -#define SCE_ASM_STRINGEOL 13
  1187. -#define SCE_ASM_EXTINSTRUCTION 14
  1188. -#define SCE_F_DEFAULT 0
  1189. -#define SCE_F_COMMENT 1
  1190. -#define SCE_F_NUMBER 2
  1191. -#define SCE_F_STRING1 3
  1192. -#define SCE_F_STRING2 4
  1193. -#define SCE_F_STRINGEOL 5
  1194. -#define SCE_F_OPERATOR 6
  1195. -#define SCE_F_IDENTIFIER 7
  1196. -#define SCE_F_WORD 8
  1197. -#define SCE_F_WORD2 9
  1198. -#define SCE_F_WORD3 10
  1199. -#define SCE_F_PREPROCESSOR 11
  1200. -#define SCE_F_OPERATOR2 12
  1201. -#define SCE_F_LABEL 13
  1202. -#define SCE_F_CONTINUATION 14
  1203. -#define SCE_CSS_DEFAULT 0
  1204. -#define SCE_CSS_TAG 1
  1205. -#define SCE_CSS_CLASS 2
  1206. -#define SCE_CSS_PSEUDOCLASS 3
  1207. -#define SCE_CSS_UNKNOWN_PSEUDOCLASS 4
  1208. -#define SCE_CSS_OPERATOR 5
  1209. -#define SCE_CSS_IDENTIFIER 6
  1210. -#define SCE_CSS_UNKNOWN_IDENTIFIER 7
  1211. -#define SCE_CSS_VALUE 8
  1212. -#define SCE_CSS_COMMENT 9
  1213. -#define SCE_CSS_ID 10
  1214. -#define SCE_CSS_IMPORTANT 11
  1215. -#define SCE_CSS_DIRECTIVE 12
  1216. -#define SCE_CSS_DOUBLESTRING 13
  1217. -#define SCE_CSS_SINGLESTRING 14
  1218. -#define SCE_CSS_IDENTIFIER2 15
  1219. -#define SCE_CSS_ATTRIBUTE 16
  1220. -#define SCE_CSS_IDENTIFIER3 17
  1221. -#define SCE_CSS_PSEUDOELEMENT 18
  1222. -#define SCE_CSS_EXTENDED_IDENTIFIER 19
  1223. -#define SCE_CSS_EXTENDED_PSEUDOCLASS 20
  1224. -#define SCE_CSS_EXTENDED_PSEUDOELEMENT 21
  1225. -#define SCE_POV_DEFAULT 0
  1226. -#define SCE_POV_COMMENT 1
  1227. -#define SCE_POV_COMMENTLINE 2
  1228. -#define SCE_POV_NUMBER 3
  1229. -#define SCE_POV_OPERATOR 4
  1230. -#define SCE_POV_IDENTIFIER 5
  1231. -#define SCE_POV_STRING 6
  1232. -#define SCE_POV_STRINGEOL 7
  1233. -#define SCE_POV_DIRECTIVE 8
  1234. -#define SCE_POV_BADDIRECTIVE 9
  1235. -#define SCE_POV_WORD2 10
  1236. -#define SCE_POV_WORD3 11
  1237. -#define SCE_POV_WORD4 12
  1238. -#define SCE_POV_WORD5 13
  1239. -#define SCE_POV_WORD6 14
  1240. -#define SCE_POV_WORD7 15
  1241. -#define SCE_POV_WORD8 16
  1242. -#define SCE_LOUT_DEFAULT 0
  1243. -#define SCE_LOUT_COMMENT 1
  1244. -#define SCE_LOUT_NUMBER 2
  1245. -#define SCE_LOUT_WORD 3
  1246. -#define SCE_LOUT_WORD2 4
  1247. -#define SCE_LOUT_WORD3 5
  1248. -#define SCE_LOUT_WORD4 6
  1249. -#define SCE_LOUT_STRING 7
  1250. -#define SCE_LOUT_OPERATOR 8
  1251. -#define SCE_LOUT_IDENTIFIER 9
  1252. -#define SCE_LOUT_STRINGEOL 10
  1253. -#define SCE_ESCRIPT_DEFAULT 0
  1254. -#define SCE_ESCRIPT_COMMENT 1
  1255. -#define SCE_ESCRIPT_COMMENTLINE 2
  1256. -#define SCE_ESCRIPT_COMMENTDOC 3
  1257. -#define SCE_ESCRIPT_NUMBER 4
  1258. -#define SCE_ESCRIPT_WORD 5
  1259. -#define SCE_ESCRIPT_STRING 6
  1260. -#define SCE_ESCRIPT_OPERATOR 7
  1261. -#define SCE_ESCRIPT_IDENTIFIER 8
  1262. -#define SCE_ESCRIPT_BRACE 9
  1263. -#define SCE_ESCRIPT_WORD2 10
  1264. -#define SCE_ESCRIPT_WORD3 11
  1265. -#define SCE_PS_DEFAULT 0
  1266. -#define SCE_PS_COMMENT 1
  1267. -#define SCE_PS_DSC_COMMENT 2
  1268. -#define SCE_PS_DSC_VALUE 3
  1269. -#define SCE_PS_NUMBER 4
  1270. -#define SCE_PS_NAME 5
  1271. -#define SCE_PS_KEYWORD 6
  1272. -#define SCE_PS_LITERAL 7
  1273. -#define SCE_PS_IMMEVAL 8
  1274. -#define SCE_PS_PAREN_ARRAY 9
  1275. -#define SCE_PS_PAREN_DICT 10
  1276. -#define SCE_PS_PAREN_PROC 11
  1277. -#define SCE_PS_TEXT 12
  1278. -#define SCE_PS_HEXSTRING 13
  1279. -#define SCE_PS_BASE85STRING 14
  1280. -#define SCE_PS_BADSTRINGCHAR 15
  1281. -#define SCE_NSIS_DEFAULT 0
  1282. -#define SCE_NSIS_COMMENT 1
  1283. -#define SCE_NSIS_STRINGDQ 2
  1284. -#define SCE_NSIS_STRINGLQ 3
  1285. -#define SCE_NSIS_STRINGRQ 4
  1286. -#define SCE_NSIS_FUNCTION 5
  1287. -#define SCE_NSIS_VARIABLE 6
  1288. -#define SCE_NSIS_LABEL 7
  1289. -#define SCE_NSIS_USERDEFINED 8
  1290. -#define SCE_NSIS_SECTIONDEF 9
  1291. -#define SCE_NSIS_SUBSECTIONDEF 10
  1292. -#define SCE_NSIS_IFDEFINEDEF 11
  1293. -#define SCE_NSIS_MACRODEF 12
  1294. -#define SCE_NSIS_STRINGVAR 13
  1295. -#define SCE_NSIS_NUMBER 14
  1296. -#define SCE_NSIS_SECTIONGROUP 15
  1297. -#define SCE_NSIS_PAGEEX 16
  1298. -#define SCE_NSIS_FUNCTIONDEF 17
  1299. -#define SCE_NSIS_COMMENTBOX 18
  1300. -#define SCE_MMIXAL_LEADWS 0
  1301. -#define SCE_MMIXAL_COMMENT 1
  1302. -#define SCE_MMIXAL_LABEL 2
  1303. -#define SCE_MMIXAL_OPCODE 3
  1304. -#define SCE_MMIXAL_OPCODE_PRE 4
  1305. -#define SCE_MMIXAL_OPCODE_VALID 5
  1306. -#define SCE_MMIXAL_OPCODE_UNKNOWN 6
  1307. -#define SCE_MMIXAL_OPCODE_POST 7
  1308. -#define SCE_MMIXAL_OPERANDS 8
  1309. -#define SCE_MMIXAL_NUMBER 9
  1310. -#define SCE_MMIXAL_REF 10
  1311. -#define SCE_MMIXAL_CHAR 11
  1312. -#define SCE_MMIXAL_STRING 12
  1313. -#define SCE_MMIXAL_REGISTER 13
  1314. -#define SCE_MMIXAL_HEX 14
  1315. -#define SCE_MMIXAL_OPERATOR 15
  1316. -#define SCE_MMIXAL_SYMBOL 16
  1317. -#define SCE_MMIXAL_INCLUDE 17
  1318. -#define SCE_CLW_DEFAULT 0
  1319. -#define SCE_CLW_LABEL 1
  1320. -#define SCE_CLW_COMMENT 2
  1321. -#define SCE_CLW_STRING 3
  1322. -#define SCE_CLW_USER_IDENTIFIER 4
  1323. -#define SCE_CLW_INTEGER_CONSTANT 5
  1324. -#define SCE_CLW_REAL_CONSTANT 6
  1325. -#define SCE_CLW_PICTURE_STRING 7
  1326. -#define SCE_CLW_KEYWORD 8
  1327. -#define SCE_CLW_COMPILER_DIRECTIVE 9
  1328. -#define SCE_CLW_RUNTIME_EXPRESSIONS 10
  1329. -#define SCE_CLW_BUILTIN_PROCEDURES_FUNCTION 11
  1330. -#define SCE_CLW_STRUCTURE_DATA_TYPE 12
  1331. -#define SCE_CLW_ATTRIBUTE 13
  1332. -#define SCE_CLW_STANDARD_EQUATE 14
  1333. -#define SCE_CLW_ERROR 15
  1334. -#define SCE_CLW_DEPRECATED 16
  1335. -#define SCE_LOT_DEFAULT 0
  1336. -#define SCE_LOT_HEADER 1
  1337. -#define SCE_LOT_BREAK 2
  1338. -#define SCE_LOT_SET 3
  1339. -#define SCE_LOT_PASS 4
  1340. -#define SCE_LOT_FAIL 5
  1341. -#define SCE_LOT_ABORT 6
  1342. -#define SCE_YAML_DEFAULT 0
  1343. -#define SCE_YAML_COMMENT 1
  1344. -#define SCE_YAML_IDENTIFIER 2
  1345. -#define SCE_YAML_KEYWORD 3
  1346. -#define SCE_YAML_NUMBER 4
  1347. -#define SCE_YAML_REFERENCE 5
  1348. -#define SCE_YAML_DOCUMENT 6
  1349. -#define SCE_YAML_TEXT 7
  1350. -#define SCE_YAML_ERROR 8
  1351. -#define SCE_YAML_OPERATOR 9
  1352. -#define SCE_TEX_DEFAULT 0
  1353. -#define SCE_TEX_SPECIAL 1
  1354. -#define SCE_TEX_GROUP 2
  1355. -#define SCE_TEX_SYMBOL 3
  1356. -#define SCE_TEX_COMMAND 4
  1357. -#define SCE_TEX_TEXT 5
  1358. -#define SCE_METAPOST_DEFAULT 0
  1359. -#define SCE_METAPOST_SPECIAL 1
  1360. -#define SCE_METAPOST_GROUP 2
  1361. -#define SCE_METAPOST_SYMBOL 3
  1362. -#define SCE_METAPOST_COMMAND 4
  1363. -#define SCE_METAPOST_TEXT 5
  1364. -#define SCE_METAPOST_EXTRA 6
  1365. -#define SCE_ERLANG_DEFAULT 0
  1366. -#define SCE_ERLANG_COMMENT 1
  1367. -#define SCE_ERLANG_VARIABLE 2
  1368. -#define SCE_ERLANG_NUMBER 3
  1369. -#define SCE_ERLANG_KEYWORD 4
  1370. -#define SCE_ERLANG_STRING 5
  1371. -#define SCE_ERLANG_OPERATOR 6
  1372. -#define SCE_ERLANG_ATOM 7
  1373. -#define SCE_ERLANG_FUNCTION_NAME 8
  1374. -#define SCE_ERLANG_CHARACTER 9
  1375. -#define SCE_ERLANG_MACRO 10
  1376. -#define SCE_ERLANG_RECORD 11
  1377. -#define SCE_ERLANG_SEPARATOR 12
  1378. -#define SCE_ERLANG_NODE_NAME 13
  1379. -#define SCE_ERLANG_UNKNOWN 31
  1380. -#define SCE_MSSQL_DEFAULT 0
  1381. -#define SCE_MSSQL_COMMENT 1
  1382. -#define SCE_MSSQL_LINE_COMMENT 2
  1383. -#define SCE_MSSQL_NUMBER 3
  1384. -#define SCE_MSSQL_STRING 4
  1385. -#define SCE_MSSQL_OPERATOR 5
  1386. -#define SCE_MSSQL_IDENTIFIER 6
  1387. -#define SCE_MSSQL_VARIABLE 7
  1388. -#define SCE_MSSQL_COLUMN_NAME 8
  1389. -#define SCE_MSSQL_STATEMENT 9
  1390. -#define SCE_MSSQL_DATATYPE 10
  1391. -#define SCE_MSSQL_SYSTABLE 11
  1392. -#define SCE_MSSQL_GLOBAL_VARIABLE 12
  1393. -#define SCE_MSSQL_FUNCTION 13
  1394. -#define SCE_MSSQL_STORED_PROCEDURE 14
  1395. -#define SCE_MSSQL_DEFAULT_PREF_DATATYPE 15
  1396. -#define SCE_MSSQL_COLUMN_NAME_2 16
  1397. -#define SCE_V_DEFAULT 0
  1398. -#define SCE_V_COMMENT 1
  1399. -#define SCE_V_COMMENTLINE 2
  1400. -#define SCE_V_COMMENTLINEBANG 3
  1401. -#define SCE_V_NUMBER 4
  1402. -#define SCE_V_WORD 5
  1403. -#define SCE_V_STRING 6
  1404. -#define SCE_V_WORD2 7
  1405. -#define SCE_V_WORD3 8
  1406. -#define SCE_V_PREPROCESSOR 9
  1407. -#define SCE_V_OPERATOR 10
  1408. -#define SCE_V_IDENTIFIER 11
  1409. -#define SCE_V_STRINGEOL 12
  1410. -#define SCE_V_USER 19
  1411. -#define SCE_KIX_DEFAULT 0
  1412. -#define SCE_KIX_COMMENT 1
  1413. -#define SCE_KIX_STRING1 2
  1414. -#define SCE_KIX_STRING2 3
  1415. -#define SCE_KIX_NUMBER 4
  1416. -#define SCE_KIX_VAR 5
  1417. -#define SCE_KIX_MACRO 6
  1418. -#define SCE_KIX_KEYWORD 7
  1419. -#define SCE_KIX_FUNCTIONS 8
  1420. -#define SCE_KIX_OPERATOR 9
  1421. -#define SCE_KIX_IDENTIFIER 31
  1422. -#define SCE_GC_DEFAULT 0
  1423. -#define SCE_GC_COMMENTLINE 1
  1424. -#define SCE_GC_COMMENTBLOCK 2
  1425. -#define SCE_GC_GLOBAL 3
  1426. -#define SCE_GC_EVENT 4
  1427. -#define SCE_GC_ATTRIBUTE 5
  1428. -#define SCE_GC_CONTROL 6
  1429. -#define SCE_GC_COMMAND 7
  1430. -#define SCE_GC_STRING 8
  1431. -#define SCE_GC_OPERATOR 9
  1432. -#define SCE_SN_DEFAULT 0
  1433. -#define SCE_SN_CODE 1
  1434. -#define SCE_SN_COMMENTLINE 2
  1435. -#define SCE_SN_COMMENTLINEBANG 3
  1436. -#define SCE_SN_NUMBER 4
  1437. -#define SCE_SN_WORD 5
  1438. -#define SCE_SN_STRING 6
  1439. -#define SCE_SN_WORD2 7
  1440. -#define SCE_SN_WORD3 8
  1441. -#define SCE_SN_PREPROCESSOR 9
  1442. -#define SCE_SN_OPERATOR 10
  1443. -#define SCE_SN_IDENTIFIER 11
  1444. -#define SCE_SN_STRINGEOL 12
  1445. -#define SCE_SN_REGEXTAG 13
  1446. -#define SCE_SN_SIGNAL 14
  1447. -#define SCE_SN_USER 19
  1448. -#define SCE_AU3_DEFAULT 0
  1449. -#define SCE_AU3_COMMENT 1
  1450. -#define SCE_AU3_COMMENTBLOCK 2
  1451. -#define SCE_AU3_NUMBER 3
  1452. -#define SCE_AU3_FUNCTION 4
  1453. -#define SCE_AU3_KEYWORD 5
  1454. -#define SCE_AU3_MACRO 6
  1455. -#define SCE_AU3_STRING 7
  1456. -#define SCE_AU3_OPERATOR 8
  1457. -#define SCE_AU3_VARIABLE 9
  1458. -#define SCE_AU3_SENT 10
  1459. -#define SCE_AU3_PREPROCESSOR 11
  1460. -#define SCE_AU3_SPECIAL 12
  1461. -#define SCE_AU3_EXPAND 13
  1462. -#define SCE_AU3_COMOBJ 14
  1463. -#define SCE_AU3_UDF 15
  1464. -#define SCE_APDL_DEFAULT 0
  1465. -#define SCE_APDL_COMMENT 1
  1466. -#define SCE_APDL_COMMENTBLOCK 2
  1467. -#define SCE_APDL_NUMBER 3
  1468. -#define SCE_APDL_STRING 4
  1469. -#define SCE_APDL_OPERATOR 5
  1470. -#define SCE_APDL_WORD 6
  1471. -#define SCE_APDL_PROCESSOR 7
  1472. -#define SCE_APDL_COMMAND 8
  1473. -#define SCE_APDL_SLASHCOMMAND 9
  1474. -#define SCE_APDL_STARCOMMAND 10
  1475. -#define SCE_APDL_ARGUMENT 11
  1476. -#define SCE_APDL_FUNCTION 12
  1477. -#define SCE_SH_DEFAULT 0
  1478. -#define SCE_SH_ERROR 1
  1479. -#define SCE_SH_COMMENTLINE 2
  1480. -#define SCE_SH_NUMBER 3
  1481. -#define SCE_SH_WORD 4
  1482. -#define SCE_SH_STRING 5
  1483. -#define SCE_SH_CHARACTER 6
  1484. -#define SCE_SH_OPERATOR 7
  1485. -#define SCE_SH_IDENTIFIER 8
  1486. -#define SCE_SH_SCALAR 9
  1487. -#define SCE_SH_PARAM 10
  1488. -#define SCE_SH_BACKTICKS 11
  1489. -#define SCE_SH_HERE_DELIM 12
  1490. -#define SCE_SH_HERE_Q 13
  1491. -#define SCE_ASN1_DEFAULT 0
  1492. -#define SCE_ASN1_COMMENT 1
  1493. -#define SCE_ASN1_IDENTIFIER 2
  1494. -#define SCE_ASN1_STRING 3
  1495. -#define SCE_ASN1_OID 4
  1496. -#define SCE_ASN1_SCALAR 5
  1497. -#define SCE_ASN1_KEYWORD 6
  1498. -#define SCE_ASN1_ATTRIBUTE 7
  1499. -#define SCE_ASN1_DESCRIPTOR 8
  1500. -#define SCE_ASN1_TYPE 9
  1501. -#define SCE_ASN1_OPERATOR 10
  1502. -#define SCE_VHDL_DEFAULT 0
  1503. -#define SCE_VHDL_COMMENT 1
  1504. -#define SCE_VHDL_COMMENTLINEBANG 2
  1505. -#define SCE_VHDL_NUMBER 3
  1506. -#define SCE_VHDL_STRING 4
  1507. -#define SCE_VHDL_OPERATOR 5
  1508. -#define SCE_VHDL_IDENTIFIER 6
  1509. -#define SCE_VHDL_STRINGEOL 7
  1510. -#define SCE_VHDL_KEYWORD 8
  1511. -#define SCE_VHDL_STDOPERATOR 9
  1512. -#define SCE_VHDL_ATTRIBUTE 10
  1513. -#define SCE_VHDL_STDFUNCTION 11
  1514. -#define SCE_VHDL_STDPACKAGE 12
  1515. -#define SCE_VHDL_STDTYPE 13
  1516. -#define SCE_VHDL_USERWORD 14
  1517. -#define SCE_CAML_DEFAULT 0
  1518. -#define SCE_CAML_IDENTIFIER 1
  1519. -#define SCE_CAML_TAGNAME 2
  1520. -#define SCE_CAML_KEYWORD 3
  1521. -#define SCE_CAML_KEYWORD2 4
  1522. -#define SCE_CAML_KEYWORD3 5
  1523. -#define SCE_CAML_LINENUM 6
  1524. -#define SCE_CAML_OPERATOR 7
  1525. -#define SCE_CAML_NUMBER 8
  1526. -#define SCE_CAML_CHAR 9
  1527. -#define SCE_CAML_WHITE 10
  1528. -#define SCE_CAML_STRING 11
  1529. -#define SCE_CAML_COMMENT 12
  1530. -#define SCE_CAML_COMMENT1 13
  1531. -#define SCE_CAML_COMMENT2 14
  1532. -#define SCE_CAML_COMMENT3 15
  1533. -#define SCE_HA_DEFAULT 0
  1534. -#define SCE_HA_IDENTIFIER 1
  1535. -#define SCE_HA_KEYWORD 2
  1536. -#define SCE_HA_NUMBER 3
  1537. -#define SCE_HA_STRING 4
  1538. -#define SCE_HA_CHARACTER 5
  1539. -#define SCE_HA_CLASS 6
  1540. -#define SCE_HA_MODULE 7
  1541. -#define SCE_HA_CAPITAL 8
  1542. -#define SCE_HA_DATA 9
  1543. -#define SCE_HA_IMPORT 10
  1544. -#define SCE_HA_OPERATOR 11
  1545. -#define SCE_HA_INSTANCE 12
  1546. -#define SCE_HA_COMMENTLINE 13
  1547. -#define SCE_HA_COMMENTBLOCK 14
  1548. -#define SCE_HA_COMMENTBLOCK2 15
  1549. -#define SCE_HA_COMMENTBLOCK3 16
  1550. -#define SCE_T3_DEFAULT 0
  1551. -#define SCE_T3_X_DEFAULT 1
  1552. -#define SCE_T3_PREPROCESSOR 2
  1553. -#define SCE_T3_BLOCK_COMMENT 3
  1554. -#define SCE_T3_LINE_COMMENT 4
  1555. -#define SCE_T3_OPERATOR 5
  1556. -#define SCE_T3_KEYWORD 6
  1557. -#define SCE_T3_NUMBER 7
  1558. -#define SCE_T3_IDENTIFIER 8
  1559. -#define SCE_T3_S_STRING 9
  1560. -#define SCE_T3_D_STRING 10
  1561. -#define SCE_T3_X_STRING 11
  1562. -#define SCE_T3_LIB_DIRECTIVE 12
  1563. -#define SCE_T3_MSG_PARAM 13
  1564. -#define SCE_T3_HTML_TAG 14
  1565. -#define SCE_T3_HTML_DEFAULT 15
  1566. -#define SCE_T3_HTML_STRING 16
  1567. -#define SCE_T3_USER1 17
  1568. -#define SCE_T3_USER2 18
  1569. -#define SCE_T3_USER3 19
  1570. -#define SCE_T3_BRACE 20
  1571. -#define SCE_REBOL_DEFAULT 0
  1572. -#define SCE_REBOL_COMMENTLINE 1
  1573. -#define SCE_REBOL_COMMENTBLOCK 2
  1574. -#define SCE_REBOL_PREFACE 3
  1575. -#define SCE_REBOL_OPERATOR 4
  1576. -#define SCE_REBOL_CHARACTER 5
  1577. -#define SCE_REBOL_QUOTEDSTRING 6
  1578. -#define SCE_REBOL_BRACEDSTRING 7
  1579. -#define SCE_REBOL_NUMBER 8
  1580. -#define SCE_REBOL_PAIR 9
  1581. -#define SCE_REBOL_TUPLE 10
  1582. -#define SCE_REBOL_BINARY 11
  1583. -#define SCE_REBOL_MONEY 12
  1584. -#define SCE_REBOL_ISSUE 13
  1585. -#define SCE_REBOL_TAG 14
  1586. -#define SCE_REBOL_FILE 15
  1587. -#define SCE_REBOL_EMAIL 16
  1588. -#define SCE_REBOL_URL 17
  1589. -#define SCE_REBOL_DATE 18
  1590. -#define SCE_REBOL_TIME 19
  1591. -#define SCE_REBOL_IDENTIFIER 20
  1592. -#define SCE_REBOL_WORD 21
  1593. -#define SCE_REBOL_WORD2 22
  1594. -#define SCE_REBOL_WORD3 23
  1595. -#define SCE_REBOL_WORD4 24
  1596. -#define SCE_REBOL_WORD5 25
  1597. -#define SCE_REBOL_WORD6 26
  1598. -#define SCE_REBOL_WORD7 27
  1599. -#define SCE_REBOL_WORD8 28
  1600. -#define SCE_SQL_DEFAULT 0
  1601. -#define SCE_SQL_COMMENT 1
  1602. -#define SCE_SQL_COMMENTLINE 2
  1603. -#define SCE_SQL_COMMENTDOC 3
  1604. -#define SCE_SQL_NUMBER 4
  1605. -#define SCE_SQL_WORD 5
  1606. -#define SCE_SQL_STRING 6
  1607. -#define SCE_SQL_CHARACTER 7
  1608. -#define SCE_SQL_SQLPLUS 8
  1609. -#define SCE_SQL_SQLPLUS_PROMPT 9
  1610. -#define SCE_SQL_OPERATOR 10
  1611. -#define SCE_SQL_IDENTIFIER 11
  1612. -#define SCE_SQL_SQLPLUS_COMMENT 13
  1613. -#define SCE_SQL_COMMENTLINEDOC 15
  1614. -#define SCE_SQL_WORD2 16
  1615. -#define SCE_SQL_COMMENTDOCKEYWORD 17
  1616. -#define SCE_SQL_COMMENTDOCKEYWORDERROR 18
  1617. -#define SCE_SQL_USER1 19
  1618. -#define SCE_SQL_USER2 20
  1619. -#define SCE_SQL_USER3 21
  1620. -#define SCE_SQL_USER4 22
  1621. -#define SCE_SQL_QUOTEDIDENTIFIER 23
  1622. -#define SCE_ST_DEFAULT 0
  1623. -#define SCE_ST_STRING 1
  1624. -#define SCE_ST_NUMBER 2
  1625. -#define SCE_ST_COMMENT 3
  1626. -#define SCE_ST_SYMBOL 4
  1627. -#define SCE_ST_BINARY 5
  1628. -#define SCE_ST_BOOL 6
  1629. -#define SCE_ST_SELF 7
  1630. -#define SCE_ST_SUPER 8
  1631. -#define SCE_ST_NIL 9
  1632. -#define SCE_ST_GLOBAL 10
  1633. -#define SCE_ST_RETURN 11
  1634. -#define SCE_ST_SPECIAL 12
  1635. -#define SCE_ST_KWSEND 13
  1636. -#define SCE_ST_ASSIGN 14
  1637. -#define SCE_ST_CHARACTER 15
  1638. -#define SCE_ST_SPEC_SEL 16
  1639. -#define SCE_FS_DEFAULT 0
  1640. -#define SCE_FS_COMMENT 1
  1641. -#define SCE_FS_COMMENTLINE 2
  1642. -#define SCE_FS_COMMENTDOC 3
  1643. -#define SCE_FS_COMMENTLINEDOC 4
  1644. -#define SCE_FS_COMMENTDOCKEYWORD 5
  1645. -#define SCE_FS_COMMENTDOCKEYWORDERROR 6
  1646. -#define SCE_FS_KEYWORD 7
  1647. -#define SCE_FS_KEYWORD2 8
  1648. -#define SCE_FS_KEYWORD3 9
  1649. -#define SCE_FS_KEYWORD4 10
  1650. -#define SCE_FS_NUMBER 11
  1651. -#define SCE_FS_STRING 12
  1652. -#define SCE_FS_PREPROCESSOR 13
  1653. -#define SCE_FS_OPERATOR 14
  1654. -#define SCE_FS_IDENTIFIER 15
  1655. -#define SCE_FS_DATE 16
  1656. -#define SCE_FS_STRINGEOL 17
  1657. -#define SCE_FS_CONSTANT 18
  1658. -#define SCE_FS_ASM 19
  1659. -#define SCE_FS_LABEL 20
  1660. -#define SCE_FS_ERROR 21
  1661. -#define SCE_FS_HEXNUMBER 22
  1662. -#define SCE_FS_BINNUMBER 23
  1663. -#define SCE_CSOUND_DEFAULT 0
  1664. -#define SCE_CSOUND_COMMENT 1
  1665. -#define SCE_CSOUND_NUMBER 2
  1666. -#define SCE_CSOUND_OPERATOR 3
  1667. -#define SCE_CSOUND_INSTR 4
  1668. -#define SCE_CSOUND_IDENTIFIER 5
  1669. -#define SCE_CSOUND_OPCODE 6
  1670. -#define SCE_CSOUND_HEADERSTMT 7
  1671. -#define SCE_CSOUND_USERKEYWORD 8
  1672. -#define SCE_CSOUND_COMMENTBLOCK 9
  1673. -#define SCE_CSOUND_PARAM 10
  1674. -#define SCE_CSOUND_ARATE_VAR 11
  1675. -#define SCE_CSOUND_KRATE_VAR 12
  1676. -#define SCE_CSOUND_IRATE_VAR 13
  1677. -#define SCE_CSOUND_GLOBAL_VAR 14
  1678. -#define SCE_CSOUND_STRINGEOL 15
  1679. -#define SCE_INNO_DEFAULT 0
  1680. -#define SCE_INNO_COMMENT 1
  1681. -#define SCE_INNO_KEYWORD 2
  1682. -#define SCE_INNO_PARAMETER 3
  1683. -#define SCE_INNO_SECTION 4
  1684. -#define SCE_INNO_PREPROC 5
  1685. -#define SCE_INNO_PREPROC_INLINE 6
  1686. -#define SCE_INNO_INLINE_EXPANSION 6
  1687. -#define SCE_INNO_COMMENT_PASCAL 7
  1688. -#define SCE_INNO_KEYWORD_PASCAL 8
  1689. -#define SCE_INNO_KEYWORD_USER 9
  1690. -#define SCE_INNO_STRING_DOUBLE 10
  1691. -#define SCE_INNO_STRING_SINGLE 11
  1692. -#define SCE_INNO_IDENTIFIER 12
  1693. -#define SCE_OPAL_SPACE 0
  1694. -#define SCE_OPAL_COMMENT_BLOCK 1
  1695. -#define SCE_OPAL_COMMENT_LINE 2
  1696. -#define SCE_OPAL_INTEGER 3
  1697. -#define SCE_OPAL_KEYWORD 4
  1698. -#define SCE_OPAL_SORT 5
  1699. -#define SCE_OPAL_STRING 6
  1700. -#define SCE_OPAL_PAR 7
  1701. -#define SCE_OPAL_BOOL_CONST 8
  1702. -#define SCE_OPAL_DEFAULT 32
  1703. -#define SCE_SPICE_DEFAULT 0
  1704. -#define SCE_SPICE_IDENTIFIER 1
  1705. -#define SCE_SPICE_KEYWORD 2
  1706. -#define SCE_SPICE_KEYWORD2 3
  1707. -#define SCE_SPICE_KEYWORD3 4
  1708. -#define SCE_SPICE_NUMBER 5
  1709. -#define SCE_SPICE_DELIMITER 6
  1710. -#define SCE_SPICE_VALUE 7
  1711. -#define SCE_SPICE_COMMENTLINE 8
  1712. -#define SCE_CMAKE_DEFAULT 0
  1713. -#define SCE_CMAKE_COMMENT 1
  1714. -#define SCE_CMAKE_STRINGDQ 2
  1715. -#define SCE_CMAKE_STRINGLQ 3
  1716. -#define SCE_CMAKE_STRINGRQ 4
  1717. -#define SCE_CMAKE_COMMANDS 5
  1718. -#define SCE_CMAKE_PARAMETERS 6
  1719. -#define SCE_CMAKE_VARIABLE 7
  1720. -#define SCE_CMAKE_USERDEFINED 8
  1721. -#define SCE_CMAKE_WHILEDEF 9
  1722. -#define SCE_CMAKE_FOREACHDEF 10
  1723. -#define SCE_CMAKE_IFDEFINEDEF 11
  1724. -#define SCE_CMAKE_MACRODEF 12
  1725. -#define SCE_CMAKE_STRINGVAR 13
  1726. -#define SCE_CMAKE_NUMBER 14
  1727. -#define SCE_GAP_DEFAULT 0
  1728. -#define SCE_GAP_IDENTIFIER 1
  1729. -#define SCE_GAP_KEYWORD 2
  1730. -#define SCE_GAP_KEYWORD2 3
  1731. -#define SCE_GAP_KEYWORD3 4
  1732. -#define SCE_GAP_KEYWORD4 5
  1733. -#define SCE_GAP_STRING 6
  1734. -#define SCE_GAP_CHAR 7
  1735. -#define SCE_GAP_OPERATOR 8
  1736. -#define SCE_GAP_COMMENT 9
  1737. -#define SCE_GAP_NUMBER 10
  1738. -#define SCE_GAP_STRINGEOL 11
  1739. -#define SCE_PLM_DEFAULT 0
  1740. -#define SCE_PLM_COMMENT 1
  1741. -#define SCE_PLM_STRING 2
  1742. -#define SCE_PLM_NUMBER 3
  1743. -#define SCE_PLM_IDENTIFIER 4
  1744. -#define SCE_PLM_OPERATOR 5
  1745. -#define SCE_PLM_CONTROL 6
  1746. -#define SCE_PLM_KEYWORD 7
  1747. -#define SCE_4GL_DEFAULT 0
  1748. -#define SCE_4GL_NUMBER 1
  1749. -#define SCE_4GL_WORD 2
  1750. -#define SCE_4GL_STRING 3
  1751. -#define SCE_4GL_CHARACTER 4
  1752. -#define SCE_4GL_PREPROCESSOR 5
  1753. -#define SCE_4GL_OPERATOR 6
  1754. -#define SCE_4GL_IDENTIFIER 7
  1755. -#define SCE_4GL_BLOCK 8
  1756. -#define SCE_4GL_END 9
  1757. -#define SCE_4GL_COMMENT1 10
  1758. -#define SCE_4GL_COMMENT2 11
  1759. -#define SCE_4GL_COMMENT3 12
  1760. -#define SCE_4GL_COMMENT4 13
  1761. -#define SCE_4GL_COMMENT5 14
  1762. -#define SCE_4GL_COMMENT6 15
  1763. -#define SCE_4GL_DEFAULT_ 16
  1764. -#define SCE_4GL_NUMBER_ 17
  1765. -#define SCE_4GL_WORD_ 18
  1766. -#define SCE_4GL_STRING_ 19
  1767. -#define SCE_4GL_CHARACTER_ 20
  1768. -#define SCE_4GL_PREPROCESSOR_ 21
  1769. -#define SCE_4GL_OPERATOR_ 22
  1770. -#define SCE_4GL_IDENTIFIER_ 23
  1771. -#define SCE_4GL_BLOCK_ 24
  1772. -#define SCE_4GL_END_ 25
  1773. -#define SCE_4GL_COMMENT1_ 26
  1774. -#define SCE_4GL_COMMENT2_ 27
  1775. -#define SCE_4GL_COMMENT3_ 28
  1776. -#define SCE_4GL_COMMENT4_ 29
  1777. -#define SCE_4GL_COMMENT5_ 30
  1778. -#define SCE_4GL_COMMENT6_ 31
  1779. -#define SCE_ABAQUS_DEFAULT 0
  1780. -#define SCE_ABAQUS_COMMENT 1
  1781. -#define SCE_ABAQUS_COMMENTBLOCK 2
  1782. -#define SCE_ABAQUS_NUMBER 3
  1783. -#define SCE_ABAQUS_STRING 4
  1784. -#define SCE_ABAQUS_OPERATOR 5
  1785. -#define SCE_ABAQUS_WORD 6
  1786. -#define SCE_ABAQUS_PROCESSOR 7
  1787. -#define SCE_ABAQUS_COMMAND 8
  1788. -#define SCE_ABAQUS_SLASHCOMMAND 9
  1789. -#define SCE_ABAQUS_STARCOMMAND 10
  1790. -#define SCE_ABAQUS_ARGUMENT 11
  1791. -#define SCE_ABAQUS_FUNCTION 12
  1792. -#define SCE_ASY_DEFAULT 0
  1793. -#define SCE_ASY_COMMENT 1
  1794. -#define SCE_ASY_COMMENTLINE 2
  1795. -#define SCE_ASY_NUMBER 3
  1796. -#define SCE_ASY_WORD 4
  1797. -#define SCE_ASY_STRING 5
  1798. -#define SCE_ASY_CHARACTER 6
  1799. -#define SCE_ASY_OPERATOR 7
  1800. -#define SCE_ASY_IDENTIFIER 8
  1801. -#define SCE_ASY_STRINGEOL 9
  1802. -#define SCE_ASY_COMMENTLINEDOC 10
  1803. -#define SCE_ASY_WORD2 11
  1804. -#define SCE_R_DEFAULT 0
  1805. -#define SCE_R_COMMENT 1
  1806. -#define SCE_R_KWORD 2
  1807. -#define SCE_R_BASEKWORD 3
  1808. -#define SCE_R_OTHERKWORD 4
  1809. -#define SCE_R_NUMBER 5
  1810. -#define SCE_R_STRING 6
  1811. -#define SCE_R_STRING2 7
  1812. -#define SCE_R_OPERATOR 8
  1813. -#define SCE_R_IDENTIFIER 9
  1814. -#define SCE_R_INFIX 10
  1815. -#define SCE_R_INFIXEOL 11
  1816. -#define SCE_MAGIK_DEFAULT 0
  1817. -#define SCE_MAGIK_COMMENT 1
  1818. -#define SCE_MAGIK_HYPER_COMMENT 16
  1819. -#define SCE_MAGIK_STRING 2
  1820. -#define SCE_MAGIK_CHARACTER 3
  1821. -#define SCE_MAGIK_NUMBER 4
  1822. -#define SCE_MAGIK_IDENTIFIER 5
  1823. -#define SCE_MAGIK_OPERATOR 6
  1824. -#define SCE_MAGIK_FLOW 7
  1825. -#define SCE_MAGIK_CONTAINER 8
  1826. -#define SCE_MAGIK_BRACKET_BLOCK 9
  1827. -#define SCE_MAGIK_BRACE_BLOCK 10
  1828. -#define SCE_MAGIK_SQBRACKET_BLOCK 11
  1829. -#define SCE_MAGIK_UNKNOWN_KEYWORD 12
  1830. -#define SCE_MAGIK_KEYWORD 13
  1831. -#define SCE_MAGIK_PRAGMA 14
  1832. -#define SCE_MAGIK_SYMBOL 15
  1833. -#define SCE_POWERSHELL_DEFAULT 0
  1834. -#define SCE_POWERSHELL_COMMENT 1
  1835. -#define SCE_POWERSHELL_STRING 2
  1836. -#define SCE_POWERSHELL_CHARACTER 3
  1837. -#define SCE_POWERSHELL_NUMBER 4
  1838. -#define SCE_POWERSHELL_VARIABLE 5
  1839. -#define SCE_POWERSHELL_OPERATOR 6
  1840. -#define SCE_POWERSHELL_IDENTIFIER 7
  1841. -#define SCE_POWERSHELL_KEYWORD 8
  1842. -#define SCE_POWERSHELL_CMDLET 9
  1843. -#define SCE_POWERSHELL_ALIAS 10
  1844. -#define SCE_MYSQL_DEFAULT 0
  1845. -#define SCE_MYSQL_COMMENT 1
  1846. -#define SCE_MYSQL_COMMENTLINE 2
  1847. -#define SCE_MYSQL_VARIABLE 3
  1848. -#define SCE_MYSQL_SYSTEMVARIABLE 4
  1849. -#define SCE_MYSQL_KNOWNSYSTEMVARIABLE 5
  1850. -#define SCE_MYSQL_NUMBER 6
  1851. -#define SCE_MYSQL_MAJORKEYWORD 7
  1852. -#define SCE_MYSQL_KEYWORD 8
  1853. -#define SCE_MYSQL_DATABASEOBJECT 9
  1854. -#define SCE_MYSQL_PROCEDUREKEYWORD 10
  1855. -#define SCE_MYSQL_STRING 11
  1856. -#define SCE_MYSQL_SQSTRING 12
  1857. -#define SCE_MYSQL_DQSTRING 13
  1858. -#define SCE_MYSQL_OPERATOR 14
  1859. -#define SCE_MYSQL_FUNCTION 15
  1860. -#define SCE_MYSQL_IDENTIFIER 16
  1861. -#define SCE_MYSQL_QUOTEDIDENTIFIER 17
  1862. -#define SCE_MYSQL_USER1 18
  1863. -#define SCE_MYSQL_USER2 19
  1864. -#define SCE_MYSQL_USER3 20
  1865. -#define SCE_MYSQL_HIDDENCOMMAND 21
  1866. -#define SCE_PO_DEFAULT 0
  1867. -#define SCE_PO_COMMENT 1
  1868. -#define SCE_PO_MSGID 2
  1869. -#define SCE_PO_MSGID_TEXT 3
  1870. -#define SCE_PO_MSGSTR 4
  1871. -#define SCE_PO_MSGSTR_TEXT 5
  1872. -#define SCE_PO_MSGCTXT 6
  1873. -#define SCE_PO_MSGCTXT_TEXT 7
  1874. -#define SCE_PO_FUZZY 8
  1875. -#define SCE_PAS_DEFAULT 0
  1876. -#define SCE_PAS_IDENTIFIER 1
  1877. -#define SCE_PAS_COMMENT 2
  1878. -#define SCE_PAS_COMMENT2 3
  1879. -#define SCE_PAS_COMMENTLINE 4
  1880. -#define SCE_PAS_PREPROCESSOR 5
  1881. -#define SCE_PAS_PREPROCESSOR2 6
  1882. -#define SCE_PAS_NUMBER 7
  1883. -#define SCE_PAS_HEXNUMBER 8
  1884. -#define SCE_PAS_WORD 9
  1885. -#define SCE_PAS_STRING 10
  1886. -#define SCE_PAS_STRINGEOL 11
  1887. -#define SCE_PAS_CHARACTER 12
  1888. -#define SCE_PAS_OPERATOR 13
  1889. -#define SCE_PAS_ASM 14
  1890. -#define SCE_SORCUS_DEFAULT 0
  1891. -#define SCE_SORCUS_COMMAND 1
  1892. -#define SCE_SORCUS_PARAMETER 2
  1893. -#define SCE_SORCUS_COMMENTLINE 3
  1894. -#define SCE_SORCUS_STRING 4
  1895. -#define SCE_SORCUS_STRINGEOL 5
  1896. -#define SCE_SORCUS_IDENTIFIER 6
  1897. -#define SCE_SORCUS_OPERATOR 7
  1898. -#define SCE_SORCUS_NUMBER 8
  1899. -#define SCE_SORCUS_CONSTANT 9
  1900. -#define SCE_POWERPRO_DEFAULT 0
  1901. -#define SCE_POWERPRO_COMMENTBLOCK 1
  1902. -#define SCE_POWERPRO_COMMENTLINE 2
  1903. -#define SCE_POWERPRO_NUMBER 3
  1904. -#define SCE_POWERPRO_WORD 4
  1905. -#define SCE_POWERPRO_WORD2 5
  1906. -#define SCE_POWERPRO_WORD3 6
  1907. -#define SCE_POWERPRO_WORD4 7
  1908. -#define SCE_POWERPRO_DOUBLEQUOTEDSTRING 8
  1909. -#define SCE_POWERPRO_SINGLEQUOTEDSTRING 9
  1910. -#define SCE_POWERPRO_LINECONTINUE 10
  1911. -#define SCE_POWERPRO_OPERATOR 11
  1912. -#define SCE_POWERPRO_IDENTIFIER 12
  1913. -#define SCE_POWERPRO_STRINGEOL 13
  1914. -#define SCE_POWERPRO_VERBATIM 14
  1915. -#define SCE_POWERPRO_ALTQUOTE 15
  1916. -#define SCE_POWERPRO_FUNCTION 16
  1917. -#define SCE_SML_DEFAULT 0
  1918. -#define SCE_SML_IDENTIFIER 1
  1919. -#define SCE_SML_TAGNAME 2
  1920. -#define SCE_SML_KEYWORD 3
  1921. -#define SCE_SML_KEYWORD2 4
  1922. -#define SCE_SML_KEYWORD3 5
  1923. -#define SCE_SML_LINENUM 6
  1924. -#define SCE_SML_OPERATOR 7
  1925. -#define SCE_SML_NUMBER 8
  1926. -#define SCE_SML_CHAR 9
  1927. -#define SCE_SML_STRING 11
  1928. -#define SCE_SML_COMMENT 12
  1929. -#define SCE_SML_COMMENT1 13
  1930. -#define SCE_SML_COMMENT2 14
  1931. -#define SCE_SML_COMMENT3 15
  1932. -#define SCE_MARKDOWN_DEFAULT 0
  1933. -#define SCE_MARKDOWN_LINE_BEGIN 1
  1934. -#define SCE_MARKDOWN_STRONG1 2
  1935. -#define SCE_MARKDOWN_STRONG2 3
  1936. -#define SCE_MARKDOWN_EM1 4
  1937. -#define SCE_MARKDOWN_EM2 5
  1938. -#define SCE_MARKDOWN_HEADER1 6
  1939. -#define SCE_MARKDOWN_HEADER2 7
  1940. -#define SCE_MARKDOWN_HEADER3 8
  1941. -#define SCE_MARKDOWN_HEADER4 9
  1942. -#define SCE_MARKDOWN_HEADER5 10
  1943. -#define SCE_MARKDOWN_HEADER6 11
  1944. -#define SCE_MARKDOWN_PRECHAR 12
  1945. -#define SCE_MARKDOWN_ULIST_ITEM 13
  1946. -#define SCE_MARKDOWN_OLIST_ITEM 14
  1947. -#define SCE_MARKDOWN_BLOCKQUOTE 15
  1948. -#define SCE_MARKDOWN_STRIKEOUT 16
  1949. -#define SCE_MARKDOWN_HRULE 17
  1950. -#define SCE_MARKDOWN_LINK 18
  1951. -#define SCE_MARKDOWN_CODE 19
  1952. -#define SCE_MARKDOWN_CODE2 20
  1953. -#define SCE_MARKDOWN_CODEBK 21
  1954. /* --Autogenerated -- end of section automatically generated from Scintilla.iface */
  1955. +// end modified by Mitchell
  1956. #endif
  1957. --- scite-latest/scintilla/include/Scintilla.h 2009-11-01 23:51:51.000000000 -0500
  1958. +++ scintillua/scintilla/include/Scintilla.h 2010-02-01 16:09:37.000000000 -0500
  1959. @@ -796,6 +796,7 @@
  1960. #define SCI_GETPROPERTYINT 4010
  1961. #define SCI_GETSTYLEBITSNEEDED 4011
  1962. #define SCI_GETLEXERLANGUAGE 4012
  1963. +#define SCI_GETSTYLENAME 4013 // added by Mitchell
  1964. #define SC_MOD_INSERTTEXT 0x1
  1965. #define SC_MOD_DELETETEXT 0x2
  1966. #define SC_MOD_CHANGESTYLE 0x4
  1967. --- scite-latest/scintilla/include/Scintilla.iface 2010-01-23 19:01:14.000000000 -0500
  1968. +++ scintillua/scintilla/include/Scintilla.iface 2010-02-01 16:09:37.000000000 -0500
  1969. @@ -2116,6 +2116,11 @@
  1970. # Return the length of the text.
  1971. get int GetLexerLanguage=4012(, stringresult text)
  1972. +# added by Mitchell
  1973. +# Retrieve the name associated with a style number.
  1974. +get int GetStyleName=4013(int style, stringresult stylename)
  1975. +# end added by Mitchell
  1976. +
  1977. # Notifications
  1978. # Type of modification and the action which caused the modification.
  1979. # These are defined as a bit mask to make it easy to specify which notifications are wanted.
  1980. @@ -2188,1535 +2193,13 @@
  1981. enu Lexer=SCLEX_
  1982. val SCLEX_CONTAINER=0
  1983. val SCLEX_NULL=1
  1984. -val SCLEX_PYTHON=2
  1985. -val SCLEX_CPP=3
  1986. -val SCLEX_HTML=4
  1987. -val SCLEX_XML=5
  1988. -val SCLEX_PERL=6
  1989. -val SCLEX_SQL=7
  1990. -val SCLEX_VB=8
  1991. -val SCLEX_PROPERTIES=9
  1992. -val SCLEX_ERRORLIST=10
  1993. -val SCLEX_MAKEFILE=11
  1994. -val SCLEX_BATCH=12
  1995. -val SCLEX_XCODE=13
  1996. -val SCLEX_LATEX=14
  1997. -val SCLEX_LUA=15
  1998. -val SCLEX_DIFF=16
  1999. -val SCLEX_CONF=17
  2000. -val SCLEX_PASCAL=18
  2001. -val SCLEX_AVE=19
  2002. -val SCLEX_ADA=20
  2003. -val SCLEX_LISP=21
  2004. -val SCLEX_RUBY=22
  2005. -val SCLEX_EIFFEL=23
  2006. -val SCLEX_EIFFELKW=24
  2007. -val SCLEX_TCL=25
  2008. -val SCLEX_NNCRONTAB=26
  2009. -val SCLEX_BULLANT=27
  2010. -val SCLEX_VBSCRIPT=28
  2011. -val SCLEX_BAAN=31
  2012. -val SCLEX_MATLAB=32
  2013. -val SCLEX_SCRIPTOL=33
  2014. -val SCLEX_ASM=34
  2015. -val SCLEX_CPPNOCASE=35
  2016. -val SCLEX_FORTRAN=36
  2017. -val SCLEX_F77=37
  2018. -val SCLEX_CSS=38
  2019. -val SCLEX_POV=39
  2020. -val SCLEX_LOUT=40
  2021. -val SCLEX_ESCRIPT=41
  2022. -val SCLEX_PS=42
  2023. -val SCLEX_NSIS=43
  2024. -val SCLEX_MMIXAL=44
  2025. -val SCLEX_CLW=45
  2026. -val SCLEX_CLWNOCASE=46
  2027. -val SCLEX_LOT=47
  2028. -val SCLEX_YAML=48
  2029. -val SCLEX_TEX=49
  2030. -val SCLEX_METAPOST=50
  2031. -val SCLEX_POWERBASIC=51
  2032. -val SCLEX_FORTH=52
  2033. -val SCLEX_ERLANG=53
  2034. -val SCLEX_OCTAVE=54
  2035. -val SCLEX_MSSQL=55
  2036. -val SCLEX_VERILOG=56
  2037. -val SCLEX_KIX=57
  2038. -val SCLEX_GUI4CLI=58
  2039. -val SCLEX_SPECMAN=59
  2040. -val SCLEX_AU3=60
  2041. -val SCLEX_APDL=61
  2042. -val SCLEX_BASH=62
  2043. -val SCLEX_ASN1=63
  2044. -val SCLEX_VHDL=64
  2045. -val SCLEX_CAML=65
  2046. -val SCLEX_BLITZBASIC=66
  2047. -val SCLEX_PUREBASIC=67
  2048. -val SCLEX_HASKELL=68
  2049. -val SCLEX_PHPSCRIPT=69
  2050. -val SCLEX_TADS3=70
  2051. -val SCLEX_REBOL=71
  2052. -val SCLEX_SMALLTALK=72
  2053. -val SCLEX_FLAGSHIP=73
  2054. -val SCLEX_CSOUND=74
  2055. -val SCLEX_FREEBASIC=75
  2056. -val SCLEX_INNOSETUP=76
  2057. -val SCLEX_OPAL=77
  2058. -val SCLEX_SPICE=78
  2059. -val SCLEX_D=79
  2060. -val SCLEX_CMAKE=80
  2061. -val SCLEX_GAP=81
  2062. -val SCLEX_PLM=82
  2063. -val SCLEX_PROGRESS=83
  2064. -val SCLEX_ABAQUS=84
  2065. -val SCLEX_ASYMPTOTE=85
  2066. -val SCLEX_R=86
  2067. -val SCLEX_MAGIK=87
  2068. -val SCLEX_POWERSHELL=88
  2069. -val SCLEX_MYSQL=89
  2070. -val SCLEX_PO=90
  2071. -val SCLEX_TAL=91
  2072. -val SCLEX_COBOL=92
  2073. -val SCLEX_TACL=93
  2074. -val SCLEX_SORCUS=94
  2075. -val SCLEX_POWERPRO=95
  2076. -val SCLEX_NIMROD=96
  2077. -val SCLEX_SML=97
  2078. -val SCLEX_MARKDOWN=98
  2079. +val SCLEX_LPEG=2
  2080. # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
  2081. # value assigned in sequence from SCLEX_AUTOMATIC+1.
  2082. val SCLEX_AUTOMATIC=1000
  2083. -# Lexical states for SCLEX_PYTHON
  2084. -lex Python=SCLEX_PYTHON SCE_P_
  2085. -lex Nimrod=SCLEX_NIMROD SCE_P_
  2086. -val SCE_P_DEFAULT=0
  2087. -val SCE_P_COMMENTLINE=1
  2088. -val SCE_P_NUMBER=2
  2089. -val SCE_P_STRING=3
  2090. -val SCE_P_CHARACTER=4
  2091. -val SCE_P_WORD=5
  2092. -val SCE_P_TRIPLE=6
  2093. -val SCE_P_TRIPLEDOUBLE=7
  2094. -val SCE_P_CLASSNAME=8
  2095. -val SCE_P_DEFNAME=9
  2096. -val SCE_P_OPERATOR=10
  2097. -val SCE_P_IDENTIFIER=11
  2098. -val SCE_P_COMMENTBLOCK=12
  2099. -val SCE_P_STRINGEOL=13
  2100. -val SCE_P_WORD2=14
  2101. -val SCE_P_DECORATOR=15
  2102. -# Lexical states for SCLEX_CPP
  2103. -lex Cpp=SCLEX_CPP SCE_C_
  2104. -lex BullAnt=SCLEX_BULLANT SCE_C_
  2105. -val SCE_C_DEFAULT=0
  2106. -val SCE_C_COMMENT=1
  2107. -val SCE_C_COMMENTLINE=2
  2108. -val SCE_C_COMMENTDOC=3
  2109. -val SCE_C_NUMBER=4
  2110. -val SCE_C_WORD=5
  2111. -val SCE_C_STRING=6
  2112. -val SCE_C_CHARACTER=7
  2113. -val SCE_C_UUID=8
  2114. -val SCE_C_PREPROCESSOR=9
  2115. -val SCE_C_OPERATOR=10
  2116. -val SCE_C_IDENTIFIER=11
  2117. -val SCE_C_STRINGEOL=12
  2118. -val SCE_C_VERBATIM=13
  2119. -val SCE_C_REGEX=14
  2120. -val SCE_C_COMMENTLINEDOC=15
  2121. -val SCE_C_WORD2=16
  2122. -val SCE_C_COMMENTDOCKEYWORD=17
  2123. -val SCE_C_COMMENTDOCKEYWORDERROR=18
  2124. -val SCE_C_GLOBALCLASS=19
  2125. -# Lexical states for SCLEX_D
  2126. -lex D=SCLEX_D SCE_D_
  2127. -val SCE_D_DEFAULT=0
  2128. -val SCE_D_COMMENT=1
  2129. -val SCE_D_COMMENTLINE=2
  2130. -val SCE_D_COMMENTDOC=3
  2131. -val SCE_D_COMMENTNESTED=4
  2132. -val SCE_D_NUMBER=5
  2133. -val SCE_D_WORD=6
  2134. -val SCE_D_WORD2=7
  2135. -val SCE_D_WORD3=8
  2136. -val SCE_D_TYPEDEF=9
  2137. -val SCE_D_STRING=10
  2138. -val SCE_D_STRINGEOL=11
  2139. -val SCE_D_CHARACTER=12
  2140. -val SCE_D_OPERATOR=13
  2141. -val SCE_D_IDENTIFIER=14
  2142. -val SCE_D_COMMENTLINEDOC=15
  2143. -val SCE_D_COMMENTDOCKEYWORD=16
  2144. -val SCE_D_COMMENTDOCKEYWORDERROR=17
  2145. -val SCE_D_STRINGB=18
  2146. -val SCE_D_STRINGR=19
  2147. -val SCE_D_WORD5=20
  2148. -val SCE_D_WORD6=21
  2149. -val SCE_D_WORD7=22
  2150. -# Lexical states for SCLEX_TCL
  2151. -lex TCL=SCLEX_TCL SCE_TCL_
  2152. -val SCE_TCL_DEFAULT=0
  2153. -val SCE_TCL_COMMENT=1
  2154. -val SCE_TCL_COMMENTLINE=2
  2155. -val SCE_TCL_NUMBER=3
  2156. -val SCE_TCL_WORD_IN_QUOTE=4
  2157. -val SCE_TCL_IN_QUOTE=5
  2158. -val SCE_TCL_OPERATOR=6
  2159. -val SCE_TCL_IDENTIFIER=7
  2160. -val SCE_TCL_SUBSTITUTION=8
  2161. -val SCE_TCL_SUB_BRACE=9
  2162. -val SCE_TCL_MODIFIER=10
  2163. -val SCE_TCL_EXPAND=11
  2164. -val SCE_TCL_WORD=12
  2165. -val SCE_TCL_WORD2=13
  2166. -val SCE_TCL_WORD3=14
  2167. -val SCE_TCL_WORD4=15
  2168. -val SCE_TCL_WORD5=16
  2169. -val SCE_TCL_WORD6=17
  2170. -val SCE_TCL_WORD7=18
  2171. -val SCE_TCL_WORD8=19
  2172. -val SCE_TCL_COMMENT_BOX=20
  2173. -val SCE_TCL_BLOCK_COMMENT=21
  2174. -# Lexical states for SCLEX_HTML, SCLEX_XML
  2175. -lex HTML=SCLEX_HTML SCE_H
  2176. -lex XML=SCLEX_XML SCE_H
  2177. -lex ASP=SCLEX_ASP SCE_H
  2178. -lex PHP=SCLEX_PHP SCE_H
  2179. -val SCE_H_DEFAULT=0
  2180. -val SCE_H_TAG=1
  2181. -val SCE_H_TAGUNKNOWN=2
  2182. -val SCE_H_ATTRIBUTE=3
  2183. -val SCE_H_ATTRIBUTEUNKNOWN=4
  2184. -val SCE_H_NUMBER=5
  2185. -val SCE_H_DOUBLESTRING=6
  2186. -val SCE_H_SINGLESTRING=7
  2187. -val SCE_H_OTHER=8
  2188. -val SCE_H_COMMENT=9
  2189. -val SCE_H_ENTITY=10
  2190. -# XML and ASP
  2191. -val SCE_H_TAGEND=11
  2192. -val SCE_H_XMLSTART=12
  2193. -val SCE_H_XMLEND=13
  2194. -val SCE_H_SCRIPT=14
  2195. -val SCE_H_ASP=15
  2196. -val SCE_H_ASPAT=16
  2197. -val SCE_H_CDATA=17
  2198. -val SCE_H_QUESTION=18
  2199. -# More HTML
  2200. -val SCE_H_VALUE=19
  2201. -# X-Code
  2202. -val SCE_H_XCCOMMENT=20
  2203. -# SGML
  2204. -val SCE_H_SGML_DEFAULT=21
  2205. -val SCE_H_SGML_COMMAND=22
  2206. -val SCE_H_SGML_1ST_PARAM=23
  2207. -val SCE_H_SGML_DOUBLESTRING=24
  2208. -val SCE_H_SGML_SIMPLESTRING=25
  2209. -val SCE_H_SGML_ERROR=26
  2210. -val SCE_H_SGML_SPECIAL=27
  2211. -val SCE_H_SGML_ENTITY=28
  2212. -val SCE_H_SGML_COMMENT=29
  2213. -val SCE_H_SGML_1ST_PARAM_COMMENT=30
  2214. -val SCE_H_SGML_BLOCK_DEFAULT=31
  2215. -# Embedded Javascript
  2216. -val SCE_HJ_START=40
  2217. -val SCE_HJ_DEFAULT=41
  2218. -val SCE_HJ_COMMENT=42
  2219. -val SCE_HJ_COMMENTLINE=43
  2220. -val SCE_HJ_COMMENTDOC=44
  2221. -val SCE_HJ_NUMBER=45
  2222. -val SCE_HJ_WORD=46
  2223. -val SCE_HJ_KEYWORD=47
  2224. -val SCE_HJ_DOUBLESTRING=48
  2225. -val SCE_HJ_SINGLESTRING=49
  2226. -val SCE_HJ_SYMBOLS=50
  2227. -val SCE_HJ_STRINGEOL=51
  2228. -val SCE_HJ_REGEX=52
  2229. -# ASP Javascript
  2230. -val SCE_HJA_START=55
  2231. -val SCE_HJA_DEFAULT=56
  2232. -val SCE_HJA_COMMENT=57
  2233. -val SCE_HJA_COMMENTLINE=58
  2234. -val SCE_HJA_COMMENTDOC=59
  2235. -val SCE_HJA_NUMBER=60
  2236. -val SCE_HJA_WORD=61
  2237. -val SCE_HJA_KEYWORD=62
  2238. -val SCE_HJA_DOUBLESTRING=63
  2239. -val SCE_HJA_SINGLESTRING=64
  2240. -val SCE_HJA_SYMBOLS=65
  2241. -val SCE_HJA_STRINGEOL=66
  2242. -val SCE_HJA_REGEX=67
  2243. -# Embedded VBScript
  2244. -val SCE_HB_START=70
  2245. -val SCE_HB_DEFAULT=71
  2246. -val SCE_HB_COMMENTLINE=72
  2247. -val SCE_HB_NUMBER=73
  2248. -val SCE_HB_WORD=74
  2249. -val SCE_HB_STRING=75
  2250. -val SCE_HB_IDENTIFIER=76
  2251. -val SCE_HB_STRINGEOL=77
  2252. -# ASP VBScript
  2253. -val SCE_HBA_START=80
  2254. -val SCE_HBA_DEFAULT=81
  2255. -val SCE_HBA_COMMENTLINE=82
  2256. -val SCE_HBA_NUMBER=83
  2257. -val SCE_HBA_WORD=84
  2258. -val SCE_HBA_STRING=85
  2259. -val SCE_HBA_IDENTIFIER=86
  2260. -val SCE_HBA_STRINGEOL=87
  2261. -# Embedded Python
  2262. -val SCE_HP_START=90
  2263. -val SCE_HP_DEFAULT=91
  2264. -val SCE_HP_COMMENTLINE=92
  2265. -val SCE_HP_NUMBER=93
  2266. -val SCE_HP_STRING=94
  2267. -val SCE_HP_CHARACTER=95
  2268. -val SCE_HP_WORD=96
  2269. -val SCE_HP_TRIPLE=97
  2270. -val SCE_HP_TRIPLEDOUBLE=98
  2271. -val SCE_HP_CLASSNAME=99
  2272. -val SCE_HP_DEFNAME=100
  2273. -val SCE_HP_OPERATOR=101
  2274. -val SCE_HP_IDENTIFIER=102
  2275. -# PHP
  2276. -val SCE_HPHP_COMPLEX_VARIABLE=104
  2277. -# ASP Python
  2278. -val SCE_HPA_START=105
  2279. -val SCE_HPA_DEFAULT=106
  2280. -val SCE_HPA_COMMENTLINE=107
  2281. -val SCE_HPA_NUMBER=108
  2282. -val SCE_HPA_STRING=109
  2283. -val SCE_HPA_CHARACTER=110
  2284. -val SCE_HPA_WORD=111
  2285. -val SCE_HPA_TRIPLE=112
  2286. -val SCE_HPA_TRIPLEDOUBLE=113
  2287. -val SCE_HPA_CLASSNAME=114
  2288. -val SCE_HPA_DEFNAME=115
  2289. -val SCE_HPA_OPERATOR=116
  2290. -val SCE_HPA_IDENTIFIER=117
  2291. -# PHP
  2292. -val SCE_HPHP_DEFAULT=118
  2293. -val SCE_HPHP_HSTRING=119
  2294. -val SCE_HPHP_SIMPLESTRING=120
  2295. -val SCE_HPHP_WORD=121
  2296. -val SCE_HPHP_NUMBER=122
  2297. -val SCE_HPHP_VARIABLE=123
  2298. -val SCE_HPHP_COMMENT=124
  2299. -val SCE_HPHP_COMMENTLINE=125
  2300. -val SCE_HPHP_HSTRING_VARIABLE=126
  2301. -val SCE_HPHP_OPERATOR=127
  2302. -# Lexical states for SCLEX_PERL
  2303. -lex Perl=SCLEX_PERL SCE_PL_
  2304. -val SCE_PL_DEFAULT=0
  2305. -val SCE_PL_ERROR=1
  2306. -val SCE_PL_COMMENTLINE=2
  2307. -val SCE_PL_POD=3
  2308. -val SCE_PL_NUMBER=4
  2309. -val SCE_PL_WORD=5
  2310. -val SCE_PL_STRING=6
  2311. -val SCE_PL_CHARACTER=7
  2312. -val SCE_PL_PUNCTUATION=8
  2313. -val SCE_PL_PREPROCESSOR=9
  2314. -val SCE_PL_OPERATOR=10
  2315. -val SCE_PL_IDENTIFIER=11
  2316. -val SCE_PL_SCALAR=12
  2317. -val SCE_PL_ARRAY=13
  2318. -val SCE_PL_HASH=14
  2319. -val SCE_PL_SYMBOLTABLE=15
  2320. -val SCE_PL_VARIABLE_INDEXER=16
  2321. -val SCE_PL_REGEX=17
  2322. -val SCE_PL_REGSUBST=18
  2323. -val SCE_PL_LONGQUOTE=19
  2324. -val SCE_PL_BACKTICKS=20
  2325. -val SCE_PL_DATASECTION=21
  2326. -val SCE_PL_HERE_DELIM=22
  2327. -val SCE_PL_HERE_Q=23
  2328. -val SCE_PL_HERE_QQ=24
  2329. -val SCE_PL_HERE_QX=25
  2330. -val SCE_PL_STRING_Q=26
  2331. -val SCE_PL_STRING_QQ=27
  2332. -val SCE_PL_STRING_QX=28
  2333. -val SCE_PL_STRING_QR=29
  2334. -val SCE_PL_STRING_QW=30
  2335. -val SCE_PL_POD_VERB=31
  2336. -val SCE_PL_SUB_PROTOTYPE=40
  2337. -val SCE_PL_FORMAT_IDENT=41
  2338. -val SCE_PL_FORMAT=42
  2339. -# Lexical states for SCLEX_RUBY
  2340. -lex Ruby=SCLEX_RUBY SCE_RB_
  2341. -val SCE_RB_DEFAULT=0
  2342. -val SCE_RB_ERROR=1
  2343. -val SCE_RB_COMMENTLINE=2
  2344. -val SCE_RB_POD=3
  2345. -val SCE_RB_NUMBER=4
  2346. -val SCE_RB_WORD=5
  2347. -val SCE_RB_STRING=6
  2348. -val SCE_RB_CHARACTER=7
  2349. -val SCE_RB_CLASSNAME=8
  2350. -val SCE_RB_DEFNAME=9
  2351. -val SCE_RB_OPERATOR=10
  2352. -val SCE_RB_IDENTIFIER=11
  2353. -val SCE_RB_REGEX=12
  2354. -val SCE_RB_GLOBAL=13
  2355. -val SCE_RB_SYMBOL=14
  2356. -val SCE_RB_MODULE_NAME=15
  2357. -val SCE_RB_INSTANCE_VAR=16
  2358. -val SCE_RB_CLASS_VAR=17
  2359. -val SCE_RB_BACKTICKS=18
  2360. -val SCE_RB_DATASECTION=19
  2361. -val SCE_RB_HERE_DELIM=20
  2362. -val SCE_RB_HERE_Q=21
  2363. -val SCE_RB_HERE_QQ=22
  2364. -val SCE_RB_HERE_QX=23
  2365. -val SCE_RB_STRING_Q=24
  2366. -val SCE_RB_STRING_QQ=25
  2367. -val SCE_RB_STRING_QX=26
  2368. -val SCE_RB_STRING_QR=27
  2369. -val SCE_RB_STRING_QW=28
  2370. -val SCE_RB_WORD_DEMOTED=29
  2371. -val SCE_RB_STDIN=30
  2372. -val SCE_RB_STDOUT=31
  2373. -val SCE_RB_STDERR=40
  2374. -val SCE_RB_UPPER_BOUND=41
  2375. -# Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC
  2376. -lex VB=SCLEX_VB SCE_B_
  2377. -lex VBScript=SCLEX_VBSCRIPT SCE_B_
  2378. -lex PowerBasic=SCLEX_POWERBASIC SCE_B_
  2379. -val SCE_B_DEFAULT=0
  2380. -val SCE_B_COMMENT=1
  2381. -val SCE_B_NUMBER=2
  2382. -val SCE_B_KEYWORD=3
  2383. -val SCE_B_STRING=4
  2384. -val SCE_B_PREPROCESSOR=5
  2385. -val SCE_B_OPERATOR=6
  2386. -val SCE_B_IDENTIFIER=7
  2387. -val SCE_B_DATE=8
  2388. -val SCE_B_STRINGEOL=9
  2389. -val SCE_B_KEYWORD2=10
  2390. -val SCE_B_KEYWORD3=11
  2391. -val SCE_B_KEYWORD4=12
  2392. -val SCE_B_CONSTANT=13
  2393. -val SCE_B_ASM=14
  2394. -val SCE_B_LABEL=15
  2395. -val SCE_B_ERROR=16
  2396. -val SCE_B_HEXNUMBER=17
  2397. -val SCE_B_BINNUMBER=18
  2398. -# Lexical states for SCLEX_PROPERTIES
  2399. -lex Properties=SCLEX_PROPERTIES SCE_PROPS_
  2400. -val SCE_PROPS_DEFAULT=0
  2401. -val SCE_PROPS_COMMENT=1
  2402. -val SCE_PROPS_SECTION=2
  2403. -val SCE_PROPS_ASSIGNMENT=3
  2404. -val SCE_PROPS_DEFVAL=4
  2405. -val SCE_PROPS_KEY=5
  2406. -# Lexical states for SCLEX_LATEX
  2407. -lex LaTeX=SCLEX_LATEX SCE_L_
  2408. -val SCE_L_DEFAULT=0
  2409. -val SCE_L_COMMAND=1
  2410. -val SCE_L_TAG=2
  2411. -val SCE_L_MATH=3
  2412. -val SCE_L_COMMENT=4
  2413. -# Lexical states for SCLEX_LUA
  2414. -lex Lua=SCLEX_LUA SCE_LUA_
  2415. -val SCE_LUA_DEFAULT=0
  2416. -val SCE_LUA_COMMENT=1
  2417. -val SCE_LUA_COMMENTLINE=2
  2418. -val SCE_LUA_COMMENTDOC=3
  2419. -val SCE_LUA_NUMBER=4
  2420. -val SCE_LUA_WORD=5
  2421. -val SCE_LUA_STRING=6
  2422. -val SCE_LUA_CHARACTER=7
  2423. -val SCE_LUA_LITERALSTRING=8
  2424. -val SCE_LUA_PREPROCESSOR=9
  2425. -val SCE_LUA_OPERATOR=10
  2426. -val SCE_LUA_IDENTIFIER=11
  2427. -val SCE_LUA_STRINGEOL=12
  2428. -val SCE_LUA_WORD2=13
  2429. -val SCE_LUA_WORD3=14
  2430. -val SCE_LUA_WORD4=15
  2431. -val SCE_LUA_WORD5=16
  2432. -val SCE_LUA_WORD6=17
  2433. -val SCE_LUA_WORD7=18
  2434. -val SCE_LUA_WORD8=19
  2435. -# Lexical states for SCLEX_ERRORLIST
  2436. -lex ErrorList=SCLEX_ERRORLIST SCE_ERR_
  2437. -val SCE_ERR_DEFAULT=0
  2438. -val SCE_ERR_PYTHON=1
  2439. -val SCE_ERR_GCC=2
  2440. -val SCE_ERR_MS=3
  2441. -val SCE_ERR_CMD=4
  2442. -val SCE_ERR_BORLAND=5
  2443. -val SCE_ERR_PERL=6
  2444. -val SCE_ERR_NET=7
  2445. -val SCE_ERR_LUA=8
  2446. -val SCE_ERR_CTAG=9
  2447. -val SCE_ERR_DIFF_CHANGED=10
  2448. -val SCE_ERR_DIFF_ADDITION=11
  2449. -val SCE_ERR_DIFF_DELETION=12
  2450. -val SCE_ERR_DIFF_MESSAGE=13
  2451. -val SCE_ERR_PHP=14
  2452. -val SCE_ERR_ELF=15
  2453. -val SCE_ERR_IFC=16
  2454. -val SCE_ERR_IFORT=17
  2455. -val SCE_ERR_ABSF=18
  2456. -val SCE_ERR_TIDY=19
  2457. -val SCE_ERR_JAVA_STACK=20
  2458. -val SCE_ERR_VALUE=21
  2459. -# Lexical states for SCLEX_BATCH
  2460. -lex Batch=SCLEX_BATCH SCE_BAT_
  2461. -val SCE_BAT_DEFAULT=0
  2462. -val SCE_BAT_COMMENT=1
  2463. -val SCE_BAT_WORD=2
  2464. -val SCE_BAT_LABEL=3
  2465. -val SCE_BAT_HIDE=4
  2466. -val SCE_BAT_COMMAND=5
  2467. -val SCE_BAT_IDENTIFIER=6
  2468. -val SCE_BAT_OPERATOR=7
  2469. -# Lexical states for SCLEX_MAKEFILE
  2470. -lex MakeFile=SCLEX_MAKEFILE SCE_MAKE_
  2471. -val SCE_MAKE_DEFAULT=0
  2472. -val SCE_MAKE_COMMENT=1
  2473. -val SCE_MAKE_PREPROCESSOR=2
  2474. -val SCE_MAKE_IDENTIFIER=3
  2475. -val SCE_MAKE_OPERATOR=4
  2476. -val SCE_MAKE_TARGET=5
  2477. -val SCE_MAKE_IDEOL=9
  2478. -# Lexical states for SCLEX_DIFF
  2479. -lex Diff=SCLEX_DIFF SCE_DIFF_
  2480. -val SCE_DIFF_DEFAULT=0
  2481. -val SCE_DIFF_COMMENT=1
  2482. -val SCE_DIFF_COMMAND=2
  2483. -val SCE_DIFF_HEADER=3
  2484. -val SCE_DIFF_POSITION=4
  2485. -val SCE_DIFF_DELETED=5
  2486. -val SCE_DIFF_ADDED=6
  2487. -val SCE_DIFF_CHANGED=7
  2488. -# Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)
  2489. -lex Conf=SCLEX_CONF SCE_CONF_
  2490. -val SCE_CONF_DEFAULT=0
  2491. -val SCE_CONF_COMMENT=1
  2492. -val SCE_CONF_NUMBER=2
  2493. -val SCE_CONF_IDENTIFIER=3
  2494. -val SCE_CONF_EXTENSION=4
  2495. -val SCE_CONF_PARAMETER=5
  2496. -val SCE_CONF_STRING=6
  2497. -val SCE_CONF_OPERATOR=7
  2498. -val SCE_CONF_IP=8
  2499. -val SCE_CONF_DIRECTIVE=9
  2500. -# Lexical states for SCLEX_AVE, Avenue
  2501. -lex Avenue=SCLEX_AVE SCE_AVE_
  2502. -val SCE_AVE_DEFAULT=0
  2503. -val SCE_AVE_COMMENT=1
  2504. -val SCE_AVE_NUMBER=2
  2505. -val SCE_AVE_WORD=3
  2506. -val SCE_AVE_STRING=6
  2507. -val SCE_AVE_ENUM=7
  2508. -val SCE_AVE_STRINGEOL=8
  2509. -val SCE_AVE_IDENTIFIER=9
  2510. -val SCE_AVE_OPERATOR=10
  2511. -val SCE_AVE_WORD1=11
  2512. -val SCE_AVE_WORD2=12
  2513. -val SCE_AVE_WORD3=13
  2514. -val SCE_AVE_WORD4=14
  2515. -val SCE_AVE_WORD5=15
  2516. -val SCE_AVE_WORD6=16
  2517. -# Lexical states for SCLEX_ADA
  2518. -lex Ada=SCLEX_ADA SCE_ADA_
  2519. -val SCE_ADA_DEFAULT=0
  2520. -val SCE_ADA_WORD=1
  2521. -val SCE_ADA_IDENTIFIER=2
  2522. -val SCE_ADA_NUMBER=3
  2523. -val SCE_ADA_DELIMITER=4
  2524. -val SCE_ADA_CHARACTER=5
  2525. -val SCE_ADA_CHARACTEREOL=6
  2526. -val SCE_ADA_STRING=7
  2527. -val SCE_ADA_STRINGEOL=8
  2528. -val SCE_ADA_LABEL=9
  2529. -val SCE_ADA_COMMENTLINE=10
  2530. -val SCE_ADA_ILLEGAL=11
  2531. -# Lexical states for SCLEX_BAAN
  2532. -lex Baan=SCLEX_BAAN SCE_BAAN_
  2533. -val SCE_BAAN_DEFAULT=0
  2534. -val SCE_BAAN_COMMENT=1
  2535. -val SCE_BAAN_COMMENTDOC=2
  2536. -val SCE_BAAN_NUMBER=3
  2537. -val SCE_BAAN_WORD=4
  2538. -val SCE_BAAN_STRING=5
  2539. -val SCE_BAAN_PREPROCESSOR=6
  2540. -val SCE_BAAN_OPERATOR=7
  2541. -val SCE_BAAN_IDENTIFIER=8
  2542. -val SCE_BAAN_STRINGEOL=9
  2543. -val SCE_BAAN_WORD2=10
  2544. -# Lexical states for SCLEX_LISP
  2545. -lex Lisp=SCLEX_LISP SCE_LISP_
  2546. -val SCE_LISP_DEFAULT=0
  2547. -val SCE_LISP_COMMENT=1
  2548. -val SCE_LISP_NUMBER=2
  2549. -val SCE_LISP_KEYWORD=3
  2550. -val SCE_LISP_KEYWORD_KW=4
  2551. -val SCE_LISP_SYMBOL=5
  2552. -val SCE_LISP_STRING=6
  2553. -val SCE_LISP_STRINGEOL=8
  2554. -val SCE_LISP_IDENTIFIER=9
  2555. -val SCE_LISP_OPERATOR=10
  2556. -val SCE_LISP_SPECIAL=11
  2557. -val SCE_LISP_MULTI_COMMENT=12
  2558. -# Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW
  2559. -lex Eiffel=SCLEX_EIFFEL SCE_EIFFEL_
  2560. -lex EiffelKW=SCLEX_EIFFELKW SCE_EIFFEL_
  2561. -val SCE_EIFFEL_DEFAULT=0
  2562. -val SCE_EIFFEL_COMMENTLINE=1
  2563. -val SCE_EIFFEL_NUMBER=2
  2564. -val SCE_EIFFEL_WORD=3
  2565. -val SCE_EIFFEL_STRING=4
  2566. -val SCE_EIFFEL_CHARACTER=5
  2567. -val SCE_EIFFEL_OPERATOR=6
  2568. -val SCE_EIFFEL_IDENTIFIER=7
  2569. -val SCE_EIFFEL_STRINGEOL=8
  2570. -# Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer)
  2571. -lex NNCronTab=SCLEX_NNCRONTAB SCE_NNCRONTAB_
  2572. -val SCE_NNCRONTAB_DEFAULT=0
  2573. -val SCE_NNCRONTAB_COMMENT=1
  2574. -val SCE_NNCRONTAB_TASK=2
  2575. -val SCE_NNCRONTAB_SECTION=3
  2576. -val SCE_NNCRONTAB_KEYWORD=4
  2577. -val SCE_NNCRONTAB_MODIFIER=5
  2578. -val SCE_NNCRONTAB_ASTERISK=6
  2579. -val SCE_NNCRONTAB_NUMBER=7
  2580. -val SCE_NNCRONTAB_STRING=8
  2581. -val SCE_NNCRONTAB_ENVIRONMENT=9
  2582. -val SCE_NNCRONTAB_IDENTIFIER=10
  2583. -# Lexical states for SCLEX_FORTH (Forth Lexer)
  2584. -lex Forth=SCLEX_FORTH SCE_FORTH_
  2585. -val SCE_FORTH_DEFAULT=0
  2586. -val SCE_FORTH_COMMENT=1
  2587. -val SCE_FORTH_COMMENT_ML=2
  2588. -val SCE_FORTH_IDENTIFIER=3
  2589. -val SCE_FORTH_CONTROL=4
  2590. -val SCE_FORTH_KEYWORD=5
  2591. -val SCE_FORTH_DEFWORD=6
  2592. -val SCE_FORTH_PREWORD1=7
  2593. -val SCE_FORTH_PREWORD2=8
  2594. -val SCE_FORTH_NUMBER=9
  2595. -val SCE_FORTH_STRING=10
  2596. -val SCE_FORTH_LOCALE=11
  2597. -# Lexical states for SCLEX_MATLAB
  2598. -lex MatLab=SCLEX_MATLAB SCE_MATLAB_
  2599. -val SCE_MATLAB_DEFAULT=0
  2600. -val SCE_MATLAB_COMMENT=1
  2601. -val SCE_MATLAB_COMMAND=2
  2602. -val SCE_MATLAB_NUMBER=3
  2603. -val SCE_MATLAB_KEYWORD=4
  2604. -# single quoted string
  2605. -val SCE_MATLAB_STRING=5
  2606. -val SCE_MATLAB_OPERATOR=6
  2607. -val SCE_MATLAB_IDENTIFIER=7
  2608. -val SCE_MATLAB_DOUBLEQUOTESTRING=8
  2609. -# Lexical states for SCLEX_SCRIPTOL
  2610. -lex Sol=SCLEX_SCRIPTOL SCE_SCRIPTOL_
  2611. -val SCE_SCRIPTOL_DEFAULT=0
  2612. -val SCE_SCRIPTOL_WHITE=1
  2613. -val SCE_SCRIPTOL_COMMENTLINE=2
  2614. -val SCE_SCRIPTOL_PERSISTENT=3
  2615. -val SCE_SCRIPTOL_CSTYLE=4
  2616. -val SCE_SCRIPTOL_COMMENTBLOCK=5
  2617. -val SCE_SCRIPTOL_NUMBER=6
  2618. -val SCE_SCRIPTOL_STRING=7
  2619. -val SCE_SCRIPTOL_CHARACTER=8
  2620. -val SCE_SCRIPTOL_STRINGEOL=9
  2621. -val SCE_SCRIPTOL_KEYWORD=10
  2622. -val SCE_SCRIPTOL_OPERATOR=11
  2623. -val SCE_SCRIPTOL_IDENTIFIER=12
  2624. -val SCE_SCRIPTOL_TRIPLE=13
  2625. -val SCE_SCRIPTOL_CLASSNAME=14
  2626. -val SCE_SCRIPTOL_PREPROCESSOR=15
  2627. -# Lexical states for SCLEX_ASM
  2628. -lex Asm=SCLEX_ASM SCE_ASM_
  2629. -val SCE_ASM_DEFAULT=0
  2630. -val SCE_ASM_COMMENT=1
  2631. -val SCE_ASM_NUMBER=2
  2632. -val SCE_ASM_STRING=3
  2633. -val SCE_ASM_OPERATOR=4
  2634. -val SCE_ASM_IDENTIFIER=5
  2635. -val SCE_ASM_CPUINSTRUCTION=6
  2636. -val SCE_ASM_MATHINSTRUCTION=7
  2637. -val SCE_ASM_REGISTER=8
  2638. -val SCE_ASM_DIRECTIVE=9
  2639. -val SCE_ASM_DIRECTIVEOPERAND=10
  2640. -val SCE_ASM_COMMENTBLOCK=11
  2641. -val SCE_ASM_CHARACTER=12
  2642. -val SCE_ASM_STRINGEOL=13
  2643. -val SCE_ASM_EXTINSTRUCTION=14
  2644. -# Lexical states for SCLEX_FORTRAN
  2645. -lex Fortran=SCLEX_FORTRAN SCE_F_
  2646. -lex F77=SCLEX_F77 SCE_F_
  2647. -val SCE_F_DEFAULT=0
  2648. -val SCE_F_COMMENT=1
  2649. -val SCE_F_NUMBER=2
  2650. -val SCE_F_STRING1=3
  2651. -val SCE_F_STRING2=4
  2652. -val SCE_F_STRINGEOL=5
  2653. -val SCE_F_OPERATOR=6
  2654. -val SCE_F_IDENTIFIER=7
  2655. -val SCE_F_WORD=8
  2656. -val SCE_F_WORD2=9
  2657. -val SCE_F_WORD3=10
  2658. -val SCE_F_PREPROCESSOR=11
  2659. -val SCE_F_OPERATOR2=12
  2660. -val SCE_F_LABEL=13
  2661. -val SCE_F_CONTINUATION=14
  2662. -# Lexical states for SCLEX_CSS
  2663. -lex CSS=SCLEX_CSS SCE_CSS_
  2664. -val SCE_CSS_DEFAULT=0
  2665. -val SCE_CSS_TAG=1
  2666. -val SCE_CSS_CLASS=2
  2667. -val SCE_CSS_PSEUDOCLASS=3
  2668. -val SCE_CSS_UNKNOWN_PSEUDOCLASS=4
  2669. -val SCE_CSS_OPERATOR=5
  2670. -val SCE_CSS_IDENTIFIER=6
  2671. -val SCE_CSS_UNKNOWN_IDENTIFIER=7
  2672. -val SCE_CSS_VALUE=8
  2673. -val SCE_CSS_COMMENT=9
  2674. -val SCE_CSS_ID=10
  2675. -val SCE_CSS_IMPORTANT=11
  2676. -val SCE_CSS_DIRECTIVE=12
  2677. -val SCE_CSS_DOUBLESTRING=13
  2678. -val SCE_CSS_SINGLESTRING=14
  2679. -val SCE_CSS_IDENTIFIER2=15
  2680. -val SCE_CSS_ATTRIBUTE=16
  2681. -val SCE_CSS_IDENTIFIER3=17
  2682. -val SCE_CSS_PSEUDOELEMENT=18
  2683. -val SCE_CSS_EXTENDED_IDENTIFIER=19
  2684. -val SCE_CSS_EXTENDED_PSEUDOCLASS=20
  2685. -val SCE_CSS_EXTENDED_PSEUDOELEMENT=21
  2686. -# Lexical states for SCLEX_POV
  2687. -lex POV=SCLEX_POV SCE_POV_
  2688. -val SCE_POV_DEFAULT=0
  2689. -val SCE_POV_COMMENT=1
  2690. -val SCE_POV_COMMENTLINE=2
  2691. -val SCE_POV_NUMBER=3
  2692. -val SCE_POV_OPERATOR=4
  2693. -val SCE_POV_IDENTIFIER=5
  2694. -val SCE_POV_STRING=6
  2695. -val SCE_POV_STRINGEOL=7
  2696. -val SCE_POV_DIRECTIVE=8
  2697. -val SCE_POV_BADDIRECTIVE=9
  2698. -val SCE_POV_WORD2=10
  2699. -val SCE_POV_WORD3=11
  2700. -val SCE_POV_WORD4=12
  2701. -val SCE_POV_WORD5=13
  2702. -val SCE_POV_WORD6=14
  2703. -val SCE_POV_WORD7=15
  2704. -val SCE_POV_WORD8=16
  2705. -# Lexical states for SCLEX_LOUT
  2706. -lex LOUT=SCLEX_LOUT SCE_LOUT_
  2707. -val SCE_LOUT_DEFAULT=0
  2708. -val SCE_LOUT_COMMENT=1
  2709. -val SCE_LOUT_NUMBER=2
  2710. -val SCE_LOUT_WORD=3
  2711. -val SCE_LOUT_WORD2=4
  2712. -val SCE_LOUT_WORD3=5
  2713. -val SCE_LOUT_WORD4=6
  2714. -val SCE_LOUT_STRING=7
  2715. -val SCE_LOUT_OPERATOR=8
  2716. -val SCE_LOUT_IDENTIFIER=9
  2717. -val SCE_LOUT_STRINGEOL=10
  2718. -# Lexical states for SCLEX_ESCRIPT
  2719. -lex ESCRIPT=SCLEX_ESCRIPT SCE_ESCRIPT_
  2720. -val SCE_ESCRIPT_DEFAULT=0
  2721. -val SCE_ESCRIPT_COMMENT=1
  2722. -val SCE_ESCRIPT_COMMENTLINE=2
  2723. -val SCE_ESCRIPT_COMMENTDOC=3
  2724. -val SCE_ESCRIPT_NUMBER=4
  2725. -val SCE_ESCRIPT_WORD=5
  2726. -val SCE_ESCRIPT_STRING=6
  2727. -val SCE_ESCRIPT_OPERATOR=7
  2728. -val SCE_ESCRIPT_IDENTIFIER=8
  2729. -val SCE_ESCRIPT_BRACE=9
  2730. -val SCE_ESCRIPT_WORD2=10
  2731. -val SCE_ESCRIPT_WORD3=11
  2732. -# Lexical states for SCLEX_PS
  2733. -lex PS=SCLEX_PS SCE_PS_
  2734. -val SCE_PS_DEFAULT=0
  2735. -val SCE_PS_COMMENT=1
  2736. -val SCE_PS_DSC_COMMENT=2
  2737. -val SCE_PS_DSC_VALUE=3
  2738. -val SCE_PS_NUMBER=4
  2739. -val SCE_PS_NAME=5
  2740. -val SCE_PS_KEYWORD=6
  2741. -val SCE_PS_LITERAL=7
  2742. -val SCE_PS_IMMEVAL=8
  2743. -val SCE_PS_PAREN_ARRAY=9
  2744. -val SCE_PS_PAREN_DICT=10
  2745. -val SCE_PS_PAREN_PROC=11
  2746. -val SCE_PS_TEXT=12
  2747. -val SCE_PS_HEXSTRING=13
  2748. -val SCE_PS_BASE85STRING=14
  2749. -val SCE_PS_BADSTRINGCHAR=15
  2750. -# Lexical states for SCLEX_NSIS
  2751. -lex NSIS=SCLEX_NSIS SCE_NSIS_
  2752. -val SCE_NSIS_DEFAULT=0
  2753. -val SCE_NSIS_COMMENT=1
  2754. -val SCE_NSIS_STRINGDQ=2
  2755. -val SCE_NSIS_STRINGLQ=3
  2756. -val SCE_NSIS_STRINGRQ=4
  2757. -val SCE_NSIS_FUNCTION=5
  2758. -val SCE_NSIS_VARIABLE=6
  2759. -val SCE_NSIS_LABEL=7
  2760. -val SCE_NSIS_USERDEFINED=8
  2761. -val SCE_NSIS_SECTIONDEF=9
  2762. -val SCE_NSIS_SUBSECTIONDEF=10
  2763. -val SCE_NSIS_IFDEFINEDEF=11
  2764. -val SCE_NSIS_MACRODEF=12
  2765. -val SCE_NSIS_STRINGVAR=13
  2766. -val SCE_NSIS_NUMBER=14
  2767. -val SCE_NSIS_SECTIONGROUP=15
  2768. -val SCE_NSIS_PAGEEX=16
  2769. -val SCE_NSIS_FUNCTIONDEF=17
  2770. -val SCE_NSIS_COMMENTBOX=18
  2771. -# Lexical states for SCLEX_MMIXAL
  2772. -lex MMIXAL=SCLEX_MMIXAL SCE_MMIXAL_
  2773. -val SCE_MMIXAL_LEADWS=0
  2774. -val SCE_MMIXAL_COMMENT=1
  2775. -val SCE_MMIXAL_LABEL=2
  2776. -val SCE_MMIXAL_OPCODE=3
  2777. -val SCE_MMIXAL_OPCODE_PRE=4
  2778. -val SCE_MMIXAL_OPCODE_VALID=5
  2779. -val SCE_MMIXAL_OPCODE_UNKNOWN=6
  2780. -val SCE_MMIXAL_OPCODE_POST=7
  2781. -val SCE_MMIXAL_OPERANDS=8
  2782. -val SCE_MMIXAL_NUMBER=9
  2783. -val SCE_MMIXAL_REF=10
  2784. -val SCE_MMIXAL_CHAR=11
  2785. -val SCE_MMIXAL_STRING=12
  2786. -val SCE_MMIXAL_REGISTER=13
  2787. -val SCE_MMIXAL_HEX=14
  2788. -val SCE_MMIXAL_OPERATOR=15
  2789. -val SCE_MMIXAL_SYMBOL=16
  2790. -val SCE_MMIXAL_INCLUDE=17
  2791. -# Lexical states for SCLEX_CLW
  2792. -lex Clarion=SCLEX_CLW SCE_CLW_
  2793. -val SCE_CLW_DEFAULT=0
  2794. -val SCE_CLW_LABEL=1
  2795. -val SCE_CLW_COMMENT=2
  2796. -val SCE_CLW_STRING=3
  2797. -val SCE_CLW_USER_IDENTIFIER=4
  2798. -val SCE_CLW_INTEGER_CONSTANT=5
  2799. -val SCE_CLW_REAL_CONSTANT=6
  2800. -val SCE_CLW_PICTURE_STRING=7
  2801. -val SCE_CLW_KEYWORD=8
  2802. -val SCE_CLW_COMPILER_DIRECTIVE=9
  2803. -val SCE_CLW_RUNTIME_EXPRESSIONS=10
  2804. -val SCE_CLW_BUILTIN_PROCEDURES_FUNCTION=11
  2805. -val SCE_CLW_STRUCTURE_DATA_TYPE=12
  2806. -val SCE_CLW_ATTRIBUTE=13
  2807. -val SCE_CLW_STANDARD_EQUATE=14
  2808. -val SCE_CLW_ERROR=15
  2809. -val SCE_CLW_DEPRECATED=16
  2810. -# Lexical states for SCLEX_LOT
  2811. -lex LOT=SCLEX_LOT SCE_LOT_
  2812. -val SCE_LOT_DEFAULT=0
  2813. -val SCE_LOT_HEADER=1
  2814. -val SCE_LOT_BREAK=2
  2815. -val SCE_LOT_SET=3
  2816. -val SCE_LOT_PASS=4
  2817. -val SCE_LOT_FAIL=5
  2818. -val SCE_LOT_ABORT=6
  2819. -# Lexical states for SCLEX_YAML
  2820. -lex YAML=SCLEX_YAML SCE_YAML_
  2821. -val SCE_YAML_DEFAULT=0
  2822. -val SCE_YAML_COMMENT=1
  2823. -val SCE_YAML_IDENTIFIER=2
  2824. -val SCE_YAML_KEYWORD=3
  2825. -val SCE_YAML_NUMBER=4
  2826. -val SCE_YAML_REFERENCE=5
  2827. -val SCE_YAML_DOCUMENT=6
  2828. -val SCE_YAML_TEXT=7
  2829. -val SCE_YAML_ERROR=8
  2830. -val SCE_YAML_OPERATOR=9
  2831. -# Lexical states for SCLEX_TEX
  2832. -lex TeX=SCLEX_TEX SCE_TEX_
  2833. -val SCE_TEX_DEFAULT=0
  2834. -val SCE_TEX_SPECIAL=1
  2835. -val SCE_TEX_GROUP=2
  2836. -val SCE_TEX_SYMBOL=3
  2837. -val SCE_TEX_COMMAND=4
  2838. -val SCE_TEX_TEXT=5
  2839. -lex Metapost=SCLEX_METAPOST SCE_METAPOST_
  2840. -val SCE_METAPOST_DEFAULT=0
  2841. -val SCE_METAPOST_SPECIAL=1
  2842. -val SCE_METAPOST_GROUP=2
  2843. -val SCE_METAPOST_SYMBOL=3
  2844. -val SCE_METAPOST_COMMAND=4
  2845. -val SCE_METAPOST_TEXT=5
  2846. -val SCE_METAPOST_EXTRA=6
  2847. -# Lexical states for SCLEX_ERLANG
  2848. -lex Erlang=SCLEX_ERLANG SCE_ERLANG_
  2849. -val SCE_ERLANG_DEFAULT=0
  2850. -val SCE_ERLANG_COMMENT=1
  2851. -val SCE_ERLANG_VARIABLE=2
  2852. -val SCE_ERLANG_NUMBER=3
  2853. -val SCE_ERLANG_KEYWORD=4
  2854. -val SCE_ERLANG_STRING=5
  2855. -val SCE_ERLANG_OPERATOR=6
  2856. -val SCE_ERLANG_ATOM=7
  2857. -val SCE_ERLANG_FUNCTION_NAME=8
  2858. -val SCE_ERLANG_CHARACTER=9
  2859. -val SCE_ERLANG_MACRO=10
  2860. -val SCE_ERLANG_RECORD=11
  2861. -val SCE_ERLANG_SEPARATOR=12
  2862. -val SCE_ERLANG_NODE_NAME=13
  2863. -val SCE_ERLANG_UNKNOWN=31
  2864. -# Lexical states for SCLEX_OCTAVE are identical to MatLab
  2865. -lex Octave=SCLEX_OCTAVE SCE_MATLAB_
  2866. -# Lexical states for SCLEX_MSSQL
  2867. -lex MSSQL=SCLEX_MSSQL SCE_MSSQL_
  2868. -val SCE_MSSQL_DEFAULT=0
  2869. -val SCE_MSSQL_COMMENT=1
  2870. -val SCE_MSSQL_LINE_COMMENT=2
  2871. -val SCE_MSSQL_NUMBER=3
  2872. -val SCE_MSSQL_STRING=4
  2873. -val SCE_MSSQL_OPERATOR=5
  2874. -val SCE_MSSQL_IDENTIFIER=6
  2875. -val SCE_MSSQL_VARIABLE=7
  2876. -val SCE_MSSQL_COLUMN_NAME=8
  2877. -val SCE_MSSQL_STATEMENT=9
  2878. -val SCE_MSSQL_DATATYPE=10
  2879. -val SCE_MSSQL_SYSTABLE=11
  2880. -val SCE_MSSQL_GLOBAL_VARIABLE=12
  2881. -val SCE_MSSQL_FUNCTION=13
  2882. -val SCE_MSSQL_STORED_PROCEDURE=14
  2883. -val SCE_MSSQL_DEFAULT_PREF_DATATYPE=15
  2884. -val SCE_MSSQL_COLUMN_NAME_2=16
  2885. -# Lexical states for SCLEX_VERILOG
  2886. -lex Verilog=SCLEX_VERILOG SCE_V_
  2887. -val SCE_V_DEFAULT=0
  2888. -val SCE_V_COMMENT=1
  2889. -val SCE_V_COMMENTLINE=2
  2890. -val SCE_V_COMMENTLINEBANG=3
  2891. -val SCE_V_NUMBER=4
  2892. -val SCE_V_WORD=5
  2893. -val SCE_V_STRING=6
  2894. -val SCE_V_WORD2=7
  2895. -val SCE_V_WORD3=8
  2896. -val SCE_V_PREPROCESSOR=9
  2897. -val SCE_V_OPERATOR=10
  2898. -val SCE_V_IDENTIFIER=11
  2899. -val SCE_V_STRINGEOL=12
  2900. -val SCE_V_USER=19
  2901. -# Lexical states for SCLEX_KIX
  2902. -lex Kix=SCLEX_KIX SCE_KIX_
  2903. -val SCE_KIX_DEFAULT=0
  2904. -val SCE_KIX_COMMENT=1
  2905. -val SCE_KIX_STRING1=2
  2906. -val SCE_KIX_STRING2=3
  2907. -val SCE_KIX_NUMBER=4
  2908. -val SCE_KIX_VAR=5
  2909. -val SCE_KIX_MACRO=6
  2910. -val SCE_KIX_KEYWORD=7
  2911. -val SCE_KIX_FUNCTIONS=8
  2912. -val SCE_KIX_OPERATOR=9
  2913. -val SCE_KIX_IDENTIFIER=31
  2914. -# Lexical states for SCLEX_GUI4CLI
  2915. -val SCE_GC_DEFAULT=0
  2916. -val SCE_GC_COMMENTLINE=1
  2917. -val SCE_GC_COMMENTBLOCK=2
  2918. -val SCE_GC_GLOBAL=3
  2919. -val SCE_GC_EVENT=4
  2920. -val SCE_GC_ATTRIBUTE=5
  2921. -val SCE_GC_CONTROL=6
  2922. -val SCE_GC_COMMAND=7
  2923. -val SCE_GC_STRING=8
  2924. -val SCE_GC_OPERATOR=9
  2925. -# Lexical states for SCLEX_SPECMAN
  2926. -lex Specman=SCLEX_SPECMAN SCE_SN_
  2927. -val SCE_SN_DEFAULT=0
  2928. -val SCE_SN_CODE=1
  2929. -val SCE_SN_COMMENTLINE=2
  2930. -val SCE_SN_COMMENTLINEBANG=3
  2931. -val SCE_SN_NUMBER=4
  2932. -val SCE_SN_WORD=5
  2933. -val SCE_SN_STRING=6
  2934. -val SCE_SN_WORD2=7
  2935. -val SCE_SN_WORD3=8
  2936. -val SCE_SN_PREPROCESSOR=9
  2937. -val SCE_SN_OPERATOR=10
  2938. -val SCE_SN_IDENTIFIER=11
  2939. -val SCE_SN_STRINGEOL=12
  2940. -val SCE_SN_REGEXTAG=13
  2941. -val SCE_SN_SIGNAL=14
  2942. -val SCE_SN_USER=19
  2943. -# Lexical states for SCLEX_AU3
  2944. -lex Au3=SCLEX_AU3 SCE_AU3_
  2945. -val SCE_AU3_DEFAULT=0
  2946. -val SCE_AU3_COMMENT=1
  2947. -val SCE_AU3_COMMENTBLOCK=2
  2948. -val SCE_AU3_NUMBER=3
  2949. -val SCE_AU3_FUNCTION=4
  2950. -val SCE_AU3_KEYWORD=5
  2951. -val SCE_AU3_MACRO=6
  2952. -val SCE_AU3_STRING=7
  2953. -val SCE_AU3_OPERATOR=8
  2954. -val SCE_AU3_VARIABLE=9
  2955. -val SCE_AU3_SENT=10
  2956. -val SCE_AU3_PREPROCESSOR=11
  2957. -val SCE_AU3_SPECIAL=12
  2958. -val SCE_AU3_EXPAND=13
  2959. -val SCE_AU3_COMOBJ=14
  2960. -val SCE_AU3_UDF=15
  2961. -# Lexical states for SCLEX_APDL
  2962. -lex APDL=SCLEX_APDL SCE_APDL_
  2963. -val SCE_APDL_DEFAULT=0
  2964. -val SCE_APDL_COMMENT=1
  2965. -val SCE_APDL_COMMENTBLOCK=2
  2966. -val SCE_APDL_NUMBER=3
  2967. -val SCE_APDL_STRING=4
  2968. -val SCE_APDL_OPERATOR=5
  2969. -val SCE_APDL_WORD=6
  2970. -val SCE_APDL_PROCESSOR=7
  2971. -val SCE_APDL_COMMAND=8
  2972. -val SCE_APDL_SLASHCOMMAND=9
  2973. -val SCE_APDL_STARCOMMAND=10
  2974. -val SCE_APDL_ARGUMENT=11
  2975. -val SCE_APDL_FUNCTION=12
  2976. -# Lexical states for SCLEX_BASH
  2977. -lex Bash=SCLEX_BASH SCE_SH_
  2978. -val SCE_SH_DEFAULT=0
  2979. -val SCE_SH_ERROR=1
  2980. -val SCE_SH_COMMENTLINE=2
  2981. -val SCE_SH_NUMBER=3
  2982. -val SCE_SH_WORD=4
  2983. -val SCE_SH_STRING=5
  2984. -val SCE_SH_CHARACTER=6
  2985. -val SCE_SH_OPERATOR=7
  2986. -val SCE_SH_IDENTIFIER=8
  2987. -val SCE_SH_SCALAR=9
  2988. -val SCE_SH_PARAM=10
  2989. -val SCE_SH_BACKTICKS=11
  2990. -val SCE_SH_HERE_DELIM=12
  2991. -val SCE_SH_HERE_Q=13
  2992. -# Lexical states for SCLEX_ASN1
  2993. -lex Asn1=SCLEX_ASN1 SCE_ASN1_
  2994. -val SCE_ASN1_DEFAULT=0
  2995. -val SCE_ASN1_COMMENT=1
  2996. -val SCE_ASN1_IDENTIFIER=2
  2997. -val SCE_ASN1_STRING=3
  2998. -val SCE_ASN1_OID=4
  2999. -val SCE_ASN1_SCALAR=5
  3000. -val SCE_ASN1_KEYWORD=6
  3001. -val SCE_ASN1_ATTRIBUTE=7
  3002. -val SCE_ASN1_DESCRIPTOR=8
  3003. -val SCE_ASN1_TYPE=9
  3004. -val SCE_ASN1_OPERATOR=10
  3005. -# Lexical states for SCLEX_VHDL
  3006. -lex VHDL=SCLEX_VHDL SCE_VHDL_
  3007. -val SCE_VHDL_DEFAULT=0
  3008. -val SCE_VHDL_COMMENT=1
  3009. -val SCE_VHDL_COMMENTLINEBANG=2
  3010. -val SCE_VHDL_NUMBER=3
  3011. -val SCE_VHDL_STRING=4
  3012. -val SCE_VHDL_OPERATOR=5
  3013. -val SCE_VHDL_IDENTIFIER=6
  3014. -val SCE_VHDL_STRINGEOL=7
  3015. -val SCE_VHDL_KEYWORD=8
  3016. -val SCE_VHDL_STDOPERATOR=9
  3017. -val SCE_VHDL_ATTRIBUTE=10
  3018. -val SCE_VHDL_STDFUNCTION=11
  3019. -val SCE_VHDL_STDPACKAGE=12
  3020. -val SCE_VHDL_STDTYPE=13
  3021. -val SCE_VHDL_USERWORD=14
  3022. -# Lexical states for SCLEX_CAML
  3023. -lex Caml=SCLEX_CAML SCE_CAML_
  3024. -val SCE_CAML_DEFAULT=0
  3025. -val SCE_CAML_IDENTIFIER=1
  3026. -val SCE_CAML_TAGNAME=2
  3027. -val SCE_CAML_KEYWORD=3
  3028. -val SCE_CAML_KEYWORD2=4
  3029. -val SCE_CAML_KEYWORD3=5
  3030. -val SCE_CAML_LINENUM=6
  3031. -val SCE_CAML_OPERATOR=7
  3032. -val SCE_CAML_NUMBER=8
  3033. -val SCE_CAML_CHAR=9
  3034. -val SCE_CAML_WHITE=10
  3035. -val SCE_CAML_STRING=11
  3036. -val SCE_CAML_COMMENT=12
  3037. -val SCE_CAML_COMMENT1=13
  3038. -val SCE_CAML_COMMENT2=14
  3039. -val SCE_CAML_COMMENT3=15
  3040. -# Lexical states for SCLEX_HASKELL
  3041. -lex Haskell=SCLEX_HASKELL SCE_HA_
  3042. -val SCE_HA_DEFAULT=0
  3043. -val SCE_HA_IDENTIFIER=1
  3044. -val SCE_HA_KEYWORD=2
  3045. -val SCE_HA_NUMBER=3
  3046. -val SCE_HA_STRING=4
  3047. -val SCE_HA_CHARACTER=5
  3048. -val SCE_HA_CLASS=6
  3049. -val SCE_HA_MODULE=7
  3050. -val SCE_HA_CAPITAL=8
  3051. -val SCE_HA_DATA=9
  3052. -val SCE_HA_IMPORT=10
  3053. -val SCE_HA_OPERATOR=11
  3054. -val SCE_HA_INSTANCE=12
  3055. -val SCE_HA_COMMENTLINE=13
  3056. -val SCE_HA_COMMENTBLOCK=14
  3057. -val SCE_HA_COMMENTBLOCK2=15
  3058. -val SCE_HA_COMMENTBLOCK3=16
  3059. -# Lexical states of SCLEX_TADS3
  3060. -lex TADS3=SCLEX_TADS3 SCE_T3_
  3061. -val SCE_T3_DEFAULT=0
  3062. -val SCE_T3_X_DEFAULT=1
  3063. -val SCE_T3_PREPROCESSOR=2
  3064. -val SCE_T3_BLOCK_COMMENT=3
  3065. -val SCE_T3_LINE_COMMENT=4
  3066. -val SCE_T3_OPERATOR=5
  3067. -val SCE_T3_KEYWORD=6
  3068. -val SCE_T3_NUMBER=7
  3069. -val SCE_T3_IDENTIFIER=8
  3070. -val SCE_T3_S_STRING=9
  3071. -val SCE_T3_D_STRING=10
  3072. -val SCE_T3_X_STRING=11
  3073. -val SCE_T3_LIB_DIRECTIVE=12
  3074. -val SCE_T3_MSG_PARAM=13
  3075. -val SCE_T3_HTML_TAG=14
  3076. -val SCE_T3_HTML_DEFAULT=15
  3077. -val SCE_T3_HTML_STRING=16
  3078. -val SCE_T3_USER1=17
  3079. -val SCE_T3_USER2=18
  3080. -val SCE_T3_USER3=19
  3081. -val SCE_T3_BRACE=20
  3082. -# Lexical states for SCLEX_REBOL
  3083. -lex Rebol=SCLEX_REBOL SCE_REBOL_
  3084. -val SCE_REBOL_DEFAULT=0
  3085. -val SCE_REBOL_COMMENTLINE=1
  3086. -val SCE_REBOL_COMMENTBLOCK=2
  3087. -val SCE_REBOL_PREFACE=3
  3088. -val SCE_REBOL_OPERATOR=4
  3089. -val SCE_REBOL_CHARACTER=5
  3090. -val SCE_REBOL_QUOTEDSTRING=6
  3091. -val SCE_REBOL_BRACEDSTRING=7
  3092. -val SCE_REBOL_NUMBER=8
  3093. -val SCE_REBOL_PAIR=9
  3094. -val SCE_REBOL_TUPLE=10
  3095. -val SCE_REBOL_BINARY=11
  3096. -val SCE_REBOL_MONEY=12
  3097. -val SCE_REBOL_ISSUE=13
  3098. -val SCE_REBOL_TAG=14
  3099. -val SCE_REBOL_FILE=15
  3100. -val SCE_REBOL_EMAIL=16
  3101. -val SCE_REBOL_URL=17
  3102. -val SCE_REBOL_DATE=18
  3103. -val SCE_REBOL_TIME=19
  3104. -val SCE_REBOL_IDENTIFIER=20
  3105. -val SCE_REBOL_WORD=21
  3106. -val SCE_REBOL_WORD2=22
  3107. -val SCE_REBOL_WORD3=23
  3108. -val SCE_REBOL_WORD4=24
  3109. -val SCE_REBOL_WORD5=25
  3110. -val SCE_REBOL_WORD6=26
  3111. -val SCE_REBOL_WORD7=27
  3112. -val SCE_REBOL_WORD8=28
  3113. -# Lexical states for SCLEX_SQL
  3114. -lex SQL=SCLEX_SQL SCE_SQL_
  3115. -val SCE_SQL_DEFAULT=0
  3116. -val SCE_SQL_COMMENT=1
  3117. -val SCE_SQL_COMMENTLINE=2
  3118. -val SCE_SQL_COMMENTDOC=3
  3119. -val SCE_SQL_NUMBER=4
  3120. -val SCE_SQL_WORD=5
  3121. -val SCE_SQL_STRING=6
  3122. -val SCE_SQL_CHARACTER=7
  3123. -val SCE_SQL_SQLPLUS=8
  3124. -val SCE_SQL_SQLPLUS_PROMPT=9
  3125. -val SCE_SQL_OPERATOR=10
  3126. -val SCE_SQL_IDENTIFIER=11
  3127. -val SCE_SQL_SQLPLUS_COMMENT=13
  3128. -val SCE_SQL_COMMENTLINEDOC=15
  3129. -val SCE_SQL_WORD2=16
  3130. -val SCE_SQL_COMMENTDOCKEYWORD=17
  3131. -val SCE_SQL_COMMENTDOCKEYWORDERROR=18
  3132. -val SCE_SQL_USER1=19
  3133. -val SCE_SQL_USER2=20
  3134. -val SCE_SQL_USER3=21
  3135. -val SCE_SQL_USER4=22
  3136. -val SCE_SQL_QUOTEDIDENTIFIER=23
  3137. -# Lexical states for SCLEX_SMALLTALK
  3138. -lex Smalltalk=SCLEX_SMALLTALK SCE_ST_
  3139. -val SCE_ST_DEFAULT=0
  3140. -val SCE_ST_STRING=1
  3141. -val SCE_ST_NUMBER=2
  3142. -val SCE_ST_COMMENT=3
  3143. -val SCE_ST_SYMBOL=4
  3144. -val SCE_ST_BINARY=5
  3145. -val SCE_ST_BOOL=6
  3146. -val SCE_ST_SELF=7
  3147. -val SCE_ST_SUPER=8
  3148. -val SCE_ST_NIL=9
  3149. -val SCE_ST_GLOBAL=10
  3150. -val SCE_ST_RETURN=11
  3151. -val SCE_ST_SPECIAL=12
  3152. -val SCE_ST_KWSEND=13
  3153. -val SCE_ST_ASSIGN=14
  3154. -val SCE_ST_CHARACTER=15
  3155. -val SCE_ST_SPEC_SEL=16
  3156. -# Lexical states for SCLEX_FLAGSHIP (clipper)
  3157. -lex FlagShip=SCLEX_FLAGSHIP SCE_B_
  3158. -val SCE_FS_DEFAULT=0
  3159. -val SCE_FS_COMMENT=1
  3160. -val SCE_FS_COMMENTLINE=2
  3161. -val SCE_FS_COMMENTDOC=3
  3162. -val SCE_FS_COMMENTLINEDOC=4
  3163. -val SCE_FS_COMMENTDOCKEYWORD=5
  3164. -val SCE_FS_COMMENTDOCKEYWORDERROR=6
  3165. -val SCE_FS_KEYWORD=7
  3166. -val SCE_FS_KEYWORD2=8
  3167. -val SCE_FS_KEYWORD3=9
  3168. -val SCE_FS_KEYWORD4=10
  3169. -val SCE_FS_NUMBER=11
  3170. -val SCE_FS_STRING=12
  3171. -val SCE_FS_PREPROCESSOR=13
  3172. -val SCE_FS_OPERATOR=14
  3173. -val SCE_FS_IDENTIFIER=15
  3174. -val SCE_FS_DATE=16
  3175. -val SCE_FS_STRINGEOL=17
  3176. -val SCE_FS_CONSTANT=18
  3177. -val SCE_FS_ASM=19
  3178. -val SCE_FS_LABEL=20
  3179. -val SCE_FS_ERROR=21
  3180. -val SCE_FS_HEXNUMBER=22
  3181. -val SCE_FS_BINNUMBER=23
  3182. -# Lexical states for SCLEX_CSOUND
  3183. -lex Csound=SCLEX_CSOUND SCE_CSOUND_
  3184. -val SCE_CSOUND_DEFAULT=0
  3185. -val SCE_CSOUND_COMMENT=1
  3186. -val SCE_CSOUND_NUMBER=2
  3187. -val SCE_CSOUND_OPERATOR=3
  3188. -val SCE_CSOUND_INSTR=4
  3189. -val SCE_CSOUND_IDENTIFIER=5
  3190. -val SCE_CSOUND_OPCODE=6
  3191. -val SCE_CSOUND_HEADERSTMT=7
  3192. -val SCE_CSOUND_USERKEYWORD=8
  3193. -val SCE_CSOUND_COMMENTBLOCK=9
  3194. -val SCE_CSOUND_PARAM=10
  3195. -val SCE_CSOUND_ARATE_VAR=11
  3196. -val SCE_CSOUND_KRATE_VAR=12
  3197. -val SCE_CSOUND_IRATE_VAR=13
  3198. -val SCE_CSOUND_GLOBAL_VAR=14
  3199. -val SCE_CSOUND_STRINGEOL=15
  3200. -# Lexical states for SCLEX_INNOSETUP
  3201. -lex Inno=SCLEX_INNOSETUP SCE_INNO_
  3202. -val SCE_INNO_DEFAULT=0
  3203. -val SCE_INNO_COMMENT=1
  3204. -val SCE_INNO_KEYWORD=2
  3205. -val SCE_INNO_PARAMETER=3
  3206. -val SCE_INNO_SECTION=4
  3207. -val SCE_INNO_PREPROC=5
  3208. -val SCE_INNO_PREPROC_INLINE=6
  3209. -val SCE_INNO_INLINE_EXPANSION=6
  3210. -val SCE_INNO_COMMENT_PASCAL=7
  3211. -val SCE_INNO_KEYWORD_PASCAL=8
  3212. -val SCE_INNO_KEYWORD_USER=9
  3213. -val SCE_INNO_STRING_DOUBLE=10
  3214. -val SCE_INNO_STRING_SINGLE=11
  3215. -val SCE_INNO_IDENTIFIER=12
  3216. -# Lexical states for SCLEX_OPAL
  3217. -lex Opal=SCLEX_OPAL SCE_OPAL_
  3218. -val SCE_OPAL_SPACE=0
  3219. -val SCE_OPAL_COMMENT_BLOCK=1
  3220. -val SCE_OPAL_COMMENT_LINE=2
  3221. -val SCE_OPAL_INTEGER=3
  3222. -val SCE_OPAL_KEYWORD=4
  3223. -val SCE_OPAL_SORT=5
  3224. -val SCE_OPAL_STRING=6
  3225. -val SCE_OPAL_PAR=7
  3226. -val SCE_OPAL_BOOL_CONST=8
  3227. -val SCE_OPAL_DEFAULT=32
  3228. -# Lexical states for SCLEX_SPICE
  3229. -lex Spice=SCLEX_SPICE SCE_SPICE_
  3230. -val SCE_SPICE_DEFAULT=0
  3231. -val SCE_SPICE_IDENTIFIER=1
  3232. -val SCE_SPICE_KEYWORD=2
  3233. -val SCE_SPICE_KEYWORD2=3
  3234. -val SCE_SPICE_KEYWORD3=4
  3235. -val SCE_SPICE_NUMBER=5
  3236. -val SCE_SPICE_DELIMITER=6
  3237. -val SCE_SPICE_VALUE=7
  3238. -val SCE_SPICE_COMMENTLINE=8
  3239. -# Lexical states for SCLEX_CMAKE
  3240. -lex CMAKE=SCLEX_CMAKE SCE_CMAKE_
  3241. -val SCE_CMAKE_DEFAULT=0
  3242. -val SCE_CMAKE_COMMENT=1
  3243. -val SCE_CMAKE_STRINGDQ=2
  3244. -val SCE_CMAKE_STRINGLQ=3
  3245. -val SCE_CMAKE_STRINGRQ=4
  3246. -val SCE_CMAKE_COMMANDS=5
  3247. -val SCE_CMAKE_PARAMETERS=6
  3248. -val SCE_CMAKE_VARIABLE=7
  3249. -val SCE_CMAKE_USERDEFINED=8
  3250. -val SCE_CMAKE_WHILEDEF=9
  3251. -val SCE_CMAKE_FOREACHDEF=10
  3252. -val SCE_CMAKE_IFDEFINEDEF=11
  3253. -val SCE_CMAKE_MACRODEF=12
  3254. -val SCE_CMAKE_STRINGVAR=13
  3255. -val SCE_CMAKE_NUMBER=14
  3256. -# Lexical states for SCLEX_GAP
  3257. -lex Gap=SCLEX_GAP SCE_GAP_
  3258. -val SCE_GAP_DEFAULT=0
  3259. -val SCE_GAP_IDENTIFIER=1
  3260. -val SCE_GAP_KEYWORD=2
  3261. -val SCE_GAP_KEYWORD2=3
  3262. -val SCE_GAP_KEYWORD3=4
  3263. -val SCE_GAP_KEYWORD4=5
  3264. -val SCE_GAP_STRING=6
  3265. -val SCE_GAP_CHAR=7
  3266. -val SCE_GAP_OPERATOR=8
  3267. -val SCE_GAP_COMMENT=9
  3268. -val SCE_GAP_NUMBER=10
  3269. -val SCE_GAP_STRINGEOL=11
  3270. -# Lexical state for SCLEX_PLM
  3271. -lex PLM=SCLEX_PLM SCE_PLM_
  3272. -val SCE_PLM_DEFAULT=0
  3273. -val SCE_PLM_COMMENT=1
  3274. -val SCE_PLM_STRING=2
  3275. -val SCE_PLM_NUMBER=3
  3276. -val SCE_PLM_IDENTIFIER=4
  3277. -val SCE_PLM_OPERATOR=5
  3278. -val SCE_PLM_CONTROL=6
  3279. -val SCE_PLM_KEYWORD=7
  3280. -# Lexical state for SCLEX_PROGRESS
  3281. -lex Progress=SCLEX_PROGRESS SCE_4GL_
  3282. -val SCE_4GL_DEFAULT=0
  3283. -val SCE_4GL_NUMBER=1
  3284. -val SCE_4GL_WORD=2
  3285. -val SCE_4GL_STRING=3
  3286. -val SCE_4GL_CHARACTER=4
  3287. -val SCE_4GL_PREPROCESSOR=5
  3288. -val SCE_4GL_OPERATOR=6
  3289. -val SCE_4GL_IDENTIFIER=7
  3290. -val SCE_4GL_BLOCK=8
  3291. -val SCE_4GL_END=9
  3292. -val SCE_4GL_COMMENT1=10
  3293. -val SCE_4GL_COMMENT2=11
  3294. -val SCE_4GL_COMMENT3=12
  3295. -val SCE_4GL_COMMENT4=13
  3296. -val SCE_4GL_COMMENT5=14
  3297. -val SCE_4GL_COMMENT6=15
  3298. -val SCE_4GL_DEFAULT_=16
  3299. -val SCE_4GL_NUMBER_=17
  3300. -val SCE_4GL_WORD_=18
  3301. -val SCE_4GL_STRING_=19
  3302. -val SCE_4GL_CHARACTER_=20
  3303. -val SCE_4GL_PREPROCESSOR_=21
  3304. -val SCE_4GL_OPERATOR_=22
  3305. -val SCE_4GL_IDENTIFIER_=23
  3306. -val SCE_4GL_BLOCK_=24
  3307. -val SCE_4GL_END_=25
  3308. -val SCE_4GL_COMMENT1_=26
  3309. -val SCE_4GL_COMMENT2_=27
  3310. -val SCE_4GL_COMMENT3_=28
  3311. -val SCE_4GL_COMMENT4_=29
  3312. -val SCE_4GL_COMMENT5_=30
  3313. -val SCE_4GL_COMMENT6_=31
  3314. -# Lexical states for SCLEX_ABAQUS
  3315. -lex ABAQUS=SCLEX_ABAQUS SCE_ABAQUS_
  3316. -val SCE_ABAQUS_DEFAULT=0
  3317. -val SCE_ABAQUS_COMMENT=1
  3318. -val SCE_ABAQUS_COMMENTBLOCK=2
  3319. -val SCE_ABAQUS_NUMBER=3
  3320. -val SCE_ABAQUS_STRING=4
  3321. -val SCE_ABAQUS_OPERATOR=5
  3322. -val SCE_ABAQUS_WORD=6
  3323. -val SCE_ABAQUS_PROCESSOR=7
  3324. -val SCE_ABAQUS_COMMAND=8
  3325. -val SCE_ABAQUS_SLASHCOMMAND=9
  3326. -val SCE_ABAQUS_STARCOMMAND=10
  3327. -val SCE_ABAQUS_ARGUMENT=11
  3328. -val SCE_ABAQUS_FUNCTION=12
  3329. -# Lexical states for SCLEX_ASYMPTOTE
  3330. -lex Asymptote=SCLEX_ASYMPTOTE SCE_ASY_
  3331. -val SCE_ASY_DEFAULT=0
  3332. -val SCE_ASY_COMMENT=1
  3333. -val SCE_ASY_COMMENTLINE=2
  3334. -val SCE_ASY_NUMBER=3
  3335. -val SCE_ASY_WORD=4
  3336. -val SCE_ASY_STRING=5
  3337. -val SCE_ASY_CHARACTER=6
  3338. -val SCE_ASY_OPERATOR=7
  3339. -val SCE_ASY_IDENTIFIER=8
  3340. -val SCE_ASY_STRINGEOL=9
  3341. -val SCE_ASY_COMMENTLINEDOC=10
  3342. -val SCE_ASY_WORD2=11
  3343. -# Lexical states for SCLEX_R
  3344. -lex R=SCLEX_R SCE_R_
  3345. -val SCE_R_DEFAULT=0
  3346. -val SCE_R_COMMENT=1
  3347. -val SCE_R_KWORD=2
  3348. -val SCE_R_BASEKWORD=3
  3349. -val SCE_R_OTHERKWORD=4
  3350. -val SCE_R_NUMBER=5
  3351. -val SCE_R_STRING=6
  3352. -val SCE_R_STRING2=7
  3353. -val SCE_R_OPERATOR=8
  3354. -val SCE_R_IDENTIFIER=9
  3355. -val SCE_R_INFIX=10
  3356. -val SCE_R_INFIXEOL=11
  3357. -# Lexical state for SCLEX_MAGIKSF
  3358. -lex MagikSF=SCLEX_MAGIKSF SCE_MAGIK_
  3359. -val SCE_MAGIK_DEFAULT=0
  3360. -val SCE_MAGIK_COMMENT=1
  3361. -val SCE_MAGIK_HYPER_COMMENT=16
  3362. -val SCE_MAGIK_STRING=2
  3363. -val SCE_MAGIK_CHARACTER=3
  3364. -val SCE_MAGIK_NUMBER=4
  3365. -val SCE_MAGIK_IDENTIFIER=5
  3366. -val SCE_MAGIK_OPERATOR=6
  3367. -val SCE_MAGIK_FLOW=7
  3368. -val SCE_MAGIK_CONTAINER=8
  3369. -val SCE_MAGIK_BRACKET_BLOCK=9
  3370. -val SCE_MAGIK_BRACE_BLOCK=10
  3371. -val SCE_MAGIK_SQBRACKET_BLOCK=11
  3372. -val SCE_MAGIK_UNKNOWN_KEYWORD=12
  3373. -val SCE_MAGIK_KEYWORD=13
  3374. -val SCE_MAGIK_PRAGMA=14
  3375. -val SCE_MAGIK_SYMBOL=15
  3376. -# Lexical state for SCLEX_POWERSHELL
  3377. -lex PowerShell=SCLEX_POWERSHELL SCE_POWERSHELL_
  3378. -val SCE_POWERSHELL_DEFAULT=0
  3379. -val SCE_POWERSHELL_COMMENT=1
  3380. -val SCE_POWERSHELL_STRING=2
  3381. -val SCE_POWERSHELL_CHARACTER=3
  3382. -val SCE_POWERSHELL_NUMBER=4
  3383. -val SCE_POWERSHELL_VARIABLE=5
  3384. -val SCE_POWERSHELL_OPERATOR=6
  3385. -val SCE_POWERSHELL_IDENTIFIER=7
  3386. -val SCE_POWERSHELL_KEYWORD=8
  3387. -val SCE_POWERSHELL_CMDLET=9
  3388. -val SCE_POWERSHELL_ALIAS=10
  3389. -# Lexical state for SCLEX_MYSQL
  3390. -lex MySQL=SCLEX_MYSQL SCE_MYSQL_
  3391. -val SCE_MYSQL_DEFAULT=0
  3392. -val SCE_MYSQL_COMMENT=1
  3393. -val SCE_MYSQL_COMMENTLINE=2
  3394. -val SCE_MYSQL_VARIABLE=3
  3395. -val SCE_MYSQL_SYSTEMVARIABLE=4
  3396. -val SCE_MYSQL_KNOWNSYSTEMVARIABLE=5
  3397. -val SCE_MYSQL_NUMBER=6
  3398. -val SCE_MYSQL_MAJORKEYWORD=7
  3399. -val SCE_MYSQL_KEYWORD=8
  3400. -val SCE_MYSQL_DATABASEOBJECT=9
  3401. -val SCE_MYSQL_PROCEDUREKEYWORD=10
  3402. -val SCE_MYSQL_STRING=11
  3403. -val SCE_MYSQL_SQSTRING=12
  3404. -val SCE_MYSQL_DQSTRING=13
  3405. -val SCE_MYSQL_OPERATOR=14
  3406. -val SCE_MYSQL_FUNCTION=15
  3407. -val SCE_MYSQL_IDENTIFIER=16
  3408. -val SCE_MYSQL_QUOTEDIDENTIFIER=17
  3409. -val SCE_MYSQL_USER1=18
  3410. -val SCE_MYSQL_USER2=19
  3411. -val SCE_MYSQL_USER3=20
  3412. -val SCE_MYSQL_HIDDENCOMMAND=21
  3413. -# Lexical state for SCLEX_PO
  3414. -lex Po=SCLEX_PO SCE_PO_
  3415. -val SCE_PO_DEFAULT=0
  3416. -val SCE_PO_COMMENT=1
  3417. -val SCE_PO_MSGID=2
  3418. -val SCE_PO_MSGID_TEXT=3
  3419. -val SCE_PO_MSGSTR=4
  3420. -val SCE_PO_MSGSTR_TEXT=5
  3421. -val SCE_PO_MSGCTXT=6
  3422. -val SCE_PO_MSGCTXT_TEXT=7
  3423. -val SCE_PO_FUZZY=8
  3424. -# Lexical states for SCLEX_PASCAL
  3425. -lex Pascal=SCLEX_PASCAL SCE_PAS_
  3426. -val SCE_PAS_DEFAULT=0
  3427. -val SCE_PAS_IDENTIFIER=1
  3428. -val SCE_PAS_COMMENT=2
  3429. -val SCE_PAS_COMMENT2=3
  3430. -val SCE_PAS_COMMENTLINE=4
  3431. -val SCE_PAS_PREPROCESSOR=5
  3432. -val SCE_PAS_PREPROCESSOR2=6
  3433. -val SCE_PAS_NUMBER=7
  3434. -val SCE_PAS_HEXNUMBER=8
  3435. -val SCE_PAS_WORD=9
  3436. -val SCE_PAS_STRING=10
  3437. -val SCE_PAS_STRINGEOL=11
  3438. -val SCE_PAS_CHARACTER=12
  3439. -val SCE_PAS_OPERATOR=13
  3440. -val SCE_PAS_ASM=14
  3441. -# Lexical state for SCLEX_SORCUS
  3442. -lex SORCUS=SCLEX_SORCUS SCE_SORCUS_
  3443. -val SCE_SORCUS_DEFAULT=0
  3444. -val SCE_SORCUS_COMMAND=1
  3445. -val SCE_SORCUS_PARAMETER=2
  3446. -val SCE_SORCUS_COMMENTLINE=3
  3447. -val SCE_SORCUS_STRING=4
  3448. -val SCE_SORCUS_STRINGEOL=5
  3449. -val SCE_SORCUS_IDENTIFIER=6
  3450. -val SCE_SORCUS_OPERATOR=7
  3451. -val SCE_SORCUS_NUMBER=8
  3452. -val SCE_SORCUS_CONSTANT=9
  3453. -# Lexical state for SCLEX_POWERPRO
  3454. -lex PowerPro=SCLEX_POWERPRO SCE_POWERPRO_
  3455. -val SCE_POWERPRO_DEFAULT=0
  3456. -val SCE_POWERPRO_COMMENTBLOCK=1
  3457. -val SCE_POWERPRO_COMMENTLINE=2
  3458. -val SCE_POWERPRO_NUMBER=3
  3459. -val SCE_POWERPRO_WORD=4
  3460. -val SCE_POWERPRO_WORD2=5
  3461. -val SCE_POWERPRO_WORD3=6
  3462. -val SCE_POWERPRO_WORD4=7
  3463. -val SCE_POWERPRO_DOUBLEQUOTEDSTRING=8
  3464. -val SCE_POWERPRO_SINGLEQUOTEDSTRING=9
  3465. -val SCE_POWERPRO_LINECONTINUE=10
  3466. -val SCE_POWERPRO_OPERATOR=11
  3467. -val SCE_POWERPRO_IDENTIFIER=12
  3468. -val SCE_POWERPRO_STRINGEOL=13
  3469. -val SCE_POWERPRO_VERBATIM=14
  3470. -val SCE_POWERPRO_ALTQUOTE=15
  3471. -val SCE_POWERPRO_FUNCTION=16
  3472. -# Lexical states for SCLEX_SML
  3473. -lex SML=SCLEX_SML SCE_SML_
  3474. -val SCE_SML_DEFAULT=0
  3475. -val SCE_SML_IDENTIFIER=1
  3476. -val SCE_SML_TAGNAME=2
  3477. -val SCE_SML_KEYWORD=3
  3478. -val SCE_SML_KEYWORD2=4
  3479. -val SCE_SML_KEYWORD3=5
  3480. -val SCE_SML_LINENUM=6
  3481. -val SCE_SML_OPERATOR=7
  3482. -val SCE_SML_NUMBER=8
  3483. -val SCE_SML_CHAR=9
  3484. -val SCE_SML_STRING=11
  3485. -val SCE_SML_COMMENT=12
  3486. -val SCE_SML_COMMENT1=13
  3487. -val SCE_SML_COMMENT2=14
  3488. -val SCE_SML_COMMENT3=15
  3489. -# Lexical state for SCLEX_MARKDOWN
  3490. -lex Markdown=SCLEX_MARKDOWN SCE_MARKDOWN_
  3491. -val SCE_MARKDOWN_DEFAULT=0
  3492. -val SCE_MARKDOWN_LINE_BEGIN=1
  3493. -val SCE_MARKDOWN_STRONG1=2
  3494. -val SCE_MARKDOWN_STRONG2=3
  3495. -val SCE_MARKDOWN_EM1=4
  3496. -val SCE_MARKDOWN_EM2=5
  3497. -val SCE_MARKDOWN_HEADER1=6
  3498. -val SCE_MARKDOWN_HEADER2=7
  3499. -val SCE_MARKDOWN_HEADER3=8
  3500. -val SCE_MARKDOWN_HEADER4=9
  3501. -val SCE_MARKDOWN_HEADER5=10
  3502. -val SCE_MARKDOWN_HEADER6=11
  3503. -val SCE_MARKDOWN_PRECHAR=12
  3504. -val SCE_MARKDOWN_ULIST_ITEM=13
  3505. -val SCE_MARKDOWN_OLIST_ITEM=14
  3506. -val SCE_MARKDOWN_BLOCKQUOTE=15
  3507. -val SCE_MARKDOWN_STRIKEOUT=16
  3508. -val SCE_MARKDOWN_HRULE=17
  3509. -val SCE_MARKDOWN_LINK=18
  3510. -val SCE_MARKDOWN_CODE=19
  3511. -val SCE_MARKDOWN_CODE2=20
  3512. -val SCE_MARKDOWN_CODEBK=21
  3513. +# Lexical states for SCLEX_LPEG
  3514. +lex LPEG=SCLEX_LPEG SCE_LPEG_
  3515. # Events
  3516. --- scite-latest/scintilla/src/ExternalLexer.cxx 2009-07-21 04:29:51.000000000 -0400
  3517. +++ scintillua/scintilla/src/ExternalLexer.cxx 2010-02-01 16:09:37.000000000 -0500
  3518. @@ -143,7 +143,7 @@
  3519. for (int i = 0; i < nl; i++) {
  3520. GetLexerName(i, lexname, 100);
  3521. - lex = new ExternalLexerModule(SCLEX_AUTOMATIC, NULL, lexname, NULL);
  3522. + lex = new ExternalLexerModule(SCLEX_AUTOMATIC, NULL, NULL, lexname, NULL); // modified by Mitchell
  3523. // Create a LexerMinder so we don't leak the ExternalLexerModule...
  3524. lm = new LexerMinder;
  3525. --- scite-latest/scintilla/src/ExternalLexer.h 2010-01-18 21:42:00.000000000 -0500
  3526. +++ scintillua/scintilla/src/ExternalLexer.h 2010-02-01 16:09:37.000000000 -0500
  3527. @@ -37,12 +37,13 @@
  3528. int externalLanguage;
  3529. char name[100];
  3530. public:
  3531. - ExternalLexerModule(int language_, LexerFunction fnLexer_,
  3532. - const char *languageName_=0, LexerFunction fnFolder_=0) : LexerModule(language_, fnLexer_, 0, fnFolder_){
  3533. + // modified by Mitchell
  3534. + ExternalLexerModule(int language_, InitFunction fnInit_, LexerFunction fnLexer_,
  3535. + const char *languageName_=0, LexerFunction fnFolder_=0) : LexerModule(language_, fnInit_, fnLexer_, 0, fnFolder_){
  3536. strncpy(name, languageName_, sizeof(name));
  3537. - name[sizeof(name)-1] = '\0';
  3538. languageName = name;
  3539. };
  3540. + // end modified by Mitchell
  3541. virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle,
  3542. WordList *keywordlists[], Accessor &styler) const;
  3543. virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle,
  3544. --- scite-latest/scintilla/src/KeyWords.cxx 2009-08-26 21:20:38.000000000 -0400
  3545. +++ scintillua/scintilla/src/KeyWords.cxx 2010-02-01 16:09:37.000000000 -0500
  3546. @@ -11,6 +11,14 @@
  3547. #include <stdio.h>
  3548. #include <stdarg.h>
  3549. +// added by Mitchell
  3550. +extern "C" {
  3551. +#include <lua.h>
  3552. +#include <lualib.h>
  3553. +#include <lauxlib.h>
  3554. +}
  3555. +// end added by Mitchell
  3556. +
  3557. #include "Platform.h"
  3558. #include "PropSet.h"
  3559. @@ -213,12 +221,14 @@
  3560. int LexerModule::nextLanguage = SCLEX_AUTOMATIC+1;
  3561. LexerModule::LexerModule(int language_,
  3562. + InitFunction fnInit_, // added by Mitchell
  3563. LexerFunction fnLexer_,
  3564. const char *languageName_,
  3565. LexerFunction fnFolder_,
  3566. const char * const wordListDescriptions_[],
  3567. int styleBits_) :
  3568. language(language_),
  3569. + fnInit(fnInit_), // added by Mitchell
  3570. fnLexer(fnLexer_),
  3571. fnFolder(fnFolder_),
  3572. wordListDescriptions(wordListDescriptions_),
  3573. @@ -285,14 +295,24 @@
  3574. return 0;
  3575. }
  3576. +// added by Mitchell
  3577. +bool LexerModule::Init(lua_State *L, const char *languageName, Accessor &styler) const {
  3578. + if (fnInit)
  3579. + return fnInit(L, languageName, styler);
  3580. + return false;
  3581. +}
  3582. +// end added by Mitchell
  3583. +
  3584. void LexerModule::Lex(unsigned int startPos, int lengthDoc, int initStyle,
  3585. - WordList *keywordlists[], Accessor &styler) const {
  3586. + lua_State *L, // added by Mitchell
  3587. + WordList *keywordlists[], Accessor &styler) const {
  3588. if (fnLexer)
  3589. - fnLexer(startPos, lengthDoc, initStyle, keywordlists, styler);
  3590. + fnLexer(startPos, lengthDoc, initStyle, L, keywordlists, styler); // modified by Mitchell
  3591. }
  3592. void LexerModule::Fold(unsigned int startPos, int lengthDoc, int initStyle,
  3593. - WordList *keywordlists[], Accessor &styler) const {
  3594. + lua_State *L, // added by Mitchell
  3595. + WordList *keywordlists[], Accessor &styler) const {
  3596. if (fnFolder) {
  3597. int lineCurrent = styler.GetLine(startPos);
  3598. // Move back one line in case deletion wrecked current line fold state
  3599. @@ -306,7 +326,7 @@
  3600. initStyle = styler.StyleAt(startPos - 1);
  3601. }
  3602. }
  3603. - fnFolder(startPos, lengthDoc, initStyle, keywordlists, styler);
  3604. + fnFolder(startPos, lengthDoc, initStyle, L, keywordlists, styler); // modified by Mitchell
  3605. }
  3606. }
  3607. @@ -325,105 +345,14 @@
  3608. // Shorten the code that declares a lexer and ensures it is linked in by calling a method.
  3609. #define LINK_LEXER(lexer) extern LexerModule lexer; forcer += lexer.GetLanguage();
  3610. +// modified by Mitchell
  3611. //++Autogenerated -- run src/LexGen.py to regenerate
  3612. //**\(\tLINK_LEXER(\*);\n\)
  3613. - LINK_LEXER(lmAbaqus);
  3614. - LINK_LEXER(lmAda);
  3615. - LINK_LEXER(lmAns1);
  3616. - LINK_LEXER(lmAPDL);
  3617. - LINK_LEXER(lmAsm);
  3618. - LINK_LEXER(lmASY);
  3619. - LINK_LEXER(lmAU3);
  3620. - LINK_LEXER(lmAVE);
  3621. - LINK_LEXER(lmBaan);
  3622. - LINK_LEXER(lmBash);
  3623. - LINK_LEXER(lmBatch);
  3624. - LINK_LEXER(lmBlitzBasic);
  3625. - LINK_LEXER(lmBullant);
  3626. - LINK_LEXER(lmCaml);
  3627. - LINK_LEXER(lmClw);
  3628. - LINK_LEXER(lmClwNoCase);
  3629. - LINK_LEXER(lmCmake);
  3630. - LINK_LEXER(lmCOBOL);
  3631. - LINK_LEXER(lmConf);
  3632. - LINK_LEXER(lmCPP);
  3633. - LINK_LEXER(lmCPPNoCase);
  3634. - LINK_LEXER(lmCsound);
  3635. - LINK_LEXER(lmCss);
  3636. - LINK_LEXER(lmD);
  3637. - LINK_LEXER(lmDiff);
  3638. - LINK_LEXER(lmEiffel);
  3639. - LINK_LEXER(lmEiffelkw);
  3640. - LINK_LEXER(lmErlang);
  3641. - LINK_LEXER(lmErrorList);
  3642. - LINK_LEXER(lmESCRIPT);
  3643. - LINK_LEXER(lmF77);
  3644. - LINK_LEXER(lmFlagShip);
  3645. - LINK_LEXER(lmForth);
  3646. - LINK_LEXER(lmFortran);
  3647. - LINK_LEXER(lmFreeBasic);
  3648. - LINK_LEXER(lmGAP);
  3649. - LINK_LEXER(lmGui4Cli);
  3650. - LINK_LEXER(lmHaskell);
  3651. - LINK_LEXER(lmHTML);
  3652. - LINK_LEXER(lmInno);
  3653. - LINK_LEXER(lmKix);
  3654. - LINK_LEXER(lmLatex);
  3655. - LINK_LEXER(lmLISP);
  3656. - LINK_LEXER(lmLot);
  3657. - LINK_LEXER(lmLout);
  3658. - LINK_LEXER(lmLua);
  3659. - LINK_LEXER(lmMagikSF);
  3660. - LINK_LEXER(lmMake);
  3661. - LINK_LEXER(lmMarkdown);
  3662. - LINK_LEXER(lmMatlab);
  3663. - LINK_LEXER(lmMETAPOST);
  3664. - LINK_LEXER(lmMMIXAL);
  3665. - LINK_LEXER(lmMSSQL);
  3666. - LINK_LEXER(lmMySQL);
  3667. - LINK_LEXER(lmNimrod);
  3668. - LINK_LEXER(lmNncrontab);
  3669. - LINK_LEXER(lmNsis);
  3670. + LINK_LEXER(lmLPeg);
  3671. LINK_LEXER(lmNull);
  3672. - LINK_LEXER(lmOctave);
  3673. - LINK_LEXER(lmOpal);
  3674. - LINK_LEXER(lmPascal);
  3675. - LINK_LEXER(lmPB);
  3676. - LINK_LEXER(lmPerl);
  3677. - LINK_LEXER(lmPHPSCRIPT);
  3678. - LINK_LEXER(lmPLM);
  3679. - LINK_LEXER(lmPo);
  3680. - LINK_LEXER(lmPOV);
  3681. - LINK_LEXER(lmPowerPro);
  3682. - LINK_LEXER(lmPowerShell);
  3683. - LINK_LEXER(lmProgress);
  3684. - LINK_LEXER(lmProps);
  3685. - LINK_LEXER(lmPS);
  3686. - LINK_LEXER(lmPureBasic);
  3687. - LINK_LEXER(lmPython);
  3688. - LINK_LEXER(lmR);
  3689. - LINK_LEXER(lmREBOL);
  3690. - LINK_LEXER(lmRuby);
  3691. - LINK_LEXER(lmScriptol);
  3692. - LINK_LEXER(lmSmalltalk);
  3693. - LINK_LEXER(lmSML);
  3694. - LINK_LEXER(lmSorc);
  3695. - LINK_LEXER(lmSpecman);
  3696. - LINK_LEXER(lmSpice);
  3697. - LINK_LEXER(lmSQL);
  3698. - LINK_LEXER(lmTACL);
  3699. - LINK_LEXER(lmTADS3);
  3700. - LINK_LEXER(lmTAL);
  3701. - LINK_LEXER(lmTCL);
  3702. - LINK_LEXER(lmTeX);
  3703. - LINK_LEXER(lmVB);
  3704. - LINK_LEXER(lmVBScript);
  3705. - LINK_LEXER(lmVerilog);
  3706. - LINK_LEXER(lmVHDL);
  3707. - LINK_LEXER(lmXML);
  3708. - LINK_LEXER(lmYAML);
  3709. //--Autogenerated -- end of automatically generated section
  3710. +// end modified by Mitchell
  3711. return 1;
  3712. }
  3713. --- scite-latest/scintilla/src/LexLPeg.cxx 1969-12-31 19:00:00.000000000 -0500
  3714. +++ scintillua/scintilla/src/LexLPeg.cxx 2010-02-01 16:09:37.000000000 -0500
  3715. @@ -0,0 +1,403 @@
  3716. +/*
  3717. + Mitchell's Lua-powered dynamic lexer
  3718. + Copyright (c) 2006-2007 Mitchell Foral. All rights reserved.
  3719. +
  3720. + SciTE-tools homepage: http://caladbolg.net/scite.php
  3721. + Send email to: mitchell<att>caladbolg<dott>net
  3722. +
  3723. + Permission to use, copy, modify, and distribute this file is granted,
  3724. + provided credit is given to Mitchell.
  3725. +
  3726. + Implementation:
  3727. + Only one lexer is used: SCLEX_LPEG. Any Scintilla calls to SetLexer or
  3728. + SetLexerLanguage create a new Lua state and pass the desired lexer name to
  3729. + LexLPeg's InitDoc function where it is loaded. Afterwards, the Scintilla
  3730. + styles are read and set. The dynamic lexer is now ready to style the text
  3731. + when Scintilla calls ColouriseDoc.
  3732. + Folding works similarly.
  3733. + Lexer documentation can be read in /lexers/lexer.lua
  3734. +*/
  3735. +
  3736. +#include <stdlib.h>
  3737. +#include <string.h>
  3738. +#include <ctype.h>
  3739. +
  3740. +#include "Platform.h"
  3741. +
  3742. +#include "PropSet.h"
  3743. +#include "Accessor.h"
  3744. +#include "DocumentAccessor.h"
  3745. +#include "KeyWords.h"
  3746. +#include "Scintilla.h"
  3747. +#include "SciLexer.h"
  3748. +
  3749. +extern "C" {
  3750. +#include <lua.h>
  3751. +#include <lualib.h>
  3752. +#include <lauxlib.h>
  3753. +}
  3754. +
  3755. +#if PLAT_WIN || PLAT_GTK_WIN32
  3756. +#define strcasecmp _stricmp
  3757. +#endif
  3758. +
  3759. +#define streq(s1, s2) (strcasecmp((s1), (s2)) == 0)
  3760. +
  3761. +#ifdef SCI_NAMESPACE
  3762. +using namespace Scintilla;
  3763. +#endif
  3764. +
  3765. +static WindowID windowID;
  3766. +static DocumentAccessor *accessor;
  3767. +static bool multilang_lexer = false;
  3768. +
  3769. +/**
  3770. + * Prints a Lua error message.
  3771. + * If an error message is not specified, the Lua error message at the top of the
  3772. + * stack is used and the stack is subsequently cleared.
  3773. + * @return false
  3774. + */
  3775. +static bool l_handle_error(lua_State *L, const char *errstr=NULL) {
  3776. + Platform::DebugPrintf(
  3777. + "Lua Error: %s.\n", errstr ? errstr : lua_tostring(L, -1));
  3778. + lua_settop(L, 0);
  3779. + return false;
  3780. +}
  3781. +
  3782. +/**
  3783. + * The Lua panic function.
  3784. + * Print the error message and close the Lua state.
  3785. + * Note: This function should never be called.
  3786. + */
  3787. +static int lua_panic(lua_State *L) {
  3788. + l_handle_error(L);
  3789. + lua_close(L);
  3790. + L = NULL;
  3791. + return 0;
  3792. +}
  3793. +
  3794. +/**
  3795. + * Retrieves the style at a position.
  3796. + * Lua interface: StyleAt(pos)
  3797. + * @param pos The position to get the style for.
  3798. + */
  3799. +static int lua_style_at(lua_State *L) {
  3800. + lua_pushnumber(L, accessor->StyleAt(luaL_checkinteger(L, 1) - 1));
  3801. + return 1;
  3802. +}
  3803. +
  3804. +/**
  3805. + * Gets an integer property value.
  3806. + * Lua interface: GetProperty(key [, default])
  3807. + * @param key The property key.
  3808. + * @param default Optional default value.
  3809. + * @return integer value of the property.
  3810. + */
  3811. +static int lua_get_property(lua_State *L) {
  3812. + lua_pushnumber(L, accessor->GetPropertyInt(luaL_checkstring(L, 1),
  3813. + (lua_gettop(L) > 1) ? luaL_checkinteger(L, 2) : 0));
  3814. + return 1;
  3815. +}
  3816. +
  3817. +/**
  3818. + * Gets the fold level of a line number.
  3819. + * Lua interface: GetFoldLevel(line_number)
  3820. + * @param line_number The line number to get the fold level of.
  3821. + * @return the integer fold level.
  3822. + */
  3823. +static int lua_get_fold_level(lua_State *L) {
  3824. + lua_pushnumber(L, accessor->LevelAt(luaL_checkinteger(L, 1)));
  3825. + return 1;
  3826. +}
  3827. +
  3828. +/**
  3829. + * Gets the indent amount of text on a specified line.
  3830. + * Lua interface: GetIndentAmount(line_number)
  3831. + * @param line_number The line number to get the indent amount of.
  3832. + */
  3833. +static int lua_get_indent_amount(lua_State *L) {
  3834. + int f = 0;
  3835. + lua_pushnumber(L, accessor->IndentAmount(luaL_checkinteger(L, 1), &f, NULL));
  3836. + return 1;
  3837. +}
  3838. +
  3839. +/**
  3840. + * Gets a range of text in a Scintilla document.
  3841. + * @param windowID The Scintilla window.
  3842. + * @param startPos The start position of the text region to get.
  3843. + * @param endPos The end position of text region to get.
  3844. + * @return text
  3845. + */
  3846. +static char *textRange(WindowID windowID, unsigned int startPos,
  3847. + unsigned int endPos) {
  3848. + char *text = new char[endPos - startPos + 1];
  3849. + Sci_TextRange tr;
  3850. + tr.chrg.cpMin = startPos;
  3851. + tr.chrg.cpMax = endPos;
  3852. + tr.lpstrText = text;
  3853. + Platform::SendScintillaPointer(windowID, SCI_GETTEXTRANGE, 0, &tr);
  3854. + return tr.lpstrText;
  3855. +}
  3856. +
  3857. +#define l_openlib(f, s) \
  3858. + { lua_pushcfunction(L, f); lua_pushstring(L, s); lua_call(L, 1, 0); }
  3859. +#define l_setconst(c, s) \
  3860. + { lua_pushnumber(L, c); lua_setfield(L, LUA_GLOBALSINDEX, s); }
  3861. +#define SS(m, l) Platform::SendScintilla(windowID, m, style_num, l)
  3862. +
  3863. +/**
  3864. + * Initializes the document for styling.
  3865. + * Part of the Lexer interface.
  3866. + * ScintillaBase.cxx opens a new Lua state and passes it here to finish loading,
  3867. + * Then the lexer.lua script is loaded, and Scintilla styles set up.
  3868. + * The path to lexer.lua is the value of 'lexer_script' in LUA_REGISTRYINDEX
  3869. + * (previously set in ScintillaBase.cxx). lexer.lua's 'InitLexer' is called with
  3870. + * languageName as a parameter which then calls 'LoadStyles', populating a
  3871. + * 'Styles' table with the Scintilla styles to use for each style number. That
  3872. + * table is iterated over here, setting the styles in Scintilla. Style properties
  3873. + * are case insensitive.
  3874. + * e.g.
  3875. + * Styles = {
  3876. + * [1] = { fore = color, back = other_color, ... },
  3877. + * [2] = { bold = true, EOLFilled = true, ... }
  3878. + * }
  3879. + * @param L The newly created Lua state.
  3880. + * @param languageName The name of the lexer to load.
  3881. + * @param styler The document accessor used to style the document, get
  3882. + * properties from it, etc.
  3883. + * @return true if successful.
  3884. + */
  3885. +static bool InitDoc(lua_State *L, const char *languageName, Accessor &styler) {
  3886. + DocumentAccessor &da = static_cast<DocumentAccessor &>(styler);
  3887. + windowID = da.GetWindow();
  3888. +
  3889. + lua_atpanic(L, lua_panic);
  3890. + l_openlib(luaopen_base, "");
  3891. + l_openlib(luaopen_table, LUA_TABLIBNAME);
  3892. + l_openlib(luaopen_string, LUA_STRLIBNAME);
  3893. + l_openlib(luaopen_package, LUA_LOADLIBNAME);
  3894. + l_openlib(luaopen_lpeg, LUA_LPEGNAME);
  3895. +
  3896. + lua_getfield(L, LUA_REGISTRYINDEX, "lexer_script");
  3897. + const char *lexerScript = lua_tostring(L, -1);
  3898. + lua_pop(L, 1); // lexer_script
  3899. + if (strlen(lexerScript) == 0) return false;
  3900. + if (luaL_dofile(L, lexerScript) != 0) return l_handle_error(L);
  3901. +
  3902. + lua_pushstring(L, languageName);
  3903. + lua_setfield(L, LUA_REGISTRYINDEX, "languageName");
  3904. +
  3905. + lua_getglobal(L, "InitLexer");
  3906. + if (lua_isfunction(L, -1)) {
  3907. + lua_pushstring(L, languageName);
  3908. + if (lua_pcall(L, 1, 0, 0) != 0) return l_handle_error(L);
  3909. + } else return l_handle_error(L, "'InitLexer' function not found");
  3910. +
  3911. + // register functions
  3912. + lua_register(L, "GetStyleAt", lua_style_at);
  3913. + lua_register(L, "GetProperty", lua_get_property);
  3914. + lua_register(L, "GetFoldLevel", lua_get_fold_level);
  3915. + lua_register(L, "GetIndentAmount", lua_get_indent_amount);
  3916. +
  3917. + // register constants
  3918. + l_setconst(SC_FOLDLEVELBASE, "SC_FOLDLEVELBASE");
  3919. + l_setconst(SC_FOLDLEVELWHITEFLAG, "SC_FOLDLEVELWHITEFLAG");
  3920. + l_setconst(SC_FOLDLEVELHEADERFLAG, "SC_FOLDLEVELHEADERFLAG");
  3921. + l_setconst(SC_FOLDLEVELNUMBERMASK, "SC_FOLDLEVELNUMBERMASK");
  3922. +
  3923. + // setup Scintilla styles
  3924. + Platform::SendScintilla(windowID, SCI_STYLECLEARALL);
  3925. + lua_getglobal(L, "Lexer");
  3926. + if (!lua_istable(L, -1))
  3927. + return l_handle_error(L, "'Lexer' table not found");
  3928. + lua_getfield(L, -1, "Styles");
  3929. + if (!lua_istable(L, -1))
  3930. + return l_handle_error(L, "'Lexer.Styles' table not found");
  3931. + lua_pushnil(L);
  3932. + while (lua_next(L, -2)) { // Styles table
  3933. + if (lua_isnumber(L, -2) && lua_istable(L, -1)) {
  3934. + int style_num = lua_tointeger(L, -2); // [num] = { properties }
  3935. + lua_pushnil(L);
  3936. + while (lua_next(L, -2)) { // properties table
  3937. + const char *prop = lua_tostring(L, -2);
  3938. + if (streq(prop, "font"))
  3939. + SS(SCI_STYLESETFONT, reinterpret_cast<long>(lua_tostring(L, -1)));
  3940. + else if (streq(prop, "size"))
  3941. + SS(SCI_STYLESETSIZE, static_cast<int>(lua_tointeger(L, -1)));
  3942. + else if (streq(prop, "bold"))
  3943. + SS(SCI_STYLESETBOLD, lua_toboolean(L, -1));
  3944. + else if (streq(prop, "italic"))
  3945. + SS(SCI_STYLESETITALIC, lua_toboolean(L, -1));
  3946. + else if (streq(prop, "underline"))
  3947. + SS(SCI_STYLESETUNDERLINE, lua_toboolean(L, -1));
  3948. + else if (streq(prop, "fore"))
  3949. + SS(SCI_STYLESETFORE, static_cast<int>(lua_tointeger(L, -1)));
  3950. + else if (streq(prop, "back"))
  3951. + SS(SCI_STYLESETBACK, static_cast<int>(lua_tointeger(L, -1)));
  3952. + else if (streq(prop, "eolfilled"))
  3953. + SS(SCI_STYLESETEOLFILLED, lua_toboolean(L, -1));
  3954. + else if (streq(prop, "characterset"))
  3955. + SS(SCI_STYLESETCHARACTERSET, static_cast<int>(lua_tointeger(L, -1)));
  3956. + else if (streq(prop, "case"))
  3957. + SS(SCI_STYLESETCASE, static_cast<int>(lua_tointeger(L, -1)));
  3958. + else if (streq(prop, "visible"))
  3959. + SS(SCI_STYLESETVISIBLE, lua_toboolean(L, -1));
  3960. + else if (streq(prop, "changeable"))
  3961. + SS(SCI_STYLESETCHANGEABLE, lua_toboolean(L, -1));
  3962. + else if (streq(prop, "hotspot"))
  3963. + SS(SCI_STYLESETHOTSPOT, lua_toboolean(L, -1));
  3964. + lua_pop(L, 1); // value
  3965. + }
  3966. + } lua_pop(L, 1); // value
  3967. + } lua_pop(L, 2); // Styles and Lexer
  3968. +
  3969. + // if the lexer is a child, it will have a parent in its 'EmbeddedIn' field
  3970. + lua_getglobal(L, "Lexer");
  3971. + lua_getfield(L, -1, "EmbeddedIn");
  3972. + multilang_lexer = lua_istable(L, -1);
  3973. + lua_pop(L, 2); // Lexer.EmbeddedIn and Lexer
  3974. +
  3975. + return true;
  3976. +}
  3977. +
  3978. +/**
  3979. + * Styles the document.
  3980. + * Part of the Lexer interface.
  3981. + * When Scintilla requires the document to be styled, this function does it.
  3982. + * It calls lexer.lua's 'RunLexer' function which returns a table of styling
  3983. + * information. That table is iterated over, styling the document.
  3984. + * @param startPos The beginning position of the region needing to be styled.
  3985. + * @param length The length of the region needing to be styled.
  3986. + * @param initstyle The initial style of the region needing to be styled.
  3987. + * @param L The Lua state associated with this document.
  3988. + * @param keywordLists [Unused].
  3989. + * @param styler The document accessor used to style the document, get
  3990. + * properties from it, etc.
  3991. + */
  3992. +static void ColouriseDoc(unsigned int startPos, int length, int initStyle,
  3993. + lua_State *L, WordList**, Accessor &styler) {
  3994. + if (!L) return;
  3995. + DocumentAccessor &da = static_cast<DocumentAccessor &>(styler);
  3996. + windowID = da.GetWindow();
  3997. + accessor = &da;
  3998. +
  3999. + // start from the beginning of the current style so it is matched by the LPeg
  4000. + // lexer; applies only to single-language lexers
  4001. + if (!multilang_lexer && startPos > 0) {
  4002. + int i = startPos;
  4003. + while (i > 0 && da.StyleAt(i - 1) == initStyle) i--;
  4004. + length += startPos - i;
  4005. + startPos = i;
  4006. + }
  4007. +
  4008. + unsigned int startSeg = startPos, endSeg = startPos + length;
  4009. + int style = 0;
  4010. +
  4011. + accessor->StartAt(startPos, static_cast<char>(STYLE_MAX)); // all 8 style bits
  4012. + accessor->StartSegment(startPos);
  4013. + lua_getglobal(L, "RunLexer");
  4014. + if (lua_isfunction(L, -1)) {
  4015. + char *text = multilang_lexer ? textRange(windowID, 0, da.Length())
  4016. + : textRange(windowID, startSeg, endSeg);
  4017. + lua_pushstring(L, text);
  4018. + if (lua_pcall(L, 1, 1, 0) != 0) l_handle_error(L);
  4019. + delete []text;
  4020. + // style the text from the token table returned
  4021. + if (lua_istable(L, -1)) {
  4022. + lua_getglobal(L, "Lexer");
  4023. + lua_pushstring(L, "Types");
  4024. + lua_rawget(L, -2);
  4025. + lua_remove(L, lua_gettop(L) - 1); // Lexer
  4026. + lua_pushnil(L);
  4027. + while (lua_next(L, -3)) { // token (tokens[i])
  4028. + if (!lua_istable(L, -1)) {
  4029. + l_handle_error(L, "Table of tokens expected from 'RunLexer'");
  4030. + break;
  4031. + }
  4032. + lua_rawgeti(L, -1, 1); // token[1]
  4033. + lua_rawget(L, -4); // Lexer.Types[token[1]]
  4034. + style = 32;
  4035. + if (!lua_isnil(L, -1)) style = lua_tointeger(L, -1);
  4036. + lua_pop(L, 1); // Lexer.Types[token[1]]
  4037. + lua_rawgeti(L, -1, 2); // token[2]
  4038. + unsigned int position = lua_tointeger(L, -1) - 1;
  4039. + lua_pop(L, 1); // token[2]
  4040. + lua_pop(L, 1); // token (tokens[i])
  4041. + if (style >= 0 && style <= STYLE_MAX) {
  4042. + if (multilang_lexer) {
  4043. + if (position > startSeg && position <= endSeg)
  4044. + accessor->ColourTo(position - 1, style);
  4045. + else if (position > endSeg && accessor->GetStartSegment() < endSeg)
  4046. + accessor->ColourTo(endSeg - 1, style); // style remaining length
  4047. + } else accessor->ColourTo(startSeg + position - 1, style);
  4048. + } else l_handle_error(L, "Bad style number");
  4049. + if (position > endSeg) break;
  4050. + }
  4051. + lua_pop(L, 2); // Lexer.Types and token table returned
  4052. + } else l_handle_error(L, "Table of tokens expected from 'RunLexer'");
  4053. + } else l_handle_error(L, "'RunLexer' function not found");
  4054. + accessor->ColourTo(endSeg - 1, style);
  4055. +}
  4056. +
  4057. +/** Folds the document.
  4058. + * Part of the Lexer interface.
  4059. + * When Scintilla requires the document to be folded, this function does it.
  4060. + * It calls lexer.lua's 'RunFolder' function which performs the folding via
  4061. + * the 'SetFoldLevel' Lua interface.
  4062. + * @param startPos The beginning position of the region needing to be folded.
  4063. + * @param length The length of the region needing to be folded.
  4064. + * @param initstyle [Unused].
  4065. + * @param L The Lua state associated with this document.
  4066. + * @param keywordLists [Unused].
  4067. + * @param styler The document accessor used to style the document, get
  4068. + * properties from it, etc.
  4069. + */
  4070. +static void FoldDoc(unsigned int startPos, int length, int, lua_State *L,
  4071. + WordList *[], Accessor &styler) {
  4072. + if (!L) return;
  4073. + DocumentAccessor &da = static_cast<DocumentAccessor &>(styler);
  4074. + windowID = da.GetWindow();
  4075. +
  4076. + lua_getglobal(L, "RunFolder");
  4077. + if (lua_isfunction(L, -1)) {
  4078. + int currentLine = styler.GetLine(startPos);
  4079. + char *text = textRange(windowID, startPos, startPos + length);
  4080. + lua_pushstring(L, text);
  4081. + lua_pushnumber(L, startPos);
  4082. + lua_pushnumber(L, currentLine);
  4083. + lua_pushnumber(L, styler.LevelAt(currentLine) & SC_FOLDLEVELNUMBERMASK);
  4084. + if (lua_pcall(L, 4, 1, 0) != 0) l_handle_error(L);
  4085. + delete []text;
  4086. + // fold the text from the fold table returned
  4087. + if (lua_istable(L, -1)) {
  4088. + lua_pushnil(L);
  4089. + int line = 0, level = 0;
  4090. + while (lua_next(L, -2)) { // fold (folds[i])
  4091. + if (!lua_istable(L, -1)) {
  4092. + l_handle_error(L, "Table of folds expected from 'RunFolder'");
  4093. + break;
  4094. + }
  4095. + line = lua_tointeger(L, -2);
  4096. + lua_rawgeti(L, -1, 1); // fold[1]
  4097. + level = lua_tointeger(L, -1);
  4098. + lua_pop(L, 1); // fold[1]
  4099. + if (lua_objlen(L, -1) > 1) {
  4100. + lua_rawgeti(L, -1, 2); // fold[2]
  4101. + int flag = lua_tointeger(L, -1);
  4102. + level |= flag;
  4103. + lua_pop(L, 1); // fold[2]
  4104. + }
  4105. + styler.SetLevel(line, level);
  4106. + lua_pop(L, 1); // fold
  4107. + }
  4108. + lua_pop(L, 1); // fold table returned
  4109. + // Mask off the level number, leaving only the previous flags.
  4110. + int flagsNext = styler.LevelAt(line + 1);
  4111. + flagsNext &= ~SC_FOLDLEVELNUMBERMASK;
  4112. + styler.SetLevel(line + 1, level | flagsNext);
  4113. + } else l_handle_error(L, "Table of folds expected from 'RunFolder'");
  4114. + } else l_handle_error(L, "'RunFolder' function not found");
  4115. +}
  4116. +
  4117. +LexerModule lmLPeg(SCLEX_LPEG, InitDoc, ColouriseDoc, "llpeg", FoldDoc, 0, 7);
  4118. +LexerModule lmNull(SCLEX_NULL, InitDoc, ColouriseDoc, "null");
  4119. --- scite-latest/scintilla/src/ScintillaBase.cxx 2009-10-26 20:03:30.000000000 -0400
  4120. +++ scintillua/scintilla/src/ScintillaBase.cxx 2010-02-03 12:58:20.000000000 -0500
  4121. @@ -23,6 +23,13 @@
  4122. #include "DocumentAccessor.h"
  4123. #include "KeyWords.h"
  4124. #endif
  4125. +// added by Mitchell
  4126. +extern "C" {
  4127. +#include <lua.h>
  4128. +#include <lualib.h>
  4129. +#include <lauxlib.h>
  4130. +}
  4131. +// end added by Mitchell
  4132. #include "SplitVector.h"
  4133. #include "Partitioning.h"
  4134. #include "RunStyles.h"
  4135. @@ -53,12 +60,13 @@
  4136. listType = 0;
  4137. maxListWidth = 0;
  4138. #ifdef SCI_LEXER
  4139. - lexLanguage = SCLEX_CONTAINER;
  4140. + lexLanguage = SCLEX_LPEG; // modified by Mitchell
  4141. performingStyle = false;
  4142. lexCurrent = 0;
  4143. for (int wl = 0;wl < numWordLists;wl++)
  4144. keyWordLists[wl] = new WordList;
  4145. keyWordLists[numWordLists] = 0;
  4146. + luaState = NULL; // added by Mitchell
  4147. #endif
  4148. }
  4149. @@ -66,6 +74,7 @@
  4150. #ifdef SCI_LEXER
  4151. for (int wl = 0;wl < numWordLists;wl++)
  4152. delete keyWordLists[wl];
  4153. + if (luaState) lua_close(luaState); // added by Mitchell
  4154. #endif
  4155. }
  4156. @@ -483,9 +492,14 @@
  4157. lexCurrent = LexerModule::Find(SCLEX_NULL);
  4158. int bits = lexCurrent ? lexCurrent->GetStyleBitsNeeded() : 5;
  4159. vs.EnsureStyle((1 << bits) - 1);
  4160. + // added by Mitchell
  4161. + const char *languageName = lexLanguage == SCLEX_CONTAINER ? "container" : "null";
  4162. + SetLexerLanguage(languageName);
  4163. + // end added by Mitchell
  4164. }
  4165. void ScintillaBase::SetLexerLanguage(const char *languageName) {
  4166. +#if 0 // added by Mitchell
  4167. lexLanguage = SCLEX_CONTAINER;
  4168. lexCurrent = LexerModule::Find(languageName);
  4169. if (!lexCurrent)
  4170. @@ -494,6 +508,50 @@
  4171. lexLanguage = lexCurrent->GetLanguage();
  4172. int bits = lexCurrent ? lexCurrent->GetStyleBitsNeeded() : 5;
  4173. vs.EnsureStyle((1 << bits) - 1);
  4174. +#endif // added by Mitchell
  4175. +
  4176. + // added by Mitchell
  4177. + lexCurrent = LexerModule::Find(SCLEX_LPEG);
  4178. + lexLanguage = lexCurrent->GetLanguage();
  4179. + DocumentAccessor styler(pdoc, props, wMain.GetID());
  4180. + if (luaState) lua_close(luaState);
  4181. + luaState = lua_open();
  4182. + if (!luaState) {
  4183. + Platform::DebugPrintf("Lua failed to initialize.\n");
  4184. + return;
  4185. + }
  4186. +
  4187. + // set useful variables
  4188. + char lexerLuaScript[FILENAME_MAX];
  4189. + WndProc(SCI_GETPROPERTYEXPANDED, reinterpret_cast<long>("lexer.lua.script"), reinterpret_cast<long>(lexerLuaScript));
  4190. + lua_pushstring(luaState, lexerLuaScript);
  4191. + lua_setfield(luaState, LUA_REGISTRYINDEX, "lexer_script");
  4192. + char lexerLuaHome[FILENAME_MAX];
  4193. + WndProc(SCI_GETPROPERTYEXPANDED, reinterpret_cast<long>("lexer.lua.home"), reinterpret_cast<long>(lexerLuaHome));
  4194. + lua_pushstring(luaState, lexerLuaHome);
  4195. + lua_setglobal(luaState, "lexer_home");
  4196. + char lexerLuaColorTheme[FILENAME_MAX];
  4197. + WndProc(SCI_GETPROPERTYEXPANDED, reinterpret_cast<long>("lexer.lua.color.theme"), reinterpret_cast<long>(lexerLuaColorTheme));
  4198. + lua_pushstring(luaState, lexerLuaColorTheme);
  4199. + lua_setglobal(luaState, "color_theme");
  4200. +#if PLAT_WIN || PLAT_GTK_WIN32
  4201. + lua_pushboolean(luaState, 1);
  4202. + lua_setglobal(luaState, "WIN32");
  4203. +#endif
  4204. +#ifdef MAC
  4205. + lua_pushboolean(luaState, 1);
  4206. + lua_setglobal(luaState, "MAC");
  4207. +#endif
  4208. +#if PLAT_GTK || PLAT_GTK_WIN32
  4209. + lua_pushboolean(luaState, 1);
  4210. + lua_setglobal(luaState, "GTK");
  4211. +#endif
  4212. +
  4213. + if (!lexCurrent->Init(luaState, languageName, styler)) {
  4214. + lua_close(luaState);
  4215. + luaState = NULL;
  4216. + }
  4217. + // end added by Mitchell
  4218. }
  4219. void ScintillaBase::Colourise(int start, int end) {
  4220. @@ -520,10 +578,10 @@
  4221. styler.SetCodePage(pdoc->dbcsCodePage);
  4222. if (lexCurrent && (len > 0)) { // Should always succeed as null lexer should always be available
  4223. - lexCurrent->Lex(start, len, styleStart, keyWordLists, styler);
  4224. + lexCurrent->Lex(start, len, styleStart, luaState, keyWordLists, styler); // modified by Mitchell
  4225. styler.Flush();
  4226. if (styler.GetPropertyInt("fold")) {
  4227. - lexCurrent->Fold(start, len, styleStart, keyWordLists, styler);
  4228. + lexCurrent->Fold(start, len, styleStart, luaState, keyWordLists, styler); // modified by Mitchell
  4229. styler.Flush();
  4230. }
  4231. }
  4232. @@ -758,8 +816,42 @@
  4233. SetLexerLanguage(reinterpret_cast<const char *>(lParam));
  4234. break;
  4235. - case SCI_GETLEXERLANGUAGE:
  4236. - return StringResult(lParam, lexCurrent ? lexCurrent->languageName : "");
  4237. + case SCI_GETLEXERLANGUAGE: { // modified by Mitchell
  4238. + // added by Mitchell
  4239. + const char *val = lexLanguage == SCLEX_CONTAINER ? "container" : "null";
  4240. + if (luaState) {
  4241. + lua_getfield(luaState, LUA_REGISTRYINDEX, "languageName");
  4242. + val = lua_tostring(luaState, -1); lua_pop(luaState, 1);
  4243. + }
  4244. + // end added by Mitchell
  4245. + return StringResult(lParam, val); // modified by Mitchell
  4246. + } // added by Mitchell
  4247. +
  4248. + // added by Mitchell
  4249. + case SCI_GETSTYLENAME: {
  4250. + const char *val = "";
  4251. + if (luaState) {
  4252. + lua_getglobal(luaState, "Lexer");
  4253. + if (lua_istable(luaState, -1)) {
  4254. + lua_getfield(luaState, -1, "Types");
  4255. + if (lua_istable(luaState, -1)) {
  4256. + lua_pushnil(luaState);
  4257. + while (lua_next(luaState, -2)) {
  4258. + // stylename = num
  4259. + if (luaL_checkinteger(luaState, -1) == static_cast<int>(wParam)) {
  4260. + val = lua_tostring(luaState, -2);
  4261. + lua_pop(luaState, 2); // value and key
  4262. + break;
  4263. + }
  4264. + lua_pop(luaState, 1); // value
  4265. + }
  4266. + lua_pop(luaState, 2); // Types and Lexer
  4267. + }
  4268. + }
  4269. + }
  4270. + return StringResult(lParam, strlen(val) ? val : "Not Available");
  4271. + }
  4272. + // end added by Mitchell
  4273. case SCI_GETSTYLEBITSNEEDED:
  4274. return lexCurrent ? lexCurrent->GetStyleBitsNeeded() : 5;
  4275. --- scite-latest/scintilla/src/ScintillaBase.h 2009-10-18 17:05:35.000000000 -0400
  4276. +++ scintillua/scintilla/src/ScintillaBase.h 2010-02-01 16:09:37.000000000 -0500
  4277. @@ -54,6 +54,7 @@
  4278. void SetLexer(uptr_t wParam);
  4279. void SetLexerLanguage(const char *languageName);
  4280. void Colourise(int start, int end);
  4281. + lua_State *luaState; // added by Mitchell
  4282. #endif
  4283. ScintillaBase();
  4284. --- scite-latest/scintilla/win32/deps.mak 2009-07-21 06:53:02.000000000 -0400
  4285. +++ scintillua/scintilla/win32/deps.mak 2010-02-01 16:09:37.000000000 -0500
  4286. @@ -49,208 +49,11 @@
  4287. KeyWords.o: ../src/KeyWords.cxx ../include/Platform.h \
  4288. ../include/PropSet.h ../include/Accessor.h \
  4289. ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4290. -LexAda.o: ../src/LexAda.cxx ../include/Platform.h ../include/Accessor.h \
  4291. +# modified by Mitchell
  4292. +LexLPeg.o: ../src/LexLPeg.cxx ../include/Platform.h ../include/Accessor.h \
  4293. ../src/StyleContext.h ../include/PropSet.h \
  4294. ../include/KeyWords.h ../include/SciLexer.h
  4295. -LexAPDL.o: ../src/LexAPDL.cxx ../include/Platform.h ../include/PropSet.h \
  4296. - ../include/Accessor.h ../src/StyleContext.h \
  4297. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4298. -LexAsm.o: ../src/LexAsm.cxx ../include/Platform.h ../include/PropSet.h \
  4299. - ../include/Accessor.h ../src/StyleContext.h \
  4300. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4301. -LexAsn1.o: ../src/LexAsn1.cxx ../include/Platform.h ../include/PropSet.h \
  4302. - ../include/Accessor.h ../src/StyleContext.h \
  4303. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4304. -LexAU3.o: ../src/LexAU3.cxx ../include/Platform.h ../include/PropSet.h \
  4305. - ../include/Accessor.h ../src/StyleContext.h \
  4306. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4307. -LexAVE.o: ../src/LexAVE.cxx ../include/Platform.h ../include/PropSet.h \
  4308. - ../include/Accessor.h ../src/StyleContext.h \
  4309. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4310. -LexBaan.o: ../src/LexBaan.cxx ../include/Platform.h ../include/PropSet.h \
  4311. - ../include/Accessor.h ../src/StyleContext.h \
  4312. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4313. -LexBash.o: ../src/LexBash.cxx ../include/Platform.h ../include/PropSet.h \
  4314. - ../include/Accessor.h ../include/KeyWords.h \
  4315. - ../include/Scintilla.h ../include/SciLexer.h
  4316. -LexBasic.o: ../src/LexBasic.cxx ../include/Platform.h \
  4317. - ../include/PropSet.h ../include/Accessor.h \
  4318. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4319. - ../include/SciLexer.h
  4320. -LexBullant.o: ../src/LexBullant.cxx ../include/Platform.h \
  4321. - ../include/PropSet.h ../include/Accessor.h \
  4322. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4323. -LexCaml.o: ../src/LexCaml.cxx ../include/Platform.h ../include/PropSet.h \
  4324. - ../include/Accessor.h ../src/StyleContext.h \
  4325. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4326. -LexCLW.o: ../src/LexCLW.cxx ../include/Platform.h ../include/PropSet.h \
  4327. - ../include/Accessor.h ../src/StyleContext.h \
  4328. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4329. -LexCmake.o: ../src/LexCmake.cxx ../include/Platform.h \
  4330. - ../include/PropSet.h ../include/Accessor.h \
  4331. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4332. -LexConf.o: ../src/LexConf.cxx ../include/Platform.h ../include/PropSet.h \
  4333. - ../include/Accessor.h ../include/KeyWords.h \
  4334. - ../include/Scintilla.h ../include/SciLexer.h
  4335. -LexCPP.o: ../src/LexCPP.cxx ../include/Platform.h ../include/PropSet.h \
  4336. - ../include/Accessor.h ../src/StyleContext.h \
  4337. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4338. -LexCrontab.o: ../src/LexCrontab.cxx ../include/Platform.h \
  4339. - ../include/PropSet.h ../include/Accessor.h \
  4340. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4341. -LexCsound.o: ../src/LexCsound.cxx ../include/Platform.h \
  4342. - ../include/PropSet.h ../include/Accessor.h \
  4343. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4344. - ../include/SciLexer.h
  4345. -LexCSS.o: ../src/LexCSS.cxx ../include/Platform.h ../include/PropSet.h \
  4346. - ../include/Accessor.h ../src/StyleContext.h \
  4347. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4348. -LexD.o: ../src/LexD.cxx ../include/Platform.h ../include/PropSet.h \
  4349. - ../include/Accessor.h ../src/StyleContext.h \
  4350. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4351. -LexEiffel.o: ../src/LexEiffel.cxx ../include/Platform.h \
  4352. - ../include/PropSet.h ../include/Accessor.h \
  4353. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4354. - ../include/SciLexer.h
  4355. -LexErlang.o: ../src/LexErlang.cxx ../include/Platform.h \
  4356. - ../include/PropSet.h ../include/Accessor.h \
  4357. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4358. - ../include/SciLexer.h
  4359. -LexEScript.o: ../src/LexEScript.cxx ../include/Platform.h \
  4360. - ../include/PropSet.h ../include/Accessor.h \
  4361. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4362. - ../include/SciLexer.h
  4363. -LexFlagship.o: ../src/LexFlagship.cxx ../include/Platform.h \
  4364. - ../include/PropSet.h ../include/Accessor.h \
  4365. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4366. - ../include/SciLexer.h
  4367. -LexForth.o: ../src/LexForth.cxx ../include/Platform.h \
  4368. - ../include/PropSet.h ../include/Accessor.h \
  4369. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4370. -LexFortran.o: ../src/LexFortran.cxx ../include/Platform.h \
  4371. - ../include/PropSet.h ../include/Accessor.h \
  4372. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4373. - ../include/SciLexer.h
  4374. -LexGui4Cli.o: ../src/LexGui4Cli.cxx ../include/Platform.h \
  4375. - ../include/PropSet.h ../include/Accessor.h \
  4376. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4377. - ../include/SciLexer.h
  4378. -LexHaskell.o: ../src/LexHaskell.cxx ../include/Platform.h \
  4379. - ../include/PropSet.h ../include/Accessor.h \
  4380. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4381. - ../include/SciLexer.h
  4382. -LexHTML.o: ../src/LexHTML.cxx ../include/Platform.h ../include/PropSet.h \
  4383. - ../include/Accessor.h ../src/StyleContext.h \
  4384. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4385. -LexInno.o: ../src/LexInno.cxx ../include/Platform.h ../include/PropSet.h \
  4386. - ../include/Accessor.h ../src/StyleContext.h \
  4387. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4388. -LexKix.o: ../src/LexKix.cxx ../include/Platform.h ../include/PropSet.h \
  4389. - ../include/Accessor.h ../src/StyleContext.h \
  4390. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4391. -LexLisp.o: ../src/LexLisp.cxx ../include/Platform.h ../include/PropSet.h \
  4392. - ../include/Accessor.h ../include/KeyWords.h \
  4393. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h
  4394. -LexLout.o: ../src/LexLout.cxx ../include/Platform.h ../include/PropSet.h \
  4395. - ../include/Accessor.h ../src/StyleContext.h \
  4396. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4397. -LexLua.o: ../src/LexLua.cxx ../include/Platform.h ../include/PropSet.h \
  4398. - ../include/Accessor.h ../src/StyleContext.h \
  4399. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4400. -LexMatlab.o: ../src/LexMatlab.cxx ../include/Platform.h \
  4401. - ../include/PropSet.h ../include/Accessor.h \
  4402. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4403. - ../include/SciLexer.h
  4404. -LexMetapost.o: ../src/LexMetapost.cxx ../include/Platform.h \
  4405. - ../include/PropSet.h ../include/Accessor.h \
  4406. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h \
  4407. - ../src/StyleContext.h
  4408. -LexMMIXAL.o: ../src/LexMMIXAL.cxx ../include/Platform.h \
  4409. - ../include/PropSet.h ../include/Accessor.h \
  4410. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4411. - ../include/SciLexer.h
  4412. -LexMPT.o: ../src/LexMPT.cxx ../include/Platform.h ../include/PropSet.h \
  4413. - ../include/Accessor.h ../include/KeyWords.h \
  4414. - ../include/Scintilla.h ../include/SciLexer.h
  4415. -LexMSSQL.o: ../src/LexMSSQL.cxx ../include/Platform.h \
  4416. - ../include/PropSet.h ../include/Accessor.h \
  4417. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4418. -LexNsis.o: ../src/LexNsis.cxx ../include/Platform.h ../include/PropSet.h \
  4419. - ../include/Accessor.h ../include/KeyWords.h \
  4420. - ../include/Scintilla.h ../include/SciLexer.h
  4421. -LexOpal.o: ../src/LexOpal.cxx ../include/Platform.h ../include/PropSet.h \
  4422. - ../include/Accessor.h ../include/KeyWords.h \
  4423. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h
  4424. -LexOthers.o: ../src/LexOthers.cxx ../include/Platform.h \
  4425. - ../include/PropSet.h ../include/Accessor.h \
  4426. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4427. -LexPascal.o: ../src/LexPascal.cxx ../include/Platform.h \
  4428. - ../include/PropSet.h ../include/Accessor.h \
  4429. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h \
  4430. - ../src/StyleContext.h
  4431. -LexPB.o: ../src/LexPB.cxx ../include/Platform.h ../include/PropSet.h \
  4432. - ../include/Accessor.h ../src/StyleContext.h \
  4433. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4434. -LexPerl.o: ../src/LexPerl.cxx ../include/Platform.h ../include/PropSet.h \
  4435. - ../include/Accessor.h ../include/KeyWords.h \
  4436. - ../include/Scintilla.h ../include/SciLexer.h
  4437. -LexPOV.o: ../src/LexPOV.cxx ../include/Platform.h ../include/PropSet.h \
  4438. - ../include/Accessor.h ../src/StyleContext.h \
  4439. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4440. -LexPS.o: ../src/LexPS.cxx ../include/Platform.h ../include/PropSet.h \
  4441. - ../include/Accessor.h ../src/StyleContext.h \
  4442. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4443. -LexPython.o: ../src/LexPython.cxx ../include/Platform.h \
  4444. - ../include/PropSet.h ../include/Accessor.h \
  4445. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4446. - ../include/SciLexer.h
  4447. -LexRebol.o: ../src/LexRebol.cxx ../include/Platform.h \
  4448. - ../include/PropSet.h ../include/Accessor.h \
  4449. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h \
  4450. - ../src/StyleContext.h
  4451. -LexRuby.o: ../src/LexRuby.cxx ../include/Platform.h ../include/PropSet.h \
  4452. - ../include/Accessor.h ../include/KeyWords.h \
  4453. - ../include/Scintilla.h ../include/SciLexer.h
  4454. -LexScriptol.o: ../src/LexScriptol.cxx ../include/Platform.h \
  4455. - ../include/PropSet.h ../include/Accessor.h \
  4456. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4457. -LexSmalltalk.o: ../src/LexSmalltalk.cxx ../include/Platform.h \
  4458. - ../include/PropSet.h ../include/Accessor.h \
  4459. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4460. - ../include/SciLexer.h
  4461. -LexSpecman.o: ../src/LexSpecman.cxx ../include/Platform.h \
  4462. - ../include/PropSet.h ../include/Accessor.h \
  4463. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4464. - ../include/SciLexer.h
  4465. -LexSpice.o: ../src/LexSpice.cxx ../include/Platform.h \
  4466. - ../include/Accessor.h ../src/StyleContext.h ../include/PropSet.h \
  4467. - ../include/KeyWords.h ../include/SciLexer.h
  4468. -LexSQL.o: ../src/LexSQL.cxx ../include/Platform.h ../include/PropSet.h \
  4469. - ../include/Accessor.h ../src/StyleContext.h \
  4470. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4471. -LexTADS3.o: ../src/LexTADS3.cxx ../include/Platform.h \
  4472. - ../include/PropSet.h ../include/Accessor.h \
  4473. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4474. - ../include/SciLexer.h
  4475. -LexTCL.o: ../src/LexTCL.cxx ../include/Platform.h ../include/PropSet.h \
  4476. - ../include/Accessor.h ../src/StyleContext.h \
  4477. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4478. -LexTeX.o: ../src/LexTeX.cxx ../include/Platform.h ../include/PropSet.h \
  4479. - ../include/Accessor.h ../include/KeyWords.h \
  4480. - ../include/Scintilla.h ../include/SciLexer.h ../src/StyleContext.h
  4481. -LexVB.o: ../src/LexVB.cxx ../include/Platform.h ../include/PropSet.h \
  4482. - ../include/Accessor.h ../src/StyleContext.h \
  4483. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4484. -LexVerilog.o: ../src/LexVerilog.cxx ../include/Platform.h \
  4485. - ../include/PropSet.h ../include/Accessor.h \
  4486. - ../src/StyleContext.h ../include/KeyWords.h ../include/Scintilla.h \
  4487. - ../include/SciLexer.h
  4488. -LexVHDL.o: ../src/LexVHDL.cxx ../include/Platform.h ../include/PropSet.h \
  4489. - ../include/Accessor.h ../src/StyleContext.h \
  4490. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4491. -LexYAML.o: ../src/LexYAML.cxx ../include/Platform.h ../include/PropSet.h \
  4492. - ../include/Accessor.h ../src/StyleContext.h \
  4493. - ../include/KeyWords.h ../include/Scintilla.h ../include/SciLexer.h
  4494. +# end modified by Mitchell
  4495. LineMarker.o: ../src/LineMarker.cxx ../include/Platform.h \
  4496. ../include/Scintilla.h ../src/XPM.h ../src/LineMarker.h
  4497. PropSet.o: ../src/PropSet.cxx ../include/Platform.h ../include/PropSet.h
  4498. --- scite-latest/scintilla/win32/makefile 2009-08-26 21:20:39.000000000 -0400
  4499. +++ scintillua/scintilla/win32/makefile 2010-02-01 16:09:37.000000000 -0500
  4500. @@ -7,9 +7,25 @@
  4501. # safely if using a newer version which may display warning messages.
  4502. .SUFFIXES: .cxx
  4503. +# added by Mitchell
  4504. +ifdef LINUX
  4505. +CC = i486-mingw32-g++
  4506. +DLLWRAP = i486-mingw32-dllwrap
  4507. +DEL = rm
  4508. +GCC = i486-mingw32-gcc
  4509. +RANLIB = i486-mingw32-ranlib
  4510. +WINDRES = i486-mingw32-windres
  4511. +else
  4512. +# end added by Mitchell
  4513. CC = g++
  4514. DLLWRAP = dllwrap
  4515. DEL = del /q
  4516. +# added by Mitchell
  4517. +GCC = gcc
  4518. +RANLIB = ranlib
  4519. +WINDRES = windres
  4520. +endif
  4521. +# end added by Mitchell
  4522. COMPONENT = ../bin/Scintilla.dll
  4523. LEXCOMPONENT = ../bin/SciLexer.dll
  4524. @@ -24,11 +40,12 @@
  4525. vpath %.h ../src ../include
  4526. vpath %.cxx ../src
  4527. +vpath %.c ../../scite/lua/src ../../scite/lua/src/lib # added by Mitchell
  4528. LDFLAGS=-mwindows -lstdc++ -limm32 -lole32 -luuid -mno-cygwin
  4529. # Add -MMD to get dependencies
  4530. #CXXFLAGS = -g -pg -pedantic -Os -fno-exceptions -fvtable-thunks -fno-rtti
  4531. -INCLUDEDIRS=-I ../include -I ../src
  4532. +INCLUDEDIRS=-I ../include -I ../src -I ../../scite/lua/include # modified by Mitchell
  4533. CXXBASEFLAGS=-Wall -Wno-missing-braces -Wno-char-subscripts -pedantic $(INCLUDEDIRS) $(THUNKFLAGS) -fno-rtti -mno-cygwin
  4534. ifdef DEBUG
  4535. @@ -38,9 +55,27 @@
  4536. STRIPFLAG=-s
  4537. endif
  4538. +# added by Mitchell
  4539. +LUA_CORE_OBJS = lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
  4540. + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o \
  4541. + ltable.o ltm.o lundump.o lvm.o lzio.o
  4542. +
  4543. +LUA_LIB_OBJS = lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o ltablib.o \
  4544. + lstrlib.o loadlib.o loslib.o linit.o lpeg.o
  4545. +
  4546. +LUA_OBJS = $(LUA_CORE_OBJS) $(LUA_LIB_OBJS)
  4547. +
  4548. +vpath %.c ../lua/src ../lua/src/lib
  4549. +# end added by Mitchell
  4550. +
  4551. .cxx.o:
  4552. $(CC) $(CXXFLAGS) -c $<
  4553. +# added by Mitchell
  4554. +.c.o:
  4555. + $(GCC) $(INCLUDEDIRS) $(THUNKFLAGS) -mno-cygwin -c $< -o $@
  4556. +# end added by Mitchell
  4557. +
  4558. ALL: $(COMPONENT) $(LEXCOMPONENT) $(LEXLIB) ScintillaWinS.o WindowAccessor.o
  4559. clean:
  4560. @@ -49,27 +84,18 @@
  4561. deps:
  4562. $(CC) -MM $(CXXFLAGS) *.cxx ../src/*.cxx >deps.mak
  4563. +# modified by Mitchell
  4564. #++Autogenerated -- run src/LexGen.py to regenerate
  4565. #**LEXOBJS=\\\n\(\*.o \)
  4566. LEXOBJS=\
  4567. -LexAbaqus.o LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexASY.o LexAU3.o LexAVE.o \
  4568. -LexBaan.o LexBash.o LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o \
  4569. -LexCOBOL.o LexConf.o LexCPP.o LexCrontab.o LexCsound.o LexCSS.o LexD.o \
  4570. -LexEiffel.o LexErlang.o LexEScript.o LexFlagship.o LexForth.o LexFortran.o \
  4571. -LexGAP.o LexGui4Cli.o LexHaskell.o LexHTML.o LexInno.o LexKix.o LexLisp.o \
  4572. -LexLout.o LexLua.o LexMagik.o LexMarkdown.o LexMatlab.o LexMetapost.o \
  4573. -LexMMIXAL.o LexMPT.o LexMSSQL.o LexMySQL.o LexNimrod.o LexNsis.o LexOpal.o \
  4574. -LexOthers.o LexPascal.o LexPB.o LexPerl.o LexPLM.o LexPOV.o LexPowerPro.o \
  4575. -LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o LexRebol.o LexRuby.o \
  4576. -LexScriptol.o LexSmalltalk.o LexSML.o LexSorcus.o LexSpecman.o LexSpice.o \
  4577. -LexSQL.o LexTACL.o LexTADS3.o LexTAL.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o \
  4578. -LexVHDL.o LexYAML.o
  4579. +LexLPeg.o
  4580. #--Autogenerated -- end of automatically generated section
  4581. +# end modified by Mitchell
  4582. SOBJS = ScintillaWin.o ScintillaBase.o Editor.o CharClassify.o Decoration.o \
  4583. Document.o ContractionState.o CellBuffer.o CallTip.o \
  4584. ScintRes.o PlatWin.o PositionCache.o KeyMap.o Indicator.o LineMarker.o RESearch.o RunStyles.o \
  4585. - Selection.o Style.o ViewStyle.o AutoComplete.o UniConversion.o PropSet.o XPM.o PerLine.o
  4586. + Selection.o Style.o ViewStyle.o AutoComplete.o UniConversion.o PropSet.o XPM.o PerLine.o $(LUA_OBJS) # modified by Mitchell
  4587. $(COMPONENT): $(SOBJS) Scintilla.def
  4588. $(DLLWRAP) --add-stdcall-alias --target i386-mingw32 -o $@ $(SOBJS) $(LDFLAGS) $(STRIPFLAG) --relocatable
  4589. @@ -77,13 +103,13 @@
  4590. Document.o ContractionState.o CellBuffer.o CallTip.o \
  4591. ScintRes.o PlatWin.o PositionCache.o KeyMap.o Indicator.o LineMarker.o RESearch.o RunStyles.o \
  4592. Selection.o Style.o ViewStyle.o AutoComplete.o UniConversion.o KeyWords.o \
  4593. - DocumentAccessor.o PropSet.o ExternalLexer.o StyleContext.o XPM.o PerLine.o $(LEXOBJS)
  4594. + DocumentAccessor.o PropSet.o ExternalLexer.o StyleContext.o XPM.o PerLine.o $(LEXOBJS) $(LUA_OBJS) # modified by Mitchell
  4595. $(LEXCOMPONENT): $(LOBJS) Scintilla.def
  4596. $(DLLWRAP) --add-stdcall-alias --target i386-mingw32 -o $@ $(LOBJS) $(LDFLAGS) $(STRIPFLAG) --relocatable
  4597. $(LEXLIB): $(LEXOBJS)
  4598. $(AR) rc $@ $^
  4599. - ranlib $@
  4600. + $(RANLIB) $@ # modified by Mitchell
  4601. # Automatically generate dependencies for most files with "make deps"
  4602. include deps.mak
  4603. @@ -114,5 +140,5 @@
  4604. $(CC) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
  4605. ScintRes.o: ScintRes.rc PlatformRes.h
  4606. - windres ScintRes.rc $@
  4607. + $(WINDRES) ScintRes.rc $@ # modified by Mitchell
  4608. --- scite-latest/scintilla/win32/scintilla.mak 2009-08-26 21:20:39.000000000 -0400
  4609. +++ scintillua/scintilla/win32/scintilla.mak 2010-02-01 16:09:37.000000000 -0500
  4610. @@ -77,7 +77,7 @@
  4611. CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
  4612. !ENDIF
  4613. -INCLUDEDIRS=-I../include -I../src
  4614. +INCLUDEDIRS=-I../include -I../src -I../../scite/lua/include # modified by Mitchell
  4615. CXXFLAGS=$(CXXFLAGS) $(INCLUDEDIRS)
  4616. ALL: $(COMPONENT) $(LEXCOMPONENT) $(DIR_O)\ScintillaWinS.obj $(DIR_O)\WindowAccessor.obj
  4617. @@ -112,89 +112,14 @@
  4618. $(DIR_O)\XPM.obj \
  4619. $(DIR_O)\PerLine.obj
  4620. +# modified by Mitchell
  4621. #++Autogenerated -- run src/LexGen.py to regenerate
  4622. #**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
  4623. LEXOBJS=\
  4624. - $(DIR_O)\LexAbaqus.obj \
  4625. - $(DIR_O)\LexAda.obj \
  4626. - $(DIR_O)\LexAPDL.obj \
  4627. - $(DIR_O)\LexAsm.obj \
  4628. - $(DIR_O)\LexAsn1.obj \
  4629. - $(DIR_O)\LexASY.obj \
  4630. - $(DIR_O)\LexAU3.obj \
  4631. - $(DIR_O)\LexAVE.obj \
  4632. - $(DIR_O)\LexBaan.obj \
  4633. - $(DIR_O)\LexBash.obj \
  4634. - $(DIR_O)\LexBasic.obj \
  4635. - $(DIR_O)\LexBullant.obj \
  4636. - $(DIR_O)\LexCaml.obj \
  4637. - $(DIR_O)\LexCLW.obj \
  4638. - $(DIR_O)\LexCmake.obj \
  4639. - $(DIR_O)\LexCOBOL.obj \
  4640. - $(DIR_O)\LexConf.obj \
  4641. - $(DIR_O)\LexCPP.obj \
  4642. - $(DIR_O)\LexCrontab.obj \
  4643. - $(DIR_O)\LexCsound.obj \
  4644. - $(DIR_O)\LexCSS.obj \
  4645. - $(DIR_O)\LexD.obj \
  4646. - $(DIR_O)\LexEiffel.obj \
  4647. - $(DIR_O)\LexErlang.obj \
  4648. - $(DIR_O)\LexEScript.obj \
  4649. - $(DIR_O)\LexFlagship.obj \
  4650. - $(DIR_O)\LexForth.obj \
  4651. - $(DIR_O)\LexFortran.obj \
  4652. - $(DIR_O)\LexGAP.obj \
  4653. - $(DIR_O)\LexGui4Cli.obj \
  4654. - $(DIR_O)\LexHaskell.obj \
  4655. - $(DIR_O)\LexHTML.obj \
  4656. - $(DIR_O)\LexInno.obj \
  4657. - $(DIR_O)\LexKix.obj \
  4658. - $(DIR_O)\LexLisp.obj \
  4659. - $(DIR_O)\LexLout.obj \
  4660. - $(DIR_O)\LexLua.obj \
  4661. - $(DIR_O)\LexMagik.obj \
  4662. - $(DIR_O)\LexMarkdown.obj \
  4663. - $(DIR_O)\LexMatlab.obj \
  4664. - $(DIR_O)\LexMetapost.obj \
  4665. - $(DIR_O)\LexMMIXAL.obj \
  4666. - $(DIR_O)\LexMPT.obj \
  4667. - $(DIR_O)\LexMSSQL.obj \
  4668. - $(DIR_O)\LexMySQL.obj \
  4669. - $(DIR_O)\LexNimrod.obj \
  4670. - $(DIR_O)\LexNsis.obj \
  4671. - $(DIR_O)\LexOpal.obj \
  4672. - $(DIR_O)\LexOthers.obj \
  4673. - $(DIR_O)\LexPascal.obj \
  4674. - $(DIR_O)\LexPB.obj \
  4675. - $(DIR_O)\LexPerl.obj \
  4676. - $(DIR_O)\LexPLM.obj \
  4677. - $(DIR_O)\LexPOV.obj \
  4678. - $(DIR_O)\LexPowerPro.obj \
  4679. - $(DIR_O)\LexPowerShell.obj \
  4680. - $(DIR_O)\LexProgress.obj \
  4681. - $(DIR_O)\LexPS.obj \
  4682. - $(DIR_O)\LexPython.obj \
  4683. - $(DIR_O)\LexR.obj \
  4684. - $(DIR_O)\LexRebol.obj \
  4685. - $(DIR_O)\LexRuby.obj \
  4686. - $(DIR_O)\LexScriptol.obj \
  4687. - $(DIR_O)\LexSmalltalk.obj \
  4688. - $(DIR_O)\LexSML.obj \
  4689. - $(DIR_O)\LexSorcus.obj \
  4690. - $(DIR_O)\LexSpecman.obj \
  4691. - $(DIR_O)\LexSpice.obj \
  4692. - $(DIR_O)\LexSQL.obj \
  4693. - $(DIR_O)\LexTACL.obj \
  4694. - $(DIR_O)\LexTADS3.obj \
  4695. - $(DIR_O)\LexTAL.obj \
  4696. - $(DIR_O)\LexTCL.obj \
  4697. - $(DIR_O)\LexTeX.obj \
  4698. - $(DIR_O)\LexVB.obj \
  4699. - $(DIR_O)\LexVerilog.obj \
  4700. - $(DIR_O)\LexVHDL.obj \
  4701. - $(DIR_O)\LexYAML.obj \
  4702. + $(DIR_O)\LexLPeg.obj
  4703. #--Autogenerated -- end of automatically generated section
  4704. +# end modified by Mitchell
  4705. LOBJS=\
  4706. $(DIR_O)\AutoComplete.obj \
  4707. @@ -318,162 +243,7 @@
  4708. #++Autogenerated -- run src/LexGen.py to regenerate
  4709. #**\n\($(DIR_O)\\\*.obj: ..\\src\\\*.cxx $(LEX_HEADERS)\n\n\)
  4710. -$(DIR_O)\LexAbaqus.obj: ..\src\LexAbaqus.cxx $(LEX_HEADERS)
  4711. -
  4712. -$(DIR_O)\LexAda.obj: ..\src\LexAda.cxx $(LEX_HEADERS)
  4713. -
  4714. -$(DIR_O)\LexAPDL.obj: ..\src\LexAPDL.cxx $(LEX_HEADERS)
  4715. -
  4716. -$(DIR_O)\LexAsm.obj: ..\src\LexAsm.cxx $(LEX_HEADERS)
  4717. -
  4718. -$(DIR_O)\LexAsn1.obj: ..\src\LexAsn1.cxx $(LEX_HEADERS)
  4719. -
  4720. -$(DIR_O)\LexASY.obj: ..\src\LexASY.cxx $(LEX_HEADERS)
  4721. -
  4722. -$(DIR_O)\LexAU3.obj: ..\src\LexAU3.cxx $(LEX_HEADERS)
  4723. -
  4724. -$(DIR_O)\LexAVE.obj: ..\src\LexAVE.cxx $(LEX_HEADERS)
  4725. -
  4726. -$(DIR_O)\LexBaan.obj: ..\src\LexBaan.cxx $(LEX_HEADERS)
  4727. -
  4728. -$(DIR_O)\LexBash.obj: ..\src\LexBash.cxx $(LEX_HEADERS)
  4729. -
  4730. -$(DIR_O)\LexBasic.obj: ..\src\LexBasic.cxx $(LEX_HEADERS)
  4731. -
  4732. -$(DIR_O)\LexBullant.obj: ..\src\LexBullant.cxx $(LEX_HEADERS)
  4733. -
  4734. -$(DIR_O)\LexCaml.obj: ..\src\LexCaml.cxx $(LEX_HEADERS)
  4735. -
  4736. -$(DIR_O)\LexCLW.obj: ..\src\LexCLW.cxx $(LEX_HEADERS)
  4737. -
  4738. -$(DIR_O)\LexCmake.obj: ..\src\LexCmake.cxx $(LEX_HEADERS)
  4739. -
  4740. -$(DIR_O)\LexCOBOL.obj: ..\src\LexCOBOL.cxx $(LEX_HEADERS)
  4741. -
  4742. -$(DIR_O)\LexConf.obj: ..\src\LexConf.cxx $(LEX_HEADERS)
  4743. -
  4744. -$(DIR_O)\LexCPP.obj: ..\src\LexCPP.cxx $(LEX_HEADERS)
  4745. -
  4746. -$(DIR_O)\LexCrontab.obj: ..\src\LexCrontab.cxx $(LEX_HEADERS)
  4747. -
  4748. -$(DIR_O)\LexCsound.obj: ..\src\LexCsound.cxx $(LEX_HEADERS)
  4749. -
  4750. -$(DIR_O)\LexCSS.obj: ..\src\LexCSS.cxx $(LEX_HEADERS)
  4751. -
  4752. -$(DIR_O)\LexD.obj: ..\src\LexD.cxx $(LEX_HEADERS)
  4753. -
  4754. -$(DIR_O)\LexEiffel.obj: ..\src\LexEiffel.cxx $(LEX_HEADERS)
  4755. -
  4756. -$(DIR_O)\LexErlang.obj: ..\src\LexErlang.cxx $(LEX_HEADERS)
  4757. -
  4758. -$(DIR_O)\LexEScript.obj: ..\src\LexEScript.cxx $(LEX_HEADERS)
  4759. -
  4760. -$(DIR_O)\LexFlagship.obj: ..\src\LexFlagship.cxx $(LEX_HEADERS)
  4761. -
  4762. -$(DIR_O)\LexForth.obj: ..\src\LexForth.cxx $(LEX_HEADERS)
  4763. -
  4764. -$(DIR_O)\LexFortran.obj: ..\src\LexFortran.cxx $(LEX_HEADERS)
  4765. -
  4766. -$(DIR_O)\LexGAP.obj: ..\src\LexGAP.cxx $(LEX_HEADERS)
  4767. -
  4768. -$(DIR_O)\LexGui4Cli.obj: ..\src\LexGui4Cli.cxx $(LEX_HEADERS)
  4769. -
  4770. -$(DIR_O)\LexHaskell.obj: ..\src\LexHaskell.cxx $(LEX_HEADERS)
  4771. -
  4772. -$(DIR_O)\LexHTML.obj: ..\src\LexHTML.cxx $(LEX_HEADERS)
  4773. -
  4774. -$(DIR_O)\LexInno.obj: ..\src\LexInno.cxx $(LEX_HEADERS)
  4775. -
  4776. -$(DIR_O)\LexKix.obj: ..\src\LexKix.cxx $(LEX_HEADERS)
  4777. -
  4778. -$(DIR_O)\LexLisp.obj: ..\src\LexLisp.cxx $(LEX_HEADERS)
  4779. -
  4780. -$(DIR_O)\LexLout.obj: ..\src\LexLout.cxx $(LEX_HEADERS)
  4781. -
  4782. -$(DIR_O)\LexLua.obj: ..\src\LexLua.cxx $(LEX_HEADERS)
  4783. -
  4784. -$(DIR_O)\LexMagik.obj: ..\src\LexMagik.cxx $(LEX_HEADERS)
  4785. -
  4786. -$(DIR_O)\LexMarkdown.obj: ..\src\LexMarkdown.cxx $(LEX_HEADERS)
  4787. -
  4788. -$(DIR_O)\LexMatlab.obj: ..\src\LexMatlab.cxx $(LEX_HEADERS)
  4789. -
  4790. -$(DIR_O)\LexMetapost.obj: ..\src\LexMetapost.cxx $(LEX_HEADERS)
  4791. -
  4792. -$(DIR_O)\LexMMIXAL.obj: ..\src\LexMMIXAL.cxx $(LEX_HEADERS)
  4793. -
  4794. -$(DIR_O)\LexMPT.obj: ..\src\LexMPT.cxx $(LEX_HEADERS)
  4795. -
  4796. -$(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS)
  4797. -
  4798. -$(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS)
  4799. -
  4800. -$(DIR_O)\LexNimrod.obj: ..\src\LexNimrod.cxx $(LEX_HEADERS)
  4801. -
  4802. -$(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS)
  4803. -
  4804. -$(DIR_O)\LexOpal.obj: ..\src\LexOpal.cxx $(LEX_HEADERS)
  4805. -
  4806. -$(DIR_O)\LexOthers.obj: ..\src\LexOthers.cxx $(LEX_HEADERS)
  4807. -
  4808. -$(DIR_O)\LexPascal.obj: ..\src\LexPascal.cxx $(LEX_HEADERS)
  4809. -
  4810. -$(DIR_O)\LexPB.obj: ..\src\LexPB.cxx $(LEX_HEADERS)
  4811. -
  4812. -$(DIR_O)\LexPerl.obj: ..\src\LexPerl.cxx $(LEX_HEADERS)
  4813. -
  4814. -$(DIR_O)\LexPLM.obj: ..\src\LexPLM.cxx $(LEX_HEADERS)
  4815. -
  4816. -$(DIR_O)\LexPOV.obj: ..\src\LexPOV.cxx $(LEX_HEADERS)
  4817. -
  4818. -$(DIR_O)\LexPowerPro.obj: ..\src\LexPowerPro.cxx $(LEX_HEADERS)
  4819. -
  4820. -$(DIR_O)\LexPowerShell.obj: ..\src\LexPowerShell.cxx $(LEX_HEADERS)
  4821. -
  4822. -$(DIR_O)\LexProgress.obj: ..\src\LexProgress.cxx $(LEX_HEADERS)
  4823. -
  4824. -$(DIR_O)\LexPS.obj: ..\src\LexPS.cxx $(LEX_HEADERS)
  4825. -
  4826. -$(DIR_O)\LexPython.obj: ..\src\LexPython.cxx $(LEX_HEADERS)
  4827. -
  4828. -$(DIR_O)\LexR.obj: ..\src\LexR.cxx $(LEX_HEADERS)
  4829. -
  4830. -$(DIR_O)\LexRebol.obj: ..\src\LexRebol.cxx $(LEX_HEADERS)
  4831. -
  4832. -$(DIR_O)\LexRuby.obj: ..\src\LexRuby.cxx $(LEX_HEADERS)
  4833. -
  4834. -$(DIR_O)\LexScriptol.obj: ..\src\LexScriptol.cxx $(LEX_HEADERS)
  4835. -
  4836. -$(DIR_O)\LexSmalltalk.obj: ..\src\LexSmalltalk.cxx $(LEX_HEADERS)
  4837. -
  4838. -$(DIR_O)\LexSML.obj: ..\src\LexSML.cxx $(LEX_HEADERS)
  4839. -
  4840. -$(DIR_O)\LexSorcus.obj: ..\src\LexSorcus.cxx $(LEX_HEADERS)
  4841. -
  4842. -$(DIR_O)\LexSpecman.obj: ..\src\LexSpecman.cxx $(LEX_HEADERS)
  4843. -
  4844. -$(DIR_O)\LexSpice.obj: ..\src\LexSpice.cxx $(LEX_HEADERS)
  4845. -
  4846. -$(DIR_O)\LexSQL.obj: ..\src\LexSQL.cxx $(LEX_HEADERS)
  4847. -
  4848. -$(DIR_O)\LexTACL.obj: ..\src\LexTACL.cxx $(LEX_HEADERS)
  4849. -
  4850. -$(DIR_O)\LexTADS3.obj: ..\src\LexTADS3.cxx $(LEX_HEADERS)
  4851. -
  4852. -$(DIR_O)\LexTAL.obj: ..\src\LexTAL.cxx $(LEX_HEADERS)
  4853. -
  4854. -$(DIR_O)\LexTCL.obj: ..\src\LexTCL.cxx $(LEX_HEADERS)
  4855. -
  4856. -$(DIR_O)\LexTeX.obj: ..\src\LexTeX.cxx $(LEX_HEADERS)
  4857. -
  4858. -$(DIR_O)\LexVB.obj: ..\src\LexVB.cxx $(LEX_HEADERS)
  4859. -
  4860. -$(DIR_O)\LexVerilog.obj: ..\src\LexVerilog.cxx $(LEX_HEADERS)
  4861. -
  4862. -$(DIR_O)\LexVHDL.obj: ..\src\LexVHDL.cxx $(LEX_HEADERS)
  4863. -
  4864. -$(DIR_O)\LexYAML.obj: ..\src\LexYAML.cxx $(LEX_HEADERS)
  4865. -
  4866. +$(DIR_O)\LexLPeg.obj: ..\src\LexLPeg.cxx $(LEX_HEADERS)
  4867. #--Autogenerated -- end of automatically generated section
  4868. --- scite-latest/scintilla/win32/scintilla_vc6.mak 2009-08-26 21:20:39.000000000 -0400
  4869. +++ scintillua/scintilla/win32/scintilla_vc6.mak 2010-02-01 16:09:37.000000000 -0500
  4870. @@ -79,7 +79,7 @@
  4871. CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
  4872. !ENDIF
  4873. -INCLUDEDIRS=-I../include -I../src
  4874. +INCLUDEDIRS=-I../include -I../src -I../../scite/lua/include # modified by Mitchell
  4875. CXXFLAGS=$(CXXFLAGS) $(INCLUDEDIRS)
  4876. ALL: $(COMPONENT) $(LEXCOMPONENT) $(DIR_O)\ScintillaWinS.obj $(DIR_O)\WindowAccessor.obj
  4877. @@ -114,89 +114,14 @@
  4878. $(DIR_O)\XPM.obj \
  4879. $(DIR_O)\PerLine.obj
  4880. +# modified by Mitchell
  4881. #++Autogenerated -- run src/LexGen.py to regenerate
  4882. #**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
  4883. LEXOBJS=\
  4884. - $(DIR_O)\LexAbaqus.obj \
  4885. - $(DIR_O)\LexAda.obj \
  4886. - $(DIR_O)\LexAPDL.obj \
  4887. - $(DIR_O)\LexAsm.obj \
  4888. - $(DIR_O)\LexAsn1.obj \
  4889. - $(DIR_O)\LexASY.obj \
  4890. - $(DIR_O)\LexAU3.obj \
  4891. - $(DIR_O)\LexAVE.obj \
  4892. - $(DIR_O)\LexBaan.obj \
  4893. - $(DIR_O)\LexBash.obj \
  4894. - $(DIR_O)\LexBasic.obj \
  4895. - $(DIR_O)\LexBullant.obj \
  4896. - $(DIR_O)\LexCaml.obj \
  4897. - $(DIR_O)\LexCLW.obj \
  4898. - $(DIR_O)\LexCmake.obj \
  4899. - $(DIR_O)\LexCOBOL.obj \
  4900. - $(DIR_O)\LexConf.obj \
  4901. - $(DIR_O)\LexCPP.obj \
  4902. - $(DIR_O)\LexCrontab.obj \
  4903. - $(DIR_O)\LexCsound.obj \
  4904. - $(DIR_O)\LexCSS.obj \
  4905. - $(DIR_O)\LexD.obj \
  4906. - $(DIR_O)\LexEiffel.obj \
  4907. - $(DIR_O)\LexErlang.obj \
  4908. - $(DIR_O)\LexEScript.obj \
  4909. - $(DIR_O)\LexFlagship.obj \
  4910. - $(DIR_O)\LexForth.obj \
  4911. - $(DIR_O)\LexFortran.obj \
  4912. - $(DIR_O)\LexGAP.obj \
  4913. - $(DIR_O)\LexGui4Cli.obj \
  4914. - $(DIR_O)\LexHaskell.obj \
  4915. - $(DIR_O)\LexHTML.obj \
  4916. - $(DIR_O)\LexInno.obj \
  4917. - $(DIR_O)\LexKix.obj \
  4918. - $(DIR_O)\LexLisp.obj \
  4919. - $(DIR_O)\LexLout.obj \
  4920. - $(DIR_O)\LexLua.obj \
  4921. - $(DIR_O)\LexMagik.obj \
  4922. - $(DIR_O)\LexMarkdown.obj \
  4923. - $(DIR_O)\LexMatlab.obj \
  4924. - $(DIR_O)\LexMetapost.obj \
  4925. - $(DIR_O)\LexMMIXAL.obj \
  4926. - $(DIR_O)\LexMPT.obj \
  4927. - $(DIR_O)\LexMSSQL.obj \
  4928. - $(DIR_O)\LexMySQL.obj \
  4929. - $(DIR_O)\LexNimrod.obj \
  4930. - $(DIR_O)\LexNsis.obj \
  4931. - $(DIR_O)\LexOpal.obj \
  4932. - $(DIR_O)\LexOthers.obj \
  4933. - $(DIR_O)\LexPascal.obj \
  4934. - $(DIR_O)\LexPB.obj \
  4935. - $(DIR_O)\LexPerl.obj \
  4936. - $(DIR_O)\LexPLM.obj \
  4937. - $(DIR_O)\LexPOV.obj \
  4938. - $(DIR_O)\LexPowerPro.obj \
  4939. - $(DIR_O)\LexPowerShell.obj \
  4940. - $(DIR_O)\LexProgress.obj \
  4941. - $(DIR_O)\LexPS.obj \
  4942. - $(DIR_O)\LexPython.obj \
  4943. - $(DIR_O)\LexR.obj \
  4944. - $(DIR_O)\LexRebol.obj \
  4945. - $(DIR_O)\LexRuby.obj \
  4946. - $(DIR_O)\LexScriptol.obj \
  4947. - $(DIR_O)\LexSmalltalk.obj \
  4948. - $(DIR_O)\LexSML.obj \
  4949. - $(DIR_O)\LexSorcus.obj \
  4950. - $(DIR_O)\LexSpecman.obj \
  4951. - $(DIR_O)\LexSpice.obj \
  4952. - $(DIR_O)\LexSQL.obj \
  4953. - $(DIR_O)\LexTACL.obj \
  4954. - $(DIR_O)\LexTADS3.obj \
  4955. - $(DIR_O)\LexTAL.obj \
  4956. - $(DIR_O)\LexTCL.obj \
  4957. - $(DIR_O)\LexTeX.obj \
  4958. - $(DIR_O)\LexVB.obj \
  4959. - $(DIR_O)\LexVerilog.obj \
  4960. - $(DIR_O)\LexVHDL.obj \
  4961. - $(DIR_O)\LexYAML.obj \
  4962. + $(DIR_O)\LexLPeg.obj
  4963. #--Autogenerated -- end of automatically generated section
  4964. +# end modified by Mitchell
  4965. LOBJS=\
  4966. $(DIR_O)\AutoComplete.obj \
  4967. @@ -320,162 +245,7 @@
  4968. #++Autogenerated -- run src/LexGen.py to regenerate
  4969. #**\n\($(DIR_O)\\\*.obj: ..\\src\\\*.cxx $(LEX_HEADERS)\n\n\)
  4970. -$(DIR_O)\LexAbaqus.obj: ..\src\LexAbaqus.cxx $(LEX_HEADERS)
  4971. -
  4972. -$(DIR_O)\LexAda.obj: ..\src\LexAda.cxx $(LEX_HEADERS)
  4973. -
  4974. -$(DIR_O)\LexAPDL.obj: ..\src\LexAPDL.cxx $(LEX_HEADERS)
  4975. -
  4976. -$(DIR_O)\LexAsm.obj: ..\src\LexAsm.cxx $(LEX_HEADERS)
  4977. -
  4978. -$(DIR_O)\LexAsn1.obj: ..\src\LexAsn1.cxx $(LEX_HEADERS)
  4979. -
  4980. -$(DIR_O)\LexASY.obj: ..\src\LexASY.cxx $(LEX_HEADERS)
  4981. -
  4982. -$(DIR_O)\LexAU3.obj: ..\src\LexAU3.cxx $(LEX_HEADERS)
  4983. -
  4984. -$(DIR_O)\LexAVE.obj: ..\src\LexAVE.cxx $(LEX_HEADERS)
  4985. -
  4986. -$(DIR_O)\LexBaan.obj: ..\src\LexBaan.cxx $(LEX_HEADERS)
  4987. -
  4988. -$(DIR_O)\LexBash.obj: ..\src\LexBash.cxx $(LEX_HEADERS)
  4989. -
  4990. -$(DIR_O)\LexBasic.obj: ..\src\LexBasic.cxx $(LEX_HEADERS)
  4991. -
  4992. -$(DIR_O)\LexBullant.obj: ..\src\LexBullant.cxx $(LEX_HEADERS)
  4993. -
  4994. -$(DIR_O)\LexCaml.obj: ..\src\LexCaml.cxx $(LEX_HEADERS)
  4995. -
  4996. -$(DIR_O)\LexCLW.obj: ..\src\LexCLW.cxx $(LEX_HEADERS)
  4997. -
  4998. -$(DIR_O)\LexCmake.obj: ..\src\LexCmake.cxx $(LEX_HEADERS)
  4999. -
  5000. -$(DIR_O)\LexCOBOL.obj: ..\src\LexCOBOL.cxx $(LEX_HEADERS)
  5001. -
  5002. -$(DIR_O)\LexConf.obj: ..\src\LexConf.cxx $(LEX_HEADERS)
  5003. -
  5004. -$(DIR_O)\LexCPP.obj: ..\src\LexCPP.cxx $(LEX_HEADERS)
  5005. -
  5006. -$(DIR_O)\LexCrontab.obj: ..\src\LexCrontab.cxx $(LEX_HEADERS)
  5007. -
  5008. -$(DIR_O)\LexCsound.obj: ..\src\LexCsound.cxx $(LEX_HEADERS)
  5009. -
  5010. -$(DIR_O)\LexCSS.obj: ..\src\LexCSS.cxx $(LEX_HEADERS)
  5011. -
  5012. -$(DIR_O)\LexD.obj: ..\src\LexD.cxx $(LEX_HEADERS)
  5013. -
  5014. -$(DIR_O)\LexEiffel.obj: ..\src\LexEiffel.cxx $(LEX_HEADERS)
  5015. -
  5016. -$(DIR_O)\LexErlang.obj: ..\src\LexErlang.cxx $(LEX_HEADERS)
  5017. -
  5018. -$(DIR_O)\LexEScript.obj: ..\src\LexEScript.cxx $(LEX_HEADERS)
  5019. -
  5020. -$(DIR_O)\LexFlagship.obj: ..\src\LexFlagship.cxx $(LEX_HEADERS)
  5021. -
  5022. -$(DIR_O)\LexForth.obj: ..\src\LexForth.cxx $(LEX_HEADERS)
  5023. -
  5024. -$(DIR_O)\LexFortran.obj: ..\src\LexFortran.cxx $(LEX_HEADERS)
  5025. -
  5026. -$(DIR_O)\LexGAP.obj: ..\src\LexGAP.cxx $(LEX_HEADERS)
  5027. -
  5028. -$(DIR_O)\LexGui4Cli.obj: ..\src\LexGui4Cli.cxx $(LEX_HEADERS)
  5029. -
  5030. -$(DIR_O)\LexHaskell.obj: ..\src\LexHaskell.cxx $(LEX_HEADERS)
  5031. -
  5032. -$(DIR_O)\LexHTML.obj: ..\src\LexHTML.cxx $(LEX_HEADERS)
  5033. -
  5034. -$(DIR_O)\LexInno.obj: ..\src\LexInno.cxx $(LEX_HEADERS)
  5035. -
  5036. -$(DIR_O)\LexKix.obj: ..\src\LexKix.cxx $(LEX_HEADERS)
  5037. -
  5038. -$(DIR_O)\LexLisp.obj: ..\src\LexLisp.cxx $(LEX_HEADERS)
  5039. -
  5040. -$(DIR_O)\LexLout.obj: ..\src\LexLout.cxx $(LEX_HEADERS)
  5041. -
  5042. -$(DIR_O)\LexLua.obj: ..\src\LexLua.cxx $(LEX_HEADERS)
  5043. -
  5044. -$(DIR_O)\LexMagik.obj: ..\src\LexMagik.cxx $(LEX_HEADERS)
  5045. -
  5046. -$(DIR_O)\LexMarkdown.obj: ..\src\LexMarkdown.cxx $(LEX_HEADERS)
  5047. -
  5048. -$(DIR_O)\LexMatlab.obj: ..\src\LexMatlab.cxx $(LEX_HEADERS)
  5049. -
  5050. -$(DIR_O)\LexMetapost.obj: ..\src\LexMetapost.cxx $(LEX_HEADERS)
  5051. -
  5052. -$(DIR_O)\LexMMIXAL.obj: ..\src\LexMMIXAL.cxx $(LEX_HEADERS)
  5053. -
  5054. -$(DIR_O)\LexMPT.obj: ..\src\LexMPT.cxx $(LEX_HEADERS)
  5055. -
  5056. -$(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS)
  5057. -
  5058. -$(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS)
  5059. -
  5060. -$(DIR_O)\LexNimrod.obj: ..\src\LexNimrod.cxx $(LEX_HEADERS)
  5061. -
  5062. -$(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS)
  5063. -
  5064. -$(DIR_O)\LexOpal.obj: ..\src\LexOpal.cxx $(LEX_HEADERS)
  5065. -
  5066. -$(DIR_O)\LexOthers.obj: ..\src\LexOthers.cxx $(LEX_HEADERS)
  5067. -
  5068. -$(DIR_O)\LexPascal.obj: ..\src\LexPascal.cxx $(LEX_HEADERS)
  5069. -
  5070. -$(DIR_O)\LexPB.obj: ..\src\LexPB.cxx $(LEX_HEADERS)
  5071. -
  5072. -$(DIR_O)\LexPerl.obj: ..\src\LexPerl.cxx $(LEX_HEADERS)
  5073. -
  5074. -$(DIR_O)\LexPLM.obj: ..\src\LexPLM.cxx $(LEX_HEADERS)
  5075. -
  5076. -$(DIR_O)\LexPOV.obj: ..\src\LexPOV.cxx $(LEX_HEADERS)
  5077. -
  5078. -$(DIR_O)\LexPowerPro.obj: ..\src\LexPowerPro.cxx $(LEX_HEADERS)
  5079. -
  5080. -$(DIR_O)\LexPowerShell.obj: ..\src\LexPowerShell.cxx $(LEX_HEADERS)
  5081. -
  5082. -$(DIR_O)\LexProgress.obj: ..\src\LexProgress.cxx $(LEX_HEADERS)
  5083. -
  5084. -$(DIR_O)\LexPS.obj: ..\src\LexPS.cxx $(LEX_HEADERS)
  5085. -
  5086. -$(DIR_O)\LexPython.obj: ..\src\LexPython.cxx $(LEX_HEADERS)
  5087. -
  5088. -$(DIR_O)\LexR.obj: ..\src\LexR.cxx $(LEX_HEADERS)
  5089. -
  5090. -$(DIR_O)\LexRebol.obj: ..\src\LexRebol.cxx $(LEX_HEADERS)
  5091. -
  5092. -$(DIR_O)\LexRuby.obj: ..\src\LexRuby.cxx $(LEX_HEADERS)
  5093. -
  5094. -$(DIR_O)\LexScriptol.obj: ..\src\LexScriptol.cxx $(LEX_HEADERS)
  5095. -
  5096. -$(DIR_O)\LexSmalltalk.obj: ..\src\LexSmalltalk.cxx $(LEX_HEADERS)
  5097. -
  5098. -$(DIR_O)\LexSML.obj: ..\src\LexSML.cxx $(LEX_HEADERS)
  5099. -
  5100. -$(DIR_O)\LexSorcus.obj: ..\src\LexSorcus.cxx $(LEX_HEADERS)
  5101. -
  5102. -$(DIR_O)\LexSpecman.obj: ..\src\LexSpecman.cxx $(LEX_HEADERS)
  5103. -
  5104. -$(DIR_O)\LexSpice.obj: ..\src\LexSpice.cxx $(LEX_HEADERS)
  5105. -
  5106. -$(DIR_O)\LexSQL.obj: ..\src\LexSQL.cxx $(LEX_HEADERS)
  5107. -
  5108. -$(DIR_O)\LexTACL.obj: ..\src\LexTACL.cxx $(LEX_HEADERS)
  5109. -
  5110. -$(DIR_O)\LexTADS3.obj: ..\src\LexTADS3.cxx $(LEX_HEADERS)
  5111. -
  5112. -$(DIR_O)\LexTAL.obj: ..\src\LexTAL.cxx $(LEX_HEADERS)
  5113. -
  5114. -$(DIR_O)\LexTCL.obj: ..\src\LexTCL.cxx $(LEX_HEADERS)
  5115. -
  5116. -$(DIR_O)\LexTeX.obj: ..\src\LexTeX.cxx $(LEX_HEADERS)
  5117. -
  5118. -$(DIR_O)\LexVB.obj: ..\src\LexVB.cxx $(LEX_HEADERS)
  5119. -
  5120. -$(DIR_O)\LexVerilog.obj: ..\src\LexVerilog.cxx $(LEX_HEADERS)
  5121. -
  5122. -$(DIR_O)\LexVHDL.obj: ..\src\LexVHDL.cxx $(LEX_HEADERS)
  5123. -
  5124. -$(DIR_O)\LexYAML.obj: ..\src\LexYAML.cxx $(LEX_HEADERS)
  5125. -
  5126. +$(DIR_O)\LexLPeg.obj: ..\src\LexLPeg.cxx $(LEX_HEADERS)
  5127. #--Autogenerated -- end of automatically generated section
  5128. --- scite-latest/scintilla/win32/ScintillaWin.cxx 2009-08-27 22:08:48.000000000 -0400
  5129. +++ scintillua/scintilla/win32/ScintillaWin.cxx 2010-02-01 16:09:37.000000000 -0500
  5130. @@ -1488,7 +1488,7 @@
  5131. }
  5132. void ScintillaWin::SetLexerLanguage(const char *languageName) {
  5133. - lexLanguage = SCLEX_CONTAINER;
  5134. + lexLanguage = SCLEX_LPEG; // modified by Mitchell
  5135. lexCurrent = LexerModule::Find(languageName);
  5136. if (!lexCurrent)
  5137. lexCurrent = LexerModule::Find(SCLEX_NULL);
  5138. --- scite-latest/scite/boundscheck/SciTE.dsp 2009-08-26 21:17:31.000000000 -0400
  5139. +++ scintillua/scite/boundscheck/SciTE.dsp 2010-02-01 16:09:37.000000000 -0500
  5140. @@ -195,317 +195,14 @@
  5141. # End Source File
  5142. # Begin Source File
  5143. -SOURCE=..\..\scintilla\src\LexAbaqus.cxx
  5144. +# modified by Mitchell
  5145. +SOURCE=..\..\scintilla\src\LexLPeg.cxx
  5146. # End Source File
  5147. # Begin Source File
  5148. -
  5149. -SOURCE=..\..\scintilla\src\LexAda.cxx
  5150. -# End Source File
  5151. -# Begin Source File
  5152. -
  5153. -SOURCE=..\..\scintilla\src\LexAPDL.cxx
  5154. -# End Source File
  5155. -# Begin Source File
  5156. -
  5157. -SOURCE=..\..\scintilla\src\LexAsm.cxx
  5158. -# End Source File
  5159. -# Begin Source File
  5160. -
  5161. -SOURCE=..\..\scintilla\src\LexAsn1.cxx
  5162. -# End Source File
  5163. -# Begin Source File
  5164. -
  5165. -SOURCE=..\..\scintilla\src\LexASY.cxx
  5166. -# End Source File
  5167. -# Begin Source File
  5168. -
  5169. -SOURCE=..\..\scintilla\src\LexAU3.cxx
  5170. -# End Source File
  5171. -# Begin Source File
  5172. -
  5173. -SOURCE=..\..\scintilla\src\LexAVE.cxx
  5174. -# End Source File
  5175. -# Begin Source File
  5176. -
  5177. -SOURCE=..\..\scintilla\src\LexBaan.cxx
  5178. -# End Source File
  5179. -# Begin Source File
  5180. -
  5181. -SOURCE=..\..\scintilla\src\LexBash.cxx
  5182. -# End Source File
  5183. -# Begin Source File
  5184. -
  5185. -SOURCE=..\..\scintilla\src\LexBasic.cxx
  5186. -# End Source File
  5187. -# Begin Source File
  5188. -
  5189. -SOURCE=..\..\scintilla\src\LexBullant.cxx
  5190. -# End Source File
  5191. -# Begin Source File
  5192. -
  5193. -SOURCE=..\..\scintilla\src\LexCaml.cxx
  5194. -# End Source File
  5195. -# Begin Source File
  5196. -
  5197. -SOURCE=..\..\scintilla\src\LexCLW.cxx
  5198. -# End Source File
  5199. -# Begin Source File
  5200. -
  5201. -SOURCE=..\..\scintilla\src\LexCmake.cxx
  5202. -# End Source File
  5203. -# Begin Source File
  5204. -
  5205. -SOURCE=..\..\scintilla\src\LexCOBOL.cxx
  5206. -# End Source File
  5207. -# Begin Source File
  5208. -
  5209. -SOURCE=..\..\scintilla\src\LexConf.cxx
  5210. -# End Source File
  5211. -# Begin Source File
  5212. -
  5213. -SOURCE=..\..\scintilla\src\LexCPP.cxx
  5214. -# End Source File
  5215. -# Begin Source File
  5216. -
  5217. -SOURCE=..\..\scintilla\src\LexCrontab.cxx
  5218. -# End Source File
  5219. -# Begin Source File
  5220. -
  5221. -SOURCE=..\..\scintilla\src\LexCsound.cxx
  5222. -# End Source File
  5223. -# Begin Source File
  5224. -
  5225. -SOURCE=..\..\scintilla\src\LexCSS.cxx
  5226. -# End Source File
  5227. -# Begin Source File
  5228. -
  5229. -SOURCE=..\..\scintilla\src\LexD.cxx
  5230. -# End Source File
  5231. -# Begin Source File
  5232. -
  5233. -SOURCE=..\..\scintilla\src\LexEiffel.cxx
  5234. -# End Source File
  5235. -# Begin Source File
  5236. -
  5237. -SOURCE=..\..\scintilla\src\LexErlang.cxx
  5238. -# End Source File
  5239. -# Begin Source File
  5240. -
  5241. -SOURCE=..\..\scintilla\src\LexEScript.cxx
  5242. -# End Source File
  5243. -# Begin Source File
  5244. -
  5245. -SOURCE=..\..\scintilla\src\LexFlagship.cxx
  5246. -# End Source File
  5247. -# Begin Source File
  5248. -
  5249. -SOURCE=..\..\scintilla\src\LexForth.cxx
  5250. -# End Source File
  5251. -# Begin Source File
  5252. -
  5253. -SOURCE=..\..\scintilla\src\LexFortran.cxx
  5254. -# End Source File
  5255. -# Begin Source File
  5256. -
  5257. -SOURCE=..\..\scintilla\src\LexGAP.cxx
  5258. -# End Source File
  5259. -# Begin Source File
  5260. -
  5261. -SOURCE=..\..\scintilla\src\LexGui4Cli.cxx
  5262. -# End Source File
  5263. -# Begin Source File
  5264. -
  5265. -SOURCE=..\..\scintilla\src\LexHaskell.cxx
  5266. -# End Source File
  5267. -# Begin Source File
  5268. -
  5269. -SOURCE=..\..\scintilla\src\LexHTML.cxx
  5270. -# End Source File
  5271. -# Begin Source File
  5272. -
  5273. -SOURCE=..\..\scintilla\src\LexInno.cxx
  5274. -# End Source File
  5275. -# Begin Source File
  5276. -
  5277. -SOURCE=..\..\scintilla\src\LexKix.cxx
  5278. -# End Source File
  5279. -# Begin Source File
  5280. -
  5281. -SOURCE=..\..\scintilla\src\LexLisp.cxx
  5282. -# End Source File
  5283. -# Begin Source File
  5284. -
  5285. -SOURCE=..\..\scintilla\src\LexLout.cxx
  5286. -# End Source File
  5287. -# Begin Source File
  5288. -
  5289. -SOURCE=..\..\scintilla\src\LexLua.cxx
  5290. -# End Source File
  5291. -# Begin Source File
  5292. -
  5293. -SOURCE=..\..\scintilla\src\LexMagik.cxx
  5294. -# End Source File
  5295. -# Begin Source File
  5296. -
  5297. -SOURCE=..\..\scintilla\src\LexMarkdown.cxx
  5298. -# End Source File
  5299. -# Begin Source File
  5300. -
  5301. -SOURCE=..\..\scintilla\src\LexMatlab.cxx
  5302. -# End Source File
  5303. -# Begin Source File
  5304. -
  5305. -SOURCE=..\..\scintilla\src\LexMetapost.cxx
  5306. -# End Source File
  5307. -# Begin Source File
  5308. -
  5309. -SOURCE=..\..\scintilla\src\LexMMIXAL.cxx
  5310. -# End Source File
  5311. -# Begin Source File
  5312. -
  5313. -SOURCE=..\..\scintilla\src\LexMPT.cxx
  5314. -# End Source File
  5315. -# Begin Source File
  5316. -
  5317. -SOURCE=..\..\scintilla\src\LexMSSQL.cxx
  5318. -# End Source File
  5319. -# Begin Source File
  5320. -
  5321. -SOURCE=..\..\scintilla\src\LexMySQL.cxx
  5322. -# End Source File
  5323. -# Begin Source File
  5324. -
  5325. -SOURCE=..\..\scintilla\src\LexNimrod.cxx
  5326. -# End Source File
  5327. -# Begin Source File
  5328. -
  5329. -SOURCE=..\..\scintilla\src\LexNsis.cxx
  5330. -# End Source File
  5331. -# Begin Source File
  5332. -
  5333. -SOURCE=..\..\scintilla\src\LexOpal.cxx
  5334. -# End Source File
  5335. -# Begin Source File
  5336. -
  5337. -SOURCE=..\..\scintilla\src\LexOthers.cxx
  5338. -# End Source File
  5339. -# Begin Source File
  5340. -
  5341. -SOURCE=..\..\scintilla\src\LexPascal.cxx
  5342. -# End Source File
  5343. -# Begin Source File
  5344. -
  5345. -SOURCE=..\..\scintilla\src\LexPB.cxx
  5346. -# End Source File
  5347. -# Begin Source File
  5348. -
  5349. -SOURCE=..\..\scintilla\src\LexPerl.cxx
  5350. -# End Source File
  5351. -# Begin Source File
  5352. -
  5353. -SOURCE=..\..\scintilla\src\LexPLM.cxx
  5354. -# End Source File
  5355. -# Begin Source File
  5356. -
  5357. -SOURCE=..\..\scintilla\src\LexPOV.cxx
  5358. -# End Source File
  5359. -# Begin Source File
  5360. -
  5361. -SOURCE=..\..\scintilla\src\LexPowerPro.cxx
  5362. -# End Source File
  5363. -# Begin Source File
  5364. -
  5365. -SOURCE=..\..\scintilla\src\LexPowerShell.cxx
  5366. -# End Source File
  5367. -# Begin Source File
  5368. -
  5369. -SOURCE=..\..\scintilla\src\LexProgress.cxx
  5370. -# End Source File
  5371. -# Begin Source File
  5372. -
  5373. -SOURCE=..\..\scintilla\src\LexPS.cxx
  5374. -# End Source File
  5375. -# Begin Source File
  5376. -
  5377. -SOURCE=..\..\scintilla\src\LexPython.cxx
  5378. -# End Source File
  5379. -# Begin Source File
  5380. -
  5381. -SOURCE=..\..\scintilla\src\LexR.cxx
  5382. -# End Source File
  5383. -# Begin Source File
  5384. -
  5385. -SOURCE=..\..\scintilla\src\LexRebol.cxx
  5386. -# End Source File
  5387. -# Begin Source File
  5388. -
  5389. -SOURCE=..\..\scintilla\src\LexRuby.cxx
  5390. -# End Source File
  5391. -# Begin Source File
  5392. -
  5393. -SOURCE=..\..\scintilla\src\LexScriptol.cxx
  5394. -# End Source File
  5395. -# Begin Source File
  5396. -
  5397. -SOURCE=..\..\scintilla\src\LexSmalltalk.cxx
  5398. -# End Source File
  5399. -# Begin Source File
  5400. -
  5401. -SOURCE=..\..\scintilla\src\LexSML.cxx
  5402. -# End Source File
  5403. -# Begin Source File
  5404. -
  5405. -SOURCE=..\..\scintilla\src\LexSorcus.cxx
  5406. -# End Source File
  5407. -# Begin Source File
  5408. -
  5409. -SOURCE=..\..\scintilla\src\LexSpecman.cxx
  5410. -# End Source File
  5411. -# Begin Source File
  5412. -
  5413. -SOURCE=..\..\scintilla\src\LexSpice.cxx
  5414. -# End Source File
  5415. -# Begin Source File
  5416. -
  5417. -SOURCE=..\..\scintilla\src\LexSQL.cxx
  5418. -# End Source File
  5419. -# Begin Source File
  5420. -
  5421. -SOURCE=..\..\scintilla\src\LexTADS3.cxx
  5422. -# End Source File
  5423. -# Begin Source File
  5424. -
  5425. -SOURCE=..\..\scintilla\src\LexTACL.cxx
  5426. -# End Source File
  5427. -# Begin Source File
  5428. -
  5429. -SOURCE=..\..\scintilla\src\LexTAL.cxx
  5430. -# End Source File
  5431. -# Begin Source File
  5432. -
  5433. -SOURCE=..\..\scintilla\src\LexTCL.cxx
  5434. -# End Source File
  5435. -# Begin Source File
  5436. -
  5437. -SOURCE=..\..\scintilla\src\LexTeX.cxx
  5438. -# End Source File
  5439. -# Begin Source File
  5440. -
  5441. -SOURCE=..\..\scintilla\src\LexVB.cxx
  5442. -# End Source File
  5443. -# Begin Source File
  5444. -
  5445. -SOURCE=..\..\scintilla\src\LexVerilog.cxx
  5446. -# End Source File
  5447. -# Begin Source File
  5448. -
  5449. -SOURCE=..\..\scintilla\src\LexVHDL.cxx
  5450. -# End Source File
  5451. -# Begin Source File
  5452. -
  5453. -SOURCE=..\..\scintilla\src\LexYAML.cxx
  5454. +SOURCE=..\lua\src\lpeg.c
  5455. # End Source File
  5456. # Begin Source File
  5457. +# end modified by Mitchell
  5458. SOURCE=..\lua\src\lfunc.c
  5459. # End Source File
  5460. --- scite-latest/scite/boundscheck/SciTE.vcproj 2009-08-27 21:44:23.000000000 -0400
  5461. +++ scintillua/scite/boundscheck/SciTE.vcproj 2010-02-01 16:09:37.000000000 -0500
  5462. @@ -228,240 +228,14 @@
  5463. <File
  5464. RelativePath="..\lua\src\ldump.c">
  5465. </File>
  5466. + <!-- modified by Mitchell -->
  5467. <File
  5468. - RelativePath="..\..\scintilla\src\LexAbaqus.cxx">
  5469. + RelativePath="..\..\scintilla\src\LexLPeg.cxx">
  5470. </File>
  5471. <File
  5472. - RelativePath="..\..\scintilla\src\LexAda.cxx">
  5473. - </File>
  5474. - <File
  5475. - RelativePath="..\..\scintilla\src\LexAPDL.cxx">
  5476. - </File>
  5477. - <File
  5478. - RelativePath="..\..\scintilla\src\LexAsm.cxx">
  5479. - </File>
  5480. - <File
  5481. - RelativePath="..\..\scintilla\src\LexAsn1.cxx">
  5482. - </File>
  5483. - <File
  5484. - RelativePath="..\..\scintilla\src\LexASY.cxx">
  5485. - </File>
  5486. - <File
  5487. - RelativePath="..\..\scintilla\src\LexAU3.cxx">
  5488. - </File>
  5489. - <File
  5490. - RelativePath="..\..\scintilla\src\LexAVE.cxx">
  5491. - </File>
  5492. - <File
  5493. - RelativePath="..\..\scintilla\src\LexBaan.cxx">
  5494. - </File>
  5495. - <File
  5496. - RelativePath="..\..\scintilla\src\LexBash.cxx">
  5497. - </File>
  5498. - <File
  5499. - RelativePath="..\..\scintilla\src\LexBasic.cxx">
  5500. - </File>
  5501. - <File
  5502. - RelativePath="..\..\scintilla\src\LexBullant.cxx">
  5503. - </File>
  5504. - <File
  5505. - RelativePath="..\..\scintilla\src\LexCaml.cxx">
  5506. - </File>
  5507. - <File
  5508. - RelativePath="..\..\scintilla\src\LexCLW.cxx">
  5509. - </File>
  5510. - <File
  5511. - RelativePath="..\..\scintilla\src\LexCmake.cxx">
  5512. - </File>
  5513. - <File
  5514. - RelativePath="..\..\scintilla\src\LexCOBOL.cxx">
  5515. - </File>
  5516. - <File
  5517. - RelativePath="..\..\scintilla\src\LexConf.cxx">
  5518. - </File>
  5519. - <File
  5520. - RelativePath="..\..\scintilla\src\LexCPP.cxx">
  5521. - </File>
  5522. - <File
  5523. - RelativePath="..\..\scintilla\src\LexCrontab.cxx">
  5524. - </File>
  5525. - <File
  5526. - RelativePath="..\..\scintilla\src\LexCsound.cxx">
  5527. - </File>
  5528. - <File
  5529. - RelativePath="..\..\scintilla\src\LexCSS.cxx">
  5530. - </File>
  5531. - <File
  5532. - RelativePath="..\..\scintilla\src\LexD.cxx">
  5533. - </File>
  5534. - <File
  5535. - RelativePath="..\..\scintilla\src\LexEiffel.cxx">
  5536. - </File>
  5537. - <File
  5538. - RelativePath="..\..\scintilla\src\LexErlang.cxx">
  5539. - </File>
  5540. - <File
  5541. - RelativePath="..\..\scintilla\src\LexEScript.cxx">
  5542. - </File>
  5543. - <File
  5544. - RelativePath="..\..\scintilla\src\LexFlagship.cxx">
  5545. - </File>
  5546. - <File
  5547. - RelativePath="..\..\scintilla\src\LexForth.cxx">
  5548. - </File>
  5549. - <File
  5550. - RelativePath="..\..\scintilla\src\LexFortran.cxx">
  5551. - </File>
  5552. - <File
  5553. - RelativePath="..\..\scintilla\src\LexGAP.cxx">
  5554. - </File>
  5555. - <File
  5556. - RelativePath="..\..\scintilla\src\LexGui4Cli.cxx">
  5557. - </File>
  5558. - <File
  5559. - RelativePath="..\..\scintilla\src\LexHaskell.cxx">
  5560. - </File>
  5561. - <File
  5562. - RelativePath="..\..\scintilla\src\LexHTML.cxx">
  5563. - </File>
  5564. - <File
  5565. - RelativePath="..\..\scintilla\src\LexInno.cxx">
  5566. - </File>
  5567. - <File
  5568. - RelativePath="..\..\scintilla\src\LexKix.cxx">
  5569. - </File>
  5570. - <File
  5571. - RelativePath="..\..\scintilla\src\LexLisp.cxx">
  5572. - </File>
  5573. - <File
  5574. - RelativePath="..\..\scintilla\src\LexLout.cxx">
  5575. - </File>
  5576. - <File
  5577. - RelativePath="..\..\scintilla\src\LexLua.cxx">
  5578. - </File>
  5579. - <File
  5580. - RelativePath="..\..\scintilla\src\LexMagik.cxx">
  5581. - </File>
  5582. - <File
  5583. - RelativePath="..\..\scintilla\src\LexMarkdown.cxx">
  5584. - </File>
  5585. - <File
  5586. - RelativePath="..\..\scintilla\src\LexMatlab.cxx">
  5587. - </File>
  5588. - <File
  5589. - RelativePath="..\..\scintilla\src\LexMetapost.cxx">
  5590. - </File>
  5591. - <File
  5592. - RelativePath="..\..\scintilla\src\LexMMIXAL.cxx">
  5593. - </File>
  5594. - <File
  5595. - RelativePath="..\..\scintilla\src\LexMPT.cxx">
  5596. - </File>
  5597. - <File
  5598. - RelativePath="..\..\scintilla\src\LexMSSQL.cxx">
  5599. - </File>
  5600. - <File
  5601. - RelativePath="..\..\scintilla\src\LexMySQL.cxx">
  5602. - </File>
  5603. - <File
  5604. - RelativePath="..\..\scintilla\src\LexNimrod.cxx">
  5605. - </File>
  5606. - <File
  5607. - RelativePath="..\..\scintilla\src\LexNsis.cxx">
  5608. - </File>
  5609. - <File
  5610. - RelativePath="..\..\scintilla\src\LexOpal.cxx">
  5611. - </File>
  5612. - <File
  5613. - RelativePath="..\..\scintilla\src\LexOthers.cxx">
  5614. - </File>
  5615. - <File
  5616. - RelativePath="..\..\scintilla\src\LexPascal.cxx">
  5617. - </File>
  5618. - <File
  5619. - RelativePath="..\..\scintilla\src\LexPB.cxx">
  5620. - </File>
  5621. - <File
  5622. - RelativePath="..\..\scintilla\src\LexPerl.cxx">
  5623. - </File>
  5624. - <File
  5625. - RelativePath="..\..\scintilla\src\LexPLM.cxx">
  5626. - </File>
  5627. - <File
  5628. - RelativePath="..\..\scintilla\src\LexPOV.cxx">
  5629. - </File>
  5630. - <File
  5631. - RelativePath="..\..\scintilla\src\LexPowerPro.cxx">
  5632. - </File>
  5633. - <File
  5634. - RelativePath="..\..\scintilla\src\LexPowerShell.cxx">
  5635. - </File>
  5636. - <File
  5637. - RelativePath="..\..\scintilla\src\LexProgress.cxx">
  5638. - </File>
  5639. - <File
  5640. - RelativePath="..\..\scintilla\src\LexPS.cxx">
  5641. - </File>
  5642. - <File
  5643. - RelativePath="..\..\scintilla\src\LexPython.cxx">
  5644. - </File>
  5645. - <File
  5646. - RelativePath="..\..\scintilla\src\LexR.cxx">
  5647. - </File>
  5648. - <File
  5649. - RelativePath="..\..\scintilla\src\LexRebol.cxx">
  5650. - </File>
  5651. - <File
  5652. - RelativePath="..\..\scintilla\src\LexRuby.cxx">
  5653. - </File>
  5654. - <File
  5655. - RelativePath="..\..\scintilla\src\LexScriptol.cxx">
  5656. - </File>
  5657. - <File
  5658. - RelativePath="..\..\scintilla\src\LexSmalltalk.cxx">
  5659. - </File>
  5660. - <File
  5661. - RelativePath="..\..\scintilla\src\LexSML.cxx">
  5662. - </File>
  5663. - <File
  5664. - RelativePath="..\..\scintilla\src\LexSorcus.cxx">
  5665. - </File>
  5666. - <File
  5667. - RelativePath="..\..\scintilla\src\LexSpecman.cxx">
  5668. - </File>
  5669. - <File
  5670. - RelativePath="..\..\scintilla\src\LexSpice.cxx">
  5671. - </File>
  5672. - <File
  5673. - RelativePath="..\..\scintilla\src\LexSQL.cxx">
  5674. - </File>
  5675. - <File
  5676. - RelativePath="..\..\scintilla\src\LexTACL.cxx">
  5677. - </File>
  5678. - <File
  5679. - RelativePath="..\..\scintilla\src\LexTADS3.cxx">
  5680. - </File>
  5681. - <File
  5682. - RelativePath="..\..\scintilla\src\LexTAL.cxx">
  5683. - </File>
  5684. - <File
  5685. - RelativePath="..\..\scintilla\src\LexTCL.cxx">
  5686. - </File>
  5687. - <File
  5688. - RelativePath="..\..\scintilla\src\LexTeX.cxx">
  5689. - </File>
  5690. - <File
  5691. - RelativePath="..\..\scintilla\src\LexVB.cxx">
  5692. - </File>
  5693. - <File
  5694. - RelativePath="..\..\scintilla\src\LexVerilog.cxx">
  5695. - </File>
  5696. - <File
  5697. - RelativePath="..\..\scintilla\src\LexVHDL.cxx">
  5698. - </File>
  5699. - <File
  5700. - RelativePath="..\..\scintilla\src\LexYAML.cxx">
  5701. + RelativePath="..\lua\src\lpeg.c">
  5702. </File>
  5703. + <!-- end modified by Mitchell -->
  5704. <File
  5705. RelativePath="..\lua\src\lfunc.c">
  5706. --- scite-latest/scite/gtk/makefile 2009-08-12 21:46:03.000000000 -0400
  5707. +++ scintillua/scite/gtk/makefile 2010-02-01 16:09:37.000000000 -0500
  5708. @@ -70,7 +70,7 @@
  5709. ltable.o ltm.o lundump.o lvm.o lzio.o
  5710. LUA_LIB_OBJS = lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o ltablib.o \
  5711. - lstrlib.o loadlib.o loslib.o linit.o
  5712. + lstrlib.o loadlib.o loslib.o linit.o lpeg.o # modified by Mitchell
  5713. LUA_OBJS = LuaExtension.o $(LUA_CORE_OBJS) $(LUA_LIB_OBJS)
  5714. --- scite-latest/scite/lua/include/lualib.h 2007-06-14 20:37:57.000000000 -0400
  5715. +++ scintillua/scite/lua/include/lualib.h 2010-02-01 16:09:37.000000000 -0500
  5716. @@ -39,6 +39,11 @@
  5717. #define LUA_LOADLIBNAME "package"
  5718. LUALIB_API int (luaopen_package) (lua_State *L);
  5719. +// added by Mitchell
  5720. +#define LUA_LPEGNAME "lpeg"
  5721. +LUALIB_API int (luaopen_lpeg) (lua_State *L);
  5722. +// end added by Mitchell
  5723. +
  5724. /* open all previous libraries */
  5725. LUALIB_API void (luaL_openlibs) (lua_State *L);
  5726. --- scite-latest/scite/lua/src/lpeg.c 1969-12-31 19:00:00.000000000 -0500
  5727. +++ scintillua/scite/lua/src/lpeg.c 2010-02-01 16:09:37.000000000 -0500
  5728. @@ -0,0 +1,2260 @@
  5729. +/*
  5730. +** $Id: lpeg.c,v 1.98 2008/10/11 20:20:43 roberto Exp $
  5731. +** LPeg - PEG pattern matching for Lua
  5732. +** Copyright 2007, Lua.org & PUC-Rio (see 'lpeg.html' for license)
  5733. +** written by Roberto Ierusalimschy
  5734. +**
  5735. +** Added to Scintillua by Mitchell
  5736. +*/
  5737. +
  5738. +
  5739. +#include <assert.h>
  5740. +#include <ctype.h>
  5741. +#include <limits.h>
  5742. +#include <stdio.h>
  5743. +#include <string.h>
  5744. +
  5745. +#include "lua.h"
  5746. +#include "lauxlib.h"
  5747. +
  5748. +
  5749. +#define VERSION "0.9"
  5750. +#define PATTERN_T "pattern"
  5751. +
  5752. +/* maximum call/backtrack levels */
  5753. +#define MAXBACK 400
  5754. +
  5755. +/* initial size for capture's list */
  5756. +#define IMAXCAPTURES 600
  5757. +
  5758. +
  5759. +/* index, on Lua stack, for subject */
  5760. +#define SUBJIDX 2
  5761. +
  5762. +/* number of fixed arguments to 'match' (before capture arguments) */
  5763. +#define FIXEDARGS 3
  5764. +
  5765. +/* index, on Lua stack, for substitution value cache */
  5766. +#define subscache(cs) ((cs)->ptop + 1)
  5767. +
  5768. +/* index, on Lua stack, for capture list */
  5769. +#define caplistidx(ptop) ((ptop) + 2)
  5770. +
  5771. +/* index, on Lua stack, for pattern's fenv */
  5772. +#define penvidx(ptop) ((ptop) + 3)
  5773. +
  5774. +
  5775. +
  5776. +typedef unsigned char byte;
  5777. +
  5778. +
  5779. +#define CHARSETSIZE ((UCHAR_MAX/CHAR_BIT) + 1)
  5780. +
  5781. +
  5782. +typedef byte Charset[CHARSETSIZE];
  5783. +
  5784. +
  5785. +typedef const char *(*PattFunc) (const void *ud,
  5786. + const char *o, /* string start */
  5787. + const char *s, /* current position */
  5788. + const char *e); /* string end */
  5789. +
  5790. +
  5791. +/* Virtual Machine's instructions */
  5792. +typedef enum Opcode {
  5793. + IAny, IChar, ISet, ISpan,
  5794. + IRet, IEnd,
  5795. + IChoice, IJmp, ICall, IOpenCall,
  5796. + ICommit, IPartialCommit, IBackCommit, IFailTwice, IFail, IGiveup,
  5797. + IFunc,
  5798. + IFullCapture, IEmptyCapture, IEmptyCaptureIdx,
  5799. + IOpenCapture, ICloseCapture, ICloseRunTime
  5800. +} Opcode;
  5801. +
  5802. +
  5803. +#define ISJMP 1
  5804. +#define ISCHECK (ISJMP << 1)
  5805. +#define ISNOFAIL (ISCHECK << 1)
  5806. +#define ISCAPTURE (ISNOFAIL << 1)
  5807. +#define ISMOVABLE (ISCAPTURE << 1)
  5808. +#define ISFENVOFF (ISMOVABLE << 1)
  5809. +#define HASCHARSET (ISFENVOFF << 1)
  5810. +
  5811. +static const byte opproperties[] = {
  5812. + /* IAny */ ISCHECK,
  5813. + /* IChar */ ISCHECK,
  5814. + /* ISet */ ISCHECK | HASCHARSET,
  5815. + /* ISpan */ ISNOFAIL | HASCHARSET,
  5816. + /* IRet */ 0,
  5817. + /* IEnd */ 0,
  5818. + /* IChoice */ ISJMP,
  5819. + /* IJmp */ ISJMP | ISNOFAIL,
  5820. + /* ICall */ ISJMP,
  5821. + /* IOpenCall */ ISFENVOFF,
  5822. + /* ICommit */ ISJMP,
  5823. + /* IPartialCommit */ ISJMP,
  5824. + /* IBackCommit */ ISJMP,
  5825. + /* IFailTwice */ 0,
  5826. + /* IFail */ 0,
  5827. + /* IGiveup */ 0,
  5828. + /* IFunc */ 0,
  5829. + /* IFullCapture */ ISCAPTURE | ISNOFAIL | ISFENVOFF,
  5830. + /* IEmptyCapture */ ISCAPTURE | ISNOFAIL | ISMOVABLE,
  5831. + /* IEmptyCaptureIdx */ISCAPTURE | ISNOFAIL | ISMOVABLE | ISFENVOFF,
  5832. + /* IOpenCapture */ ISCAPTURE | ISNOFAIL | ISMOVABLE | ISFENVOFF,
  5833. + /* ICloseCapture */ ISCAPTURE | ISNOFAIL | ISMOVABLE | ISFENVOFF,
  5834. + /* ICloseRunTime */ ISCAPTURE | ISFENVOFF
  5835. +};
  5836. +
  5837. +
  5838. +typedef union Instruction {
  5839. + struct Inst {
  5840. + byte code;
  5841. + byte aux;
  5842. + short offset;
  5843. + } i;
  5844. + PattFunc f;
  5845. + byte buff[1];
  5846. +} Instruction;
  5847. +
  5848. +static const Instruction giveup = {{IGiveup, 0, 0}};
  5849. +
  5850. +#define getkind(op) ((op)->i.aux & 0xF)
  5851. +#define getoff(op) (((op)->i.aux >> 4) & 0xF)
  5852. +
  5853. +#define dest(p,x) ((x) + ((p)+(x))->i.offset)
  5854. +
  5855. +#define MAXOFF 0xF
  5856. +
  5857. +#define isprop(op,p) (opproperties[(op)->i.code] & (p))
  5858. +#define isjmp(op) isprop(op, ISJMP)
  5859. +#define iscapture(op) isprop(op, ISCAPTURE)
  5860. +#define ischeck(op) (isprop(op, ISCHECK) && (op)->i.offset == 0)
  5861. +#define istest(op) (isprop(op, ISCHECK) && (op)->i.offset != 0)
  5862. +#define isnofail(op) isprop(op, ISNOFAIL)
  5863. +#define ismovable(op) isprop(op, ISMOVABLE)
  5864. +#define isfenvoff(op) isprop(op, ISFENVOFF)
  5865. +#define hascharset(op) isprop(op, HASCHARSET)
  5866. +
  5867. +
  5868. +/* kinds of captures */
  5869. +typedef enum CapKind {
  5870. + Cclose, Cposition, Cconst, Cbackref, Carg, Csimple, Ctable, Cfunction,
  5871. + Cquery, Cstring, Csubst, Cfold, Cruntime, Cgroup
  5872. +} CapKind;
  5873. +
  5874. +#define iscapnosize(k) ((k) == Cposition || (k) == Cconst)
  5875. +
  5876. +
  5877. +typedef struct Capture {
  5878. + const char *s; /* position */
  5879. + short idx;
  5880. + byte kind;
  5881. + byte siz;
  5882. +} Capture;
  5883. +
  5884. +
  5885. +/* maximum size (in elements) for a pattern */
  5886. +#define MAXPATTSIZE (SHRT_MAX - 10)
  5887. +
  5888. +
  5889. +/* size (in elements) for an instruction plus extra l bytes */
  5890. +#define instsize(l) (((l) - 1)/sizeof(Instruction) + 2)
  5891. +
  5892. +
  5893. +/* size (in elements) for a ISet instruction */
  5894. +#define CHARSETINSTSIZE instsize(CHARSETSIZE)
  5895. +
  5896. +
  5897. +
  5898. +#define loopset(v,b) { int v; for (v = 0; v < CHARSETSIZE; v++) b; }
  5899. +
  5900. +
  5901. +#define testchar(st,c) (((int)(st)[((c) >> 3)] & (1 << ((c) & 7))))
  5902. +#define setchar(st,c) ((st)[(c) >> 3] |= (1 << ((c) & 7)))
  5903. +
  5904. +
  5905. +
  5906. +static int sizei (const Instruction *i) {
  5907. + if (hascharset(i)) return CHARSETINSTSIZE;
  5908. + else if (i->i.code == IFunc) return i->i.offset;
  5909. + else return 1;
  5910. +}
  5911. +
  5912. +
  5913. +static const char *val2str (lua_State *L, int idx) {
  5914. + const char *k = lua_tostring(L, idx);
  5915. + if (k != NULL)
  5916. + return lua_pushfstring(L, "rule '%s'", k);
  5917. + else
  5918. + return lua_pushfstring(L, "rule <a %s>", luaL_typename(L, -1));
  5919. +}
  5920. +
  5921. +
  5922. +static int getposition (lua_State *L, int t, int i) {
  5923. + int res;
  5924. + lua_getfenv(L, -1);
  5925. + lua_rawgeti(L, -1, i); /* get key from pattern's environment */
  5926. + lua_gettable(L, t); /* get position from positions table */
  5927. + res = lua_tointeger(L, -1);
  5928. + if (res == 0) { /* key has no registered position? */
  5929. + lua_rawgeti(L, -2, i); /* get key again */
  5930. + return luaL_error(L, "%s is not defined in given grammar", val2str(L, -1));
  5931. + }
  5932. + lua_pop(L, 2); /* remove environment and position */
  5933. + return res;
  5934. +}
  5935. +
  5936. +
  5937. +
  5938. +/*
  5939. +** {======================================================
  5940. +** Printing patterns
  5941. +** =======================================================
  5942. +*/
  5943. +
  5944. +
  5945. +static void printcharset (const Charset st) {
  5946. + int i;
  5947. + printf("[");
  5948. + for (i = 0; i <= UCHAR_MAX; i++) {
  5949. + int first = i;
  5950. + while (testchar(st, i) && i <= UCHAR_MAX) i++;
  5951. + if (i - 1 == first) /* unary range? */
  5952. + printf("(%02x)", first);
  5953. + else if (i - 1 > first) /* non-empty range? */
  5954. + printf("(%02x-%02x)", first, i - 1);
  5955. + }
  5956. + printf("]");
  5957. +}
  5958. +
  5959. +
  5960. +static void printcapkind (int kind) {
  5961. + const char *const modes[] = {
  5962. + "close", "position", "constant", "backref",
  5963. + "argument", "simple", "table", "function",
  5964. + "query", "string", "substitution", "fold",
  5965. + "runtime", "group"};
  5966. + printf("%s", modes[kind]);
  5967. +}
  5968. +
  5969. +
  5970. +static void printjmp (const Instruction *op, const Instruction *p) {
  5971. + printf("-> ");
  5972. + if (p->i.offset == 0) printf("FAIL");
  5973. + else printf("%d", (int)(dest(0, p) - op));
  5974. +}
  5975. +
  5976. +
  5977. +static void printinst (const Instruction *op, const Instruction *p) {
  5978. + const char *const names[] = {
  5979. + "any", "char", "set", "span",
  5980. + "ret", "end",
  5981. + "choice", "jmp", "call", "open_call",
  5982. + "commit", "partial_commit", "back_commit", "failtwice", "fail", "giveup",
  5983. + "func",
  5984. + "fullcapture", "emptycapture", "emptycaptureidx", "opencapture",
  5985. + "closecapture", "closeruntime"
  5986. + };
  5987. + printf("%02ld: %s ", (long)(p - op), names[p->i.code]);
  5988. + switch ((Opcode)p->i.code) {
  5989. + case IChar: {
  5990. + printf("'%c'", p->i.aux);
  5991. + printjmp(op, p);
  5992. + break;
  5993. + }
  5994. + case IAny: {
  5995. + printf("* %d", p->i.aux);
  5996. + printjmp(op, p);
  5997. + break;
  5998. + }
  5999. + case IFullCapture: case IOpenCapture:
  6000. + case IEmptyCapture: case IEmptyCaptureIdx:
  6001. + case ICloseCapture: case ICloseRunTime: {
  6002. + printcapkind(getkind(p));
  6003. + printf("(n = %d) (off = %d)", getoff(p), p->i.offset);
  6004. + break;
  6005. + }
  6006. + case ISet: {
  6007. + printcharset((p+1)->buff);
  6008. + printjmp(op, p);
  6009. + break;
  6010. + }
  6011. + case ISpan: {
  6012. + printcharset((p+1)->buff);
  6013. + break;
  6014. + }
  6015. + case IOpenCall: {
  6016. + printf("-> %d", p->i.offset);
  6017. + break;
  6018. + }
  6019. + case IChoice: {
  6020. + printjmp(op, p);
  6021. + printf(" (%d)", p->i.aux);
  6022. + break;
  6023. + }
  6024. + case IJmp: case ICall: case ICommit:
  6025. + case IPartialCommit: case IBackCommit: {
  6026. + printjmp(op, p);
  6027. + break;
  6028. + }
  6029. + default: break;
  6030. + }
  6031. + printf("\n");
  6032. +}
  6033. +
  6034. +
  6035. +static void printpatt (Instruction *p) {
  6036. + Instruction *op = p;
  6037. + for (;;) {
  6038. + printinst(op, p);
  6039. + if (p->i.code == IEnd) break;
  6040. + p += sizei(p);
  6041. + }
  6042. +}
  6043. +
  6044. +
  6045. +static void printcap (Capture *cap) {
  6046. + printcapkind(cap->kind);
  6047. + printf(" (idx: %d - size: %d) -> %p\n", cap->idx, cap->siz, cap->s);
  6048. +}
  6049. +
  6050. +
  6051. +static void printcaplist (Capture *cap) {
  6052. + for (; cap->s; cap++) printcap(cap);
  6053. +}
  6054. +
  6055. +/* }====================================================== */
  6056. +
  6057. +
  6058. +
  6059. +
  6060. +/*
  6061. +** {======================================================
  6062. +** Virtual Machine
  6063. +** =======================================================
  6064. +*/
  6065. +
  6066. +
  6067. +typedef struct Stack {
  6068. + const char *s;
  6069. + const Instruction *p;
  6070. + int caplevel;
  6071. +} Stack;
  6072. +
  6073. +
  6074. +static int runtimecap (lua_State *L, Capture *close, Capture *ocap,
  6075. + const char *o, const char *s, int ptop);
  6076. +
  6077. +
  6078. +static Capture *doublecap (lua_State *L, Capture *cap, int captop, int ptop) {
  6079. + Capture *newc;
  6080. + if (captop >= INT_MAX/((int)sizeof(Capture) * 2))
  6081. + luaL_error(L, "too many captures");
  6082. + newc = (Capture *)lua_newuserdata(L, captop * 2 * sizeof(Capture));
  6083. + memcpy(newc, cap, captop * sizeof(Capture));
  6084. + lua_replace(L, caplistidx(ptop));
  6085. + return newc;
  6086. +}
  6087. +
  6088. +
  6089. +static void adddyncaptures (const char *s, Capture *base, int n, int fd) {
  6090. + int i;
  6091. + assert(base[0].kind == Cruntime && base[0].siz == 0);
  6092. + base[0].idx = fd; /* first returned capture */
  6093. + for (i = 1; i < n; i++) { /* add extra captures */
  6094. + base[i].siz = 1; /* mark it as closed */
  6095. + base[i].s = s;
  6096. + base[i].kind = Cruntime;
  6097. + base[i].idx = fd + i; /* stack index */
  6098. + }
  6099. + base[n].kind = Cclose; /* add closing entry */
  6100. + base[n].siz = 1;
  6101. + base[n].s = s;
  6102. +}
  6103. +
  6104. +
  6105. +#define condfailed(p) { int f = p->i.offset; if (f) p+=f; else goto fail; }
  6106. +
  6107. +
  6108. +static const char *match (lua_State *L,
  6109. + const char *o, const char *s, const char *e,
  6110. + Instruction *op, Capture *capture, int ptop) {
  6111. + Stack stackbase[MAXBACK];
  6112. + Stack *stacklimit = stackbase + MAXBACK;
  6113. + Stack *stack = stackbase; /* point to first empty slot in stack */
  6114. + int capsize = IMAXCAPTURES;
  6115. + int captop = 0; /* point to first empty slot in captures */
  6116. + const Instruction *p = op;
  6117. + stack->p = &giveup; stack->s = s; stack->caplevel = 0; stack++;
  6118. + for (;;) {
  6119. +#if defined(DEBUG)
  6120. + printf("s: |%s| stck: %d c: %d ", s, stack - stackbase, captop);
  6121. + printinst(op, p);
  6122. +#endif
  6123. + switch ((Opcode)p->i.code) {
  6124. + case IEnd: {
  6125. + assert(stack == stackbase + 1);
  6126. + capture[captop].kind = Cclose;
  6127. + capture[captop].s = NULL;
  6128. + return s;
  6129. + }
  6130. + case IGiveup: {
  6131. + assert(stack == stackbase);
  6132. + return NULL;
  6133. + }
  6134. + case IRet: {
  6135. + assert(stack > stackbase && (stack - 1)->s == NULL);
  6136. + p = (--stack)->p;
  6137. + continue;
  6138. + }
  6139. + case IAny: {
  6140. + int n = p->i.aux;
  6141. + if (n <= e - s) { p++; s += n; }
  6142. + else condfailed(p);
  6143. + continue;
  6144. + }
  6145. + case IChar: {
  6146. + if ((byte)*s == p->i.aux && s < e) { p++; s++; }
  6147. + else condfailed(p);
  6148. + continue;
  6149. + }
  6150. + case ISet: {
  6151. + int c = (byte)*s;
  6152. + if (testchar((p+1)->buff, c) && s < e)
  6153. + { p += CHARSETINSTSIZE; s++; }
  6154. + else condfailed(p);
  6155. + continue;
  6156. + }
  6157. + case ISpan: {
  6158. + for (; s < e; s++) {
  6159. + int c = (byte)*s;
  6160. + if (!testchar((p+1)->buff, c)) break;
  6161. + }
  6162. + p += CHARSETINSTSIZE;
  6163. + continue;
  6164. + }
  6165. + case IFunc: {
  6166. + const char *r = (p+1)->f((p+2)->buff, o, s, e);
  6167. + if (r == NULL) goto fail;
  6168. + s = r;
  6169. + p += p->i.offset;
  6170. + continue;
  6171. + }
  6172. + case IJmp: {
  6173. + p += p->i.offset;
  6174. + continue;
  6175. + }
  6176. + case IChoice: {
  6177. + if (stack >= stacklimit)
  6178. + return (luaL_error(L, "too many pending calls/choices"), (char *)0);
  6179. + stack->p = dest(0, p);
  6180. + stack->s = s - p->i.aux;
  6181. + stack->caplevel = captop;
  6182. + stack++;
  6183. + p++;
  6184. + continue;
  6185. + }
  6186. + case ICall: {
  6187. + if (stack >= stacklimit)
  6188. + return (luaL_error(L, "too many pending calls/choices"), (char *)0);
  6189. + stack->s = NULL;
  6190. + stack->p = p + 1; /* save return address */
  6191. + stack++;
  6192. + p += p->i.offset;
  6193. + continue;
  6194. + }
  6195. + case ICommit: {
  6196. + assert(stack > stackbase && (stack - 1)->s != NULL);
  6197. + stack--;
  6198. + p += p->i.offset;
  6199. + continue;
  6200. + }
  6201. + case IPartialCommit: {
  6202. + assert(stack > stackbase && (stack - 1)->s != NULL);
  6203. + (stack - 1)->s = s;
  6204. + (stack - 1)->caplevel = captop;
  6205. + p += p->i.offset;
  6206. + continue;
  6207. + }
  6208. + case IBackCommit: {
  6209. + assert(stack > stackbase && (stack - 1)->s != NULL);
  6210. + s = (--stack)->s;
  6211. + p += p->i.offset;
  6212. + continue;
  6213. + }
  6214. + case IFailTwice:
  6215. + assert(stack > stackbase);
  6216. + stack--;
  6217. + /* go through */
  6218. + case IFail:
  6219. + fail: { /* pattern failed: try to backtrack */
  6220. + do { /* remove pending calls */
  6221. + assert(stack > stackbase);
  6222. + s = (--stack)->s;
  6223. + } while (s == NULL);
  6224. + captop = stack->caplevel;
  6225. + p = stack->p;
  6226. + continue;
  6227. + }
  6228. + case ICloseRunTime: {
  6229. + int fr = lua_gettop(L) + 1; /* stack index of first result */
  6230. + int ncap = runtimecap(L, capture + captop, capture, o, s, ptop);
  6231. + lua_Integer res = lua_tointeger(L, fr) - 1; /* offset */
  6232. + int n = lua_gettop(L) - fr; /* number of new captures */
  6233. + if (res == -1) { /* may not be a number */
  6234. + if (!lua_toboolean(L, fr)) { /* false value? */
  6235. + lua_settop(L, fr - 1); /* remove results */
  6236. + goto fail; /* and fail */
  6237. + }
  6238. + else if (lua_isboolean(L, fr)) /* true? */
  6239. + res = s - o; /* keep current position */
  6240. + }
  6241. + if (res < s - o || res > e - o)
  6242. + luaL_error(L, "invalid position returned by match-time capture");
  6243. + s = o + res; /* update current position */
  6244. + captop -= ncap; /* remove nested captures */
  6245. + lua_remove(L, fr); /* remove first result (offset) */
  6246. + if (n > 0) { /* captures? */
  6247. + if ((captop += n + 1) >= capsize) {
  6248. + capture = doublecap(L, capture, captop, ptop);
  6249. + capsize = 2 * captop;
  6250. + }
  6251. + adddyncaptures(s, capture + captop - n - 1, n, fr);
  6252. + }
  6253. + p++;
  6254. + continue;
  6255. + }
  6256. + case ICloseCapture: {
  6257. + const char *s1 = s - getoff(p);
  6258. + assert(captop > 0);
  6259. + if (capture[captop - 1].siz == 0 &&
  6260. + s1 - capture[captop - 1].s < UCHAR_MAX) {
  6261. + capture[captop - 1].siz = s1 - capture[captop - 1].s + 1;
  6262. + p++;
  6263. + continue;
  6264. + }
  6265. + else {
  6266. + capture[captop].siz = 1; /* mark entry as closed */
  6267. + goto capture;
  6268. + }
  6269. + }
  6270. + case IEmptyCapture: case IEmptyCaptureIdx:
  6271. + capture[captop].siz = 1; /* mark entry as closed */
  6272. + goto capture;
  6273. + case IOpenCapture:
  6274. + capture[captop].siz = 0; /* mark entry as open */
  6275. + goto capture;
  6276. + case IFullCapture:
  6277. + capture[captop].siz = getoff(p) + 1; /* save capture size */
  6278. + capture: {
  6279. + capture[captop].s = s - getoff(p);
  6280. + capture[captop].idx = p->i.offset;
  6281. + capture[captop].kind = getkind(p);
  6282. + if (++captop >= capsize) {
  6283. + capture = doublecap(L, capture, captop, ptop);
  6284. + capsize = 2 * captop;
  6285. + }
  6286. + p++;
  6287. + continue;
  6288. + }
  6289. + case IOpenCall: {
  6290. + lua_rawgeti(L, penvidx(ptop), p->i.offset);
  6291. + luaL_error(L, "reference to %s outside a grammar", val2str(L, -1));
  6292. + }
  6293. + default: assert(0); return NULL;
  6294. + }
  6295. + }
  6296. +}
  6297. +
  6298. +/* }====================================================== */
  6299. +
  6300. +
  6301. +/*
  6302. +** {======================================================
  6303. +** Verifier
  6304. +** =======================================================
  6305. +*/
  6306. +
  6307. +
  6308. +static int verify (lua_State *L, Instruction *op, const Instruction *p,
  6309. + Instruction *e, int postable, int rule) {
  6310. + static const char dummy[] = "";
  6311. + Stack back[MAXBACK];
  6312. + int backtop = 0; /* point to first empty slot in back */
  6313. + while (p != e) {
  6314. + switch ((Opcode)p->i.code) {
  6315. + case IRet: {
  6316. + p = back[--backtop].p;
  6317. + continue;
  6318. + }
  6319. + case IChoice: {
  6320. + if (backtop >= MAXBACK)
  6321. + return luaL_error(L, "too many pending calls/choices");
  6322. + back[backtop].p = dest(0, p);
  6323. + back[backtop++].s = dummy;
  6324. + p++;
  6325. + continue;
  6326. + }
  6327. + case ICall: {
  6328. + assert((p + 1)->i.code != IRet); /* no tail call */
  6329. + if (backtop >= MAXBACK)
  6330. + return luaL_error(L, "too many pending calls/choices");
  6331. + back[backtop].s = NULL;
  6332. + back[backtop++].p = p + 1;
  6333. + goto dojmp;
  6334. + }
  6335. + case IOpenCall: {
  6336. + int i;
  6337. + if (postable == 0) /* grammar still not fixed? */
  6338. + goto fail; /* to be verified later */
  6339. + for (i = 0; i < backtop; i++) {
  6340. + if (back[i].s == NULL && back[i].p == p + 1)
  6341. + return luaL_error(L, "%s is left recursive", val2str(L, rule));
  6342. + }
  6343. + if (backtop >= MAXBACK)
  6344. + return luaL_error(L, "too many pending calls/choices");
  6345. + back[backtop].s = NULL;
  6346. + back[backtop++].p = p + 1;
  6347. + p = op + getposition(L, postable, p->i.offset);
  6348. + continue;
  6349. + }
  6350. + case IBackCommit:
  6351. + case ICommit: {
  6352. + assert(backtop > 0 && p->i.offset > 0);
  6353. + backtop--;
  6354. + goto dojmp;
  6355. + }
  6356. + case IPartialCommit: {
  6357. + assert(backtop > 0);
  6358. + if (p->i.offset > 0) goto dojmp; /* forward jump */
  6359. + else { /* loop will be detected when checking corresponding rule */
  6360. + assert(postable != 0);
  6361. + backtop--;
  6362. + p++; /* just go on now */
  6363. + continue;
  6364. + }
  6365. + }
  6366. + case IAny:
  6367. + case IChar:
  6368. + case ISet: {
  6369. + if (p->i.offset == 0) goto fail;
  6370. + /* else goto dojmp; go through */
  6371. + }
  6372. + case IJmp:
  6373. + dojmp: {
  6374. + p += p->i.offset;
  6375. + continue;
  6376. + }
  6377. + case IFailTwice: /* 'not' predicate */
  6378. + goto fail; /* body could have failed; try to backtrack it */
  6379. + case IFail: {
  6380. + if (p > op && (p - 1)->i.code == IBackCommit) { /* 'and' predicate? */
  6381. + p++; /* pretend it succeeded and go ahead */
  6382. + continue;
  6383. + }
  6384. + /* else failed: go through */
  6385. + }
  6386. + fail: { /* pattern failed: try to backtrack */
  6387. + do {
  6388. + if (backtop-- == 0)
  6389. + return 1; /* no more backtracking */
  6390. + } while (back[backtop].s == NULL);
  6391. + p = back[backtop].p;
  6392. + continue;
  6393. + }
  6394. + case ISpan:
  6395. + case IOpenCapture: case ICloseCapture:
  6396. + case IEmptyCapture: case IEmptyCaptureIdx:
  6397. + case IFullCapture: {
  6398. + p += sizei(p);
  6399. + continue;
  6400. + }
  6401. + case ICloseRunTime: {
  6402. + goto fail; /* be liberal in this case */
  6403. + }
  6404. + case IFunc: {
  6405. + const char *r = (p+1)->f((p+2)->buff, dummy, dummy, dummy);
  6406. + if (r == NULL) goto fail;
  6407. + p += p->i.offset;
  6408. + continue;
  6409. + }
  6410. + case IEnd: /* cannot happen (should stop before it) */
  6411. + default: assert(0); return 0;
  6412. + }
  6413. + }
  6414. + assert(backtop == 0);
  6415. + return 0;
  6416. +}
  6417. +
  6418. +
  6419. +static void checkrule (lua_State *L, Instruction *op, int from, int to,
  6420. + int postable, int rule) {
  6421. + int i;
  6422. + int lastopen = 0; /* more recent OpenCall seen in the code */
  6423. + for (i = from; i < to; i += sizei(op + i)) {
  6424. + if (op[i].i.code == IPartialCommit && op[i].i.offset < 0) { /* loop? */
  6425. + int start = dest(op, i);
  6426. + assert(op[start - 1].i.code == IChoice && dest(op, start - 1) == i + 1);
  6427. + if (start <= lastopen) { /* loop does contain an open call? */
  6428. + if (!verify(L, op, op + start, op + i, postable, rule)) /* check body */
  6429. + luaL_error(L, "possible infinite loop in %s", val2str(L, rule));
  6430. + }
  6431. + }
  6432. + else if (op[i].i.code == IOpenCall)
  6433. + lastopen = i;
  6434. + }
  6435. + assert(op[i - 1].i.code == IRet);
  6436. + verify(L, op, op + from, op + to - 1, postable, rule);
  6437. +}
  6438. +
  6439. +
  6440. +
  6441. +
  6442. +/* }====================================================== */
  6443. +
  6444. +
  6445. +
  6446. +
  6447. +/*
  6448. +** {======================================================
  6449. +** Building Patterns
  6450. +** =======================================================
  6451. +*/
  6452. +
  6453. +enum charsetanswer { NOINFO, ISCHARSET, VALIDSTARTS };
  6454. +
  6455. +typedef struct CharsetTag {
  6456. + enum charsetanswer tag;
  6457. + Charset cs;
  6458. +} CharsetTag;
  6459. +
  6460. +
  6461. +static Instruction *getpatt (lua_State *L, int idx, int *size);
  6462. +
  6463. +
  6464. +static void check2test (Instruction *p, int n) {
  6465. + assert(ischeck(p) && n != 0);
  6466. + p->i.offset = n;
  6467. +}
  6468. +
  6469. +
  6470. +/*
  6471. +** invert array slice p[0]-p[e] (both inclusive)
  6472. +*/
  6473. +static void invert (Instruction *p, int e) {
  6474. + int i;
  6475. + for (i = 0; i < e; i++, e--) {
  6476. + Instruction temp = p[i];
  6477. + p[i] = p[e];
  6478. + p[e] = temp;
  6479. + }
  6480. +}
  6481. +
  6482. +
  6483. +/*
  6484. +** rotate array slice p[0]-p[e] (both inclusive) 'n' steps
  6485. +** to the 'left'
  6486. +*/
  6487. +static void rotate (Instruction *p, int e, int n) {
  6488. + invert(p, n - 1);
  6489. + invert(p + n, e - n);
  6490. + invert(p, e);
  6491. +}
  6492. +
  6493. +
  6494. +#define op_step(p) ((p)->i.code == IAny ? (p)->i.aux : 1)
  6495. +
  6496. +
  6497. +static int skipchecks (Instruction *p, int up, int *pn) {
  6498. + int i, n = 0;
  6499. + for (i = 0; ischeck(p + i); i += sizei(p + i)) {
  6500. + int st = op_step(p + i);
  6501. + if (n + st > MAXOFF - up) break;
  6502. + n += st;
  6503. + }
  6504. + *pn = n;
  6505. + return i;
  6506. +}
  6507. +
  6508. +
  6509. +#define ismovablecap(op) (ismovable(op) && getoff(op) < MAXOFF)
  6510. +
  6511. +static void optimizecaptures (Instruction *p) {
  6512. + int i;
  6513. + int limit = 0;
  6514. + for (i = 0; p[i].i.code != IEnd; i += sizei(p + i)) {
  6515. + if (isjmp(p + i) && dest(p, i) >= limit)
  6516. + limit = dest(p, i) + 1; /* do not optimize jump targets */
  6517. + else if (i >= limit && ismovablecap(p + i) && ischeck(p + i + 1)) {
  6518. + int end, n, j; /* found a border capture|check */
  6519. + int maxoff = getoff(p + i);
  6520. + int start = i;
  6521. + /* find first capture in the group */
  6522. + while (start > limit && ismovablecap(p + start - 1)) {
  6523. + start--;
  6524. + if (getoff(p + start) > maxoff) maxoff = getoff(p + start);
  6525. + }
  6526. + end = skipchecks(p + i + 1, maxoff, &n) + i; /* find last check */
  6527. + if (n == 0) continue; /* first check is too big to move across */
  6528. + assert(n <= MAXOFF && start <= i && i < end);
  6529. + for (j = start; j <= i; j++)
  6530. + p[j].i.aux += (n << 4); /* correct offset of captures to be moved */
  6531. + rotate(p + start, end - start, i - start + 1); /* move them up */
  6532. + i = end;
  6533. + assert(ischeck(p + start) && iscapture(p + i));
  6534. + }
  6535. + }
  6536. +}
  6537. +
  6538. +
  6539. +static int target (Instruction *p, int i) {
  6540. + while (p[i].i.code == IJmp) i += p[i].i.offset;
  6541. + return i;
  6542. +}
  6543. +
  6544. +
  6545. +static void optimizejumps (Instruction *p) {
  6546. + int i;
  6547. + for (i = 0; p[i].i.code != IEnd; i += sizei(p + i)) {
  6548. + if (isjmp(p + i))
  6549. + p[i].i.offset = target(p, dest(p, i)) - i;
  6550. + }
  6551. +}
  6552. +
  6553. +
  6554. +static void optimizechoice (Instruction *p) {
  6555. + assert(p->i.code == IChoice);
  6556. + if (ischeck(p + 1)) {
  6557. + int lc = sizei(p + 1);
  6558. + rotate(p, lc, 1);
  6559. + assert(ischeck(p) && (p + lc)->i.code == IChoice);
  6560. + (p + lc)->i.aux = op_step(p);
  6561. + check2test(p, (p + lc)->i.offset);
  6562. + (p + lc)->i.offset -= lc;
  6563. + }
  6564. +}
  6565. +
  6566. +
  6567. +/*
  6568. +** A 'headfail' pattern is a pattern that can only fails in its first
  6569. +** instruction, which must be a check.
  6570. +*/
  6571. +static int isheadfail (Instruction *p) {
  6572. + if (!ischeck(p)) return 0;
  6573. + /* check that other operations cannot fail */
  6574. + for (p += sizei(p); p->i.code != IEnd; p += sizei(p))
  6575. + if (!isnofail(p)) return 0;
  6576. + return 1;
  6577. +}
  6578. +
  6579. +
  6580. +#define checkpattern(L, idx) ((Instruction *)luaL_checkudata(L, idx, PATTERN_T))
  6581. +
  6582. +
  6583. +static int jointable (lua_State *L, int p1) {
  6584. + int n, n1, i;
  6585. + lua_getfenv(L, p1);
  6586. + n1 = lua_objlen(L, -1); /* number of elements in p1's env */
  6587. + lua_getfenv(L, -2);
  6588. + if (n1 == 0 || lua_equal(L, -2, -1)) {
  6589. + lua_pop(L, 2);
  6590. + return 0; /* no need to change anything */
  6591. + }
  6592. + n = lua_objlen(L, -1); /* number of elements in p's env */
  6593. + if (n == 0) {
  6594. + lua_pop(L, 1); /* removes p env */
  6595. + lua_setfenv(L, -2); /* p now shares p1's env */
  6596. + return 0; /* no need to correct anything */
  6597. + }
  6598. + lua_createtable(L, n + n1, 0);
  6599. + /* stack: p; p1 env; p env; new p env */
  6600. + for (i = 1; i <= n; i++) {
  6601. + lua_rawgeti(L, -2, i);
  6602. + lua_rawseti(L, -2, i);
  6603. + }
  6604. + for (i = 1; i <= n1; i++) {
  6605. + lua_rawgeti(L, -3, i);
  6606. + lua_rawseti(L, -2, n + i);
  6607. + }
  6608. + lua_setfenv(L, -4); /* new table becomes p env */
  6609. + lua_pop(L, 2); /* remove p1 env and old p env */
  6610. + return n;
  6611. +}
  6612. +
  6613. +
  6614. +#define copypatt(p1,p2,sz) memcpy(p1, p2, (sz) * sizeof(Instruction));
  6615. +
  6616. +#define pattsize(L,idx) (lua_objlen(L, idx)/sizeof(Instruction) - 1)
  6617. +
  6618. +
  6619. +static int addpatt (lua_State *L, Instruction *p, int p1idx) {
  6620. + Instruction *p1 = (Instruction *)lua_touserdata(L, p1idx);
  6621. + int sz = pattsize(L, p1idx);
  6622. + int corr = jointable(L, p1idx);
  6623. + copypatt(p, p1, sz + 1);
  6624. + if (corr != 0) {
  6625. + Instruction *px;
  6626. + for (px = p; px < p + sz; px += sizei(px)) {
  6627. + if (isfenvoff(px) && px->i.offset != 0)
  6628. + px->i.offset += corr;
  6629. + }
  6630. + }
  6631. + return sz;
  6632. +}
  6633. +
  6634. +
  6635. +static void setinstaux (Instruction *i, Opcode op, int offset, int aux) {
  6636. + i->i.code = op;
  6637. + i->i.offset = offset;
  6638. + i->i.aux = aux;
  6639. +}
  6640. +
  6641. +#define setinst(i,op,off) setinstaux(i,op,off,0)
  6642. +
  6643. +#define setinstcap(i,op,idx,k,n) setinstaux(i,op,idx,((k) | ((n) << 4)))
  6644. +
  6645. +
  6646. +static int value2fenv (lua_State *L, int vidx) {
  6647. + lua_createtable(L, 1, 0);
  6648. + lua_pushvalue(L, vidx);
  6649. + lua_rawseti(L, -2, 1);
  6650. + lua_setfenv(L, -2);
  6651. + return 1;
  6652. +}
  6653. +
  6654. +
  6655. +static Instruction *newpatt (lua_State *L, size_t n) {
  6656. + Instruction *p;
  6657. + if (n >= MAXPATTSIZE - 1)
  6658. + luaL_error(L, "pattern too big");
  6659. + p = (Instruction *)lua_newuserdata(L, (n + 1) * sizeof(Instruction));
  6660. + luaL_getmetatable(L, PATTERN_T);
  6661. + lua_setmetatable(L, -2);
  6662. + setinst(p + n, IEnd, 0);
  6663. + return p;
  6664. +}
  6665. +
  6666. +
  6667. +static void fillcharset (Instruction *p, Charset cs) {
  6668. + switch (p[0].i.code) {
  6669. + case ISet: {
  6670. + loopset(i, cs[i] = p[1].buff[i]);
  6671. + break;
  6672. + }
  6673. + case IChar: {
  6674. + loopset(i, cs[i] = 0);
  6675. + setchar(cs, p[0].i.aux);
  6676. + break;
  6677. + }
  6678. + default: { /* any char may start unhandled instructions */
  6679. + loopset(i, cs[i] = 0xff);
  6680. + break;
  6681. + }
  6682. + }
  6683. +}
  6684. +
  6685. +
  6686. +/*
  6687. +** Function 'tocharset' gets information about which chars may be a
  6688. +** valid start for a pattern.
  6689. +*/
  6690. +
  6691. +static enum charsetanswer tocharset (Instruction *p, CharsetTag *c) {
  6692. + if (ischeck(p)) {
  6693. + fillcharset(p, c->cs);
  6694. + if ((p + sizei(p))->i.code == IEnd && op_step(p) == 1)
  6695. + c->tag = ISCHARSET;
  6696. + else
  6697. + c->tag = VALIDSTARTS;
  6698. + }
  6699. + else
  6700. + c->tag = NOINFO;
  6701. + return c->tag;
  6702. +}
  6703. +
  6704. +
  6705. +static int exclusiveset (Charset c1, Charset c2) {
  6706. + /* non-empty intersection? */
  6707. + loopset(i, {if ((c1[i] & c2[i]) != 0) return 0;});
  6708. + return 1; /* no intersection */
  6709. +}
  6710. +
  6711. +
  6712. +static int exclusive (CharsetTag *c1, CharsetTag *c2) {
  6713. + if (c1->tag == NOINFO || c2->tag == NOINFO)
  6714. + return 0; /* one of them is not filled */
  6715. + else return exclusiveset(c1->cs, c2->cs);
  6716. +}
  6717. +
  6718. +
  6719. +static Instruction *newcharset (lua_State *L) {
  6720. + Instruction *p = newpatt(L, CHARSETINSTSIZE);
  6721. + p[0].i.code = ISet;
  6722. + p[0].i.offset = 0;
  6723. + loopset(i, p[1].buff[i] = 0);
  6724. + return p;
  6725. +}
  6726. +
  6727. +
  6728. +static int set_l (lua_State *L) {
  6729. + size_t l;
  6730. + const char *s = luaL_checklstring(L, 1, &l);
  6731. + if (l == 1)
  6732. + getpatt(L, 1, NULL); /* a unit set is equivalent to a literal */
  6733. + else {
  6734. + Instruction *p = newcharset(L);
  6735. + while (l--) {
  6736. + setchar(p[1].buff, (byte)(*s));
  6737. + s++;
  6738. + }
  6739. + }
  6740. + return 1;
  6741. +}
  6742. +
  6743. +
  6744. +static int range_l (lua_State *L) {
  6745. + int arg;
  6746. + int top = lua_gettop(L);
  6747. + Instruction *p = newcharset(L);
  6748. + for (arg = 1; arg <= top; arg++) {
  6749. + int c;
  6750. + size_t l;
  6751. + const char *r = luaL_checklstring(L, arg, &l);
  6752. + luaL_argcheck(L, l == 2, arg, "range must have two characters");
  6753. + for (c = (byte)r[0]; c <= (byte)r[1]; c++)
  6754. + setchar(p[1].buff, c);
  6755. + }
  6756. + return 1;
  6757. +}
  6758. +
  6759. +
  6760. +static int nter_l (lua_State *L) {
  6761. + Instruction *p;
  6762. + luaL_argcheck(L, !lua_isnoneornil(L, 1), 1, "non-nil value expected");
  6763. + p = newpatt(L, 1);
  6764. + setinst(p, IOpenCall, value2fenv(L, 1));
  6765. + return 1;
  6766. +}
  6767. +
  6768. +
  6769. +
  6770. +static int testpattern (lua_State *L, int idx) {
  6771. + if (lua_touserdata(L, idx)) { /* value is a userdata? */
  6772. + if (lua_getmetatable(L, idx)) { /* does it have a metatable? */
  6773. + luaL_getmetatable(L, PATTERN_T);
  6774. + if (lua_rawequal(L, -1, -2)) { /* does it have the correct mt? */
  6775. + lua_pop(L, 2); /* remove both metatables */
  6776. + return 1;
  6777. + }
  6778. + }
  6779. + }
  6780. + return 0;
  6781. +}
  6782. +
  6783. +
  6784. +static Instruction *fix_l (lua_State *L, int t) {
  6785. + Instruction *p;
  6786. + int i;
  6787. + int totalsize = 2; /* include initial call and jump */
  6788. + int n = 0; /* number of rules */
  6789. + int base = lua_gettop(L);
  6790. + lua_newtable(L); /* to store relative positions of each rule */
  6791. + lua_pushinteger(L, 1); /* default initial rule */
  6792. + /* collect patterns and compute sizes */
  6793. + lua_pushnil(L);
  6794. + while (lua_next(L, t) != 0) {
  6795. + int l;
  6796. + if (lua_tonumber(L, -2) == 1 && lua_isstring(L, -1)) {
  6797. + lua_replace(L, base + 2); /* use this value as initial rule */
  6798. + continue;
  6799. + }
  6800. + if (!testpattern(L, -1))
  6801. + luaL_error(L, "invalid field in grammar");
  6802. + l = pattsize(L, -1) + 1; /* space for pattern + ret */
  6803. + if (totalsize >= MAXPATTSIZE - l)
  6804. + luaL_error(L, "grammar too large");
  6805. + luaL_checkstack(L, LUA_MINSTACK, "grammar has too many rules");
  6806. + lua_insert(L, -2); /* put key on top */
  6807. + lua_pushvalue(L, -1); /* duplicate key (for lua_next) */
  6808. + lua_pushvalue(L, -1); /* duplicate key (to index positions table)) */
  6809. + lua_pushinteger(L, totalsize); /* position for this rule */
  6810. + lua_settable(L, base + 1); /* store key=>position in positions table */
  6811. + totalsize += l;
  6812. + n++;
  6813. + }
  6814. + luaL_argcheck(L, n > 0, t, "empty grammar");
  6815. + p = newpatt(L, totalsize); /* create new pattern */
  6816. + p++; /* save space for call */
  6817. + setinst(p++, IJmp, totalsize - 1); /* after call, jumps to the end */
  6818. + for (i = 1; i <= n; i++) { /* copy all rules into new pattern */
  6819. + p += addpatt(L, p, base + 1 + i*2);
  6820. + setinst(p++, IRet, 0);
  6821. + }
  6822. + p -= totalsize; /* back to first position */
  6823. + totalsize = 2; /* go through each rule's position */
  6824. + for (i = 1; i <= n; i++) { /* check all rules */
  6825. + int l = pattsize(L, base + 1 + i*2) + 1;
  6826. + checkrule(L, p, totalsize, totalsize + l, base + 1, base + 2 + i*2);
  6827. + totalsize += l;
  6828. + }
  6829. + lua_pushvalue(L, base + 2); /* get initial rule */
  6830. + lua_gettable(L, base + 1); /* get its position in postions table */
  6831. + i = lua_tonumber(L, -1); /* convert to number */
  6832. + lua_pop(L, 1);
  6833. + if (i == 0) /* is it defined? */
  6834. + luaL_error(L, "initial rule not defined in given grammar");
  6835. + setinst(p, ICall, i); /* first instruction calls initial rule */
  6836. + /* correct calls */
  6837. + for (i = 0; i < totalsize; i += sizei(p + i)) {
  6838. + if (p[i].i.code == IOpenCall) {
  6839. + int pos = getposition(L, base + 1, p[i].i.offset);
  6840. + p[i].i.code = (p[target(p, i + 1)].i.code == IRet) ? IJmp : ICall;
  6841. + p[i].i.offset = pos - i;
  6842. + }
  6843. + }
  6844. + optimizejumps(p);
  6845. + lua_replace(L, t); /* put new pattern in old's position */
  6846. + lua_settop(L, base); /* remove rules and positions table */
  6847. + return p;
  6848. +}
  6849. +
  6850. +
  6851. +static Instruction *any (lua_State *L, int n, int extra, int *offsetp) {
  6852. + int offset = offsetp ? *offsetp : 0;
  6853. + Instruction *p = newpatt(L, (n - 1)/UCHAR_MAX + extra + 1);
  6854. + Instruction *p1 = p + offset;
  6855. + for (; n > UCHAR_MAX; n -= UCHAR_MAX)
  6856. + setinstaux(p1++, IAny, 0, UCHAR_MAX);
  6857. + setinstaux(p1++, IAny, 0, n);
  6858. + if (offsetp) *offsetp = p1 - p;
  6859. + return p;
  6860. +}
  6861. +
  6862. +
  6863. +static Instruction *getpatt (lua_State *L, int idx, int *size) {
  6864. + Instruction *p;
  6865. + switch (lua_type(L, idx)) {
  6866. + case LUA_TSTRING: {
  6867. + size_t i, len;
  6868. + const char *s = lua_tolstring(L, idx, &len);
  6869. + p = newpatt(L, len);
  6870. + for (i = 0; i < len; i++)
  6871. + setinstaux(p + i, IChar, 0, (byte)s[i]);
  6872. + lua_replace(L, idx);
  6873. + break;
  6874. + }
  6875. + case LUA_TNUMBER: {
  6876. + int n = lua_tointeger(L, idx);
  6877. + if (n == 0) /* empty pattern? */
  6878. + p = newpatt(L, 0);
  6879. + else if (n > 0)
  6880. + p = any(L, n, 0, NULL);
  6881. + else if (-n <= UCHAR_MAX) {
  6882. + p = newpatt(L, 2);
  6883. + setinstaux(p, IAny, 2, -n);
  6884. + setinst(p + 1, IFail, 0);
  6885. + }
  6886. + else {
  6887. + int offset = 2; /* space for ITestAny & IChoice */
  6888. + p = any(L, -n - UCHAR_MAX, 3, &offset);
  6889. + setinstaux(p, IAny, offset + 1, UCHAR_MAX);
  6890. + setinstaux(p + 1, IChoice, offset, UCHAR_MAX);
  6891. + setinst(p + offset, IFailTwice, 0);
  6892. + }
  6893. + lua_replace(L, idx);
  6894. + break;
  6895. + }
  6896. + case LUA_TBOOLEAN: {
  6897. + if (lua_toboolean(L, idx)) /* true? */
  6898. + p = newpatt(L, 0); /* empty pattern (always succeeds) */
  6899. + else {
  6900. + p = newpatt(L, 1);
  6901. + setinst(p, IFail, 0);
  6902. + }
  6903. + lua_replace(L, idx);
  6904. + break;
  6905. + }
  6906. + case LUA_TTABLE: {
  6907. + p = fix_l(L, idx);
  6908. + break;
  6909. + }
  6910. + case LUA_TFUNCTION: {
  6911. + p = newpatt(L, 2);
  6912. + setinstcap(p, IOpenCapture, value2fenv(L, idx), Cruntime, 0);
  6913. + setinstcap(p + 1, ICloseRunTime, 0, Cclose, 0);
  6914. + lua_replace(L, idx);
  6915. + break;
  6916. + }
  6917. + default: {
  6918. + p = checkpattern(L, idx);
  6919. + break;
  6920. + }
  6921. + }
  6922. + if (size) *size = pattsize(L, idx);
  6923. + return p;
  6924. +}
  6925. +
  6926. +
  6927. +static int getpattl (lua_State *L, int idx) {
  6928. + int size;
  6929. + getpatt(L, idx, &size);
  6930. + return size;
  6931. +}
  6932. +
  6933. +
  6934. +static int pattern_l (lua_State *L) {
  6935. + lua_settop(L, 1);
  6936. + getpatt(L, 1, NULL);
  6937. + return 1;
  6938. +}
  6939. +
  6940. +
  6941. +#define isany(p) ((p)->i.code == IAny && ((p) + 1)->i.code == IEnd)
  6942. +#define isfail(p) ((p)->i.code == IFail)
  6943. +#define issucc(p) ((p)->i.code == IEnd)
  6944. +
  6945. +static int concat_l (lua_State *L) {
  6946. + /* p1; p2; */
  6947. + int l1, l2;
  6948. + Instruction *p1 = getpatt(L, 1, &l1);
  6949. + Instruction *p2 = getpatt(L, 2, &l2);
  6950. + if (isfail(p1) || issucc(p2))
  6951. + lua_pushvalue(L, 1); /* fail * x == fail; x * true == x */
  6952. + else if (isfail(p2) || issucc(p1))
  6953. + lua_pushvalue(L, 2); /* x * fail == fail; true * x == x */
  6954. + else if (isany(p1) && isany(p2))
  6955. + any(L, p1->i.aux + p2->i.aux, 0, NULL);
  6956. + else {
  6957. + Instruction *op = newpatt(L, l1 + l2);
  6958. + Instruction *p = op + addpatt(L, op, 1);
  6959. + addpatt(L, p, 2);
  6960. + optimizecaptures(op);
  6961. + }
  6962. + return 1;
  6963. +}
  6964. +
  6965. +
  6966. +static int diff_l (lua_State *L) {
  6967. + int l1, l2;
  6968. + Instruction *p1 = getpatt(L, 1, &l1);
  6969. + Instruction *p2 = getpatt(L, 2, &l2);
  6970. + CharsetTag st1, st2;
  6971. + if (tocharset(p1, &st1) == ISCHARSET && tocharset(p2, &st2) == ISCHARSET) {
  6972. + Instruction *p = newcharset(L);
  6973. + loopset(i, p[1].buff[i] = st1.cs[i] & ~st2.cs[i]);
  6974. + }
  6975. + else if (isheadfail(p2)) {
  6976. + Instruction *p = newpatt(L, l2 + 1 + l1);
  6977. + p += addpatt(L, p, 2);
  6978. + check2test(p - l2, l2 + 1);
  6979. + setinst(p++, IFail, 0);
  6980. + addpatt(L, p, 1);
  6981. + }
  6982. + else { /* !e2 . e1 */
  6983. + /* !e -> choice L1; e; failtwice; L1: ... */
  6984. + Instruction *p = newpatt(L, 1 + l2 + 1 + l1);
  6985. + Instruction *pi = p;
  6986. + setinst(p++, IChoice, 1 + l2 + 1);
  6987. + p += addpatt(L, p, 2);
  6988. + setinst(p++, IFailTwice, 0);
  6989. + addpatt(L, p, 1);
  6990. + optimizechoice(pi);
  6991. + }
  6992. + return 1;
  6993. +}
  6994. +
  6995. +
  6996. +static int unm_l (lua_State *L) {
  6997. + Instruction *p = getpatt(L, 1, NULL);
  6998. + if (isfail(p)) { /* -false? */
  6999. + newpatt(L, 0); /* true */
  7000. + return 1;
  7001. + }
  7002. + else if (issucc(p)) { /* -true? */
  7003. + Instruction *p1 = newpatt(L, 1); /* false */
  7004. + setinst(p1, IFail, 0);
  7005. + return 1;
  7006. + }
  7007. + else { /* -A == '' - A */
  7008. + lua_pushliteral(L, "");
  7009. + lua_insert(L, 1);
  7010. + return diff_l(L);
  7011. + }
  7012. +}
  7013. +
  7014. +
  7015. +static int pattand_l (lua_State *L) {
  7016. + int l1;
  7017. + Instruction *p1 = getpatt(L, 1, &l1);
  7018. + CharsetTag st1;
  7019. + if (isfail(p1) || issucc(p1))
  7020. + lua_pushvalue(L, 1); /* &fail == fail; &true == true */
  7021. + else if (tocharset(p1, &st1) == ISCHARSET) {
  7022. + Instruction *p = newpatt(L, CHARSETINSTSIZE + 1);
  7023. + setinst(p, ISet, CHARSETINSTSIZE + 1);
  7024. + loopset(i, p[1].buff[i] = ~st1.cs[i]);
  7025. + setinst(p + CHARSETINSTSIZE, IFail, 0);
  7026. + }
  7027. + else {
  7028. + Instruction *p = newpatt(L, 1 + l1 + 2);
  7029. + setinst(p++, IChoice, 1 + l1 + 1);
  7030. + p += addpatt(L, p, 1);
  7031. + setinst(p++, IBackCommit, 2);
  7032. + setinst(p, IFail, 0);
  7033. + }
  7034. + return 1;
  7035. +}
  7036. +
  7037. +
  7038. +static int firstpart (Instruction *p, int l) {
  7039. + if (istest(p)) {
  7040. + int e = p[0].i.offset - 1;
  7041. + if ((p[e].i.code == IJmp || p[e].i.code == ICommit) &&
  7042. + e + p[e].i.offset == l)
  7043. + return e + 1;
  7044. + }
  7045. + else if (p[0].i.code == IChoice) {
  7046. + int e = p[0].i.offset - 1;
  7047. + if (p[e].i.code == ICommit && e + p[e].i.offset == l)
  7048. + return e + 1;
  7049. + }
  7050. + return 0;
  7051. +}
  7052. +
  7053. +
  7054. +static Instruction *auxnew (lua_State *L, Instruction **op, int *size,
  7055. + int extra) {
  7056. + *op = newpatt(L, *size + extra);
  7057. + jointable(L, 1);
  7058. + *size += extra;
  7059. + return *op + *size - extra;
  7060. +}
  7061. +
  7062. +
  7063. +static int nofail (Instruction *p, int l) {
  7064. + int i;
  7065. + for (i = 0; i < l; i += sizei(p + i)) {
  7066. + if (!isnofail(p + i)) return 0;
  7067. + }
  7068. + return 1;
  7069. +}
  7070. +
  7071. +
  7072. +static int interfere (Instruction *p1, int l1, CharsetTag *st2) {
  7073. + if (nofail(p1, l1)) /* p1 cannot fail? */
  7074. + return 0; /* nothing can intefere with it */
  7075. + if (st2->tag == NOINFO) return 1;
  7076. + assert(p1->i.offset != 0);
  7077. + switch (p1->i.code) {
  7078. + case IChar: return testchar(st2->cs, p1->i.aux);
  7079. + case ISet: return !exclusiveset(st2->cs, (p1 + 1)->buff);
  7080. + default: assert(p1->i.code == IAny); return 1;
  7081. + }
  7082. +}
  7083. +
  7084. +
  7085. +static Instruction *basicUnion (lua_State *L, Instruction *p1, int l1,
  7086. + int l2, int *size, CharsetTag *st2) {
  7087. + Instruction *op;
  7088. + CharsetTag st1;
  7089. + tocharset(p1, &st1);
  7090. + if (st1.tag == ISCHARSET && st2->tag == ISCHARSET) {
  7091. + Instruction *p = auxnew(L, &op, size, CHARSETINSTSIZE);
  7092. + setinst(p, ISet, 0);
  7093. + loopset(i, p[1].buff[i] = st1.cs[i] | st2->cs[i]);
  7094. + }
  7095. + else if (exclusive(&st1, st2) || isheadfail(p1)) {
  7096. + Instruction *p = auxnew(L, &op, size, l1 + 1 + l2);
  7097. + copypatt(p, p1, l1);
  7098. + check2test(p, l1 + 1);
  7099. + p += l1;
  7100. + setinst(p++, IJmp, l2 + 1);
  7101. + addpatt(L, p, 2);
  7102. + }
  7103. + else {
  7104. + /* choice L1; e1; commit L2; L1: e2; L2: ... */
  7105. + Instruction *p = auxnew(L, &op, size, 1 + l1 + 1 + l2);
  7106. + setinst(p++, IChoice, 1 + l1 + 1);
  7107. + copypatt(p, p1, l1); p += l1;
  7108. + setinst(p++, ICommit, 1 + l2);
  7109. + addpatt(L, p, 2);
  7110. + optimizechoice(p - (1 + l1 + 1));
  7111. + }
  7112. + return op;
  7113. +}
  7114. +
  7115. +
  7116. +static Instruction *separateparts (lua_State *L, Instruction *p1, int l1,
  7117. + int l2, int *size, CharsetTag *st2) {
  7118. + int sp = firstpart(p1, l1);
  7119. + if (sp == 0) /* first part is entire p1? */
  7120. + return basicUnion(L, p1, l1, l2, size, st2);
  7121. + else if ((p1 + sp - 1)->i.code == ICommit || !interfere(p1, sp, st2)) {
  7122. + Instruction *p;
  7123. + int init = *size;
  7124. + int end = init + sp;
  7125. + *size = end;
  7126. + p = separateparts(L, p1 + sp, l1 - sp, l2, size, st2);
  7127. + copypatt(p + init, p1, sp);
  7128. + (p + end - 1)->i.offset = *size - (end - 1);
  7129. + return p;
  7130. + }
  7131. + else { /* must change back to non-optimized choice */
  7132. + Instruction *p;
  7133. + int init = *size;
  7134. + int end = init + sp + 1; /* needs one extra instruction (choice) */
  7135. + int sizefirst = sizei(p1); /* size of p1's first instruction (the test) */
  7136. + *size = end;
  7137. + p = separateparts(L, p1 + sp, l1 - sp, l2, size, st2);
  7138. + copypatt(p + init, p1, sizefirst); /* copy the test */
  7139. + (p + init)->i.offset++; /* correct jump (because of new instruction) */
  7140. + init += sizefirst;
  7141. + setinstaux(p + init, IChoice, sp - sizefirst + 1, 1); init++;
  7142. + copypatt(p + init, p1 + sizefirst, sp - sizefirst - 1);
  7143. + init += sp - sizefirst - 1;
  7144. + setinst(p + init, ICommit, *size - (end - 1));
  7145. + return p;
  7146. + }
  7147. +}
  7148. +
  7149. +
  7150. +static int union_l (lua_State *L) {
  7151. + int l1, l2;
  7152. + int size = 0;
  7153. + Instruction *p1 = getpatt(L, 1, &l1);
  7154. + Instruction *p2 = getpatt(L, 2, &l2);
  7155. + CharsetTag st2;
  7156. + if (isfail(p1)) /* check for simple identities */
  7157. + lua_pushvalue(L, 2); /* fail / a == a */
  7158. + else if (isfail(p2) || issucc(p1))
  7159. + lua_pushvalue(L, 1); /* a / fail == a; true / a == true */
  7160. + else {
  7161. + tocharset(p2, &st2);
  7162. + separateparts(L, p1, l1, l2, &size, &st2);
  7163. + }
  7164. + return 1;
  7165. +}
  7166. +
  7167. +
  7168. +static int repeatcharset (lua_State *L, Charset cs, int l1, int n) {
  7169. + /* e; ...; e; span; */
  7170. + int i;
  7171. + Instruction *p = newpatt(L, n*l1 + CHARSETINSTSIZE);
  7172. + for (i = 0; i < n; i++) {
  7173. + p += addpatt(L, p, 1);
  7174. + }
  7175. + setinst(p, ISpan, 0);
  7176. + loopset(k, p[1].buff[k] = cs[k]);
  7177. + return 1;
  7178. +}
  7179. +
  7180. +
  7181. +static Instruction *repeatheadfail (lua_State *L, int l1, int n) {
  7182. + /* e; ...; e; L2: e'(L1); jump L2; L1: ... */
  7183. + int i;
  7184. + Instruction *p = newpatt(L, (n + 1)*l1 + 1);
  7185. + Instruction *op = p;
  7186. + for (i = 0; i < n; i++) {
  7187. + p += addpatt(L, p, 1);
  7188. + }
  7189. + p += addpatt(L, p, 1);
  7190. + check2test(p - l1, l1 + 1);
  7191. + setinst(p, IJmp, -l1);
  7192. + return op;
  7193. +}
  7194. +
  7195. +
  7196. +static Instruction *repeats (lua_State *L, Instruction *p1, int l1, int n) {
  7197. + /* e; ...; e; choice L1; L2: e; partialcommit L2; L1: ... */
  7198. + int i;
  7199. + Instruction *op = newpatt(L, (n + 1)*l1 + 2);
  7200. + Instruction *p = op;
  7201. + if (!verify(L, p1, p1, p1 + l1, 0, 0))
  7202. + luaL_error(L, "loop body may accept empty string");
  7203. + for (i = 0; i < n; i++) {
  7204. + p += addpatt(L, p, 1);
  7205. + }
  7206. + setinst(p++, IChoice, 1 + l1 + 1);
  7207. + p += addpatt(L, p, 1);
  7208. + setinst(p, IPartialCommit, -l1);
  7209. + return op;
  7210. +}
  7211. +
  7212. +
  7213. +static void optionalheadfail (lua_State *L, int l1, int n) {
  7214. + Instruction *op = newpatt(L, n * l1);
  7215. + Instruction *p = op;
  7216. + int i;
  7217. + for (i = 0; i < n; i++) {
  7218. + p += addpatt(L, p, 1);
  7219. + check2test(p - l1, (n - i)*l1);
  7220. + }
  7221. +}
  7222. +
  7223. +
  7224. +static void optionals (lua_State *L, int l1, int n) {
  7225. + /* choice L1; e; partialcommit L2; L2: ... e; L1: commit L3; L3: ... */
  7226. + int i;
  7227. + Instruction *op = newpatt(L, n*(l1 + 1) + 1);
  7228. + Instruction *p = op;
  7229. + setinst(p++, IChoice, 1 + n*(l1 + 1));
  7230. + for (i = 0; i < n; i++) {
  7231. + p += addpatt(L, p, 1);
  7232. + setinst(p++, IPartialCommit, 1);
  7233. + }
  7234. + setinst(p - 1, ICommit, 1); /* correct last commit */
  7235. + optimizechoice(op);
  7236. +}
  7237. +
  7238. +
  7239. +static int star_l (lua_State *L) {
  7240. + int l1;
  7241. + int n = luaL_checkint(L, 2);
  7242. + Instruction *p1 = getpatt(L, 1, &l1);
  7243. + if (n >= 0) {
  7244. + CharsetTag st;
  7245. + Instruction *op;
  7246. + if (tocharset(p1, &st) == ISCHARSET)
  7247. + return repeatcharset(L, st.cs, l1, n);
  7248. + if (isheadfail(p1))
  7249. + op = repeatheadfail(L, l1, n);
  7250. + else
  7251. + op = repeats(L, p1, l1, n);
  7252. + optimizecaptures(op);
  7253. + optimizejumps(op);
  7254. + }
  7255. + else {
  7256. + if (isheadfail(p1))
  7257. + optionalheadfail(L, l1, -n);
  7258. + else
  7259. + optionals(L, l1, -n);
  7260. + }
  7261. + return 1;
  7262. +}
  7263. +
  7264. +
  7265. +static int getlabel (lua_State *L, int labelidx) {
  7266. + if (labelidx == 0) return 0;
  7267. + else return value2fenv(L, labelidx);
  7268. +}
  7269. +
  7270. +
  7271. +static int capture_aux (lua_State *L, int kind, int labelidx) {
  7272. + int l1, n;
  7273. + Instruction *p1 = getpatt(L, 1, &l1);
  7274. + int lc = skipchecks(p1, 0, &n);
  7275. + if (lc == l1) { /* got whole pattern? */
  7276. + /* may use a IFullCapture instruction at its end */
  7277. + Instruction *p = newpatt(L, l1 + 1);
  7278. + int label = getlabel(L, labelidx);
  7279. + p += addpatt(L, p, 1);
  7280. + setinstcap(p, IFullCapture, label, kind, n);
  7281. + }
  7282. + else { /* must use open-close pair */
  7283. + Instruction *op = newpatt(L, 1 + l1 + 1);
  7284. + Instruction *p = op;
  7285. + setinstcap(p++, IOpenCapture, getlabel(L, labelidx), kind, 0);
  7286. + p += addpatt(L, p, 1);
  7287. + setinstcap(p, ICloseCapture, 0, Cclose, 0);
  7288. + optimizecaptures(op);
  7289. + }
  7290. + return 1;
  7291. +}
  7292. +
  7293. +
  7294. +static int capture_l (lua_State *L) { return capture_aux(L, Csimple, 0); }
  7295. +static int tcapture_l (lua_State *L) { return capture_aux(L, Ctable, 0); }
  7296. +static int capsubst_l (lua_State *L) { return capture_aux(L, Csubst, 0); }
  7297. +
  7298. +static int rcapture_l (lua_State *L) {
  7299. + switch (lua_type(L, 2)) {
  7300. + case LUA_TFUNCTION: return capture_aux(L, Cfunction, 2);
  7301. + case LUA_TTABLE: return capture_aux(L, Cquery, 2);
  7302. + case LUA_TSTRING: return capture_aux(L, Cstring, 2);
  7303. + default: return luaL_argerror(L, 2, "invalid replacement value");
  7304. + }
  7305. +}
  7306. +
  7307. +
  7308. +static int fold_l (lua_State *L) {
  7309. + luaL_checktype(L, 2, LUA_TFUNCTION);
  7310. + return capture_aux(L, Cfold, 2);
  7311. +}
  7312. +
  7313. +
  7314. +static int group_l (lua_State *L) {
  7315. + if (lua_isnoneornil(L, 2))
  7316. + return capture_aux(L, Cgroup, 0);
  7317. + else {
  7318. + luaL_checkstring(L, 2);
  7319. + return capture_aux(L, Cgroup, 2);
  7320. + }
  7321. +}
  7322. +
  7323. +
  7324. +static int position_l (lua_State *L) {
  7325. + Instruction *p = newpatt(L, 1);
  7326. + setinstcap(p, IEmptyCapture, 0, Cposition, 0);
  7327. + return 1;
  7328. +}
  7329. +
  7330. +
  7331. +static int backref_l (lua_State *L) {
  7332. + Instruction *p = newpatt(L, 1);
  7333. + int n = getlabel(L, 1);
  7334. + setinstcap(p, IEmptyCaptureIdx, n, Cbackref, 0);
  7335. + return 1;
  7336. +}
  7337. +
  7338. +
  7339. +static int argcap_l (lua_State *L) {
  7340. + int n = luaL_checkint(L, 1);
  7341. + Instruction *p = newpatt(L, 1);
  7342. + luaL_argcheck(L, 0 < n && n <= SHRT_MAX, 1, "invalid argument index");
  7343. + setinstcap(p, IEmptyCapture, n, Carg, 0);
  7344. + return 1;
  7345. +}
  7346. +
  7347. +
  7348. +static int matchtime_l (lua_State *L) {
  7349. + int l1 = getpattl(L, 1);
  7350. + Instruction *op = newpatt(L, 1 + l1 + 1);
  7351. + Instruction *p = op;
  7352. + luaL_checktype(L, 2, LUA_TFUNCTION);
  7353. + setinstcap(p++, IOpenCapture, value2fenv(L, 2), Cruntime, 0);
  7354. + p += addpatt(L, p, 1);
  7355. + setinstcap(p, ICloseRunTime, 0, Cclose, 0);
  7356. + optimizecaptures(op);
  7357. + return 1;
  7358. +}
  7359. +
  7360. +
  7361. +static int capconst_l (lua_State *L) {
  7362. + int i, j;
  7363. + int n = lua_gettop(L);
  7364. + Instruction *p = newpatt(L, n > 1 ? n + 2 : n);
  7365. + lua_createtable(L, n, 0); /* new environment for the new pattern */
  7366. + if (n > 1) setinstcap(p++, IOpenCapture, 0, Cgroup, 0);
  7367. + for (i = j = 1; i <= n; i++) {
  7368. + if (lua_isnil(L, i))
  7369. + setinstcap(p++, IEmptyCaptureIdx, 0, Cconst, 0);
  7370. + else {
  7371. + setinstcap(p++, IEmptyCaptureIdx, j, Cconst, 0);
  7372. + lua_pushvalue(L, i);
  7373. + lua_rawseti(L, -2, j++);
  7374. + }
  7375. + }
  7376. + if (n > 1) setinstcap(p++, ICloseCapture, 0, Cclose, 0);
  7377. + lua_setfenv(L, -2); /* set environment */
  7378. + return 1;
  7379. +}
  7380. +
  7381. +
  7382. +/* }====================================================== */
  7383. +
  7384. +
  7385. +
  7386. +/*
  7387. +** {======================================================
  7388. +** User-Defined Patterns
  7389. +** =======================================================
  7390. +*/
  7391. +
  7392. +static void newpattfunc (lua_State *L, PattFunc f, const void *ud, size_t l) {
  7393. + int n = instsize(l) + 1;
  7394. + Instruction *p = newpatt(L, n);
  7395. + p[0].i.code = IFunc;
  7396. + p[0].i.offset = n;
  7397. + p[1].f = f;
  7398. + memcpy(p[2].buff, ud, l);
  7399. +}
  7400. +
  7401. +
  7402. +#include <ctype.h>
  7403. +
  7404. +static const char *span (const void *ud, const char *o,
  7405. + const char *s,
  7406. + const char *e) {
  7407. + const char *u = (const char *)ud;
  7408. + (void)o; (void)e;
  7409. + return s + strspn(s, u);
  7410. +}
  7411. +
  7412. +
  7413. +static int span_l (lua_State *L) {
  7414. + const char *s = luaL_checkstring(L, 1);
  7415. + newpattfunc(L, span, s, strlen(s) + 1);
  7416. + return 1;
  7417. +}
  7418. +
  7419. +/* }====================================================== */
  7420. +
  7421. +
  7422. +
  7423. +/*
  7424. +** {======================================================
  7425. +** Captures
  7426. +** =======================================================
  7427. +*/
  7428. +
  7429. +
  7430. +typedef struct CapState {
  7431. + Capture *cap; /* current capture */
  7432. + Capture *ocap; /* (original) capture list */
  7433. + lua_State *L;
  7434. + int ptop; /* index of last argument to 'match' */
  7435. + const char *s; /* original string */
  7436. + int valuecached; /* value stored in cache slot */
  7437. +} CapState;
  7438. +
  7439. +
  7440. +#define captype(cap) ((cap)->kind)
  7441. +
  7442. +#define isclosecap(cap) (captype(cap) == Cclose)
  7443. +
  7444. +#define closeaddr(c) ((c)->s + (c)->siz - 1)
  7445. +
  7446. +#define isfullcap(cap) ((cap)->siz != 0)
  7447. +
  7448. +#define getfromenv(cs,v) lua_rawgeti((cs)->L, penvidx((cs)->ptop), v)
  7449. +#define pushluaval(cs) getfromenv(cs, (cs)->cap->idx)
  7450. +
  7451. +#define pushsubject(cs, c) lua_pushlstring((cs)->L, (c)->s, (c)->siz - 1)
  7452. +
  7453. +
  7454. +#define updatecache(cs,v) { if ((v) != (cs)->valuecached) updatecache_(cs,v); }
  7455. +
  7456. +
  7457. +static void updatecache_ (CapState *cs, int v) {
  7458. + getfromenv(cs, v);
  7459. + lua_replace(cs->L, subscache(cs));
  7460. + cs->valuecached = v;
  7461. +}
  7462. +
  7463. +
  7464. +static int pushcapture (CapState *cs);
  7465. +
  7466. +
  7467. +static Capture *findopen (Capture *cap) {
  7468. + int n = 0;
  7469. + for (;;) {
  7470. + cap--;
  7471. + if (isclosecap(cap)) n++;
  7472. + else if (!isfullcap(cap))
  7473. + if (n-- == 0) return cap;
  7474. + }
  7475. +}
  7476. +
  7477. +
  7478. +static Capture *nextcap (Capture *cap) {
  7479. + if (isfullcap(cap)) return cap + 1;
  7480. + else {
  7481. + int n = 0;
  7482. + for (;;) {
  7483. + cap++;
  7484. + if (isclosecap(cap)) {
  7485. + if (n-- == 0) return cap + 1;
  7486. + }
  7487. + else if (!isfullcap(cap)) n++;
  7488. + }
  7489. + }
  7490. +}
  7491. +
  7492. +
  7493. +static int pushallvalues (CapState *cs, int addextra) {
  7494. + Capture *co = cs->cap;
  7495. + int n = 0;
  7496. + if (isfullcap(cs->cap++)) {
  7497. + pushsubject(cs, co); /* push whole match */
  7498. + return 1;
  7499. + }
  7500. + while (!isclosecap(cs->cap))
  7501. + n += pushcapture(cs);
  7502. + if (addextra || n == 0) { /* need extra? */
  7503. + lua_pushlstring(cs->L, co->s, cs->cap->s - co->s); /* push whole match */
  7504. + n++;
  7505. + }
  7506. + cs->cap++; /* skip close entry */
  7507. + return n;
  7508. +}
  7509. +
  7510. +
  7511. +static Capture *findback (CapState *cs, Capture *cap) {
  7512. + lua_State *L = cs->L;
  7513. + for (;;) {
  7514. + if (cap == cs->ocap) { /* not found */
  7515. + const char *s = lua_tostring(L, -1);
  7516. + if (s == NULL) s = lua_pushfstring(L, "(a %s)", luaL_typename(L, -1));
  7517. + luaL_error(L, "back reference '%s' not found", s);
  7518. + }
  7519. + cap--;
  7520. + if (isclosecap(cap))
  7521. + cap = findopen(cap);
  7522. + else if (!isfullcap(cap))
  7523. + continue; /* opening an enclosing capture: skip and get previous */
  7524. + if (captype(cap) == Cgroup) {
  7525. + getfromenv(cs, cap->idx); /* get group name */
  7526. + if (lua_equal(L, -2, -1)) { /* right group? */
  7527. + lua_pop(L, 2); /* remove reference name and group name */
  7528. + return cap;
  7529. + }
  7530. + else lua_pop(L, 1); /* remove group name */
  7531. + }
  7532. + }
  7533. +}
  7534. +
  7535. +
  7536. +static int backrefcap (CapState *cs) {
  7537. + int n;
  7538. + Capture *curr = cs->cap;
  7539. + pushluaval(cs); /* reference name */
  7540. + cs->cap = findback(cs, curr);
  7541. + n = pushallvalues(cs, 0);
  7542. + cs->cap = curr + 1;
  7543. + return n;
  7544. +}
  7545. +
  7546. +
  7547. +static int tablecap (CapState *cs) {
  7548. + lua_State *L = cs->L;
  7549. + int n = 0;
  7550. + lua_newtable(L);
  7551. + if (isfullcap(cs->cap++))
  7552. + return 1; /* table is empty */
  7553. + while (!isclosecap(cs->cap)) {
  7554. + if (captype(cs->cap) == Cgroup && cs->cap->idx != 0) { /* named group? */
  7555. + int k;
  7556. + pushluaval(cs); /* push group name */
  7557. + k = pushallvalues(cs, 0);
  7558. + if (k == 0) { /* no value? */
  7559. + lua_pop(L, 1); /* remove group name */
  7560. + continue; /* and go on */
  7561. + }
  7562. + else if (k > 1)
  7563. + lua_pop(L, k - 1); /* keep just one value */
  7564. + lua_settable(L, -3);
  7565. + }
  7566. + else {
  7567. + int i;
  7568. + int k = pushcapture(cs);
  7569. + for (i = k; i > 0; i--)
  7570. + lua_rawseti(L, -(i + 1), n + i);
  7571. + n += k;
  7572. + }
  7573. + }
  7574. + cs->cap++; /* skip close entry */
  7575. + return 1;
  7576. +}
  7577. +
  7578. +
  7579. +static int querycap (CapState *cs) {
  7580. + int idx = cs->cap->idx;
  7581. + int n = pushallvalues(cs, 0);
  7582. + if (n > 1) /* extra captures? */
  7583. + lua_pop(cs->L, n - 1); /* throw them away */
  7584. + updatecache(cs, idx);
  7585. + lua_gettable(cs->L, subscache(cs));
  7586. + if (!lua_isnil(cs->L, -1))
  7587. + return 1;
  7588. + else {
  7589. + lua_pop(cs->L, 1); /* remove value */
  7590. + return 0;
  7591. + }
  7592. +}
  7593. +
  7594. +
  7595. +static int foldcap (CapState *cs) {
  7596. + int n;
  7597. + lua_State *L = cs->L;
  7598. + int idx = cs->cap->idx;
  7599. + if (isfullcap(cs->cap++) || isclosecap(cs->cap) || (n = pushcapture(cs)) == 0)
  7600. + return luaL_error(L, "no initial value for fold capture");
  7601. + if (n > 1)
  7602. + lua_pop(L, n - 1); /* leave only one result */
  7603. + while (!isclosecap(cs->cap)) {
  7604. + updatecache(cs, idx);
  7605. + lua_pushvalue(L, subscache(cs)); /* get folding function */
  7606. + lua_insert(L, -2); /* put it before accumulator */
  7607. + n = pushcapture(cs); /* get other captures */
  7608. + lua_call(L, n + 1, 1); /* call folding function */
  7609. + }
  7610. + cs->cap++; /* skip close entry */
  7611. + return 1;
  7612. +}
  7613. +
  7614. +
  7615. +static int functioncap (CapState *cs) {
  7616. + int n;
  7617. + int top = lua_gettop(cs->L);
  7618. + pushluaval(cs);
  7619. + n = pushallvalues(cs, 0);
  7620. + lua_call(cs->L, n, LUA_MULTRET);
  7621. + return lua_gettop(cs->L) - top;
  7622. +}
  7623. +
  7624. +
  7625. +static int runtimecap (lua_State *L, Capture *close, Capture *ocap,
  7626. + const char *o, const char *s, int ptop) {
  7627. + CapState cs;
  7628. + int n;
  7629. + Capture *open = findopen(close);
  7630. + assert(captype(open) == Cruntime);
  7631. + close->kind = Cclose;
  7632. + close->s = s;
  7633. + cs.ocap = ocap; cs.cap = open; cs.L = L;
  7634. + cs.s = o; cs.valuecached = 0; cs.ptop = ptop;
  7635. + luaL_checkstack(L, 4, "too many runtime captures");
  7636. + pushluaval(&cs);
  7637. + lua_pushvalue(L, SUBJIDX); /* push original subject */
  7638. + lua_pushinteger(L, s - o + 1); /* current position */
  7639. + n = pushallvalues(&cs, 0);
  7640. + lua_call(L, n + 2, LUA_MULTRET);
  7641. + return close - open;
  7642. +}
  7643. +
  7644. +
  7645. +
  7646. +typedef struct StrAux {
  7647. + int isstring;
  7648. + union {
  7649. + Capture *cp;
  7650. + struct {
  7651. + const char *s;
  7652. + const char *e;
  7653. + } s;
  7654. + } u;
  7655. +} StrAux;
  7656. +
  7657. +#define MAXSTRCAPS 10
  7658. +
  7659. +static int getstrcaps (CapState *cs, StrAux *cps, int n) {
  7660. + int k = n++;
  7661. + cps[k].isstring = 1;
  7662. + cps[k].u.s.s = cs->cap->s;
  7663. + if (!isfullcap(cs->cap++)) {
  7664. + while (!isclosecap(cs->cap)) {
  7665. + if (n >= MAXSTRCAPS) /* too many captures? */
  7666. + cs->cap = nextcap(cs->cap); /* skip it */
  7667. + else if (captype(cs->cap) == Csimple)
  7668. + n = getstrcaps(cs, cps, n);
  7669. + else {
  7670. + cps[n].isstring = 0;
  7671. + cps[n].u.cp = cs->cap;
  7672. + cs->cap = nextcap(cs->cap);
  7673. + n++;
  7674. + }
  7675. + }
  7676. + cs->cap++; /* skip close */
  7677. + }
  7678. + cps[k].u.s.e = closeaddr(cs->cap - 1);
  7679. + return n;
  7680. +}
  7681. +
  7682. +
  7683. +/*
  7684. +** add next capture (which should be a string) to buffer
  7685. +*/
  7686. +static int addonestring (luaL_Buffer *b, CapState *cs, const char *what);
  7687. +
  7688. +
  7689. +static void stringcap (luaL_Buffer *b, CapState *cs) {
  7690. + StrAux cps[MAXSTRCAPS];
  7691. + int n;
  7692. + size_t len, i;
  7693. + const char *c;
  7694. + updatecache(cs, cs->cap->idx);
  7695. + c = lua_tolstring(cs->L, subscache(cs), &len);
  7696. + n = getstrcaps(cs, cps, 0) - 1;
  7697. + for (i = 0; i < len; i++) {
  7698. + if (c[i] != '%' || c[++i] < '0' || c[i] > '9')
  7699. + luaL_addchar(b, c[i]);
  7700. + else {
  7701. + int l = c[i] - '0';
  7702. + if (l > n)
  7703. + luaL_error(cs->L, "invalid capture index (%d)", l);
  7704. + else if (cps[l].isstring)
  7705. + luaL_addlstring(b, cps[l].u.s.s, cps[l].u.s.e - cps[l].u.s.s);
  7706. + else {
  7707. + Capture *curr = cs->cap;
  7708. + cs->cap = cps[l].u.cp;
  7709. + if (addonestring(b, cs, "capture") == 0)
  7710. + luaL_error(cs->L, "no values in capture index %d", l);
  7711. + cs->cap = curr;
  7712. + }
  7713. + }
  7714. + }
  7715. +}
  7716. +
  7717. +
  7718. +static void substcap (luaL_Buffer *b, CapState *cs) {
  7719. + const char *curr = cs->cap->s;
  7720. + if (isfullcap(cs->cap)) /* no nested captures? */
  7721. + luaL_addlstring(b, curr, cs->cap->siz - 1); /* keep original text */
  7722. + else {
  7723. + cs->cap++;
  7724. + while (!isclosecap(cs->cap)) {
  7725. + const char *next = cs->cap->s;
  7726. + luaL_addlstring(b, curr, next - curr); /* add text up to capture */
  7727. + if (addonestring(b, cs, "replacement") == 0) /* no capture value? */
  7728. + curr = next; /* keep original text in final result */
  7729. + else
  7730. + curr = closeaddr(cs->cap - 1); /* continue after match */
  7731. + }
  7732. + luaL_addlstring(b, curr, cs->cap->s - curr); /* add last piece of text */
  7733. + }
  7734. + cs->cap++; /* go to next capture */
  7735. +}
  7736. +
  7737. +
  7738. +static int addonestring (luaL_Buffer *b, CapState *cs, const char *what) {
  7739. + switch (captype(cs->cap)) {
  7740. + case Cstring:
  7741. + stringcap(b, cs); /* add capture directly to buffer */
  7742. + return 1;
  7743. + case Csubst:
  7744. + substcap(b, cs); /* add capture directly to buffer */
  7745. + return 1;
  7746. + default: {
  7747. + lua_State *L = cs->L;
  7748. + int n = pushcapture(cs);
  7749. + if (n > 0) {
  7750. + if (n > 1) lua_pop(L, n - 1); /* only one result */
  7751. + if (!lua_isstring(L, -1))
  7752. + luaL_error(L, "invalid %s value (a %s)", what, luaL_typename(L, -1));
  7753. + luaL_addvalue(b);
  7754. + }
  7755. + return n;
  7756. + }
  7757. + }
  7758. +}
  7759. +
  7760. +
  7761. +static int pushcapture (CapState *cs) {
  7762. + luaL_checkstack(cs->L, 4, "too many captures");
  7763. + switch (captype(cs->cap)) {
  7764. + case Cposition: {
  7765. + lua_pushinteger(cs->L, cs->cap->s - cs->s + 1);
  7766. + cs->cap++;
  7767. + return 1;
  7768. + }
  7769. + case Cconst: {
  7770. + pushluaval(cs);
  7771. + cs->cap++;
  7772. + return 1;
  7773. + }
  7774. + case Carg: {
  7775. + int arg = (cs->cap++)->idx;
  7776. + if (arg + FIXEDARGS > cs->ptop)
  7777. + return luaL_error(cs->L, "reference to absent argument #%d", arg);
  7778. + lua_pushvalue(cs->L, arg + FIXEDARGS);
  7779. + return 1;
  7780. + }
  7781. + case Csimple: {
  7782. + int k = pushallvalues(cs, 1);
  7783. + if (k > 1)
  7784. + lua_insert(cs->L, -k); /* whole match is first result */
  7785. + return k;
  7786. + }
  7787. + case Cruntime: {
  7788. + int n = 0;
  7789. + while (!isclosecap(cs->cap++)) {
  7790. + luaL_checkstack(cs->L, 4, "too many captures");
  7791. + lua_pushvalue(cs->L, (cs->cap - 1)->idx);
  7792. + n++;
  7793. + }
  7794. + return n;
  7795. + }
  7796. + case Cstring: {
  7797. + luaL_Buffer b;
  7798. + luaL_buffinit(cs->L, &b);
  7799. + stringcap(&b, cs);
  7800. + luaL_pushresult(&b);
  7801. + return 1;
  7802. + }
  7803. + case Csubst: {
  7804. + luaL_Buffer b;
  7805. + luaL_buffinit(cs->L, &b);
  7806. + substcap(&b, cs);
  7807. + luaL_pushresult(&b);
  7808. + return 1;
  7809. + }
  7810. + case Cgroup: {
  7811. + if (cs->cap->idx == 0) /* anonymous group? */
  7812. + return pushallvalues(cs, 0); /* add all nested values */
  7813. + else { /* named group: add no values */
  7814. + cs->cap = nextcap(cs->cap); /* skip capture */
  7815. + return 0;
  7816. + }
  7817. + }
  7818. + case Cbackref: return backrefcap(cs);
  7819. + case Ctable: return tablecap(cs);
  7820. + case Cfunction: return functioncap(cs);
  7821. + case Cquery: return querycap(cs);
  7822. + case Cfold: return foldcap(cs);
  7823. + default: assert(0); return 0;
  7824. + }
  7825. +}
  7826. +
  7827. +
  7828. +static int getcaptures (lua_State *L, const char *s, const char *r, int ptop) {
  7829. + Capture *capture = (Capture *)lua_touserdata(L, caplistidx(ptop));
  7830. + int n = 0;
  7831. + if (!isclosecap(capture)) { /* is there any capture? */
  7832. + CapState cs;
  7833. + cs.ocap = cs.cap = capture; cs.L = L;
  7834. + cs.s = s; cs.valuecached = 0; cs.ptop = ptop;
  7835. + do { /* collect their values */
  7836. + n += pushcapture(&cs);
  7837. + } while (!isclosecap(cs.cap));
  7838. + }
  7839. + if (n == 0) { /* no capture values? */
  7840. + lua_pushinteger(L, r - s + 1); /* return only end position */
  7841. + n = 1;
  7842. + }
  7843. + return n;
  7844. +}
  7845. +
  7846. +/* }====================================================== */
  7847. +
  7848. +
  7849. +static int version_l (lua_State *L) {
  7850. + lua_pushstring(L, VERSION);
  7851. + return 1;
  7852. +}
  7853. +
  7854. +
  7855. +static int type_l (lua_State *L) {
  7856. + if (testpattern(L, 1))
  7857. + lua_pushliteral(L, "pattern");
  7858. + else
  7859. + lua_pushnil(L);
  7860. + return 1;
  7861. +}
  7862. +
  7863. +
  7864. +static void createcat (lua_State *L, const char *catname, int (catf) (int)) {
  7865. + Instruction *p = newcharset(L);
  7866. + int i;
  7867. + for (i = 0; i < CHAR_MAX; i++)
  7868. + if (catf(i)) setchar(p[1].buff, i);
  7869. + lua_setfield(L, -2, catname);
  7870. +}
  7871. +
  7872. +
  7873. +static int locale_l (lua_State *L) {
  7874. + if (lua_isnoneornil(L, 1)) {
  7875. + lua_settop(L, 0);
  7876. + lua_createtable(L, 0, 12);
  7877. + }
  7878. + else
  7879. + luaL_checktype(L, 1, LUA_TTABLE);
  7880. + createcat(L, "alnum", isalnum);
  7881. + createcat(L, "alpha", isalpha);
  7882. + createcat(L, "cntrl", iscntrl);
  7883. + createcat(L, "digit", isdigit);
  7884. + createcat(L, "graph", isgraph);
  7885. + createcat(L, "lower", islower);
  7886. + createcat(L, "print", isprint);
  7887. + createcat(L, "punct", ispunct);
  7888. + createcat(L, "space", isspace);
  7889. + createcat(L, "upper", isupper);
  7890. + createcat(L, "xdigit", isxdigit);
  7891. + return 1;
  7892. +}
  7893. +
  7894. +
  7895. +static int printpat_l (lua_State *L) {
  7896. + Instruction *p = getpatt(L, 1, NULL);
  7897. + int n, i;
  7898. + lua_getfenv(L, 1);
  7899. + n = lua_objlen(L, -1);
  7900. + printf("[");
  7901. + for (i = 1; i <= n; i++) {
  7902. + printf("%d = ", i);
  7903. + lua_rawgeti(L, -1, i);
  7904. + if (lua_isstring(L, -1))
  7905. + printf("%s ", lua_tostring(L, -1));
  7906. + else
  7907. + printf("%s ", lua_typename(L, lua_type(L, -1)));
  7908. + lua_pop(L, 1);
  7909. + }
  7910. + printf("]\n");
  7911. + printpatt(p);
  7912. + return 0;
  7913. +}
  7914. +
  7915. +
  7916. +static int matchl (lua_State *L) {
  7917. + Capture capture[IMAXCAPTURES];
  7918. + const char *r;
  7919. + size_t l;
  7920. + Instruction *p = getpatt(L, 1, NULL);
  7921. + const char *s = luaL_checklstring(L, SUBJIDX, &l);
  7922. + int ptop = lua_gettop(L);
  7923. + lua_Integer ii = luaL_optinteger(L, 3, 1);
  7924. + size_t i = (ii > 0) ?
  7925. + (((size_t)ii <= l) ? (size_t)ii - 1 : l) :
  7926. + (((size_t)-ii <= l) ? l - ((size_t)-ii) : 0);
  7927. + lua_pushnil(L); /* subscache */
  7928. + lua_pushlightuserdata(L, capture); /* caplistidx */
  7929. + lua_getfenv(L, 1); /* penvidx */
  7930. + r = match(L, s, s + i, s + l, p, capture, ptop);
  7931. + if (r == NULL) {
  7932. + lua_pushnil(L);
  7933. + return 1;
  7934. + }
  7935. + return getcaptures(L, s, r, ptop);
  7936. +}
  7937. +
  7938. +
  7939. +static struct luaL_reg pattreg[] = {
  7940. + {"match", matchl},
  7941. + {"print", printpat_l},
  7942. + {"locale", locale_l},
  7943. + {"C", capture_l},
  7944. + {"Cf", fold_l},
  7945. + {"Cc", capconst_l},
  7946. + {"Cg", group_l},
  7947. + {"Cp", position_l},
  7948. + {"Cb", backref_l},
  7949. + {"Carg", argcap_l},
  7950. + {"Cmt", matchtime_l},
  7951. + {"Cs", capsubst_l},
  7952. + {"Ct", tcapture_l},
  7953. + {"P", pattern_l},
  7954. + {"R", range_l},
  7955. + {"S", set_l},
  7956. + {"V", nter_l},
  7957. + {"span", span_l},
  7958. + {"type", type_l},
  7959. + {"version", version_l},
  7960. + {NULL, NULL}
  7961. +};
  7962. +
  7963. +
  7964. +static struct luaL_reg metapattreg[] = {
  7965. + {"__add", union_l},
  7966. + {"__pow", star_l},
  7967. + {"__sub", diff_l},
  7968. + {"__mul", concat_l},
  7969. + {"__div", rcapture_l},
  7970. + {"__unm", unm_l},
  7971. + {"__len", pattand_l},
  7972. + {NULL, NULL}
  7973. +};
  7974. +
  7975. +
  7976. +int luaopen_lpeg (lua_State *L);
  7977. +int luaopen_lpeg (lua_State *L) {
  7978. + lua_newtable(L);
  7979. + lua_replace(L, LUA_ENVIRONINDEX); /* empty env for new patterns */
  7980. + luaL_newmetatable(L, PATTERN_T);
  7981. + luaL_register(L, NULL, metapattreg);
  7982. + luaL_register(L, "lpeg", pattreg);
  7983. + lua_pushliteral(L, "__index");
  7984. + lua_pushvalue(L, -2);
  7985. + lua_settable(L, -4);
  7986. + return 1;
  7987. +}
  7988. +
  7989. --- scite-latest/scite/src/IFaceTable.cxx 2010-01-23 19:01:14.000000000 -0500
  7990. +++ scintillua/scite/src/IFaceTable.cxx 2010-02-01 16:09:37.000000000 -0500
  7991. @@ -127,6 +127,7 @@
  7992. }
  7993. +// modified by Mitchell
  7994. //++Autogenerated -- start of section automatically generated from Scintilla.iface
  7995. static IFaceConstant ifaceConstants[] = {
  7996. @@ -303,1260 +304,6 @@
  7997. {"SCEN_CHANGE",768},
  7998. {"SCEN_KILLFOCUS",256},
  7999. {"SCEN_SETFOCUS",512},
  8000. - {"SCE_4GL_BLOCK",8},
  8001. - {"SCE_4GL_BLOCK_",24},
  8002. - {"SCE_4GL_CHARACTER",4},
  8003. - {"SCE_4GL_CHARACTER_",20},
  8004. - {"SCE_4GL_COMMENT1",10},
  8005. - {"SCE_4GL_COMMENT1_",26},
  8006. - {"SCE_4GL_COMMENT2",11},
  8007. - {"SCE_4GL_COMMENT2_",27},
  8008. - {"SCE_4GL_COMMENT3",12},
  8009. - {"SCE_4GL_COMMENT3_",28},
  8010. - {"SCE_4GL_COMMENT4",13},
  8011. - {"SCE_4GL_COMMENT4_",29},
  8012. - {"SCE_4GL_COMMENT5",14},
  8013. - {"SCE_4GL_COMMENT5_",30},
  8014. - {"SCE_4GL_COMMENT6",15},
  8015. - {"SCE_4GL_COMMENT6_",31},
  8016. - {"SCE_4GL_DEFAULT",0},
  8017. - {"SCE_4GL_DEFAULT_",16},
  8018. - {"SCE_4GL_END",9},
  8019. - {"SCE_4GL_END_",25},
  8020. - {"SCE_4GL_IDENTIFIER",7},
  8021. - {"SCE_4GL_IDENTIFIER_",23},
  8022. - {"SCE_4GL_NUMBER",1},
  8023. - {"SCE_4GL_NUMBER_",17},
  8024. - {"SCE_4GL_OPERATOR",6},
  8025. - {"SCE_4GL_OPERATOR_",22},
  8026. - {"SCE_4GL_PREPROCESSOR",5},
  8027. - {"SCE_4GL_PREPROCESSOR_",21},
  8028. - {"SCE_4GL_STRING",3},
  8029. - {"SCE_4GL_STRING_",19},
  8030. - {"SCE_4GL_WORD",2},
  8031. - {"SCE_4GL_WORD_",18},
  8032. - {"SCE_ABAQUS_ARGUMENT",11},
  8033. - {"SCE_ABAQUS_COMMAND",8},
  8034. - {"SCE_ABAQUS_COMMENT",1},
  8035. - {"SCE_ABAQUS_COMMENTBLOCK",2},
  8036. - {"SCE_ABAQUS_DEFAULT",0},
  8037. - {"SCE_ABAQUS_FUNCTION",12},
  8038. - {"SCE_ABAQUS_NUMBER",3},
  8039. - {"SCE_ABAQUS_OPERATOR",5},
  8040. - {"SCE_ABAQUS_PROCESSOR",7},
  8041. - {"SCE_ABAQUS_SLASHCOMMAND",9},
  8042. - {"SCE_ABAQUS_STARCOMMAND",10},
  8043. - {"SCE_ABAQUS_STRING",4},
  8044. - {"SCE_ABAQUS_WORD",6},
  8045. - {"SCE_ADA_CHARACTER",5},
  8046. - {"SCE_ADA_CHARACTEREOL",6},
  8047. - {"SCE_ADA_COMMENTLINE",10},
  8048. - {"SCE_ADA_DEFAULT",0},
  8049. - {"SCE_ADA_DELIMITER",4},
  8050. - {"SCE_ADA_IDENTIFIER",2},
  8051. - {"SCE_ADA_ILLEGAL",11},
  8052. - {"SCE_ADA_LABEL",9},
  8053. - {"SCE_ADA_NUMBER",3},
  8054. - {"SCE_ADA_STRING",7},
  8055. - {"SCE_ADA_STRINGEOL",8},
  8056. - {"SCE_ADA_WORD",1},
  8057. - {"SCE_APDL_ARGUMENT",11},
  8058. - {"SCE_APDL_COMMAND",8},
  8059. - {"SCE_APDL_COMMENT",1},
  8060. - {"SCE_APDL_COMMENTBLOCK",2},
  8061. - {"SCE_APDL_DEFAULT",0},
  8062. - {"SCE_APDL_FUNCTION",12},
  8063. - {"SCE_APDL_NUMBER",3},
  8064. - {"SCE_APDL_OPERATOR",5},
  8065. - {"SCE_APDL_PROCESSOR",7},
  8066. - {"SCE_APDL_SLASHCOMMAND",9},
  8067. - {"SCE_APDL_STARCOMMAND",10},
  8068. - {"SCE_APDL_STRING",4},
  8069. - {"SCE_APDL_WORD",6},
  8070. - {"SCE_ASM_CHARACTER",12},
  8071. - {"SCE_ASM_COMMENT",1},
  8072. - {"SCE_ASM_COMMENTBLOCK",11},
  8073. - {"SCE_ASM_CPUINSTRUCTION",6},
  8074. - {"SCE_ASM_DEFAULT",0},
  8075. - {"SCE_ASM_DIRECTIVE",9},
  8076. - {"SCE_ASM_DIRECTIVEOPERAND",10},
  8077. - {"SCE_ASM_EXTINSTRUCTION",14},
  8078. - {"SCE_ASM_IDENTIFIER",5},
  8079. - {"SCE_ASM_MATHINSTRUCTION",7},
  8080. - {"SCE_ASM_NUMBER",2},
  8081. - {"SCE_ASM_OPERATOR",4},
  8082. - {"SCE_ASM_REGISTER",8},
  8083. - {"SCE_ASM_STRING",3},
  8084. - {"SCE_ASM_STRINGEOL",13},
  8085. - {"SCE_ASN1_ATTRIBUTE",7},
  8086. - {"SCE_ASN1_COMMENT",1},
  8087. - {"SCE_ASN1_DEFAULT",0},
  8088. - {"SCE_ASN1_DESCRIPTOR",8},
  8089. - {"SCE_ASN1_IDENTIFIER",2},
  8090. - {"SCE_ASN1_KEYWORD",6},
  8091. - {"SCE_ASN1_OID",4},
  8092. - {"SCE_ASN1_OPERATOR",10},
  8093. - {"SCE_ASN1_SCALAR",5},
  8094. - {"SCE_ASN1_STRING",3},
  8095. - {"SCE_ASN1_TYPE",9},
  8096. - {"SCE_ASY_CHARACTER",6},
  8097. - {"SCE_ASY_COMMENT",1},
  8098. - {"SCE_ASY_COMMENTLINE",2},
  8099. - {"SCE_ASY_COMMENTLINEDOC",10},
  8100. - {"SCE_ASY_DEFAULT",0},
  8101. - {"SCE_ASY_IDENTIFIER",8},
  8102. - {"SCE_ASY_NUMBER",3},
  8103. - {"SCE_ASY_OPERATOR",7},
  8104. - {"SCE_ASY_STRING",5},
  8105. - {"SCE_ASY_STRINGEOL",9},
  8106. - {"SCE_ASY_WORD",4},
  8107. - {"SCE_ASY_WORD2",11},
  8108. - {"SCE_AU3_COMMENT",1},
  8109. - {"SCE_AU3_COMMENTBLOCK",2},
  8110. - {"SCE_AU3_COMOBJ",14},
  8111. - {"SCE_AU3_DEFAULT",0},
  8112. - {"SCE_AU3_EXPAND",13},
  8113. - {"SCE_AU3_FUNCTION",4},
  8114. - {"SCE_AU3_KEYWORD",5},
  8115. - {"SCE_AU3_MACRO",6},
  8116. - {"SCE_AU3_NUMBER",3},
  8117. - {"SCE_AU3_OPERATOR",8},
  8118. - {"SCE_AU3_PREPROCESSOR",11},
  8119. - {"SCE_AU3_SENT",10},
  8120. - {"SCE_AU3_SPECIAL",12},
  8121. - {"SCE_AU3_STRING",7},
  8122. - {"SCE_AU3_UDF",15},
  8123. - {"SCE_AU3_VARIABLE",9},
  8124. - {"SCE_AVE_COMMENT",1},
  8125. - {"SCE_AVE_DEFAULT",0},
  8126. - {"SCE_AVE_ENUM",7},
  8127. - {"SCE_AVE_IDENTIFIER",9},
  8128. - {"SCE_AVE_NUMBER",2},
  8129. - {"SCE_AVE_OPERATOR",10},
  8130. - {"SCE_AVE_STRING",6},
  8131. - {"SCE_AVE_STRINGEOL",8},
  8132. - {"SCE_AVE_WORD",3},
  8133. - {"SCE_AVE_WORD1",11},
  8134. - {"SCE_AVE_WORD2",12},
  8135. - {"SCE_AVE_WORD3",13},
  8136. - {"SCE_AVE_WORD4",14},
  8137. - {"SCE_AVE_WORD5",15},
  8138. - {"SCE_AVE_WORD6",16},
  8139. - {"SCE_BAAN_COMMENT",1},
  8140. - {"SCE_BAAN_COMMENTDOC",2},
  8141. - {"SCE_BAAN_DEFAULT",0},
  8142. - {"SCE_BAAN_IDENTIFIER",8},
  8143. - {"SCE_BAAN_NUMBER",3},
  8144. - {"SCE_BAAN_OPERATOR",7},
  8145. - {"SCE_BAAN_PREPROCESSOR",6},
  8146. - {"SCE_BAAN_STRING",5},
  8147. - {"SCE_BAAN_STRINGEOL",9},
  8148. - {"SCE_BAAN_WORD",4},
  8149. - {"SCE_BAAN_WORD2",10},
  8150. - {"SCE_BAT_COMMAND",5},
  8151. - {"SCE_BAT_COMMENT",1},
  8152. - {"SCE_BAT_DEFAULT",0},
  8153. - {"SCE_BAT_HIDE",4},
  8154. - {"SCE_BAT_IDENTIFIER",6},
  8155. - {"SCE_BAT_LABEL",3},
  8156. - {"SCE_BAT_OPERATOR",7},
  8157. - {"SCE_BAT_WORD",2},
  8158. - {"SCE_B_ASM",14},
  8159. - {"SCE_B_BINNUMBER",18},
  8160. - {"SCE_B_COMMENT",1},
  8161. - {"SCE_B_CONSTANT",13},
  8162. - {"SCE_B_DATE",8},
  8163. - {"SCE_B_DEFAULT",0},
  8164. - {"SCE_B_ERROR",16},
  8165. - {"SCE_B_HEXNUMBER",17},
  8166. - {"SCE_B_IDENTIFIER",7},
  8167. - {"SCE_B_KEYWORD",3},
  8168. - {"SCE_B_KEYWORD2",10},
  8169. - {"SCE_B_KEYWORD3",11},
  8170. - {"SCE_B_KEYWORD4",12},
  8171. - {"SCE_B_LABEL",15},
  8172. - {"SCE_B_NUMBER",2},
  8173. - {"SCE_B_OPERATOR",6},
  8174. - {"SCE_B_PREPROCESSOR",5},
  8175. - {"SCE_B_STRING",4},
  8176. - {"SCE_B_STRINGEOL",9},
  8177. - {"SCE_CAML_CHAR",9},
  8178. - {"SCE_CAML_COMMENT",12},
  8179. - {"SCE_CAML_COMMENT1",13},
  8180. - {"SCE_CAML_COMMENT2",14},
  8181. - {"SCE_CAML_COMMENT3",15},
  8182. - {"SCE_CAML_DEFAULT",0},
  8183. - {"SCE_CAML_IDENTIFIER",1},
  8184. - {"SCE_CAML_KEYWORD",3},
  8185. - {"SCE_CAML_KEYWORD2",4},
  8186. - {"SCE_CAML_KEYWORD3",5},
  8187. - {"SCE_CAML_LINENUM",6},
  8188. - {"SCE_CAML_NUMBER",8},
  8189. - {"SCE_CAML_OPERATOR",7},
  8190. - {"SCE_CAML_STRING",11},
  8191. - {"SCE_CAML_TAGNAME",2},
  8192. - {"SCE_CAML_WHITE",10},
  8193. - {"SCE_CLW_ATTRIBUTE",13},
  8194. - {"SCE_CLW_BUILTIN_PROCEDURES_FUNCTION",11},
  8195. - {"SCE_CLW_COMMENT",2},
  8196. - {"SCE_CLW_COMPILER_DIRECTIVE",9},
  8197. - {"SCE_CLW_DEFAULT",0},
  8198. - {"SCE_CLW_DEPRECATED",16},
  8199. - {"SCE_CLW_ERROR",15},
  8200. - {"SCE_CLW_INTEGER_CONSTANT",5},
  8201. - {"SCE_CLW_KEYWORD",8},
  8202. - {"SCE_CLW_LABEL",1},
  8203. - {"SCE_CLW_PICTURE_STRING",7},
  8204. - {"SCE_CLW_REAL_CONSTANT",6},
  8205. - {"SCE_CLW_RUNTIME_EXPRESSIONS",10},
  8206. - {"SCE_CLW_STANDARD_EQUATE",14},
  8207. - {"SCE_CLW_STRING",3},
  8208. - {"SCE_CLW_STRUCTURE_DATA_TYPE",12},
  8209. - {"SCE_CLW_USER_IDENTIFIER",4},
  8210. - {"SCE_CMAKE_COMMANDS",5},
  8211. - {"SCE_CMAKE_COMMENT",1},
  8212. - {"SCE_CMAKE_DEFAULT",0},
  8213. - {"SCE_CMAKE_FOREACHDEF",10},
  8214. - {"SCE_CMAKE_IFDEFINEDEF",11},
  8215. - {"SCE_CMAKE_MACRODEF",12},
  8216. - {"SCE_CMAKE_NUMBER",14},
  8217. - {"SCE_CMAKE_PARAMETERS",6},
  8218. - {"SCE_CMAKE_STRINGDQ",2},
  8219. - {"SCE_CMAKE_STRINGLQ",3},
  8220. - {"SCE_CMAKE_STRINGRQ",4},
  8221. - {"SCE_CMAKE_STRINGVAR",13},
  8222. - {"SCE_CMAKE_USERDEFINED",8},
  8223. - {"SCE_CMAKE_VARIABLE",7},
  8224. - {"SCE_CMAKE_WHILEDEF",9},
  8225. - {"SCE_CONF_COMMENT",1},
  8226. - {"SCE_CONF_DEFAULT",0},
  8227. - {"SCE_CONF_DIRECTIVE",9},
  8228. - {"SCE_CONF_EXTENSION",4},
  8229. - {"SCE_CONF_IDENTIFIER",3},
  8230. - {"SCE_CONF_IP",8},
  8231. - {"SCE_CONF_NUMBER",2},
  8232. - {"SCE_CONF_OPERATOR",7},
  8233. - {"SCE_CONF_PARAMETER",5},
  8234. - {"SCE_CONF_STRING",6},
  8235. - {"SCE_CSOUND_ARATE_VAR",11},
  8236. - {"SCE_CSOUND_COMMENT",1},
  8237. - {"SCE_CSOUND_COMMENTBLOCK",9},
  8238. - {"SCE_CSOUND_DEFAULT",0},
  8239. - {"SCE_CSOUND_GLOBAL_VAR",14},
  8240. - {"SCE_CSOUND_HEADERSTMT",7},
  8241. - {"SCE_CSOUND_IDENTIFIER",5},
  8242. - {"SCE_CSOUND_INSTR",4},
  8243. - {"SCE_CSOUND_IRATE_VAR",13},
  8244. - {"SCE_CSOUND_KRATE_VAR",12},
  8245. - {"SCE_CSOUND_NUMBER",2},
  8246. - {"SCE_CSOUND_OPCODE",6},
  8247. - {"SCE_CSOUND_OPERATOR",3},
  8248. - {"SCE_CSOUND_PARAM",10},
  8249. - {"SCE_CSOUND_STRINGEOL",15},
  8250. - {"SCE_CSOUND_USERKEYWORD",8},
  8251. - {"SCE_CSS_ATTRIBUTE",16},
  8252. - {"SCE_CSS_CLASS",2},
  8253. - {"SCE_CSS_COMMENT",9},
  8254. - {"SCE_CSS_DEFAULT",0},
  8255. - {"SCE_CSS_DIRECTIVE",12},
  8256. - {"SCE_CSS_DOUBLESTRING",13},
  8257. - {"SCE_CSS_EXTENDED_IDENTIFIER",19},
  8258. - {"SCE_CSS_EXTENDED_PSEUDOCLASS",20},
  8259. - {"SCE_CSS_EXTENDED_PSEUDOELEMENT",21},
  8260. - {"SCE_CSS_ID",10},
  8261. - {"SCE_CSS_IDENTIFIER",6},
  8262. - {"SCE_CSS_IDENTIFIER2",15},
  8263. - {"SCE_CSS_IDENTIFIER3",17},
  8264. - {"SCE_CSS_IMPORTANT",11},
  8265. - {"SCE_CSS_OPERATOR",5},
  8266. - {"SCE_CSS_PSEUDOCLASS",3},
  8267. - {"SCE_CSS_PSEUDOELEMENT",18},
  8268. - {"SCE_CSS_SINGLESTRING",14},
  8269. - {"SCE_CSS_TAG",1},
  8270. - {"SCE_CSS_UNKNOWN_IDENTIFIER",7},
  8271. - {"SCE_CSS_UNKNOWN_PSEUDOCLASS",4},
  8272. - {"SCE_CSS_VALUE",8},
  8273. - {"SCE_C_CHARACTER",7},
  8274. - {"SCE_C_COMMENT",1},
  8275. - {"SCE_C_COMMENTDOC",3},
  8276. - {"SCE_C_COMMENTDOCKEYWORD",17},
  8277. - {"SCE_C_COMMENTDOCKEYWORDERROR",18},
  8278. - {"SCE_C_COMMENTLINE",2},
  8279. - {"SCE_C_COMMENTLINEDOC",15},
  8280. - {"SCE_C_DEFAULT",0},
  8281. - {"SCE_C_GLOBALCLASS",19},
  8282. - {"SCE_C_IDENTIFIER",11},
  8283. - {"SCE_C_NUMBER",4},
  8284. - {"SCE_C_OPERATOR",10},
  8285. - {"SCE_C_PREPROCESSOR",9},
  8286. - {"SCE_C_REGEX",14},
  8287. - {"SCE_C_STRING",6},
  8288. - {"SCE_C_STRINGEOL",12},
  8289. - {"SCE_C_UUID",8},
  8290. - {"SCE_C_VERBATIM",13},
  8291. - {"SCE_C_WORD",5},
  8292. - {"SCE_C_WORD2",16},
  8293. - {"SCE_DIFF_ADDED",6},
  8294. - {"SCE_DIFF_CHANGED",7},
  8295. - {"SCE_DIFF_COMMAND",2},
  8296. - {"SCE_DIFF_COMMENT",1},
  8297. - {"SCE_DIFF_DEFAULT",0},
  8298. - {"SCE_DIFF_DELETED",5},
  8299. - {"SCE_DIFF_HEADER",3},
  8300. - {"SCE_DIFF_POSITION",4},
  8301. - {"SCE_D_CHARACTER",12},
  8302. - {"SCE_D_COMMENT",1},
  8303. - {"SCE_D_COMMENTDOC",3},
  8304. - {"SCE_D_COMMENTDOCKEYWORD",16},
  8305. - {"SCE_D_COMMENTDOCKEYWORDERROR",17},
  8306. - {"SCE_D_COMMENTLINE",2},
  8307. - {"SCE_D_COMMENTLINEDOC",15},
  8308. - {"SCE_D_COMMENTNESTED",4},
  8309. - {"SCE_D_DEFAULT",0},
  8310. - {"SCE_D_IDENTIFIER",14},
  8311. - {"SCE_D_NUMBER",5},
  8312. - {"SCE_D_OPERATOR",13},
  8313. - {"SCE_D_STRING",10},
  8314. - {"SCE_D_STRINGB",18},
  8315. - {"SCE_D_STRINGEOL",11},
  8316. - {"SCE_D_STRINGR",19},
  8317. - {"SCE_D_TYPEDEF",9},
  8318. - {"SCE_D_WORD",6},
  8319. - {"SCE_D_WORD2",7},
  8320. - {"SCE_D_WORD3",8},
  8321. - {"SCE_D_WORD5",20},
  8322. - {"SCE_D_WORD6",21},
  8323. - {"SCE_D_WORD7",22},
  8324. - {"SCE_EIFFEL_CHARACTER",5},
  8325. - {"SCE_EIFFEL_COMMENTLINE",1},
  8326. - {"SCE_EIFFEL_DEFAULT",0},
  8327. - {"SCE_EIFFEL_IDENTIFIER",7},
  8328. - {"SCE_EIFFEL_NUMBER",2},
  8329. - {"SCE_EIFFEL_OPERATOR",6},
  8330. - {"SCE_EIFFEL_STRING",4},
  8331. - {"SCE_EIFFEL_STRINGEOL",8},
  8332. - {"SCE_EIFFEL_WORD",3},
  8333. - {"SCE_ERLANG_ATOM",7},
  8334. - {"SCE_ERLANG_CHARACTER",9},
  8335. - {"SCE_ERLANG_COMMENT",1},
  8336. - {"SCE_ERLANG_DEFAULT",0},
  8337. - {"SCE_ERLANG_FUNCTION_NAME",8},
  8338. - {"SCE_ERLANG_KEYWORD",4},
  8339. - {"SCE_ERLANG_MACRO",10},
  8340. - {"SCE_ERLANG_NODE_NAME",13},
  8341. - {"SCE_ERLANG_NUMBER",3},
  8342. - {"SCE_ERLANG_OPERATOR",6},
  8343. - {"SCE_ERLANG_RECORD",11},
  8344. - {"SCE_ERLANG_SEPARATOR",12},
  8345. - {"SCE_ERLANG_STRING",5},
  8346. - {"SCE_ERLANG_UNKNOWN",31},
  8347. - {"SCE_ERLANG_VARIABLE",2},
  8348. - {"SCE_ERR_ABSF",18},
  8349. - {"SCE_ERR_BORLAND",5},
  8350. - {"SCE_ERR_CMD",4},
  8351. - {"SCE_ERR_CTAG",9},
  8352. - {"SCE_ERR_DEFAULT",0},
  8353. - {"SCE_ERR_DIFF_ADDITION",11},
  8354. - {"SCE_ERR_DIFF_CHANGED",10},
  8355. - {"SCE_ERR_DIFF_DELETION",12},
  8356. - {"SCE_ERR_DIFF_MESSAGE",13},
  8357. - {"SCE_ERR_ELF",15},
  8358. - {"SCE_ERR_GCC",2},
  8359. - {"SCE_ERR_IFC",16},
  8360. - {"SCE_ERR_IFORT",17},
  8361. - {"SCE_ERR_JAVA_STACK",20},
  8362. - {"SCE_ERR_LUA",8},
  8363. - {"SCE_ERR_MS",3},
  8364. - {"SCE_ERR_NET",7},
  8365. - {"SCE_ERR_PERL",6},
  8366. - {"SCE_ERR_PHP",14},
  8367. - {"SCE_ERR_PYTHON",1},
  8368. - {"SCE_ERR_TIDY",19},
  8369. - {"SCE_ERR_VALUE",21},
  8370. - {"SCE_ESCRIPT_BRACE",9},
  8371. - {"SCE_ESCRIPT_COMMENT",1},
  8372. - {"SCE_ESCRIPT_COMMENTDOC",3},
  8373. - {"SCE_ESCRIPT_COMMENTLINE",2},
  8374. - {"SCE_ESCRIPT_DEFAULT",0},
  8375. - {"SCE_ESCRIPT_IDENTIFIER",8},
  8376. - {"SCE_ESCRIPT_NUMBER",4},
  8377. - {"SCE_ESCRIPT_OPERATOR",7},
  8378. - {"SCE_ESCRIPT_STRING",6},
  8379. - {"SCE_ESCRIPT_WORD",5},
  8380. - {"SCE_ESCRIPT_WORD2",10},
  8381. - {"SCE_ESCRIPT_WORD3",11},
  8382. - {"SCE_FORTH_COMMENT",1},
  8383. - {"SCE_FORTH_COMMENT_ML",2},
  8384. - {"SCE_FORTH_CONTROL",4},
  8385. - {"SCE_FORTH_DEFAULT",0},
  8386. - {"SCE_FORTH_DEFWORD",6},
  8387. - {"SCE_FORTH_IDENTIFIER",3},
  8388. - {"SCE_FORTH_KEYWORD",5},
  8389. - {"SCE_FORTH_LOCALE",11},
  8390. - {"SCE_FORTH_NUMBER",9},
  8391. - {"SCE_FORTH_PREWORD1",7},
  8392. - {"SCE_FORTH_PREWORD2",8},
  8393. - {"SCE_FORTH_STRING",10},
  8394. - {"SCE_FS_ASM",19},
  8395. - {"SCE_FS_BINNUMBER",23},
  8396. - {"SCE_FS_COMMENT",1},
  8397. - {"SCE_FS_COMMENTDOC",3},
  8398. - {"SCE_FS_COMMENTDOCKEYWORD",5},
  8399. - {"SCE_FS_COMMENTDOCKEYWORDERROR",6},
  8400. - {"SCE_FS_COMMENTLINE",2},
  8401. - {"SCE_FS_COMMENTLINEDOC",4},
  8402. - {"SCE_FS_CONSTANT",18},
  8403. - {"SCE_FS_DATE",16},
  8404. - {"SCE_FS_DEFAULT",0},
  8405. - {"SCE_FS_ERROR",21},
  8406. - {"SCE_FS_HEXNUMBER",22},
  8407. - {"SCE_FS_IDENTIFIER",15},
  8408. - {"SCE_FS_KEYWORD",7},
  8409. - {"SCE_FS_KEYWORD2",8},
  8410. - {"SCE_FS_KEYWORD3",9},
  8411. - {"SCE_FS_KEYWORD4",10},
  8412. - {"SCE_FS_LABEL",20},
  8413. - {"SCE_FS_NUMBER",11},
  8414. - {"SCE_FS_OPERATOR",14},
  8415. - {"SCE_FS_PREPROCESSOR",13},
  8416. - {"SCE_FS_STRING",12},
  8417. - {"SCE_FS_STRINGEOL",17},
  8418. - {"SCE_F_COMMENT",1},
  8419. - {"SCE_F_CONTINUATION",14},
  8420. - {"SCE_F_DEFAULT",0},
  8421. - {"SCE_F_IDENTIFIER",7},
  8422. - {"SCE_F_LABEL",13},
  8423. - {"SCE_F_NUMBER",2},
  8424. - {"SCE_F_OPERATOR",6},
  8425. - {"SCE_F_OPERATOR2",12},
  8426. - {"SCE_F_PREPROCESSOR",11},
  8427. - {"SCE_F_STRING1",3},
  8428. - {"SCE_F_STRING2",4},
  8429. - {"SCE_F_STRINGEOL",5},
  8430. - {"SCE_F_WORD",8},
  8431. - {"SCE_F_WORD2",9},
  8432. - {"SCE_F_WORD3",10},
  8433. - {"SCE_GAP_CHAR",7},
  8434. - {"SCE_GAP_COMMENT",9},
  8435. - {"SCE_GAP_DEFAULT",0},
  8436. - {"SCE_GAP_IDENTIFIER",1},
  8437. - {"SCE_GAP_KEYWORD",2},
  8438. - {"SCE_GAP_KEYWORD2",3},
  8439. - {"SCE_GAP_KEYWORD3",4},
  8440. - {"SCE_GAP_KEYWORD4",5},
  8441. - {"SCE_GAP_NUMBER",10},
  8442. - {"SCE_GAP_OPERATOR",8},
  8443. - {"SCE_GAP_STRING",6},
  8444. - {"SCE_GAP_STRINGEOL",11},
  8445. - {"SCE_GC_ATTRIBUTE",5},
  8446. - {"SCE_GC_COMMAND",7},
  8447. - {"SCE_GC_COMMENTBLOCK",2},
  8448. - {"SCE_GC_COMMENTLINE",1},
  8449. - {"SCE_GC_CONTROL",6},
  8450. - {"SCE_GC_DEFAULT",0},
  8451. - {"SCE_GC_EVENT",4},
  8452. - {"SCE_GC_GLOBAL",3},
  8453. - {"SCE_GC_OPERATOR",9},
  8454. - {"SCE_GC_STRING",8},
  8455. - {"SCE_HA_CAPITAL",8},
  8456. - {"SCE_HA_CHARACTER",5},
  8457. - {"SCE_HA_CLASS",6},
  8458. - {"SCE_HA_COMMENTBLOCK",14},
  8459. - {"SCE_HA_COMMENTBLOCK2",15},
  8460. - {"SCE_HA_COMMENTBLOCK3",16},
  8461. - {"SCE_HA_COMMENTLINE",13},
  8462. - {"SCE_HA_DATA",9},
  8463. - {"SCE_HA_DEFAULT",0},
  8464. - {"SCE_HA_IDENTIFIER",1},
  8465. - {"SCE_HA_IMPORT",10},
  8466. - {"SCE_HA_INSTANCE",12},
  8467. - {"SCE_HA_KEYWORD",2},
  8468. - {"SCE_HA_MODULE",7},
  8469. - {"SCE_HA_NUMBER",3},
  8470. - {"SCE_HA_OPERATOR",11},
  8471. - {"SCE_HA_STRING",4},
  8472. - {"SCE_HBA_COMMENTLINE",82},
  8473. - {"SCE_HBA_DEFAULT",81},
  8474. - {"SCE_HBA_IDENTIFIER",86},
  8475. - {"SCE_HBA_NUMBER",83},
  8476. - {"SCE_HBA_START",80},
  8477. - {"SCE_HBA_STRING",85},
  8478. - {"SCE_HBA_STRINGEOL",87},
  8479. - {"SCE_HBA_WORD",84},
  8480. - {"SCE_HB_COMMENTLINE",72},
  8481. - {"SCE_HB_DEFAULT",71},
  8482. - {"SCE_HB_IDENTIFIER",76},
  8483. - {"SCE_HB_NUMBER",73},
  8484. - {"SCE_HB_START",70},
  8485. - {"SCE_HB_STRING",75},
  8486. - {"SCE_HB_STRINGEOL",77},
  8487. - {"SCE_HB_WORD",74},
  8488. - {"SCE_HJA_COMMENT",57},
  8489. - {"SCE_HJA_COMMENTDOC",59},
  8490. - {"SCE_HJA_COMMENTLINE",58},
  8491. - {"SCE_HJA_DEFAULT",56},
  8492. - {"SCE_HJA_DOUBLESTRING",63},
  8493. - {"SCE_HJA_KEYWORD",62},
  8494. - {"SCE_HJA_NUMBER",60},
  8495. - {"SCE_HJA_REGEX",67},
  8496. - {"SCE_HJA_SINGLESTRING",64},
  8497. - {"SCE_HJA_START",55},
  8498. - {"SCE_HJA_STRINGEOL",66},
  8499. - {"SCE_HJA_SYMBOLS",65},
  8500. - {"SCE_HJA_WORD",61},
  8501. - {"SCE_HJ_COMMENT",42},
  8502. - {"SCE_HJ_COMMENTDOC",44},
  8503. - {"SCE_HJ_COMMENTLINE",43},
  8504. - {"SCE_HJ_DEFAULT",41},
  8505. - {"SCE_HJ_DOUBLESTRING",48},
  8506. - {"SCE_HJ_KEYWORD",47},
  8507. - {"SCE_HJ_NUMBER",45},
  8508. - {"SCE_HJ_REGEX",52},
  8509. - {"SCE_HJ_SINGLESTRING",49},
  8510. - {"SCE_HJ_START",40},
  8511. - {"SCE_HJ_STRINGEOL",51},
  8512. - {"SCE_HJ_SYMBOLS",50},
  8513. - {"SCE_HJ_WORD",46},
  8514. - {"SCE_HPA_CHARACTER",110},
  8515. - {"SCE_HPA_CLASSNAME",114},
  8516. - {"SCE_HPA_COMMENTLINE",107},
  8517. - {"SCE_HPA_DEFAULT",106},
  8518. - {"SCE_HPA_DEFNAME",115},
  8519. - {"SCE_HPA_IDENTIFIER",117},
  8520. - {"SCE_HPA_NUMBER",108},
  8521. - {"SCE_HPA_OPERATOR",116},
  8522. - {"SCE_HPA_START",105},
  8523. - {"SCE_HPA_STRING",109},
  8524. - {"SCE_HPA_TRIPLE",112},
  8525. - {"SCE_HPA_TRIPLEDOUBLE",113},
  8526. - {"SCE_HPA_WORD",111},
  8527. - {"SCE_HPHP_COMMENT",124},
  8528. - {"SCE_HPHP_COMMENTLINE",125},
  8529. - {"SCE_HPHP_COMPLEX_VARIABLE",104},
  8530. - {"SCE_HPHP_DEFAULT",118},
  8531. - {"SCE_HPHP_HSTRING",119},
  8532. - {"SCE_HPHP_HSTRING_VARIABLE",126},
  8533. - {"SCE_HPHP_NUMBER",122},
  8534. - {"SCE_HPHP_OPERATOR",127},
  8535. - {"SCE_HPHP_SIMPLESTRING",120},
  8536. - {"SCE_HPHP_VARIABLE",123},
  8537. - {"SCE_HPHP_WORD",121},
  8538. - {"SCE_HP_CHARACTER",95},
  8539. - {"SCE_HP_CLASSNAME",99},
  8540. - {"SCE_HP_COMMENTLINE",92},
  8541. - {"SCE_HP_DEFAULT",91},
  8542. - {"SCE_HP_DEFNAME",100},
  8543. - {"SCE_HP_IDENTIFIER",102},
  8544. - {"SCE_HP_NUMBER",93},
  8545. - {"SCE_HP_OPERATOR",101},
  8546. - {"SCE_HP_START",90},
  8547. - {"SCE_HP_STRING",94},
  8548. - {"SCE_HP_TRIPLE",97},
  8549. - {"SCE_HP_TRIPLEDOUBLE",98},
  8550. - {"SCE_HP_WORD",96},
  8551. - {"SCE_H_ASP",15},
  8552. - {"SCE_H_ASPAT",16},
  8553. - {"SCE_H_ATTRIBUTE",3},
  8554. - {"SCE_H_ATTRIBUTEUNKNOWN",4},
  8555. - {"SCE_H_CDATA",17},
  8556. - {"SCE_H_COMMENT",9},
  8557. - {"SCE_H_DEFAULT",0},
  8558. - {"SCE_H_DOUBLESTRING",6},
  8559. - {"SCE_H_ENTITY",10},
  8560. - {"SCE_H_NUMBER",5},
  8561. - {"SCE_H_OTHER",8},
  8562. - {"SCE_H_QUESTION",18},
  8563. - {"SCE_H_SCRIPT",14},
  8564. - {"SCE_H_SGML_1ST_PARAM",23},
  8565. - {"SCE_H_SGML_1ST_PARAM_COMMENT",30},
  8566. - {"SCE_H_SGML_BLOCK_DEFAULT",31},
  8567. - {"SCE_H_SGML_COMMAND",22},
  8568. - {"SCE_H_SGML_COMMENT",29},
  8569. - {"SCE_H_SGML_DEFAULT",21},
  8570. - {"SCE_H_SGML_DOUBLESTRING",24},
  8571. - {"SCE_H_SGML_ENTITY",28},
  8572. - {"SCE_H_SGML_ERROR",26},
  8573. - {"SCE_H_SGML_SIMPLESTRING",25},
  8574. - {"SCE_H_SGML_SPECIAL",27},
  8575. - {"SCE_H_SINGLESTRING",7},
  8576. - {"SCE_H_TAG",1},
  8577. - {"SCE_H_TAGEND",11},
  8578. - {"SCE_H_TAGUNKNOWN",2},
  8579. - {"SCE_H_VALUE",19},
  8580. - {"SCE_H_XCCOMMENT",20},
  8581. - {"SCE_H_XMLEND",13},
  8582. - {"SCE_H_XMLSTART",12},
  8583. - {"SCE_INNO_COMMENT",1},
  8584. - {"SCE_INNO_COMMENT_PASCAL",7},
  8585. - {"SCE_INNO_DEFAULT",0},
  8586. - {"SCE_INNO_IDENTIFIER",12},
  8587. - {"SCE_INNO_INLINE_EXPANSION",6},
  8588. - {"SCE_INNO_KEYWORD",2},
  8589. - {"SCE_INNO_KEYWORD_PASCAL",8},
  8590. - {"SCE_INNO_KEYWORD_USER",9},
  8591. - {"SCE_INNO_PARAMETER",3},
  8592. - {"SCE_INNO_PREPROC",5},
  8593. - {"SCE_INNO_PREPROC_INLINE",6},
  8594. - {"SCE_INNO_SECTION",4},
  8595. - {"SCE_INNO_STRING_DOUBLE",10},
  8596. - {"SCE_INNO_STRING_SINGLE",11},
  8597. - {"SCE_KIX_COMMENT",1},
  8598. - {"SCE_KIX_DEFAULT",0},
  8599. - {"SCE_KIX_FUNCTIONS",8},
  8600. - {"SCE_KIX_IDENTIFIER",31},
  8601. - {"SCE_KIX_KEYWORD",7},
  8602. - {"SCE_KIX_MACRO",6},
  8603. - {"SCE_KIX_NUMBER",4},
  8604. - {"SCE_KIX_OPERATOR",9},
  8605. - {"SCE_KIX_STRING1",2},
  8606. - {"SCE_KIX_STRING2",3},
  8607. - {"SCE_KIX_VAR",5},
  8608. - {"SCE_LISP_COMMENT",1},
  8609. - {"SCE_LISP_DEFAULT",0},
  8610. - {"SCE_LISP_IDENTIFIER",9},
  8611. - {"SCE_LISP_KEYWORD",3},
  8612. - {"SCE_LISP_KEYWORD_KW",4},
  8613. - {"SCE_LISP_MULTI_COMMENT",12},
  8614. - {"SCE_LISP_NUMBER",2},
  8615. - {"SCE_LISP_OPERATOR",10},
  8616. - {"SCE_LISP_SPECIAL",11},
  8617. - {"SCE_LISP_STRING",6},
  8618. - {"SCE_LISP_STRINGEOL",8},
  8619. - {"SCE_LISP_SYMBOL",5},
  8620. - {"SCE_LOT_ABORT",6},
  8621. - {"SCE_LOT_BREAK",2},
  8622. - {"SCE_LOT_DEFAULT",0},
  8623. - {"SCE_LOT_FAIL",5},
  8624. - {"SCE_LOT_HEADER",1},
  8625. - {"SCE_LOT_PASS",4},
  8626. - {"SCE_LOT_SET",3},
  8627. - {"SCE_LOUT_COMMENT",1},
  8628. - {"SCE_LOUT_DEFAULT",0},
  8629. - {"SCE_LOUT_IDENTIFIER",9},
  8630. - {"SCE_LOUT_NUMBER",2},
  8631. - {"SCE_LOUT_OPERATOR",8},
  8632. - {"SCE_LOUT_STRING",7},
  8633. - {"SCE_LOUT_STRINGEOL",10},
  8634. - {"SCE_LOUT_WORD",3},
  8635. - {"SCE_LOUT_WORD2",4},
  8636. - {"SCE_LOUT_WORD3",5},
  8637. - {"SCE_LOUT_WORD4",6},
  8638. - {"SCE_LUA_CHARACTER",7},
  8639. - {"SCE_LUA_COMMENT",1},
  8640. - {"SCE_LUA_COMMENTDOC",3},
  8641. - {"SCE_LUA_COMMENTLINE",2},
  8642. - {"SCE_LUA_DEFAULT",0},
  8643. - {"SCE_LUA_IDENTIFIER",11},
  8644. - {"SCE_LUA_LITERALSTRING",8},
  8645. - {"SCE_LUA_NUMBER",4},
  8646. - {"SCE_LUA_OPERATOR",10},
  8647. - {"SCE_LUA_PREPROCESSOR",9},
  8648. - {"SCE_LUA_STRING",6},
  8649. - {"SCE_LUA_STRINGEOL",12},
  8650. - {"SCE_LUA_WORD",5},
  8651. - {"SCE_LUA_WORD2",13},
  8652. - {"SCE_LUA_WORD3",14},
  8653. - {"SCE_LUA_WORD4",15},
  8654. - {"SCE_LUA_WORD5",16},
  8655. - {"SCE_LUA_WORD6",17},
  8656. - {"SCE_LUA_WORD7",18},
  8657. - {"SCE_LUA_WORD8",19},
  8658. - {"SCE_L_COMMAND",1},
  8659. - {"SCE_L_COMMENT",4},
  8660. - {"SCE_L_DEFAULT",0},
  8661. - {"SCE_L_MATH",3},
  8662. - {"SCE_L_TAG",2},
  8663. - {"SCE_MAGIK_BRACE_BLOCK",10},
  8664. - {"SCE_MAGIK_BRACKET_BLOCK",9},
  8665. - {"SCE_MAGIK_CHARACTER",3},
  8666. - {"SCE_MAGIK_COMMENT",1},
  8667. - {"SCE_MAGIK_CONTAINER",8},
  8668. - {"SCE_MAGIK_DEFAULT",0},
  8669. - {"SCE_MAGIK_FLOW",7},
  8670. - {"SCE_MAGIK_HYPER_COMMENT",16},
  8671. - {"SCE_MAGIK_IDENTIFIER",5},
  8672. - {"SCE_MAGIK_KEYWORD",13},
  8673. - {"SCE_MAGIK_NUMBER",4},
  8674. - {"SCE_MAGIK_OPERATOR",6},
  8675. - {"SCE_MAGIK_PRAGMA",14},
  8676. - {"SCE_MAGIK_SQBRACKET_BLOCK",11},
  8677. - {"SCE_MAGIK_STRING",2},
  8678. - {"SCE_MAGIK_SYMBOL",15},
  8679. - {"SCE_MAGIK_UNKNOWN_KEYWORD",12},
  8680. - {"SCE_MAKE_COMMENT",1},
  8681. - {"SCE_MAKE_DEFAULT",0},
  8682. - {"SCE_MAKE_IDENTIFIER",3},
  8683. - {"SCE_MAKE_IDEOL",9},
  8684. - {"SCE_MAKE_OPERATOR",4},
  8685. - {"SCE_MAKE_PREPROCESSOR",2},
  8686. - {"SCE_MAKE_TARGET",5},
  8687. - {"SCE_MARKDOWN_BLOCKQUOTE",15},
  8688. - {"SCE_MARKDOWN_CODE",19},
  8689. - {"SCE_MARKDOWN_CODE2",20},
  8690. - {"SCE_MARKDOWN_CODEBK",21},
  8691. - {"SCE_MARKDOWN_DEFAULT",0},
  8692. - {"SCE_MARKDOWN_EM1",4},
  8693. - {"SCE_MARKDOWN_EM2",5},
  8694. - {"SCE_MARKDOWN_HEADER1",6},
  8695. - {"SCE_MARKDOWN_HEADER2",7},
  8696. - {"SCE_MARKDOWN_HEADER3",8},
  8697. - {"SCE_MARKDOWN_HEADER4",9},
  8698. - {"SCE_MARKDOWN_HEADER5",10},
  8699. - {"SCE_MARKDOWN_HEADER6",11},
  8700. - {"SCE_MARKDOWN_HRULE",17},
  8701. - {"SCE_MARKDOWN_LINE_BEGIN",1},
  8702. - {"SCE_MARKDOWN_LINK",18},
  8703. - {"SCE_MARKDOWN_OLIST_ITEM",14},
  8704. - {"SCE_MARKDOWN_PRECHAR",12},
  8705. - {"SCE_MARKDOWN_STRIKEOUT",16},
  8706. - {"SCE_MARKDOWN_STRONG1",2},
  8707. - {"SCE_MARKDOWN_STRONG2",3},
  8708. - {"SCE_MARKDOWN_ULIST_ITEM",13},
  8709. - {"SCE_MATLAB_COMMAND",2},
  8710. - {"SCE_MATLAB_COMMENT",1},
  8711. - {"SCE_MATLAB_DEFAULT",0},
  8712. - {"SCE_MATLAB_DOUBLEQUOTESTRING",8},
  8713. - {"SCE_MATLAB_IDENTIFIER",7},
  8714. - {"SCE_MATLAB_KEYWORD",4},
  8715. - {"SCE_MATLAB_NUMBER",3},
  8716. - {"SCE_MATLAB_OPERATOR",6},
  8717. - {"SCE_MATLAB_STRING",5},
  8718. - {"SCE_METAPOST_COMMAND",4},
  8719. - {"SCE_METAPOST_DEFAULT",0},
  8720. - {"SCE_METAPOST_EXTRA",6},
  8721. - {"SCE_METAPOST_GROUP",2},
  8722. - {"SCE_METAPOST_SPECIAL",1},
  8723. - {"SCE_METAPOST_SYMBOL",3},
  8724. - {"SCE_METAPOST_TEXT",5},
  8725. - {"SCE_MMIXAL_CHAR",11},
  8726. - {"SCE_MMIXAL_COMMENT",1},
  8727. - {"SCE_MMIXAL_HEX",14},
  8728. - {"SCE_MMIXAL_INCLUDE",17},
  8729. - {"SCE_MMIXAL_LABEL",2},
  8730. - {"SCE_MMIXAL_LEADWS",0},
  8731. - {"SCE_MMIXAL_NUMBER",9},
  8732. - {"SCE_MMIXAL_OPCODE",3},
  8733. - {"SCE_MMIXAL_OPCODE_POST",7},
  8734. - {"SCE_MMIXAL_OPCODE_PRE",4},
  8735. - {"SCE_MMIXAL_OPCODE_UNKNOWN",6},
  8736. - {"SCE_MMIXAL_OPCODE_VALID",5},
  8737. - {"SCE_MMIXAL_OPERANDS",8},
  8738. - {"SCE_MMIXAL_OPERATOR",15},
  8739. - {"SCE_MMIXAL_REF",10},
  8740. - {"SCE_MMIXAL_REGISTER",13},
  8741. - {"SCE_MMIXAL_STRING",12},
  8742. - {"SCE_MMIXAL_SYMBOL",16},
  8743. - {"SCE_MSSQL_COLUMN_NAME",8},
  8744. - {"SCE_MSSQL_COLUMN_NAME_2",16},
  8745. - {"SCE_MSSQL_COMMENT",1},
  8746. - {"SCE_MSSQL_DATATYPE",10},
  8747. - {"SCE_MSSQL_DEFAULT",0},
  8748. - {"SCE_MSSQL_DEFAULT_PREF_DATATYPE",15},
  8749. - {"SCE_MSSQL_FUNCTION",13},
  8750. - {"SCE_MSSQL_GLOBAL_VARIABLE",12},
  8751. - {"SCE_MSSQL_IDENTIFIER",6},
  8752. - {"SCE_MSSQL_LINE_COMMENT",2},
  8753. - {"SCE_MSSQL_NUMBER",3},
  8754. - {"SCE_MSSQL_OPERATOR",5},
  8755. - {"SCE_MSSQL_STATEMENT",9},
  8756. - {"SCE_MSSQL_STORED_PROCEDURE",14},
  8757. - {"SCE_MSSQL_STRING",4},
  8758. - {"SCE_MSSQL_SYSTABLE",11},
  8759. - {"SCE_MSSQL_VARIABLE",7},
  8760. - {"SCE_MYSQL_COMMENT",1},
  8761. - {"SCE_MYSQL_COMMENTLINE",2},
  8762. - {"SCE_MYSQL_DATABASEOBJECT",9},
  8763. - {"SCE_MYSQL_DEFAULT",0},
  8764. - {"SCE_MYSQL_DQSTRING",13},
  8765. - {"SCE_MYSQL_FUNCTION",15},
  8766. - {"SCE_MYSQL_HIDDENCOMMAND",21},
  8767. - {"SCE_MYSQL_IDENTIFIER",16},
  8768. - {"SCE_MYSQL_KEYWORD",8},
  8769. - {"SCE_MYSQL_KNOWNSYSTEMVARIABLE",5},
  8770. - {"SCE_MYSQL_MAJORKEYWORD",7},
  8771. - {"SCE_MYSQL_NUMBER",6},
  8772. - {"SCE_MYSQL_OPERATOR",14},
  8773. - {"SCE_MYSQL_PROCEDUREKEYWORD",10},
  8774. - {"SCE_MYSQL_QUOTEDIDENTIFIER",17},
  8775. - {"SCE_MYSQL_SQSTRING",12},
  8776. - {"SCE_MYSQL_STRING",11},
  8777. - {"SCE_MYSQL_SYSTEMVARIABLE",4},
  8778. - {"SCE_MYSQL_USER1",18},
  8779. - {"SCE_MYSQL_USER2",19},
  8780. - {"SCE_MYSQL_USER3",20},
  8781. - {"SCE_MYSQL_VARIABLE",3},
  8782. - {"SCE_NNCRONTAB_ASTERISK",6},
  8783. - {"SCE_NNCRONTAB_COMMENT",1},
  8784. - {"SCE_NNCRONTAB_DEFAULT",0},
  8785. - {"SCE_NNCRONTAB_ENVIRONMENT",9},
  8786. - {"SCE_NNCRONTAB_IDENTIFIER",10},
  8787. - {"SCE_NNCRONTAB_KEYWORD",4},
  8788. - {"SCE_NNCRONTAB_MODIFIER",5},
  8789. - {"SCE_NNCRONTAB_NUMBER",7},
  8790. - {"SCE_NNCRONTAB_SECTION",3},
  8791. - {"SCE_NNCRONTAB_STRING",8},
  8792. - {"SCE_NNCRONTAB_TASK",2},
  8793. - {"SCE_NSIS_COMMENT",1},
  8794. - {"SCE_NSIS_COMMENTBOX",18},
  8795. - {"SCE_NSIS_DEFAULT",0},
  8796. - {"SCE_NSIS_FUNCTION",5},
  8797. - {"SCE_NSIS_FUNCTIONDEF",17},
  8798. - {"SCE_NSIS_IFDEFINEDEF",11},
  8799. - {"SCE_NSIS_LABEL",7},
  8800. - {"SCE_NSIS_MACRODEF",12},
  8801. - {"SCE_NSIS_NUMBER",14},
  8802. - {"SCE_NSIS_PAGEEX",16},
  8803. - {"SCE_NSIS_SECTIONDEF",9},
  8804. - {"SCE_NSIS_SECTIONGROUP",15},
  8805. - {"SCE_NSIS_STRINGDQ",2},
  8806. - {"SCE_NSIS_STRINGLQ",3},
  8807. - {"SCE_NSIS_STRINGRQ",4},
  8808. - {"SCE_NSIS_STRINGVAR",13},
  8809. - {"SCE_NSIS_SUBSECTIONDEF",10},
  8810. - {"SCE_NSIS_USERDEFINED",8},
  8811. - {"SCE_NSIS_VARIABLE",6},
  8812. - {"SCE_OPAL_BOOL_CONST",8},
  8813. - {"SCE_OPAL_COMMENT_BLOCK",1},
  8814. - {"SCE_OPAL_COMMENT_LINE",2},
  8815. - {"SCE_OPAL_DEFAULT",32},
  8816. - {"SCE_OPAL_INTEGER",3},
  8817. - {"SCE_OPAL_KEYWORD",4},
  8818. - {"SCE_OPAL_PAR",7},
  8819. - {"SCE_OPAL_SORT",5},
  8820. - {"SCE_OPAL_SPACE",0},
  8821. - {"SCE_OPAL_STRING",6},
  8822. - {"SCE_PAS_ASM",14},
  8823. - {"SCE_PAS_CHARACTER",12},
  8824. - {"SCE_PAS_COMMENT",2},
  8825. - {"SCE_PAS_COMMENT2",3},
  8826. - {"SCE_PAS_COMMENTLINE",4},
  8827. - {"SCE_PAS_DEFAULT",0},
  8828. - {"SCE_PAS_HEXNUMBER",8},
  8829. - {"SCE_PAS_IDENTIFIER",1},
  8830. - {"SCE_PAS_NUMBER",7},
  8831. - {"SCE_PAS_OPERATOR",13},
  8832. - {"SCE_PAS_PREPROCESSOR",5},
  8833. - {"SCE_PAS_PREPROCESSOR2",6},
  8834. - {"SCE_PAS_STRING",10},
  8835. - {"SCE_PAS_STRINGEOL",11},
  8836. - {"SCE_PAS_WORD",9},
  8837. - {"SCE_PLM_COMMENT",1},
  8838. - {"SCE_PLM_CONTROL",6},
  8839. - {"SCE_PLM_DEFAULT",0},
  8840. - {"SCE_PLM_IDENTIFIER",4},
  8841. - {"SCE_PLM_KEYWORD",7},
  8842. - {"SCE_PLM_NUMBER",3},
  8843. - {"SCE_PLM_OPERATOR",5},
  8844. - {"SCE_PLM_STRING",2},
  8845. - {"SCE_PL_ARRAY",13},
  8846. - {"SCE_PL_BACKTICKS",20},
  8847. - {"SCE_PL_CHARACTER",7},
  8848. - {"SCE_PL_COMMENTLINE",2},
  8849. - {"SCE_PL_DATASECTION",21},
  8850. - {"SCE_PL_DEFAULT",0},
  8851. - {"SCE_PL_ERROR",1},
  8852. - {"SCE_PL_FORMAT",42},
  8853. - {"SCE_PL_FORMAT_IDENT",41},
  8854. - {"SCE_PL_HASH",14},
  8855. - {"SCE_PL_HERE_DELIM",22},
  8856. - {"SCE_PL_HERE_Q",23},
  8857. - {"SCE_PL_HERE_QQ",24},
  8858. - {"SCE_PL_HERE_QX",25},
  8859. - {"SCE_PL_IDENTIFIER",11},
  8860. - {"SCE_PL_LONGQUOTE",19},
  8861. - {"SCE_PL_NUMBER",4},
  8862. - {"SCE_PL_OPERATOR",10},
  8863. - {"SCE_PL_POD",3},
  8864. - {"SCE_PL_POD_VERB",31},
  8865. - {"SCE_PL_PREPROCESSOR",9},
  8866. - {"SCE_PL_PUNCTUATION",8},
  8867. - {"SCE_PL_REGEX",17},
  8868. - {"SCE_PL_REGSUBST",18},
  8869. - {"SCE_PL_SCALAR",12},
  8870. - {"SCE_PL_STRING",6},
  8871. - {"SCE_PL_STRING_Q",26},
  8872. - {"SCE_PL_STRING_QQ",27},
  8873. - {"SCE_PL_STRING_QR",29},
  8874. - {"SCE_PL_STRING_QW",30},
  8875. - {"SCE_PL_STRING_QX",28},
  8876. - {"SCE_PL_SUB_PROTOTYPE",40},
  8877. - {"SCE_PL_SYMBOLTABLE",15},
  8878. - {"SCE_PL_VARIABLE_INDEXER",16},
  8879. - {"SCE_PL_WORD",5},
  8880. - {"SCE_POV_BADDIRECTIVE",9},
  8881. - {"SCE_POV_COMMENT",1},
  8882. - {"SCE_POV_COMMENTLINE",2},
  8883. - {"SCE_POV_DEFAULT",0},
  8884. - {"SCE_POV_DIRECTIVE",8},
  8885. - {"SCE_POV_IDENTIFIER",5},
  8886. - {"SCE_POV_NUMBER",3},
  8887. - {"SCE_POV_OPERATOR",4},
  8888. - {"SCE_POV_STRING",6},
  8889. - {"SCE_POV_STRINGEOL",7},
  8890. - {"SCE_POV_WORD2",10},
  8891. - {"SCE_POV_WORD3",11},
  8892. - {"SCE_POV_WORD4",12},
  8893. - {"SCE_POV_WORD5",13},
  8894. - {"SCE_POV_WORD6",14},
  8895. - {"SCE_POV_WORD7",15},
  8896. - {"SCE_POV_WORD8",16},
  8897. - {"SCE_POWERPRO_ALTQUOTE",15},
  8898. - {"SCE_POWERPRO_COMMENTBLOCK",1},
  8899. - {"SCE_POWERPRO_COMMENTLINE",2},
  8900. - {"SCE_POWERPRO_DEFAULT",0},
  8901. - {"SCE_POWERPRO_DOUBLEQUOTEDSTRING",8},
  8902. - {"SCE_POWERPRO_FUNCTION",16},
  8903. - {"SCE_POWERPRO_IDENTIFIER",12},
  8904. - {"SCE_POWERPRO_LINECONTINUE",10},
  8905. - {"SCE_POWERPRO_NUMBER",3},
  8906. - {"SCE_POWERPRO_OPERATOR",11},
  8907. - {"SCE_POWERPRO_SINGLEQUOTEDSTRING",9},
  8908. - {"SCE_POWERPRO_STRINGEOL",13},
  8909. - {"SCE_POWERPRO_VERBATIM",14},
  8910. - {"SCE_POWERPRO_WORD",4},
  8911. - {"SCE_POWERPRO_WORD2",5},
  8912. - {"SCE_POWERPRO_WORD3",6},
  8913. - {"SCE_POWERPRO_WORD4",7},
  8914. - {"SCE_POWERSHELL_ALIAS",10},
  8915. - {"SCE_POWERSHELL_CHARACTER",3},
  8916. - {"SCE_POWERSHELL_CMDLET",9},
  8917. - {"SCE_POWERSHELL_COMMENT",1},
  8918. - {"SCE_POWERSHELL_DEFAULT",0},
  8919. - {"SCE_POWERSHELL_IDENTIFIER",7},
  8920. - {"SCE_POWERSHELL_KEYWORD",8},
  8921. - {"SCE_POWERSHELL_NUMBER",4},
  8922. - {"SCE_POWERSHELL_OPERATOR",6},
  8923. - {"SCE_POWERSHELL_STRING",2},
  8924. - {"SCE_POWERSHELL_VARIABLE",5},
  8925. - {"SCE_PO_COMMENT",1},
  8926. - {"SCE_PO_DEFAULT",0},
  8927. - {"SCE_PO_FUZZY",8},
  8928. - {"SCE_PO_MSGCTXT",6},
  8929. - {"SCE_PO_MSGCTXT_TEXT",7},
  8930. - {"SCE_PO_MSGID",2},
  8931. - {"SCE_PO_MSGID_TEXT",3},
  8932. - {"SCE_PO_MSGSTR",4},
  8933. - {"SCE_PO_MSGSTR_TEXT",5},
  8934. - {"SCE_PROPS_ASSIGNMENT",3},
  8935. - {"SCE_PROPS_COMMENT",1},
  8936. - {"SCE_PROPS_DEFAULT",0},
  8937. - {"SCE_PROPS_DEFVAL",4},
  8938. - {"SCE_PROPS_KEY",5},
  8939. - {"SCE_PROPS_SECTION",2},
  8940. - {"SCE_PS_BADSTRINGCHAR",15},
  8941. - {"SCE_PS_BASE85STRING",14},
  8942. - {"SCE_PS_COMMENT",1},
  8943. - {"SCE_PS_DEFAULT",0},
  8944. - {"SCE_PS_DSC_COMMENT",2},
  8945. - {"SCE_PS_DSC_VALUE",3},
  8946. - {"SCE_PS_HEXSTRING",13},
  8947. - {"SCE_PS_IMMEVAL",8},
  8948. - {"SCE_PS_KEYWORD",6},
  8949. - {"SCE_PS_LITERAL",7},
  8950. - {"SCE_PS_NAME",5},
  8951. - {"SCE_PS_NUMBER",4},
  8952. - {"SCE_PS_PAREN_ARRAY",9},
  8953. - {"SCE_PS_PAREN_DICT",10},
  8954. - {"SCE_PS_PAREN_PROC",11},
  8955. - {"SCE_PS_TEXT",12},
  8956. - {"SCE_P_CHARACTER",4},
  8957. - {"SCE_P_CLASSNAME",8},
  8958. - {"SCE_P_COMMENTBLOCK",12},
  8959. - {"SCE_P_COMMENTLINE",1},
  8960. - {"SCE_P_DECORATOR",15},
  8961. - {"SCE_P_DEFAULT",0},
  8962. - {"SCE_P_DEFNAME",9},
  8963. - {"SCE_P_IDENTIFIER",11},
  8964. - {"SCE_P_NUMBER",2},
  8965. - {"SCE_P_OPERATOR",10},
  8966. - {"SCE_P_STRING",3},
  8967. - {"SCE_P_STRINGEOL",13},
  8968. - {"SCE_P_TRIPLE",6},
  8969. - {"SCE_P_TRIPLEDOUBLE",7},
  8970. - {"SCE_P_WORD",5},
  8971. - {"SCE_P_WORD2",14},
  8972. - {"SCE_RB_BACKTICKS",18},
  8973. - {"SCE_RB_CHARACTER",7},
  8974. - {"SCE_RB_CLASSNAME",8},
  8975. - {"SCE_RB_CLASS_VAR",17},
  8976. - {"SCE_RB_COMMENTLINE",2},
  8977. - {"SCE_RB_DATASECTION",19},
  8978. - {"SCE_RB_DEFAULT",0},
  8979. - {"SCE_RB_DEFNAME",9},
  8980. - {"SCE_RB_ERROR",1},
  8981. - {"SCE_RB_GLOBAL",13},
  8982. - {"SCE_RB_HERE_DELIM",20},
  8983. - {"SCE_RB_HERE_Q",21},
  8984. - {"SCE_RB_HERE_QQ",22},
  8985. - {"SCE_RB_HERE_QX",23},
  8986. - {"SCE_RB_IDENTIFIER",11},
  8987. - {"SCE_RB_INSTANCE_VAR",16},
  8988. - {"SCE_RB_MODULE_NAME",15},
  8989. - {"SCE_RB_NUMBER",4},
  8990. - {"SCE_RB_OPERATOR",10},
  8991. - {"SCE_RB_POD",3},
  8992. - {"SCE_RB_REGEX",12},
  8993. - {"SCE_RB_STDERR",40},
  8994. - {"SCE_RB_STDIN",30},
  8995. - {"SCE_RB_STDOUT",31},
  8996. - {"SCE_RB_STRING",6},
  8997. - {"SCE_RB_STRING_Q",24},
  8998. - {"SCE_RB_STRING_QQ",25},
  8999. - {"SCE_RB_STRING_QR",27},
  9000. - {"SCE_RB_STRING_QW",28},
  9001. - {"SCE_RB_STRING_QX",26},
  9002. - {"SCE_RB_SYMBOL",14},
  9003. - {"SCE_RB_UPPER_BOUND",41},
  9004. - {"SCE_RB_WORD",5},
  9005. - {"SCE_RB_WORD_DEMOTED",29},
  9006. - {"SCE_REBOL_BINARY",11},
  9007. - {"SCE_REBOL_BRACEDSTRING",7},
  9008. - {"SCE_REBOL_CHARACTER",5},
  9009. - {"SCE_REBOL_COMMENTBLOCK",2},
  9010. - {"SCE_REBOL_COMMENTLINE",1},
  9011. - {"SCE_REBOL_DATE",18},
  9012. - {"SCE_REBOL_DEFAULT",0},
  9013. - {"SCE_REBOL_EMAIL",16},
  9014. - {"SCE_REBOL_FILE",15},
  9015. - {"SCE_REBOL_IDENTIFIER",20},
  9016. - {"SCE_REBOL_ISSUE",13},
  9017. - {"SCE_REBOL_MONEY",12},
  9018. - {"SCE_REBOL_NUMBER",8},
  9019. - {"SCE_REBOL_OPERATOR",4},
  9020. - {"SCE_REBOL_PAIR",9},
  9021. - {"SCE_REBOL_PREFACE",3},
  9022. - {"SCE_REBOL_QUOTEDSTRING",6},
  9023. - {"SCE_REBOL_TAG",14},
  9024. - {"SCE_REBOL_TIME",19},
  9025. - {"SCE_REBOL_TUPLE",10},
  9026. - {"SCE_REBOL_URL",17},
  9027. - {"SCE_REBOL_WORD",21},
  9028. - {"SCE_REBOL_WORD2",22},
  9029. - {"SCE_REBOL_WORD3",23},
  9030. - {"SCE_REBOL_WORD4",24},
  9031. - {"SCE_REBOL_WORD5",25},
  9032. - {"SCE_REBOL_WORD6",26},
  9033. - {"SCE_REBOL_WORD7",27},
  9034. - {"SCE_REBOL_WORD8",28},
  9035. - {"SCE_R_BASEKWORD",3},
  9036. - {"SCE_R_COMMENT",1},
  9037. - {"SCE_R_DEFAULT",0},
  9038. - {"SCE_R_IDENTIFIER",9},
  9039. - {"SCE_R_INFIX",10},
  9040. - {"SCE_R_INFIXEOL",11},
  9041. - {"SCE_R_KWORD",2},
  9042. - {"SCE_R_NUMBER",5},
  9043. - {"SCE_R_OPERATOR",8},
  9044. - {"SCE_R_OTHERKWORD",4},
  9045. - {"SCE_R_STRING",6},
  9046. - {"SCE_R_STRING2",7},
  9047. - {"SCE_SCRIPTOL_CHARACTER",8},
  9048. - {"SCE_SCRIPTOL_CLASSNAME",14},
  9049. - {"SCE_SCRIPTOL_COMMENTBLOCK",5},
  9050. - {"SCE_SCRIPTOL_COMMENTLINE",2},
  9051. - {"SCE_SCRIPTOL_CSTYLE",4},
  9052. - {"SCE_SCRIPTOL_DEFAULT",0},
  9053. - {"SCE_SCRIPTOL_IDENTIFIER",12},
  9054. - {"SCE_SCRIPTOL_KEYWORD",10},
  9055. - {"SCE_SCRIPTOL_NUMBER",6},
  9056. - {"SCE_SCRIPTOL_OPERATOR",11},
  9057. - {"SCE_SCRIPTOL_PERSISTENT",3},
  9058. - {"SCE_SCRIPTOL_PREPROCESSOR",15},
  9059. - {"SCE_SCRIPTOL_STRING",7},
  9060. - {"SCE_SCRIPTOL_STRINGEOL",9},
  9061. - {"SCE_SCRIPTOL_TRIPLE",13},
  9062. - {"SCE_SCRIPTOL_WHITE",1},
  9063. - {"SCE_SH_BACKTICKS",11},
  9064. - {"SCE_SH_CHARACTER",6},
  9065. - {"SCE_SH_COMMENTLINE",2},
  9066. - {"SCE_SH_DEFAULT",0},
  9067. - {"SCE_SH_ERROR",1},
  9068. - {"SCE_SH_HERE_DELIM",12},
  9069. - {"SCE_SH_HERE_Q",13},
  9070. - {"SCE_SH_IDENTIFIER",8},
  9071. - {"SCE_SH_NUMBER",3},
  9072. - {"SCE_SH_OPERATOR",7},
  9073. - {"SCE_SH_PARAM",10},
  9074. - {"SCE_SH_SCALAR",9},
  9075. - {"SCE_SH_STRING",5},
  9076. - {"SCE_SH_WORD",4},
  9077. - {"SCE_SML_CHAR",9},
  9078. - {"SCE_SML_COMMENT",12},
  9079. - {"SCE_SML_COMMENT1",13},
  9080. - {"SCE_SML_COMMENT2",14},
  9081. - {"SCE_SML_COMMENT3",15},
  9082. - {"SCE_SML_DEFAULT",0},
  9083. - {"SCE_SML_IDENTIFIER",1},
  9084. - {"SCE_SML_KEYWORD",3},
  9085. - {"SCE_SML_KEYWORD2",4},
  9086. - {"SCE_SML_KEYWORD3",5},
  9087. - {"SCE_SML_LINENUM",6},
  9088. - {"SCE_SML_NUMBER",8},
  9089. - {"SCE_SML_OPERATOR",7},
  9090. - {"SCE_SML_STRING",11},
  9091. - {"SCE_SML_TAGNAME",2},
  9092. - {"SCE_SN_CODE",1},
  9093. - {"SCE_SN_COMMENTLINE",2},
  9094. - {"SCE_SN_COMMENTLINEBANG",3},
  9095. - {"SCE_SN_DEFAULT",0},
  9096. - {"SCE_SN_IDENTIFIER",11},
  9097. - {"SCE_SN_NUMBER",4},
  9098. - {"SCE_SN_OPERATOR",10},
  9099. - {"SCE_SN_PREPROCESSOR",9},
  9100. - {"SCE_SN_REGEXTAG",13},
  9101. - {"SCE_SN_SIGNAL",14},
  9102. - {"SCE_SN_STRING",6},
  9103. - {"SCE_SN_STRINGEOL",12},
  9104. - {"SCE_SN_USER",19},
  9105. - {"SCE_SN_WORD",5},
  9106. - {"SCE_SN_WORD2",7},
  9107. - {"SCE_SN_WORD3",8},
  9108. - {"SCE_SORCUS_COMMAND",1},
  9109. - {"SCE_SORCUS_COMMENTLINE",3},
  9110. - {"SCE_SORCUS_CONSTANT",9},
  9111. - {"SCE_SORCUS_DEFAULT",0},
  9112. - {"SCE_SORCUS_IDENTIFIER",6},
  9113. - {"SCE_SORCUS_NUMBER",8},
  9114. - {"SCE_SORCUS_OPERATOR",7},
  9115. - {"SCE_SORCUS_PARAMETER",2},
  9116. - {"SCE_SORCUS_STRING",4},
  9117. - {"SCE_SORCUS_STRINGEOL",5},
  9118. - {"SCE_SPICE_COMMENTLINE",8},
  9119. - {"SCE_SPICE_DEFAULT",0},
  9120. - {"SCE_SPICE_DELIMITER",6},
  9121. - {"SCE_SPICE_IDENTIFIER",1},
  9122. - {"SCE_SPICE_KEYWORD",2},
  9123. - {"SCE_SPICE_KEYWORD2",3},
  9124. - {"SCE_SPICE_KEYWORD3",4},
  9125. - {"SCE_SPICE_NUMBER",5},
  9126. - {"SCE_SPICE_VALUE",7},
  9127. - {"SCE_SQL_CHARACTER",7},
  9128. - {"SCE_SQL_COMMENT",1},
  9129. - {"SCE_SQL_COMMENTDOC",3},
  9130. - {"SCE_SQL_COMMENTDOCKEYWORD",17},
  9131. - {"SCE_SQL_COMMENTDOCKEYWORDERROR",18},
  9132. - {"SCE_SQL_COMMENTLINE",2},
  9133. - {"SCE_SQL_COMMENTLINEDOC",15},
  9134. - {"SCE_SQL_DEFAULT",0},
  9135. - {"SCE_SQL_IDENTIFIER",11},
  9136. - {"SCE_SQL_NUMBER",4},
  9137. - {"SCE_SQL_OPERATOR",10},
  9138. - {"SCE_SQL_QUOTEDIDENTIFIER",23},
  9139. - {"SCE_SQL_SQLPLUS",8},
  9140. - {"SCE_SQL_SQLPLUS_COMMENT",13},
  9141. - {"SCE_SQL_SQLPLUS_PROMPT",9},
  9142. - {"SCE_SQL_STRING",6},
  9143. - {"SCE_SQL_USER1",19},
  9144. - {"SCE_SQL_USER2",20},
  9145. - {"SCE_SQL_USER3",21},
  9146. - {"SCE_SQL_USER4",22},
  9147. - {"SCE_SQL_WORD",5},
  9148. - {"SCE_SQL_WORD2",16},
  9149. - {"SCE_ST_ASSIGN",14},
  9150. - {"SCE_ST_BINARY",5},
  9151. - {"SCE_ST_BOOL",6},
  9152. - {"SCE_ST_CHARACTER",15},
  9153. - {"SCE_ST_COMMENT",3},
  9154. - {"SCE_ST_DEFAULT",0},
  9155. - {"SCE_ST_GLOBAL",10},
  9156. - {"SCE_ST_KWSEND",13},
  9157. - {"SCE_ST_NIL",9},
  9158. - {"SCE_ST_NUMBER",2},
  9159. - {"SCE_ST_RETURN",11},
  9160. - {"SCE_ST_SELF",7},
  9161. - {"SCE_ST_SPECIAL",12},
  9162. - {"SCE_ST_SPEC_SEL",16},
  9163. - {"SCE_ST_STRING",1},
  9164. - {"SCE_ST_SUPER",8},
  9165. - {"SCE_ST_SYMBOL",4},
  9166. - {"SCE_T3_BLOCK_COMMENT",3},
  9167. - {"SCE_T3_BRACE",20},
  9168. - {"SCE_T3_DEFAULT",0},
  9169. - {"SCE_T3_D_STRING",10},
  9170. - {"SCE_T3_HTML_DEFAULT",15},
  9171. - {"SCE_T3_HTML_STRING",16},
  9172. - {"SCE_T3_HTML_TAG",14},
  9173. - {"SCE_T3_IDENTIFIER",8},
  9174. - {"SCE_T3_KEYWORD",6},
  9175. - {"SCE_T3_LIB_DIRECTIVE",12},
  9176. - {"SCE_T3_LINE_COMMENT",4},
  9177. - {"SCE_T3_MSG_PARAM",13},
  9178. - {"SCE_T3_NUMBER",7},
  9179. - {"SCE_T3_OPERATOR",5},
  9180. - {"SCE_T3_PREPROCESSOR",2},
  9181. - {"SCE_T3_S_STRING",9},
  9182. - {"SCE_T3_USER1",17},
  9183. - {"SCE_T3_USER2",18},
  9184. - {"SCE_T3_USER3",19},
  9185. - {"SCE_T3_X_DEFAULT",1},
  9186. - {"SCE_T3_X_STRING",11},
  9187. - {"SCE_TCL_BLOCK_COMMENT",21},
  9188. - {"SCE_TCL_COMMENT",1},
  9189. - {"SCE_TCL_COMMENTLINE",2},
  9190. - {"SCE_TCL_COMMENT_BOX",20},
  9191. - {"SCE_TCL_DEFAULT",0},
  9192. - {"SCE_TCL_EXPAND",11},
  9193. - {"SCE_TCL_IDENTIFIER",7},
  9194. - {"SCE_TCL_IN_QUOTE",5},
  9195. - {"SCE_TCL_MODIFIER",10},
  9196. - {"SCE_TCL_NUMBER",3},
  9197. - {"SCE_TCL_OPERATOR",6},
  9198. - {"SCE_TCL_SUBSTITUTION",8},
  9199. - {"SCE_TCL_SUB_BRACE",9},
  9200. - {"SCE_TCL_WORD",12},
  9201. - {"SCE_TCL_WORD2",13},
  9202. - {"SCE_TCL_WORD3",14},
  9203. - {"SCE_TCL_WORD4",15},
  9204. - {"SCE_TCL_WORD5",16},
  9205. - {"SCE_TCL_WORD6",17},
  9206. - {"SCE_TCL_WORD7",18},
  9207. - {"SCE_TCL_WORD8",19},
  9208. - {"SCE_TCL_WORD_IN_QUOTE",4},
  9209. - {"SCE_TEX_COMMAND",4},
  9210. - {"SCE_TEX_DEFAULT",0},
  9211. - {"SCE_TEX_GROUP",2},
  9212. - {"SCE_TEX_SPECIAL",1},
  9213. - {"SCE_TEX_SYMBOL",3},
  9214. - {"SCE_TEX_TEXT",5},
  9215. - {"SCE_VHDL_ATTRIBUTE",10},
  9216. - {"SCE_VHDL_COMMENT",1},
  9217. - {"SCE_VHDL_COMMENTLINEBANG",2},
  9218. - {"SCE_VHDL_DEFAULT",0},
  9219. - {"SCE_VHDL_IDENTIFIER",6},
  9220. - {"SCE_VHDL_KEYWORD",8},
  9221. - {"SCE_VHDL_NUMBER",3},
  9222. - {"SCE_VHDL_OPERATOR",5},
  9223. - {"SCE_VHDL_STDFUNCTION",11},
  9224. - {"SCE_VHDL_STDOPERATOR",9},
  9225. - {"SCE_VHDL_STDPACKAGE",12},
  9226. - {"SCE_VHDL_STDTYPE",13},
  9227. - {"SCE_VHDL_STRING",4},
  9228. - {"SCE_VHDL_STRINGEOL",7},
  9229. - {"SCE_VHDL_USERWORD",14},
  9230. - {"SCE_V_COMMENT",1},
  9231. - {"SCE_V_COMMENTLINE",2},
  9232. - {"SCE_V_COMMENTLINEBANG",3},
  9233. - {"SCE_V_DEFAULT",0},
  9234. - {"SCE_V_IDENTIFIER",11},
  9235. - {"SCE_V_NUMBER",4},
  9236. - {"SCE_V_OPERATOR",10},
  9237. - {"SCE_V_PREPROCESSOR",9},
  9238. - {"SCE_V_STRING",6},
  9239. - {"SCE_V_STRINGEOL",12},
  9240. - {"SCE_V_USER",19},
  9241. - {"SCE_V_WORD",5},
  9242. - {"SCE_V_WORD2",7},
  9243. - {"SCE_V_WORD3",8},
  9244. - {"SCE_YAML_COMMENT",1},
  9245. - {"SCE_YAML_DEFAULT",0},
  9246. - {"SCE_YAML_DOCUMENT",6},
  9247. - {"SCE_YAML_ERROR",8},
  9248. - {"SCE_YAML_IDENTIFIER",2},
  9249. - {"SCE_YAML_KEYWORD",3},
  9250. - {"SCE_YAML_NUMBER",4},
  9251. - {"SCE_YAML_OPERATOR",9},
  9252. - {"SCE_YAML_REFERENCE",5},
  9253. - {"SCE_YAML_TEXT",7},
  9254. {"SCFIND_MATCHCASE",4},
  9255. {"SCFIND_POSIX",0x00400000},
  9256. {"SCFIND_REGEXP",0x00200000},
  9257. @@ -1888,104 +635,10 @@
  9258. {"SCK_TAB",9},
  9259. {"SCK_UP",301},
  9260. {"SCK_WIN",313},
  9261. - {"SCLEX_ABAQUS",84},
  9262. - {"SCLEX_ADA",20},
  9263. - {"SCLEX_APDL",61},
  9264. - {"SCLEX_ASM",34},
  9265. - {"SCLEX_ASN1",63},
  9266. - {"SCLEX_ASYMPTOTE",85},
  9267. - {"SCLEX_AU3",60},
  9268. {"SCLEX_AUTOMATIC",1000},
  9269. - {"SCLEX_AVE",19},
  9270. - {"SCLEX_BAAN",31},
  9271. - {"SCLEX_BASH",62},
  9272. - {"SCLEX_BATCH",12},
  9273. - {"SCLEX_BLITZBASIC",66},
  9274. - {"SCLEX_BULLANT",27},
  9275. - {"SCLEX_CAML",65},
  9276. - {"SCLEX_CLW",45},
  9277. - {"SCLEX_CLWNOCASE",46},
  9278. - {"SCLEX_CMAKE",80},
  9279. - {"SCLEX_COBOL",92},
  9280. - {"SCLEX_CONF",17},
  9281. {"SCLEX_CONTAINER",0},
  9282. - {"SCLEX_CPP",3},
  9283. - {"SCLEX_CPPNOCASE",35},
  9284. - {"SCLEX_CSOUND",74},
  9285. - {"SCLEX_CSS",38},
  9286. - {"SCLEX_D",79},
  9287. - {"SCLEX_DIFF",16},
  9288. - {"SCLEX_EIFFEL",23},
  9289. - {"SCLEX_EIFFELKW",24},
  9290. - {"SCLEX_ERLANG",53},
  9291. - {"SCLEX_ERRORLIST",10},
  9292. - {"SCLEX_ESCRIPT",41},
  9293. - {"SCLEX_F77",37},
  9294. - {"SCLEX_FLAGSHIP",73},
  9295. - {"SCLEX_FORTH",52},
  9296. - {"SCLEX_FORTRAN",36},
  9297. - {"SCLEX_FREEBASIC",75},
  9298. - {"SCLEX_GAP",81},
  9299. - {"SCLEX_GUI4CLI",58},
  9300. - {"SCLEX_HASKELL",68},
  9301. - {"SCLEX_HTML",4},
  9302. - {"SCLEX_INNOSETUP",76},
  9303. - {"SCLEX_KIX",57},
  9304. - {"SCLEX_LATEX",14},
  9305. - {"SCLEX_LISP",21},
  9306. - {"SCLEX_LOT",47},
  9307. - {"SCLEX_LOUT",40},
  9308. - {"SCLEX_LUA",15},
  9309. - {"SCLEX_MAGIK",87},
  9310. - {"SCLEX_MAKEFILE",11},
  9311. - {"SCLEX_MARKDOWN",98},
  9312. - {"SCLEX_MATLAB",32},
  9313. - {"SCLEX_METAPOST",50},
  9314. - {"SCLEX_MMIXAL",44},
  9315. - {"SCLEX_MSSQL",55},
  9316. - {"SCLEX_MYSQL",89},
  9317. - {"SCLEX_NIMROD",96},
  9318. - {"SCLEX_NNCRONTAB",26},
  9319. - {"SCLEX_NSIS",43},
  9320. + {"SCLEX_LPEG",2},
  9321. {"SCLEX_NULL",1},
  9322. - {"SCLEX_OCTAVE",54},
  9323. - {"SCLEX_OPAL",77},
  9324. - {"SCLEX_PASCAL",18},
  9325. - {"SCLEX_PERL",6},
  9326. - {"SCLEX_PHPSCRIPT",69},
  9327. - {"SCLEX_PLM",82},
  9328. - {"SCLEX_PO",90},
  9329. - {"SCLEX_POV",39},
  9330. - {"SCLEX_POWERBASIC",51},
  9331. - {"SCLEX_POWERPRO",95},
  9332. - {"SCLEX_POWERSHELL",88},
  9333. - {"SCLEX_PROGRESS",83},
  9334. - {"SCLEX_PROPERTIES",9},
  9335. - {"SCLEX_PS",42},
  9336. - {"SCLEX_PUREBASIC",67},
  9337. - {"SCLEX_PYTHON",2},
  9338. - {"SCLEX_R",86},
  9339. - {"SCLEX_REBOL",71},
  9340. - {"SCLEX_RUBY",22},
  9341. - {"SCLEX_SCRIPTOL",33},
  9342. - {"SCLEX_SMALLTALK",72},
  9343. - {"SCLEX_SML",97},
  9344. - {"SCLEX_SORCUS",94},
  9345. - {"SCLEX_SPECMAN",59},
  9346. - {"SCLEX_SPICE",78},
  9347. - {"SCLEX_SQL",7},
  9348. - {"SCLEX_TACL",93},
  9349. - {"SCLEX_TADS3",70},
  9350. - {"SCLEX_TAL",91},
  9351. - {"SCLEX_TCL",25},
  9352. - {"SCLEX_TEX",49},
  9353. - {"SCLEX_VB",8},
  9354. - {"SCLEX_VBSCRIPT",28},
  9355. - {"SCLEX_VERILOG",56},
  9356. - {"SCLEX_VHDL",64},
  9357. - {"SCLEX_XCODE",13},
  9358. - {"SCLEX_XML",5},
  9359. - {"SCLEX_YAML",48},
  9360. {"SCMOD_ALT",4},
  9361. {"SCMOD_CTRL",2},
  9362. {"SCMOD_NORM",0},
  9363. @@ -2251,6 +904,7 @@
  9364. {"GetProperty", 4008, iface_int, {iface_string, iface_stringresult}},
  9365. {"GetPropertyExpanded", 4009, iface_int, {iface_string, iface_stringresult}},
  9366. {"GetSelText", 2161, iface_int, {iface_void, iface_stringresult}},
  9367. + {"GetStyleName", 4013, iface_int, {iface_int, iface_stringresult}},
  9368. {"GetStyledText", 2015, iface_int, {iface_void, iface_textrange}},
  9369. {"GetText", 2182, iface_int, {iface_length, iface_stringresult}},
  9370. {"GetTextRange", 2162, iface_int, {iface_void, iface_textrange}},
  9371. @@ -2597,12 +1251,13 @@
  9372. };
  9373. enum {
  9374. - ifaceFunctionCount = 264,
  9375. - ifaceConstantCount = 2025,
  9376. - ifacePropertyCount = 169
  9377. + ifaceFunctionCount = 268,
  9378. + ifaceConstantCount = 662,
  9379. + ifacePropertyCount = 164
  9380. };
  9381. //--Autogenerated
  9382. +// end modified by Mitchell
  9383. const IFaceFunction * const IFaceTable::functions = ifaceFunctions;
  9384. const int IFaceTable::functionCount = ifaceFunctionCount;
  9385. --- scite-latest/scite/src/SciTEBase.cxx 2010-01-19 21:35:40.000000000 -0500
  9386. +++ scintillua/scite/src/SciTEBase.cxx 2010-02-01 16:09:37.000000000 -0500
  9387. @@ -353,8 +353,8 @@
  9388. SciTEBase::SciTEBase(Extension *ext) : apis(true), extender(ext) {
  9389. codePage = 0;
  9390. characterSet = 0;
  9391. - language = "java";
  9392. - lexLanguage = SCLEX_CPP;
  9393. + language = "container"; // modified by Mitchell
  9394. + lexLanguage = SCLEX_LPEG; // modified by Mitchell
  9395. functionDefinition = 0;
  9396. indentOpening = true;
  9397. indentClosing = true;
  9398. @@ -951,11 +951,13 @@
  9399. braceAtCaret = caretPos - 1;
  9400. }
  9401. bool colonMode = false;
  9402. +#if 0 // added by Mitchell
  9403. if ((lexLanguage == SCLEX_PYTHON) &&
  9404. (':' == charBefore) && (SCE_P_OPERATOR == styleBefore)) {
  9405. braceAtCaret = caretPos - 1;
  9406. colonMode = true;
  9407. }
  9408. +#endif // added by Mitchell
  9409. bool isAfter = true;
  9410. if (lengthDoc > 0 && sloppy && (braceAtCaret < 0) && (caretPos < lengthDoc)) {
  9411. // No brace found so check other side
  9412. @@ -967,11 +969,13 @@
  9413. braceAtCaret = caretPos;
  9414. isAfter = false;
  9415. }
  9416. +#if 0 // added by Mitchell
  9417. if ((lexLanguage == SCLEX_PYTHON) &&
  9418. (':' == charAfter) && (SCE_P_OPERATOR == styleAfter)) {
  9419. braceAtCaret = caretPos;
  9420. colonMode = true;
  9421. }
  9422. +#endif // added by Mitchell
  9423. }
  9424. }
  9425. if (braceAtCaret >= 0) {
  9426. @@ -3225,10 +3229,16 @@
  9427. return false;
  9428. }
  9429. +#if 0 // added by Mitchell
  9430. // This may make sense only in certain languages
  9431. if (lexLanguage != SCLEX_HTML && lexLanguage != SCLEX_XML) {
  9432. return false;
  9433. }
  9434. +// added by Mitchell
  9435. +#else
  9436. + return false; // don't bother with completion
  9437. +#endif
  9438. +// end added by Mitchell
  9439. // If the user has turned us off, quit now.
  9440. // Default is off
  9441. --- scite-latest/scite/src/SciTEBuffers.cxx 2009-10-22 01:15:05.000000000 -0400
  9442. +++ scintillua/scite/src/SciTEBuffers.cxx 2010-02-01 16:09:37.000000000 -0500
  9443. @@ -76,6 +76,14 @@
  9444. #include "JobQueue.h"
  9445. #include "SciTEBase.h"
  9446. +// added by Mitchell
  9447. +extern "C" {
  9448. +#include <lua.h>
  9449. +#include <lualib.h>
  9450. +#include <lauxlib.h>
  9451. +}
  9452. +// end added by Mitchell
  9453. +
  9454. const char defaultSessionFileName[] = "SciTE.session";
  9455. BufferList::BufferList() : current(0), stackcurrent(0), stack(0), buffers(0), size(0), length(0), initialised(false) {}
  9456. @@ -1359,9 +1367,55 @@
  9457. return (ch >= '0') && (ch <= '9');
  9458. }
  9459. -int DecodeMessage(const char *cdoc, char *sourcePath, int format, int &column) {
  9460. +int DecodeMessage(const char *cdoc, char *sourcePath, int format, int &column, PropSetFile &props) { // modified by Mitchell
  9461. sourcePath[0] = '\0';
  9462. + int sourceNumber = -1; // added by Mitchell
  9463. column = -1; // default to not detected
  9464. +
  9465. + // added by Mitchell
  9466. + SString decoderScript = props.GetExpanded("decoder.lua.script");
  9467. + lua_State *luaState = lua_open();
  9468. + if (!luaState) {
  9469. + Platform::DebugPrintf("Lua failed to initialize.\n");
  9470. + return sourceNumber;
  9471. + }
  9472. +
  9473. + // load base and string libraries
  9474. + lua_pushcfunction(luaState, luaopen_base);
  9475. + lua_pushstring(luaState, "");
  9476. + lua_call(luaState, 1, 0);
  9477. + lua_pushcfunction(luaState, luaopen_string);
  9478. + lua_pushstring(luaState, LUA_STRLIBNAME);
  9479. + lua_call(luaState, 1, 0);
  9480. +
  9481. + // read script and call DecodeMessage
  9482. + if (luaL_loadfile(luaState, decoderScript.c_str()) == 0) {
  9483. + if (lua_pcall(luaState, 0, 0, 0) == 0) {
  9484. + lua_getglobal(luaState, "DecodeMessage");
  9485. + if (lua_isfunction(luaState, -1)) {
  9486. + lua_pushstring(luaState, cdoc);
  9487. + lua_pushinteger(luaState, format);
  9488. + if (lua_pcall(luaState, 2, LUA_MULTRET, 0) == 0) { // returns sourcePath, linenum, and column
  9489. + if (lua_gettop(luaState) == 3) {
  9490. + const char *returnedPath = lua_tostring(luaState, -3);
  9491. + int length = strlen(returnedPath);
  9492. + if (length > 0) {
  9493. + strncpy(sourcePath, returnedPath, length);
  9494. + sourcePath[length] = 0;
  9495. + }
  9496. + sourceNumber = (int) lua_tointeger(luaState, -2);
  9497. + column = (int) lua_tointeger(luaState, -1);
  9498. + } else { Platform::DebugPrintf("Lua Error: 3 return parameters expected from 'DecodeMessage'. %d received.\n", lua_gettop(luaState)); }
  9499. + } else { Platform::DebugPrintf("Lua Error: %s\n", lua_tostring(luaState, -1)); } // lua error message
  9500. + } else { Platform::DebugPrintf("Lua Error: 'DecodeMessage' function not found.\n"); }
  9501. + } else { Platform::DebugPrintf("Lua Error: %s\n", lua_tostring(luaState, -1)); } // lua error message
  9502. + } else { Platform::DebugPrintf("Lua Error: %s\n", lua_tostring(luaState, -1)); } // lua error message
  9503. +
  9504. + lua_close(luaState);
  9505. + return sourceNumber;
  9506. + // end added by Mitchell
  9507. +
  9508. +#if 0 // added by Mitchell
  9509. switch (format) {
  9510. case SCE_ERR_PYTHON: {
  9511. // Python
  9512. @@ -1691,6 +1745,7 @@
  9513. break;
  9514. }
  9515. } // switch
  9516. +#endif // added by Mitchell
  9517. return -1;
  9518. }
  9519. @@ -1712,11 +1767,7 @@
  9520. int lineLength = SendOutput(SCI_LINELENGTH, lookLine, 0);
  9521. //Platform::DebugPrintf("GOMessage %d %d %d of %d linestart = %d\n", selStart, curLine, lookLine, maxLine, startPosLine);
  9522. char style = acc.StyleAt(startPosLine);
  9523. - if (style != SCE_ERR_DEFAULT &&
  9524. - style != SCE_ERR_CMD &&
  9525. - style != SCE_ERR_DIFF_ADDITION &&
  9526. - style != SCE_ERR_DIFF_CHANGED &&
  9527. - style != SCE_ERR_DIFF_DELETION) {
  9528. + if (style > 10) { // modified by Mitchell (error styles start at 11 via errorlist.lua)
  9529. //Platform::DebugPrintf("Marker to %d\n", lookLine);
  9530. SendOutput(SCI_MARKERDELETEALL, static_cast<uptr_t>(-1));
  9531. SendOutput(SCI_MARKERDEFINE, 0, SC_MARK_SMALLRECT);
  9532. @@ -1729,7 +1780,7 @@
  9533. SString message = GetRange(wOutput, startPosLine, startPosLine + lineLength);
  9534. char source[MAX_PATH];
  9535. int column;
  9536. - int sourceLine = DecodeMessage(message.c_str(), source, style, column);
  9537. + int sourceLine = DecodeMessage(message.c_str(), source, style, column, props); // modified by Mitchell
  9538. if (sourceLine >= 0) {
  9539. FilePath sourcePath(source);
  9540. if (!filePath.Name().SameNameAs(sourcePath)) {
  9541. @@ -1760,6 +1811,7 @@
  9542. }
  9543. }
  9544. +#if 0 // added by Mitchell
  9545. // If ctag then get line number after search tag or use ctag line number
  9546. if (style == SCE_ERR_CTAG) {
  9547. char cTag[200];
  9548. @@ -1778,6 +1830,7 @@
  9549. }
  9550. }
  9551. }
  9552. +#endif // added by Mitchell
  9553. SendEditor(SCI_MARKERDELETEALL, 0);
  9554. SendEditor(SCI_MARKERDEFINE, 0, SC_MARK_CIRCLE);
  9555. --- scite-latest/scite/src/SciTEGlobal.properties 2009-10-19 19:56:05.000000000 -0400
  9556. +++ scintillua/scite/src/SciTEGlobal.properties 2010-02-01 16:09:37.000000000 -0500
  9557. @@ -5,6 +5,13 @@
  9558. # Globals
  9559. +# scintillua properties by Mitchell
  9560. +lexer.lua.home=$(SciteDefaultHome)/lexers
  9561. +lexer.lua.script=$(SciteDefaultHome)/lexers/lexer.lua
  9562. +lexer.lua.color.theme=scite
  9563. +fold.by.indentation=0
  9564. +#decoder.lua.script=
  9565. +
  9566. # Window sizes and visibility
  9567. if PLAT_WIN
  9568. position.left=0
  9569. --- scite-latest/scite/src/SciTEProps.cxx 2009-12-11 19:18:15.000000000 -0500
  9570. +++ scintillua/scite/src/SciTEProps.cxx 2010-02-03 13:02:32.000000000 -0500
  9571. @@ -540,52 +540,12 @@
  9572. static const char *propertiesToForward[] = {
  9573. //++Autogenerated -- run src/LexGen.py to regenerate
  9574. //**\(\t"\*",\n\)
  9575. - "asp.default.language",
  9576. "fold",
  9577. - "fold.at.else",
  9578. - "fold.comment",
  9579. - "fold.comment.nimrod",
  9580. - "fold.comment.yaml",
  9581. - "fold.compact",
  9582. - "fold.directive",
  9583. - "fold.html",
  9584. - "fold.html.preprocessor",
  9585. - "fold.hypertext.comment",
  9586. - "fold.hypertext.heredoc",
  9587. - "fold.perl.package",
  9588. - "fold.perl.pod",
  9589. - "fold.preprocessor",
  9590. - "fold.quotes.nimrod",
  9591. - "fold.quotes.python",
  9592. - "fold.sql.exists",
  9593. - "fold.sql.only.begin",
  9594. - "fold.verilog.flags",
  9595. - "html.tags.case.sensitive",
  9596. - "lexer.caml.magic",
  9597. - "lexer.cpp.allow.dollars",
  9598. - "lexer.d.fold.at.else",
  9599. - "lexer.errorlist.value.separate",
  9600. - "lexer.html.mako",
  9601. - "lexer.metapost.comment.process",
  9602. - "lexer.metapost.interface.default",
  9603. - "lexer.pascal.smart.highlighting",
  9604. - "lexer.props.allow.initial.spaces",
  9605. - "lexer.python.literals.binary",
  9606. - "lexer.python.strings.b",
  9607. - "lexer.python.strings.u",
  9608. - "lexer.sql.backticks.identifier",
  9609. - "lexer.tex.auto.if",
  9610. - "lexer.tex.comment.process",
  9611. - "lexer.tex.interface.default",
  9612. - "lexer.tex.use.keywords",
  9613. - "lexer.xml.allow.scripts",
  9614. - "nsis.ignorecase",
  9615. - "nsis.uservars",
  9616. - "ps.level",
  9617. - "ps.tokenize",
  9618. - "sql.backslash.escapes",
  9619. - "styling.within.preprocessor",
  9620. - "tab.timmy.whinge.level",
  9621. + "fold.by.indentation", // added by Mitchell
  9622. + "lexer.lua.script", // added by Mitchell
  9623. + "lexer.lua.home", // added by Mitchell
  9624. + "lexer.lua.color.theme", // added by Mitchell
  9625. + "SciteDefaultHome", // added by Mitchell
  9626. //--Autogenerated -- end of automatically generated section
  9627. @@ -697,6 +657,7 @@
  9628. SString fileNameForExtension = ExtensionFileName();
  9629. +#if 0 // added by Mitchell
  9630. SString modulePath = props.GetNewExpand("lexerpath.",
  9631. fileNameForExtension.c_str());
  9632. if (modulePath.length())
  9633. @@ -705,7 +666,7 @@
  9634. if (language.length())
  9635. SendEditorString(SCI_SETLEXERLANGUAGE, 0, language.c_str());
  9636. else
  9637. - SendEditorString(SCI_SETLEXER, 0, SCLEX_CONTAINER);
  9638. + SendEditorString(SCI_SETLEXERLANGUAGE, 0, "container"); // modified by Mitchell
  9639. lexLanguage = SendEditor(SCI_GETLEXER);
  9640. @@ -723,6 +684,7 @@
  9641. SString kw = props.GetNewExpand(kwk.c_str(), fileNameForExtension.c_str());
  9642. SendEditorString(SCI_SETKEYWORDS, wl, kw.c_str());
  9643. }
  9644. +#endif // added by Mitchell
  9645. FilePath homepath = GetSciteDefaultHome();
  9646. props.Set("SciteDefaultHome", homepath.AsFileSystem());
  9647. @@ -1206,12 +1168,13 @@
  9648. }
  9649. void SciTEBase::ReadFontProperties() {
  9650. - char key[200];
  9651. + // char key[200]; modified by Mitchell
  9652. SString sval;
  9653. // Set styles
  9654. // For each window set the global default style, then the language default style, then the other global styles, then the other language styles
  9655. +#if 0 // added by Mitchell
  9656. SendEditor(SCI_STYLERESETDEFAULT, 0, 0);
  9657. SendOutput(SCI_STYLERESETDEFAULT, 0, 0);
  9658. @@ -1239,6 +1202,27 @@
  9659. SetStyleFor(wOutput, "*");
  9660. SetStyleFor(wOutput, "errorlist");
  9661. +#endif // added by Mitchell
  9662. +
  9663. + // added by Mitchell from ReadProperties()
  9664. + SString fileNameForExtension = ExtensionFileName();
  9665. +
  9666. + SString modulePath = props.GetNewExpand("lexerpath.",
  9667. + fileNameForExtension.c_str());
  9668. + if (modulePath.length())
  9669. + SendEditorString(SCI_LOADLEXERLIBRARY, 0, modulePath.c_str());
  9670. + language = props.GetNewExpand("lexer.", fileNameForExtension.c_str());
  9671. + if (language.length())
  9672. + SendEditorString(SCI_SETLEXERLANGUAGE, 0, language.c_str());
  9673. + else
  9674. + SendEditorString(SCI_SETLEXERLANGUAGE, 0, "container"); // modified by Mitchell
  9675. +
  9676. + lexLanguage = SendEditor(SCI_GETLEXER);
  9677. +
  9678. + SendEditor(SCI_SETSTYLEBITS, SendEditor(SCI_GETSTYLEBITSNEEDED));
  9679. +
  9680. + SendOutputString(SCI_SETLEXERLANGUAGE, 0, "errorlist");
  9681. + // end added by Mitchell
  9682. if (CurrentBuffer()->useMonoFont) {
  9683. sval = props.GetExpanded("font.monospace");
  9684. --- scite-latest/scite/win32/makefile 2010-01-14 21:01:58.000000000 -0500
  9685. +++ scintillua/scite/win32/makefile 2010-02-01 16:09:37.000000000 -0500
  9686. @@ -5,8 +5,22 @@
  9687. # be needed to use other compilers.
  9688. .SUFFIXES: .cxx
  9689. +# added by Mitchell
  9690. +ifdef LINUX
  9691. +CC = i486-mingw32-g++ -mms-bitfields
  9692. +DLLWRAP = dllwrap
  9693. +GCC = i486-mingw32-gcc
  9694. +WINDRES = i486-mingw32-windres
  9695. +DEL = rm
  9696. +COPY = cp
  9697. +else
  9698. +# end added by Mitchell
  9699. CC = g++
  9700. DLLWRAP = dllwrap
  9701. +# added by Mitchell
  9702. +GCC = gcc
  9703. +WINDRES = windres
  9704. +# end added by Mitchell
  9705. ifndef CYGWIN
  9706. DEL = del /q
  9707. COPY = copy
  9708. @@ -14,6 +28,7 @@
  9709. DEL = rm
  9710. COPY = cp
  9711. endif
  9712. +endif # added by Mitchell
  9713. PROG = ../bin/SciTE.exe
  9714. PROGSTATIC = ../bin/Sc1.exe
  9715. @@ -30,7 +45,7 @@
  9716. vpath %.o ../../scintilla/win32
  9717. vpath %.a ../../scintilla/win32
  9718. -ifndef NO_LUA
  9719. +# ifndef NO_LUA modified by Mitchell
  9720. LUA_CORE_OBJS = lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
  9721. lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o \
  9722. ltable.o ltm.o lundump.o lvm.o lzio.o
  9723. @@ -38,17 +53,20 @@
  9724. LUA_LIB_OBJS = lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o ltablib.o \
  9725. lstrlib.o loadlib.o loslib.o linit.o
  9726. -LUA_OBJS = LuaExtension.o SingleThreadExtension.o $(LUA_CORE_OBJS) $(LUA_LIB_OBJS)
  9727. +LUA_OBJS = LuaExtension.o SingleThreadExtension.o # modified by Mitchell
  9728. +LUA_LDFLAGS = -L ../../scintilla/bin -lSciLexer --export-all-symbols
  9729. vpath %.c ../lua/src ../lua/src/lib
  9730. LUA_INCLUDES = -I ../lua/include
  9731. -#LUA_SCRIPTS = ..\bin\SciTEExtension.lua ..\bin\SciTEStartup.lua
  9732. -else
  9733. -LUA_DEFINES = -DNO_LUA
  9734. -endif
  9735. +#LUA_SCRIPTS = ../bin/SciTEExtension.lua ../bin/SciTEStartup.lua
  9736. +# modified by Mitchell
  9737. +#else
  9738. +#LUA_DEFINES = -DNO_LUA
  9739. +#endif
  9740. +# end modified by Mitchell
  9741. -INCLUDEDIRS=-I ../../scintilla/include -I ../../scintilla/win32 -I ../src $(LUA_INCLUDES)
  9742. +INCLUDEDIRS=-I ../../scintilla/include -I ../../scintilla/src -I ../../scintilla/win32 -I ../src $(LUA_INCLUDES) # modified by Mitchell
  9743. RCINCLUDEDIRS=--include-dir ../../scintilla/win32 --include-dir ../src
  9744. CBASEFLAGS = -W -Wall $(INCLUDEDIRS) $(LUA_DEFINES) -mno-cygwin
  9745. @@ -68,7 +86,7 @@
  9746. $(CC) $(CXXFLAGS) -c $< -o $@
  9747. .c.o:
  9748. - gcc $(CFLAGS) -c $< -o $@
  9749. + $(GCC) $(CFLAGS) -c $< -o $@ # modified by Mitchell
  9750. OTHER_OBJS = FilePath.o SciTEBuffers.o SciTEIO.o Exporters.o PropSetFile.o StringList.o \
  9751. SciTEProps.o SciTEWin.o SciTEWinBar.o SciTEWinDlg.o MultiplexExtension.o \
  9752. @@ -78,38 +96,38 @@
  9753. OBJS = SciTEBase.o $(OTHER_OBJS)
  9754. -DLLS=..\bin\Scintilla.dll ..\bin\SciLexer.dll
  9755. +DLLS=../bin/Scintilla.dll ../bin/SciLexer.dll
  9756. #++Autogenerated -- run scintilla/src/LexGen.py to regenerate
  9757. -#**1:LEXPROPS=\\\n\(..\\bin\\\* \)
  9758. +#**1:LEXPROPS=///n/(..//bin///* /)
  9759. LEXPROPS=\
  9760. -..\bin\abaqus.properties ..\bin\ada.properties ..\bin\asm.properties \
  9761. -..\bin\asn1.properties ..\bin\au3.properties ..\bin\ave.properties \
  9762. -..\bin\baan.properties ..\bin\blitzbasic.properties ..\bin\bullant.properties \
  9763. -..\bin\caml.properties ..\bin\cmake.properties ..\bin\cobol.properties \
  9764. -..\bin\conf.properties ..\bin\cpp.properties ..\bin\csound.properties \
  9765. -..\bin\css.properties ..\bin\d.properties ..\bin\eiffel.properties \
  9766. -..\bin\erlang.properties ..\bin\escript.properties ..\bin\flagship.properties \
  9767. -..\bin\forth.properties ..\bin\fortran.properties ..\bin\freebasic.properties \
  9768. -..\bin\gap.properties ..\bin\html.properties ..\bin\inno.properties \
  9769. -..\bin\kix.properties ..\bin\latex.properties ..\bin\lisp.properties \
  9770. -..\bin\lot.properties ..\bin\lout.properties ..\bin\lua.properties \
  9771. -..\bin\matlab.properties ..\bin\metapost.properties ..\bin\mmixal.properties \
  9772. -..\bin\nimrod.properties ..\bin\nncrontab.properties ..\bin\nsis.properties \
  9773. -..\bin\opal.properties ..\bin\others.properties ..\bin\pascal.properties \
  9774. -..\bin\perl.properties ..\bin\pov.properties ..\bin\powerpro.properties \
  9775. -..\bin\powershell.properties ..\bin\ps.properties ..\bin\purebasic.properties \
  9776. -..\bin\python.properties ..\bin\r.properties ..\bin\rebol.properties \
  9777. -..\bin\ruby.properties ..\bin\scriptol.properties ..\bin\smalltalk.properties \
  9778. -..\bin\sorcins.properties ..\bin\specman.properties ..\bin\spice.properties \
  9779. -..\bin\sql.properties ..\bin\tacl.properties ..\bin\tal.properties \
  9780. -..\bin\tcl.properties ..\bin\tex.properties ..\bin\vb.properties \
  9781. -..\bin\verilog.properties ..\bin\vhdl.properties ..\bin\yaml.properties
  9782. +../bin/abaqus.properties ../bin/ada.properties ../bin/asm.properties \
  9783. +../bin/asn1.properties ../bin/au3.properties ../bin/ave.properties \
  9784. +../bin/baan.properties ../bin/blitzbasic.properties ../bin/bullant.properties \
  9785. +../bin/caml.properties ../bin/cmake.properties ../bin/conf.properties \
  9786. +../bin/cpp.properties ../bin/csound.properties ../bin/css.properties \
  9787. +../bin/d.properties ../bin/eiffel.properties ../bin/erlang.properties \
  9788. +../bin/escript.properties ../bin/flagship.properties ../bin/forth.properties \
  9789. +../bin/fortran.properties ../bin/freebasic.properties ../bin/gap.properties \
  9790. +../bin/html.properties ../bin/inno.properties ../bin/kix.properties \
  9791. +../bin/latex.properties ../bin/lisp.properties ../bin/lot.properties \
  9792. +../bin/lout.properties ../bin/lua.properties ../bin/matlab.properties \
  9793. +../bin/metapost.properties ../bin/mmixal.properties ../bin/nimrod.properties \
  9794. +../bin/nncrontab.properties ../bin/nsis.properties ../bin/opal.properties \
  9795. +../bin/others.properties ../bin/pascal.properties ../bin/perl.properties \
  9796. +../bin/pov.properties ../bin/powerpro.properties ../bin/powershell.properties \
  9797. +../bin/ps.properties ../bin/purebasic.properties ../bin/python.properties \
  9798. +../bin/r.properties ../bin/rebol.properties ../bin/ruby.properties \
  9799. +../bin/scriptol.properties ../bin/smalltalk.properties \
  9800. +../bin/sorcins.properties ../bin/specman.properties ../bin/spice.properties \
  9801. +../bin/sql.properties ../bin/tcl.properties ../bin/tex.properties \
  9802. +../bin/vb.properties ../bin/verilog.properties ../bin/vhdl.properties \
  9803. +../bin/yaml.properties
  9804. #--Autogenerated -- end of automatically generated section
  9805. -PROPS=..\bin\SciTEGlobal.properties ..\bin\abbrev.properties $(LEXPROPS)
  9806. +PROPS=../bin/SciTEGlobal.properties ../bin/abbrev.properties $(LEXPROPS)
  9807. -ALL: $(PROG) $(PROGSTATIC) $(DLLS) $(PROPS) $(LUA_SCRIPTS)
  9808. +ALL: $(PROG) $(DLLS) $(PROPS) $(LUA_SCRIPTS) # modified by Mitchell
  9809. clean:
  9810. $(DEL) *.exe *.o *.obj *.dll *.res *.map
  9811. @@ -117,158 +135,152 @@
  9812. deps:
  9813. $(CC) -MM $(CXXFLAGS) *.cxx ../src/*.cxx ../lua/src/*.c ../lua/src/lib/*.c >deps.mak
  9814. -..\bin\Scintilla.dll: ..\..\scintilla\bin\Scintilla.dll
  9815. - $(COPY) ..\..\scintilla\bin\Scintilla.dll $@
  9816. +../bin/Scintilla.dll: ../../scintilla/bin/Scintilla.dll
  9817. + $(COPY) ../../scintilla/bin/Scintilla.dll $@
  9818. -..\bin\SciLexer.dll: ..\..\scintilla\bin\SciLexer.dll
  9819. - $(COPY) ..\..\scintilla\bin\SciLexer.dll $@
  9820. +../bin/SciLexer.dll: ../../scintilla/bin/SciLexer.dll
  9821. + $(COPY) ../../scintilla/bin/SciLexer.dll $@
  9822. -..\bin\SciTEGlobal.properties: ..\src\SciTEGlobal.properties
  9823. +../bin/SciTEGlobal.properties: ../src/SciTEGlobal.properties
  9824. $(COPY) $^ $@
  9825. -..\bin\abbrev.properties: ..\src\abbrev.properties
  9826. +../bin/abbrev.properties: ../src/abbrev.properties
  9827. $(COPY) $^ $@
  9828. #++Autogenerated -- run scintilla/src/LexGen.py to regenerate
  9829. -#**1:\(..\\bin\\\*:\t..\\src\\\*\n\t$(COPY) $^ $@\n\)
  9830. -..\bin\abaqus.properties: ..\src\abaqus.properties
  9831. - $(COPY) $^ $@
  9832. -..\bin\ada.properties: ..\src\ada.properties
  9833. - $(COPY) $^ $@
  9834. -..\bin\asm.properties: ..\src\asm.properties
  9835. - $(COPY) $^ $@
  9836. -..\bin\asn1.properties: ..\src\asn1.properties
  9837. +#**1:/(..//bin///*:/t..//src///*/n/t$(COPY) $^ $@/n/)
  9838. +../bin/abaqus.properties: ../src/abaqus.properties
  9839. $(COPY) $^ $@
  9840. -..\bin\au3.properties: ..\src\au3.properties
  9841. +../bin/ada.properties: ../src/ada.properties
  9842. $(COPY) $^ $@
  9843. -..\bin\ave.properties: ..\src\ave.properties
  9844. +../bin/asm.properties: ../src/asm.properties
  9845. $(COPY) $^ $@
  9846. -..\bin\baan.properties: ..\src\baan.properties
  9847. +../bin/asn1.properties: ../src/asn1.properties
  9848. $(COPY) $^ $@
  9849. -..\bin\blitzbasic.properties: ..\src\blitzbasic.properties
  9850. +../bin/au3.properties: ../src/au3.properties
  9851. $(COPY) $^ $@
  9852. -..\bin\bullant.properties: ..\src\bullant.properties
  9853. +../bin/ave.properties: ../src/ave.properties
  9854. $(COPY) $^ $@
  9855. -..\bin\caml.properties: ..\src\caml.properties
  9856. +../bin/baan.properties: ../src/baan.properties
  9857. $(COPY) $^ $@
  9858. -..\bin\cmake.properties: ..\src\cmake.properties
  9859. +../bin/blitzbasic.properties: ../src/blitzbasic.properties
  9860. $(COPY) $^ $@
  9861. -..\bin\cobol.properties: ..\src\cobol.properties
  9862. +../bin/bullant.properties: ../src/bullant.properties
  9863. $(COPY) $^ $@
  9864. -..\bin\conf.properties: ..\src\conf.properties
  9865. +../bin/caml.properties: ../src/caml.properties
  9866. $(COPY) $^ $@
  9867. -..\bin\cpp.properties: ..\src\cpp.properties
  9868. +../bin/cmake.properties: ../src/cmake.properties
  9869. $(COPY) $^ $@
  9870. -..\bin\csound.properties: ..\src\csound.properties
  9871. +../bin/conf.properties: ../src/conf.properties
  9872. $(COPY) $^ $@
  9873. -..\bin\css.properties: ..\src\css.properties
  9874. +../bin/cpp.properties: ../src/cpp.properties
  9875. $(COPY) $^ $@
  9876. -..\bin\d.properties: ..\src\d.properties
  9877. +../bin/csound.properties: ../src/csound.properties
  9878. $(COPY) $^ $@
  9879. -..\bin\eiffel.properties: ..\src\eiffel.properties
  9880. +../bin/css.properties: ../src/css.properties
  9881. $(COPY) $^ $@
  9882. -..\bin\erlang.properties: ..\src\erlang.properties
  9883. +../bin/d.properties: ../src/d.properties
  9884. $(COPY) $^ $@
  9885. -..\bin\escript.properties: ..\src\escript.properties
  9886. +../bin/eiffel.properties: ../src/eiffel.properties
  9887. $(COPY) $^ $@
  9888. -..\bin\flagship.properties: ..\src\flagship.properties
  9889. +../bin/erlang.properties: ../src/erlang.properties
  9890. $(COPY) $^ $@
  9891. -..\bin\forth.properties: ..\src\forth.properties
  9892. +../bin/escript.properties: ../src/escript.properties
  9893. $(COPY) $^ $@
  9894. -..\bin\fortran.properties: ..\src\fortran.properties
  9895. +../bin/flagship.properties: ../src/flagship.properties
  9896. $(COPY) $^ $@
  9897. -..\bin\freebasic.properties: ..\src\freebasic.properties
  9898. +../bin/forth.properties: ../src/forth.properties
  9899. $(COPY) $^ $@
  9900. -..\bin\gap.properties: ..\src\gap.properties
  9901. +../bin/fortran.properties: ../src/fortran.properties
  9902. $(COPY) $^ $@
  9903. -..\bin\html.properties: ..\src\html.properties
  9904. +../bin/freebasic.properties: ../src/freebasic.properties
  9905. $(COPY) $^ $@
  9906. -..\bin\inno.properties: ..\src\inno.properties
  9907. +../bin/gap.properties: ../src/gap.properties
  9908. $(COPY) $^ $@
  9909. -..\bin\kix.properties: ..\src\kix.properties
  9910. +../bin/html.properties: ../src/html.properties
  9911. $(COPY) $^ $@
  9912. -..\bin\latex.properties: ..\src\latex.properties
  9913. +../bin/inno.properties: ../src/inno.properties
  9914. $(COPY) $^ $@
  9915. -..\bin\lisp.properties: ..\src\lisp.properties
  9916. +../bin/kix.properties: ../src/kix.properties
  9917. $(COPY) $^ $@
  9918. -..\bin\lot.properties: ..\src\lot.properties
  9919. +../bin/latex.properties: ../src/latex.properties
  9920. $(COPY) $^ $@
  9921. -..\bin\lout.properties: ..\src\lout.properties
  9922. +../bin/lisp.properties: ../src/lisp.properties
  9923. $(COPY) $^ $@
  9924. -..\bin\lua.properties: ..\src\lua.properties
  9925. +../bin/lot.properties: ../src/lot.properties
  9926. $(COPY) $^ $@
  9927. -..\bin\matlab.properties: ..\src\matlab.properties
  9928. +../bin/lout.properties: ../src/lout.properties
  9929. $(COPY) $^ $@
  9930. -..\bin\metapost.properties: ..\src\metapost.properties
  9931. +../bin/lua.properties: ../src/lua.properties
  9932. $(COPY) $^ $@
  9933. -..\bin\mmixal.properties: ..\src\mmixal.properties
  9934. +../bin/matlab.properties: ../src/matlab.properties
  9935. $(COPY) $^ $@
  9936. -..\bin\nimrod.properties: ..\src\nimrod.properties
  9937. +../bin/metapost.properties: ../src/metapost.properties
  9938. $(COPY) $^ $@
  9939. -..\bin\nncrontab.properties: ..\src\nncrontab.properties
  9940. +../bin/mmixal.properties: ../src/mmixal.properties
  9941. $(COPY) $^ $@
  9942. -..\bin\nsis.properties: ..\src\nsis.properties
  9943. +../bin/nimrod.properties: ../src/nimrod.properties
  9944. $(COPY) $^ $@
  9945. -..\bin\opal.properties: ..\src\opal.properties
  9946. +../bin/nncrontab.properties: ../src/nncrontab.properties
  9947. $(COPY) $^ $@
  9948. -..\bin\others.properties: ..\src\others.properties
  9949. +../bin/nsis.properties: ../src/nsis.properties
  9950. $(COPY) $^ $@
  9951. -..\bin\pascal.properties: ..\src\pascal.properties
  9952. +../bin/opal.properties: ../src/opal.properties
  9953. $(COPY) $^ $@
  9954. -..\bin\perl.properties: ..\src\perl.properties
  9955. +../bin/others.properties: ../src/others.properties
  9956. $(COPY) $^ $@
  9957. -..\bin\pov.properties: ..\src\pov.properties
  9958. +../bin/pascal.properties: ../src/pascal.properties
  9959. $(COPY) $^ $@
  9960. -..\bin\powerpro.properties: ..\src\powerpro.properties
  9961. +../bin/perl.properties: ../src/perl.properties
  9962. $(COPY) $^ $@
  9963. -..\bin\powershell.properties: ..\src\powershell.properties
  9964. +../bin/pov.properties: ../src/pov.properties
  9965. $(COPY) $^ $@
  9966. -..\bin\ps.properties: ..\src\ps.properties
  9967. +../bin/powerpro.properties: ../src/powerpro.properties
  9968. $(COPY) $^ $@
  9969. -..\bin\purebasic.properties: ..\src\purebasic.properties
  9970. +../bin/powershell.properties: ../src/powershell.properties
  9971. $(COPY) $^ $@
  9972. -..\bin\python.properties: ..\src\python.properties
  9973. +../bin/ps.properties: ../src/ps.properties
  9974. $(COPY) $^ $@
  9975. -..\bin\r.properties: ..\src\r.properties
  9976. +../bin/purebasic.properties: ../src/purebasic.properties
  9977. $(COPY) $^ $@
  9978. -..\bin\rebol.properties: ..\src\rebol.properties
  9979. +../bin/python.properties: ../src/python.properties
  9980. $(COPY) $^ $@
  9981. -..\bin\ruby.properties: ..\src\ruby.properties
  9982. +../bin/r.properties: ../src/r.properties
  9983. $(COPY) $^ $@
  9984. -..\bin\scriptol.properties: ..\src\scriptol.properties
  9985. +../bin/rebol.properties: ../src/rebol.properties
  9986. $(COPY) $^ $@
  9987. -..\bin\smalltalk.properties: ..\src\smalltalk.properties
  9988. +../bin/ruby.properties: ../src/ruby.properties
  9989. $(COPY) $^ $@
  9990. -..\bin\sorcins.properties: ..\src\sorcins.properties
  9991. +../bin/scriptol.properties: ../src/scriptol.properties
  9992. $(COPY) $^ $@
  9993. -..\bin\specman.properties: ..\src\specman.properties
  9994. +../bin/smalltalk.properties: ../src/smalltalk.properties
  9995. $(COPY) $^ $@
  9996. -..\bin\spice.properties: ..\src\spice.properties
  9997. +../bin/sorcins.properties: ../src/sorcins.properties
  9998. $(COPY) $^ $@
  9999. -..\bin\sql.properties: ..\src\sql.properties
  10000. +../bin/specman.properties: ../src/specman.properties
  10001. $(COPY) $^ $@
  10002. -..\bin\tacl.properties: ..\src\tacl.properties
  10003. +../bin/spice.properties: ../src/spice.properties
  10004. $(COPY) $^ $@
  10005. -..\bin\tal.properties: ..\src\tal.properties
  10006. +../bin/sql.properties: ../src/sql.properties
  10007. $(COPY) $^ $@
  10008. -..\bin\tcl.properties: ..\src\tcl.properties
  10009. +../bin/tcl.properties: ../src/tcl.properties
  10010. $(COPY) $^ $@
  10011. -..\bin\tex.properties: ..\src\tex.properties
  10012. +../bin/tex.properties: ../src/tex.properties
  10013. $(COPY) $^ $@
  10014. -..\bin\vb.properties: ..\src\vb.properties
  10015. +../bin/vb.properties: ../src/vb.properties
  10016. $(COPY) $^ $@
  10017. -..\bin\verilog.properties: ..\src\verilog.properties
  10018. +../bin/verilog.properties: ../src/verilog.properties
  10019. $(COPY) $^ $@
  10020. -..\bin\vhdl.properties: ..\src\vhdl.properties
  10021. +../bin/vhdl.properties: ../src/vhdl.properties
  10022. $(COPY) $^ $@
  10023. -..\bin\yaml.properties: ..\src\yaml.properties
  10024. +../bin/yaml.properties: ../src/yaml.properties
  10025. $(COPY) $^ $@
  10026. #--Autogenerated -- end of automatically generated section
  10027. # Normally distributed rather than built as may not have grep on all machines
  10028. # Copy all non-comment lines from all the properties files into one combined file
  10029. -..\src\Embedded.properties: $(PROPS)
  10030. - grep -v -h "^[#]" $(PROPS) >..\src\Embedded.properties
  10031. +../src/Embedded.properties: $(PROPS)
  10032. + grep -v -h "^[#]" $(PROPS) >../src/Embedded.properties
  10033. $(PROG): $(OBJS)
  10034. $(CC) $(STRIPFLAG) -Xlinker --subsystem -Xlinker windows -o $@ $^ $(LDFLAGS)
  10035. @@ -293,13 +305,13 @@
  10036. SString.h Scintilla.h Extender.h FilePath.h SciTEBase.h JobQueue.h
  10037. $(CC) $(CXXFLAGS) -D STATIC_BUILD -c $< -o $@
  10038. -SciTERes.o: SciTERes.rc SciTE.h PlatformRes.h SciTE.exe.manifest
  10039. - windres $(RCINCLUDEDIRS) SciTERes.rc $@
  10040. +SciTERes.o: SciTERes.rc SciTE.h PlatformRes.h
  10041. + $(WINDRES) $(RCINCLUDEDIRS) SciTERes.rc $@ # modified by Mitchell
  10042. # Also depends on ../src/Embedded.properties but may not want to build everywhere
  10043. # so must explicitly ask to build it.
  10044. -Sc1Res.o: SciTERes.rc SciTE.h PlatformRes.h SciTE.exe.manifest
  10045. - windres $(RCINCLUDEDIRS) SciTERes.rc --define STATIC_BUILD $@
  10046. +Sc1Res.o: SciTERes.rc SciTE.h PlatformRes.h
  10047. + $(WINDRES) $(RCINCLUDEDIRS) SciTERes.rc --define STATIC_BUILD $@ # modified by Mitchell
  10048. # Make sure SciTEBase gets rebuilt (so its about box gets a new
  10049. # date stamp) when any of the other objects are updated.
  10050. --- scite-latest/scite/win32/scite.mak 2010-01-14 21:01:58.000000000 -0500
  10051. +++ scintillua/scite/win32/scite.mak 2010-02-01 16:09:37.000000000 -0500
  10052. @@ -110,89 +110,14 @@
  10053. ..\..\scintilla\win32\WindowAccessor.obj \
  10054. ..\..\scintilla\win32\XPM.obj
  10055. +# modified by Mitchell
  10056. #++Autogenerated -- run src/LexGen.py to regenerate
  10057. #**LEXOBJS=\\\n\(\t..\\..\\scintilla\\win32\\\*.obj \\\n\)
  10058. LEXOBJS=\
  10059. - ..\..\scintilla\win32\LexAbaqus.obj \
  10060. - ..\..\scintilla\win32\LexAda.obj \
  10061. - ..\..\scintilla\win32\LexAPDL.obj \
  10062. - ..\..\scintilla\win32\LexAsm.obj \
  10063. - ..\..\scintilla\win32\LexAsn1.obj \
  10064. - ..\..\scintilla\win32\LexASY.obj \
  10065. - ..\..\scintilla\win32\LexAU3.obj \
  10066. - ..\..\scintilla\win32\LexAVE.obj \
  10067. - ..\..\scintilla\win32\LexBaan.obj \
  10068. - ..\..\scintilla\win32\LexBash.obj \
  10069. - ..\..\scintilla\win32\LexBasic.obj \
  10070. - ..\..\scintilla\win32\LexBullant.obj \
  10071. - ..\..\scintilla\win32\LexCaml.obj \
  10072. - ..\..\scintilla\win32\LexCLW.obj \
  10073. - ..\..\scintilla\win32\LexCmake.obj \
  10074. - ..\..\scintilla\win32\LexCOBOL.obj \
  10075. - ..\..\scintilla\win32\LexConf.obj \
  10076. - ..\..\scintilla\win32\LexCPP.obj \
  10077. - ..\..\scintilla\win32\LexCrontab.obj \
  10078. - ..\..\scintilla\win32\LexCsound.obj \
  10079. - ..\..\scintilla\win32\LexCSS.obj \
  10080. - ..\..\scintilla\win32\LexD.obj \
  10081. - ..\..\scintilla\win32\LexEiffel.obj \
  10082. - ..\..\scintilla\win32\LexErlang.obj \
  10083. - ..\..\scintilla\win32\LexEScript.obj \
  10084. - ..\..\scintilla\win32\LexFlagship.obj \
  10085. - ..\..\scintilla\win32\LexForth.obj \
  10086. - ..\..\scintilla\win32\LexFortran.obj \
  10087. - ..\..\scintilla\win32\LexGAP.obj \
  10088. - ..\..\scintilla\win32\LexGui4Cli.obj \
  10089. - ..\..\scintilla\win32\LexHaskell.obj \
  10090. - ..\..\scintilla\win32\LexHTML.obj \
  10091. - ..\..\scintilla\win32\LexInno.obj \
  10092. - ..\..\scintilla\win32\LexKix.obj \
  10093. - ..\..\scintilla\win32\LexLisp.obj \
  10094. - ..\..\scintilla\win32\LexLout.obj \
  10095. - ..\..\scintilla\win32\LexLua.obj \
  10096. - ..\..\scintilla\win32\LexMagik.obj \
  10097. - ..\..\scintilla\win32\LexMarkdown.obj \
  10098. - ..\..\scintilla\win32\LexMatlab.obj \
  10099. - ..\..\scintilla\win32\LexMetapost.obj \
  10100. - ..\..\scintilla\win32\LexMMIXAL.obj \
  10101. - ..\..\scintilla\win32\LexMPT.obj \
  10102. - ..\..\scintilla\win32\LexMSSQL.obj \
  10103. - ..\..\scintilla\win32\LexMySQL.obj \
  10104. - ..\..\scintilla\win32\LexNimrod.obj \
  10105. - ..\..\scintilla\win32\LexNsis.obj \
  10106. - ..\..\scintilla\win32\LexOpal.obj \
  10107. - ..\..\scintilla\win32\LexOthers.obj \
  10108. - ..\..\scintilla\win32\LexPascal.obj \
  10109. - ..\..\scintilla\win32\LexPB.obj \
  10110. - ..\..\scintilla\win32\LexPerl.obj \
  10111. - ..\..\scintilla\win32\LexPLM.obj \
  10112. - ..\..\scintilla\win32\LexPOV.obj \
  10113. - ..\..\scintilla\win32\LexPowerPro.obj \
  10114. - ..\..\scintilla\win32\LexPowerShell.obj \
  10115. - ..\..\scintilla\win32\LexProgress.obj \
  10116. - ..\..\scintilla\win32\LexPS.obj \
  10117. - ..\..\scintilla\win32\LexPython.obj \
  10118. - ..\..\scintilla\win32\LexR.obj \
  10119. - ..\..\scintilla\win32\LexRebol.obj \
  10120. - ..\..\scintilla\win32\LexRuby.obj \
  10121. - ..\..\scintilla\win32\LexScriptol.obj \
  10122. - ..\..\scintilla\win32\LexSmalltalk.obj \
  10123. - ..\..\scintilla\win32\LexSML.obj \
  10124. - ..\..\scintilla\win32\LexSorcus.obj \
  10125. - ..\..\scintilla\win32\LexSpecman.obj \
  10126. - ..\..\scintilla\win32\LexSpice.obj \
  10127. - ..\..\scintilla\win32\LexSQL.obj \
  10128. - ..\..\scintilla\win32\LexTACL.obj \
  10129. - ..\..\scintilla\win32\LexTADS3.obj \
  10130. - ..\..\scintilla\win32\LexTAL.obj \
  10131. - ..\..\scintilla\win32\LexTCL.obj \
  10132. - ..\..\scintilla\win32\LexTeX.obj \
  10133. - ..\..\scintilla\win32\LexVB.obj \
  10134. - ..\..\scintilla\win32\LexVerilog.obj \
  10135. - ..\..\scintilla\win32\LexVHDL.obj \
  10136. - ..\..\scintilla\win32\LexYAML.obj \
  10137. + ..\..\scintilla\win32\LexLPeg.obj
  10138. #--Autogenerated -- end of automatically generated section
  10139. +# end modified by Mitchell
  10140. OBJSSTATIC=\
  10141. SciTEBase.obj \