]> code.delx.au - gnu-emacs-elpa/blobdiff - company-gtags.el
Merge pull request #397 from bremner/make-elpa-fix
[gnu-emacs-elpa] / company-gtags.el
index d2f1e78ebb0a9ea80b21c8b97dbe78543067fecf..e214db7797fba34364388376887d8a36bf0cbd23 100644 (file)
@@ -26,6 +26,7 @@
 ;;; Code:
 
 (require 'company)
+(require 'company-template)
 (require 'cl-lib)
 
 (defgroup company-gtags nil
 
 (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)
@@ -90,7 +96,8 @@
   (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)))