            (company-grab-symbol-cons "\\.\\|->\\|::" 2)
          (company-grab-symbol))))
 
-(defun company-ycmd-get-candidates (prefix)
+(defun company-ycmd--candidates (prefix)
   "Candidates-command handler for the company backend."
-  (cons :async 'company-ycmd-candidates))
+  (cons :async 'company-ycmd--get-candidates))
 
-(defun company-ycmd-get-match (prefix)
+(defun company-ycmd--match (prefix)
   (point))
 
 (defun company-ycmd-backend (command &optional arg &rest ignored)

(defcustom company-ycmd-modes '(c++-mode python-mode csharp-mode)
  "The list of modes for which company-ycmd will attempt completions.")

(defun company-ycmd-construct-candidate (src)
  "Converts a ycmd completion structure to a candidate string.

Takes a ycmd completion structure SRC, extracts the

  (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
