| |
|
|
| 0.98 -> In der Funktionskeywordliste fehlt if
XPrfEditClass.Prf:
#Finde: .SciMessage(~SCI_SETKEYWORDS, 2, Addr(KeyWord2$)) #Füge davor ein: KeyWord2$=if +KeyWord2$ #Ende
oder ergänze KeyWord2$ um if |
|
|
| |
|
|
|
| hat sich erledigt - ich musste noch viele weitere Änderungen in den Keywordstrings vornehmen wegen Lexerupdate.
and mod or sind auch Funktionen - keine Strukturbefehle - und in den Lexer gehardcodete Operatoren sind es jetzt auch - je nachdem wie es im Source verwendet wird erkennt es der Lexer.
Bitte folgende Tabellen nutzen Roland damit mit dem neuen Lexer gleich alles klappt:
Declare KeyWord6$
KeyWord1$ = add addfiles addfonts addhotkey addstring addwindows append appendmenu
+ appendmenubar arc assign beep blockwrite byte
+ char charset checkmenu chdir chord clear
+ clearclip clearlist cliploadbmp close cls coloar
+ copy copybmp copybmptomem copypic copysizedbmp copysizedpic createmenu dbcreate
+ dbcreateindex ddelink ddeexecute ddeterminate debugout dec declare
+ deleteobject dim dim! dim$ dim% dim& dispose
+ drawicon drawextbmp drawexticon drawlibicon drawpic drawsizedextbmp
+ drawsysicon drawtext ellipse enablemenu enablewindow endpaint endprint
+ erase execute exitwindows float fill font freedll
+ input insertmenu killtimer let line lineto listboxitem$
+ list! list$ list% list& loadbmp loadsizedbmp locate logout long
+ mcls mcopybmp mcopysizedbmp mloadbmp mkdir moveto music nextpage
+ orientation openrw outp outpb parameters password pie play playsound
+ popup print print# putbyte putchar putclip putlong putword randomize readtext
+ rectancle removemenu rename repaint reset return rewrite
+ rmdir roundrect run savebmp savebmptoclip screen screencopy
+ seek separator setcheck setclosemsg setdialogfont setfattr setfont
+ setmenuitem setpixel setscrollrange setstyle settext settimer
+ setwindowpos shell showcursor showmax showmin shownormal sleep
+ sound sqldone sqlexec startpaint startprint string sub
+ subpopup tbox textcolor traceon traceoff trackmenu usebrush
+ usecursor useextcursor useextmenu usefont useicon usepen usermessages
+ wincopy window windowstyle windowtitle winhelp word writeini + Chr$(0)
.SciMessage(~SCI_SETKEYWORDS, 1, Addr(KeyWord1$))
KeyWord2$ = abs addchoice addr addstring and ansitooem arctan assign bin blockread byte call char$
+ choosedir chr classof clicked closecom comerror control cos cot create
+ ctod$ date$ db dbappendblank dbbrowse dbclose dbdelete dbedit dbfind
+ dbget$ dbgetfield dbgetmemo dbgo dbindex dbopen dbpack dbput
+ dbputfield dbputmemo dbputrec dbseek dbundelete dbuse del$ deletechoise
+ deletestring destroywindow direxists diskfree disksize double dtoc$
+ editbox eof exp external extstring$ float fileexists filename$ filesearch
+ filestatus filepos filesize findfirst$ findnext$ findwindow format$
+ ftp get getactivetab getactivewindow getbvalue getbyte getchar getcheck
+ getclip$ getcount getcursel getdir$ getenv$ getfattr getfdate$
+ getfilesize getfocus getftime$ getgvalue gethandle getkey$ getline$
+ getlinecount getlong getpixel getrvalue getselcount getstate getstring$ getstyle gettext$ getword height
+ hex$ iconcount if inkey$ inkey$ inp inpb input$ ins$ insertstring
+ inserttab instr int iskey itemid joy keyin left$ len lg list!
+ list$ list% list& listbox$ listboxitem$ ln loadfile$ long longname$
+ lower$ mcisend$ mempos menuitem messagebox mid$ mkstr$ mod mouse movehandletolist movelisttochoice
+ movelisttoedit movelisttohandle movelisttolist movelisttomem movelisttostr$ new not oct$
+ oemtoansi$ opencom or ord ogl par$ pi postmessage pwd$ readcom$ readini$
+ rgb right$ rnd round rtf savefile$ scankey selectstring sendkey
+ sendmessage sendstring set setactivewindow setbit setcom setcomext
+ setcomtimeouts setfocus shellexec shortname$ showwindow smtp
+ sin single sizeof space$ sqlinit sqr sqrt str$ string$ substr$
+ tab tabchanged tan testbit time$ tmouse toolbar translate$ trim$
+ typeof upper$ usedll val width winexec winexecwait word writecom xor + Chr$(0)
.SciMessage(~SCI_SETKEYWORDS, 2, Addr(KeyWord2$))
KeyWord3$ = asmstart asmend asminclude break case casenot caseof continue class def else elseif
+ endif end endselect endproc endwhile endwith errorproc getmessage if ifnot otherwise
+ proc progend rem repeat select struct subproc until waitinput waitkey waitmouse waitscan wend
+ while whilenot whileloop with + Chr$(0)
.SciMessage(~SCI_SETKEYWORDS, 0, Addr(KeyWord3$))
KeyWord4$ = %bitspixel %bmpx %bmpy %button %csrlin %cycaption %cymenu %dbdeleted %dbeof %dbfcount
+ %dbfdecs %dbflen %dbfnumber %dbheader %dbmemo %dbrecsize %dbversion %ddewin %desktop
+ %dos16 %dos32 %errnumber %error %errorlevel %font %ftpconnected %ftpstatus %getcount
+ %getcursel %getfocus %getinputstate %hdc %hdc2 %hinstance %hwnd %input %ioresult
+ %itemid %key %lastfocus %lastmessage %lfn %linux %maxx %maxy %mcierror %menuitem
+ %message %mousekey %mousepressed %mousex %mousey %mwnd %notifycode %notifywnd %os2
+ %parcount %pcount %peekmessage %pos %printing %progend %scankey %umessage %win16
+ %win32 %winbottom %winleft %winpath %winright %wintop %winver %wmnotify %wmpaint
+ %wmtimer &bmpcol &dbreccount &dbrecno &gettickcount &loop &lparam &pdc &sqlcount
+ &sqldbc &ulparam &uwparam &wparam + chr$(0)
.SciMessage(~SCI_SETKEYWORDS, 3, Addr(KeyWord4$))
KeyWord5$ = $dbfname $dbftype $dblupdate $dblupdate4 $dosver $drive $gettext $profver $progdir
+ $sqlenv $sqlerror $syspath $tempdir+chr$(0)
.SciMessage(~SCI_SETKEYWORDS, 4, Addr(KeyWord5$))
Keyword6$=aaa aad aam aas adc add and arpl bound bsf bsr bswap bt btc btr bts call cbw cdq clc cld cli clts
+ cmc cmova cmovb cmovc cmove cmovg cmovl cmovo cmovp cmovs cmovz cmovna cmovnb cmovnc cmovne cmovng cmovnl cmovno
+ cmovnp cmovns cmovnz cmovae cmovbe cmovge cmovle cmovpe cmovpo cmovnae cmovnbe cmovnge cmovnle cmp cmpsb cmpsd cmpsw
+ cmpxchg cmpxchg8B cpuid cwd cwde daa das dec div enter hlt idiv imul in inc insb insd insw int int03 int3 into invd
+ invlpg iret iretd iretw ja jb jc je jg jl jo jp js jz jna jnb jnc jne jng jnl jno jnp jns jnz jae jbe jge jle jpe
+ jpo jnae jnbe jnge jnle jcxz jecxz jmp lahf lar lds lea leave les lfs lgdt lgs lidt lldt lmsw lock lodsb lodsd lodsw
+ loop loope loopne loopnz loopz lsl lss ltr mov movsb movsd movsw movsx movzx mul neg nop not or out outsb outsd outsw
+ pop popa popad popaw popf popfd popfw push pusha pushad pushaw pushf pushfd pushfw rcl rcr rdmsr rdpmc rdtsc rep repe
+ repne repnz repz ret retf retn rol ror sahf sal sar sbb scasb scasd scasw seta setb setc sete setg setl seto setp
+ sets setz setna setnb setnc setne setng setnl setno setnp setns setnz setae setbe setge setle setpe setpo setnae
+ setnbe setnge setnle sgdt shl shld shr shrd sidt sldt smint smintold smsw stc std sti stosb stosd stosw str sub syscall
+ sysenter sysexit sysret test verr verw wait wbinvd wrmsr xadd xchg xlatb xor .186 .286 .386 .486 .586 .686 .8086 .8087
+ .alpha .break .code .const .continue .cref .data .data? .dosseg .else .endif .endw .err .err2 .errb .errdef .errdif
+ .errdifi .erre .erridn .erridni .errnb .errndef .errnz .exit .if .k3d .lall .lfcond .list .listall .listif .listmacro
+ .listmacroall .mmx .model .no87 .nocref .nolist .nolistmacro .radix .repeat .sall .seq .sfcond .stack .startup .tfcond
+ .type .until .untilcxz .while .xall .xcref .xlist .xmm __FILE__ __LINE__ abs alias align assume bits byte byte catstr
+ class code comm comment common data db dd df dosseg dq dt dw dword echo else elseif elseif2 end endif endm endp ends equ
+ even exitm extern externdef extrn for forc fword goto group if if2 ifb ifdef ifdif ifdifi ife ifidn ifidni ifndef include
+ includelib instr invoke irp irpc label macro name option org %out oword page popcontext proc proto public purge
+ pushcontext qword real4 real8 real10 record repeat rept sbyte sdword segment sizestr struc struct substr subtitle
+ subttl sword tbyte textequ title typedef union while word+Chr$(0)
.SciMessage(~SCI_SETKEYWORDS, 5, Addr(KeyWord6$))
|
|
|
| |
|
|
|
RGH | Ok, die neuen Tabellen werden heute Abend in der 0.98a - nebst anderen Bugfixes und optischen Verbesserungen (und mehr Platz für Zeilennnummern) - drin sein.
Bold und Italic einstellbar für jede Syntaxfarbe hätte ich auch gerne (und noch einige weitere Einstellmöglichkeiten mehr), aber das verschiebe ich erst mal ein wenig.
Die Kommentare kommen aber jetzt ohne Italic. In Bold sind jetzt alle in XProfan definierten Strukturbefehle, Befehle, Funktionen, Systemvariablen und Operatoren. Das macht die Syntaxkontrolle beim Eintippen einfacher.
Gruß Roland
Nachtrag: Man kann jetzt bei (fast) allen Farben einstellen, ob sie fett oder nicht fett dargestellt werden. |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 22.09.2006 ▲ |
|
|
|
|
Frank Abbing | Hm, alle Inline-Assembler Sachen sind nach wie vor nur schwarz eingefärbt. Oder muss ich dabei noch was besonderes beachten? |
|
|
| |
|
|
|
RGH | Frank Abbing
Hm, alle Inline-Assembler Sachen sind nach wie vor nur schwarz eingefärbt. Oder muss ich dabei noch was besonderes beachten?
Da es noch kein eigenes Feld für Inline-Assembler-Farben gibt, wird hier die Farbe benutzt, die für Systemvariablen eingestellt ist.
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.09.2006 ▲ |
|
|
|
|
Frank Abbing | Hallo Roland,
ah ja, so geht es, danke! Richtest du noch ein Feld für Assembler-Farben ein? Und eventuell noch eine weitere Farbe für die Register. Macht das Ganze dann erheblich übersichtlicher und kommt dem Zweck des Syntaxhighlightning viel näher. Die betroffenen Register wären:
eax ebx ecx edx esi edi ebp esp cr0 cr1 cr2 cr3 cr4 cr5 cr6 cr7 dr0 dr1 dr2 dr3 dr4 dr5 dr6 dr7 tr0 tr1 tr2 tr3 tr4 tr5 tr6 tr7 st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 ax bx cx dx di si bp sp ah al bh bl ch cl dh dl cs ds es fs gs ss |
|
|
| |
|
|
|
| Naja Du könntest die Register ja wenigstens in den String packen der dem Lexer gesandt wird.
Zudem, ich glaube uns gehen bald die FarbIDs aus Frank - wir haben bereits 16 im Petto - und intern verwende ich auch ein paar für das Durchschleifen von States. |
|
|
| |
|
|
|
Frank Abbing | Ach ja. Es wird schon wohl noch gehen. Von dir sind wir doch gewohnt, Unmögliches möglich zu machen.
|
|
|
| |
|
|