(let ((meta (company-clang--meta candidate)))
(cond
((null meta) nil)
- ((string-match ":" meta)
- (substring meta (match-beginning 0)))
- ((string-match "\\((.*)\\'\\)" meta)
+ ((string-match "[^:]:[^:]" meta)
+ (substring meta (1+ (match-beginning 0))))
+ ((string-match "\\((.*)[ a-z]*\\'\\)" meta)
(match-string 1 meta)))))
(defun company-clang--strip-formatting (text)
t))))))
(defsubst company-clang--build-complete-args (pos)
- (append '("-cc1" "-fsyntax-only" "-code-completion-macros")
+ (append '("-fsyntax-only" "-Xclang" "-code-completion-macros")
(unless (company-clang--auto-save-p)
(list "-x" (company-clang--lang-option)))
company-clang-arguments
(when (stringp company-clang--prefix)
(list "-include" (expand-file-name company-clang--prefix)))
- '("-code-completion-at")
- (list (company-clang--build-location pos))
+ (list "-Xclang" (format "-code-completion-at=%s"
+ (company-clang--build-location pos)))
(list (if (company-clang--auto-save-p) buffer-file-name "-"))))
(defun company-clang--candidates (prefix callback)
(post-completion (let ((anno (company-clang--annotation arg)))
(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