anchor.diff:      regular_expressions.add(new markdown_regex(underline_little_header, (Match found) {
                   return new markdown_headline(2, found.group(1));
       }));
  -
  +    regular_expressions.add(new markdown_regex(number_list, (Match found) {
  +                markdown_number_list ret = new markdown_number_list();
  +                RegExp number_item = new RegExp(r"^\s*[0-9]+\. ?(.*?)$", multiLine: true);
  +                for (Match subfound in number_item.allMatches(found.group(0))) {
  +                    ret.add_list_item(subfound.group(1));
  +                }
  +                return ret;
  +    }));
  +    regular_expressions.add(new markdown_regex(bullet_list, (Match found) {
  +                markdown_bullet_list ret = new markdown_bullet_list();
  +                RegExp number_item = new RegExp(r"^\s*[-] ?(.*?)$", multiLine: true);
  +                for (Match subfound in number_item.allMatches(found.group(0))) {
  +                    ret.add_list_item(subfound.group(1));
  +                }
  +                return ret;
  +    }));
   
       bool found_match = false;
       int earliest_start = -1;
  
positive.code:     }
  }
  
  /** 
   * Convert markdown to HTML
   * 
  
negative.code: }
  
  main_wrapped() {
      String inp = "A First Level Header\n====================\n\nA Second Level Header\n---------------------\n\nNow is the time for all good men to come to\nthe aid of their `country`. This is just a\nre_gu_lar paragraph.\n\nThe quick brown fox jumped over the lazy\ndog's back.\n\n### Header 3\n\n> This is a blockquote.\n> \n> This is the second paragraph in the blockquote.\n>\n> ## This is an H2 in a blockquote\n\n    code block\n    second line code block\n- this is\n- elements in\n- a list";
      print(markdown_to_html(inp));
  }
  