diff --git a/modules/lang/qt/autoload.el b/modules/lang/qt/autoload.el deleted file mode 100644 index 805be65b1..000000000 --- a/modules/lang/qt/autoload.el +++ /dev/null @@ -1,14 +0,0 @@ -;;; lang/qt/autoload.el -*- lexical-binding: t; -*- - -;;;###autoload -(add-to-list 'auto-mode-alist '("\\.pr[io]\\'" . qt-pro-mode)) - -;;;###autoload -(when (modulep! +tree-sitter) - (set-tree-sitter! 'qml-mode 'qml-ts-mode - '((qmljs :url "https://github.com/yuja/tree-sitter-qmljs")))) - -;;;###autoload -(when (modulep! +lsp) - (add-hook 'qml-mode-local-vars-hook #'lsp! 'append) - (add-hook 'qml-ts-mode-local-vars-hook #'lsp! 'append)) diff --git a/modules/lang/qt/config.el b/modules/lang/qt/config.el new file mode 100644 index 000000000..afcd94357 --- /dev/null +++ b/modules/lang/qt/config.el @@ -0,0 +1,27 @@ +;;; lang/qt/config.el -*- lexical-binding: t; -*- + +(defun +qt-common-config (mode) + (when (modulep! +lsp) + (set-eglot-client! mode '("qmlls")) + (add-hook (intern (format "%s-local-vars-hook" mode)) #'lsp! 'append))) + + +(use-package! qml-mode + :defer t + :config + (+qt-common-config 'qml-mode)) + + +(use-package! qml-ts-mode + :when (modulep! +tree-sitter) + :when (fboundp 'treesit-available-p) + :defer t + :init + (set-tree-sitter! 'qml-mode 'qml-ts-mode + '((qmljs :url "https://github.com/yuja/tree-sitter-qmljs"))) + :config + (+qt-common-config 'qml-ts-mode)) + + +(use-package! qt-pro-mode + :mode "\\.pr[io]\\'")