]> code.delx.au - gnu-emacs-elpa/commitdiff
Remove includes and empty candidates in semantic.
authorNikolaj Schumacher <git@nschum.de>
Tue, 14 Apr 2009 20:23:35 +0000 (22:23 +0200)
committerNikolaj Schumacher <git@nschum.de>
Wed, 15 Apr 2009 08:11:27 +0000 (10:11 +0200)
company-semantic.el

index 6f10af8a5c33633a941b24d684b85b6b6124dc01..93b5441f632d440b8a34fb0208c8899ab8b09b65 100644 (file)
           (context (semantic-analyze-current-context)))
       (all-completions prefix (semantic-ia-get-completions context (point))))))
 
+(defun company-semantic-completions-raw (prefix)
+  (let (candidates)
+    (dolist (tag (semantic-analyze-find-tags-by-prefix prefix))
+      (unless (eq (semantic-tag-class tag) 'include)
+        (push (semantic-tag-name tag) candidates)))
+    (delete "" candidates)))
+
 ;;;###autoload
 (defun company-semantic (command &optional arg &rest ignored)
   "A `company-mode' completion back-end using CEDET Semantic."
@@ -69,8 +76,7 @@
                   (not (company-in-string-or-comment))
                   (company-grab-symbol)))
     ('candidates (or (company-semantic-completions arg)
-                     (mapcar 'semantic-tag-name
-                             (semantic-analyze-find-tags-by-prefix arg))))
+                     (company-semantic-completions-raw arg)))
     ('meta (funcall company-semantic-metadata-function
                     (semantic-analyze-find-tag arg)))
     ('doc-buffer (company-semantic-doc-buffer (semantic-analyze-find-tag arg)))