public static void Register(DefaultTerms defaultTerms, TextWriter writer)
        {
            var dictionary = LoadXmlDocumentation();

            var header = tr(new[]
            {
                td("Name"),
                td("Term"),
                td("Description")
            });
            var rows = new List <dynamic>();

            foreach (var field in typeof(Terms).GetFields())
            {
                var value       = field.GetValue(null).ToString();
                var description = dictionary.ContainsKey(value) ? dictionary[value] : "";
                rows.Add(tr(new[]
                {
                    td(field.Name),
                    td(new HtmlString($"<a href=\"{value}\">{value}</a>")),
                    td(description)
                }));
            }

            var t = table(
                thead(header),
                tbody(rows));

            writer.Write(t);
        }
 public TermsCommand() : base("#!terms", "Display Darwin Core standard terms")
 {
     Handler = CommandHandler.Create((KernelInvocationContext invocationContext) =>
     {
         var defaultTerms = new DefaultTerms();
         invocationContext.Display(defaultTerms);
     });
 }