                       (ycmd--handle-exception result)
                       (run-hook-with-args
                        'ycmd-after-exception-hook
-                       type request-buffer request-point result))
+                       subcommand request-buffer request-point result))
                   (when success-handler
                     (funcall success-handler result)))))))))))
 
-(defun ycmd--send-completer-command-request (type &optional buffer pos)
-  "Send Go To request of TYPE to BUFFER at POS."
+(defun ycmd--send-completer-command-request (subcommand &optional buffer pos)
+  "Send completer SUBCOMMAND for BUFFER at POS."
   (let* ((buffer (or buffer (current-buffer)))
          (pos (or pos (point)))
-         (content (cons (list "command_arguments" type)
+         (subcommand (if (listp subcommand)
+                         subcommand
+                       (list subcommand)))
+         (content (cons (append (list "command_arguments")
+                                subcommand)
                         (ycmd--standard-content buffer pos))))
     (ycmd--request
      "/run_completer_command"

  "Clear the compilation flags cache."
  (interactive)
  (ycmd--send-request "ClearCompilationFlagCache" nil))

(cl-defun ycmd--fontify-code (code &optional (mode major-mode))
  "Fontify CODE."

    (define-key map "v" 'ycmd-show-debug-info)
    (define-key map "d" 'ycmd-show-documentation)
    (define-key map "C" 'ycmd-clear-compilation-flag-cache)
    (define-key map "O" 'ycmd-restart-semantic-server)
    (define-key map "t" 'ycmd-get-type)
    (define-key map "T" 'ycmd-get-parent)
    (define-key map "f" 'ycmd-fixit)
