///////////////////////////////////// // // Quick Basic highlighter for ConText // By Mike Alexander // mikeinca at ubbs2006 dot synchro dot net // telent://ubbs2006.synchro.net // // 10/29/2006 // // // http://ultimatebbs.synchro.net:81 // ///////////////////////////////////// // language name Language: QuickBasic ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // PureBasic files (*.pb)|*.pb Filter: PowerBasic files (*.bas, *.inc)|*.bas; *.inc ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end LineComment: ' BlockCommentBeg: BlockCommentEnd: ////////////////////////////////////////////////////////////////////////////// // identifier characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: a..z A..Z _ @ . # $ % IdentifierChars: a..z A..Z _ 0..9 ? # & $ % . ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 abcdefhABCDEFH . ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines could be wrapped // you may divide keywords into two groups which can be // highlighted differently // op codes KeyWords1: Abs Access Alias And Append Array As Asc ATN Base Beep Binary BLoad BSave BYVal Call Calls ABSOLUTE INTERRUPT CASE CDBL CDECL CHAIN CHDIR CINT CIRCLE CLEAR CLNG CLOSE CLS COLOR Com COMMON CONST COS CSNG CSRLIN CVD CVDMBF CVI CVL CVS CVSMBF DATA DECLARE DEF FN SEG DEFDBL DEFINT DEFLNG DEFSNG DEFSTR DIM DO DOUBLE DRAW $DYNAMIC ELSE ELSEIF END EQV ERASE ERDEV ERL ERR ERROR EXIT EXP FIELD FILEATTR FILES FIX FOR FRE FREEFILE FUNCTION GET GOSUB GOTO IF IMP $INCLUDE INP INPUT INSTR INT INTEGER IOCTL IS KEY KILL LBOUND LEN LET LINE LIST LOC LOCAL LOCATE LOCK LOF LOG LONG LOOP LPOS LPRINT USING LSET LTRIM MKDIR MOD NAME NEXT NOT OFF ON OPEN OPTION BASE OR OUT OUTPUT PAINT PALLETTE PCOPY PEEK PEN PLAY PMAP POINT POKE POS PRESET PRINT PSET PUT RANDOM RANDOMIZE READ REDIM REM RESET RESTORE RESUME RETURN RMDIR RND RSET RTRIM RUN SADD SCREEN SEEK SELECT CASE SETMEM SGN SHARED SHELL SIGNAL SIN SINGLE SLEEP SOUND SPC SQR STATIC $STATIC STEP STICK STOP STRIG STRING SUB SWAP SYSTEM TAB TAN THEN TIMER TO TROFF TRON TYPE UBOUND UEVENT UNLOCK UNTIL USING VAL VARPTR VARSEG VIEW WAIT WEND WHILE WIDTH WINDOW WRITE XOR KeyWords2: BOX.IT BACK.SPACE CLEARBUFFER CLREOL CLRMOL CLRSOL CLRSCRN DE.LAY DETECT.ANSI DIS.PLAY ENTER ENTER2 EXISTS EXIT.DOOR IN.KEY IN.PUT INITIALIZE LINES MAKE.BLT MAKE.BLT.CURRENT MAKE.BLT2 MAKE.BLT.CURRENT2 MORE MUSIC OUT.PUT SEND SENDANSI SHOW.BLT KeyWords3: CHR$ HEX$ MKD$ MKI$ MKL$ MKS$ MKDMBF$ MKSMBF$ OCT$ STR$ COMMAND$ DATE$ ERDEV$ LCASE$ LEFT$ INKEY$ IOCTL$ UCASE$ RIGHT$ INPUT$ MID$ SPACE$ VARPTR$ TIME$ STRING$ ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, as perl // has it StringBegChar: " StringEndChar: " MultilineStrings: 0 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no // 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no // 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 0 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clWindowText clWindow Keyword1Col: clBlue clWindow B Keyword2Col: clPurple clWindow B Keyword3Col: clNavy clWindow B IdentifierCol: clWindowText clWindow CommentCol: clGreen clWindow B NumberCol: clRed clWindow StringCol: clMaroon clWindow B SymbolCol: $00303030 clWindow PreprocessorCol: clBlue clWindow B SelectionCol: clWhite clNavy CurrentLineCol: clBlack clYellow OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: MatchedBracesCol: clWindowText clWindow HelpFile: Keyword4Col: clWindowText clWindow Keyword5Col: clWindowText clWindow