Jump to content


Photo

Insert Scintilla edit control in your GUI [Lib]


  • Please log in to reply
26 replies to this topic

#1 shajul

shajul
  • Members
  • 571 posts

Posted 26 May 2011 - 12:33 PM

Why use Scintilla edit control?
As well as features found in standard text editing components, Scintilla includes support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts.

SciTE is based on Scintilla.

What is this about?
This shows how to insert a Scintilla edit control in your GUI.

This SciLexer.dll is built from LexAHK by PhilHo (see below) and the latest version (2.26) of scintilla, so all the lexers currently in Scintilla are included. You can also chose to remove the lexers you dont want and recompile Scilexer.dll

The "library" does not include all the functions available in Scintilla docs, but the SCI_Send() and SCI_Call() function make calling any function a breeze, just look up the reference and adjust the parameters accordingly.

Download
Requires AHK_L [v1.0.97.00+], but can be easily modified to run with AHK Basic.

Ref: [*:36p43gns]LexAHK - Generous work by PhilHo[*:36p43gns]Script Writer that uses Scilexer.dll - by maestrith[*:36p43gns]Scintilla Documentaton
Another complete wrapper by HotKeyIt - Details (requires AutoHotkey 1.1)
Class _RemoteBuf
Class _Scintilla

#singleinstance,force
#Include Lib/SCI.ahk

Gui, +LastFound
sc := SCI_Add(WinExist(), 0, 0, 740, 600)
gui,show,w740 h600

SCI_Send("SCI_SETLEXERLANGUAGE",sc,"Int",0,"AStr","ahk1") ;language = ahk1 (from philho's lexer)

loop,3
 SCI_Send("SCI_SETKEYWORDS",sc,"Int",A_Index-1,"AStr",keywords(a_index))

loop,20
 SCI_Send("SCI_STYLESETFORE",sc,"Int",A_Index-1,"Int",dcolors(a_index))

SCI_Send("SCI_SETTEXT",sc,,,"AStr",FileOpen(A_ScriptFullPath,"r").Read())
return

GuiClose:
Gui, Destroy
SCI_Init(0)
ExitApp


F3::
MsgBox % SCI_GetText(sc)
return



keywords(x){
 if x=1
   return "autotrim blockinput break clipwait continue controlclick controlfocus controlget controlgetfocus controlgetpos controlgettext controlmove controlsend controlsendraw controlsettext coordmode critical detecthiddentext detecthiddenwindows drive driveget drivespacefree edit else endrepeat envadd envdiv envget envmult envset envsub envupdate exit exitapp fileappend filecopy filecopydir filecreatedir filecreateshortcut filedelete filegetattrib filegetshortcut filegetsize filegettime filegetversion fileinstall filemove filemovedir fileread filereadline filerecycle filerecycleempty fileremovedir fileselectfile fileselectfolder filesetattrib filesettime formattime getkeystate gosub goto groupactivate groupadd groupclose groupdeactivate gui guicontrol guicontrolget hideautoitwin hotkey if ifequal ifexist ifgreater ifgreaterorequal ifinstring ifless iflessorequal ifmsgbox ifnotequal ifnotexist ifnotinstring ifwinactive ifwinexist ifwinnotactive ifwinnotexist imagesearch inidelete iniread iniwrite input inputbox keyhistory keywait listhotkeys listlines listvars loop menu mouseclick mouseclickdrag mousegetpos mousemove msgbox onexit outputdebug pause pixelgetcolor pixelsearch postmessage process progress random regdelete regexmatch regexreplace regread regwrite reload repeat return run runas runwait send sendmessage sendraw sendinput setbatchlines setcapslockstate setcontroldelay setdefaultmousespeed setenv setformat setkeydelay setmousedelay setnumlockstate setscrolllockstate setstorecapslockmode settimer settitlematchmode setwindelay setworkingdir shutdown sleep sort soundbeep soundget soundgetwavevolume soundplay soundset soundsetwavevolume splashimage splashtextoff splashtexton splitpath statusbargettext statusbarwait stringcasesense stringgetpos stringleft stringlen stringlower stringmid stringreplace stringright stringsplit stringtrimleft stringtrimright stringupper suspend sysget thread tooltip transform traytip tv_add tv_modify tv_delete tv_getselection tv_getcount tv_getparent tv_getchild tv_getprev tv_getnext tv_gettext tv_get urldownloadtofile winactivate winactivatebottom winclose winget wingetactivestats wingetactivetitle wingetclass wingetpos wingettext wingettitle winhide winkill winmaximize winmenuselectitem winminimize winminimizeall winminimizeallundo winmove winrestore winset winsettitle winshow winwait winwaitactive winwaitclose winwaitnotactive"
 else if x=2
   return "a_ahkversion a_autotrim a_batchlines a_caretx a_carety a_computername a_controldelay a_cursor a_dd a_ddd a_dddd a_defaultmousespeed a_desktop a_desktopcommon a_detecthiddentext a_detecthiddenwindows a_endchar a_eventinfo a_exitreason a_formatfloat a_formatinteger a_gui a_guicontrol a_guicontrolevent a_guievent a_guiheight a_guiwidth a_guix a_guiy a_hour a_iconfile a_iconhidden a_iconnumber a_icontip a_index a_ipaddress1 a_ipaddress2 a_ipaddress3 a_ipaddress4 a_isadmin a_iscompiled a_issuspended a_keydelay a_language a_linefile a_linenumber a_loopfield a_loopfileattrib a_loopfiledir a_loopfileext a_loopfilefullpath a_loopfilelongpath a_loopfilename a_loopfileshortname a_loopfileshortpath a_loopfilesize a_loopfilesizekb a_loopfilesizemb a_loopfiletimeaccessed a_loopfiletimecreated a_loopfiletimemodified a_loopreadline a_loopregkey a_loopregname a_loopregsubkey a_loopregtimemodified a_loopregtype a_mday a_min a_mm a_mmm a_mmmm a_mon a_mousedelay a_msec a_mydocuments a_now a_nowutc a_numbatchlines a_ostype a_osversion a_priorhotkey a_programfiles a_programs a_programscommon a_screenheight a_screenwidth a_scriptdir a_scriptfullpath a_scriptname a_sec a_space a_startmenu a_startmenucommon a_startup a_startupcommon a_stringcasesense a_tab a_thishotkey a_thismenu a_thismenuitem a_thismenuitempos a_tickcount a_timeidle a_timeidlephysical a_timesincepriorhotkey a_timesincethishotkey a_titlematchmode a_titlematchmodespeed a_username a_wday a_windelay a_windir a_workingdir a_yday a_year a_yweek a_yyyy abort abs acos add ahk_class ahk_group ahk_id ahk_pid alnum alpha alt altdown altsubmit alttab alttabandmenu alttabmenu alttabmenudismiss altup alwaysontop appskey asc asin atan background backspace between bitand bitnot bitor bitshiftleft bitshiftright bitxor blind border bottom browser_back browser_favorites browser_forward browser_home browser_refresh browser_search browser_stop bs button buttons byref cancel capacity capslock caption ceil center check check3 checkbox checked checkedgray choose choosestring chr click clipboard clipboardall close color combobox contains control controllist cos count ctrl ctrlbreak ctrldown ctrlup date datetime days ddl default del delete deleteall delimiter deref destroy digit disable disabled down dropdownlist eject enable enabled end enter error errorlevel esc escape exp exstyle f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12"
 else if x=3
   return "allowsamelinecomments clipboardtimeout commentflag errorstdout escapechar hotkeyinterval hotkeymodifiertimeout hotstring include installkeybdhook installmousehook maxhotkeysperinterval maxmem maxthreads maxthreadsbuffer maxthreadsperhotkey noenv notrayicon persistent singleinstance usehook winactivateforce"
}

dcolors(x){
	static colors := [  0x000000  ; DEFAULT 0
										, 0x00FF00  ; COMMENTLINE 1
										, 0x00FF00  ; COMMENTBLOCK 2
										, 0xFF0000  ; ESCAPE 3
										, 0xFF0000  ; SYNOPERATOR 4
										, 0x0000FF  ; EXPOPERATOR 5
										, 0x000000  ; STRING 6
										, 0x006666  ; NUMBER 7
										, 0x3300FF  ; IDENTIFIER 8
										, 0xFF0000  ; VARREF 9
										, 0x0000FF  ; LABEL 10
										, 0x0088FF  ; WORD_CF 11
										, 0x8800FF  ; WORD_CMD 12
										, 0xFFFF00  ; WORD_FN 13
										, 0xFFFF11  ; WORD_DIR 14
										, 0xFF0000  ; WORD_KB 15
										, 0x09FFFF  ; WORD_VAR 16
										, 0xFF11FF  ; WORD_SP 17
										, 0xFF2200  ; WORD_UD 18
										, 0xFF3300  ; VARREFKW 19
										, 0x9999FF] ; ERROR 20
	return colors[x] ? colors[x] : 0
}

This is my 500-th post. My activity in the coming days on the forum will be low. Had a lot of fun with AHK and this great community.

#2 Lucid_Method

Lucid_Method
  • Members
  • 146 posts

Posted 26 May 2011 - 02:43 PM

Thanks for posting, looks like some nice additions. I'm trying to run the demo and keep getting:

Error at line 53 in #include file "Q:\Testing\Lib\SCI.ahk".

The following variable name contains an illegal character: "sc.fn"


#3 SomeAHKUser

SomeAHKUser
  • Guests

Posted 26 May 2011 - 03:13 PM

I'm trying to run the demo and keep getting

Seems like it's only for AHK_L. :(

#4 Lucid_Method

Lucid_Method
  • Members
  • 146 posts

Posted 26 May 2011 - 03:14 PM

I did try running in AHK_L and Basic, both gave the same message

#5 shajul

shajul
  • Members
  • 571 posts

Posted 26 May 2011 - 03:29 PM

I did try running in AHK_L and Basic, both gave the same message


It requires AHK_L v1.0.97.00+ (Short-hand syntax resembling JavaScript Object Notation). Sorry for the trouble, i'll add it in the OP

#6 sinkfaze

sinkfaze
  • Moderators
  • 6080 posts

Posted 26 May 2011 - 05:23 PM

Nice set of functions, might I suggest an easier method for the function containing the constants repository?

SCI__Constant(Constant) {
	static	CONSTANTS
	if	!CONSTANTS
	{
			_1 :=	["SCI_ADDREFDOCUMENT",2376
			,"SCI_ADDSELECTION",2573
			,"SCI_ADDSTYLEDTEXT",2002
			,"SCI_ADDTEXT",2001
			,"SCI_ADDUNDOACTION",2560
			,"SCI_ALLOCATE",2446
			,"SCI_ANNOTATIONCLEARALL",2547
			,"SCI_ANNOTATIONGETLINES",2546
			,"SCI_ANNOTATIONGETSTYLE",2543
			,"SCI_ANNOTATIONGETSTYLEOFFSET",2551
			,"SCI_ANNOTATIONGETSTYLES",2545
			,"SCI_ANNOTATIONGETTEXT",2541
			,"SCI_ANNOTATIONGETVISIBLE",2549
			,"SCI_ANNOTATIONSETSTYLE",2542
			,"SCI_ANNOTATIONSETSTYLEOFFSET",2550
			,"SCI_ANNOTATIONSETSTYLES",2544
			,"SCI_ANNOTATIONSETTEXT",2540
			,"SCI_ANNOTATIONSETVISIBLE",2548
			,"SCI_APPENDTEXT",2282
			,"SCI_ASSIGNCMDKEY",2070
			,"SCI_AUTOCACTIVE",2102
			,"SCI_AUTOCCANCEL",2101
			,"SCI_AUTOCCOMPLETE",2104
			,"SCI_AUTOCGETAUTOHIDE",2119
			,"SCI_AUTOCGETCANCELATSTART",2111
			,"SCI_AUTOCGETCHOOSESINGLE",2114
			,"SCI_AUTOCGETCURRENT",2445
			,"SCI_AUTOCGETCURRENTTEXT",2610
			,"SCI_AUTOCGETDROPRESTOFWORD",2271
			,"SCI_AUTOCGETIGNORECASE",2116
			,"SCI_AUTOCGETMAXHEIGHT",2211
			,"SCI_AUTOCGETMAXWIDTH",2209
			,"SCI_AUTOCGETSEPARATOR",2107
			,"SCI_AUTOCGETTYPESEPARATOR",2285
			,"SCI_AUTOCPOSSTART",2103
			,"SCI_AUTOCSELECT",2108
			,"SCI_AUTOCSETAUTOHIDE",2118
			,"SCI_AUTOCSETCANCELATSTART",2110
			,"SCI_AUTOCSETCHOOSESINGLE",2113
			,"SCI_AUTOCSETDROPRESTOFWORD",2270
			,"SCI_AUTOCSETFILLUPS",2112
			,"SCI_AUTOCSETIGNORECASE",2115
			,"SCI_AUTOCSETMAXHEIGHT",2210
			,"SCI_AUTOCSETMAXWIDTH",2208
			,"SCI_AUTOCSETSEPARATOR",2106
			,"SCI_AUTOCSETTYPESEPARATOR",2286
			,"SCI_AUTOCSHOW",2100
			,"SCI_AUTOCSTOPS",2105]
			_2 :=	["SCI_BACKTAB",2328
			,"SCI_BEGINUNDOACTION",2078
			,"SCI_BRACEBADLIGHT",2352
			,"SCI_BRACEHIGHLIGHT",2351
			,"SCI_BRACEMATCH",2353
			,"SCI_CALLTIPACTIVE",2202
			,"SCI_CALLTIPCANCEL",2201
			,"SCI_CALLTIPPOSSTART",2203
			,"SCI_CALLTIPSETBACK",2205
			,"SCI_CALLTIPSETFORE",2206
			,"SCI_CALLTIPSETFOREHLT",2207
			,"SCI_CALLTIPSETHLT",2204
			,"SCI_CALLTIPSHOW",2200
			,"SCI_CALLTIPUSESTYLE",2212
			,"SCI_CANCEL",2325
			,"SCI_CANPASTE",2173
			,"SCI_CANREDO",2016
			,"SCI_CANUNDO",2174
			,"SCI_CHANGELEXERSTATE",2617
			,"SCI_CHARLEFT",2304
			,"SCI_CHARLEFTEXTEND",2305
			,"SCI_CHARLEFTRECTEXTEND",2428
			,"SCI_CHARPOSITIONFROMPOINT",2561
			,"SCI_CHARPOSITIONFROMPOINTCLOSE",2562
			,"SCI_CHARRIGHT",2306
			,"SCI_CHARRIGHTEXTEND",2307
			,"SCI_CHARRIGHTRECTEXTEND",2429
			,"SCI_CHOOSECARETX",2399
			,"SCI_CLEAR",2180
			,"SCI_CLEARALL",2004
			,"SCI_CLEARALLCMDKEYS",2072
			,"SCI_CLEARCMDKEY",2071
			,"SCI_CLEARDOCUMENTSTYLE",2005
			,"SCI_CLEARREGISTEREDIMAGES",2408
			,"SCI_CLEARSELECTIONS",2571
			,"SCI_COLOURISE",4003
			,"SCI_CONTRACTEDFOLDNEXT",2618
			,"SCI_CONVERTEOLS",2029
			,"SCI_COPY",2178
			,"SCI_COPYALLOWLINE",2519
			,"SCI_COPYRANGE",2419
			,"SCI_COPYTEXT",2420
			,"SCI_CREATEDOCUMENT",2375
			,"SCI_CUT",2177
			,"SCI_DELETEBACK",2326
			,"SCI_DELETEBACKNOTLINE",2344
			,"SCI_DELLINELEFT",2395
			,"SCI_DELLINERIGHT",2396
			,"SCI_DELWORDLEFT",2335
			,"SCI_DELWORDRIGHT",2336]
			_3 :=	["SCI_DELWORDRIGHTEND",2518
			,"SCI_DESCRIBEKEYWORDSETS",4017
			,"SCI_DESCRIBEPROPERTY",4016
			,"SCI_DOCLINEFROMVISIBLE",2221
			,"SCI_DOCUMENTEND",2318
			,"SCI_DOCUMENTENDEXTEND",2319
			,"SCI_DOCUMENTSTART",2316
			,"SCI_DOCUMENTSTARTEXTEND",2317
			,"SCI_EDITTOGGLEOVERTYPE",2324
			,"SCI_EMPTYUNDOBUFFER",2175
			,"SCI_ENCODEDFROMUTF8",2449
			,"SCI_ENDUNDOACTION",2079
			,"SCI_ENSUREVISIBLE",2232
			,"SCI_ENSUREVISIBLEENFORCEPOLICY",2234
			,"SCI_FINDCOLUMN",2456
			,"SCI_FINDTEXT",2150
			,"SCI_FORMATRANGE",2151
			,"SCI_FORMFEED",2330
			,"SCI_GETADDITIONALCARETFORE",2605
			,"SCI_GETADDITIONALCARETSBLINK",2568
			,"SCI_GETADDITIONALCARETSVISIBLE",2609
			,"SCI_GETADDITIONALSELALPHA",2603
			,"SCI_GETADDITIONALSELECTIONTYPING",2566
			,"SCI_GETANCHOR",2009
			,"SCI_GETBACKSPACEUNINDENTS",2263
			,"SCI_GETBUFFEREDDRAW",2034
			,"SCI_GETCARETFORE",2138
			,"SCI_GETCARETLINEBACK",2097
			,"SCI_GETCARETLINEBACKALPHA",2471
			,"SCI_GETCARETLINEVISIBLE",2095
			,"SCI_GETCARETPERIOD",2075
			,"SCI_GETCARETSTICKY",2457
			,"SCI_GETCARETSTYLE",2513
			,"SCI_GETCARETWIDTH",2189
			,"SCI_GETCHARACTERPOINTER",2520
			,"SCI_GETCHARAT",2007
			,"SCI_GETCODEPAGE",2137
			,"SCI_GETCOLUMN",2129
			,"SCI_GETCONTROLCHARSYMBOL",2389
			,"SCI_GETCURLINE",2027
			,"SCI_GETCURRENTPOS",2008
			,"SCI_GETCURSOR",2387
			,"SCI_GETDIRECTFUNCTION",2184
			,"SCI_GETDIRECTPOINTER",2185
			,"SCI_GETDOCPOINTER",2357
			,"SCI_GETEDGECOLOUR",2364
			,"SCI_GETEDGECOLUMN",2360
			,"SCI_GETEDGEMODE",2362
			,"SCI_GETENDATLASTLINE",2278
			,"SCI_GETENDSTYLED",2028]
			_4 :=	["SCI_GETEOLMODE",2030
			,"SCI_GETEXTRAASCENT",2526
			,"SCI_GETEXTRADESCENT",2528
			,"SCI_GETFIRSTVISIBLELINE",2152
			,"SCI_GETFOCUS",2381
			,"SCI_GETFOLDEXPANDED",2230
			,"SCI_GETFOLDLEVEL",2223
			,"SCI_GETFOLDPARENT",2225
			,"SCI_GETFONTQUALITY",2612
			,"SCI_GETHIGHLIGHTGUIDE",2135
			,"SCI_GETHOTSPOTACTIVEBACK",2495
			,"SCI_GETHOTSPOTACTIVEFORE",2494
			,"SCI_GETHOTSPOTACTIVEUNDERLINE",2496
			,"SCI_GETHOTSPOTSINGLELINE",2497
			,"SCI_GETHSCROLLBAR",2131
			,"SCI_GETINDENT",2123
			,"SCI_GETINDENTATIONGUIDES",2133
			,"SCI_GETINDICATORCURRENT",2501
			,"SCI_GETINDICATORVALUE",2503
			,"SCI_GETKEYSUNICODE",2522
			,"SCI_GETLASTCHILD",2224
			,"SCI_GETLAYOUTCACHE",2273
			,"SCI_GETLENGTH",2006
			,"SCI_GETLEXER",4002
			,"SCI_GETLEXERLANGUAGE",4012
			,"SCI_GETLINE",2153
			,"SCI_GETLINECOUNT",2154
			,"SCI_GETLINEENDPOSITION",2136
			,"SCI_GETLINEINDENTATION",2127
			,"SCI_GETLINEINDENTPOSITION",2128
			,"SCI_GETLINESELENDPOSITION",2425
			,"SCI_GETLINESELSTARTPOSITION",2424
			,"SCI_GETLINESTATE",2093
			,"SCI_GETLINEVISIBLE",2228
			,"SCI_GETMAINSELECTION",2575
			,"SCI_GETMARGINCURSORN",2249
			,"SCI_GETMARGINLEFT",2156
			,"SCI_GETMARGINMASKN",2245
			,"SCI_GETMARGINRIGHT",2158
			,"SCI_GETMARGINSENSITIVEN",2247
			,"SCI_GETMARGINTYPEN",2241
			,"SCI_GETMARGINWIDTHN",2243
			,"SCI_GETMAXLINESTATE",2094
			,"SCI_GETMODEVENTMASK",2378
			,"SCI_GETMODIFY",2159
			,"SCI_GETMOUSEDOWNCAPTURES",2385
			,"SCI_GETMOUSEDWELLTIME",2265
			,"SCI_GETMULTIPASTE",2615
			,"SCI_GETMULTIPLESELECTION",2564
			,"SCI_GETOVERTYPE",2187]
			_5 :=	["SCI_GETPASTECONVERTENDINGS",2468
			,"SCI_GETPOSITIONCACHE",2515
			,"SCI_GETPRINTCOLOURMODE",2149
			,"SCI_GETPRINTMAGNIFICATION",2147
			,"SCI_GETPRINTWRAPMODE",2407
			,"SCI_GETPROPERTY",4008
			,"SCI_GETPROPERTYEXPANDED",4009
			,"SCI_GETPROPERTYINT",4010
			,"SCI_GETREADONLY",2140
			,"SCI_GETRECTANGULARSELECTIONANCHOR",2591
			,"SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE",2595
			,"SCI_GETRECTANGULARSELECTIONCARET",2589
			,"SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE",2593
			,"SCI_GETRECTANGULARSELECTIONMODIFIER",2599
			,"SCI_GETSCROLLWIDTH",2275
			,"SCI_GETSCROLLWIDTHTRACKING",2517
			,"SCI_GETSEARCHFLAGS",2199
			,"SCI_GETSELALPHA",2477
			,"SCI_GETSELECTIONEND",2145
			,"SCI_GETSELECTIONMODE",2423
			,"SCI_GETSELECTIONNANCHOR",2579
			,"SCI_GETSELECTIONNANCHORVIRTUALSPACE",2583
			,"SCI_GETSELECTIONNCARET",2577
			,"SCI_GETSELECTIONNCARETVIRTUALSPACE",2581
			,"SCI_GETSELECTIONNEND",2587
			,"SCI_GETSELECTIONNSTART",2585
			,"SCI_GETSELECTIONS",2570
			,"SCI_GETSELECTIONSTART",2143
			,"SCI_GETSELEOLFILLED",2479
			,"SCI_GETSELTEXT",2161
			,"SCI_GETSTATUS",2383
			,"SCI_GETSTYLEAT",2010
			,"SCI_GETSTYLEBITS",2091
			,"SCI_GETSTYLEBITSNEEDED",4011
			,"SCI_GETSTYLEDTEXT",2015
			,"SCI_GETTABINDENTS",2261
			,"SCI_GETTABWIDTH",2121
			,"SCI_GETTAG",2616
			,"SCI_GETTARGETEND",2193
			,"SCI_GETTARGETSTART",2191
			,"SCI_GETTEXT",2182
			,"SCI_GETTEXTLENGTH",2183
			,"SCI_GETTEXTRANGE",2162
			,"SCI_GETTWOPHASEDRAW",2283
			,"SCI_GETUNDOCOLLECTION",2019
			,"SCI_GETUSEPALETTE",2139
			,"SCI_GETUSETABS",2125
			,"SCI_GETVIEWEOL",2355
			,"SCI_GETVIEWWS",2020
			,"SCI_GETVIRTUALSPACEOPTIONS",2597]
			_6 :=	["SCI_GETVSCROLLBAR",2281
			,"SCI_GETWHITESPACESIZE",2087
			,"SCI_GETWRAPINDENTMODE",2473
			,"SCI_GETWRAPMODE",2269
			,"SCI_GETWRAPSTARTINDENT",2465
			,"SCI_GETWRAPVISUALFLAGS",2461
			,"SCI_GETWRAPVISUALFLAGSLOCATION",2463
			,"SCI_GETXOFFSET",2398
			,"SCI_GETZOOM",2374
			,"SCI_GOTOLINE",2024
			,"SCI_GOTOPOS",2025
			,"SCI_GRABFOCUS",2400
			,"SCI_HIDELINES",2227
			,"SCI_HIDESELECTION",2163
			,"SCI_HOME",2312
			,"SCI_HOMEDISPLAY",2345
			,"SCI_HOMEDISPLAYEXTEND",2346
			,"SCI_HOMEEXTEND",2313
			,"SCI_HOMERECTEXTEND",2430
			,"SCI_HOMEWRAP",2349
			,"SCI_HOMEWRAPEXTEND",2450
			,"SCI_INDICATORALLONFOR",2506
			,"SCI_INDICATORCLEARRANGE",2505
			,"SCI_INDICATOREND",2509
			,"SCI_INDICATORFILLRANGE",2504
			,"SCI_INDICATORSTART",2508
			,"SCI_INDICATORVALUEAT",2507
			,"SCI_INDICGETALPHA",2524
			,"SCI_INDICGETFORE",2083
			,"SCI_INDICGETSTYLE",2081
			,"SCI_INDICGETUNDER",2511
			,"SCI_INDICSETALPHA",2523
			,"SCI_INDICSETFORE",2082
			,"SCI_INDICSETSTYLE",2080
			,"SCI_INDICSETUNDER",2510
			,"SCI_INSERTTEXT",2003
			,"SCI_LEXER_START",4000
			,"SCI_LINECOPY",2455
			,"SCI_LINECUT",2337
			,"SCI_LINEDELETE",2338
			,"SCI_LINEDOWN",2300
			,"SCI_LINEDOWNEXTEND",2301
			,"SCI_LINEDOWNRECTEXTEND",2426
			,"SCI_LINEDUPLICATE",2404
			,"SCI_LINEEND",2314
			,"SCI_LINEENDDISPLAY",2347
			,"SCI_LINEENDDISPLAYEXTEND",2348
			,"SCI_LINEENDEXTEND",2315
			,"SCI_LINEENDRECTEXTEND",2432
			,"SCI_LINEENDWRAP",2451]
			_7 :=	["SCI_LINEENDWRAPEXTEND",2452
			,"SCI_LINEFROMPOSITION",2166
			,"SCI_LINELENGTH",2350
			,"SCI_LINESCROLL",2168
			,"SCI_LINESCROLLDOWN",2342
			,"SCI_LINESCROLLUP",2343
			,"SCI_LINESJOIN",2288
			,"SCI_LINESONSCREEN",2370
			,"SCI_LINESSPLIT",2289
			,"SCI_LINETRANSPOSE",2339
			,"SCI_LINEUP",2302
			,"SCI_LINEUPEXTEND",2303
			,"SCI_LINEUPRECTEXTEND",2427
			,"SCI_LOADLEXERLIBRARY",4007
			,"SCI_LOWERCASE",2340
			,"SCI_MARGINGETSTYLE",2533
			,"SCI_MARGINGETSTYLEOFFSET",2538
			,"SCI_MARGINGETSTYLES",2535
			,"SCI_MARGINGETTEXT",2531
			,"SCI_MARGINSETSTYLE",2532
			,"SCI_MARGINSETSTYLEOFFSET",2537
			,"SCI_MARGINSETSTYLES",2534
			,"SCI_MARGINSETTEXT",2530
			,"SCI_MARGINTEXTCLEARALL",2536
			,"SCI_MARKERADD",2043
			,"SCI_MARKERADDSET",2466
			,"SCI_MARKERDEFINE",2040
			,"SCI_MARKERDEFINEPIXMAP",2049
			,"SCI_MARKERDELETE",2044
			,"SCI_MARKERDELETEALL",2045
			,"SCI_MARKERDELETEHANDLE",2018
			,"SCI_MARKERGET",2046
			,"SCI_MARKERLINEFROMHANDLE",2017
			,"SCI_MARKERNEXT",2047
			,"SCI_MARKERPREVIOUS",2048
			,"SCI_MARKERSETALPHA",2476
			,"SCI_MARKERSETBACK",2042
			,"SCI_MARKERSETFORE",2041
			,"SCI_MARKERSYMBOLDEFINED",2529
			,"SCI_MOVECARETINSIDEVIEW",2401
			,"SCI_NEWLINE",2329
			,"SCI_NULL",2172
			,"SCI_OPTIONAL_START",3000
			,"SCI_PAGEDOWN",2322
			,"SCI_PAGEDOWNEXTEND",2323
			,"SCI_PAGEDOWNRECTEXTEND",2434
			,"SCI_PAGEUP",2320
			,"SCI_PAGEUPEXTEND",2321
			,"SCI_PAGEUPRECTEXTEND",2433
			,"SCI_PARADOWN",2413]
			_8 :=	["SCI_PARADOWNEXTEND",2414
			,"SCI_PARAUP",2415
			,"SCI_PARAUPEXTEND",2416
			,"SCI_PASTE",2179
			,"SCI_POINTXFROMPOSITION",2164
			,"SCI_POINTYFROMPOSITION",2165
			,"SCI_POSITIONAFTER",2418
			,"SCI_POSITIONBEFORE",2417
			,"SCI_POSITIONFROMLINE",2167
			,"SCI_POSITIONFROMPOINT",2022
			,"SCI_POSITIONFROMPOINTCLOSE",2023
			,"SCI_PRIVATELEXERCALL",4013
			,"SCI_PROPERTYNAMES",4014
			,"SCI_PROPERTYTYPE",4015
			,"SCI_REDO",2011
			,"SCI_REGISTERIMAGE",2405
			,"SCI_RELEASEDOCUMENT",2377
			,"SCI_REPLACESEL",2170
			,"SCI_REPLACETARGET",2194
			,"SCI_REPLACETARGETRE",2195
			,"SCI_ROTATESELECTION",2606
			,"SCI_SCROLLCARET",2169
			,"SCI_SEARCHANCHOR",2366
			,"SCI_SEARCHINTARGET",2197
			,"SCI_SEARCHNEXT",2367
			,"SCI_SEARCHPREV",2368
			,"SCI_SELECTALL",2013
			,"SCI_SELECTIONDUPLICATE",2469
			,"SCI_SELECTIONISRECTANGLE",2372
			,"SCI_SETADDITIONALCARETFORE",2604
			,"SCI_SETADDITIONALCARETSBLINK",2567
			,"SCI_SETADDITIONALCARETSVISIBLE",2608
			,"SCI_SETADDITIONALSELALPHA",2602
			,"SCI_SETADDITIONALSELBACK",2601
			,"SCI_SETADDITIONALSELECTIONTYPING",2565
			,"SCI_SETADDITIONALSELFORE",2600
			,"SCI_SETANCHOR",2026
			,"SCI_SETBACKSPACEUNINDENTS",2262
			,"SCI_SETBUFFEREDDRAW",2035
			,"SCI_SETCARETFORE",2069
			,"SCI_SETCARETLINEBACK",2098
			,"SCI_SETCARETLINEBACKALPHA",2470
			,"SCI_SETCARETLINEVISIBLE",2096
			,"SCI_SETCARETPERIOD",2076
			,"SCI_SETCARETSTICKY",2458
			,"SCI_SETCARETSTYLE",2512
			,"SCI_SETCARETWIDTH",2188
			,"SCI_SETCHARSDEFAULT",2444
			,"SCI_SETCODEPAGE",2037
			,"SCI_SETCONTROLCHARSYMBOL",2388]
			_9 :=	["SCI_SETCURRENTPOS",2141
			,"SCI_SETCURSOR",2386
			,"SCI_SETDOCPOINTER",2358
			,"SCI_SETEDGECOLOUR",2365
			,"SCI_SETEDGECOLUMN",2361
			,"SCI_SETEDGEMODE",2363
			,"SCI_SETENDATLASTLINE",2277
			,"SCI_SETEOLMODE",2031
			,"SCI_SETEXTRAASCENT",2525
			,"SCI_SETEXTRADESCENT",2527
			,"SCI_SETFIRSTVISIBLELINE",2613
			,"SCI_SETFOCUS",2380
			,"SCI_SETFOLDEXPANDED",2229
			,"SCI_SETFOLDFLAGS",2233
			,"SCI_SETFOLDLEVEL",2222
			,"SCI_SETFOLDMARGINCOLOUR",2290
			,"SCI_SETFOLDMARGINHICOLOUR",2291
			,"SCI_SETFONTQUALITY",2611
			,"SCI_SETHIGHLIGHTGUIDE",2134
			,"SCI_SETHOTSPOTACTIVEBACK",2411
			,"SCI_SETHOTSPOTACTIVEFORE",2410
			,"SCI_SETHOTSPOTACTIVEUNDERLINE",2412
			,"SCI_SETHOTSPOTSINGLELINE",2421
			,"SCI_SETHSCROLLBAR",2130
			,"SCI_SETINDENT",2122
			,"SCI_SETINDENTATIONGUIDES",2132
			,"SCI_SETINDICATORCURRENT",2500
			,"SCI_SETINDICATORVALUE",2502
			,"SCI_SETKEYSUNICODE",2521
			,"SCI_SETKEYWORDS",4005
			,"SCI_SETLAYOUTCACHE",2272
			,"SCI_SETLENGTHFORENCODE",2448
			,"SCI_SETLEXER",4001
			,"SCI_SETLEXERLANGUAGE",4006
			,"SCI_SETLINEINDENTATION",2126
			,"SCI_SETLINESTATE",2092
			,"SCI_SETMAINSELECTION",2574
			,"SCI_SETMARGINCURSORN",2248
			,"SCI_SETMARGINLEFT",2155
			,"SCI_SETMARGINMASKN",2244
			,"SCI_SETMARGINRIGHT",2157
			,"SCI_SETMARGINSENSITIVEN",2246
			,"SCI_SETMARGINTYPEN",2240
			,"SCI_SETMARGINWIDTHN",2242
			,"SCI_SETMODEVENTMASK",2359
			,"SCI_SETMOUSEDOWNCAPTURES",2384
			,"SCI_SETMOUSEDWELLTIME",2264
			,"SCI_SETMULTIPASTE",2614
			,"SCI_SETMULTIPLESELECTION",2563
			,"SCI_SETOVERTYPE",2186]
			_10 :=	["SCI_SETPASTECONVERTENDINGS",2467
			,"SCI_SETPOSITIONCACHE",2514
			,"SCI_SETPRINTCOLOURMODE",2148
			,"SCI_SETPRINTMAGNIFICATION",2146
			,"SCI_SETPRINTWRAPMODE",2406
			,"SCI_SETPROPERTY",4004
			,"SCI_SETREADONLY",2171
			,"SCI_SETRECTANGULARSELECTIONANCHOR",2590
			,"SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE",2594
			,"SCI_SETRECTANGULARSELECTIONCARET",2588
			,"SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE",2592
			,"SCI_SETRECTANGULARSELECTIONMODIFIER",2598
			,"SCI_SETSAVEPOINT",2014
			,"SCI_SETSCROLLWIDTH",2274
			,"SCI_SETSCROLLWIDTHTRACKING",2516
			,"SCI_SETSEARCHFLAGS",2198
			,"SCI_SETSEL",2160
			,"SCI_SETSELALPHA",2478
			,"SCI_SETSELBACK",2068
			,"SCI_SETSELECTION",2572
			,"SCI_SETSELECTIONEND",2144
			,"SCI_SETSELECTIONMODE",2422
			,"SCI_SETSELECTIONNANCHOR",2578
			,"SCI_SETSELECTIONNANCHORVIRTUALSPACE",2582
			,"SCI_SETSELECTIONNCARET",2576
			,"SCI_SETSELECTIONNCARETVIRTUALSPACE",2580
			,"SCI_SETSELECTIONNEND",2586
			,"SCI_SETSELECTIONNSTART",2584
			,"SCI_SETSELECTIONSTART",2142
			,"SCI_SETSELEOLFILLED",2480
			,"SCI_SETSELFORE",2067
			,"SCI_SETSTATUS",2382
			,"SCI_SETSTYLEBITS",2090
			,"SCI_SETSTYLING",2033
			,"SCI_SETSTYLINGEX",2073
			,"SCI_SETTABINDENTS",2260
			,"SCI_SETTABWIDTH",2036
			,"SCI_SETTARGETEND",2192
			,"SCI_SETTARGETSTART",2190
			,"SCI_SETTEXT",2181
			,"SCI_SETTWOPHASEDRAW",2284
			,"SCI_SETUNDOCOLLECTION",2012
			,"SCI_SETUSEPALETTE",2039
			,"SCI_SETUSETABS",2124
			,"SCI_SETVIEWEOL",2356
			,"SCI_SETVIEWWS",2021
			,"SCI_SETVIRTUALSPACEOPTIONS",2596
			,"SCI_SETVISIBLEPOLICY",2394
			,"SCI_SETVSCROLLBAR",2280
			,"SCI_SETWHITESPACEBACK",2085]
			_11 :=	["SCI_SETWHITESPACECHARS",2443
			,"SCI_SETWHITESPACEFORE",2084
			,"SCI_SETWHITESPACESIZE",2086
			,"SCI_SETWORDCHARS",2077
			,"SCI_SETWRAPINDENTMODE",2472
			,"SCI_SETWRAPMODE",2268
			,"SCI_SETWRAPSTARTINDENT",2464
			,"SCI_SETWRAPVISUALFLAGS",2460
			,"SCI_SETWRAPVISUALFLAGSLOCATION",2462
			,"SCI_SETXCARETPOLICY",2402
			,"SCI_SETXOFFSET",2397
			,"SCI_SETYCARETPOLICY",2403
			,"SCI_SETZOOM",2373
			,"SCI_SHOWLINES",2226
			,"SCI_START",2000
			,"SCI_STARTRECORD",3001
			,"SCI_STARTSTYLING",2032
			,"SCI_STOPRECORD",3002
			,"SCI_STUTTEREDPAGEDOWN",2437
			,"SCI_STUTTEREDPAGEDOWNEXTEND",2438
			,"SCI_STUTTEREDPAGEUP",2435
			,"SCI_STUTTEREDPAGEUPEXTEND",2436
			,"SCI_STYLECLEARALL",2050
			,"SCI_STYLEGETBACK",2482
			,"SCI_STYLEGETBOLD",2483
			,"SCI_STYLEGETCASE",2489
			,"SCI_STYLEGETCHANGEABLE",2492
			,"SCI_STYLEGETCHARACTERSET",2490
			,"SCI_STYLEGETEOLFILLED",2487
			,"SCI_STYLEGETFONT",2486
			,"SCI_STYLEGETFORE",2481
			,"SCI_STYLEGETHOTSPOT",2493
			,"SCI_STYLEGETITALIC",2484
			,"SCI_STYLEGETSIZE",2485
			,"SCI_STYLEGETUNDERLINE",2488
			,"SCI_STYLEGETVISIBLE",2491
			,"SCI_STYLERESETDEFAULT",2058
			,"SCI_STYLESETBACK",2052
			,"SCI_STYLESETBOLD",2053
			,"SCI_STYLESETCASE",2060
			,"SCI_STYLESETCHANGEABLE",2099
			,"SCI_STYLESETCHARACTERSET",2066
			,"SCI_STYLESETEOLFILLED",2057
			,"SCI_STYLESETFONT",2056
			,"SCI_STYLESETFORE",2051
			,"SCI_STYLESETHOTSPOT",2409
			,"SCI_STYLESETITALIC",2054
			,"SCI_STYLESETSIZE",2055
			,"SCI_STYLESETUNDERLINE",2059
			,"SCI_STYLESETVISIBLE",2074]
			_12 :=	["SCI_SWAPMAINANCHORCARET",2607
			,"SCI_TAB",2327
			,"SCI_TARGETASUTF8",2447
			,"SCI_TARGETFROMSELECTION",2287
			,"SCI_TEXTHEIGHT",2279
			,"SCI_TEXTWIDTH",2276
			,"SCI_TOGGLECARETSTICKY",2459
			,"SCI_TOGGLEFOLD",2231
			,"SCI_UNDO",2176
			,"SCI_UPPERCASE",2341
			,"SCI_USEPOPUP",2371
			,"SCI_USERLISTSHOW",2117
			,"SCI_VCHOME",2331
			,"SCI_VCHOMEEXTEND",2332
			,"SCI_VCHOMERECTEXTEND",2431
			,"SCI_VCHOMEWRAP",2453
			,"SCI_VCHOMEWRAPEXTEND",2454
			,"SCI_VERTICALCENTRECARET",2619
			,"SCI_VISIBLEFROMDOCLINE",2220
			,"SCI_WORDENDPOSITION",2267
			,"SCI_WORDLEFT",2308
			,"SCI_WORDLEFTEND",2439
			,"SCI_WORDLEFTENDEXTEND",2440
			,"SCI_WORDLEFTEXTEND",2309
			,"SCI_WORDPARTLEFT",2390
			,"SCI_WORDPARTLEFTEXTEND",2391
			,"SCI_WORDPARTRIGHT",2392
			,"SCI_WORDPARTRIGHTEXTEND",2393
			,"SCI_WORDRIGHT",2310
			,"SCI_WORDRIGHTEND",2441
			,"SCI_WORDRIGHTENDEXTEND",2442
			,"SCI_WORDRIGHTEXTEND",2311
			,"SCI_WORDSTARTPOSITION",2266
			,"SCI_WRAPCOUNT",2235
			,"SCI_ZOOMIN",2333
			,"SCI_ZOOMOUT",2334
			,"ANNOTATION_BOXED",2
			,"ANNOTATION_HIDDEN",0
			,"ANNOTATION_STANDARD",1
			,"CARET_EVEN",0x08
			,"CARET_JUMPS",0x10
			,"CARET_SLOP",0x01
			,"CARET_STRICT",0x04
			,"CARETSTYLE_BLOCK",2
			,"CARETSTYLE_INVISIBLE",0
			,"CARETSTYLE_LINE",1
			,"EDGE_BACKGROUND",2
			,"EDGE_LINE",1
			,"EDGE_NONE",0
			,"INDIC_BOX",6]
			_13 :=	["INDIC_CONTAINER",8
			,"INDIC_DIAGONAL",3
			,"INDIC_HIDDEN",5
			,"INDIC_MAX",31
			,"INDIC_PLAIN",0
			,"INDIC_ROUNDBOX",7
			,"INDIC_SQUIGGLE",1
			,"INDIC_STRIKE",4
			,"INDIC_TT",2
			,"INDIC0_MASK",0x20
			,"INDIC1_MASK",0x40
			,"INDIC2_MASK",0x80
			,"INDICS_MASK",0xE0
			,"INVALID_POSITION",-1
			,"KEYWORDSET_MAX",8
			,"MARKER_MAX",31
			,"SC_ALPHA_NOALPHA",256
			,"SC_ALPHA_OPAQUE",255
			,"SC_ALPHA_TRANSPARENT",0
			,"SC_CACHE_CARET",1
			,"SC_CACHE_DOCUMENT",3
			,"SC_CACHE_NONE",0
			,"SC_CACHE_PAGE",2
			,"SC_CARETSTICKY_OFF",0
			,"SC_CARETSTICKY_ON",1
			,"SC_CARETSTICKY_WHITESPACE",2
			,"SC_CASE_LOWER",2
			,"SC_CASE_MIXED",0
			,"SC_CASE_UPPER",1
			,"SC_CHARSET_8859_15",1000
			,"SC_CHARSET_ANSI",0
			,"SC_CHARSET_ARABIC",178
			,"SC_CHARSET_BALTIC",186
			,"SC_CHARSET_CHINESEBIG5",136
			,"SC_CHARSET_CYRILLIC",1251
			,"SC_CHARSET_DEFAULT",1
			,"SC_CHARSET_EASTEUROPE",238
			,"SC_CHARSET_GB2312",134
			,"SC_CHARSET_GREEK",161
			,"SC_CHARSET_HANGUL",129
			,"SC_CHARSET_HEBREW",177
			,"SC_CHARSET_JOHAB",130
			,"SC_CHARSET_MAC",77
			,"SC_CHARSET_OEM",255
			,"SC_CHARSET_RUSSIAN",204
			,"SC_CHARSET_SHIFTJIS",128
			,"SC_CHARSET_SYMBOL",2
			,"SC_CHARSET_THAI",222
			,"SC_CHARSET_TURKISH",162
			,"SC_CHARSET_VIETNAMESE",163]
			_14 :=	["SC_CP_UTF8",65001
			,"SC_CURSORARROW",2
			,"SC_CURSORNORMAL",-1
			,"SC_CURSORREVERSEARROW",7
			,"SC_CURSORWAIT",4
			,"SC_EFF_QUALITY_ANTIALIASED",2
			,"SC_EFF_QUALITY_DEFAULT",0
			,"SC_EFF_QUALITY_LCD_OPTIMIZED",3
			,"SC_EFF_QUALITY_MASK",0xF
			,"SC_EFF_QUALITY_NON_ANTIALIASED",1
			,"SC_EOL_CR",1
			,"SC_EOL_CRLF",0
			,"SC_EOL_LF",2
			,"SC_FOLDFLAG_LEVELNUMBERS",0x0040
			,"SC_FOLDFLAG_LINEAFTER_CONTRACTED",0x0010
			,"SC_FOLDFLAG_LINEAFTER_EXPANDED",0x0008
			,"SC_FOLDFLAG_LINEBEFORE_CONTRACTED",0x0004
			,"SC_FOLDFLAG_LINEBEFORE_EXPANDED",0x0002
			,"SC_FOLDLEVELBASE",0x400
			,"SC_FOLDLEVELHEADERFLAG",0x2000
			,"SC_FOLDLEVELNUMBERMASK",0x0FFF
			,"SC_FOLDLEVELWHITEFLAG",0x1000
			,"SC_IV_LOOKBOTH",3
			,"SC_IV_LOOKFORWARD",2
			,"SC_IV_NONE",0
			,"SC_IV_REAL",1
			,"SC_LASTSTEPINUNDOREDO",0x100
			,"SC_MARGIN_BACK",2
			,"SC_MARGIN_FORE",3
			,"SC_MARGIN_NUMBER",1
			,"SC_MARGIN_RTEXT",5
			,"SC_MARGIN_SYMBOL",0
			,"SC_MARGIN_TEXT",4
			,"SC_MARK_ARROW",2
			,"SC_MARK_ARROWDOWN",6
			,"SC_MARK_ARROWS",24
			,"SC_MARK_AVAILABLE",28
			,"SC_MARK_BACKGROUND",22
			,"SC_MARK_BOXMINUS",14
			,"SC_MARK_BOXMINUSCONNECTED",15
			,"SC_MARK_BOXPLUS",12
			,"SC_MARK_BOXPLUSCONNECTED",13
			,"SC_MARK_CHARACTER",10000
			,"SC_MARK_CIRCLE",0
			,"SC_MARK_CIRCLEMINUS",20
			,"SC_MARK_CIRCLEMINUSCONNECTED",21
			,"SC_MARK_CIRCLEPLUS",18
			,"SC_MARK_CIRCLEPLUSCONNECTED",19
			,"SC_MARK_DOTDOTDOT",23
			,"SC_MARK_EMPTY",5]
			_15 :=	["SC_MARK_FULLRECT",26
			,"SC_MARK_LCORNER",10
			,"SC_MARK_LCORNERCURVE",16
			,"SC_MARK_LEFTRECT",27
			,"SC_MARK_MINUS",7
			,"SC_MARK_PIXMAP",25
			,"SC_MARK_PLUS",8
			,"SC_MARK_ROUNDRECT",1
			,"SC_MARK_SHORTARROW",4
			,"SC_MARK_SMALLRECT",3
			,"SC_MARK_TCORNER",11
			,"SC_MARK_TCORNERCURVE",17
			,"SC_MARK_UNDERLINE",29
			,"SC_MARK_VLINE",9
			,"SC_MARKNUM_FOLDER",30
			,"SC_MARKNUM_FOLDEREND",25
			,"SC_MARKNUM_FOLDERMIDTAIL",27
			,"SC_MARKNUM_FOLDEROPEN",31
			,"SC_MARKNUM_FOLDEROPENMID",26
			,"SC_MARKNUM_FOLDERSUB",29
			,"SC_MARKNUM_FOLDERTAIL",28
			,"SC_MASK_FOLDERS",0xFE000000
			,"SC_MOD_BEFOREDELETE",0x800
			,"SC_MOD_BEFOREINSERT",0x400
			,"SC_MOD_CHANGEANNOTATION",0x20000
			,"SC_MOD_CHANGEFOLD",0x8
			,"SC_MOD_CHANGEINDICATOR",0x4000
			,"SC_MOD_CHANGELINESTATE",0x8000
			,"SC_MOD_CHANGEMARGIN",0x10000
			,"SC_MOD_CHANGEMARKER",0x200
			,"SC_MOD_CHANGESTYLE",0x4
			,"SC_MOD_CONTAINER",0x40000
			,"SC_MOD_DELETETEXT",0x2
			,"SC_MOD_INSERTTEXT",0x1
			,"SC_MOD_LEXERSTATE",0x80000
			,"SC_MODEVENTMASKALL",0xFFFFF
			,"SC_MULTILINEUNDOREDO",0x1000
			,"SC_MULTIPASTE_EACH",1
			,"SC_MULTIPASTE_ONCE",0
			,"SC_MULTISTEPUNDOREDO",0x80
			,"SC_PERFORMED_REDO",0x40
			,"SC_PERFORMED_UNDO",0x20
			,"SC_PERFORMED_USER",0x10
			,"SC_PRINT_BLACKONWHITE",2
			,"SC_PRINT_COLOURONWHITE",3
			,"SC_PRINT_COLOURONWHITEDEFAULTBG",4
			,"SC_PRINT_INVERTLIGHT",1
			,"SC_PRINT_NORMAL",0
			,"SC_SEL_LINES",2
			,"SC_SEL_RECTANGLE",1]
			_16 :=	["SC_SEL_STREAM",0
			,"SC_SEL_THIN",3
			,"SC_STARTACTION",0x2000
			,"SC_STATUS_BADALLOC",2
			,"SC_STATUS_FAILURE",1
			,"SC_STATUS_OK",0
			,"SC_TIME_FOREVER",10000000
			,"SC_TYPE_BOOLEAN",0
			,"SC_TYPE_INTEGER",1
			,"SC_TYPE_STRING",2
			,"SC_UPDATE_CONTENT",0x1
			,"SC_UPDATE_H_SCROLL",0x8
			,"SC_UPDATE_SELECTION",0x2
			,"SC_UPDATE_V_SCROLL",0x4
			,"SC_WRAP_CHAR",2
			,"SC_WRAP_NONE",0
			,"SC_WRAP_WORD",1
			,"SC_WRAPINDENT_FIXED",0
			,"SC_WRAPINDENT_INDENT",2
			,"SC_WRAPINDENT_SAME",1
			,"SC_WRAPVISUALFLAG_END",0x0001
			,"SC_WRAPVISUALFLAG_NONE",0x0000
			,"SC_WRAPVISUALFLAG_START",0x0002
			,"SC_WRAPVISUALFLAGLOC_DEFAULT",0x0000
			,"SC_WRAPVISUALFLAGLOC_END_BY_TEXT",0x0001
			,"SC_WRAPVISUALFLAGLOC_START_BY_TEXT",0x0002
			,"SCEN_CHANGE",768
			,"SCEN_KILLFOCUS",256
			,"SCEN_SETFOCUS",512
			,"SCFIND_MATCHCASE",4
			,"SCFIND_POSIX",0x00400000
			,"SCFIND_REGEXP",0x00200000
			,"SCFIND_WHOLEWORD",2
			,"SCFIND_WORDSTART",0x00100000
			,"SCK_ADD",310
			,"SCK_BACK",8
			,"SCK_DELETE",308
			,"SCK_DIVIDE",312
			,"SCK_DOWN",300
			,"SCK_END",305
			,"SCK_ESCAPE",7
			,"SCK_HOME",304
			,"SCK_INSERT",309
			,"SCK_LEFT",302
			,"SCK_MENU",315
			,"SCK_NEXT",307
			,"SCK_PRIOR",306
			,"SCK_RETURN",13
			,"SCK_RIGHT",303
			,"SCK_RWIN",314]
			_17 :=	["SCK_SUBTRACT",311
			,"SCK_TAB",9
			,"SCK_UP",301
			,"SCK_WIN",313
			,"SCMOD_ALT",4
			,"SCMOD_CTRL",2
			,"SCMOD_NORM",0
			,"SCMOD_SHIFT",1
			,"SCMOD_SUPER",8
			,"SCN_AUTOCCANCELLED",2025
			,"SCN_AUTOCCHARDELETED",2026
			,"SCN_AUTOCSELECTION",2022
			,"SCN_CALLTIPCLICK",2021
			,"SCN_CHARADDED",2001
			,"SCN_DOUBLECLICK",2006
			,"SCN_DWELLEND",2017
			,"SCN_DWELLSTART",2016
			,"SCN_HOTSPOTCLICK",2019
			,"SCN_HOTSPOTDOUBLECLICK",2020
			,"SCN_HOTSPOTRELEASECLICK",2027
			,"SCN_INDICATORCLICK",2023
			,"SCN_INDICATORRELEASE",2024
			,"SCN_KEY",2005
			,"SCN_MACRORECORD",2009
			,"SCN_MARGINCLICK",2010
			,"SCN_MODIFIED",2008
			,"SCN_MODIFYATTEMPTRO",2004
			,"SCN_NEEDSHOWN",2011
			,"SCN_PAINTED",2013
			,"SCN_SAVEPOINTLEFT",2003
			,"SCN_SAVEPOINTREACHED",2002
			,"SCN_STYLENEEDED",2000
			,"SCN_UPDATEUI",2007
			,"SCN_URIDROPPED",2015
			,"SCN_USERLISTSELECTION",2014
			,"SCN_ZOOM",2018
			,"SCVS_NONE",0
			,"SCVS_RECTANGULARSELECTION",1
			,"SCVS_USERACCESSIBLE",2
			,"SCWS_INVISIBLE",0
			,"SCWS_VISIBLEAFTERINDENT",2
			,"SCWS_VISIBLEALWAYS",1
			,"STYLE_BRACEBAD",35
			,"STYLE_BRACELIGHT",34
			,"STYLE_CALLTIP",38
			,"STYLE_CONTROLCHAR",36
			,"STYLE_DEFAULT",32
			,"STYLE_INDENTGUIDE",37
			,"STYLE_LASTPREDEFINED",39
			,"STYLE_LINENUMBER",33
			,"STYLE_MAX",255
			,"UNDO_MAY_COALESCE",1
			,"VISIBLE_SLOP",0x01
			,"VISIBLE_STRICT",0x04]
			t :=	[]
			Loop, 17
				t.Insert(1,_%A_Index%*)
			CONSTANTS :=	Object(t*)
	}
	return	CONSTANTS[Constant]
}


#7 HotKeyIt

HotKeyIt
  • Fellows
  • 6119 posts

Posted 26 May 2011 - 07:56 PM

I am currently writing an Editor called AhkTE using SciLexer.dll.

Here is a preview :)

Posted Image

I always wanted to have an professional editor written fully in AHK and now I finally understand enough about SciLexer.dll to start that project.

I would love to get many coders working together on this big project :)

I will create a new thread as soon as AhkTE is ready for public, should not take too long.

These are the wrappers I currently use: (require AutoHotkey 1.1 and Struct())
Class _RemoteBuf
Class _Scintilla

#8 shajul

shajul
  • Members
  • 571 posts

Posted 27 May 2011 - 04:40 AM

might I suggest an easier method for the function containing the constants repository?

You never fail to amaze me with all your regex or object tricks!

But i would rather keep it as it is, so that you can save the constants to an INI file. The script can then read only the constant required and save it as a static variable, without loading everything to memory. I just used this function so that it may be a self-contained library, but this increases the working memory of the script by ~150-200K.


These are the wrappers I currently use

Wonderful. You have wrapped all the functions. I am linking this wrapper set to the OP.

BTW, i notice you are using direct function call like SCI_Call(). In my limited tests, i find that SCI_Send() is faster than SCI_Call() (i.e, SendMessage is faster than direct function call), though in the Scintilla docs it is mentioned direct function call is faster. Maybe because AHK is interpreted, and DllCall is not as fast anyway.

I would love to get many coders working together on this big project Posted Image

Glad if i can be of any help. :)

#9 maul.esel

maul.esel
  • Members
  • 790 posts

Posted 28 May 2011 - 10:28 AM

Thanks, both the lib and HotKeyIt's classes look fine!

@HotKeyIt: maybe you should add a note that your classes require Struct().
And please could you just look at your classes and post a v2 compatible version :?: :) This would help me A LOT.
(I think the most difficult thing with v2 is Struct()... ("@" in var names!)
Could you try to avoid it? I don't yet understand this part, so I unfortunately can't do it myself :( )
And just one more question: does your editor also implement calltips?

Regards
maul.esel

#10 Learning one

Learning one
  • Members
  • 1292 posts

Posted 28 May 2011 - 11:15 AM

Great job! Thanks for sharing! :)

#11 HotKeyIt

HotKeyIt
  • Fellows
  • 6119 posts

Posted 28 May 2011 - 11:28 AM

Requires Struct() added.
I will post a v2 compatible version with next v2 version.
Of course calltips are implemented.

#12 shajul

shajul
  • Members
  • 571 posts

Posted 29 May 2011 - 08:30 AM

@HotKeyIt: Any idea on how to display unicode text correctly with _Scintilla.ahk library.

I tried sc.SETCODEPAGE(SC_CP_UTF8), it still fails on UTF-16 chars. There seems to be no SC_CP_UTF16 :(

#13 HotKeyIt

HotKeyIt
  • Fellows
  • 6119 posts

Posted 29 May 2011 - 08:35 AM

It seems to work using sc.SETCODEPAGE(65001) for UTF-16 as well, though I am not sure if it is right.

#14 shajul

shajul
  • Members
  • 571 posts

Posted 29 May 2011 - 08:36 AM

ὴ γλῶσσα μοῦ ἔδωσαν

i was testing with that string, some of the chars do not show up..

#15 HotKeyIt

HotKeyIt
  • Fellows
  • 6119 posts

Posted 29 May 2011 - 09:12 AM

The same is displayed in notepad++ and SciTE :(