Fix pragraph filling in doxy comments
[emacsstuff.git] / cc-ide / cc-ide.el
index 558a606..c7b8193 100644 (file)
 (defconst c-user-prefix-re (regexp-opt c-user-prefixes t))
 
 (defconst ccide-doxy-tag-re 
-  "\\\\(group\\|defgroup\\|see\\|author\\|version\\|id\\|since\\|returns?\\|throws\\|exception\\|raises\\|param\\|li\\|short\\|internal\\)\\b")
+  (concat "\\\\\\(group\\|defgroup\\|see\\|author\\|version\\|id\\|since"
+         "\\|returns?\\|throws?\\|exception\\|raises\\|param\\|li\\|brief"
+         "\\|internal\\|bug\\|fixme\\|todo\\|idea\\|implementation"
+         "\\|note\\|attention\\|warning\\)\\b"))
 
 (defconst ccide-special-extensions
   '(".h" ".hh" ".mpp" ".ih" ".cc" ".cpp" ".ct" ".cti" ".cci"))
     ("vc"  ccide-variable-comment            "Variable comment")
     ("vf"  ccide-grab-acces-fn               "Grab access methods")
     (nil   nil                               separator)
+
+    ;; documentation
+    ("h"  ccide-hide-all-doxy-comments        "Hide all Doxygen comments")
+    ("s"  ccide-show-all-comments             "Show all Doxygen comments")
                                          
-    ;; CORBA                             
-    ("Cg"  ccide-gen-corba-impl                      "Generate CORBA impl")
-    ("Cm"  ccide-gen-corba-impl-methods       "Generate CORBA impl methods")
-    (nil   nil                               separator)
+;    ;; CORBA                            
+;    ("Cg"  ccide-gen-corba-impl                     "Generate CORBA impl")
+;    ("Cm"  ccide-gen-corba-impl-methods       "Generate CORBA impl methods")
+;    (nil   nil                                      separator)
                                          
     ;; templates                         
 ;    ("ts"  ccide-scan-mantemps                      "Scan mantemps")
 ;    (nil   nil                                separator)
 
-    ;; other
-    ("of"  ccide-open-compilation-frame       "Open *compilation* frame")
-    ("oc"  ccide-compile-compile              "Make -> Compile")
-    ("ox"  ccide-compile-clean                "Make -> Clean")
-    ("od"  ccide-compile-cleandepends         "Make -> Clean depends")
-    ("ok"  ccide-compile-kill                 "Kill compilation")
-    ("oh"  ccide-hide-compilation             "Hide *compilation* buffer")))
+;    ;; other
+;    ("of"  ccide-open-compilation-frame       "Open *compilation* frame")
+;    ("oc"  ccide-compile-compile              "Make -> Compile")
+;    ("ox"  ccide-compile-clean                "Make -> Clean")
+;    ("od"  ccide-compile-cleandepends         "Make -> Clean depends")
+;    ("ok"  ccide-compile-kill                 "Kill compilation")
+;    ("oh"  ccide-hide-compilation             "Hide *compilation* buffer")
+
+    ))
 
 ;;; Code:
 
 (defun ccide-in-doxy-comment ()
   (save-excursion
     (back-to-indentation)
-    (if (eq (c-in-literal) 'c)
-       (progn
-         (goto-char (car (c-literal-limits)))
-         (and (looking-at "/\\*\\*[ \t\n\r@]")
-              (current-column))))))
+    (let ((lit (c-in-literal)))
+      (if (cond ((eq lit 'c)
+                (goto-char (car (c-literal-limits)))
+                (looking-at "/\\*\\*<?[ \t\n\r@]"))
+               ((eq lit 'c++)
+                (goto-char (car (c-literal-limits)))
+                (looking-at "///<?[ \t\n\r@]"))
+               (t nil))
+               
+         (progn
+           (goto-char (match-end 0))
+           (current-column))))))
 
 (defun ccide-shell-command (command)
   (let ((obuf (get-buffer-create "*ccide shell command*"))
@@ -1020,7 +1036,6 @@ declaration at the top of the kill ring."
                     (back-to-indentation)
                     (c-literal-limits)))
              (pos (- (point-max) (point))))
-         (incf indent 4)
          (save-excursion
            (back-to-indentation)
            (if (looking-at "*/")
@@ -1366,6 +1381,8 @@ instatiations at point."
   (local-set-key "\C-cC" 'ccide-hide-all-doxy-comments)
   (local-set-key "\C-cS" 'ccide-show-all-comments)
   (set (make-local-variable 'auto-fill-function) 'ccide-fill-function)
+  (set (make-local-variable 'paragraph-start) (concat "[ \t\f]*$\\|[ \t\f]*" ccide-doxy-tag-re))
+  (set (make-local-variable 'paragraph-separate) "[ \t\f]*$")
   (auto-fill-mode -1)
   (ccide-auto-decorate-new-files))