Skip to content

Commit 9c36e7c

Browse files
committed
build(emacs): Add Swift configs
1 parent 1d7dc86 commit 9c36e7c

File tree

2 files changed

+81
-45
lines changed

2 files changed

+81
-45
lines changed

init.el

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,11 @@ There are two things you can do about this warning:
327327
(sp-local-pair 'c-mode "{" nil :post-handlers '(:add my-open-block-brace-mode))
328328
)
329329

330+
;; Rainbow delimiters makes nested delimiters easier to understand
331+
(use-package rainbow-delimiters
332+
:straight t
333+
:hook ((prog-mode . rainbow-delimiters-mode)))
334+
330335
;; browse-at-remote
331336
(use-package browse-at-remote
332337
:straight t
@@ -504,6 +509,7 @@ There are two things you can do about this warning:
504509
(yaml-mode . eglot-ensure)
505510
(dockerfile-mode . eglot-ensure)
506511
(ruby-mode . eglot-ensure)
512+
(swift-mode . eglot-ensure)
507513
)
508514
)
509515

@@ -597,7 +603,32 @@ There are two things you can do about this warning:
597603
:hook
598604
(ruby-mode . (lambda ()
599605
(add-hook 'before-save-hook #'eglot-format nil t)))
600-
)
606+
)
607+
608+
;; Swift
609+
;;; Locate sourcekit-lsp
610+
(defun find-sourcekit-lsp ()
611+
"Find Swift sourcekit."
612+
(or (executable-find "sourcekit-lsp")
613+
(and (eq system-type 'darwin)
614+
(string-trim (shell-command-to-string "xcrun -f sourcekit-lsp")))
615+
"/usr/local/swift/usr/bin/sourcekit-lsp"))
616+
617+
(use-package swift-mode
618+
:straight t
619+
:mode "\\.swift\\'"
620+
:interpreter "swift")
621+
622+
;; sourcekit-lsp support
623+
(use-package lsp-sourcekit
624+
:straight t
625+
:custom
626+
(lsp-sourcekit-executable (find-sourcekit-lsp) "Find sourcekit-lsp"))
627+
628+
;; .editorconfig file support
629+
(use-package editorconfig
630+
:straight t
631+
:config (editorconfig-mode +1))
601632

602633
;; json-mode
603634
(use-package json-mode

straight/versions/default.el

Lines changed: 49 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,105 @@
11
(("Emacs-wgrep" . "49f09ab9b706d2312cab1199e1eeb1bcd3f27f6f")
22
("ace-window" . "77115afc1b0b9f633084cf7479c767988106c196")
33
("all-the-icons.el" . "4778632b29c8c8d2b7cd9ce69535d0be01d846f9")
4-
("auctex" . "f40046c8b193ee6543f35d346c5d8ae0493fff90")
4+
("auctex" . "452e844e73d7399155b569b292867df18a7c44bc")
55
("auctex-latexmk" . "b00a95e6b34c94987fda5a57c20cfe2f064b1c7a")
66
("avy" . "933d1f36cca0f71e4acb5fac707e9ae26c536264")
77
("bind-key" . "ec9d0505febe2556b47457355763f5f1408a35ac")
88
("breadcrumb" . "da34d030e6d01db2bba45b30080204b23a714c9f")
9-
("browse-at-remote" . "cf0269f3db9e968c819b1d85b33d791c20c2e495")
9+
("browse-at-remote" . "27b17cc63b9f9dca893425908373251eb9b10f44")
1010
("cfrs" . "981bddb3fb9fd9c58aed182e352975bd10ad74c8")
1111
("clang-format" . "a099177b5cd5060597d454e4c1ffdc96b92ba985")
12-
("closql" . "4a60723ae4bfe809a9affcf3306cb40e0ca1ca6c")
12+
("closql" . "26fe3a53e675c6d7d9d3ddd751a3eec603f25681")
1313
("codespaces.el" . "b06416135f86faa8a34f73639f257968e93523d5")
1414
("company-box" . "c4f2e243fba03c11e46b1600b124e036f2be7691")
1515
("company-mode" . "4ff89f7369227fbb89fe721d1db707f1af74cd0f")
1616
("company-quickhelp" . "5bda859577582cc42d16fc0eaf5f7c8bedfd9e69")
17-
("compat" . "97f24af413a38a7f1aaedb29f5aaaa333796a5b4")
18-
("cond-let" . "288b7d36563223ebaf64cb220a3b270bdffb63f1")
17+
("compat" . "270528627f3545dda7865ead13183317434e9f57")
18+
("cond-let" . "8f1661fc9f49cae699948992411d921216ddd4c0")
1919
("copilot.el" . "3af3a5f8877fd5c6c55454f5c5bf076a56608939")
2020
("dash.el" . "fb443e7a6e660ba849cafcd01021d9aac3ac6764")
2121
("datetime" . "2601120d4d2857cdbad1cf8d4b84d77308920835")
2222
("delight" . "15acb0f0ba400c470e378f9984b315f9e02c1122")
2323
("desktop-plus" . "88055cee526a000056201898499cebbd35e3ea76")
2424
("docker.el" . "d5255a65b7240d0038cc417f301b43df05a27922")
25-
("dockerfile-mode" . "8135740bfc6ad96ab82d39d9fe68dbce56180f4c")
25+
("dockerfile-mode" . "97733ce074b1252c1270fd5e8a53d178b66668ed")
2626
("dumb-jump" . "0632bdb4186cb0b58199679bfa5e64a5b409be22")
27-
("editorconfig-emacs" . "4af10445fcdf1c9dfa7af4f9e5bec59e8a759d6f")
28-
("eglot" . "a35ebe774d09421ea891593f8cb671b1656f8b86")
29-
("el-get" . "d3815eb03df07d755a14e6be2c5305daa47ba28b")
27+
("editorconfig-emacs" . "646c31b4b7b0bd8805cf2914239ac9aa1cd6d962")
28+
("eglot" . "98413cefe8fd45e411bc70ae3a70912e7c51dd59")
29+
("el-get" . "64112351b1f58c77463b8802ddd7f78964c9c5ca")
3030
("eldoc" . "6c389a8d223deadedda4d69fe8d7de25068e7d91")
31-
("eldoc-box" . "fead2cef661790417267e5498d4d14806e020f99")
32-
("emacs-aio" . "da93523e235529fa97d6f251319d9e1d6fc24a41")
31+
("eldoc-box" . "595262ec8ff56e8f86ef77d8e69339e84117e5f0")
32+
("emacs-aio" . "58157e51e7eb7a4b954894ee4182564c507a2f01")
3333
("emacs-python-black" . "4da1519345b3d5c513d82ef0d39536dd9c626d42")
34-
("emacs-reformatter" . "c52e91d5438b9bf16b77b4384822e254f10a6b0a")
35-
("emacs-shfmt" . "1f838a07b88380b654ef4ae759e73a720db6a166")
34+
("emacs-reformatter" . "c0ddac04b7b937ed56d6bf97e4bfcc4eccfa501a")
35+
("emacs-shfmt" . "2a222c53cea5bbecf85332077521e6de8185f101")
3636
("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500")
3737
("emacs-xkcd" . "80011da2e7def8f65233d4e0d790ca60d287081d")
38-
("emacsmirror-mirror" . "6c387f044ab033f3a912d08b11bc565679187ba6")
39-
("emacsql" . "138fae5c3f55c81a4eded42eabe4e33483de567e")
38+
("emacsmirror-mirror" . "2b02fc72d49882e487a0d078d84999f97b1a7266")
39+
("emacsql" . "f6864fa3510e40e078df924a71d6cdfdfa23283c")
4040
("esup" . "4b49c8d599d4cc0fbf994e9e54a9c78e5ab62a5f")
41-
("exec-path-from-shell" . "59631fc475678ca299cc9503c1e48e87404b0b80")
41+
("exec-path-from-shell" . "7552abf032a383ff761e7d90e6b5cbb4658a728a")
4242
("external-completion" . "547b335f9179bcd07b11658d2fd61e3cb02b256e")
4343
("extmap" . "bb4867e13ec7480d4dbc1d99888627e4cc8ef2f6")
4444
("f.el" . "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")
45-
("flycheck" . "8c0dbfaa463e69efb41ef2cda9c4e89b99e266a0")
46-
("flymake" . "b74563eb10eb1b9f7df1c3eaff43e0b76cfac9a7")
47-
("forge" . "71910a26e360bfe88eb81b47f377f7694161fe9b")
45+
("flycheck" . "5c24d1b732e86433f34ebf5ec7ca3c985edbc744")
46+
("flymake" . "d599c9ee04336af779ee762e334eb8bc3e2c89fe")
47+
("forge" . "b66bb21f6ecfca132f29d9ac833561f6faf3b242")
4848
("frame-local" . "7ee1106c3bcd4022f48421f8cb1ef4f995da816e")
49-
("ghub" . "447cb51fa7d19e1fb3844acdd2c540be04299ffb")
50-
("git-link" . "67b02cf0df4e789771f2344b4dd77c85334a0f9f")
51-
("git-modes" . "dfc450d79498b7997b1155ac76629ab01f7ef355")
52-
("gnu-elpa-mirror" . "e15f2d8da53d44f3b6a7b39cdb49f6e01e7e2b87")
49+
("ghub" . "f9c2cc024faa095baf8b840f63cd6fd13a3117ac")
50+
("git-link" . "12caebc0982d3401a0b74ccddc2d5a651122de8a")
51+
("git-modes" . "34b83f341464eb0fb53eecbc6199246623aab473")
52+
("gnu-elpa-mirror" . "ea027634bef47539058e14d3cf9e081cd64abbfc")
5353
("go-mode.el" . "0ed3c5227e7f622589f1411b4939c3ee34711ebd")
54-
("highlight-indent-guides" . "d05c63f395329c6e331e0b44c7db708005b3316f")
55-
("hl-todo" . "94893087e0aca6642a3ebf11f46b3d5f47c1eb22")
54+
("highlight-indent-guides" . "2182caa942f88e4080f5dee49df334ebea52aed0")
55+
("hl-todo" . "1856d5010dbd44f18afbb3a86ac18be59066202b")
5656
("ht.el" . "1c49aad1c820c86f7ee35bf9fff8429502f60fef")
5757
("hydra" . "59a2a45a35027948476d1d7751b0f0215b1e61aa")
5858
("json-mode" . "466d5b563721bbeffac3f610aefaac15a39d90a9")
5959
("json-snatcher" . "b28d1c0670636da6db508d03872d96ffddbc10f2")
60-
("jsonrpc" . "2e4221d5de7b48beee12c32f379a3de9ea3051c8")
60+
("jsonrpc" . "d6cab87b7b1b376f12384534a434a79901776a99")
6161
("key-chord" . "cb646e815c61f253ad9fdfbe058049dda4e2b32b")
6262
("kusto-mode.el" . "6edfdea94f23b60b0712667af0e192ea08fb8451")
63-
("llama" . "e4803de8ab85991b6a944430bb4f543ea338636d")
64-
("logview" . "faac12ff45ef796d4ebc9587be6abcd7c32db0aa")
65-
("magit" . "3d1a008f1894dd087aee099629e3726877956033")
66-
("markdown-mode" . "b524618c3ed28906a7522482727f121428ce7e2e")
67-
("melpa" . "1895e21adfb5e4dfccb4d4db49c213c77fc57727")
63+
("llama" . "472f5967f6684342d3c042d1ba12c3b3d6cefaba")
64+
("logview" . "9c97221dd04d7398df098e9f942efff016b60bbf")
65+
("lsp-mode" . "c6e3660d32813b02ba3de60045de734e680bbcc7")
66+
("lsp-sourcekit" . "b4666e7deb7a13cf74ed1c52ca301559d9dc263c")
67+
("magit" . "c1448720eac5222beef827277c369fc5bab04a36")
68+
("markdown-mode" . "92802fae9ebbc8c2e4c281c06dcdbd74b8bca80e")
69+
("melpa" . "fcc217d6c08152e270fcee3d7040cf6dbbceebc1")
6870
("multiple-cursors.el" . "9017f3be6b00c1d82e33409db4a178133fb39d47")
69-
("nongnu-elpa" . "a1bc6db585ef85e03e4fbd405adadb8f48dcede9")
71+
("nongnu-elpa" . "20e4c584065bbf872471fc2c5859f49f125aae64")
7072
("pfuture" . "19b53aebbc0f2da31de6326c495038901bffb73c")
7173
("poetry.el" . "1dff0d4a51ea8aff5f6ce97b154ea799902639ad")
72-
("popup-el" . "b189a4e8ccf18356395878c3d38a23df834d3898")
74+
("popup-el" . "161cac18945f9b91df26e52c57d68ae27d38d3fb")
7375
("pos-tip" . "4889e08cf9077c8589ea6fea4e2ce558614dfcde")
74-
("posframe" . "12f540c9ad5da09673b2bca1132b41f94c134e82")
75-
("project" . "65068c0795747237ac5ecb5e76057c4f42a07bce")
76+
("posframe" . "d93828bf6c36383c365bd564ad3bab5a4403804c")
77+
("project" . "fda7258c4802833828d2f456c2064d9bd6190aaa")
7678
("projectile" . "9325c45e0fd96d5421e75ad901a91ee5353e10ad")
77-
("protobuf" . "e2ddebe709ae045df876a93b0268cf459817a067")
79+
("protobuf" . "99187f11339d20c64f9fd32a9b0049d7104e9277")
7880
("pyvenv" . "31ea715f2164dd611e7fc77b26390ef3ca93509b")
81+
("rainbow-delimiters" . "f40ece58df8b2f0fb6c8576b527755a552a5e763")
7982
("restart-emacs" . "1607da2bc657fe05ae01f7fdf26f716eafead02c")
8083
("rg.el" . "a614e7d7709c7bf5c5accff4003d351c3f28ee98")
8184
("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d")
8285
("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00")
8386
("smartparens" . "b629b4e893ba21ba5a381f6c0054bb72f8e96df2")
84-
("straight.el" . "0ad6fd8f37bd918c72989df18c76a68649f0a372")
87+
("spinner" . "fa117f0893788f3fe24673715a6b83bb34d238dd")
88+
("straight.el" . "4b6289f42a4da0c1bae694ba918b43c72daf0330")
89+
("swift-mode" . "cfae3b85ad09bd293df941261afbc21e41bbb5f8")
8590
("tablist" . "fcd37147121fabdf003a70279cf86fbe08cfac6f")
8691
("toml-mode.el" . "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06")
87-
("tramp" . "1a034eb2fad20bb12ff57b8b389ba2f5bea6a0f5")
88-
("transient" . "d192872e589f80a958bfc715df9f61ee9192aaa5")
89-
("treemacs" . "05333cc23ca4349cd839cf1c18e1eaef1f6b70ec")
92+
("tramp" . "fcc034558bda04260758071a306a073e2a913a4b")
93+
("transient" . "caacdd789c9ed29839c5e46c56cdfba06299e7fb")
94+
("treemacs" . "2ab5a3c89fa01bbbd99de9b8986908b2bc5a7b49")
9095
("treepy.el" . "651e2634f01f346da9ec8a64613c51f54b444bc3")
91-
("typescript.el" . "481df3ad2cdf569d8e6697679669ff6206fbd2f9")
92-
("use-package" . "c80c883deac67a3ff3dda2d2af6d947a15062aff")
96+
("typescript.el" . "2535780bdb318d86761b9bd21b0347ca6a89628f")
97+
("use-package" . "817d8d308d7151b41938320ae430ad5db019b214")
9398
("use-package-chords" . "0793b50e2bf1ec8bfc532b10baeef716c5aa947a")
94-
("with-editor" . "dbc694406c2fd8e9d3e6ffbc4f8aff4e8c28029f")
99+
("with-editor" . "bf6c5d9297adbf64b7f74f7472f08399312f65b4")
95100
("xref" . "26b277b67df478ad6daf2e2e7a4de79a5fe251e7")
96101
("yaml-mode" . "d91f878729312a6beed77e6637c60497c5786efa")
97102
("yaml.el" . "3fbeaee97dce3c76a18b02a28c58777cbcdadf2f")
98103
("yasnippet" . "c1e6ff23e9af16b856c88dfaab9d3ad7b746ad37")
99-
("yasnippet-snippets" . "182a43cb937d98847448c17466eed224d8893930"))
104+
("yasnippet-snippets" . "606ee926df6839243098de6d71332a697518cb86"))
100105
:epsilon

0 commit comments

Comments
 (0)