Figured it.
var memberInfos = typeof (SyntaxKind).GetMembers(BindingFlags.Public | BindingFlags.Static);
var keywords = from memberInfo in memberInfos
where memberInfo.Name.EndsWith("Keyword")
orderby memberInfo.Name
select memberInfo.Name.CutoffEnd("Keyword").ToLower();
I'm getting some extra keywords for compiler directives, like pragma
, but it's a good start.