" Vim syntax file " Language: FreeBASIC 0.21.0b " Maintainer: Christian Czinzoll " URL: http://cubaxd.net/?p=syntaxfile " Version: 0.21-4 + DocBlock " Last Change: 2009-08-06 " " Optimized for -lang fb " Quit when a syntax file was already loaded if exists("b:current_syntax") finish endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " C-SPECIFIC TYPES " " The following types are not built-in but i think most of them are essential " enough to be included here. They are primarily used with standard C functions, " as declared in the `crt' include directory. If you want them to be " highlighted, just uncomment the following lines. " "syn keyword fbType time_t size_t ssize_t fpos_t clock_t "syn keyword fbType int8 int16 int32 int64 uint8 uint16 uint32 uint64 "syn keyword fbType bool complex float "syn keyword fbType char "syn keyword fbType int8_t int16_t int32_t int64_t "syn keyword fbType uint8_t uint16_t uint32_t uint64_t "syn keyword fbType size_t ssize_t wchar_t ptrdiff_t sig_atomic_t fpos_t "syn keyword fbType clock_t time_t va_list jmp_buf div_t ldiv_t "syn keyword fbType mbstate_t wctrans_t wint_t wctype_t "syn keyword fbType FILE "syn keyword fbNumber stderr stdin stdout EOF_ "syn keyword fbNumber SEEK_SET SEEK_CUR SEEK_END """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " as of here, all keywords are case-insensitive syn case ignore " some more non-standard stuff syn keyword fbNumber true false null " match all functions() " XXX this also matches arrays() :( "syn match fbFunction +\<[a-z_][a-z0-9_]\{0,\}(+me=e-1 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Doxygen tags " Doxygen homepage: http://www.stack.nl/~dimitri/doxygen/index.html " Document blocks begin with /'' OR /'! (multi-line) or ''' OR ''! (single-line) " XXX The only problem is: Doxygen doesn't support FB directly X-D " \class (in FB, this would currently be a type (UDT) with methods) " \struct (in FB that would be a type (UDT)) syn match fbCommentTags contained "\\a\>" syn match fbCommentTags contained "\\addindex\>" syn match fbCommentTags contained "\\anchor\>" syn match fbCommentTags contained "\\arg\>" syn match fbCommentTags contained "\\attention\>" syn match fbCommentTags contained "\\b\>" syn match fbCommentTags contained "\\brief\>" syn match fbCommentTags contained "\\bug\>" syn match fbCommentTags contained "\\c\>" syn match fbCommentTags contained "\\class\>" syn match fbCommentTags contained "\\code\>" syn match fbCommentTags contained "\\cond\>" syn match fbCommentTags contained "\\copybrief\>" syn match fbCommentTags contained "\\copydetails\>" syn match fbCommentTags contained "\\copydoc\>" syn match fbCommentTags contained "\\date\>" syn match fbCommentTags contained "\\def\>" syn match fbCommentTags contained "\\dontinclude\>" syn match fbCommentTags contained "\\dot\>" syn match fbCommentTags contained "\\dotfile\>" syn match fbCommentTags contained "\\e\>" syn match fbCommentTags contained "\\else\>" syn match fbCommentTags contained "\\elseif\>" syn match fbCommentTags contained "\\em\>" syn match fbCommentTags contained "\\endcode\>" syn match fbCommentTags contained "\\endcond\>" syn match fbCommentTags contained "\\enddot\>" syn match fbCommentTags contained "\\endhtmlonly\>" syn match fbCommentTags contained "\\endif\>" syn match fbCommentTags contained "\\endlatexonly\>" syn match fbCommentTags contained "\\endlink\>" syn match fbCommentTags contained "\\endmanonly\>" syn match fbCommentTags contained "\\endmsc\>" syn match fbCommentTags contained "\\endverbatim\>" syn match fbCommentTags contained "\\endxmlonly\>" syn match fbCommentTags contained "\\enum\>" syn match fbCommentTags contained "\\exception[s]\{,1\}" syn match fbCommentTags contained "\\file\>" syn match fbCommentTags contained "\\fn\>" syn match fbCommentTags contained "\\hideinitializer\>" syn match fbCommentTags contained "\\htmlinclude\>" syn match fbCommentTags contained "\\htmlonly\>" syn match fbCommentTags contained "\\if\>" syn match fbCommentTags contained "\\ifnot\>" syn match fbCommentTags contained "\\image\>" syn match fbCommentTags contained "\\include\>" syn match fbCommentTags contained "\\interface\>" syn match fbCommentTags contained "\\invariant\>" syn match fbCommentTags contained "\\latexonly\>" syn match fbCommentTags contained "\\li\>" syn match fbCommentTags contained "\\line\>" syn match fbCommentTags contained "\\link\>" syn match fbCommentTags contained "\\manonly\>" syn match fbCommentTags contained "\\msc\>" syn match fbCommentTags contained "\\n\>" syn match fbCommentTags contained "\\namespace\>" syn match fbCommentTags contained "\\note\>" syn match fbCommentTags contained "\\p\>" syn match fbCommentTags contained "\\package\>" syn match fbCommentTags contained "\\page\>" syn match fbCommentTags contained "\\par\>" syn match fbCommentTags contained "\\param[\t\ ]\{1,\}[a-z_][a-z0-9_]*\>" syn match fbCommentTags contained "\\post\>" syn match fbCommentTags contained "\\private\>" syn match fbCommentTags contained "\\property\>" syn match fbCommentTags contained "\\protected\>" syn match fbCommentTags contained "\\public\>" syn match fbCommentTags contained "\\ref\>" syn match fbCommentTags contained "\\relates\>" syn match fbCommentTags contained "\\relatesalso\>" syn match fbCommentTags contained "\\return\>" syn match fbCommentTags contained "\\retval[\t\ ]\{1,\}[a-z_][a-z0-9_]*\>" syn match fbCommentTags contained "\\sa\>" syn match fbCommentTags contained "\\section\>" syn match fbCommentTags contained "\\see\>" syn match fbCommentTags contained "\\showinitializer\>" syn match fbCommentTags contained "\\since\>" syn match fbCommentTags contained "\\skip\>" syn match fbCommentTags contained "\\skipline\>" syn match fbCommentTags contained "\\subpage\>" syn match fbCommentTags contained "\\subsection\>" syn match fbCommentTags contained "\\subsubsection\>" syn match fbCommentTags contained "\\test\>" syn match fbCommentTags contained "\\todo\>" syn match fbCommentTags contained "\\typedef\>" syn match fbCommentTags contained "\\union\>" syn match fbCommentTags contained "\\until\>" syn match fbCommentTags contained "\\var\>" syn match fbCommentTags contained "\\verbatim\>" syn match fbCommentTags contained "\\verbinclude\>" syn match fbCommentTags contained "\\version\>" syn match fbCommentTags contained "\\warning\>" syn match fbCommentTags contained "\\xmlonly\>" " Doxygen embedded html tags syn match fbCommentTags contained "<[a-z0-9/]*>" " some(!) JavaDoc tags syn match fbCommentTags contained "@author" syn match fbCommentTags contained "@copyright" syn match fbCommentTags contained "@date" syn match fbCommentTags contained "@deprec" syn match fbCommentTags contained "@deprecated" syn match fbCommentTags contained "@exception" syn match fbCommentTags contained "@link" syn match fbCommentTags contained "@param[\t\ ]\{1,\}[a-z_][a-z0-9_]*\>" syn match fbCommentTags contained "@package" syn match fbCommentTags contained "@return[\t\ ]\{1,\}[a-z_][a-z0-9_]*\>" syn match fbCommentTags contained "@see" syn match fbCommentTags contained "@since" syn match fbCommentTags contained "@subpackage" syn match fbCommentTags contained "@todo" syn match fbCommentTags contained "@version" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " FB INTRINSIC DEFINES syn keyword fbDefine __DATE__ syn keyword fbDefine __FB_ARGC__ __FB_ARGV__ syn keyword fbDefine __FB_BIGENDIAN__ __FB_BUILD_DATE__ syn keyword fbDefine __FB_CYGWIN__ syn keyword fbDefine __FB_DARWIN__ syn keyword fbDefine __FB_DEBUG__ __FB_DOS__ syn keyword fbDefine __FB_ERR__ syn keyword fbDefine __FB_FPMODE__ __FB_FPU__ __FB_FREEBSD__ syn keyword fbDefine __FB_LANG__ __FB_LINUX__ syn keyword fbDefine __FB_MAIN__ __FB_MIN_VERSION__ __FB_MT__ syn keyword fbDefine __FB_OPENBSD__ syn keyword fbDefine __FB_OPTION_BYVAL__ __FB_OPTION_DYNAMIC__ __FB_OPTION_ESCAPE__ syn keyword fbDefine __FB_OPTION_EXPLICIT__ __FB_OPTION_PRIVATE__ syn keyword fbDefine __FB_OUT_DLL__ __FB_OUT_EXE__ __FB_OUT_LIB__ __FB_OUT_OBJ__ syn keyword fbDefine __FB_SIGNATURE__ syn keyword fbDefine __FB_VECTORIZE__ syn keyword fbDefine __FB_VER_MAJOR__ __FB_VER_MINOR__ __FB_VER_PATCH__ __FB_VERSION__ syn keyword fbDefine __FB_WIN32__ syn keyword fbDefine __FB_XBOX__ syn keyword fbDefine __FILE__ __FILE_NQ__ syn keyword fbDefine __FUNCTION__ __FUNCTION_NQ__ syn keyword fbDefine __LINE__ syn keyword fbDefine __PATH__ syn keyword fbDefine __TIME__ """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "-lang deprecated, fblite syn match fbOption "option\([\t\ ]\{1,\}\)\(base\|byval\|dynamic\|escape\|explicit\|nokeyword\|private\|static\|nogosub\)" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " CONDITIONAL KEYWORDS syn keyword fbCond if then else elseif endif case select is """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " LOOPING STATEMENTS syn keyword fbRepeat for next step while do wend loop until to """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " STATEMENTS, OPERATORS syn keyword fbStatement alias declare lib export import continue return function sub scope constructor syn keyword fbStatement destructor property namespace operator field syn keyword fbStatement private public protected with asm end call syn keyword fbStatement exit on gosub goto cdecl stdcall pascal using sizeof add alpha syn keyword fbStatement let new delete enum explicit syn keyword fbStatement varptr strptr procptr syn keyword fbStatement common shared static syn keyword fbStatement as var byref byval extern const type union dim redim preserve syn keyword fbStatement va_arg va_first va_next syn keyword fbStatement typeof offsetof syn keyword fbStatement data option " XXX iif: function or statement :-/ syn keyword fbStatement iif syn keyword fbStatement defbyte defubyte defshort defushort defint defuint syn keyword fbStatement deflng deflngint defulngint defstr defsng defdbl " lang qb specific statements syn keyword fbStatement __defbyte __defubyte __defshort __defushort __deflongint __defulongint syn keyword fbStatement __asm __enum __union __var __with syn keyword fbStatement __continue syn keyword fbStatement __sizeof syn keyword fbStatement __export __import syn keyword fbStatement __va_arg __va_first __va_next syn keyword fbStatement __iif syn keyword fbStatement __offsetof syn keyword fbStatement __procptr " 'class' isn't a keyword yet, but it's already reserved. So it's better to highlight " it to indicate that this word can't be used for variables or function names. syn keyword fbStatement class """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Standard data types syn keyword fbType any byte double integer long longint pointer ptr short single string syn keyword fbType ubyte uinteger ulong ulongint ushort unsigned wstring zstring " lang qb specific type names syn keyword fbType __byte __short __ubyte __ushort __uinteger syn keyword fbType __ulong __longint __ulongint __wstring __zstring syn keyword fbType __pointer __ptr """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " preprocessor directives " The regexps are not the most elegant solution but they work syn region fbPreProc start="^[\t\ ]*#[\t\ ]*define[\t\ ]\{1,\}" end=+$+ skip="[^a-z0-9]_\([\t\ ]\{0,\}\)$" contains=ALL syn match fbPreProc "^[\t\ ]*#[\t\ ]*else[\t\ \n]\{1,\}" syn region fbPreProc start="^[\t\ ]*#[\t\ ]*elseif[\t\ ]\{1,\}" end=+$+ syn match fbPreProc "^[\t\ ]*#[\t\ ]*endif[\t\ \n]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*endmacro[\t\ \n]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*error[\t\ ]\{1,\}" syn region fbPreProc start="^[\t\ ]*#[\t\ ]*if[\t\ ]\{1,\}" end=+$+ skip="[^a-z0-9]_\([\t\ ]\{0,\}\)$"me=s-1 contains=fbComment,fbBlockComment syn region fbPreProc start="^\([\t\ ]\{0,\}\)#\([\t\ ]\{0,\}\)ifdef\([\t\ ]\{1,\}\)" end=+$+ syn region fbPreProc start="^[\t\ ]*#[\t\ ]*ifndef[\t\ ]\{1,\}" end=+$+ syn match fbPreProc "^[\t\ ]*#[\t\ ]*inclib[\t\ ]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*include" syn match fbPreProc "^[\t\ ]*#[\t\ ]*include[\t\ ]\{1,\}\(once[\t\ ]\{0,\}\)" syn match fbPreProc "^[\t\ ]*#[\t\ ]*libpath[\t\ ]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*line[\t\ ]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*macro[\t\ ]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*pragma[\t\ ]\{1,\}\(\(push\|pop\|once\)\{,1\}\)*" syn match fbPreProc "^[\t\ ]*#[\t\ ]*print[\t\ ]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*undef[\t\ ]\{1,\}" syn match fbPreProc "^[\t\ ]*#[\t\ ]*lang[\t\ ]\{1,\}\"\(fblite\|fb\|qb\|deprecated\)\{,1\}\"" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " deprecated meta commands syn match fbMeta contained "\$[\t\ ]*dynamic" syn match fbMeta contained "\$[\t\ ]*include\([\t\ ]\{1,\}\)once\([\t\ ]\{0,\}\):\([\t\ ]\{0,\}\)\(\".*\"\|\'.*\'\)" syn match fbMeta contained "\$[\t\ ]*include\([\t\ ]\{0,\}\):\([\t\ ]\{0,\}\)\(\".*\"\|\'.*\'\)" syn match fbMeta contained "\$[\t\ ]*static" syn match fbMeta contained "\$[\t\ ]*lang\([\t\ ]\{0,\}\):\([\t\ ]\{1,\}\)\"\(fblite\|fb\|qb\|deprecated\)\{,1\}\"" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " check parenthesis syn region fbParen transparent start="(" end=")" contains=ALLBUT,fbError,fbSpecial,fbMeta,fbPreProc,fbRepeat,fbCond,fbBlockComment syn match fbError ")" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " List of FreeBASIC functions " A syn keyword fbFunction abs access acos allocate assert assertwarn syn keyword fbFunction asc asin atan2 atn " B syn keyword fbFunction beep bin bit bitreset bitset bload bsave " C syn keyword fbFunction callocate cast cbyte cdbl chain chdir chr cint circle syn keyword fbFunction clear clng clngint close cls color command condbroadcast syn keyword fbFunction condcreate conddestroy condsignal condwait cos cptr cshort syn keyword fbFunction csng csrlin cubyte cuint culng culngint curdir cushort syn keyword fbFunction custom cvd cvi cvl cvlongint cvs cvshort syn keyword fbFunction csign cunsg " D syn keyword fbFunction date dateadd datediff datepart dateserial datevalue day syn keyword fbFunction deallocate dir draw dylibfree dylibload dylibsymbol " E syn keyword fbFunction environ eof erase erfn erl ermn err error syn keyword fbFunction exec exepath exp " F syn keyword fbFunction fileattr filecopy filedatetime fileexists filelen fix flip syn keyword fbFunction format frac fre freefile " G syn keyword fbFunction get getjoystick getkey getmouse " H syn keyword fbFunction hex hour " I syn keyword fbFunction imageconvertrow imagecreate imagedestroy imageinfo inkey inp syn keyword fbFunction input instr instrrev int isdate " K syn keyword fbFunction kill " L syn keyword fbFunction lbound lcase left len line loc local locate lock syn keyword fbFunction lof log lpos lprint lset ltrim " M syn keyword fbFunction mid minute mkd mkdir mki mkl mklongint mks mkshort month syn keyword fbFunction monthname multikey mutexcreate mutexdestroy mutexlock mutexunlock " N syn keyword fbFunction name now " O syn keyword fbFunction oct out overload " P syn keyword fbFunction paint palette pcopy peek pmap point poke pos syn keyword fbFunction preset print pset put " R syn keyword fbFunction randomize read reallocate reset restore resume rgb rgba syn keyword fbFunction right rmdir rnd rset rtrim run " S syn keyword fbFunction sadd screen screencopy screencontrol screenevent screeninfo syn keyword fbFunction screenglproc screenlist screenlock screenptr screenres syn keyword fbFunction screenset screensync screenunlock second seek setdate setenviron syn keyword fbFunction setmouse settime sgn shell sin sleep space spc sqr syn keyword fbFunction stick stop str strig swap system " T syn keyword fbFunction tab tan threadcreate threadwait time timeserial timevalue syn keyword fbFunction timer trans trim " U syn keyword fbFunction ubound ucase unlock " V syn keyword fbFunction val vallng valint valuint valulng syn keyword fbFunction view " W syn keyword fbFunction wait wbin wchr weekday weekdayname whex width window windowtitle syn keyword fbFunction winput woct write wspace wstr " Y syn keyword fbFunction year " ? Print shortcut syn match fbFunction "?" " Not really functions :-/ syn keyword fbFunction hibyte lobyte hiword loword syn keyword fbFunction __hibyte __lobyte __hiword __loword " Open syn match fbFunction "open\([\t\ ]\{1,\}\)\(\(com\|cons\|err\|lpt\|pipe\|scrn\)\{0,1\}\)" syn keyword fbFunction output append binary random encoding " lang qb related keyword aliases syn keyword fbFunction __acos __allocate __asin __assert __assertwarn __atan2 syn keyword fbFunction __bin syn keyword fbFunction __callocate __cast __cbyte __clngint __cptr __cshort __cubyte syn keyword fbFunction __cuint __culng __culngint __curdir __cushort __cvlongint __cvshort syn keyword fbFunction __csign __cunsg syn keyword fbFunction __deallocate __dir __dylibload __dylibfree __dylibsymbol syn keyword fbFunction __encoding __erfn __ermn __exec __exepath syn keyword fbFunction __flip syn keyword fbFunction __getjoystick __getkey syn keyword fbFunction __imageconvertrow __imagecreate __imagedestroy __imageinfo __inkey syn keyword fbFunction __instrrev syn keyword fbFunction __mklongint __mkshort __multikey syn keyword fbFunction __reallocate syn keyword fbFunction __screen __screencontrol __screencopy __screenglproc __screeninfo __screenlist syn keyword fbFunction __screenlock __screenptr __screenres __screenset __screenunlock __setmouse syn keyword fbFunction __trim syn keyword fbFunction __valint __vallng __valuint __valulng syn keyword fbFunction __wbin __wchr __whex __windowtitle __woct __wspace __wstr """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " WORDS TO HIGHLIGHT IN COMMENTS syn keyword fbTodo contained TODO FIXME XXX """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " NUMBERS "integer number syn match fbNumber "\<\d\+\(\(l\|u\|ul\|ll\|ull\)\{,1\}\)\>" "floating point number syn match fbFloat "\<\d\+\.\d*\>" " TODO leading dot is not highlighted :-/ syn match fbFloat "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>" syn match fbFloat "\.\d+\>" syn match fbFloat "\<\d\+\.\d*[def]\>" " hexadecimal number syn match fbNumber "&h\x\+\(\(l\|u\|ul\|ll\|ull\)\{,1\}\)\>" " octal numbers syn match fbNumber "&o\o\+\(\(l\|u\|ul\|ll\|ull\)\{,1\}\)\>" " binary numbers syn match fbNumber "&b[01]\+\(\(l\|u\|ul\|ll\|ull\)\{,1\}\)\>" syn match fbSpecial contained "\\\o\{1,3\}\|\\\([a-z\"]\)\|\\x\x+\|%\(\d\?\d\?\)\(\.\?\)\(\d\?\d\?\)\([cdefiosux]\)" syn region fbString start=+\(\$\)\{,1}"+ end=+"+ end=+$+ syn region fbString start=+!"+ skip=+\\\\\|\\"+ end=+"+ end=+$+ contains=fbSpecial """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " SOME MORE OPERATORS " uncomment the next line if you want to have math operators highlighted "syn match fbMath "\(-\|=\|[:<>+\*^/\\]\)" syn keyword fbMath and eqv imp mod not or shl shr xor andalso orelse " qb specific operator names syn keyword fbMath __shl __shr """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " COMMENTS syn region fbComment start="^rem[^a-zA-Z0-9_|\r\n]" end="$" contains=fbTodo,fbMeta syn region fbComment start="'" end="$" contains=fbTodo,fbMeta syn region fbBlockComment start="/'" end="'/" contains=fbTodo syn region fbComment start="''" end="$" contains=fbTodo " preprocessor code exclusion ( #if 0 ) syn region fbComment start="^[\t\ ]*#[\t\ ]*if\([\t\ ]\{1,\}\)0\>" end="#endif" contains=fbTodo """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " syn match fbType "[a-zA-Z0-9][\$%!#&]"ms=s+1 syn keyword fbThis this " Labels syn match fbLabel "^\([\ \t]\{0,\}\)[a-z_]\([a-z0-9_]\{0,\}\):" " Used with OPEN syn match fbFilenum "#\d\+" syn match fbPreProc "##" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" hi def link fbPreProc PreProc hi def link fbMeta fbPreProc hi def link fbOption fbPreProc hi def link fbThis PreProc hi def link fbComment Comment hi def link fbBlockComment fbComment hi def link fbDefine Define hi def link fbLabel Label hi def link fbCond Conditional hi def link fbRepeat Repeat hi def link fbNumber Number hi def link fbFloat Float hi def link fbError Error hi def link fbStatement Statement hi def link fbString String hi def link fbSpecial Special hi def link fbTodo Todo hi def link fbFunction Function hi def link fbType Type hi def link fbFilenum Type hi def link fbMath Special let b:current_syntax = "freebasic"