]> code.delx.au - gnu-emacs-elpa/blobdiff - company-semantic.el
Added documentation buffer.
[gnu-emacs-elpa] / company-semantic.el
index 8fba9cf1429000763755c735010eee0141520560..960e69bc7c87d6399992df5778af1791135c9648 100644 (file)
                     "\n"))
             doc)))
 
+(defun company-semantic-doc-buffer (tag)
+  (let ((doc (semantic-documentation-for-tag tag)))
+    (when doc
+      (with-current-buffer (company-doc-buffer)
+        (insert (funcall semantic-idle-summary-function tag nil t)
+                "\n"
+                doc)
+        (current-buffer)))))
+
 (defsubst company-semantic-completions (prefix)
   (ignore-errors
     (let ((completion-ignore-case nil)
@@ -42,7 +51,9 @@
                      (mapcar 'semantic-tag-name
                              (semantic-analyze-find-tags-by-prefix arg))))
     ('meta (funcall company-semantic-metadata-function
-                    (semantic-analyze-find-tag arg)))))
+                    (semantic-analyze-find-tag arg)))
+    ('doc-buffer (company-semantic-doc-buffer (semantic-analyze-find-tag arg)))
+    ))
 
 (provide 'company-semantic)
 ;;; company-semantic.el ends here