         lsp-intelephense-storage-path (concat doom-cache-dir "lsp-intelephense/"))
 
   :config
+  (when (and lsp-auto-configure lsp-auto-require-clients)
+    (require 'lsp-clients))
+
   (set-lookup-handlers! 'lsp-mode :async t
     :documentation 'lsp-describe-thing-at-point
     :definition 'lsp-find-definition

;;; Packages

(use-package! lsp-mode
  :defer t
  :init
  (setq lsp-session-file (concat doom-etc-dir "lsp-session"))
  ;; Don't prompt the user for the project root every time we open a new

  :config
  (setq company-lsp-cache-candidates 'auto)) ;; cache candidates for better performance


(use-package! helm-lsp
  :when (featurep! :completion helm)
  :commands helm-lsp-workspace-symbol helm-lsp-global-workspace-symbol)


(use-package! lsp-ivy
  :when (featurep! :completion ivy)
  :commands lsp-ivy-workspace-symbol lsp-ivy-global-workspace-symbol)
