X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/5fbef7e5c8298af03ef9ee3c5160490c34bd84bd..ada2ede3ec75235ef0a6721e526b2fc94284093e:/company-gtags.el diff --git a/company-gtags.el b/company-gtags.el index d2f1e78eb..50507838e 100644 --- a/company-gtags.el +++ b/company-gtags.el @@ -1,4 +1,4 @@ -;;; company-gtags.el --- company-mode completion back-end for GNU Global +;;; company-gtags.el --- company-mode completion backend for GNU Global ;; Copyright (C) 2009-2011, 2014 Free Software Foundation, Inc. @@ -26,10 +26,11 @@ ;;; Code: (require 'company) +(require 'company-template) (require 'cl-lib) (defgroup company-gtags nil - "Completion back-end for GNU Global." + "Completion backend for GNU Global." :group 'company) (defcustom company-gtags-executable @@ -48,7 +49,12 @@ (defvar-local company-gtags--tags-available-p 'unknown) -(defvar company-gtags-modes '(c-mode c++-mode jde-mode java-mode php-mode)) +(defcustom company-gtags-modes '(prog-mode jde-mode) + "Modes that use `company-gtags'. +In all these modes (and their derivatives) `company-gtags' will perform +completion." + :type '(repeat (symbol :tag "Major mode")) + :package-version '(company . "0.8.4")) (defun company-gtags--tags-available-p () (if (eq company-gtags--tags-available-p 'unknown) @@ -85,12 +91,13 @@ ;;;###autoload (defun company-gtags (command &optional arg &rest ignored) - "`company-mode' completion back-end for GNU Global." + "`company-mode' completion backend for GNU Global." (interactive (list 'interactive)) (cl-case command (interactive (company-begin-backend 'company-gtags)) (prefix (and company-gtags-executable - (memq major-mode company-gtags-modes) + buffer-file-name + (apply #'derived-mode-p company-gtags-modes) (not (company-in-string-or-comment)) (company-gtags--tags-available-p) (or (company-grab-symbol) 'stop)))