I'm implementing Intellisense for a Web-based .Net editor, and I need it to display, among others, a list of matching keywords. For example, in the C# flavor, if a user presses "u", I need it to display both local symbols and keywords starting with "u" (e.g., "using").
Questions:
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.