]> git.eshelyaron.com Git - emacs.git/commitdiff
Synchronize cedet/srecode with Emacs.
authorxscript <xscript@users.sourceforge.net>
Wed, 1 Jun 2011 00:28:30 +0000 (02:28 +0200)
committerEdward John Steere <edward.steere@gmail.com>
Wed, 25 Jan 2017 17:04:09 +0000 (19:04 +0200)
test/manual/cedet/cedet/srecode/document.el [new file with mode: 0644]

diff --git a/test/manual/cedet/cedet/srecode/document.el b/test/manual/cedet/cedet/srecode/document.el
new file mode 100644 (file)
index 0000000..aaa3b39
--- /dev/null
@@ -0,0 +1,47 @@
+;;;###autoload
+(defun srecode-document-function-comment-extract-test ()
+  "Test old comment extraction.
+Dump out the extracted dictionary."
+  (interactive)
+
+  (srecode-load-tables-for-mode major-mode)
+  (srecode-load-tables-for-mode major-mode 'document)
+
+  (if (not (srecode-table))
+      (error "No template table found for mode %s" major-mode))
+
+  (let* ((temp (srecode-template-get-table (srecode-table)
+                                           "function-comment"
+                                           "declaration"
+                                           'document))
+         (fcn-in (semantic-current-tag)))
+
+    (if (not temp)
+        (error "No templates for function comments"))
+
+    ;; Try to figure out the tag we want to use.
+    (when (or (not fcn-in)
+             (not (semantic-tag-of-class-p fcn-in 'function)))
+      (error "No tag of class 'function to insert comment for"))
+
+    (let ((lextok (semantic-documentation-comment-preceeding-tag fcn-in 'lex))
+          )
+
+      (when (not lextok)
+        (error "No comment to attempt an extraction"))
+
+      (let ((s (semantic-lex-token-start lextok))
+            (e (semantic-lex-token-end lextok))
+            (extract nil))
+
+        (pulse-momentary-highlight-region s e)
+
+        ;; Extract text from the existing comment.
+        (setq extract (srecode-extract temp s e))
+
+        (with-output-to-temp-buffer "*SRECODE DUMP*"
+          (princ "EXTRACTED DICTIONARY FOR ")
+          (princ (semantic-tag-name fcn-in))
+          (princ "\n--------------------------------------------\n")
+          (srecode-dump extract))
+        ))))