From b60fdb780a93534c33d0c6d8ea06668235c4e4db Mon Sep 17 00:00:00 2001 From: FellippeHeitor Date: Tue, 3 Oct 2017 11:52:03 -0300 Subject: [PATCH] Fine adjustments to syntax highlighting. --- source/global/version.bas | 2 +- source/ide/ide_global.bas | 2 +- source/ide/ide_methods.bas | 205 ++++++++++++++++++------------------- 3 files changed, 103 insertions(+), 106 deletions(-) diff --git a/source/global/version.bas b/source/global/version.bas index 9144c43b3..c1db9a82c 100644 --- a/source/global/version.bas +++ b/source/global/version.bas @@ -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" diff --git a/source/ide/ide_global.bas b/source/ide/ide_global.bas index bb785dc5e..38f12d5b1 100644 --- a/source/ide/ide_global.bas +++ b/source/ide/ide_global.bas @@ -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:" diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index 58f57efbb..9d62c4b3f 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -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"