;;; semantic/complete.el --- Routines for performing tag completion
-;; Copyright (C) 2003-2005, 2007-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
(eval-when-compile
;; For the semantic-find-tags-for-completion macro.
(require 'semantic/find))
+(require 'semantic/db-find) ;For type semanticdb-find-result-with-nil.
;;; Code:
"Calculate the completions for prefix from completionlist.
Output must be in semanticdb Find result format."
;; Must output in semanticdb format
+ (unless completionlist
+ (setq completionlist
+ (or (oref obj cache)
+ (semantic-collector-calculate-cache obj))))
(let ((table (with-current-buffer (oref obj buffer)
semanticdb-current-table))
(result (semantic-find-tags-for-completion
prefix
;; To do this kind of search with a pre-built completion
;; list, we need to strip it first.
- (semanticdb-strip-find-results completionlist)))
- )
+ (semanticdb-strip-find-results completionlist))))
(if result
(list (cons table result)))))
(error nil))
)
+(defvar tooltip-mode)
+
(defmethod semantic-displayor-show-request ((obj semantic-displayor-tooltip))
"A request to show the current tags table."
(if (or (not (featurep 'tooltip)) (not tooltip-mode))
(setq msg "...")))
((eq mode 'verbose)
;; Always show extended match set.
- (oset obj max-tags semantic-displayor-tooltip-max-tags)
+ (oset obj max-tags-initial semantic-displayor-tooltip-max-tags)
(setq max-tags semantic-displayor-tooltip-max-tags)))
(unless msg
(oset obj shown t)
"Return the location of POINT as positioned on the selected frame.
Return a cons cell (X . Y)"
(let* ((frame (selected-frame))
- (left (or (car-safe (cdr-safe (frame-parameter frame 'left)))
- (frame-parameter frame 'left)))
- (top (or (car-safe (cdr-safe (frame-parameter frame 'top)))
+ (toolbarleft
+ (if (eq (cdr (assoc 'tool-bar-position default-frame-alist)) 'left)
+ (tool-bar-pixel-width)
+ 0))
+ (left (+ (or (car-safe (cdr-safe (frame-parameter frame 'left)))
+ (frame-parameter frame 'left))
+ toolbarleft))
+ (top (or (car-safe (cdr-safe (frame-parameter frame 'top)))
(frame-parameter frame 'top)))
(point-pix-pos (posn-x-y (posn-at-point)))
(edges (window-inside-pixel-edges (selected-window))))
(+ (cdr point-pix-pos) (cadr edges) top))))
+(defvar tooltip-frame-parameters)
+(declare-function tooltip-show "tooltip" (text &optional use-echo-area))
+
(defun semantic-displayor-tooltip-show (text)
"Display a tooltip with TEXT near cursor."
(let ((point-pix-pos (semantic-displayor-point-position))
(complst nil))
(when (and thissym (or (not (string= thissym ""))
nextsym))
- ;; Do a quick calcuation of completions.
+ ;; Do a quick calculation of completions.
(semantic-collector-calculate-completions
collector thissym nil)
;; Get the master list
(complst nil))
(when (and thissym (or (not (string= thissym ""))
nextsym))
- ;; Do a quick calcuation of completions.
+ ;; Do a quick calculation of completions.
(semantic-collector-calculate-completions
collector thissym nil)
;; Get the master list