1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-26 17:10:38 +00:00

Fine adjustments to syntax highlighting.

This commit is contained in:
FellippeHeitor 2017-10-03 11:52:03 -03:00
parent 17f86ad513
commit b60fdb780a
3 changed files with 103 additions and 106 deletions

View file

@ -4,4 +4,4 @@ DIM SHARED AutoBuildMsg AS STRING
Version$ = "1.1"
'BuildNum format is YYYYMMDD/id, where id is a ever-increasing
'integer. If you make a change, update the date and increase the id!
BuildNum$ = "20171001/72"
BuildNum$ = "20171003/73"

View file

@ -117,7 +117,7 @@ DIM SHARED idecurrentlinelayouti AS LONG
DIM SHARED idelayoutallow AS LONG
DIM SHARED listOfKeywords$
listOfKeywords$ = ":$CHECKING:$CONSOLE:$DYNAMIC:$ELSE:$ELSEIF:$END IF:$EXEICON:$IF:$INCLUDE:$LET:$RESIZE:$SCREENHIDE:$SCREENSHOW:$STATIC:$VERSIONINFO:$VIRTUALKEYBOARD:ABS:ABSOLUTE:ACCESS:ALIAS:AND:APPEND:AS:ASC:ATN:BASE:BEEP:BINARY:BLOAD:BSAVE:BYVAL:CALL:CALL ABSOLUTE:CALLS:CASE:CASE ELSE:CASE IS:CDBL:CDECL:CHAIN:CHDIR:CHR$:CINT:CIRCLE:CLEAR:CLNG:CLOSE:CLS:COLOR:COM:COMMAND$:COMMON:CONST:COS:CSNG:CSRLIN:CUSTOMTYPE:CVD:CVDMBF:CVI:CVL:CVS:CVSMBF:DATA:DATE$:DECLARE:DEF:DEFDBL:DEFINT:DEFLNG:DEFSNG:DEFSTR:DIM:DO:DOUBLE:DRAW:DYNAMIC:ELSE:ELSEIF:END:ENVIRON:ENVIRON$:EOF:EQV:ERASE:ERDEV:ERDEV$:ERL:ERR:ERROR:EVERYCASE:EXIT:EXP:FIELD:FILEATTR:FILES:FIX:FN:FOR:FRE:FREE:FREEFILE:FUNCTION:GET:GOSUB:GOTO:HEX$:IF:IMP:INKEY$:INP:INPUT:INPUT$:INSTR:INT:INTEGER:INTERRUPT:INTERRUPTX:IOCTL:IOCTL$:KEY:KILL:LBOUND:LCASE$:LEFT$:LEN:LET:LIBRARY:LINE:LIST:LOC:LOCATE:LOCK:LOF:LOG:LONG:LOOP:LPOS:LPRINT:LPRINT USING:LSET:LTRIM$:MID$:MKD$:MKDIR:MKDMBF$:MKI$:MKL$:MKS$:MKSMBF$:MOD:NAME:NEXT:NOT:OCT$:OFF:ON:OPEN:OPTION:OR:OUT:OUTPUT:PAINT:PALETTE:PCOPY:PEEK:PEN:PLAY:PMAP:POINT:POKE:POS:PRESET:PRINT:PSET:PUT:RANDOM:RANDOMIZE:READ:REDIM:REM:RESET:RESTORE:RESUME:RETURN:RIGHT$:RMDIR:RND:RSET:RTRIM$:RUN:SADD:SCREEN:SEEK:SEG:SELECT:SETMEM:SGN:SHARED:SHELL:SIGNAL:SIN:SINGLE:SLEEP:SOUND:SPACE$:SPC:SQR:STATIC:STEP:STICK:STOP:STR$:STRIG:STRING:STRING$:SUB:SWAP:SYSTEM:TAB:TAN:THEN:TIME$:TIMER:TO:TROFF:TRON:TYPE:UBOUND:UCASE$:UEVENT:UNLOCK:UNTIL:USING:VAL:VARPTR:VARPTR$:VARSEG:VIEW:WAIT:WEND:WHILE:WIDTH:WINDOW:WRITE:XOR:_ACOS:_ACOSH:_ALPHA:_ALPHA32:_ARCCOT:_ARCCSC:_ARCSEC:_ASIN:_ASINH:_ATAN2:_ATANH:_AUTODISPLAY:_AXIS:_BACKGROUNDCOLOR:_BIT:_BLEND:_BLINK:_BLUE:_BLUE32:_BUTTON:_BUTTONCHANGE:_BYTE:_CEIL:_CLEARCOLOR:_CLIP:_CLIPBOARD$:_CLIPBOARDIMAGE:_COMMANDCOUNT:_CONNECTED:_CONNECTIONADDRESS$:_CONSOLE:_CONSOLETITLE:_CONTINUE:_CONTROLCHR:_COPYIMAGE:_COPYPALETTE:_COSH:_COT:_COTH:_CSC:_CSCH:_CV:_CWD$:_D2G:_D2R:_DEFAULTCOLOR:_DEFINE:_DELAY:_DEPTHBUFFER:_DESKTOPHEIGHT:_DESKTOPWIDTH:_DEST:_DEVICE$:_DEVICEINPUT:_DEVICES:_DIR$:_DIREXISTS:_DISPLAY:_DISPLAYORDER:_DONTBLEND:_DONTWAIT:"
listOfKeywords$ = ":$CHECKING:$CONSOLE:ONLY:$DYNAMIC:$ELSE:$ELSEIF:$END IF:$EXEICON:$IF:$INCLUDE:$LET:$RESIZE:$SCREENHIDE:$SCREENSHOW:$STATIC:$VERSIONINFO:$VIRTUALKEYBOARD:ABS:ABSOLUTE:ACCESS:ALIAS:AND:APPEND:AS:ASC:ATN:BASE:BEEP:BINARY:BLOAD:BSAVE:BYVAL:CALL:CALL ABSOLUTE:CALLS:CASE:CASE ELSE:CASE IS:CDBL:CDECL:CHAIN:CHDIR:CHR$:CINT:CIRCLE:CLEAR:CLNG:CLOSE:CLS:COLOR:COM:COMMAND$:COMMON:CONST:COS:CSNG:CSRLIN:CUSTOMTYPE:CVD:CVDMBF:CVI:CVL:CVS:CVSMBF:DATA:DATE$:DECLARE:DEF:DEFDBL:DEFINT:DEFLNG:DEFSNG:DEFSTR:DIM:DO:DOUBLE:DRAW:DYNAMIC:ELSE:ELSEIF:END:ENVIRON:ENVIRON$:EOF:EQV:ERASE:ERDEV:ERDEV$:ERL:ERR:ERROR:EVERYCASE:EXIT:EXP:FIELD:FILEATTR:FILES:FIX:FN:FOR:FRE:FREE:FREEFILE:FUNCTION:GET:GOSUB:GOTO:HEX$:IF:IMP:INKEY$:INP:INPUT:INPUT$:INSTR:INT:INTEGER:INTERRUPT:INTERRUPTX:IOCTL:IOCTL$:KEY:KILL:LBOUND:LCASE$:LEFT$:LEN:LET:LIBRARY:LINE:LIST:LOC:LOCATE:LOCK:LOF:LOG:LONG:LOOP:LPOS:LPRINT:LPRINT USING:LSET:LTRIM$:MID$:MKD$:MKDIR:MKDMBF$:MKI$:MKL$:MKS$:MKSMBF$:MOD:NAME:NEXT:NOT:OCT$:OFF:ON:OPEN:OPTION:OR:OUT:OUTPUT:PAINT:PALETTE:PCOPY:PEEK:PEN:PLAY:PMAP:POINT:POKE:POS:PRESET:PRINT:PSET:PUT:RANDOM:RANDOMIZE:READ:REDIM:REM:RESET:RESTORE:RESUME:RETURN:RIGHT$:RMDIR:RND:RSET:RTRIM$:RUN:SADD:SCREEN:SEEK:SEG:SELECT:SETMEM:SGN:SHARED:SHELL:SIGNAL:SIN:SINGLE:SLEEP:SOUND:SPACE$:SPC:SQR:STATIC:STEP:STICK:STOP:STR$:STRIG:STRING:STRING$:SUB:SWAP:SYSTEM:TAB:TAN:THEN:TIME$:TIMER:TO:TROFF:TRON:TYPE:UBOUND:UCASE$:UEVENT:UNLOCK:UNTIL:USING:VAL:VARPTR:VARPTR$:VARSEG:VIEW:WAIT:WEND:WHILE:WIDTH:WINDOW:WRITE:XOR:_ACOS:_ACOSH:_ALPHA:_ALPHA32:_ARCCOT:_ARCCSC:_ARCSEC:_ASIN:_ASINH:_ATAN2:_ATANH:_AUTODISPLAY:_AXIS:_BACKGROUNDCOLOR:_BIT:_BLEND:_BLINK:_BLUE:_BLUE32:_BUTTON:_BUTTONCHANGE:_BYTE:_CEIL:_CLEARCOLOR:_CLIP:_CLIPBOARD$:_CLIPBOARDIMAGE:_COMMANDCOUNT:_CONNECTED:_CONNECTIONADDRESS$:_CONSOLE:_CONSOLETITLE:_CONTINUE:_CONTROLCHR:_COPYIMAGE:_COPYPALETTE:_COSH:_COT:_COTH:_CSC:_CSCH:_CV:_CWD$:_D2G:_D2R:_DEFAULTCOLOR:_DEFINE:_DELAY:_DEPTHBUFFER:_DESKTOPHEIGHT:_DESKTOPWIDTH:_DEST:_DEVICE$:_DEVICEINPUT:_DEVICES:_DIR$:_DIREXISTS:_DISPLAY:_DISPLAYORDER:_DONTBLEND:_DONTWAIT:"
listOfKeywords$ = listOfKeywords$ + "_ERRORLINE:_EXIT:_EXPLICIT:_FILEEXISTS:_FLOAT:_FONT:_FONTHEIGHT:_FONTWIDTH:_FREEFONT:_FREEIMAGE:_FREETIMER:_FULLSCREEN:_G2D:_G2R:_GLRENDER:_GREEN:_GREEN32:_HEIGHT:_HIDE:_HYPOT:_ICON:_INCLERRORFILE$:_INCLERRORLINE:_INTEGER64:_KEYCLEAR:_KEYDOWN:_KEYHIT:_LASTAXIS:_LASTBUTTON:_LASTWHEEL:_LIMIT:_LOADFONT:_LOADIMAGE:_MAPTRIANGLE:_MAPUNICODE:_MEM:_MEMCOPY:_MEMELEMENT:_MEMEXISTS:_MEMFILL:_MEMFREE:_MEMGET:_MEMIMAGE:_MEMNEW:_MEMPUT:_MIDDLE:_MK$:_MOUSEBUTTON:_MOUSEHIDE:_MOUSEINPUT:_MOUSEMOVE:_MOUSEMOVEMENTX:_MOUSEMOVEMENTY:_MOUSEPIPEOPEN:_MOUSESHOW:_MOUSEWHEEL:_MOUSEX:_MOUSEY:_NEWIMAGE:_OFFSET:_OPENCLIENT:_OPENCONNECTION:_OPENHOST:_OS$:_PALETTECOLOR:_PI:_PIXELSIZE:_PRESERVE:_PRINTIMAGE:_PRINTMODE:_PRINTSTRING:_PRINTWIDTH:_PUTIMAGE:_R2D:_R2G:_RED:_RED32:_RESIZE:_RESIZEHEIGHT:_RESIZEWIDTH:_RGB:_RGB32:_RGBA:_RGBA32:_ROUND:_SCREENCLICK:_SCREENEXISTS:_SCREENHIDE:_SCREENICON:_SCREENIMAGE:_SCREENMOVE:_SCREENPRINT:_SCREENSHOW:_SCREENX:_SCREENY:_SEC:_SECH:_SETALPHA:_SHELLHIDE:_SINH:_SNDBAL:_SNDCLOSE:_SNDCOPY:_SNDGETPOS:_SNDLEN:_SNDLIMIT:_SNDLOOP:_SNDOPEN:_SNDOPENRAW:_SNDPAUSE:_SNDPAUSED:_SNDPLAY:_SNDPLAYCOPY:_SNDPLAYFILE:_SNDPLAYING:_SNDRATE:_SNDRAW:_SNDRAWDONE:_SNDRAWLEN:_SNDSETPOS:_SNDSTOP:_SNDVOL:_SOURCE:_STARTDIR$:_STRCMP:_STRICMP:_TANH:_TITLE:_TITLE$:_UNSIGNED:_WHEEL:_WIDTH:_WINDOWHANDLE:_WINDOWHASFOCUS:_GLACCUM:_GLALPHAFUNC:_GLARETEXTURESRESIDENT:_GLARRAYELEMENT:_GLBEGIN:_GLBINDTEXTURE:_GLBITMAP:_GLBLENDFUNC:_GLCALLLIST:_GLCALLLISTS:_GLCLEAR:_GLCLEARACCUM:_GLCLEARCOLOR:_GLCLEARDEPTH:_GLCLEARINDEX:_GLCLEARSTENCIL:_GLCLIPPLANE:_GLCOLOR3B:_GLCOLOR3BV:_GLCOLOR3D:_GLCOLOR3DV:_GLCOLOR3F:_GLCOLOR3FV:_GLCOLOR3I:_GLCOLOR3IV:_GLCOLOR3S:_GLCOLOR3SV:_GLCOLOR3UB:_GLCOLOR3UBV:_GLCOLOR3UI:_GLCOLOR3UIV:_GLCOLOR3US:_GLCOLOR3USV:_GLCOLOR4B:_GLCOLOR4BV:_GLCOLOR4D:_GLCOLOR4DV:_GLCOLOR4F:_GLCOLOR4FV:_GLCOLOR4I:_GLCOLOR4IV:_GLCOLOR4S:_GLCOLOR4SV:_GLCOLOR4UB:_GLCOLOR4UBV:_GLCOLOR4UI:_GLCOLOR4UIV:_GLCOLOR4US:_GLCOLOR4USV:_GLCOLORMASK:_GLCOLORMATERIAL:_GLCOLORPOINTER:_GLCOPYPIXELS:_GLCOPYTEXIMAGE1D:_GLCOPYTEXIMAGE2D:_GLCOPYTEXSUBIMAGE1D:"
listOfKeywords$ = listOfKeywords$ + "_GLCOPYTEXSUBIMAGE2D:_GLCULLFACE:_GLDELETELISTS:_GLDELETETEXTURES:_GLDEPTHFUNC:_GLDEPTHMASK:_GLDEPTHRANGE:_GLDISABLE:_GLDISABLECLIENTSTATE:_GLDRAWARRAYS:_GLDRAWBUFFER:_GLDRAWELEMENTS:_GLDRAWPIXELS:_GLEDGEFLAG:_GLEDGEFLAGPOINTER:_GLEDGEFLAGV:_GLENABLE:_GLENABLECLIENTSTATE:_GLEND:_GLENDLIST:_GLEVALCOORD1D:_GLEVALCOORD1DV:_GLEVALCOORD1F:_GLEVALCOORD1FV:_GLEVALCOORD2D:_GLEVALCOORD2DV:_GLEVALCOORD2F:_GLEVALCOORD2FV:_GLEVALMESH1:_GLEVALMESH2:_GLEVALPOINT1:_GLEVALPOINT2:_GLFEEDBACKBUFFER:_GLFINISH:_GLFLUSH:_GLFOGF:_GLFOGFV:_GLFOGI:_GLFOGIV:_GLFRONTFACE:_GLFRUSTUM:_GLGENLISTS:_GLGENTEXTURES:_GLGETBOOLEANV:_GLGETCLIPPLANE:_GLGETDOUBLEV:_GLGETERROR:_GLGETFLOATV:_GLGETINTEGERV:_GLGETLIGHTFV:_GLGETLIGHTIV:_GLGETMAPDV:_GLGETMAPFV:_GLGETMAPIV:_GLGETMATERIALFV:_GLGETMATERIALIV:_GLGETPIXELMAPFV:_GLGETPIXELMAPUIV:_GLGETPIXELMAPUSV:_GLGETPOINTERV:_GLGETPOLYGONSTIPPLE:_GLGETSTRING:_GLGETTEXENVFV:_GLGETTEXENVIV:_GLGETTEXGENDV:_GLGETTEXGENFV:_GLGETTEXGENIV:_GLGETTEXIMAGE:_GLGETTEXLEVELPARAMETERFV:_GLGETTEXLEVELPARAMETERIV:_GLGETTEXPARAMETERFV:_GLGETTEXPARAMETERIV:_GLHINT:_GLINDEXMASK:_GLINDEXPOINTER:_GLINDEXD:_GLINDEXDV:_GLINDEXF:_GLINDEXFV:_GLINDEXI:_GLINDEXIV:_GLINDEXS:_GLINDEXSV:_GLINDEXUB:_GLINDEXUBV:_GLINITNAMES:_GLINTERLEAVEDARRAYS:_GLISENABLED:_GLISLIST:_GLISTEXTURE:_GLLIGHTMODELF:_GLLIGHTMODELFV:_GLLIGHTMODELI:_GLLIGHTMODELIV:_GLLIGHTF:_GLLIGHTFV:_GLLIGHTI:_GLLIGHTIV:_GLLINESTIPPLE:_GLLINEWIDTH:_GLLISTBASE:_GLLOADIDENTITY:_GLLOADMATRIXD:_GLLOADMATRIXF:_GLLOADNAME:_GLLOGICOP:_GLMAP1D:_GLMAP1F:_GLMAP2D:_GLMAP2F:_GLMAPGRID1D:_GLMAPGRID1F:_GLMAPGRID2D:_GLMAPGRID2F:_GLMATERIALF:_GLMATERIALFV:_GLMATERIALI:_GLMATERIALIV:_GLMATRIXMODE:_GLMULTMATRIXD:_GLMULTMATRIXF:_GLNEWLIST:_GLNORMAL3B:_GLNORMAL3BV:_GLNORMAL3D:_GLNORMAL3DV:_GLNORMAL3F:_GLNORMAL3FV:_GLNORMAL3I:_GLNORMAL3IV:_GLNORMAL3S:_GLNORMAL3SV:_GLNORMALPOINTER:_GLORTHO:_GLPASSTHROUGH:_GLPIXELMAPFV:_GLPIXELMAPUIV:_GLPIXELMAPUSV:_GLPIXELSTOREF:_GLPIXELSTOREI:_GLPIXELTRANSFERF:_GLPIXELTRANSFERI:_GLPIXELZOOM:_GLPOINTSIZE:_GLPOLYGONMODE:_GLPOLYGONOFFSET:_GLPOLYGONSTIPPLE:"
listOfKeywords$ = listOfKeywords$ + "_GLPOPATTRIB:_GLPOPCLIENTATTRIB:_GLPOPMATRIX:_GLPOPNAME:_GLPRIORITIZETEXTURES:_GLPUSHATTRIB:_GLPUSHCLIENTATTRIB:_GLPUSHMATRIX:_GLPUSHNAME:_GLRASTERPOS2D:_GLRASTERPOS2DV:_GLRASTERPOS2F:_GLRASTERPOS2FV:_GLRASTERPOS2I:_GLRASTERPOS2IV:_GLRASTERPOS2S:_GLRASTERPOS2SV:_GLRASTERPOS3D:_GLRASTERPOS3DV:_GLRASTERPOS3F:_GLRASTERPOS3FV:_GLRASTERPOS3I:_GLRASTERPOS3IV:_GLRASTERPOS3S:_GLRASTERPOS3SV:_GLRASTERPOS4D:_GLRASTERPOS4DV:_GLRASTERPOS4F:_GLRASTERPOS4FV:_GLRASTERPOS4I:_GLRASTERPOS4IV:_GLRASTERPOS4S:_GLRASTERPOS4SV:_GLREADBUFFER:_GLREADPIXELS:_GLRECTD:_GLRECTDV:_GLRECTF:_GLRECTFV:_GLRECTI:_GLRECTIV:_GLRECTS:_GLRECTSV:_GLRENDERMODE:_GLROTATED:_GLROTATEF:_GLSCALED:_GLSCALEF:_GLSCISSOR:_GLSELECTBUFFER:_GLSHADEMODEL:_GLSTENCILFUNC:_GLSTENCILMASK:_GLSTENCILOP:_GLTEXCOORD1D:_GLTEXCOORD1DV:_GLTEXCOORD1F:_GLTEXCOORD1FV:_GLTEXCOORD1I:_GLTEXCOORD1IV:_GLTEXCOORD1S:_GLTEXCOORD1SV:_GLTEXCOORD2D:_GLTEXCOORD2DV:_GLTEXCOORD2F:_GLTEXCOORD2FV:_GLTEXCOORD2I:_GLTEXCOORD2IV:_GLTEXCOORD2S:_GLTEXCOORD2SV:_GLTEXCOORD3D:_GLTEXCOORD3DV:_GLTEXCOORD3F:_GLTEXCOORD3FV:_GLTEXCOORD3I:_GLTEXCOORD3IV:_GLTEXCOORD3S:_GLTEXCOORD3SV:_GLTEXCOORD4D:_GLTEXCOORD4DV:_GLTEXCOORD4F:_GLTEXCOORD4FV:_GLTEXCOORD4I:_GLTEXCOORD4IV:_GLTEXCOORD4S:_GLTEXCOORD4SV:_GLTEXCOORDPOINTER:_GLTEXENVF:_GLTEXENVFV:_GLTEXENVI:_GLTEXENVIV:_GLTEXGEND:_GLTEXGENDV:_GLTEXGENF:_GLTEXGENFV:_GLTEXGENI:_GLTEXGENIV:_GLTEXIMAGE1D:_GLTEXIMAGE2D:_GLTEXPARAMETERF:_GLTEXPARAMETERFV:_GLTEXPARAMETERI:_GLTEXPARAMETERIV:_GLTEXSUBIMAGE1D:_GLTEXSUBIMAGE2D:_GLTRANSLATED:_GLTRANSLATEF:_GLVERTEX2D:_GLVERTEX2DV:_GLVERTEX2F:_GLVERTEX2FV:_GLVERTEX2I:_GLVERTEX2IV:_GLVERTEX2S:_GLVERTEX2SV:_GLVERTEX3D:_GLVERTEX3DV:_GLVERTEX3F:_GLVERTEX3FV:_GLVERTEX3I:_GLVERTEX3IV:_GLVERTEX3S:_GLVERTEX3SV:_GLVERTEX4D:_GLVERTEX4DV:_GLVERTEX4F:_GLVERTEX4FV:_GLVERTEX4I:_GLVERTEX4IV:_GLVERTEX4S:_GLVERTEX4SV:_GLVERTEXPOINTER:_GLVIEWPORT:"

View file

@ -2307,7 +2307,7 @@ FUNCTION ide2 (ignore)
x = idecx
IF LEN(a$) > 0 AND x = LEN(a$) + 1 THEN x = x - 1
IF x <= LEN(a$) THEN
IF MID$(a$, x, 1) = " " OR MID$(a$, x, 1) = "(" THEN x = x - 1
IF (MID$(a$, x, 1) = " " OR MID$(a$, x, 1) = "(") AND x > 1 THEN x = x - 1
IF alphanumeric(ASC(a$, x)) THEN
x1 = x
DO WHILE x1 > 1
@ -2413,81 +2413,82 @@ FUNCTION ide2 (ignore)
ELSE
'No help found; Does the user want help for a SUB or FUNCTION?
a2$ = LTRIM$(RTRIM$(a2$))
IF LEN(a2$) THEN
DO UNTIL alphanumeric(ASC(RIGHT$(a2$, 1)))
a2$ = LEFT$(a2$, LEN(a2$) - 1) 'removes sigil, if any
LOOP
DO UNTIL alphanumeric(ASC(RIGHT$(a2$, 1)))
a2$ = LEFT$(a2$, LEN(a2$) - 1) 'removes sigil, if any
LOOP
FOR y = 1 TO iden
a$ = idegetline(y)
a$ = LTRIM$(RTRIM$(a$))
sf = 0
nca$ = UCASE$(a$)
IF LEFT$(nca$, 4) = "SUB " THEN sf = 1: sf$ = "SUB "
IF LEFT$(nca$, 9) = "FUNCTION " THEN sf = 2: sf$ = "FUNCTION "
IF sf THEN
IF RIGHT$(nca$, 7) = " STATIC" THEN
a$ = RTRIM$(LEFT$(a$, LEN(a$) - 7))
END IF
IF sf = 1 THEN
a$ = RIGHT$(a$, LEN(a$) - 4)
ELSE
a$ = RIGHT$(a$, LEN(a$) - 9)
END IF
FOR y = 1 TO iden
a$ = idegetline(y)
a$ = LTRIM$(RTRIM$(a$))
x = INSTR(a$, "(")
IF x THEN
n$ = RTRIM$(LEFT$(a$, x - 1))
args$ = RIGHT$(a$, LEN(a$) - x + 1)
ELSE
n$ = a$
args$ = ""
END IF
'attempt to cleanse n$, just in case there are any comments or other unwanted stuff
FOR CleanseN = 1 TO LEN(n$)
SELECT CASE MID$(n$, CleanseN, 1)
CASE " ", "'", ":"
n$ = LEFT$(n$, CleanseN - 1)
EXIT FOR
END SELECT
NEXT
backupn$ = n$
DO UNTIL alphanumeric(ASC(RIGHT$(n$, 1)))
n$ = LEFT$(n$, LEN(n$) - 1) 'removes sigil, if any
LOOP
IF UCASE$(n$) = a2$ THEN
a$ = "'''" + backupn$ + "''' is a symbol that is used in your program as follows:"
a$ = a$ + CHR$(10) + CHR$(10) + "{{PageSyntax}}" + CHR$(10)
a$ = a$ + ": " + sf$ + "'''" + backupn$ + "''' " + args$
a$ = a$ + CHR$(10) + "{{PageNavigation}}"
IdeContextHelpSF = -1
IF idehelp = 0 THEN
IF idesubwindow THEN PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt: GOTO ideloop
idesubwindow = idewy \ 2: idewy = idewy - idesubwindow
Help_wx1 = 2: Help_wy1 = idewy + 1: Help_wx2 = idewx - 1: Help_wy2 = idewy + idesubwindow - 2: Help_ww = Help_wx2 - Help_wx1 + 1: Help_wh = Help_wy2 - Help_wy1 + 1
WikiParse a$
idehelp = 1
skipdisplay = 0
IdeSystem = 3 'Standard qb45 behaviour. Allows for quick peek at help then ESC.
retval = 1: GOTO redraweverything2
sf = 0
nca$ = UCASE$(a$)
IF LEFT$(nca$, 4) = "SUB " THEN sf = 1: sf$ = "SUB "
IF LEFT$(nca$, 9) = "FUNCTION " THEN sf = 2: sf$ = "FUNCTION "
IF sf THEN
IF RIGHT$(nca$, 7) = " STATIC" THEN
a$ = RTRIM$(LEFT$(a$, LEN(a$) - 7))
END IF
WikiParse a$
IdeSystem = 3 'Standard qb45 behaviour. Allows for quick peek at help then ESC.
GOTO specialchar
IF sf = 1 THEN
a$ = RIGHT$(a$, LEN(a$) - 4)
ELSE
a$ = RIGHT$(a$, LEN(a$) - 9)
END IF
a$ = LTRIM$(RTRIM$(a$))
x = INSTR(a$, "(")
IF x THEN
n$ = RTRIM$(LEFT$(a$, x - 1))
args$ = RIGHT$(a$, LEN(a$) - x + 1)
ELSE
n$ = a$
args$ = ""
END IF
EXIT FOR
'attempt to cleanse n$, just in case there are any comments or other unwanted stuff
FOR CleanseN = 1 TO LEN(n$)
SELECT CASE MID$(n$, CleanseN, 1)
CASE " ", "'", ":"
n$ = LEFT$(n$, CleanseN - 1)
EXIT FOR
END SELECT
NEXT
backupn$ = n$
DO UNTIL alphanumeric(ASC(RIGHT$(n$, 1)))
n$ = LEFT$(n$, LEN(n$) - 1) 'removes sigil, if any
LOOP
IF UCASE$(n$) = a2$ THEN
a$ = "'''" + backupn$ + "''' is a symbol that is used in your program as follows:"
a$ = a$ + CHR$(10) + CHR$(10) + "{{PageSyntax}}" + CHR$(10)
a$ = a$ + ": " + sf$ + "'''" + backupn$ + "''' " + args$
a$ = a$ + CHR$(10) + "{{PageNavigation}}"
IdeContextHelpSF = -1
IF idehelp = 0 THEN
IF idesubwindow THEN PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt: GOTO ideloop
idesubwindow = idewy \ 2: idewy = idewy - idesubwindow
Help_wx1 = 2: Help_wy1 = idewy + 1: Help_wx2 = idewx - 1: Help_wy2 = idewy + idesubwindow - 2: Help_ww = Help_wx2 - Help_wx1 + 1: Help_wh = Help_wy2 - Help_wy1 + 1
WikiParse a$
idehelp = 1
skipdisplay = 0
IdeSystem = 3 'Standard qb45 behaviour. Allows for quick peek at help then ESC.
retval = 1: GOTO redraweverything2
END IF
WikiParse a$
IdeSystem = 3 'Standard qb45 behaviour. Allows for quick peek at help then ESC.
GOTO specialchar
EXIT FOR
END IF
END IF
END IF
NEXT
NEXT
END IF
END IF 'lnks
END IF
@ -7869,7 +7870,7 @@ SUB ideshowtext
BracketFG% = 10
IF (Bracket.r& + Bracket.g& + Bracket.b&) / 3 > 127 THEN BracketFG% = 1
char.sep$ = CHR$(34) + " =<>+-/\^:;,*()."
char.sep$ = CHR$(34) + " =<>+-/\^:;,*().'"
cc = -1
@ -8049,11 +8050,12 @@ SUB ideshowtext
END IF
END IF
IF idecx_comment AND INSTR(a2$, "$INCLUDE:'") > 0 THEN
FindInclude = INSTR(a2$, "$INCLUDE")
IF FindInclude > 0 THEN
link_idecx = LEN(a$)
ActiveINCLUDELink = idecy
FindApostrophe1 = INSTR(a$, ":'") + 1
FindApostrophe2 = INSTR(FindApostrophe1 + 1, a$, "'")
FindApostrophe1 = INSTR(FindInclude + 8, a2$, "'")
FindApostrophe2 = INSTR(FindApostrophe1 + 1, a2$, "'")
ActiveINCLUDELinkFile = MID$(a$, FindApostrophe1 + 1, FindApostrophe2 - FindApostrophe1 - 1)
p$ = idepath$ + pathsep$
f$ = p$ + ActiveINCLUDELinkFile
@ -8063,33 +8065,22 @@ SUB ideshowtext
a2$ = SPACE$(idesx + (idewx - 3))
MID$(a2$, 1) = a$
a2$ = RIGHT$(a2$, (idewx - 2))
'a2$ = RIGHT$(a2$, (idewx - 2))
ELSE
a2$ = SPACE$((idewx - 2))
END IF
' ### STEVE EDIT TO MAKE QUOTES AND COMMENTS STAND OUT WITH MINOR COLOR ADJUSTMENTS ###
'FOR x = 1 TO LEN(a2$)
' PRINT CHR$(ASC(a2$, x));
'NEXT
inquote = 0
comment = 0
metacommand = 0
FOR k = 1 TO idesx - 1 'First check the part of the line that's off screen to the left
SELECT CASE MID$(a$, k, 1)
CASE CHR$(34)
inquote = NOT inquote
CASE "'"
IF inquote = 0 THEN comment = -1
END SELECT
NEXT k
DIM multiHighlightLength AS LONG
comment = 0
isKeyword = 0: oldChar$ = ""
multiHighlightLength = 0
prevBG% = _BACKGROUNDCOLOR
isKeyword = 0
FOR m = 1 TO LEN(a2$) 'continue checking, while printing to the screen
IF m > idesx + idewx - 2 THEN EXIT FOR
IF ideselect = 1 AND LEN(ideCurrentSingleLineSelection) > 0 AND multiHighlightLength = 0 AND multihighlight = -1 THEN
'the current selection was found at this spot. Multi-highlight takes place:
IF LCASE$(MID$(a2$, m, LEN(ideCurrentSingleLineSelection))) = LCASE$(ideCurrentSingleLineSelection) THEN
@ -8112,47 +8103,51 @@ SUB ideshowtext
END IF
IF comment = 0 THEN
SELECT CASE MID$(a$, m + idesx - 1, 1)
SELECT CASE MID$(a2$, m, 1)
CASE CHR$(34): inquote = NOT inquote
CASE "'": IF inquote = 0 THEN comment = -1
END SELECT
END IF
IF LEFT$(LTRIM$(a$), 2) = "'$" OR LEFT$(LTRIM$(a$), 1) = "$" THEN metacommand = -1: comment = 0
COLOR 13
IF (link_idecx > 0 AND m > link_idecx) THEN metacommand = 0: comment = -1
thisChar$ = MID$(a2$, m, 1)
IF (LEN(oldChar$) > 0 OR m = 1) AND comment = 0 AND metacommand = 0 AND inquote = 0 AND isKeyword = 0 THEN
IF (LEN(oldChar$) > 0 OR m = 1) AND inquote = 0 AND isKeyword = 0 THEN
IF INSTR(char.sep$, oldChar$) > 0 AND INSTR(char.sep$, thisChar$) = 0 THEN
'a new "word" begins; check if it's an internal keyword
checkKeyword$ = ""
isKeyword = 0
FOR i = m TO LEN(a2$)
IF INSTR(char.sep$, MID$(a2$, i, 1)) THEN EXIT FOR
checkKeyword$ = checkKeyword$ + MID$(a2$, i, 1)
NEXT
IF INSTR(listOfKeywords$, ":" + UCASE$(checkKeyword$) + ":") > 0 THEN
checkKeyword$ = UCASE$(checkKeyword$)
IF INSTR(listOfKeywords$, ":" + checkKeyword$ + ":") > 0 THEN
isKeyword = LEN(checkKeyword$)
ELSE
checkKeyword$ = ""
END IF
END IF
END IF
oldChar$ = thisChar$
IF isKeyword > 0 AND keywordHighlight THEN
COLOR 12
IF LEFT$(checkKeyword$, 1) = "$" THEN metacommand = -1 ELSE COLOR 12
isKeyword = isKeyword - 1
END IF
IF link_idecx > 0 AND m > link_idecx AND metacommand THEN metacommand = 0 'back to default color
IF comment THEN
COLOR 11
IF metacommand AND (checkKeyword$ = "$INCLUDE" OR checkKeyword$ = "$DYNAMIC" _
OR checkKeyword$ = "$STATIC") THEN COLOR 10
ELSEIF metacommand THEN
COLOR 10
ELSEIF inquote OR MID$(a2$, m, 1) = CHR$(34) THEN
COLOR 14
END IF
IF l = idecy AND (m + idesx - 1 = bracket1 OR m + idesx - 1 = bracket2) THEN
IF l = idecy AND (m = bracket1 OR m = bracket2) THEN
COLOR BracketFG%, 5
ELSEIF multiHighlightLength > 0 AND multihighlight = -1 THEN
multiHighlightLength = multiHighlightLength - 1
@ -8170,8 +8165,10 @@ SUB ideshowtext
LOOP ' verifying the code and growing the array during the IDE passes.
IF InValidLine(l) AND 1 THEN COLOR 7
LOCATE y + 3, 2 + m - 1
PRINT thisChar$;
IF 2 + m - idesx >= 2 AND 2 + m - idesx < idewx THEN
LOCATE y + 3, 2 + m - idesx
PRINT thisChar$;
END IF
'Restore BG color in case a matching bracket was printed with different BG
IF l = idecy THEN COLOR , 6
@ -8212,8 +8209,8 @@ SUB ideshowtext
LOCATE y + 3, 2
COLOR 1, 7
FOR x = 1 TO LEN(a2$)
PRINT CHR$(ASC(a2$, x));
FOR x = idesx TO idesx + idewx - 2
PRINT MID$(a2$, x, 1);
NEXT
COLOR 7, 1
@ -14109,7 +14106,7 @@ SUB LoadColorSchemes
PresetColorSchemes = 7
REDIM ColorSchemes$(1 TO PresetColorSchemes)
ColorSchemes$(1) = "QB64 Default|226226226147196235255255085085255085085255255000000170000108177"
ColorSchemes$(2) = "Dark blue|186186186255255255255177000085255085085255255000000069000088128"
ColorSchemes$(2) = "Dark blue|226226226147196235255177000085255085085118186000000069000088128"
ColorSchemes$(3) = "Camouflage|196196196255255255255177000137177147147137020000039029098069020"
ColorSchemes$(4) = "Classic QB4.5|177177177177177177177177177177177177177177177000000170000000170"
ColorSchemes$(5) = "Light green|051051051000000216255157255147177093206206206234255234206255206"