(use-package lsp-mode :config (progn (lsp–require-packages)
(defun treesit-auto-copy-all-lsp-languages () (cl-loop for recipe in treesit-auto-recipe-list do (let ((from (treesit-auto-recipe-remap recipe)) (to (treesit-auto-recipe-ts-mode recipe))) (treesit-auto-copy-lsp-language from to) (treesit-auto-copy-lsp-client-languages from to))))
(defun treesit-auto-copy-lsp-language (from to) (let ((from-value (alist-get from lsp-language-id-configuration))) (when from-value (add-to-list ‘lsp-language-id-configuration `(,to . ,from-value)) from-value)))
(defun treesit-auto-copy-lsp-client-languages (from to) (message “Copying %s to %s for clients, client count: %s” from to (length (hash-table-values lsp-clients))) (cl-loop for client in (hash-table-values lsp-clients) do (let ((major-modes (lsp–client-major-modes client))) (when (and major-modes (memq from major-modes)) (lsp-add-major-mode-to-client client to))))) (treesit-auto-copy-all-lsp-languages)))