Compare commits

...

3 commits

Author SHA1 Message Date
a1fd85896f
Move copilot to its own file
All checks were successful
/ Test config on 20 (push) Successful in 27s
2024-10-21 20:52:24 +03:00
ebdea386c3
Replace projectile with project.el and counsel with vertico 2024-10-21 20:48:45 +03:00
00fe42ad44
Fix broken projectile config 2024-10-21 19:54:07 +03:00
12 changed files with 164 additions and 143 deletions

View file

@ -33,6 +33,18 @@
(global-company-mode t) (global-company-mode t)
(defun just-one-face (fn &rest args)
(let ((orderless-match-faces [completions-common-part]))
(apply fn args)))
(advice-add 'company-capf--candidates :around #'just-one-face)
(defun company-completion-styles (capf-fn &rest args)
(let ((completion-styles '(basic partial-match)))
(apply capf-fn args)))
(advice-add 'company-capf :around #'company-completion-styles)
(setq-default (setq-default
company-minimum-prefix-length 3 ;; minimum prefix character number for auto complete. company-minimum-prefix-length 3 ;; minimum prefix character number for auto complete.
company-idle-delay 0.1 company-idle-delay 0.1
@ -88,27 +100,5 @@
(define-key text-mode-map (kbd "<f13>") 'icejam/insert-space-and-complete) (define-key text-mode-map (kbd "<f13>") 'icejam/insert-space-and-complete)
(define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common) (define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common)
;;; Copilot and other GPT stuff
(use-package copilot
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
:ensure t)
;; Do not enable copilot by default because it sorta sucks?
;; (add-hook 'prog-mode-hook 'copilot-mode)
(define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion)
(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion)
;; Enable Anthropic Claude LLM support for chat (it also sucks)
(use-package gptel :straight t :ensure t)
(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key."
:type 'string
:group 'icejam
:initialize 'custom-initialize-set)
(setq
gptel-model "claude-3-5-sonnet-20240620"
gptel-backend (gptel-make-anthropic "Claude" :stream t :key (lambda () anthropic-api-key)))
(provide 'icejam-company-yasnippet) (provide 'icejam-company-yasnippet)
;;; icejam-company-yasnippet.el ends here ;;; icejam-company-yasnippet.el ends here

View file

@ -0,0 +1,63 @@
;;; icejam-completing-read -- Functions related to completing-read -*- lexical-binding: t; -*-
;;; Commentary:
;;;
;;; Code:
(require 'icejam-keys-mode)
(use-package vertico :straight t :defer t
:init
(vertico-mode)
:custom
(vertico-scroll-margin 0) ;; Different scroll margin
(vertico-count 15) ;; Show more candidates
(vertico-resize t) ;; Grow and shrink the Vertico minibuffer
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous')
)
;; A few more useful configurations...
(use-package emacs
:custom
;; Support opening new minibuffers from inside existing minibuffers.
(enable-recursive-minibuffers t)
;; Hide commands in M-x which do not work in the current mode. Vertico
;; commands are hidden in normal buffers. This setting is useful beyond
;; Vertico.
(read-extended-command-predicate #'command-completion-default-include-p)
:init
;; Add prompt indicator to `completing-read-multiple'.
;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma.
(defun crm-indicator (args)
(cons (format "[CRM%s] %s"
(replace-regexp-in-string
"\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
crm-separator)
(car args))
(cdr args)))
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
;; Do not allow the cursor in the minibuffer prompt
(setq minibuffer-prompt-properties
'(read-only t cursor-intangible t face minibuffer-prompt))
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode))
;; Optionally use the `orderless' completion style.
(use-package orderless :straight t :defer t
:custom
;; Configure a custom style dispatcher (see the Consult wiki)
;; (orderless-style-dispatchers '(+orderless-consult-dispatch orderless-affix-dispatch))
;; (orderless-component-separator #'orderless-escapable-split-on-space)
(completion-styles '(orderless basic))
(completion-category-defaults nil)
(completion-category-overrides '((file (styles partial-completion)))))
(use-package marginalia :straight t :defer t :init (marginalia-mode))
(use-package consult :straight t :defer t)
(use-package helpful :straight t :defer t)
(with-eval-after-load 'consult
(define-key icejam-keys-mode-map (kbd "C-c a") 'consult-ripgrep)
(define-key icejam-keys-mode-map (kbd "C-c t") 'find-file))
(provide 'icejam-completing-read)
;;; icejam-completing-read.el ends here

43
lisp/icejam-copilot.el Normal file
View file

@ -0,0 +1,43 @@
;;; icejam-copilot.el --- summary
;; Author: Maciej Szlosarczyk
;; Maintainer: Maciej Szlosarczyk
;; Version: 0.1-snapshot
;;; Commentary:
;;; Copilot and other GPT stuff
;;; Code:
(use-package copilot
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
:ensure t)
;; Do not enable copilot by default because it sorta sucks?
;; (add-hook 'prog-mode-hook 'copilot-mode)
(define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion)
(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion)
;; Enable Anthropic Claude LLM support for chat (it also sucks)
(use-package gptel :straight t :ensure t)
(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key."
:type 'string
:group 'icejam
:initialize 'custom-initialize-set)
(setq
gptel-model "claude-3-5-sonnet-20240620"
gptel-backend (gptel-make-anthropic "Claude" :stream t :key (lambda () anthropic-api-key)))
;; Pretend to be 'AI editor'.
(use-package elysium :straight t :ensure t
:custom (elysium-window-size 0.33) ; The elysium buffer will be 1/3 your screen
(elysium-window-style 'vertical)) ; Can be customized to horizontal
;; Merging with SMerge
(require 'smerge-mode)
(add-hook 'prog-mode-hook 'smerge-mode)
(provide 'icejam-copilot)
;;; icejam-copilot.el ends here

View file

@ -42,13 +42,13 @@
(require 'icejam-base) (require 'icejam-base)
(require 'icejam-sys-specific) (require 'icejam-sys-specific)
(require 'icejam-tree-sitter) (require 'icejam-tree-sitter)
(require 'icejam-ivy) (require 'icejam-completing-read)
(require 'icejam-avy) (require 'icejam-avy)
(require 'icejam-transient) (require 'icejam-transient)
(require 'icejam-prog-mode) (require 'icejam-prog-mode)
(require 'icejam-company-yasnippet) (require 'icejam-company-yasnippet)
(require 'icejam-copilot)
(require 'icejam-flycheck) (require 'icejam-flycheck)
(require 'icejam-projectile)
(require 'icejam-ispell) (require 'icejam-ispell)
(require 'icejam-deft) (require 'icejam-deft)
(require 'icejam-lsp) (require 'icejam-lsp)

View file

@ -19,7 +19,6 @@
'("Happy coding!" "I showed you my source code, pls respond")) '("Happy coding!" "I showed you my source code, pls respond"))
(setq dashboard-startup-banner 'logo) (setq dashboard-startup-banner 'logo)
(setq dashboard-projects-backend 'projectile)
(setq dashboard-items '((recents . 5) (setq dashboard-items '((recents . 5)
;; (bookmarks . 5) ;; (bookmarks . 5)

View file

@ -12,7 +12,6 @@
(use-package diminish :straight t) (use-package diminish :straight t)
(eval-after-load 'flyspell '(diminish 'flyspell-mode)) (eval-after-load 'flyspell '(diminish 'flyspell-mode))
(eval-after-load 'projectile '(diminish 'projectile-mode))
(eval-after-load 'flycheck '(diminish 'flycheck-mode)) (eval-after-load 'flycheck '(diminish 'flycheck-mode))
(eval-after-load 'rainbow-mode '(diminish 'rainbow-mode)) (eval-after-load 'rainbow-mode '(diminish 'rainbow-mode))
(eval-after-load 'undo-tree '(diminish 'undo-tree-mode)) (eval-after-load 'undo-tree '(diminish 'undo-tree-mode))

View file

@ -1,47 +0,0 @@
;;; icejam-ivy -- Counsel, Swiper and Ivy. -*- lexical-binding: t; -*-
;;; Commentary:
;;;
;;; Code:
(require 'icejam-keys-mode)
(use-package helpful :straight t :defer t)
(use-package ivy :straight t :defer t
:config (setq ivy-use-virtual-buffers t ;; Display recent files in ivy-switch-buffer
ivy-count-format "(%d of %d) " ;; Current candidate count style
ivy-wrap t ;; Wrap around completions
ivy-display-style 'fancy) ;; Formatting style
(ivy-mode 1))
(use-package swiper :straight t)
(use-package counsel :straight t :requires (helpful ivy swiper))
(with-eval-after-load 'counsel
(define-key icejam-keys-mode-map (kbd "C-c a") 'counsel-rg)
(define-key icejam-keys-mode-map (kbd "C-c t") 'counsel-find-file)
(define-key icejam-keys-mode-map (kbd "C-c C-s") 'swiper) ;; Find things by regexp
(define-key icejam-keys-mode-map (kbd "M-x") 'counsel-M-x) ;; M-x on steroids
;; Help bindings
(define-key icejam-keys-mode-map (kbd "<f1> f") 'counsel-describe-function)
(define-key icejam-keys-mode-map (kbd "<f1> v") 'counsel-describe-variable)
(define-key icejam-keys-mode-map (kbd "<f1> b") 'counsel-descbinds)
(define-key icejam-keys-mode-map (kbd "<f1> x") 'helpful-command)
(define-key icejam-keys-mode-map (kbd "<f1> l") 'counsel-find-library)
(define-key icejam-keys-mode-map (kbd "C-h f") 'counsel-describe-function)
(define-key icejam-keys-mode-map (kbd "C-h v") 'counsel-describe-variable)
(define-key icejam-keys-mode-map (kbd "C-h b") 'counsel-descbinds)
(define-key icejam-keys-mode-map (kbd "C-h x") 'helpful-command)
(define-key icejam-keys-mode-map (kbd "C-h l") 'counsel-find-library)
(setq counsel-describe-function-function 'helpful-callable)
(setq counsel-describe-variable-function 'helpful-variable)
;; Other stuff
(define-key icejam-keys-mode-map (kbd "<f2> i") 'counsel-info-lookup-symbol)
(define-key icejam-keys-mode-map (kbd "<f2> u") 'counsel-unicode-char))
(provide 'icejam-ivy)
;;; icejam-ivy.el ends here

View file

@ -1,24 +0,0 @@
;;; icejam-projectile.el -- summary -*- lexical-binding: t; -*-
;;; Commentary:
;;; Project management based on git repos
;;; Code:
(use-package counsel-projectile :straight t :defer t)
(use-package projectile
:straight t
:requires (counsel counsel-projectile)
:config
(setq-default projectile-completion-system 'ivy ;; Use ivy as completion system
projectile-enable-caching t ;; Cache project files
projectile-file-exists-local-cache-expire (* 3 60) ;; keep cache for 3 minutes
projectile-sort-order (quote recently-active) ;; Order by recently active projects
projectile-globally-ignored-directories
(append '("node_modules" ".svn" "_build" "tmp" "log") projectile-globally-ignored-directories)
;; Add certain folders to ignored
))
(projectile-mode t)
(provide 'icejam-projectile)
;;; icejam-projectile.el ends here

View file

@ -15,16 +15,14 @@
(transient-define-prefix icejam/project-menu () (transient-define-prefix icejam/project-menu ()
"Project Commands." "Project Commands."
["" [""
["Projectile" ["Project"
("s" "Switch project" counsel-projectile-switch-project) ("s" "Switch project" project-switch-project)
("f" "Find file in project" counsel-projectile-find-file) ("f" "Find file in project" project-find-file)
("g" "Grep in project" counsel-projectile-rg) ("g" "Grep in project" consult-ripgrep)]
("c" "invalidate cache" projectile-invalidate-cache)
("n" "New project" projectile-add-known-project)]
["Ivy" ["Ivy"
("a" "Grep in buffer" counsel-rg) ("a" "Grep in buffer" consult-ripgrep)
("b" "Buffer list" ibuffer) ("b" "Buffer list" ibuffer)
("t" "Find file" counsel-find-file)] ("t" "Find file" find-file)]
["Magit" ["Magit"
("m" "Git status" magit-status) ("m" "Git status" magit-status)
("C" "Git checkout" magit-checkout) ("C" "Git checkout" magit-checkout)

View file

@ -4,7 +4,6 @@
(require 'icejam-prog-mode) (require 'icejam-prog-mode)
(require 'icejam-lsp) (require 'icejam-lsp)
(require 'icejam-projectile)
(declare-function lsp "lsp-mode" nil) (declare-function lsp "lsp-mode" nil)
(declare-function column-enforce-n "column-enforce-mode" (number)) (declare-function column-enforce-n "column-enforce-mode" (number))
@ -90,15 +89,15 @@
;; Add include path so that Erlang does not complain about ;; Add include path so that Erlang does not complain about
;; missing header files. ;; missing header files.
(setq-local flycheck-erlang-include-path (setq-local flycheck-erlang-include-path
(list (format "%sdeps" (projectile-project-root)) (list (format "%sdeps" (project-root (project-current)))
(format "%s_build/default/lib" (projectile-project-root)) (format "%s_build/default/lib" (project-root (project-current)))
(format "%sinclude" (projectile-project-root)) (format "%sinclude" (project-root (project-current)))
(format "%sapps" (projectile-project-root)))) (format "%sapps" (project-root (project-current)))))
(setq-local flycheck-erlang-library-path (setq-local flycheck-erlang-library-path
(list (format "%sdeps" (projectile-project-root)) (list (format "%sdeps" (project-root (project-current)))
(format "%s_build/default/lib" (projectile-project-root)) (format "%s_build/default/lib" (project-root (project-current)))
(format "%sapps" (projectile-project-root)))) (format "%sapps" (project-root (project-current)))))
;; Company list override ;; Company list override
(add-to-list (make-local-variable 'company-backends) (add-to-list (make-local-variable 'company-backends)

View file

@ -3,7 +3,6 @@
;;; Code: ;;; Code:
(require 'icejam-prog-mode) (require 'icejam-prog-mode)
(require 'icejam-projectile)
(use-package rspec-mode :straight t :defer t) (use-package rspec-mode :straight t :defer t)
(use-package ruby-end :straight t :defer t) (use-package ruby-end :straight t :defer t)

View file

@ -8,7 +8,7 @@
("bui.el" . "f3a137628e112a91910fd33c0cff0948fa58d470") ("bui.el" . "f3a137628e112a91910fd33c0cff0948fa58d470")
("caml-mode" . "47defafa2b08fb680e89bfee9cb9ce82bd9e3bcf") ("caml-mode" . "47defafa2b08fb680e89bfee9cb9ce82bd9e3bcf")
("cfrs" . "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121") ("cfrs" . "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121")
("cider" . "be4b4acb6d32cb32118fc46042ab07184c194b37") ("cider" . "ced9f25cb67fe1fca32f04f77a8ef7c114ccc4e5")
("clj-refactor.el" . "dc1bbc8cdaa723bdbb6669ea7d280625c370755d") ("clj-refactor.el" . "dc1bbc8cdaa723bdbb6669ea7d280625c370755d")
("clojure-mode" . "59888c84b61081e9b0085e388f55132925a66e7a") ("clojure-mode" . "59888c84b61081e9b0085e388f55132925a66e7a")
("color-theme-sanityinc-tomorrow" . "ddf2920a8866040e57359d2e1c5517fffcad2e38") ("color-theme-sanityinc-tomorrow" . "ddf2920a8866040e57359d2e1c5517fffcad2e38")
@ -16,8 +16,8 @@
("company-box" . "c4f2e243fba03c11e46b1600b124e036f2be7691") ("company-box" . "c4f2e243fba03c11e46b1600b124e036f2be7691")
("company-mode" . "9c273fc7c1a9dd69ccf508589211c4f8bd0e0765") ("company-mode" . "9c273fc7c1a9dd69ccf508589211c4f8bd0e0765")
("compat" . "c1f94ac75d6ea7f93c8da51e3f78ab3f39dbc2a2") ("compat" . "c1f94ac75d6ea7f93c8da51e3f78ab3f39dbc2a2")
("consult" . "afda4c68a4ebcc9104bf2a645848d7e92269f054")
("copilot.el" . "b5878d6a8c741138b5efbf4fe1c594f3fd69dbdd") ("copilot.el" . "b5878d6a8c741138b5efbf4fe1c594f3fd69dbdd")
("counsel-projectile" . "40d1e1d4bb70acb00fddd6f4df9778bf2c52734b")
("cyberpunk-theme.el" . "1fd5350ddfc53c30e6eef82af77c62d7c825df3c") ("cyberpunk-theme.el" . "1fd5350ddfc53c30e6eef82af77c62d7c825df3c")
("dap-mode" . "496dd3a60f71a396df7e9a5ff6c500127d00ec03") ("dap-mode" . "496dd3a60f71a396df7e9a5ff6c500127d00ec03")
("dart-mode" . "02e919c1cf200b4938139c18068577faff1fb364") ("dart-mode" . "02e919c1cf200b4938139c18068577faff1fb364")
@ -28,7 +28,7 @@
("diminish.el" . "fbd5d846611bad828e336b25d2e131d1bc06b83d") ("diminish.el" . "fbd5d846611bad828e336b25d2e131d1bc06b83d")
("docker.el" . "6f8bba0d11a5143872dfc25afdabe16cae410d11") ("docker.el" . "6f8bba0d11a5143872dfc25afdabe16cae410d11")
("dockerfile-mode" . "4d893bd2da15833ce056332e6c972d5d93e78f04") ("dockerfile-mode" . "4d893bd2da15833ce056332e6c972d5d93e78f04")
("dune" . "ed871baa4b321a9b4d51b8399590089a1e156989") ("dune" . "5effa15c506ae641d8cf7361db10ceb346d4e9e8")
("easy-kill" . "de7d66c3c864a4722a973ee9bc228a14be49ba0c") ("easy-kill" . "de7d66c3c864a4722a973ee9bc228a14be49ba0c")
("editorconfig-emacs" . "648f0cf9aeb72db77b252832a58367332b7bc055") ("editorconfig-emacs" . "648f0cf9aeb72db77b252832a58367332b7bc055")
("el-get" . "847901f07bdf67763fa3a6c0fb057048cd58603b") ("el-get" . "847901f07bdf67763fa3a6c0fb057048cd58603b")
@ -36,7 +36,7 @@
("elisp-refs" . "541a064c3ce27867872cf708354a65d83baf2a6d") ("elisp-refs" . "541a064c3ce27867872cf708354a65d83baf2a6d")
("elisp-tree-sitter" . "3cfab8a0e945db9b3df84437f27945746a43cc71") ("elisp-tree-sitter" . "3cfab8a0e945db9b3df84437f27945746a43cc71")
("elixir-ts-mode" . "b35c983f551ccf821ebebad50747b5b417133e52") ("elixir-ts-mode" . "b35c983f551ccf821ebebad50747b5b417133e52")
("emacs" . "f579a6aa26234f067c06e85e203ac2b89db99b4d") ("emacs" . "4441d5114fdcc2eb05186a974b4bbad7224e43b5")
("emacs-aio" . "da93523e235529fa97d6f251319d9e1d6fc24a41") ("emacs-aio" . "da93523e235529fa97d6f251319d9e1d6fc24a41")
("emacs-ansible" . "e171dacc12eeaba5dbd7fd887f94d11b357fe958") ("emacs-ansible" . "e171dacc12eeaba5dbd7fd887f94d11b357fe958")
("emacs-dashboard" . "946b9957470a3cac6b089bdf2d9edd07a29fcc9c") ("emacs-dashboard" . "946b9957470a3cac6b089bdf2d9edd07a29fcc9c")
@ -47,12 +47,12 @@
("emacs-gradle-mode" . "e4d665d5784ecda7ddfba015f07c69be3cfc45f2") ("emacs-gradle-mode" . "e4d665d5784ecda7ddfba015f07c69be3cfc45f2")
("emacs-leuven-theme" . "2a7f99c1d7d13629efe9d9d911809713c17bcd53") ("emacs-leuven-theme" . "2a7f99c1d7d13629efe9d9d911809713c17bcd53")
("emacs-reformatter" . "f13f5b4ce51db95ea317d57a83be0358bbf3ec30") ("emacs-reformatter" . "f13f5b4ce51db95ea317d57a83be0358bbf3ec30")
("emacs-theme-darktooth" . "2358dd334b5dcb6dc9828422bd7bd1e4da556819") ("emacs-theme-darktooth" . "c329f8b2c88ff8ce803ee7e0ab215d68a1538a75")
("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500") ("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500")
("emacsmirror-mirror" . "811b38294d15c4e22a913f6156e7fee2e70b3dac") ("emacsmirror-mirror" . "f206281727dce5b3b6997be43e5987ba125a901b")
("exec-path-from-shell" . "72ede29a0e0467b3b433e8edbee3c79bab005884") ("exec-path-from-shell" . "72ede29a0e0467b3b433e8edbee3c79bab005884")
("f.el" . "931b6d0667fe03e7bf1c6c282d6d8d7006143c52") ("f.el" . "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")
("flycheck" . "7a6398ea3538a898eba0276f0f89b2f878325a89") ("flycheck" . "5217e0e02f487d70e3d418e5e6ce884fc9711511")
("flycheck-rust" . "e7692cded99999d2dc3d3df5d977dcdeb1c179fb") ("flycheck-rust" . "e7692cded99999d2dc3d3df5d977dcdeb1c179fb")
("flyspell-correct" . "1e7a5a56362dd875dddf848b9a9e25d1395b9d37") ("flyspell-correct" . "1e7a5a56362dd875dddf848b9a9e25d1395b9d37")
("frame-local" . "7ee1106c3bcd4022f48421f8cb1ef4f995da816e") ("frame-local" . "7ee1106c3bcd4022f48421f8cb1ef4f995da816e")
@ -61,8 +61,8 @@
("gleam-mode" . "0b437578f4270fdcbb89caac47f78cf55a992bf3") ("gleam-mode" . "0b437578f4270fdcbb89caac47f78cf55a992bf3")
("gnu-elpa-mirror" . "b612d60157ce0e17d4698900871e8e6be249d66c") ("gnu-elpa-mirror" . "b612d60157ce0e17d4698900871e8e6be249d66c")
("go-mode.el" . "602d73e22646b1b98b2eb97927fd426c0d1d2f92") ("go-mode.el" . "602d73e22646b1b98b2eb97927fd426c0d1d2f92")
("gptel" . "3d109bc4e466c1498d87e8f2ba72645f4cc4fedc") ("gptel" . "f91b682d02def1d88999b34c8e7bfd0da175a8d8")
("graphql-mode" . "bc4d03658c24288e54e5aeeab370eb0bc04df324") ("graphql-mode" . "c3baca92809e6f6c8dd2596a413b277f3b0160ea")
("groovy-emacs-modes" . "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb") ("groovy-emacs-modes" . "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb")
("haskell-mode" . "7d4529ac4443d70719638806cb80325a418110b9") ("haskell-mode" . "7d4529ac4443d70719638806cb80325a418110b9")
("hcl-mode" . "1da895ed75d28d9f87cbf9b74f075d90ba31c0ed") ("hcl-mode" . "1da895ed75d28d9f87cbf9b74f075d90ba31c0ed")
@ -79,28 +79,30 @@
("jump.el" . "55caa66a7cc6e0b1a76143fd40eff38416928941") ("jump.el" . "55caa66a7cc6e0b1a76143fd40eff38416928941")
("keyfreq" . "c6955162307f37c2ac631d9daf118781009f8dda") ("keyfreq" . "c6955162307f37c2ac631d9daf118781009f8dda")
("kotlin-mode" . "fddd747e5b4736e8b27a147960f369b86179ddff") ("kotlin-mode" . "fddd747e5b4736e8b27a147960f369b86179ddff")
("lean4-mode" . "da7b63d854d010d621e2c82a53d6ae2d94dd53b0") ("lean4-mode" . "004ad0e60b85fb4eac74a5523ee3e648fd5cfce5")
("let-alist" . "8141e7c941105c92e89bba44e73aae6cdd962b49") ("let-alist" . "8141e7c941105c92e89bba44e73aae6cdd962b49")
("lispy" . "fe44efd21573868638ca86fc8313241148fabbe3") ("lispy" . "fe44efd21573868638ca86fc8313241148fabbe3")
("lsp-dart" . "9ffbafb7dcea3ef3d9e29bafb51d5167f0585d2c") ("lsp-dart" . "9ffbafb7dcea3ef3d9e29bafb51d5167f0585d2c")
("lsp-docker" . "ce291d0f80533f8eaca120eb745d55669e062636") ("lsp-docker" . "ce291d0f80533f8eaca120eb745d55669e062636")
("lsp-haskell" . "d229fdcd25a2d557d9d05a74f6fb4731e1341671") ("lsp-haskell" . "d229fdcd25a2d557d9d05a74f6fb4731e1341671")
("lsp-mode" . "8200fa1e71f16e10f42fce95c47822c4bd756df1") ("lsp-mode" . "27d6e795610a7685304e57a52937dff38968c877")
("lsp-treemacs" . "fb1a07ae0a3d781dea8ac78da2933e0173eb48a4") ("lsp-treemacs" . "fb1a07ae0a3d781dea8ac78da2933e0173eb48a4")
("lsp-ui" . "072bb29152038518c2478813b82c8d04d07df84c") ("lsp-ui" . "072bb29152038518c2478813b82c8d04d07df84c")
("lua-mode" . "d074e4134b1beae9ed4c9b512af741ca0d852ba3") ("lua-mode" . "d074e4134b1beae9ed4c9b512af741ca0d852ba3")
("macrostep" . "4939d88779761e8b5461b4cf73f86600172987db") ("macrostep" . "4939d88779761e8b5461b4cf73f86600172987db")
("magit" . "461d5ba249b8178ae83f80596da4312e65010720") ("magit" . "7c842b8ac0a904049fc68b321b47e42d642e5c51")
("map" . "cc174d5d2b3f9dacc31e9c55da1c80eb5f49c112") ("map" . "cc174d5d2b3f9dacc31e9c55da1c80eb5f49c112")
("marginalia" . "be2e57efff640880251c082ac93bd365b7202e6a")
("markdown-mode" . "6102ac5b7301b4c4fc0262d9c6516693d5a33f2b") ("markdown-mode" . "6102ac5b7301b4c4fc0262d9c6516693d5a33f2b")
("melpa" . "922cce631e17b7978c5d711569abf151c3301b35") ("melpa" . "04fdd633207a28b91f0a6e64aa25d114ab229a13")
("merlin" . "0821c50b5b0bea8e3b4cb2878004466a9a993178") ("merlin" . "0821c50b5b0bea8e3b4cb2878004466a9a993178")
("modus-themes" . "817ff75d11599b65acf583e0f8b5d69163550299") ("modus-themes" . "613f95341246746c3def202e67b27a315560d6f4")
("multiple-cursors.el" . "c870c18462461df19382ecd2f9374c8b902cd804") ("multiple-cursors.el" . "c870c18462461df19382ecd2f9374c8b902cd804")
("nginx-mode" . "c4ac5de975d65c84893a130a470af32a48b0b66c") ("nginx-mode" . "c4ac5de975d65c84893a130a470af32a48b0b66c")
("nongnu-elpa" . "bcdbd55cafa7b1acb354a8a2e0fb9514c220ed6f") ("nongnu-elpa" . "4b8b3633c7e29412c89f1c9d6ad7a951772be758")
("opam-switch-mode" . "1069e56a662f23ea09d4e05611bdedeb99257012") ("opam-switch-mode" . "1069e56a662f23ea09d4e05611bdedeb99257012")
("otp" . "2a253c24b870c9334e536256597dd740874909ff") ("orderless" . "96b74d2450ab4ab1a175d0e86c62f6695c4709b5")
("otp" . "12fa6666fa14debc0b63b2976d1db7c170150701")
("paredit" . "037b9b8acbca75151f133b6c0f7f3ff97d9042e5") ("paredit" . "037b9b8acbca75151f133b6c0f7f3ff97d9042e5")
("parseclj" . "6af22372e0fe14df882dd300b22b12ba2d7e00b0") ("parseclj" . "6af22372e0fe14df882dd300b22b12ba2d7e00b0")
("parseedn" . "3407e4530a367b6c2b857dae261cdbb67a440aaa") ("parseedn" . "3407e4530a367b6c2b857dae261cdbb67a440aaa")
@ -109,7 +111,6 @@
("php-mode" . "e3087db57e6b1682eb80af2916f106ac19472ce3") ("php-mode" . "e3087db57e6b1682eb80af2916f106ac19472ce3")
("posframe" . "570273bcf6c21641f02ccfcc9478607728f0a2a2") ("posframe" . "570273bcf6c21641f02ccfcc9478607728f0a2a2")
("powerline" . "c35c35bdf5ce2d992882c1f06f0f078058870d4a") ("powerline" . "c35c35bdf5ce2d992882c1f06f0f078058870d4a")
("projectile" . "41f8a8e7bdc50467256af632108989b5c980cd56")
("purescript-mode" . "d187b3d4bbb4d9cb36a4c6c55f35d63d159a26e8") ("purescript-mode" . "d187b3d4bbb4d9cb36a4c6c55f35d63d159a26e8")
("queue" . "8df1334d54d4735d2f821790422a850dfaaa08ef") ("queue" . "8df1334d54d4735d2f821790422a850dfaaa08ef")
("rainbow-delimiters" . "f40ece58df8b2f0fb6c8576b527755a552a5e763") ("rainbow-delimiters" . "f40ece58df8b2f0fb6c8576b527755a552a5e763")
@ -121,7 +122,7 @@
("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d") ("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d")
("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00") ("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00")
("sesman" . "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022") ("sesman" . "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022")
("slime" . "b37aff4842ed51b14ee583ee51d044e3aedb395d") ("slime" . "f475feca0f0f9d9e59d644f848064dcb9b96e314")
("slime-company" . "f20ecc4104d4c35052696e7e760109fb02060e72") ("slime-company" . "f20ecc4104d4c35052696e7e760109fb02060e72")
("spaceline" . "086420d16e526c79b67fc1edec4c2ae1e699f372") ("spaceline" . "086420d16e526c79b67fc1edec4c2ae1e699f372")
("speed-type" . "b982ee6081a11837760eeaed73c4f413eefb07b1") ("speed-type" . "b982ee6081a11837760eeaed73c4f413eefb07b1")
@ -130,17 +131,18 @@
("swiper" . "8dc02d5b725f78d1f80904807b46f5406f129674") ("swiper" . "8dc02d5b725f78d1f80904807b46f5406f129674")
("tablist" . "fcd37147121fabdf003a70279cf86fbe08cfac6f") ("tablist" . "fcd37147121fabdf003a70279cf86fbe08cfac6f")
("terraform-mode" . "abfc10f5e313c4bb99de136a14636e9bc6df74f6") ("terraform-mode" . "abfc10f5e313c4bb99de136a14636e9bc6df74f6")
("transient" . "8873c300b2cf8c648278210205c1d3234e387a30") ("transient" . "fcc54cb5d1eeff4d804e731b793b22edf2b1fa01")
("tree-sitter-langs" . "62e169d3122658761581105c91d8a6aad103fed5") ("tree-sitter-langs" . "465a64032d45f51347a9b68a0e8f33d658039172")
("treemacs" . "2377d231bcb4ff6841cbf6a7c1e4b6747e26ddd0") ("treemacs" . "63e80d4b96c2a411da0beaee8a1e46f116e05e27")
("tuareg" . "1d53723e39f22ab4ab76d31f2b188a2879305092") ("tuareg" . "1d53723e39f22ab4ab76d31f2b188a2879305092")
("typescript.el" . "fc3a4f3b275e8cf6cf41aa0c9ef42e25ef908feb") ("typescript.el" . "fc3a4f3b275e8cf6cf41aa0c9ef42e25ef908feb")
("use-package" . "a6e856418d2ebd053b34e0ab2fda328abeba731c") ("use-package" . "a6e856418d2ebd053b34e0ab2fda328abeba731c")
("vertico" . "e826dfcb14af5e2cfd88ed110d0208ddc2d37788")
("visual-regexp-steroids.el" . "a6420b25ec0fbba43bf57875827092e1196d8a9e") ("visual-regexp-steroids.el" . "a6420b25ec0fbba43bf57875827092e1196d8a9e")
("visual-regexp.el" . "48457d42a5e0fe10fa3a9c15854f1f127ade09b5") ("visual-regexp.el" . "48457d42a5e0fe10fa3a9c15854f1f127ade09b5")
("vundo" . "5374125dc0aaf1769bb0965344befb90f809ccfc") ("vundo" . "5374125dc0aaf1769bb0965344befb90f809ccfc")
("web-mode" . "0c83581d1e93d1d802c730a1d5e90cd1c740e1b2") ("web-mode" . "0c83581d1e93d1d802c730a1d5e90cd1c740e1b2")
("with-editor" . "63e60d5877c97b5c4205816ddd2ba53dde109317") ("with-editor" . "77cb2403158cfea9d8bfb8adad81b84d1d6d7c6a")
("yaml-mode" . "d91f878729312a6beed77e6637c60497c5786efa") ("yaml-mode" . "d91f878729312a6beed77e6637c60497c5786efa")
("yaml.el" . "70c4fcead97e9bd6594e418c922ae769818f4245") ("yaml.el" . "70c4fcead97e9bd6594e418c922ae769818f4245")
("yasnippet" . "fe1f4e0e96ce42d8668920335eb22c3c009dab3e") ("yasnippet" . "fe1f4e0e96ce42d8668920335eb22c3c009dab3e")