[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 34/52: company-gtags: add arguments insertion
From: |
Dmitry Gutov |
Subject: |
[elpa] 34/52: company-gtags: add arguments insertion |
Date: |
Tue, 01 Jul 2014 11:53:24 +0000 |
dgutov pushed a commit to branch master
in repository elpa.
commit 5fbef7e5c8298af03ef9ee3c5160490c34bd84bd
Author: Dmitry Gutov <address@hidden>
Date: Fri Jun 6 06:40:36 2014 +0300
company-gtags: add arguments insertion
Closes #131
---
NEWS.md | 1 +
company-gtags.el | 24 ++++++++++++++++++------
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/NEWS.md b/NEWS.md
index 769e7d5..ac0361f 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -2,6 +2,7 @@
## Next
+* New user option `company-gtags-insert-arguments`, t by default.
* `company-css` knows about CSS3.
* `company-gtags` supports `meta` and `annotation`.
* User option `company-dabbrev-code-other-buffers` can have a new value:
`code`.
diff --git a/company-gtags.el b/company-gtags.el
index d36ac1b..d2f1e78 100644
--- a/company-gtags.el
+++ b/company-gtags.el
@@ -41,6 +41,11 @@
'company-gtags-gnu-global-program-name
'company-gtags-executable "earlier")
+(defcustom company-gtags-insert-arguments t
+ "When non-nil, insert function arguments as a template after completion."
+ :type 'boolean
+ :package-version '(company . "0.8.1"))
+
(defvar-local company-gtags--tags-available-p 'unknown)
(defvar company-gtags-modes '(c-mode c++-mode jde-mode java-mode php-mode))
@@ -51,7 +56,7 @@
(locate-dominating-file buffer-file-name "GTAGS"))
company-gtags--tags-available-p))
-(defun company-gtags-fetch-tags (prefix)
+(defun company-gtags--fetch-tags (prefix)
(with-temp-buffer
(let (tags)
(when (= 0 (call-process company-gtags-executable nil
@@ -73,6 +78,11 @@
(string-to-number (match-string
2)))
))))))
+(defun company-gtags--annotation (arg)
+ (let ((meta (get-text-property 0 'meta arg)))
+ (when (string-match (concat arg "\\((.*)\\).*") meta)
+ (match-string 1 meta))))
+
;;;###autoload
(defun company-gtags (command &optional arg &rest ignored)
"`company-mode' completion back-end for GNU Global."
@@ -84,14 +94,16 @@
(not (company-in-string-or-comment))
(company-gtags--tags-available-p)
(or (company-grab-symbol) 'stop)))
- (candidates (company-gtags-fetch-tags arg))
+ (candidates (company-gtags--fetch-tags arg))
(sorted t)
(duplicates t)
- (annotation (let ((meta (get-text-property 0 'meta arg)))
- (when (string-match (concat arg "\\((.*)\\).*") meta)
- (match-string 1 meta))))
+ (annotation (company-gtags--annotation arg))
(meta (get-text-property 0 'meta arg))
- (location (get-text-property 0 'location arg))))
+ (location (get-text-property 0 'location arg))
+ (post-completion (let ((anno (company-gtags--annotation arg)))
+ (when (and company-gtags-insert-arguments anno)
+ (insert anno)
+ (company-template-c-like-templatify anno))))))
(provide 'company-gtags)
;;; company-gtags.el ends here
- [elpa] 27/52: Merge pull request #128 from bbatsov/defvar-local, (continued)
- [elpa] 27/52: Merge pull request #128 from bbatsov/defvar-local, Dmitry Gutov, 2014/07/01
- [elpa] 30/52: Merge pull request #129 from bbatsov/c-h, Dmitry Gutov, 2014/07/01
- [elpa] 22/52: Update NEWS, Dmitry Gutov, 2014/07/01
- [elpa] 26/52: Backport defvar-local from Emacs 24.2, Dmitry Gutov, 2014/07/01
- [elpa] 28/52: Add package-version property to vars after in 0.7.0, Dmitry Gutov, 2014/07/01
- [elpa] 29/52: Bind company-show-doc-buffer to C-h, Dmitry Gutov, 2014/07/01
- [elpa] 31/52: company-css-value-classes: fix border-width infloop, Dmitry Gutov, 2014/07/01
- [elpa] 32/52: company-css-property-values: port to lexical-binding, Dmitry Gutov, 2014/07/01
- [elpa] 33/52: company-css: add a bunch of CSS3 properties, Dmitry Gutov, 2014/07/01
- [elpa] 36/52: company-css-property-alist: remove reference to font-variant in value for font, Dmitry Gutov, 2014/07/01
- [elpa] 34/52: company-gtags: add arguments insertion,
Dmitry Gutov <=
- [elpa] 38/52: Indicate current candidate's backend when it's in a group, Dmitry Gutov, 2014/07/01
- [elpa] 39/52: company-update-group-lighter: privatize, Dmitry Gutov, 2014/07/01
- [elpa] 41/52: Improve comment wording, Dmitry Gutov, 2014/07/01
- [elpa] 37/52: company-pseudo-tooltip-edit: update company-width, Dmitry Gutov, 2014/07/01
- [elpa] 44/52: company-keywords-alist: ass js-mode -> javascript-mode alias, Dmitry Gutov, 2014/07/01
- [elpa] 43/52: company--should-idle-begin: use a more careful check, Dmitry Gutov, 2014/07/01
- [elpa] 42/52: Don't assign to company-point in company-abort and company-finish, Dmitry Gutov, 2014/07/01
- [elpa] 46/52: Never delete the "added newline" twice, Dmitry Gutov, 2014/07/01
- [elpa] 47/52: Don't call post-completion methods and hook in continue-failed case, Dmitry Gutov, 2014/07/01
- [elpa] 45/52: Bring back this-command check when company-idle-delay is t, Dmitry Gutov, 2014/07/01