]> code.delx.au - gnu-emacs/blobdiff - lisp/cedet/semantic/ia.el
Update copyright year to 2014 by running admin/update-copyright.
[gnu-emacs] / lisp / cedet / semantic / ia.el
index 1aedc7b6d458eea64ec9201ae97195d7f34847b1..f11d34d9ed72c237df4264f9a9e99091036731d7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/ia.el --- Interactive Analysis functions
 
-;;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
+;;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
 (require 'semantic/analyze)
 (require 'semantic/format)
 (require 'pulse)
+(require 'semantic/senator)
+(require 'semantic/analyze/refs)
 (eval-when-compile
   (require 'semantic/analyze)
-  (require 'semantic/analyze/refs)
   (require 'semantic/find))
 
 (declare-function imenu--mouse-menu "imenu")
@@ -143,11 +144,51 @@ Completion options are calculated with `semantic-analyze-possible-completions'."
               (mapcar semantic-ia-completion-format-tag-function syms)))))))))
 
 (defcustom semantic-ia-completion-menu-format-tag-function
-  'semantic-uml-concise-prototype-nonterminal
+  'semantic-format-tag-uml-concise-prototype
   "*Function used to convert a tag to a string during completion."
   :group 'semantic
   :type semantic-format-tag-custom-list)
 
+;; Disabled - see http://debbugs.gnu.org/14522
+;; ;;;###autoload
+;; (defun semantic-ia-complete-symbol-menu (point)
+;;   "Complete the current symbol via a menu based at POINT.
+;; Completion options are calculated with `semantic-analyze-possible-completions'."
+;;   (interactive "d")
+;;   (require 'imenu)
+;;   (let* ((a (semantic-analyze-current-context point))
+;;      (syms (semantic-analyze-possible-completions a))
+;;      )
+;;     ;; Complete this symbol.
+;;     (if (not syms)
+;;     (progn
+;;       (message "No smart completions found.  Trying Senator.")
+;;       (when (semantic-analyze-context-p a)
+;;         ;; This is a quick way of getting a nice completion list
+;;         ;; in the menu if the regular context mechanism fails.
+;;         (senator-completion-menu-popup)))
+;;
+;;       (let* ((menu
+;;           (mapcar
+;;            (lambda (tag)
+;;              (cons
+;;               (funcall semantic-ia-completion-menu-format-tag-function tag)
+;;               (vector tag)))
+;;            syms))
+;;          (ans
+;;           (imenu--mouse-menu
+;;            ;; XEmacs needs that the menu has at least 2 items.  So,
+;;            ;; include a nil item that will be ignored by imenu.
+;;            (cons nil menu)
+;;            (senator-completion-menu-point-as-event)
+;;            "Completions")))
+;;     (when ans
+;;       (if (not (semantic-tag-p ans))
+;;           (setq ans (aref (cdr ans) 0)))
+;;       (delete-region (car (oref a bounds)) (cdr (oref a bounds)))
+;;       (semantic-ia-insert-tag ans))
+;;     ))))
+
 ;;; Completions Tip
 ;;
 ;; This functions shows how to get the list of completions,