Deutsch
XProfEd - Opensource IDE

0.98 -> In der Funktionskeywordliste fehlt "if"

 
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
 
22.09.2006  
 



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$))
 
22.09.2006  
 




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?
 
23.09.2006  
 




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
 
23.09.2006  
 



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.
 
23.09.2006  
 




Frank
Abbing
Ach ja. Es wird schon wohl noch gehen. Von dir sind wir doch gewohnt, Unmögliches möglich zu machen.
 
23.09.2006  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.680 Betrachtungen

Unbenanntvor 0 min.
RudiB.08.09.2021
H.Brill15.04.2014

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (3x)
Frank Abbing (3x)
RGH (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie