(defvar company-clang-modes '(c-mode c++-mode objc-mode)
"Major modes which clang may complete.")
+(defcustom company-clang-insert-arguments t
+ "When non-nil, insert function arguments as a template after completion.")
+
;; prefix ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar company-clang--prefix nil)
(let ((meta (company-clang--meta candidate)))
(cond
((null meta) nil)
- ((string-match ":" meta)
+ ((string-match "[^:]:[^:]" meta)
(substring meta (match-beginning 0)))
((string-match "\\((.*)\\'\\)" meta)
(match-string 1 meta)))))
(meta (company-clang--meta arg))
(annotation (company-clang--annotation arg))
(post-completion (let ((anno (company-clang--annotation arg)))
- (when anno
+ (when (and company-clang-insert-arguments anno)
(insert anno)
- (if (string-match ":" anno)
+ (if (string-match "[^:]:[^:]" anno)
(company-clang-objc-templatify anno)
- (company-template-c-like-templatify anno)))))))
+ (company-template-c-like-templatify anno)))))))
(provide 'company-clang)
;;; company-clang.el ends here