anchor.diff:                      Text -> Text
                   end || Header <- Headers0],
       Body = [[case Rev of
  -                 "" -> "";
  +                 '@' -> "";
                    _ -> list_rev(Dir, Rev)
                end || Rev <- Revs]
               || Revs <- Body0],
  
positive.code:         ++ "\n\t" ++ maybe_list_semver(DocsRoot, Tags)
          ++ "<br/>"
          ++ "\n\t<h3 id=\"branches\">Branches</h3>"
          ++ "\n\t<p>" ++ list_titles(DocsRoot,Branches) ++ "</p>".
  
  is_tag (#rev{type = tag}) -> true;
  is_tag (_branch) -> false.
  
negative.code:                       discover_urls("\\s\"'();,", Contents);
                    ".gitmodules" ->
                        discover_urls("\\s=",       Contents)
                     ++ discover_surr("\\s\"", "@", Contents);
                    _ ->  %% "rebar.config"++_ ->%%FIXME maybe
                        discover_urls("\\s\"",      Contents)
                     ++ discover_surr("\\s\"", "@", Contents)
                end
        end, Files).
  
  discover_urls (Seps, Bin) ->
      discover_surr(Seps, "://", Bin).
  discover_surr (Seps, Mid, Bin) ->
      RegExp = [ "[",Seps,"]([^", Seps, "]+", Mid, "[^", Seps, "]+)[",Seps,"]" ],
      case re:run(Bin, lists:flatten(RegExp),
                  [{capture,all_but_first,list}, global]) of
  