diff --git a/modules/lang/swift/README.org b/modules/lang/swift/README.org index 510653c2b..dabc650d4 100644 --- a/modules/lang/swift/README.org +++ b/modules/lang/swift/README.org @@ -19,6 +19,7 @@ This module adds support for the [[https://developer.apple.com/swift/][Swift pro ** Packages - [[doom-package:swift-mode]] +- [[doom-package:swift-ts-mode]] if [[doom-module:+tree-sitter]] - if [[doom-module:+lsp]] - [[doom-package:lsp-sourcekit]] - else diff --git a/modules/lang/swift/config.el b/modules/lang/swift/config.el index de11b40a2..8a16bdb0f 100644 --- a/modules/lang/swift/config.el +++ b/modules/lang/swift/config.el @@ -1,13 +1,18 @@ ;;; lang/swift/config.el -*- lexical-binding: t; -*- -(after! swift-mode +(use-package! swift-mode + :defer t + :init + (when (modulep! +tree-sitter) + (set-tree-sitter! 'swift-mode 'swift-ts-mode + '((swift :url "https://github.com/alex-pinkus/tree-sitter-swift")))) + + :config (set-repl-handler! 'swift-mode #'run-swift) (set-eglot-client! 'swift-mode '("sourcekit-lsp")) (when (modulep! +lsp) - (add-hook 'swift-mode-local-vars-hook #'lsp! 'append)) - (when (modulep! +tree-sitter) - (add-hook 'swift-mode-local-vars-hook #'tree-sitter! 'append))) + (add-hook 'swift-mode-local-vars-hook #'lsp! 'append))) (use-package! flycheck-swift diff --git a/modules/lang/swift/packages.el b/modules/lang/swift/packages.el index 2448d0ab0..56206450b 100644 --- a/modules/lang/swift/packages.el +++ b/modules/lang/swift/packages.el @@ -10,3 +10,6 @@ (package! company-sourcekit :pin "a1860ad4dd3a542acd2fa0dfac2a388cbdf4af0c")) (when (modulep! :checkers syntax -flymake) (package! flycheck-swift :pin "4c5ad401252400a78da395fd56a71e67ff8c2761"))) + +(when (modulep! +tree-sitter) + (package! swift-ts-mode :pin "43a0be79f9758fc444f5fafdff6023c4c7bf80f7"))