Advertisement
Guest User

Untitled

a guest
Jan 8th, 2013
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.43 KB | None | 0 0
  1. @@ -1,5 +1,4 @@
  2. -(defun fetch-defuns (file)
  3. -   (interactive)
  4. + (defun fetch-defuns (file)
  5.     (save-excursion
  6.       (goto-char (point-min))
  7.       (let (sexp
  8. @@ -13,6 +12,8 @@
  9.                  (defun (push (cons (cadr sexp) (doc-if-any sexp)) defuns))
  10.                  (defmacro (push (cons (cadr sexp) (doc-if-any sexp)) defmacros)))))
  11.          (error nil))
  12. +       ;; reverse the reversed defuns
  13. +       (setq defuns (reverse defuns))
  14.         (generate-docs defuns))))
  15.  
  16.   (defun doc-if-any (sexp)
  17. @@ -20,7 +21,25 @@
  18.     (when (stringp (cadddr sexp))
  19.       (cadddr sexp)))
  20.  
  21. - (defun generate-docs (defuns)
  22. +(defun generate-docs (defuns)
  23.     "generate a simple org with the docs"
  24. -   (mapconcat (lambda (x) (format "* %s
  25. -   %s" (car x) (or (cdr x) "-undocumented-"))) defuns "\n\n"))
  26. +       (mapconcat
  27. +        (lambda (x)
  28. +           (format "\n* %s\n  %s"
  29. +                          (car x) (or (cdr x) "-undocumented-")))
  30. +        defuns "\n"))
  31. +
  32. +(defun display-defuns ()
  33. +  "Display the defuns."
  34. +  (interactive)
  35. +  (let* ((out-buf (format "*Docs for: %s*" (file-name-nondirectory buffer-file-name)))
  36. +         (orig-buf (current-buffer)))
  37. +    (get-buffer-create out-buf)
  38. +    (save-excursion
  39. +      (goto-char (point-min))
  40. +      (with-current-buffer out-buf
  41. +        (erase-buffer)
  42. +        (insert (fetch-defuns orig-buf))
  43. +        (org-mode)
  44. +        (goto-char (point-min))))
  45. +    (display-buffer out-buf)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement