[F#]
lexer=fsharp
keywords.0=name:Keywords::abstract and as assert base begin class default delegate do done downcast \
downto elif else end exception extern false finally fixed for fun function \
global if in inherit inline interface internal lazy let let! match match! \
member module mutable namespace new null of open or override private public \
rec return return! select static struct then to true try type upcast use use! \
val void when while with yield yield! atomic break checked component const \
constraint constructor continue eager event external fixed functor global \
include method mixin object parallel process protected pure sealed tailcall \
trait virtual volatile

keywords.1=name:Functions::abs acos add allPairs append asin asr atan atan2 average averageBy base1 base2 \
blit cache cast ceil choose chunkBySize collect compareWith concat contains containsKey \
copy cos cosh count countBy create createBased delay difference distinct distinctBy empty \
eprintf except exists exists2 exactlyOne failwith fill filter find findBack findIndex findIndexBack \
findKey floor fold fold2 foldBack foldBack2 forall forall2 fprintf fst get groupBy head ignore indexed \
init initBased initInfinite intersect intersectMany invalidArg isEmpty isProperSubset \
isProperSuperset isSubset isSuperset item iter iter2 iteri iteri2 land last length \
length1 length2 length3 length4 lor lsl lsr lxor map map2 map3 mapFold mapFoldBack mapi mapi2 \
max maxBy maxElement min minBy minElement mod nameof not ofArray ofList ofSeq pairwise partition \
permute pick pown printf printfn raise readonly rebase reduce reduceBack remove replicate rev round scan \
scanBack seq set sig sin sinh singleton skip skipWhile snd sort sortBy sortByDescending sortDescending \
sortInPlace sortInPlaceBy sortInPlaceWith sortWith splitAt splitInto sprintf sqrt sub sum \
sumBy tail take takeWhile tan tanh toArray toList toSeq transpose truncate \
tryExactlyOne tryFind tryFindBack tryFindIndex tryFindIndexBack tryHead \
tryItem tryFindKey tryLast tryPick typeof unfold union unionMany unzip unzip3 where \
windowed zeroCreate zeroCreateBased zip zip3

keywords.2=name:Types, core namespaces, modules::ArgumentException Array Array2D Array3D Array4D BigInteger Boolean Byte Char Collections Console Core \
CultureInfo DateTime Decimal Double Environment Expr Float FSharp Globalization Int16 Int32 Int64 IntPtr \
IO Linq List Map Math Microsoft NumberStyles Object Parallel Printf Random Regex ResizeArray SByte Seq Set Single \
String System UInt16 UInt32 UInt64 UIntPtr array bigint bool byte byref char comparison decimal double enum \
equality Error Exception exn float float32 inref int int8 int16 int32 int64 list nativeint nativeptr None obj \
Ok option Option outref ref Result sbyte Some single string unmanaged unativeint uint uint8 uint16 uint32 uint64 \
unit void voidptr voption

style.0=name:White space,fore:clGray
style.1=name:Keyword 1,fore:clNavy
style.2=name:Keyword 2,fore:clNavy,bold
style.3=name:Keyword 3,fore:#378bba,bold
style.4=name:Keyword 4,fore:#b72f14,bold
style.5=name:Keyword 4,fore:#378bba
style.6=name:Identifiers,fore:#686868
style.7=name:Quoted Identifiers,fore:#a00100
style.8=name:Line Comment,fore:clGreen
style.9=name:Line Comment,fore:clGreen
style.10=name:Compiler directive,fore:#5c2c26
style.11=name:Line Number,fore:#5c2c26,back:#e0f3ff
style.12=name:Operators,fore:clBlack
style.13=name:Number,fore:clTeal
style.14=name:Character constant,fore:#cd6000
style.15=name:String constant,fore:#cd6000
style.16=name:Verbatim strings,fore:#800080
style.17=name:Quoted expressions,fore:#b72f14,back:#fefde0
style.18=name:Attributes,fore:#378bba
style.19=name:Format specifiers,fore:clBlack

CommentBlock=//
CommentStreamStart=(*
CommentStreamEnd=*)