summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/init.el19
1 files changed, 19 insertions, 0 deletions
diff --git a/emacs/init.el b/emacs/init.el
index 5e43218..b545677 100644
--- a/emacs/init.el
+++ b/emacs/init.el
@@ -187,6 +187,25 @@
:mode ("/PKGBUILD\\'" . sh-mode))
+;; Swift
+
+(use-package eglot
+ :config (add-to-list 'eglot-server-programs
+ '(swift-mode . ("xcrun" "sourcekit-lsp")))
+ :defer t)
+
+(use-package swift-mode
+ :init
+ (defun my/swift-format ()
+ "Format Swift code."
+ (interactive)
+ (save-buffer)
+ (shell-command (format "swift format -i %s" (buffer-file-name))))
+ :hook (swift-mode . eglot-ensure)
+ :bind (:map swift-mode-map ("C-c d" . my/swift-format))
+ :ensure t)
+
+
;; systemd
(use-package conf-mode