diff --git a/emacs-lisp/elixir.org b/emacs-lisp/elixir.org new file mode 100644 index 0000000..90d12fb --- /dev/null +++ b/emacs-lisp/elixir.org @@ -0,0 +1,26 @@ +:PROPERTIES: +:ID: 9879bd30-7f42-433a-aaa4-269f5ef110fb +:END: +#+title: Elixir +#+filetags: emacs-load + +#+BEGIN_QUOTE +Elixir is a dynamic, functional language for building scalable and maintainable applications. +#+END_QUOTE + +First we need a Elixir major mode. + +#+BEGIN_SRC emacs-lisp + (use-package elixir-mode + :straight t +#+END_SRC + +Then to make [[id:cc668372-8d95-461b-a7c6-3e2b51de3f40][LSP]] work, we hook it onto ~elixir-mode~. + +#+BEGIN_SRC emacs-lisp + :hook (elixir-mode-hook . lsp) +#+END_SRC + +#+BEGIN_SRC emacs-lisp + ) +#+END_SRC diff --git a/emacs-lisp/evil.org b/emacs-lisp/evil.org index e474a74..f00c9c9 100644 --- a/emacs-lisp/evil.org +++ b/emacs-lisp/evil.org @@ -64,13 +64,21 @@ This requires ~general.el~. :predicate 'magic_rb-koy-compat-p :keymaps 'magic_rb-koy-evil-mode-map "t" 'evil-backward-char + "T" 'evil-first-non-blank "r" 'evil-previous-visual-line "n" 'evil-next-visual-line "s" 'evil-forward-char + "S" 'evil-end-of-line + "h" 'evil-find-char-to + "H" 'evil-find-char-to-backward "j" 'evil-replace + "J" 'evil-join "k" 'evil-search-next - "l" 'evil-substitute) + "K" 'evil-search-previous + "l" 'evil-substitute + "L" 'evil-change-whole-line) + :general (:states '(insert) :predicate 'magic_rb-koy-compat-p :keymaps 'magic_rb-koy-evil-mode-map diff --git a/emacs-lisp/lsp.org b/emacs-lisp/lsp.org index ba0f74e..bc8d7ed 100644 --- a/emacs-lisp/lsp.org +++ b/emacs-lisp/lsp.org @@ -35,13 +35,12 @@ This just requires hooking lsp onto ~c-mode~ and ~c++-mode~. Enable ~haskell-mode~, and ~lsp-haskell~ #+BEGIN_SRC emacs-lisp - (use-package haskell-mode - :straight t - :config - (add-hook 'haskell-mode-hook #'lsp) - (add-hook 'haskell-literate-mode-hook #'lsp)) - (use-package lsp-haskell - :straight t) + (use-package haskell-mode + :straight t + :hook ((haskell-mode haskell-literate-mode) . #'lsp) + :hook ((haskell-mode haskell-literate-mode) . interactive-haskell-mode)) + (use-package lsp-haskell + :straight t) #+END_SRC Disable the ~haskell-stack-ghc~ flycheck checker, it's not used when lsp starts, but it does get loaded just before it. Loading and unloading it is slow and causes Emacs to freeze for a few seconds, so just disable it. diff --git a/emacs-lisp/popper.org b/emacs-lisp/popper.org index 2745ffa..a6eb1fe 100644 --- a/emacs-lisp/popper.org +++ b/emacs-lisp/popper.org @@ -15,6 +15,7 @@ Enable ~popper~, a better version of ~popwin~, which might actually work. It gro '("\\*Messages\\*" "\\*Warnings\\*" "Output\\*$" + "\\*HS-Error\\*" help-mode compilation-mode rustic-compilation-mode diff --git a/nix/home-manager/modules/emacs/straight-versions.el b/nix/home-manager/modules/emacs/straight-versions.el index ce3bc63..9b9ce0b 100644 --- a/nix/home-manager/modules/emacs/straight-versions.el +++ b/nix/home-manager/modules/emacs/straight-versions.el @@ -1,86 +1,85 @@ -("ace-window" . "c7cb315c14e36fded5ac4096e158497ae974bec9") +(("ace-window" . "0577c426a9833ab107bab46c60d1885c611b2fb9") ("alert" . "7046393272686c7a1a9b3e7f7b1d825d2e5250a6") - ("all-the-icons.el" . "483dba65e897071c156cefec937edcf51aa333db") + ("all-the-icons.el" . "6d48bc9e970ab559bc35a125c55fd83732595706") ("annalist.el" . "134fa3f0fb91a636a1c005c483516d4b64905a6d") - ("avy" . "e92cb37457b43336b765630dbfbea8ba4be601fa") + ("avy" . "ba5f035be33693d1a136a5cbeedb24327f551a92") ("bui.el" . "f3a137628e112a91910fd33c0cff0948fa58d470") ("cfrs" . "c1f639d7bfd3e728cf85dbe224b06a4be76158f4") - ("company-mode" . "3432f9e397092433b886a2ba5adfe27d1e5bc08f") - ("consult" . "39366355f4897dfae73d14d93dbe6ca97f7fc713") + ("company-mode" . "6eeaf46b869552b7cb70cab7d4590120c64cc175") + ("consult" . "0940ca016531f3412003c231b476e5023a510ff9") ("dap-mode" . "76cad34de8984f57c2b1e374e9c985cc7ec8dad0") ("dash.el" . "da167c51e9fd167a48d06c7c0ee8e3ac7abd9718") ("dockerfile-mode" . "5db94549ce8b000ae35adf511c820ad228178052") - ("doom-modeline" . "dc93cdec543e25022db7b034af49d57b6ee1c289") - ("el-get" . "960f3fb962c35d3196bab20b2a3f6d6228119277") + ("doom-modeline" . "5f30d231176186cbe5206aa133f91cea967717d9") + ("el-get" . "9353309744e4f8a7c9b1adf22ec99536fb2146b0") ("elcord" . "eb4ae2e7e03a5fc26b054ba2fa9a1d308e239c76") ("elisp" . "8a3b529d5ece261a8847298ea03ed35615cc9bfa") ("elisp-tree-sitter" . "48b06796a3b2e76ce004972d929de38146eafaa0") - ("emacs-async" . "5d365ffc6a2c2041657eaa5d762c395ea748c8d7") - ("emacs-doom-themes" . "2d7bf3daa50a4e0a612faed43cd8cd4af33b9e19") - ("emacs-elixir" . "7373e91e859c3ddc66457723d531cfab821160a3") + ("emacs-async" . "0d52411d3accc3e11a2c64838703a8ce9755c77c") + ("emacs-elixir" . "6f61e04c8537c2e9a807dc29908f619b5202b0f8") ("emacs-hcl-mode" . "e4d9eef631e8a386341ae8f94f7c2579586e65b5") - ("emacs-libvterm" . "ed6e867cfab77c5a311a516d20af44f57526cfdc") + ("emacs-libvterm" . "a940dd2ee8a82684860e320c0f6d5e15d31d916f") ("emacs-scala-mode" . "598cb680f321d9609295aa9b4679040cc703b602") ("emacs_chrome" . "1632acab5624637031326bd902e2ad7ccb6b4c90") - ("emacsmirror-mirror" . "1480277aacf2b9c63a5775ed50a1de58c9086657") - ("emacsql" . "9dca5996168c4963eb67e61c7f17fdcb8228e314") - ("embark" . "2772ca0b35e8eb59724c31b5cb88ff802f21067a") + ("emacsmirror-mirror" . "a122c213c5b3ff1bb7fd7995f07b7a18334a19e7") + ("emacsql" . "c82a0e6b4d256a3743b718cfb640fa9efc045f6e") + ("embark" . "c9b26c2e18f01ae401df6a69b7a0c1a6bc44b90c") ("ement.el" . "c951737dc855604aba389166bb0e7366afadc533") - ("envrc" . "fc23f4f342ee100a865b50bb5bd9a54681a6387e") + ("envrc" . "456c4100de41d2cb50813058a9e727b6e83c5d1e") ("epl" . "78ab7a85c08222cd15582a298a364774e3282ce6") - ("evil" . "b5c038729958856b0b194a45daf988c42e97bc58") - ("evil-collection" . "f78156db21b907c28448bc1316e58b0ba1eef4f8") + ("evil" . "b5c6950f65e2cde92bd978ec2bc98e67820d91a0") + ("evil-collection" . "e6be41bed7b4399db116038c7f0bf2f484065b48") ("evil-magit" . "98c076fbeb6d2d7d71e02dc204ba3ad5d577abda") ("evil-surround" . "282a975bda83310d20a2c536ac3cf95d2bf188a5") ("f.el" . "50af874cd19042f17c8686813d52569b1025c76a") ("flycheck" . "784f184cdd9f9cb4e3dbb997c09d93e954142842") ("general.el" . "9651024e7f40a8ac5c3f31f8675d3ebe2b667344") ("gntp.el" . "767571135e2c0985944017dc59b0be79af222ef5") - ("gnu-elpa-mirror" . "98cfebcc05fd018121d943916e9d86189125e3d2") - ("goto-chg" . "3ce1389fea12edde4e343bc7d54c8da97a1a6136") + ("gnu-elpa-mirror" . "ebddf266c5234580c9458a139b419c5db1374793") + ("goto-chg" . "a7c69fa6a33774ee8ca759a064845a88483a4995") ("haskell-mode" . "8402caa341d90b4236f5c0a802751f9023ccfbe7") ("hl-todo" . "42f744ffb513cf2b95517144c64dbf3fc69f711a") ("ht.el" . "c4c1be487d6ecb353d07881526db05d7fc90ea87") - ("hydra" . "2d553787aca1aceb3e6927e426200e9bb9f056f1") + ("hydra" . "9e9e00cb240ea1903ffd36a54956b3902c379d29") ("inheritenv" . "7e4c8b0d0a43b6f1c6c4d6dbd2f3bf5ce7f20067") - ("js2-mode" . "d18730505e4ab57ec2b036980a62f6c6a60381e9") + ("js2-mode" . "997cac4c80a03062145b541b006c51cc91ee0c24") ("ledger-mode" . "3ec65b8931e8989ac590e95921e46f9e2fac6821") - ("let-alist" . "d2d0cac92851d4480328bc3f41d30c518beb1f99") + ("let-alist" . "592553db5929b54db40af0df90c5add0aaca045b") ("log4e" . "737d275eac28dbdfb0b26d28e99da148bfce9d16") ("lsp-haskell" . "001032265f8770fc6a88c1dcd8838cd2707f0b30") ("lsp-metals" . "38dda2c22db66547d99e3cfa6b7e76c42e7c6b5a") - ("lsp-mode" . "fefc3663dcd75f97e270f399ad991fb8fc26e6e8") + ("lsp-mode" . "a82a4fa3467ec918273ab65d48c5c7d2dbfaec74") ("lsp-origami" . "5b88ab77dc2696c93fa5dd9debe183821c533b71") ("lsp-pyright" . "d428dbcf1802fbe147271c8dc74b073bd9cd7403") ("lsp-python-ms" . "abf4d89ecf2fa0871130df5fce6065b7cf0a2721") - ("lsp-treemacs" . "c40a381730251039d33400cc14539c1e0729385f") - ("lsp-ui" . "98d0ad00b8bf1d3a7cea490002169f2286d7208c") - ("magit" . "fa620ed3e45b08c45466f9930e348bf957c27e66") + ("lsp-treemacs" . "72d367757a89453a712f6ba1df9b6e789ece2bbd") + ("lsp-ui" . "21ce926eedd41ef305c2d89412506ce59b1a7eac") + ("magit" . "2e73b66c2980abb9211d9881a8710c8ac5a33184") ("magit-todos" . "60152d5c4e4b73e72e15f23ca16e8cc7734906bc") - ("map" . "7ef991a4e234195f125dc2b2ad4cad5a1d11a7d5") - ("marginalia" . "f8e3d409b478461e277cdea1df567387e4b9b1cd") - ("markdown-mode" . "c3c2f0d473a3f8ca8c4ffb2ecc094d5c3541769f") - ("melpa" . "bfb12c03689d61a02f5cf725d8877678c284f4c7") + ("map" . "3d80a6d7cdc7d9e5760290fa95db4da992612837") + ("marginalia" . "9229d88ae4757f3439e81f51799758c009838cb4") + ("markdown-mode" . "4469553a7395359e96b8796e1fac4de73cb6ccc4") + ("melpa" . "4e3d46311b4d15314b6d1a0d5ff95c5f7e366223") ("mu4e-alert" . "91f0657c5b245a9de57aa38391221fb5d141d9bd") ("nix-mode" . "3d04d92d9c3896d07bc9fed7e4f40032025fbe7b") - ("openscad" . "e6c567f3eda9406d9e573f920ec9b7b6a7c68f1f") + ("openscad" . "eedf37059ca9ce81c09b9270c99257c3d7f74c43") ("orderless" . "1ccf74ffdbb0dd34caa63022e92f947c09c49c86") - ("org" . "e0b1a05460f0136b3d3757c3ae74199efbd9b292") + ("org" . "b8656a2cef3d5da7270e391222d8139fc042edd5") ("org-fragtog" . "15861261a437aca2ec858317de71603d2957b423") - ("org-roam" . "c90b2d68df2714fc03df8cb7630afd43a560f914") + ("org-roam" . "679ef6ef001fd1a69b691108178721aa913e7f0f") ("origami.el" . "e558710a975e8511b9386edc81cd6bdd0a5bda74") ("pcre2el" . "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d") - ("pdf-tools" . "a8847b75d3487d60e27762816bdbdd23b6dc1c11") - ("pfuture" . "d7926de3ba0105a36cfd00811fd6278aea903eef") + ("pdf-tools" . "ed1d4fc4b02eaf40fbaa7a1a8a2c59eff2a8555d") + ("pfuture" . "bde5b06795e3e35bfb2bba4c34b538d506a0856e") ("pkg-info" . "76ba7415480687d05a4353b27fea2ae02b8d9d61") ("plz.el" . "7e456638a651bab3a814e3ea81742dd917509cbb") - ("popper" . "d5ab9b2c4185f029425bb6ba1dc718de65f4db86") + ("popper" . "8af5e6b3bb08a71abbafba2491e3ab001a13a067") ("posframe" . "80cb98aff695a102772cc414d96611bdaf96f00e") - ("project" . "36c7d3cef17385e5e829b0f3c7d0fa2702100799") - ("projectile" . "fab2c546fdf990f010acb0755004a96510dc07db") + ("project" . "fc7774120c70eaff40872f54007068835ffd0ff0") + ("projectile" . "24de2940a8a1f46a7715175a66be67733f1c8fa8") ("rjsx-mode" . "b697fe4d92cc84fa99a7bcb476f815935ea0d919") - ("rust-mode" . "b017f746503df27ccdca8ee6d2627529d64d76e1") - ("rustic" . "96098beed6c62102e2c053ae73e853e743a81e48") + ("rust-mode" . "b173b3aed726b583d6c82d4cb0743336a544cf27") + ("rustic" . "50a480d275e8dd156ca75fdcb81f398d60942ee0") ("s.el" . "08661efb075d1c6b4fa812184c1e5e90c08795a9") ("selectrum" . "97693d0aea2c548197e9d1de3bdedf8e703775a4") ("shrink-path.el" . "c14882c8599aec79a6e8ef2d06454254bb3e1e41") @@ -88,17 +87,17 @@ ("straight.el" . "af5437f2afd00936c883124d6d3098721c2d306c") ("tablist" . "faab7a035ef2258cc4ea2182f67e3aedab7e2af9") ("terraform-mode" . "e560caaa9d9a11b0868adf6d9dcae5ebb5055730") - ("transient" . "129c2b1685368757ffe2b6fb2d57da4b06330968") - ("tree-sitter-langs" . "c66b03faba230868b7cb644e0b49ff64a47f6ab4") - ("treemacs" . "05efcf4f2566887a6493a05e145a53588d1ed822") + ("themes" . "8644ac46de4318e92501e3e577cde74738ab8622") + ("transient" . "45241225cf6bec864964191c0b3dc8bfad989723") + ("treemacs" . "deb7f2cd9eb06960798edd7393df2602902ed071") ("ts.el" . "3fee71ceefac71ba55eb34829d7e94bb3df37cee") ("typescript.el" . "e82416205158d4b21d42d6b60c4385f68f0ae1b1") ("use-package" . "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") ("vulpea" . "398ca17f83ea59f54f61898fefdb55332cd3ba46") - ("web-mode" . "61f057a6baeba6b3595e412ba79b3080dca17dcc") - ("with-editor" . "53a6b8ad8a6aabea3749366fb11f12a7dabcb11f") - ("xref" . "3aa7603790685ed3b1ded0dc35b2be1e02a9c6af") + ("web-mode" . "4f1c96381a96000358b6621782d79c79b05ca5da") + ("with-editor" . "36d36957628621e8340f755b22082e1f4ed8e2d7") + ("xref" . "415b5edc9fc14d3a6c83f2f583b79dfb7dfa91d1") ("xterm-color" . "1a4012854c69a5cdaeb5a73d2ad705011892fca3") - ("yaml-mode" . "63b637f846411806ae47e63adc06fe9427be1131") + ("yaml-mode" . "a79d2a7b9281f8c56f461d717b1ba40fc58e22fd") ("yasnippet" . "5cbdbf0d2015540c59ed8ee0fcf4788effdf75b6")) :beta