diff options
author | John McCall <rjmccall@apple.com> | 2010-01-13 06:44:51 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-01-13 06:44:51 +0000 |
commit | 7ae4373bde78acf912d7c33423fd2c33606ee851 (patch) | |
tree | 4c8e06b3a6b120e32b5089e4785942c3f2182943 /utils/clang-completion-mode.el | |
parent | 52388f9aefba585475a38081272ce582d033c883 (diff) | |
download | clang-7ae4373bde78acf912d7c33423fd2c33606ee851.tar.gz |
Insert clang-flags into the clang command. Currently it needs to be a list;
future work should permit strings (by splitting them into a list o' strings).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/clang-completion-mode.el')
-rw-r--r-- | utils/clang-completion-mode.el | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/utils/clang-completion-mode.el b/utils/clang-completion-mode.el index 4164eac7ac..873127f5cd 100644 --- a/utils/clang-completion-mode.el +++ b/utils/clang-completion-mode.el @@ -144,12 +144,21 @@ This variable will typically contain include paths, e.g., -I~/MyProject." )))) (defun clang-complete () - (let ((ccstring (concat (buffer-file-name) - ":" - (number-to-string (+ 1 (current-line))) - ":" - (number-to-string (+ 1 (current-column))))) - (cc-buffer-name (concat "*Clang Completion for " (buffer-name) "*"))) + (let* ((cc-point (concat (buffer-file-name) + ":" + (number-to-string (+ 1 (current-line))) + ":" + (number-to-string (+ 1 (current-column))))) + (cc-pch (if (equal clang-completion-prefix-header "") nil + (list "-include-pch" + (concat clang-completion-prefix-header ".pch")))) + (cc-flags (if (listp clang-flags) clang-flags nil)) + (cc-command (append `(,clang "-cc1" "-fsyntax-only") + cc-flags + cc-pch + `("-code-completion-at" ,cc-point) + (list (buffer-file-name)))) + (cc-buffer-name (concat "*Clang Completion for " (buffer-name) "*"))) ;; Start the code-completion process (if (buffer-file-name) (progn @@ -162,18 +171,9 @@ This variable will typically contain include paths, e.g., -I~/MyProject." (setq clang-result-string "") (setq clang-completion-buffer cc-buffer-name) - (let ((cc-proc - (if (equal clang-completion-prefix-header "") - (start-process "Clang Code-Completion" cc-buffer-name - clang "-cc1" "-fsyntax-only" - "-code-completion-at" ccstring - (buffer-file-name)) - (start-process "Clang Code-Completion" cc-buffer-name - clang "-cc1" "-fsyntax-only" - "-code-completion-at" ccstring - "-include-pch" - (concat clang-completion-prefix-header ".pch") - (buffer-file-name))))) + (let ((cc-proc (apply 'start-process + (append (list "Clang Code-Completion" cc-buffer-name) + cc-command)))) (set-process-filter cc-proc 'clang-completion-stash-filter) (set-process-sentinel cc-proc 'clang-completion-sentinel) ))))) |