X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/cb753c3ace486a17e1f3fbb3cbee29dfd20ae68d..a5433b904ffc3b1cb51cc108e24a9d6bd6ca6bc6:/packages/company/company-eclim.el diff --git a/packages/company/company-eclim.el b/packages/company/company-eclim.el index ea0b73ee5..70db7c31b 100644 --- a/packages/company/company-eclim.el +++ b/packages/company/company-eclim.el @@ -70,6 +70,7 @@ eclim can only complete correctly when the buffer has been saved." (make-variable-buffer-local 'company-eclim--doc) (declare-function json-read "json") +(defvar json-array-type) (defun company-eclim--call-process (&rest args) (let ((coding-system-for-read 'utf-8) @@ -109,8 +110,7 @@ eclim can only complete correctly when the buffer has been saved." (defun company-eclim--candidates (prefix) (interactive "d") (let ((project-file (file-relative-name buffer-file-name - (company-eclim--project-dir))) - (project-name (company-eclim--project-name))) + (company-eclim--project-dir)))) (when company-eclim-auto-save (when (buffer-modified-p) (basic-save-buffer)) @@ -144,6 +144,14 @@ eclim can only complete correctly when the buffer has been saved." (defun company-eclim--meta (candidate) (gethash candidate company-eclim--doc)) +(defun company-eclim--prefix () + (let ((prefix (company-grab-symbol))) + (when prefix + ;; Completion candidates for annotations don't include '@'. + (when (eq ?@ (string-to-char prefix)) + (setq prefix (substring prefix 1))) + prefix))) + (defun company-eclim (command &optional arg &rest ignored) "`company-mode' completion back-end for Eclim. Eclim provides access to Eclipse Java IDE features for other editors. @@ -160,7 +168,7 @@ Completions only work correctly when the buffer has been saved. company-eclim-executable (company-eclim--project-name) (not (company-in-string-or-comment)) - (or (company-grab-symbol) 'stop))) + (or (company-eclim--prefix) 'stop))) (candidates (company-eclim--candidates arg)) (meta (company-eclim--meta arg)) ;; because "" doesn't return everything