diff --git a/runtime/syntax/basic.vim b/runtime/syntax/basic.vim
index 7fe411a..b6bf23a 100644
--- a/runtime/syntax/basic.vim
+++ b/runtime/syntax/basic.vim
@@ -3,7 +3,7 @@
 " Maintainer:		Doug Kearns <dougkearns@gmail.com>
 " Previous Maintainer:	Allan Kelly <allan@fruitloaf.co.uk>
 " Contributors:		Thilo Six
-" Last Change:		2021 Aug 08
+" Last Change:		2022 Jun 22
 
 " First version based on Micro$soft QBASIC circa 1989, as documented in
 " 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
@@ -344,7 +344,7 @@
 hi def link basicDataString	    basicString
 hi def link basicFilenumber	    basicTypeSuffix " TODO: better group
 hi def link basicFloat		    Float
-hi def link basicFunction	    Identifier
+hi def link basicFunction	    Function
 hi def link basicKeyword	    Keyword
 hi def link basicLineIdentifier	    LineNr
 hi def link basicLineContinuation   Special
diff --git a/runtime/syntax/fetchmail.vim b/runtime/syntax/fetchmail.vim
index 7a42105..f9c8e01 100644
--- a/runtime/syntax/fetchmail.vim
+++ b/runtime/syntax/fetchmail.vim
@@ -1,7 +1,10 @@
 " Vim syntax file
-" Language:             fetchmail(1) RC File
-" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2006-04-19
+" Language:		fetchmail(1) RC File
+" Maintainer:		Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer:	Nikolai Weibull <now@bitwi.se>
+" Latest Revision:	2022 Jun 30
+
+" Version 6.4.3
 
 if exists("b:current_syntax")
   finish
@@ -10,64 +13,69 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-syn keyword fetchmailTodo       contained FIXME TODO XXX NOTE
+syn keyword fetchmailTodo	contained FIXME TODO XXX NOTE
 
-syn region  fetchmailComment    start='#' end='$' contains=fetchmailTodo,@Spell
+syn region  fetchmailComment	start='#' end='$' contains=fetchmailTodo,@Spell
 
-syn match   fetchmailNumber     display '\<\d\+\>'
+syn match   fetchmailNumber	display '\<\d\+\>'
 
-syn region  fetchmailString     start=+"+ skip=+\\\\\|\\"+ end=+"+
-                                \ contains=fetchmailStringEsc
-syn region  fetchmailString     start=+'+ skip=+\\\\\|\\'+ end=+'+
-                                \ contains=fetchmailStringEsc
+syn region  fetchmailString	start=+"+ skip=+\\\\\|\\"+ end=+"+
+				\ contains=fetchmailStringEsc
+syn region  fetchmailString	start=+'+ skip=+\\\\\|\\'+ end=+'+
+				\ contains=fetchmailStringEsc
 
-syn match   fetchmailStringEsc  contained '\\\([ntb]\|0\d*\|x\x\+\)'
+syn match   fetchmailStringEsc	contained '\\\([ntb]\|0\d*\|x\x\+\)'
 
-syn region  fetchmailKeyword    transparent matchgroup=fetchmailKeyword
-                                \ start='\<poll\|skip\|defaults\>'
-                                \ end='\<poll\|skip\|defaults\>'
-                                \ contains=ALLBUT,fetchmailOptions,fetchmailSet
+syn region  fetchmailKeyword	transparent matchgroup=fetchmailKeyword
+				\ start='\<poll\|skip\|defaults\>'
+				\ end='\<poll\|skip\|defaults\>'
+				\ contains=ALLBUT,fetchmailOptions,fetchmailSet
 
 syn keyword fetchmailServerOpts contained via proto[col] local[domains] port
-                                \ auth[enticate] timeout envelope qvirtual aka
-                                \ interface monitor plugin plugout dns
-                                \ checkalias uidl interval netsec principal
-                                \ esmtpname esmtppassword
-                                \ sslcertck sslcertpath sslfingerprint
+				\ service auth[enticate] timeout envelope
+				\ qvirtual aka interface monitor plugin plugout
+				\ dns checkalias uidl interval tracepolls
+				\ principal esmtpname esmtppassword
+" removed in 6.3.0
+syn keyword fetchmailServerOpts contained netsec
+syn match   fetchmailServerOpts contained '\<bad-header\>'
 syn match   fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)'
 
-syn keyword fetchmailUserOpts   contained user[name] is to pass[word] ssl
-                                \ sslcert sslkey sslproto folder smtphost
-                                \ fetchdomains smtpaddress smtpname antispam
-                                \ mda bsmtp preconnect postconnect keep flush
-                                \ fetchall rewrite stripcr forcecr pass8bits
-                                \ dropstatus dropdelivered mimedecode idle
-                                \ limit warnings batchlimit fetchlimit expunge
-                                \ tracepolls properties
-syn match   fetchmailUserOpts   contained '\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)'
+syn keyword fetchmailUserOpts	contained user[name] is to pass[word] ssl
+				\ sslcert sslcertck sslcertfile sslcertpath
+				\ sslfingerprint sslkey sslproto folder
+				\ smtphost fetchdomains smtpaddress smtpname
+				\ antispam mda bsmtp preconnect postconnect
+				\ keep flush limitflush fetchall rewrite
+				\ stripcr forcecr pass8bits dropstatus
+				\ dropdelivered mimedecode idle limit warnings
+				\ batchlimit fetchlimit fetchsizelimit
+				\ fastuidl expunge properties
+				\ sslcommonname
+syn match   fetchmailUserOpts	contained '\<no\_s\+\(sslcertck\|keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|idle\)'
 
-syn keyword fetchmailSpecial    contained here there
+syn keyword fetchmailSpecial	contained here there
 
-syn keyword fetchmailNoise      and with has wants options
-syn match   fetchmailNoise      display '[:;,]'
+syn keyword fetchmailNoise	and with has wants options
+syn match   fetchmailNoise	display '[:;,]'
 
-syn keyword fetchmailSet        nextgroup=fetchmailOptions skipwhite skipnl set
+syn keyword fetchmailSet	nextgroup=fetchmailOptions skipwhite skipnl set
 
-syn keyword fetchmailOptions    daemon postmaster bouncemail spambounce logfile
-                                \ idfile syslog nosyslog properties
-syn match   fetchmailOptions    '\<no\_s\+\(bouncemail\|spambounce\)'
+syn keyword fetchmailOptions	daemon postmaster bouncemail spambounce
+				\ softbounce logfile idfile syslog properties
+syn match   fetchmailOptions	'\<no\_s\+\(bouncemail\|spambounce\|softbounce\|syslog\)'
 
-hi def link fetchmailComment    Comment
-hi def link fetchmailTodo       Todo
-hi def link fetchmailNumber     Number
-hi def link fetchmailString     String
-hi def link fetchmailStringEsc  SpecialChar
-hi def link fetchmailKeyword    Keyword
+hi def link fetchmailComment	Comment
+hi def link fetchmailTodo	Todo
+hi def link fetchmailNumber	Number
+hi def link fetchmailString	String
+hi def link fetchmailStringEsc	SpecialChar
+hi def link fetchmailKeyword	Keyword
 hi def link fetchmailServerOpts Identifier
-hi def link fetchmailUserOpts   Identifier
-hi def link fetchmailSpecial    Special
-hi def link fetchmailSet        Keyword
-hi def link fetchmailOptions    Identifier
+hi def link fetchmailUserOpts	Identifier
+hi def link fetchmailSpecial	Special
+hi def link fetchmailSet	Keyword
+hi def link fetchmailOptions	Identifier
 
 let b:current_syntax = "fetchmail"
 
diff --git a/runtime/syntax/freebasic.vim b/runtime/syntax/freebasic.vim
index 68e838f..7549d02 100644
--- a/runtime/syntax/freebasic.vim
+++ b/runtime/syntax/freebasic.vim
@@ -1,14 +1,14 @@
 " Vim syntax file
-" Language:    FreeBasic
-" Maintainer:  Mark Manning <markem@sim1.us>
-" Updated:     10/9/2019
-" Version:		7.0b
+" Language:		FreeBASIC
+" Maintainer:		Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer:	Mark Manning <markem@sim1.us>
+" Last Change:		2022 Jun 26
 "
 " Description:
 "
 "	Based originally on the work done by Allan Kelly <Allan.Kelly@ed.ac.uk>
 "	Updated by Mark Manning <markem@sim1.us>
-"	Applied FreeBasic support to the already excellent support
+"	Applied FreeBASIC support to the already excellent support
 "	for standard basic syntax (like QB).
 "
 "	First version based on Micro$soft QBASIC circa
@@ -17,215 +17,595 @@
 "	not a complete implementation yet.  Send suggestions to
 "	the maintainer.
 "
+"	TODO: split this into separate dialect-based files, possibly with a common base
+"
 "	Quit when a (custom) syntax file was already loaded (Taken from c.vim)
 "
 if exists("b:current_syntax")
   finish
 endif
 "
+"	Dialect detection
+"
+let s:lang = freebasic#GetDialect()
+"
+"	Whitespace Errors
+"
+if exists("freebasic_space_errors")
+  if !exists("freebasic_no_trail_space_error")
+    syn match freebasicSpaceError display excludenl "\s\+$"
+  endif
+  if !exists("freebasic_no_tab_space_error")
+    syn match freebasicSpaceError display " \+\t"me=e-1
+  endif
+endif
+"
 "	Be sure to turn on the "case ignore" since current versions
 "	of freebasic support both upper as well as lowercase
 "	letters. - MEM 10/1/2006
 "
 syn case ignore
 "
-"	This list of keywords is taken directly from the FreeBasic
-"	user's guide as presented by the FreeBasic online site.
-"
-syn keyword	freebasicArrays			ERASE LBOUND REDIM PRESERVE UBOUND
-
-syn keyword	freebasicBitManipulation	BIT BITRESET BITSET HIBYTE HIWORD LOBYTE LOWORD SHL SHR
-
-syn keyword	freebasicCompilerSwitches	DEFBYTE DEFDBL DEFINT DEFLNG DEFLNGINT DEFSHORT DEFSNG DEFSTR
-syn keyword	freebasicCompilerSwitches	DEFUBYTE DEFUINT DEFULNGINT DEFUSHORT
-syn match	freebasicCompilerSwitches	"\<option\s+\(BASE\|BYVAL\|DYNAMIC\|ESCAPE\|EXPLICIT\|NOKEYWORD\)\>"
-syn match	freebasicCompilerSwitches	"\<option\s+\(PRIVATE\|STATIC\)\>"
-
-syn region	freebasicConditional		start="\son\s+" skip=".*" end="gosub"
-syn region	freebasicConditional		start="\son\s+" skip=".*" end="goto"
-syn match	freebasicConditional		"\<select\s+case\>"
-syn keyword	freebasicConditional		if iif then case else elseif with
-
-syn match	freebasicConsole		"\<open\s+\(CONS\|ERR\|PIPE\|SCRN\)\>"
-syn keyword	freebasicConsole		BEEP CLS CSRLIN LOCATE PRINT POS SPC TAB VIEW WIDTH
-
-syn keyword	freebasicDataTypes		BYTE AS DIM CONST DOUBLE ENUM INTEGER LONG LONGINT SHARED SHORT STRING
-syn keyword	freebasicDataTypes		SINGLE TYPE UBYTE UINTEGER ULONGINT UNION UNSIGNED USHORT WSTRING ZSTRING
-
-syn keyword	freebasicDateTime		DATE DATEADD DATEDIFF DATEPART DATESERIAL DATEVALUE DAY HOUR MINUTE
-syn keyword	freebasicDateTime		MONTH MONTHNAME NOW SECOND SETDATE SETTIME TIME TIMESERIAL TIMEVALUE
-syn keyword	freebasicDateTime		TIMER YEAR WEEKDAY WEEKDAYNAME
-
-syn keyword	freebasicDebug			ASSERT STOP
-
-syn keyword	freebasicErrorHandling		ERR ERL ERROR LOCAL RESUME
-syn match	freebasicErrorHandling		"\<resume\s+next\>"
-syn match	freebasicErrorHandling		"\<on\s+error\>"
-
-syn match	freebasicFiles			"\<get\s+#\>"
-syn match	freebasicFiles			"\<input\s+#\>"
-syn match	freebasicFiles			"\<line\s+input\s+#\>"
-syn match	freebasicFiles			"\<put\s+#\>"
-syn keyword	freebasicFiles			ACCESS APPEND BINARY BLOAD BSAVE CLOSE EOF FREEFILE INPUT LOC
-syn keyword	freebasicFiles			LOCK LOF OPEN OUTPUT RANDOM RESET SEEK UNLOCK WRITE
-
-syn keyword	freebasicFunctions		ALIAS ANY BYREF BYVAL CALL CDECL CONSTRUCTOR DESTRUCTOR
-syn keyword	freebasicFunctions		DECLARE FUNCTION LIB OVERLOAD PASCAL STATIC SUB STDCALL
-syn keyword	freebasicFunctions		VA_ARG VA_FIRST VA_NEXT
-
-syn match	freebasicGraphics		"\<palette\s+get\>"
-syn keyword	freebasicGraphics		ALPHA CIRCLE CLS COLOR CUSTOM DRAW FLIP GET
-syn keyword	freebasicGraphics		IMAGECREATE IMAGEDESTROY LINE PAINT PALETTE PCOPY PMAP POINT
-syn keyword	freebasicGraphics		PRESET PSET PUT RGB RGBA SCREEN SCREENCOPY SCREENINFO SCREENLIST
-syn keyword	freebasicGraphics		SCREENLOCK SCREENPTR SCREENRES SCREENSET SCREENSYNC SCREENUNLOCK
-syn keyword	freebasicGraphics		TRANS USING VIEW WINDOW
-
-syn match	freebasicHardware		"\<open\s+com\>"
-syn keyword	freebasicHardware		INP OUT WAIT LPT LPOS LPRINT
-
-syn keyword	freebasicLogical		AND EQV IMP OR NOT XOR
-
-syn keyword	freebasicMath			ABS ACOS ASIN ATAN2 ATN COS EXP FIX INT LOG MOD RANDOMIZE
-syn keyword	freebasicMath			RND SGN SIN SQR TAN
-
-syn keyword	freebasicMemory			ALLOCATE CALLOCATE CLEAR DEALLOCATE FIELD FRE PEEK POKE REALLOCATE
-
-syn keyword	freebasicMisc			ASM DATA LET TO READ RESTORE SIZEOF SWAP OFFSETOF
-
-syn keyword	freebasicModularizing		CHAIN COMMON EXPORT EXTERN DYLIBFREE DYLIBLOAD DYLIBSYMBOL
-syn keyword	freebasicModularizing		PRIVATE PUBLIC
-
-syn keyword	freebasicMultithreading		MUTEXCREATE MUTEXDESTROY MUTEXLOCK MUTEXUNLOCK THREADCREATE THREADWAIT
-
-syn keyword	freebasicShell			CHDIR DIR COMMAND ENVIRON EXEC EXEPATH KILL NAME MKDIR RMDIR RUN
-
-syn keyword	freebasicEnviron		SHELL SYSTEM WINDOWTITLE POINTERS
-
-syn keyword	freebasicLoops			FOR LOOP WHILE WEND DO CONTINUE STEP UNTIL next
-
-syn match	freebasicInclude		"\<#\s*\(inclib\|include\)\>"
-syn match	freebasicInclude		"\<\$\s*include\>"
-
-syn keyword	freebasicPointer		PROCPTR PTR SADD STRPTR VARPTR
-
-syn keyword	freebasicPredefined		__DATE__ __FB_DOS__ __FB_LINUX__ __FB_MAIN__ __FB_MIN_VERSION__
-syn keyword	freebasicPredefined		__FB_SIGNATURE__ __FB_VERSION__ __FB_WIN32__ __FB_VER_MAJOR__
-syn keyword	freebasicPredefined		__FB_VER_MINOR__ __FB_VER_PATCH__ __FILE__ __FUNCTION__
-syn keyword	freebasicPredefined		__LINE__ __TIME__
-
-syn match	freebasicPreProcessor		"\<^#\s*\(define\|undef\)\>"
-syn match	freebasicPreProcessor		"\<^#\s*\(ifdef\|ifndef\|else\|elseif\|endif\|if\)\>"
-syn match	freebasicPreProcessor		"\<#\s*error\>"
-syn match	freebasicPreProcessor		"\<#\s*\(print\|dynamic\|static\)\>"
-syn keyword	freebasicPreProcessor		DEFINED ONCE
-
-syn keyword	freebasicProgramFlow		END EXIT GOSUB GOTO
-syn keyword	freebasicProgramFlow		IS RETURN SCOPE SLEEP
-
-syn keyword	freebasicString			INSTR LCASE LEFT LEN LSET LTRIM MID RIGHT RSET RTRIM
-syn keyword	freebasicString			SPACE STRING TRIM UCASE ASC BIN CHR CVD CVI CVL CVLONGINT
-syn keyword	freebasicString			CVS CVSHORT FORMAT HEX MKD MKI MKL MKLONGINT MKS MKSHORT
-syn keyword	freebasicString			OCT STR VAL VALLNG VALINT VALUINT VALULNG
-
-syn keyword	freebasicTypeCasting		CAST CBYTE CDBL CINT CLNG CLNGINT CPTR CSHORT CSIGN CSNG
-syn keyword	freebasicTypeCasting		CUBYTE CUINT CULNGINT CUNSG CURDIR CUSHORT
-
-syn match	freebasicUserInput		"\<line\s+input\>"
-syn keyword	freebasicUserInput		GETJOYSTICK GETKEY GETMOUSE INKEY INPUT MULTIKEY SETMOUSE
-"
 "	Do the Basic variables names first.  This is because it
 "	is the most inclusive of the tests.  Later on we change
 "	this so the identifiers are split up into the various
 "	types of identifiers like functions, basic commands and
 "	such. MEM 9/9/2006
 "
-syn match	freebasicIdentifier			"\<[a-zA-Z_][a-zA-Z0-9_]*\>"
-syn match	freebasicGenericFunction	"\<[a-zA-Z_][a-zA-Z0-9_]*\>\s*("me=e-1,he=e-1
+if s:lang =~# '\<\%(qb\|fblite\)\>'
+  syn iskeyword @,48-57,_,192-255,.
+  syn match	freebasicIdentifier		"\<\h\%(\w\|\.\)*\>"
+  syn match	freebasicGenericFunction	"\<\h\%(\w\|\.\)*\>\ze\s*("
+else
+  syn iskeyword @,48-57,_,192-255
+  syn match	freebasicIdentifier		"\<\h\w*\>"
+  syn match	freebasicGenericFunction	"\<\h\w*\>\ze\s*("
+endif
 "
-"	Function list
+"	This list of keywords is taken directly from the FreeBASIC
+"	user's guide as presented by the FreeBASIC online site.
 "
-syn keyword	freebasicTodo		contained TODO
+syn keyword	freebasicArrays			ERASE LBOUND PRESERVE REDIM UBOUND
+
+" array.bi
+syn keyword	freebasicArrays			ARRAYLEN ARRAYSIZE
+if s:lang == "fb"
+  syn keyword	freebasicArrays			ArrayConstDescriptorPtr ArrayDescriptorPtr FBARRAY
+endif
+
+if s:lang == "qb"
+  syn keyword	freebasicAsm			__ASM
+  syn match	freebasicAsm			"\<end\s\+__asm\>"
+else
+  syn keyword	freebasicAsm			ASM
+  syn match	freebasicAsm			"\<end\s\+asm\>"
+endif
+
+if s:lang == "qb"
+  syn keyword	freebasicBitManipulation	__BIT __BITRESET __BITSET __HIBYTE __HIWORD __LOBYTE __LOWORD
+else
+  syn keyword	freebasicBitManipulation	BIT BITRESET BITSET HIBYTE HIWORD LOBYTE LOWORD
+endif
+
+if s:lang != "fb"
+  syn keyword	freebasicCompilerSwitches	DEFDBL DEFINT DEFLNG DEFSNG DEFSTR
+endif
+if s:lang == "qb"
+  syn keyword	freebasicCompilerSwitches	__DEFBYTE __DEFLONGINT __DEFSHORT __DEFUBYTE __DEFUINT __DEFULONGINT __DEFUSHORT
+elseif s:lang == "fblite" || s:lang == "deprecated"
+  syn keyword	freebasicCompilerSwitches	DEFBYTE DEFLONGINT DEFSHORT DEFUBYTE DEFUINT DEFUILONGINT DEFUSHORT
+endif
+
+syn match	freebasicCompilerSwitches	"\<option\s\+\%(BASE\|BYVAL\|DYNAMIC\|ESCAPE\|EXPLICIT\|GOSUB\|NOGOSUB\)\>"
+syn match	freebasicCompilerSwitches	"\<option\s\+\%(NOKEYWORD\|PRIVATE\|STATIC\)\>"
+
+syn keyword	freebasicData			DATA READ RESTORE
+
+syn keyword	freebasicProgramFlow		EXIT GOTO RETURN SLEEP
+syn match	freebasicProgramFlow		"\<end\>"
+if s:lang == "qb"
+  syn keyword	freebasicProgramFlow		__SLEEP
+endif
+if s:lang == "fblite" || s:lang == "qb"
+  syn keyword	freebasicProgramFlow		GOSUB
+endif
+if s:lang == "fb" || s:lang == "deprecated"
+  syn keyword	freebasicProgramFlow		SCOPE
+  syn match	freebasicProgramFlow		"\<end\s\+scope\>"
+endif
+
+if s:lang == "fblite" || s:lang == "qb"
+  syn region	freebasicConditional		matchgroup=freebasicConditional start="\<on\>" end="\<gosub\>" transparent
+  syn region	freebasicConditional		matchgroup=freebasicConditional start="\<on\>" end="\<goto\>"  transparent
+endif
+syn keyword	freebasicConditional		IF THEN ELSE ELSEIF
+if s:lang == "qb"
+  syn keyword	freebasicConditional		__IIF __WITH
+  syn match	freebasicConditional		"\<end\s\+__with\>"
+else
+  syn keyword	freebasicConditional		IIF WITH
+  syn match	freebasicConditional		"\<end\s\+with\>"
+endif
+syn match	freebasicConditional		"\<end\s\+if\>"
+syn match	freebasicConditional		"\<select\s\+case\>"
+syn match	freebasicConditional		"\<case\>"
+syn match	freebasicConditional		"\<case\s\+is\>"
+syn match	freebasicConditional		"\<end\s\+select\>"
+
+syn keyword	freebasicConsole		BEEP CLS CSRLIN LOCATE PRINT POS SPC TAB USING VIEW WIDTH
+syn match	freebasicConsole		"?"
+
+syn keyword	freebasicDataTypes		SINGLE DOUBLE INTEGER LONG
+syn match	freebasicDataTypes		"\<string\>"
+syn keyword	freebasicDataTypes		AS DIM CONST ENUM SHARED TYPE
+syn match	freebasicDataTypes		"\<end\s\+enum\>"
+syn match	freebasicDataTypes		"\<end\s\+type\>"
+if s:lang == "qb"
+  syn keyword	freebasicDataTypes		__BOOLEAN __BYTE __LONGINT __SHORT __UBYTE __UINTEGER __ULONG __ULONGINT __UNSIGNED __USHORT __ZSTRING
+  syn match	freebasicDataTypes		"\<__WSTRING\>"
+  syn keyword	freebasicDataTypes		__EXPLICIT __EXTENDS __IMPLEMENTS __OBJECT __POINTER __PTR __SIZEOF __TYPEOF
+  syn keyword	freebasicDataTypes		__UNION
+  syn match	freebasicDataTypes		"\<end\s\+__union\>"
+else
+  syn keyword	freebasicDataTypes		BOOLEAN BYTE LONGINT SHORT UBYTE UINTEGER ULONG ULONGINT UNSIGNED USHORT ZSTRING
+  syn match	freebasicDataTypes		"\<WSTRING\>"
+  syn keyword	freebasicDataTypes		EXPLICIT EXTENDS IMPLEMENTS OBJECT POINTER PTR SIZEOF TYPEOF
+  syn keyword	freebasicDataTypes		UNION
+  syn match	freebasicDataTypes		"\<end\s\+union\>"
+endif
+if s:lang == "fb"
+  syn keyword	freebasicDataTypes		BASE CLASS THIS VAR
+endif
+
+if s:lang == "qb"
+  syn match	freebasicDateTime		"\<\%(date\|time\)\$"
+elseif s:lang == "fblite" || s:lang == "deprecated"
+  syn match	freebasicDateTime		"\<\%(date\|time\)\>\$\="
+else " fb
+  syn keyword	freebasicDateTime		DATE TIME
+endif
+syn keyword	freebasicDateTime		SETDATE SETTIME
+
+" datetime.bi
+syn keyword	freebasicDateTime		DATEADD DATEDIFF DATEPART DATESERIAL DATEVALUE DAY HOUR ISDATE MINUTE
+syn keyword	freebasicDateTime		MONTH MONTHNAME NOW SECOND TIMESERIAL TIMEVALUE
+syn keyword	freebasicDateTime		TIMER YEAR WEEKDAY WEEKDAYNAME
+
+syn keyword	freebasicDebug			STOP
+if s:lang == "qb"
+  syn keyword	freebasicDebug			__ASSERT __ASSERTWARN
+else
+  syn keyword	freebasicDebug			ASSERT ASSERTWARN
+endif
+
+syn keyword	freebasicErrorHandling		ERR ERL ERROR
+if s:lang == "qb"
+  syn keyword	freebasicErrorHandling		__ERFN __ERMN
+  syn match	freebasicErrorHandling		"\<on\s\+error\>"
+else
+  syn keyword	freebasicErrorHandling		ERFN ERMN
+  syn match	freebasicErrorHandling		"\<on\s\+\%(local\s\+\)\=error\>"
+endif
+if s:lang != "fb"
+  syn match	freebasicErrorHandling		"\<resume\%(\s\+next\)\=\>"
+endif
+
+syn match	freebasicFiles			"\<get\s\+#\>"
+syn match	freebasicFiles			"\<input\s\+#\>"
+syn match	freebasicFiles			"\<line\s\+input\s\+#\>"
+syn match	freebasicFiles			"\<put\s\+#\>"
+syn keyword	freebasicFiles			ACCESS APPEND BINARY CLOSE EOF FREEFILE INPUT LOC
+syn keyword	freebasicFiles			LOCK LOF OUTPUT RANDOM RESET SEEK UNLOCK WRITE
+syn match	freebasicFiles			"\<open\>"
+if s:lang == "qb"
+  syn keyword	freebasicFiles			__ENCODING
+else
+  syn keyword	freebasicFiles			ENCODING WINPUT
+  syn match	freebasicFiles			"\<open\s\+\%(cons\|err\|pipe\|scrn\)\>"
+endif
+
+" file.bi
+syn keyword	freebasicFiles			FILEATTR FILECOPY FILEDATETIME FILEEXISTS FILEFLUSH FILELEN FILESETEOF
+
+syn keyword	freebasicFunctions		ALIAS BYREF BYVAL CDECL DECLARE LIB NAKED PASCAL STATIC STDCALL
+syn match	freebasicFunctions		"\<option\ze\s*("
+
+if s:lang == "qb"
+  syn keyword	freebasicFunctions		__CVA_ARG __CVA_COPY __CVA_END __CVA_LIST __CVA_START
+  syn keyword	freebasicFunctions		__VA_ARG __VA_FIRST __VA_NEXT
+else
+  syn keyword	freebasicFunctions		CVA_ARG CVA_COPY CVA_END CVA_LIST CVA_START
+  syn keyword	freebasicFunctions		VA_ARG VA_FIRST VA_NEXT
+  syn keyword	freebasicFunctions		ANY OVERLOAD
+endif
+
+syn keyword	freebasicFunctions		FUNCTION SUB
+syn match	freebasicFunctions		"\<end\s\+function\>"
+syn match	freebasicFunctions		"\<end\s\+sub\>"
+
+if s:lang == "fb"
+  syn keyword	freebasicFunctions		ABSTRACT OVERRIDE VIRTUAL __THISCALL
+  syn keyword	freebasicFunctions		CONSTRUCTOR DESTRUCTOR OPERATOR PROPERTY
+  syn match	freebasicFunctions		"\<end\s\+constructor\>"
+  syn match	freebasicFunctions		"\<end\s\+destructor\>"
+  syn match	freebasicFunctions		"\<end\s\+operator\>"
+  syn match	freebasicFunctions		"\<end\s\+property\>"
+else
+  syn keyword	freebasicFunctions		CALL
+endif
+
+syn match	freebasicGraphics		"\<palette\s\+get\>"
+syn keyword	freebasicGraphics		ADD ALPHA BLOAD BSAVE CIRCLE CLS COLOR DRAW GET
+syn keyword	freebasicGraphics		LINE PAINT PALETTE PCOPY PMAP POINT
+syn keyword	freebasicGraphics		PRESET PSET PUT SCREEN
+syn keyword	freebasicGraphics		TRANS WINDOW
+if s:lang == "qb"
+  syn keyword	freebasicGraphics		__FLIP __IMAGECONVERTROW __IMAGECREATE __IMAGEDESTROY __IMAGEINFO __POINTCOORD
+  syn keyword	freebasicGraphics		__RGB __RGBA __SCREENCOPY __SCREENCONTROL __SCREENEVENT __SCREENGLPROC __SCREENINFO
+  syn keyword	freebasicGraphics		__SCREENLIST __SCREENLOCK __SCREENPTR __SCREENRES __SCREENSET __SCREENSYNC
+  syn keyword	freebasicGraphics		__SCREENUNLOCK __WINDOWTITLE
+else
+  syn keyword	freebasicGraphics		CUSTOM
+  syn keyword	freebasicGraphics		FLIP IMAGECONVERTROW IMAGECREATE IMAGEDESTROY IMAGEINFO POINTCOORD
+  syn keyword	freebasicGraphics		RGB RGBA SCREENCOPY SCREENCONTROL SCREENEVENT SCREENGLPROC SCREENINFO
+  syn keyword	freebasicGraphics		SCREENLIST SCREENLOCK SCREENPTR SCREENRES SCREENSET SCREENSYNC
+  syn keyword	freebasicGraphics		SCREENUNLOCK WINDOWTITLE
+endif
+
+if s:lang != "qb"
+  syn match	freebasicHardware		"\<open\s\+\%(com\|lpt\)\>"
+endif
+syn keyword	freebasicHardware		INP OUT WAIT LPOS LPRINT
+
+syn keyword	freebasicMath			ABS ATN COS EXP FIX FRAC INT LOG MOD RANDOMIZE RND SGN SIN SQR TAN
+
+if s:lang == "qb"
+  syn keyword	freebasicMath			__ACOS __ASIN __ATAN2
+else
+  syn keyword	freebasicMath			ACOS ASIN ATAN2
+endif
+
+if s:lang == "qb"
+  syn keyword	freebasicMemory			__ALLOCATE __CALLOCATE __DEALLOCATE __REALLOCATE
+else
+  syn keyword	freebasicMemory			ALLOCATE CALLOCATE DEALLOCATE REALLOCATE
+  syn keyword	freebasicMemory			PEEK POKE CLEAR FB_MEMCOPY FB_MEMCOPYCLEAR FB_MEMMOVE SWAP SADD
+  syn keyword	freebasicMemory			FIELD FRE
+endif
+
+syn keyword	freebasicMisc			LET TO
+if s:lang == "qb"
+  syn keyword freebasicMisc			__OFFSETOF
+else
+  syn keyword freebasicMisc			OFFSETOF
+endif
+
+syn keyword	freebasicModularizing		CHAIN COMMON
+if s:lang == "fb"
+  syn keyword	freebasicModularizing		EXTERN
+  syn match	freebasicModularizing		"\<end\s\+extern\>"
+  syn keyword	freebasicModularizing		PROTECTED
+endif
+if s:lang == "qb"
+  syn keyword	freebasicModularizing		__EXPORT __IMPORT __DYLIBFREE __DYLIBLOAD __DYLIBSYMBOL
+else
+  syn keyword	freebasicModularizing		EXPORT IMPORT DYLIBFREE DYLIBLOAD DYLIBSYMBOL
+  syn keyword	freebasicModularizing		PRIVATE PUBLIC
+  syn keyword	freebasicModularizing		NAMESPACE
+  syn match	freebasicModularizing		"\<end\s\+namespace\>"
+endif
+
+if s:lang != "qb"
+  syn keyword	freebasicMultithreading		MUTEXCREATE MUTEXDESTROY MUTEXLOCK MUTEXUNLOCK THREADCREATE THREADWAIT
+  syn keyword	freebasicMultithreading		CONDBROADCAST CONDCREATE CONDDESTROY CONDSIGNAL CONDWAIT
+  syn keyword	freebasicMultithreading		THREADCALL THREADDETACH THREADSELF
+endif
+
+syn keyword	freebasicShell			CHDIR KILL NAME MKDIR RMDIR RUN SETENVIRON
+if s:lang == "qb"
+  syn keyword	freebasicShell			__CURDIR __DIR __EXEC __EXEPATH
+  syn match	freebasicString			"\<\%(command\|environ\)\$"
+else
+  " fbio.bi
+  syn keyword	freebasicShell			ISREDIRECTED
+  syn keyword	freebasicShell			CURDIR DIR EXEC EXEPATH
+  syn match	freebasicString			"\<\%(command\|environ\)\>\$\="
+endif
+
+syn keyword	freebasicEnviron		SHELL SYSTEM
+
+syn keyword	freebasicLoops			FOR LOOP WHILE WEND DO STEP UNTIL NEXT
+if s:lang == "qb"
+  syn keyword	freebasicLoops			__CONTINUE
+else
+  syn keyword	freebasicLoops			CONTINUE
+endif
+"
+"	File numbers
+"
+syn match	freebasicFilenumber		"#\d\+"
+syn match	freebasicFilenumber		"#\a[[:alpha:].]*[%&!#]\="
+
+syn match	freebasicMetacommand		"$\s*\%(dynamic\|static\)"
+syn match	freebasicMetacommand		"$\s*include\s*\%(once\)\=\s*:\s*'[^']\+'"
+syn match	freebasicMetacommand		'$\s*include\s*\%(once\)\=\s*:\s*"[^"]\+"'
+syn match	freebasicMetacommand		'$\s*lang\s*:\s*"[^"]\+"'
+"
+"	Intrinsic defines
+"
+syn keyword	freebasicPredefined		__DATE__ __DATE_ISO__
+syn keyword	freebasicPredefined		__FB_64BIT__ __FB_ARGC__ __FB_ARG_COUNT__ __FB_ARG_EXTRACT__ __FB_ARG_LEFTOF__
+syn keyword	freebasicPredefined		__FB_ARG_RIGHTOF__ __FB_ARGV__ __FB_ARM__ __FB_ASM__ __FB_BACKEND__
+syn keyword	freebasicPredefined		__FB_BIGENDIAN__ __FB_BUILD_DATE__ __FB_BUILD_DATE_ISO__ __FB_BUILD_SHA1__
+syn keyword	freebasicPredefined		__FB_CYGWIN__ __FB_DARWIN__ __FB_DEBUG__ __FB_DOS__ __FB_ERR__ __FB_EVAL__
+syn keyword	freebasicPredefined		__FB_FPMODE__ __FB_FPU__ __FB_FREEBSD__ __FB_GCC__ __FB_GUI__ __FB_JOIN__
+syn keyword	freebasicPredefined		__FB_LANG__ __FB_LINUX__ __FB_MAIN__ __FB_MIN_VERSION__ __FB_MT__ __FB_NETBSD__
+syn keyword	freebasicPredefined		__FB_OPENBSD__ __FB_OPTIMIZE__ __FB_OPTION_BYVAL__ __FB_OPTION_DYNAMIC__
+syn keyword	freebasicPredefined		__FB_OPTION_ESCAPE__ __FB_OPTION_EXPLICIT__ __FB_OPTION_GOSUB__
+syn keyword	freebasicPredefined		__FB_OPTION_PRIVATE__ __FB_OUT_DLL__ __FB_OUT_EXE__ __FB_OUT_LIB__ __FB_OUT_OBJ__
+syn keyword	freebasicPredefined		__FB_PCOS__ __FB_PPC__ __FB_QUOTE__ __FB_SIGNATURE__ __FB_SSE__ __FB_UNIQUEID__
+syn keyword	freebasicPredefined		__FB_UNIQUEID_POP__ __FB_UNIQUEID_PUSH__ __FB_UNIX__ __FB_UNQUOTE__
+syn keyword	freebasicPredefined		__FB_VECTORIZE__ __FB_VER_MAJOR__ __FB_VER_MINOR__ __FB_VER_PATCH__ __FB_VERSION__
+syn keyword	freebasicPredefined		__FB_WIN32__ __FB_X86__ __FB_XBOX__
+syn keyword	freebasicPredefined		__FILE__ __FILE_NQ__ __FUNCTION__ __FUNCTION_NQ__
+syn keyword	freebasicPredefined		__LINE__ __PATH__ __TIME__
+"
+"	Preprocessor directives
+"
+syn match	freebasicInclude		"#\s*\%(inclib\|include\%(\s\+once\)\=\|libpath\)\>"
+
+syn match	freebasicPreProcessor		"#\s*assert\>"
+syn match	freebasicPreProcessor		"#\s*cmdline\>"
+syn match	freebasicPreProcessor		"#\s*\%(define\|undef\)\>"
+syn match	freebasicPreProcessor		"#\s*\%(if\|ifdef\|ifndef\|else\|elseif\|endif\)\>"
+syn match	freebasicPreProcessor		"#\s*\%(macro\|endmacro\)\>"
+syn match	freebasicPreProcessor		"#\s*error\>"
+syn match	freebasicPreProcessor		"#\s*lang\>"
+syn match	freebasicPreProcessor		"#\s*line\>"
+syn match	freebasicPreProcessor		"#\s*pragma\%(\s\+reserve\)\=\>"
+syn match	freebasicPreProcessor		"#\s*\%(print\|dynamic\|static\)\>"
+syn keyword	freebasicPreProcessor		DEFINED
+
+syn keyword	freebasicString			LEN
+syn keyword	freebasicString			ASC
+" string.bi
+syn keyword	freebasicString			FORMAT
+syn keyword	freebasicString			VAL
+syn keyword	freebasicString			CVD CVI CVL CVS
+syn keyword	freebasicString			INSTR
+syn keyword	freebasicString			LSET RSET
+
+if s:lang == "qb"
+  syn match	freebasicString			"\<string\$\ze\s*("
+  syn match	freebasicString			"\<__wstring\ze\s*("
+  syn match	freebasicString			"\<space\$"
+  syn keyword	freebasicString			__WSPACE
+  syn match	freebasicString			"\<chr\$"
+  syn keyword	freebasicString			__WCHR
+  syn keyword	freebasicString			__WBIN __WHEX __WOCT __WSTR
+  syn match	freebasicString			"\<\%(bin\|hex\|oct\|str\)\$"
+  syn keyword	freebasicString			__VALLNG __VALINT __VALUINT __VALULNG
+  syn match	freebasicString			"\<\%(mkd\|mki\|mkl\|mks\)\$"
+  syn keyword	freebasicString			__MKLONGINT __MKSHORT
+  syn keyword	freebasicString			__CVLONGINT __CVSHORT
+  syn match	freebasicString			"\<\%(left\|mid\|right\|lcase\|ucase\|ltrim\|rtrim\)\$"
+  syn keyword	freebasicString			__TRIM
+  syn keyword	freebasicString			__INSTRREV
+else
+  syn match	freebasicString			"\<string\$\=\ze\s*("
+  syn match	freebasicString			"\<wstring\ze\s*("
+  syn match	freebasicString			"\<space\>\$\="
+  syn keyword	freebasicString			WSPACE
+  syn match	freebasicString			"\<chr\>\$\="
+  syn keyword	freebasicString			WCHR
+  syn keyword	freebasicString			WBIN WHEX WOCT WSTR
+  syn match	freebasicString			"\<\%(bin\|hex\|oct\|str\)\>\$\="
+  syn keyword	freebasicString			VALLNG VALINT VALUINT VALULNG
+  syn match	freebasicString			"\<\%(mkd\|mki\|mkl\|mks\)\>\$\="
+  syn match	freebasicString			"\<\%(mklongint\|mkshort\)\>\$\="
+  syn keyword	freebasicString			CVLONGINT CVSHORT
+  syn match	freebasicString			"\<\%(left\|mid\|right\|lcase\|ucase\|ltrim\|rtrim\)\>\$\="
+  syn match	freebasicString			"\<trim\>\$\="
+  syn keyword	freebasicString			INSTRREV
+endif
+
+syn keyword	freebasicTypeCasting		CDBL CINT CLNG CSNG
+if s:lang == "qb"
+  syn keyword	freebasicTypeCasting		__CAST __CBOOL __CBYTE __CLNGINT __CPTR __CSHORT __CSIGN __CYBTE __CUINT __CULNG
+  syn keyword	freebasicTypeCasting		__CULNGINT __CUNSG __CUSHORT
+else
+  syn keyword	freebasicTypeCasting		CAST CBOOL CBYTE CLNGINT CPTR CSHORT CSIGN CUBYTE CUINT CULNG CULNGINT CUNSG CUSHORT
+endif
+
+syn match	freebasicUserInput		"\<line\s\+input\>"
+syn keyword	freebasicUserInput		INKEY INPUT
+if s:lang == "qb"
+  syn keyword	freebasicUserInput		__GETJOYSTICK __GETKEY __GETMOUSE __MULTIKEY __SETMOUSE STICK STRIG
+else
+  syn keyword	freebasicUserInput		GETJOYSTICK GETKEY GETMOUSE MULTIKEY SETMOUSE
+endif
+"
+"	Operators
+"
+" TODO: make these context sensitive to remove the overlap of common operators
+"     : alpha operators should probably always be highlighted
+"     -- DJK 20/11/19
+if s:lang == "qb"
+  syn match	freebasicArithmeticOperator	"\<\%(MOD\|__SHL\|__SHR\)\>"
+else
+  syn match	freebasicArithmeticOperator	"\<\%(MOD\|SHL\|SHR\)\>"
+endif
+syn match	freebasicBitwiseOperator	"\<\%(AND\|EQV\|IMP\|NOT\|OR\|XOR\)\>" " freebaseLogical?
+if s:lang == "qb"
+  syn match	freebasicAssignmentOperator	"\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=\@=" " exclude trailing '='
+else
+  syn match	freebasicAssignmentOperator	"\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)=\@="
+endif
+syn match	freebasicShortcircuitOperator	"\<\%(ANDALSO\|ORELSE\)\>"
+if s:lang == "fb"
+  syn match	freebasicMemoryOperator		'\<\%(new\|delete\)\>'
+endif
+syn keyword	freebasicPointerOperator	STRPTR VARPTR
+if s:lang == "qb"
+  syn keyword	freebasicPointerOperator	__PROCPTR
+else
+  syn keyword	freebasicPointerOperator	PROCPTR
+endif
+syn match	freebasicTypeOperator		'\<is\>'
+syn match	freebasicTypeOperator		'\.' nextgroup=freebasicIdentifier skipwhite
+if s:lang == "fb"
+  syn match	freebasicTypeOperator		'->' nextgroup=freebasicIdentifier skipwhite
+endif
+
+if exists("freebasic_operators")
+  syn match	freebasicAssignmentOperator	"=>\=\|[-+&/\\*^]="
+  if s:lang == "qb"
+    syn match	freebasicAssignmentOperator	"\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=" " include trailing '='
+  else
+    syn match	freebasicAssignmentOperator	"\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)="
+  endif
+  syn match	freebasicArithmeticOperator	"[-+&/\\*^]"
+  " syn match	freebasicIndexingOperator	"[[\]()]" " FIXME
+  syn match	freebasicRelationalOperator	"=\|<>\|<=\|<\|>=\|>"
+  syn match	freebasicPreprocessorOperator	'\%(^\s*\)\@<!\%(##\|#\)\|[$!]"\@='
+  syn match	freebasicPointerOperator	'[@*]'
+  syn match	freebasicTypeOperator		'\.' nextgroup=freebasicIdentifier skipwhite
+  if s:lang == "fb"
+    syn match	freebasicTypeOperator		'->' nextgroup=freebasicIdentifier skipwhite
+  endif
+endif
+
+syn cluster	freebasicOperator		contains=freebasic.*Operator
 "
 "	Catch errors caused by wrong parenthesis
 "
-syn region	freebasicParen		transparent start='(' end=')' contains=ALLBUT,@freebasicParenGroup
-syn match	freebasicParenError	")"
-syn match	freebasicInParen	contained "[{}]"
-syn cluster	freebasicParenGroup	contains=freebasicParenError,freebasicSpecial,freebasicTodo,freebasicUserCont,freebasicUserLabel,freebasicBitField
+" syn region	freebasicParen		transparent start='(' end=')' contains=ALLBUT,@freebasicParenGroup
+" syn match	freebasicParenError	")"
+" syn match	freebasicInParen	contained "[{}]"
+" syn cluster	freebasicParenGroup	contains=freebasicParenError,freebasicSpecial,freebasicTodo,freebasicUserCont,freebasicUserLabel,freebasicBitField
 "
-"	Integer number, or floating point number without a dot and with "f".
+"	Integer number
 "
-syn region	freebasicHex			start="&h" end="\W"
-syn region	freebasicHexError		start="&h\x*[g-zG-Z]" end="\W"
-syn region	freebasicOctal			start="&o" end="\W"
-syn region	freebasicOctalError		start="&o[0-7]*[89a-zA-Z]" end="\W"
-syn region	freebasicBinary			start="&b" end="\W"
-syn region	freebasicBinaryError	start="&b[01]*[2-9a-zA-Z]" end="\W"
-syn match	freebasicInteger		"\<\d\+\(u\=l\=\|lu\|f\)\>"
+syn match	freebasicHexError	"&h\w*\>"
+syn match	freebasicOctalError	"&o\w*\>"
+syn match	freebasicBinaryError	"&b\w*\>"
+syn match	freebasicHex		"&h\x\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
+syn match	freebasicOctal		"&o\o\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
+syn match	freebasicBinary		"&b[10]\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
+syn match	freebasicInteger	"\<\d\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
 "
-"	Floating point number, with dot, optional exponent
+"	Floating point
+"	See: https://www.freebasic.net/forum/viewtopic.php?t=20323
 "
-syn match	freebasicFloat		"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
+"	Floating point number, with dot, optional exponent, optional suffix
 "
-"	Floating point number, starting with a dot, optional exponent
+syn match	freebasicFloat		"\<\d\+\.\d*\%([de][-+]\=\d*\)\=[f!#]\="
 "
-syn match	freebasicFloat		"\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
+"	Floating point number, starting with a dot, optional exponent, optional suffix
 "
-"	Floating point number, without dot, with exponent
+syn match	freebasicFloat		"\.\d\+\%([de][-+]\=\d*\)\=[f!#]\="
 "
-syn match	freebasicFloat		"\<\d\+e[-+]\=\d\+[fl]\=\>"
+"	Floating point number, without dot, with optional exponent, optional suffix
 "
-"	Octal number
+syn match	freebasicFloat		"\<\d\+\%([de][-+]\=\d*\)[f!#]\="
 "
-syn case match
-syn match	freebasicOctal2			"\<0\o*\>"
-syn match	freebasicOctal2Error	"\<0\o*[89a-zA-Z]"
+"	Floating point number, without dot, without exponent, with suffix
 "
-"	String and Character contstants
-"
-syn region	freebasicString		start='"' end='"' contains=freebasicSpecial,freebasicTodo
-syn region	freebasicString		start="'" end="'" contains=freebasicSpecial,freebasicTodo
-"
-"	Comments
-"
-syn match	freebasicSpecial	contained "\\\\."
-syn region	freebasicComment	start="^rem" end="$" contains=freebasicSpecial,freebasicTodo
-syn region	freebasicComment	start=":\s*rem" end="$" contains=freebasicSpecial,freebasicTodo
-syn region	freebasicComment	start="\s*'" end="$" contains=freebasicSpecial,freebasicTodo
-syn region	freebasicComment	start="^'" end="$" contains=freebasicSpecial,freebasicTodo
-"
-"	Now do the comments and labels
-"
-syn match	freebasicLabel		"^\d"
-syn match	freebasicLabel		"\<^\w+:\>"
-syn region	freebasicLineNumber	start="^\d" end="\s"
+syn match	freebasicFloat		"\<\d\+[f!#]"
 "
 "	Create the clusters
 "
-syn cluster	freebasicNumber		contains=freebasicHex,freebasicOctal,freebasicOctal2,freebasicBinary,freebasicInteger,freebasicFloat
-syn cluster	freebasicError		contains=freebasicHexError,freebasicOctalError,freebasicOctal2,freebasicBinary
+syn cluster	freebasicNumber		contains=freebasicHex,freebasicOctal,freebasicBinary,freebasicInteger,freebasicFloat
+syn cluster	freebasicNumberError	contains=freebasicHexError,freebasicOctalError,freebasicBinaryError
 "
-"	Used with OPEN statement
+"	Booleans
 "
-syn match	freebasicFilenumber		"#\d\+"
-syn match	freebasicMathOperator	"[\+\-\=\|\*\/\>\<\%\()[\]]" contains=freebasicParen
+if s:lang != "qb"
+  syn keyword	freebasicBoolean	TRUE FALSE
+endif
+"
+"
+"	String and escape sequences
+"
+syn match	freebasicSpecial	contained "\\."
+syn match	freebasicSpecial	contained "\\\d\{1,3}"
+syn match	freebasicSpecial	contained "\\&h\x\{1,2}"
+syn match	freebasicSpecial	contained "\\&o\o\{1,3}"
+syn match	freebasicSpecial	contained "\\&b[01]\{1,8}"
+syn match	freebasicSpecial	contained "\\u\x\{1,4}"
+syn region	freebasicString		start='"'     end='"' " TODO: Toggle contains on Option Escape in fblite and qb? -- DJK 20/11/19
+syn region	freebasicString		start='!\zs"' end='"' contains=freebasicSpecial
+syn region	freebasicString		start='$\zs"' end='"'
+"
+"	Line labels
+"
+if s:lang =~# '\<\%(qb\|fblite\)\>'
+  syn match	freebasicLineLabel	"^\s*\zs\h\%(\w\|\.\)*\ze\s*:"
+else
+  syn match	freebasicLineLabel	"^\s*\zs\h\w*\ze\s*:"
+endif
+syn match	freebasicLineNumber	"^\s*\zs\d\+"
+"
+"	Line continuations
+"
+" syn match	freebasicLineContinuation	"\<_\>"	nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite
+syn keyword	freebasicLineContinuation	_	nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite
+syn match	freebasicPostLineContinuation	".*"	contained
+"
+"
+" Type suffixes
+if exists("freebasic_type_suffixes") && s:lang =~# '\<\%(qb\|fblite\)\>'
+  syn match freebasicTypeSuffix "\h\%(\w\|.\)*\zs[$%&!#]"
+endif
+"
+"	Comments
+"
+syn keyword	freebasicTodo			TODO FIXME XXX NOTE      contained
+syn region	freebasicComment		start="\<rem\>" end="$"  contains=freebasicTodo,@Spell,freebasicMetacommand
+syn region	freebasicComment		start="'"	end="$"  contains=freebasicTodo,@Spell,freebasicMetacommand
+syn region	freebasicDoubleComment		start="''"	end="$"  contains=freebasicTodo,@Spell
+
+if !exists("freebasic_no_comment_fold")
+  syn region	freebasicMultilineComment	start="/'"	end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment fold keepend extend
+  syn region	freebasicMultilineComment2	start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=freebasicComment,freebasicDoubleComment keepend fold
+else
+  syn region	freebasicMultilineComment	start="/'"	end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment
+endif
+
+syn case match
+
+syn sync linebreaks=1
+
 "
 "	The default methods for highlighting.  Can be overridden later
 "
 hi def link freebasicArrays		StorageClass
+hi def link freebasicAsm		Special
 hi def link freebasicBitManipulation	Operator
-hi def link freebasicCompilerSwitches	PreCondit
+hi def link freebasicBoolean		Boolean
+if s:lang == "fb"
+  hi def link freebasicCompilerSwitches	freebasicUnsupportedError
+else
+  hi def link freebasicCompilerSwitches	PreCondit
+endif
 hi def link freebasicConsole		Special
+hi def link freebasicData		Special
 hi def link freebasicDataTypes		Type
 hi def link freebasicDateTime		Type
 hi def link freebasicDebug		Special
 hi def link freebasicErrorHandling	Special
+hi def link freebasicFilenumber		Special
 hi def link freebasicFiles		Special
 hi def link freebasicFunctions		Function
 hi def link freebasicGraphics		Function
 hi def link freebasicHardware		Special
-hi def link freebasicLogical		Conditional
+hi def link freebasicLoops		Repeat
 hi def link freebasicMath		Function
+if s:lang == "fb"
+  hi def link freebasicMetacommand	freebasicUnsupportedError
+else
+  hi def link freebasicMetacommand	SpecialComment
+endif
 hi def link freebasicMemory		Function
 hi def link freebasicMisc		Special
 hi def link freebasicModularizing	Special
@@ -240,18 +620,55 @@
 hi def link freebasicTypeCasting	Type
 hi def link freebasicUserInput		Statement
 hi def link freebasicComment		Comment
+hi def link freebasicDoubleComment	Comment
+hi def link freebasicMultilineComment	Comment
 hi def link freebasicConditional	Conditional
 hi def link freebasicError		Error
 hi def link freebasicIdentifier		Identifier
 hi def link freebasicInclude		Include
 hi def link freebasicGenericFunction	Function
-hi def link freebasicLabel		Label
-hi def link freebasicLineNumber		Label
+hi def link freebasicLineContinuation	Special
+hi def link freebasicLineLabel		LineNr
+if s:lang == "fb"
+  hi def link freebasicLineNumber	freebasicUnsupportedError
+else
+  hi def link freebasicLineNumber	LineNr
+endif
 hi def link freebasicMathOperator	Operator
-hi def link freebasicNumber		Number
+
+hi def link freebasicHex		Number
+hi def link freebasicOctal		Number
+hi def link freebasicBinary		Number
+hi def link freebasicInteger		Number
+hi def link freebasicFloat		Float
+
+hi def link freebasicHexError		Error
+hi def link freebasicOctalError		Error
+hi def link freebasicBinaryError	Error
+
+hi def link freebasicAssignmentOperator		Operator
+hi def link freebasicArithmeticOperator		Operator
+hi def link freebasicIndexingOperator		Operator
+hi def link freebasicRelationalOperator		Operator
+hi def link freebasicBitwiseOperator		Operator
+hi def link freebasicShortcircuitOperator	Operator
+hi def link freebasicPreprocessorOperator	Operator
+hi def link freebasicPointerOperator		Operator
+if exists("freebasic_operators")
+  hi def link freebasicTypeOperator		Operator
+endif
+hi def link freebasicMemoryOperator		Operator
+
+hi def link freebasicSpaceError			Error
+
 hi def link freebasicSpecial		Special
 hi def link freebasicTodo		Todo
 
+hi def link freebasicUnsupported	freebasicUnsupportedError
+hi def link freebasicUnsupportedError	Error
+
+unlet s:lang
+
 let b:current_syntax = "freebasic"
 
-" vim: ts=8
+" vim: ts=8 tw=132 fdm=marker
