TODO
FIXME
HACK
UNDONE
\#
(define|undef|if|elif|else|endif|line)\b
//
(region|endregion|error|warning|pragma)\b
///(?!/)
//
/\*
\*/
"
"
'
'
@"
"
@[\w\d_]+
this
base
as
is
new
sizeof
typeof
stackalloc
true
false
else
if
switch
case
default
do
for
foreach
in
while
lock
break
continue
goto
return
yield
partial
global
where
select
group
by
into
from
ascending
descending
orderby
let
join
on
equals
var
dynamic
await
try
throw
catch
finally
checked
unchecked
fixed
unsafe
bool
byte
char
decimal
double
enum
float
int
long
sbyte
short
struct
uint
ushort
ulong
class
interface
delegate
object
string
void
explicit
implicit
operator
params
ref
out
abstract
const
event
extern
override
readonly
sealed
static
virtual
volatile
async
public
protected
private
internal
namespace
using
get
set
add
remove
null
value
\b
[\d\w_]+ # an identifier
(?=\s*\() # followed by (
\b0[xX][0-9a-fA-F]+ # hex number
|
( \b\d+(\.[0-9]+)? #number with optional floating point
| \.[0-9]+ #or just starting with floating point
)
([eE][+-]?[0-9]+)? # optional exponent
[?,.;()\[\]{}+\-/%*<>^+~!|&]+