private String processMetadata()

in src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefImpl.java [175:205]


  private String processMetadata(@NotNull ClMetadata meta) {
    final StringBuffer buffer = new StringBuffer();
    final ClojurePsiElement args = meta.getValue("arglists");
    if (args != null) {
      if (args instanceof ClQuotedForm) {
        ClQuotedForm form = (ClQuotedForm) args;
        if (form.getQuotedElement() instanceof ClList) {
          ClList list = (ClList) form.getQuotedElement();
          final ArrayList<String> chunks = new ArrayList<String>();
          if (list != null) {
            for (PsiElement element : list.getChildren()) {
              if (element instanceof ClVector) {
                chunks.add(element.getText());
              }
            }
          }
          buffer.append("Arguments:\n");
          for (String chunk : chunks) {
            buffer.append("<b>").append(chunk.trim()).append("</b>").append("\n");
          }
          buffer.append("<br/>");
        }
      }
    }

    final ClojurePsiElement value = meta.getValue("doc");
    if (value != null) {
      buffer.append(processString(value));
    }
    return buffer.toString();
  }