             (unless (zerop (length extra))
               (concat " -> " extra)))))
 
-(defun company-ycmd-get-prefix ()
+(defun company-ycmd--prefix ()
   "Prefix-command handler for the company backend."
   (and (memq major-mode company-ycmd-modes)
        buffer-file-name

      (lambda (c)
        (funcall
         cb
         (mapcar 'company-ycmd-construct-candidate
                 (assoc-default 'completions c)))))))

(defun company-ycmd-get-metadata (candidate)
  "Fetch the metadata text-property from a candidate string."
  (get-text-property 0 'detailed_info candidate))

(defun company-ycmd-get-annotation (candidate)
  "Fetch the annotation text-property from a candidate string."
  (let ((params (get-text-property 0 'menu_text candidate))
        (type (get-text-property 0 'kind candidate))

  (interactive (list 'interactive))
  (cl-case command
    (interactive (company-begin-backend 'company-ycmd-backend))
    (prefix      (company-ycmd--prefix))
    (candidates  (company-ycmd--candidates arg))
    (meta        (company-ycmd--meta arg))
    (annotation  (company-ycmd--annotation arg))
    (match       (company-ycmd--match arg))
    (no-cache    't) ; Don't cache. It interferes with fuzzy matching.
    ))

(defun company-ycmd-enable-comprehensive-automatic-completion ()
  "This updates company-begin-commands so that automatic
