   (let ((force-semantic
          (when ycmd-force-semantic-completion "/s"))
         (text (pcase ycmd--last-status-change
+                (`parsed "")
+                (`parsing "*")
+                (`unparsed "?")
                 (`stopped "-")
-                (`unparsed "?")
-                (`parsing "*")
-                (`errored "!")
-                (`parsed ""))))
+                (`starting ">")
+                (`errored "!"))))
     (concat " ycmd" force-semantic text)))
 
 ;;;###autoload


(defun ycmd--on-window-configuration-change ()
  "Function to run by `window-configuration-change-hook'."
  (when (and ycmd-mode
             (eq ycmd--last-status-change 'unparsed)
             (memq 'buffer-focus ycmd-parse-conditions))
    (ycmd--kill-timer ycmd--on-focus-timer)
    (let ((on-buffer-focus-fn
           (apply-partially 'ycmd--on-unparsed-buffer-focus
                            (current-buffer))))
      (setq ycmd--on-focus-timer
            (run-at-time 1.0 nil on-buffer-focus-fn)))))

(defmacro ycmd--with-all-ycmd-buffers (&rest body)
  "Execute BODY with each `ycmd-mode' enabled buffer."

           (server-program+args (append ycmd-server-command args))
           (proc (apply #'start-process ycmd--server-process-name proc-buff
                        server-program+args)))
      (ycmd--with-all-ycmd-buffers
        (ycmd--report-status 'starting))
      (setq ycmd--server-actual-port nil
            ycmd--hmac-secret hmac-secret)
      (set-process-query-on-exit-flag proc nil)
