text/x-fsharp
*.fs;
//
(*
*)
\b[A-Z][A-Za-z0-9_']*
\b[a-z][A-Za-z0-9_']*
\\((\\|"|'|n|t|b|r)|[0-9]{3}|x[0-9a-fA-F]{2})
^\s*#\s*
[!#$%&*+./>=<?@:\\^|~-]
\%{char-esc}
\%{preproc-start}
(if(n?def)?|else|endif|light|region|endregion)\b
[-]?0[xX][0-9A-Fa-f][0-9A-Fa-f_]*[lL]?
[-]?0[oO][0-7][0-7_]*[lL]?
[-]?0[bB][01][01_]*[lL]?
[~?]\%{low-ident}
`\%{cap-ident}
\%{cap-ident}(\.\%{cap-ident})*(?=\.)
\%{cap-ident}
"
"
('\%{char-esc}')|('[^\\']')
'\%{low-ident}
\[\|
\|\]
(?<![\w\.])
[0-9]+[uUlL]*
(?![\w\.])
true
false
(?<!\%{symbolchar})
(?!\%{symbolchar})
\.\.
::
=
@
~
->
|
:?
:?>
^
<-
&&
&
abstract
and
as
assert
asr
begin
class
default
delegate
do
done
downcast
downto
else
end
enum
exception
false
finaly
for
fun
function
if
in
iherit
interface
land
lazy
let
lor
lsl
lsr
lxor
match
member
mod
module
mutable
namespace
new
null
of
open
or
override
sig
static
struct
then
to
true
try
type
val
when
inline
upcast
while
with
async
atomic
break
checked
component
const
constructor
continue
eager
event
external
fixed
functor
include
method
mixin
process
property
protected
public
pure
readonly
return
sealed
switch
virtual
void
volatile
where