[cfe-commits] r158174 - /cfe/trunk/utils/clang-completion-mode.el
Douglas Gregor
dgregor at apple.com
Thu Jun 7 15:33:30 PDT 2012
Author: dgregor
Date: Thu Jun 7 17:33:29 2012
New Revision: 158174
URL: http://llvm.org/viewvc/llvm-project?rev=158174&view=rev
Log:
Minor comments and changes to clang-completion-mode.el, from David Wood!
Modified:
cfe/trunk/utils/clang-completion-mode.el
Modified: cfe/trunk/utils/clang-completion-mode.el
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/clang-completion-mode.el?rev=158174&r1=158173&r2=158174&view=diff
==============================================================================
--- cfe/trunk/utils/clang-completion-mode.el (original)
+++ cfe/trunk/utils/clang-completion-mode.el Thu Jun 7 17:33:29 2012
@@ -32,8 +32,12 @@
;;
;; (load-library "clang-completion-mode")
;;
+;; Once you have done this, you can set various parameters with
+;;
+;; M-x customize-group RET clang-completion-mode RET
+;;
;; Finally, to try Clang-based code completion in a particular buffer,
-;; use M-x clang-completion-mode. When "Clang-CC" shows up in the mode
+;; use M-x clang-completion-mode. When "Clang" shows up in the mode
;; line, Clang's code-completion is enabled.
;;
;; Clang's code completion is based on parsing the complete source
@@ -100,7 +104,12 @@
(or (string-match "OVERLOAD:" line)
(string-match (concat "COMPLETION: " clang-completion-substring) line)))
+
+;; re-process the completions when further input narrows the field
(defun clang-completion-display (buffer)
+ (fill-buffer buffer))
+
+(defun fill-buffer (buffer)
(let* ((all-lines (split-string clang-result-string "\n"))
(completion-lines (filter 'is-completion-line all-lines)))
(if (consp completion-lines)
@@ -124,24 +133,7 @@
;; contents of the code-completion buffer with the new code-completion results
;; and ensures that the buffer is visible.
(defun clang-completion-sentinel (proc event)
- (let* ((all-lines (split-string clang-result-string "\n"))
- (completion-lines (filter 'is-completion-line all-lines)))
- (if (consp completion-lines)
- (progn
- ;; Erase the process buffer.
- (let ((cur (current-buffer)))
- (set-buffer (process-buffer proc))
- (goto-char (point-min))
- (erase-buffer)
- (set-buffer cur))
-
- ;; Display the process buffer.
- (display-buffer (process-buffer proc))
-
- ;; Insert the code-completion string into the process buffer.
- (with-current-buffer (process-buffer proc)
- (insert (mapconcat 'identity completion-lines "\n")))
- ))))
+ (fill-buffer (process-buffer proc)))
(defun clang-complete ()
(let* ((cc-point (concat (buffer-file-name)
More information about the cfe-commits
mailing list