summaryrefslogtreecommitdiff
path: root/arkta/arkta-progmodes.el
diff options
context:
space:
mode:
Diffstat (limited to 'arkta/arkta-progmodes.el')
-rw-r--r--arkta/arkta-progmodes.el142
1 files changed, 73 insertions, 69 deletions
diff --git a/arkta/arkta-progmodes.el b/arkta/arkta-progmodes.el
index 977fd92..ba9c066 100644
--- a/arkta/arkta-progmodes.el
+++ b/arkta/arkta-progmodes.el
@@ -1,9 +1,15 @@
1;; -*- lexical-binding: t -*- 1;; -*- lexical-binding: t -*-
2;; Copyright © 2018-2025 Uko Koknevics 2;; Copyright © 2018-2025 Uko Koknevics
3 3
4(use-package auto-compile
5 :after elisp-mode
6 :ensure t
7 :hook ((emacs-lisp-mode . auto-compile-on-load-mode)
8 (emacs-lisp-mode . auto-compile-on-save-mode)))
9
4(use-package c-ts-mode 10(use-package c-ts-mode
5 :after treesit 11 :after treesit
6 :straight '(c-ts-mode :type built-in) 12 :ensure nil
7 :mode ("\\.c\\'" 13 :mode ("\\.c\\'"
8 ("\\.cpp\\'" . c++-ts-mode)) 14 ("\\.cpp\\'" . c++-ts-mode))
9 :init 15 :init
@@ -24,45 +30,47 @@
24 30
25(use-package cmake-ts-mode 31(use-package cmake-ts-mode
26 :after treesit 32 :after treesit
27 :straight '(cmake-ts-mode :type built-in) 33 :ensure nil
28 :mode ("CMakeLists\\.txt\\'" 34 :mode ("CMakeLists\\.txt\\'"
29 "\\.cmake\\'")) 35 "\\.cmake\\'"))
30 36
37(use-package company-mlton
38 :after (company sml)
39 :ensure '(company-mlton :host github
40 :repo "MatthewFluet/company-mlton")
41 :hook (sml-mode . company-mlton-init))
42
31(use-package csharp-mode 43(use-package csharp-mode
32 :after treesit 44 :after treesit
33 :straight '(csharp-mode :type built-in) 45 :ensure nil
34 :mode "\\.cs\\'") 46 :mode "\\.cs\\'")
35 47
36(use-package css-mode 48(use-package css-mode
37 :after treesit 49 :after treesit
38 :straight '(css-mode :type built-in) 50 :ensure nil
39 :mode "\\.css\\'") 51 :mode "\\.css\\'")
40 52
41(use-package dart-mode 53(use-package dart-mode
42 :straight t 54 :ensure t
43 :mode "\\.dart\\'") 55 :mode "\\.dart\\'")
44 56
45(use-package dockerfile-ts-mode 57(use-package dockerfile-ts-mode
46 :after treesit 58 :after treesit
47 :straight '(dockerfile-ts-mode :type built-in) 59 :ensure nil
48 :mode "Dockerfile\\'") 60 :mode "Dockerfile\\'")
49 61
50(use-package ebuild-mode 62(use-package ebuild-mode
51 :straight t 63 :ensure (ebuild-mode :host github
64 :repo "emacsmirror/ebuild-mode")
52 :mode ("\\.ebuild\\'" 65 :mode ("\\.ebuild\\'"
53 "\\.eclass\\'")) 66 "\\.eclass\\'"))
54 67
55(use-package elisp-mode 68(use-package elisp-mode
56 :straight '(elisp-mode :type built-in) 69 :ensure nil
57 :mode ("\\.el\\'" . emacs-lisp-mode) 70 :mode ("\\.el\\'" . emacs-lisp-mode))
58 :init
59 (use-package auto-compile
60 :straight t
61 :hook ((emacs-lisp-mode . auto-compile-on-load-mode)
62 (emacs-lisp-mode . auto-compile-on-save-mode))))
63 71
64(use-package elixir-mode 72(use-package elixir-mode
65 :straight t 73 :ensure t
66 :mode "\\.exs?\\'" 74 :mode "\\.exs?\\'"
67 :init 75 :init
68 (defun arkta/elixir-setup () 76 (defun arkta/elixir-setup ()
@@ -70,12 +78,12 @@
70 :hook (elixir-mode . arkta/elixir-setup)) 78 :hook (elixir-mode . arkta/elixir-setup))
71 79
72(use-package gdscript-mode 80(use-package gdscript-mode
73 :straight t 81 :ensure t
74 :mode "\\.gd\\'") 82 :mode "\\.gd\\'")
75 83
76(use-package go-ts-mode 84(use-package go-ts-mode
77 :after treesit 85 :after treesit
78 :straight '(go-ts-mode :type built-in) 86 :ensure nil
79 :mode "\\.go\\'" 87 :mode "\\.go\\'"
80 :init 88 :init
81 (defun arkta/go-setup () 89 (defun arkta/go-setup ()
@@ -85,60 +93,56 @@
85 :hook (go-ts-mode . arkta/go-setup)) 93 :hook (go-ts-mode . arkta/go-setup))
86 94
87(use-package groovy-mode 95(use-package groovy-mode
88 :straight t 96 :ensure t
89 :mode ("Jenkinsfile\\'" 97 :mode ("Jenkinsfile\\'"
90 "\\.jenkinsfile\\'" 98 "\\.jenkinsfile\\'"
91 "\\.gradle\\'" 99 "\\.gradle\\'"
92 "\\.groovy\\'")) 100 "\\.groovy\\'"))
93 101
94(use-package haskell-mode 102(use-package haskell-mode
95 :straight t 103 :ensure t
96 :mode "\\.hs\\'") 104 :mode "\\.hs\\'")
97 105
106(use-package htmlize
107 :ensure t)
108
98(use-package java-ts-mode 109(use-package java-ts-mode
99 :after treesit 110 :after treesit
100 :straight '(java-ts-mode :type built-in) 111 :ensure nil
101 :mode "\\.java\\'") 112 :mode "\\.java\\'")
102 113
103(use-package js 114(use-package js
104 :after treesit 115 :after treesit
105 :straight '(js :type built-in) 116 :ensure nil
106 :mode ("\\.js\\'" . js-ts-mode)) 117 :mode ("\\.js\\'" . js-ts-mode))
107 118
108(use-package json-ts-mode 119(use-package json-ts-mode
109 :after treesit 120 :after treesit
110 :straight '(json-ts-mode :type built-in) 121 :ensure nil
111 :mode "\\.json\\'") 122 :mode "\\.json\\'")
112 123
113(use-package lisp-mode 124(use-package lisp-mode
114 :straight '(lisp-mode :type built-in) 125 :ensure nil
115 :mode "\\.lisp\\'" 126 :mode "\\.lisp\\'")
116 :init
117 (use-package slime
118 :straight t
119 :after lisp-mode
120 :commands slime
121 :custom
122 (inferior-lisp-program (executable-find "sbcl"))))
123 127
124(use-package lua-mode 128(use-package lua-mode
125 :straight t 129 :ensure t
126 :custom 130 :custom
127 (lua-indent-level 4) 131 (lua-indent-level 4)
128 :mode ("\\.lua\\'" "\\.rockspec\\'")) 132 :mode ("\\.lua\\'" "\\.rockspec\\'"))
129 133
130(use-package makefile-mode 134(use-package make-mode
131 :straight '(make-mode :type built-in) 135 :ensure nil
132 :mode (("Makefile\\'" . makefile-gmake-mode) 136 :mode (("Makefile\\'" . makefile-gmake-mode)
133 "GNUmakefile\\'" 137 ("GNUmakefile\\'" . makefile-mode)
134 "\\.mk\\(\\.template\\)?\\'")) 138 ("\\.mk\\(\\.template\\)?\\'" . makefile-mode)))
135 139
136(use-package markdown-mode 140(use-package markdown-mode
137 :straight t 141 :ensure t
138 :mode ("\\.md\\'" . gfm-mode)) 142 :mode ("\\.md\\'" . gfm-mode))
139 143
140(use-package nasm-mode 144(use-package nasm-mode
141 :straight t 145 :ensure t
142 :mode ("\\.asm\\'" 146 :mode ("\\.asm\\'"
143 "\\.inc\\'") 147 "\\.inc\\'")
144 :init 148 :init
@@ -147,105 +151,105 @@
147 :hook (nasm-mode . arkta/nasm-setup)) 151 :hook (nasm-mode . arkta/nasm-setup))
148 152
149(use-package nix-mode 153(use-package nix-mode
150 :straight t 154 :ensure t
151 :mode "\\.nix\\'") 155 :mode "\\.nix\\'")
152 156
153(use-package nxml-mode 157(use-package nxml-mode
154 :straight '(nxml-mode :type built-in) 158 :ensure nil
155 :mode ("\\.xml\\'" 159 :mode ("\\.xml\\'"
156 "\\.plist\\'" 160 "\\.plist\\'"
157 "\\.svg\\'")) 161 "\\.svg\\'"))
158 162
159(use-package org 163(use-package org
160 :straight '(org :type built-in) 164 :ensure nil
165 :after htmlize
161 :bind (("C-c l" . org-store-link) 166 :bind (("C-c l" . org-store-link)
162 ("C-c a" . org-agenda)) 167 ("C-c a" . org-agenda))
163 :mode ("\\.org\\'" . org-mode) 168 :mode ("\\.org\\'" . org-mode)
164 :init
165 (use-package htmlize
166 :straight t)
167 :custom 169 :custom
168 (org-agenda-files '("~/TODO.org")) 170 (org-agenda-files '("~/TODO.org"))
169 (org-log-done t)) 171 (org-log-done t))
170 172
171(use-package php-mode 173(use-package php-mode
172 :straight t 174 :ensure t
173 :mode "\\.php\\'") 175 :mode "\\.php\\'")
174 176
175(use-package pico8-mode 177(use-package pico8-mode
176 :straight '(pico8-mode :host github 178 :ensure '(pico8-mode :host github
177 :repo "Kaali/pico8-mode") 179 :repo "Kaali/pico8-mode")
178 :mode "\\.p8\\'") 180 :mode "\\.p8\\'")
179 181
180(use-package prolog 182(use-package prolog
181 :straight '(prolog :type built-in) 183 :ensure nil
182 :mode ("\\.pl\\'" . prolog-mode)) 184 :mode ("\\.pl\\'" . prolog-mode))
183 185
184(use-package python 186(use-package python
185 :after treesit 187 :after treesit
186 :straight '(python :type built-in) 188 :ensure nil
187 :mode ("\\.py\\'" . python-ts-mode)) 189 :mode ("\\.py\\'" . python-ts-mode))
188 190
189(use-package ruby-ts-mode 191(use-package ruby-ts-mode
190 :after treesit 192 :after treesit
191 :straight '(ruby-ts-mode :type built-in) 193 :ensure nil
192 :mode "\\.rb\\'") 194 :mode "\\.rb\\'")
193 195
194(use-package rust-ts-mode 196(use-package rust-ts-mode
195 :after treesit 197 :after treesit
196 :straight '(rust-ts-mode :type built-in) 198 :ensure nil
197 :mode "\\.rs\\'") 199 :mode "\\.rs\\'")
198 200
199(use-package scala-mode 201(use-package scala-mode
200 :straight t 202 :ensure t
201 :mode "\\.scala\\'") 203 :mode "\\.scala\\'")
202 204
203(use-package scheme 205(use-package scheme
204 :straight '(scheme :type built-in) 206 :ensure nil
205 :commands scheme-mode 207 :commands scheme-mode
206 :mode ("\\.scm\\'" . scheme-mode) 208 :mode ("\\.scm\\'" . scheme-mode)
207 :config 209 :config
208 (put 'module 'scheme-indent-function 2)) 210 (put 'module 'scheme-indent-function 2))
209 211
212(use-package slime
213 :ensure t
214 :after lisp-mode
215 :commands slime
216 :custom
217 (inferior-lisp-program (executable-find "sbcl")))
218
210(use-package smalltalk-mode 219(use-package smalltalk-mode
211 :straight t 220 :ensure t
212 :mode "\\.st\\'") 221 :mode "\\.st\\'")
213 222
214(use-package svelte-mode 223(use-package svelte-mode
215 :straight t 224 :ensure t
216 :mode ("\\.svelte\\'" "\\.svx\\'")) 225 :mode ("\\.svelte\\'" "\\.svx\\'"))
217 226
218(use-package sml-mode 227(use-package sml-mode
219 :straight t 228 :ensure t
220 :mode "\\.sml\\'" 229 :mode "\\.sml\\'")
221 :init
222 (use-package company-mlton
223 :after company
224 :straight '(company-mlton :host github
225 :repo "MatthewFluet/company-mlton")
226 :hook (sml-mode . company-mlton-init)))
227 230
228(use-package toml-ts-mode 231(use-package toml-ts-mode
229 :after treesit 232 :after treesit
230 :straight '(toml-ts-mode :type built-in) 233 :ensure nil
231 :mode "\\.toml\\'") 234 :mode "\\.toml\\'")
232 235
233(use-package typescript-ts-mode 236(use-package typescript-ts-mode
234 :after treesit 237 :after treesit
235 :straight '(typescript-ts-mode :type built-in) 238 :ensure nil
236 :mode "\\.ts\\'") 239 :mode "\\.ts\\'")
237 240
238(use-package typst-mode 241(use-package typst-ts-mode
239 :straight t 242 :after treesit
243 :ensure t
240 :mode "\\.typ\\'") 244 :mode "\\.typ\\'")
241 245
242(use-package yaml-ts-mode 246(use-package yaml-ts-mode
243 :after treesit 247 :after treesit
244 :straight '(yaml-ts-mode :type built-in) 248 :ensure nil
245 :mode ("\\.clang-\\(tidy\\|format\\)\\'" "\\.ya?ml\\'")) 249 :mode ("\\.clang-\\(tidy\\|format\\)\\'" "\\.ya?ml\\'"))
246 250
247(use-package zig-mode 251(use-package zig-mode
248 :straight t 252 :ensure t
249 :mode "\\.zig\\'") 253 :mode "\\.zig\\'")
250 254
251(provide 'arkta-progmodes) 255(provide 'arkta-progmodes)