in CodeAnalysis/Xamarin.Interactive.CodeAnalysis.Roslyn/ConversionExtensions.cs [83:141]
public static InteractiveDiagnostic ToInteractiveDiagnostic (
this Microsoft.CodeAnalysis.Diagnostic diagnostic)
=> new InteractiveDiagnostic (
diagnostic.Location.FromRoslyn (),
(InteractiveDiagnosticSeverity)(int)diagnostic.Severity,
diagnostic.GetMessage (),
diagnostic.Id);
public static CompletionItemKind ToCompletionItemKind (ImmutableArray<string> completionTags)
{
if (completionTags.Length == 0)
goto @default;
if (completionTags.Contains (CompletionTags.Assembly) ||
completionTags.Contains (CompletionTags.Namespace) ||
completionTags.Contains (CompletionTags.Project) ||
completionTags.Contains (CompletionTags.Module))
return CompletionItemKind.Module;
if (completionTags.Contains (CompletionTags.Class) ||
completionTags.Contains (CompletionTags.Structure))
return CompletionItemKind.Class;
if (completionTags.Contains (CompletionTags.Constant) ||
completionTags.Contains (CompletionTags.Field) ||
completionTags.Contains (CompletionTags.Delegate) ||
completionTags.Contains (CompletionTags.Event) ||
completionTags.Contains (CompletionTags.Local))
return CompletionItemKind.Field;
if (completionTags.Contains (CompletionTags.Enum) ||
completionTags.Contains (CompletionTags.EnumMember))
return CompletionItemKind.Enum;
if (completionTags.Contains (CompletionTags.Method) ||
completionTags.Contains (CompletionTags.Operator))
return CompletionItemKind.Method;
if (completionTags.Contains (CompletionTags.ExtensionMethod))
return CompletionItemKind.Function;
if (completionTags.Contains (CompletionTags.Interface))
return CompletionItemKind.Interface;
if (completionTags.Contains (CompletionTags.Property))
return CompletionItemKind.Property;
if (completionTags.Contains (CompletionTags.Keyword))
return CompletionItemKind.Keyword;
if (completionTags.Contains (CompletionTags.Reference))
return CompletionItemKind.Reference;
if (completionTags.Contains (CompletionTags.Snippet))
return CompletionItemKind.Snippet;
@default:
return CompletionItemKind.Text;
}