public CompletionItem GetCompletion() => new CompletionItem()
 {
     Label         = Name,
     Kind          = CompletionItemKind.Variable,
     Detail        = (CodeType?.GetName() ?? "define") + " " + Name,
     Documentation = Documentation == null ? null : Extras.GetMarkupContent(Documentation.ToString())
 };
 public static CompletionItem GetFunctionCompletion(IMethod function) => new CompletionItem()
 {
     Label         = function.Name,
     Kind          = CompletionItemKind.Method,
     Detail        = (!function.DoesReturnValue ? "void" : (function.ReturnType == null ? "define" : function.ReturnType.GetName())) + " " + function.GetLabel(false),
     Documentation = Extras.GetMarkupContent(function.Documentation)
 };