[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