diff --git a/.forgejo/workflows/demo.yml b/.forgejo/workflows/demo.yml index acf5859..db8562d 100644 --- a/.forgejo/workflows/demo.yml +++ b/.forgejo/workflows/demo.yml @@ -20,7 +20,7 @@ jobs: run: npm install -g @emacs-eask/cli - name: Run tests - run: emacs --init-directory . --debug-init --eval "(kill-emacs 0)" + run: eask test buttercup - name: Uninstall eask run: npm uninstall -g @emacs-eask/cli diff --git a/.gitignore b/.gitignore index 57d81da..a1d668e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,8 @@ ac-comphist.dat /speed-type /tutorial /tree-sitter +emacs.keyfreq +ielm-history.eld # Ignore actual init as it can contain private data init.el diff --git a/README.MD b/README.MD index 49aaf19..ccef7a4 100644 --- a/README.MD +++ b/README.MD @@ -1,14 +1,8 @@ -# My emacs config +# Emacs configuration -Contains config I use for the following languages/modes: +This is the repository of my emacs configuration that I use on both MacOS and Linux. There are some additional configuration properties to use with BSD when I was testing it, but it is best treated as abandoned. -* Elixir -* Ruby -* Rust -* Markdown -* HTML and compatibile (ERB) - -As of current iteration, I avoid usage of Evil modes, instead focusing of usage of Emacs functionality. +I predominantly write Elixir, so that part is the most polished bit of the configuration but it also works for Ruby, Rust, Go, Javascript/Typescript and Kotlin. I use emacs for programming, so there is no org-mode, GTD, email or RSS here. I use deft to keep some programming notes here and there. ## Installation @@ -19,6 +13,5 @@ git clone git@github.com:maciej-szlosarczyk/emacs.git ~/.emacs.d And then put the following lines into init.el ```emacs -(add-to-list 'load-path (concat user-emacs-directory "lisp")) (require 'icejam-custom-init) ``` diff --git a/early-init.el b/early-init.el index aaf4d96..df7042d 100644 --- a/early-init.el +++ b/early-init.el @@ -17,4 +17,17 @@ ;; Log garbage collection. (setq garbage-collection-messages nil) +;; Monitor startup time +(add-hook 'emacs-startup-hook + (lambda () + (message "Emacs ready in %s with %d garbage collections." + (format "%.2f seconds" + (float-time + (time-subtract after-init-time before-init-time))) + gcs-done))) + +;; set path for native compilation to work +(setenv "PATH" "/Users/maciej/.local/share/zinit/polaris/bin:/Users/maciej/.asdf/shims:/Users/maciej/.local/bin:/Users/maciej/.opam/default/bin:/Users/maciej/.go/bin:/Users/maciej/.elan/bin:/opt/homebrew/opt/postgresql@17/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/MacGPG2/bin:/usr/local/share/dotnet:/Users/maciej/.dotnet/tools:/Applications/Postgres.app/Contents/Versions/latest/bin:/Applications/kitty.app/Contents/MacOS") +(setq exec-path (split-string (getenv "PATH") path-separator)) + ;;; early-init.el ends here diff --git a/elpaca.lock b/elpaca.lock index 296151b..0b5df76 100644 --- a/elpaca.lock +++ b/elpaca.lock @@ -1,936 +1,1146 @@ -((elpaca :source "lockfile" :date - (26402 1607 905734 0) - :recipe - (:source nil :protocol https :inherit t :depth 1 :repo "https://github.com/progfolio/elpaca.git" :ref "fcf7d4e72858bafce86674b02f3bfe1fd83e7089" :files - (:defaults "elpaca-test.el" - (:exclude "extensions")) - :build - (:not elpaca--activate-package) - :package "elpaca")) - (elpaca-use-package :source "lockfile" :date - (26402 1607 895888 0) - :recipe - (:package "elpaca-use-package" :wait t :repo "https://github.com/progfolio/elpaca.git" :files - ("extensions/elpaca-use-package.el") - :main "extensions/elpaca-use-package.el" :build - (:not elpaca--compile-info) - :source "Elpaca extensions" :protocol https :inherit t :depth treeless :ref "fcf7d4e72858bafce86674b02f3bfe1fd83e7089")) - (transient :source "lockfile" :date - (26402 1607 886188 0) - :recipe - (:package "transient" :fetcher github :repo "magit/transient" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :wait t :ref "cb11650a60728d214b2a4d7bb7535add2c4c5d4c")) - (compat :source "lockfile" :date - (26402 1607 876033 0) - :recipe - (:package "compat" :repo - ("https://github.com/emacs-compat/compat" . "compat") - :files - ("*" - (:exclude ".git")) - :source "GNU-devel ELPA" :protocol https :inherit t :depth treeless :ref "9a234d0d28cccd33f64faea6074fa2865a17c164")) - (diminish :source "lockfile" :date - (26402 1607 866319 0) +((xterm-color + (:source #1="elpaca-menu-lock-file" :date + (26529 46568 668725 0) :recipe - (:package "diminish" :fetcher github :repo "myrjola/diminish.el" :files + (:package "xterm-color" :repo "atomontage/xterm-color" :fetcher github :files ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :wait t :ref "fbd5d846611bad828e336b25d2e131d1bc06b83d")) - (company :source "lockfile" :date - (26402 1607 856573 0) - :recipe - (:package "company" :fetcher github :repo "company-mode/company-mode" :files - (:defaults "icons" - ("images/small" "doc/images/small/*.png")) - :source "MELPA" :protocol https :inherit t :depth treeless :wait t :ref "9c273fc7c1a9dd69ccf508589211c4f8bd0e0765")) - (lsp-mode :source "lockfile" :date - (26402 1607 846562 0) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2ad407c651e90fff2ea85d17bf074cee2c022912"))) + (json-snatcher + (:source #1# :date + (26529 46568 694399 0) :recipe - (:package "lsp-mode" :repo "emacs-lsp/lsp-mode" :fetcher github :files - (:defaults "clients/*.el") - :source "MELPA" :protocol https :inherit t :depth treeless :wait t :ref "78c194d2d3c34f14646a006574b9bb9369ea55cb")) - (dash :source "lockfile" :date - (26402 1607 836828 0) - :recipe - (:package "dash" :fetcher github :repo "magnars/dash.el" :files - ("dash.el" "dash.texi") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1de9dcb83eacfb162b6d9a118a4770b1281bcd84")) - (f :source "lockfile" :date - (26402 1607 826548 0) - :recipe - (:package "f" :fetcher github :repo "rejeep/f.el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")) - (ht :source "lockfile" :date - (26402 1607 816600 0) - :recipe - (:package "ht" :fetcher github :repo "Wilfred/ht.el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1c49aad1c820c86f7ee35bf9fff8429502f60fef")) - (spinner :source "lockfile" :date - (26402 1607 806261 0) - :recipe - (:package "spinner" :repo - ("https://github.com/Malabarba/spinner.el" . "spinner") - :files - ("*" - (:exclude ".git")) - :source "GNU-devel ELPA" :protocol https :inherit t :depth treeless :ref "d4647ae87fb0cd24bc9081a3d287c860ff061c21")) - (markdown-mode :source "lockfile" :date - (26402 1607 796174 0) - :recipe - (:package "markdown-mode" :fetcher github :repo "jrblevin/markdown-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "6102ac5b7301b4c4fc0262d9c6516693d5a33f2b")) - (lv :source "lockfile" :date - (26402 1607 786305 0) - :recipe - (:package "lv" :repo "abo-abo/hydra" :fetcher github :files - ("lv.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "317e1de33086637579a7aeb60f77ed0405bf359b")) - (s :source "lockfile" :date - (26402 1607 776904 0) - :recipe - (:package "s" :fetcher github :repo "magnars/s.el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "dda84d38fffdaf0c9b12837b504b402af910d01d")) - (easy-kill :source "lockfile" :date - (26402 1607 766689 0) - :recipe - (:package "easy-kill" :fetcher github :repo "leoliu/easy-kill" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "de7d66c3c864a4722a973ee9bc228a14be49ba0c")) - (buffer-move :source "lockfile" :date - (26402 1607 756032 0) - :recipe - (:package "buffer-move" :fetcher github :repo "lukhas/buffer-move" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "e7800b3ab1bd76ee475ef35507ec51ecd5a3f065")) - (gcmh :source "lockfile" :date - (26402 1607 743611 0) - :recipe - (:package "gcmh" :repo "koral/gcmh" :fetcher gitlab :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9")) - (exec-path-from-shell :source "lockfile" :date - (26402 1607 733693 0) - :recipe - (:package "exec-path-from-shell" :fetcher github :repo "purcell/exec-path-from-shell" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "72ede29a0e0467b3b433e8edbee3c79bab005884")) - (direnv :source "lockfile" :date - (26402 1607 723904 0) - :recipe - (:package "direnv" :fetcher github :repo "wbolster/emacs-direnv" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c0bf3b81c7a97e2a0d06d05495e86848254fcc1f")) - (treemacs :source "lockfile" :date - (26402 1607 714078 0) - :recipe - (:package "treemacs" :fetcher github :repo "Alexander-Miller/treemacs" :files - (:defaults "Changelog.org" "icons" "src/elisp/treemacs*.el" "src/scripts/treemacs*.py" - (:exclude "src/extra/*")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2f0668439dfa246b2807497f2824ec7c7fbbeb49")) - (treemacs-all-the-icons :source "lockfile" :date - (26402 1607 704346 0) - :recipe - (:package "treemacs-all-the-icons" :fetcher github :repo "Alexander-Miller/treemacs" :files - ("src/extra/treemacs-all-the-icons.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2f0668439dfa246b2807497f2824ec7c7fbbeb49")) - (keyfreq :source "lockfile" :date - (26402 1607 694626 0) - :recipe - (:package "keyfreq" :fetcher github :repo "dacap/keyfreq" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c6955162307f37c2ac631d9daf118781009f8dda")) - (which-key :source "lockfile" :date - (26402 1607 684726 0) - :recipe - (:package "which-key" :repo "justbur/emacs-which-key" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "38d4308d1143b61e4004b6e7a940686784e51500")) - (tree-sitter-langs :source "lockfile" :date - (26402 1607 675002 0) - :recipe - (:package "tree-sitter-langs" :repo "emacs-tree-sitter/tree-sitter-langs" :fetcher github :branch "release" :files - (:defaults "queries") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "562e4681d365c70169d807e23db4c37427628627")) - (vertico :source "lockfile" :date - (26402 1607 664499 0) - :recipe - (:package "vertico" :repo "minad/vertico" :files - (:defaults "extensions/vertico-*.el") - :fetcher github :source "MELPA" :protocol https :inherit t :depth treeless :ref "e826dfcb14af5e2cfd88ed110d0208ddc2d37788")) - (orderless :source "lockfile" :date - (26402 1607 655175 0) - :recipe - (:package "orderless" :repo "oantolin/orderless" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "96b74d2450ab4ab1a175d0e86c62f6695c4709b5")) - (marginalia :source "lockfile" :date - (26402 1607 645517 0) - :recipe - (:package "marginalia" :repo "minad/marginalia" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "be2e57efff640880251c082ac93bd365b7202e6a")) - (consult :source "lockfile" :date - (26402 1607 635800 0) - :recipe - (:package "consult" :repo "minad/consult" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "afda4c68a4ebcc9104bf2a645848d7e92269f054")) - (helpful :source "lockfile" :date - (26402 1607 625550 0) - :recipe - (:package "helpful" :repo "Wilfred/helpful" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "4ba24cac9fb14d5fdc32582cd947572040e82b2c")) - (avy :source "lockfile" :date - (26402 1607 615819 0) - :recipe - (:package "avy" :repo "abo-abo/avy" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "be612110cb116a38b8603df367942e2bb3d9bdbe")) - (rainbow-delimiters :source "lockfile" :date - (26402 1607 605910 0) - :recipe - (:package "rainbow-delimiters" :fetcher github :repo "Fanael/rainbow-delimiters" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f40ece58df8b2f0fb6c8576b527755a552a5e763")) - (rainbow-mode :source "lockfile" :date - (26402 1607 596082 0) - :recipe - (:package "rainbow-mode" :repo - ("git://git.sv.gnu.org/emacs/elpa" . "rainbow-mode") - :branch "externals/rainbow-mode" :files - ("*" - (:exclude ".git")) - :source "GNU-devel ELPA" :protocol https :inherit t :depth treeless :ref "f7db3b5919f70420a91eb199f8663468de3033f3")) - (dash-at-point :source "lockfile" :date - (26402 1607 586328 0) - :recipe - (:package "dash-at-point" :fetcher github :repo "stanaka/dash-at-point" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fba1a6f42ea51d05110e12c62bdced664059eb55")) - (column-enforce-mode :source "lockfile" :date - (26402 1607 576366 0) - :recipe - (:package "column-enforce-mode" :fetcher github :repo "jordonbiondo/column-enforce-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "14a7622f2268890e33536ccd29510024d51ee96f")) - (pcre2el :source "lockfile" :date - (26402 1607 566435 0) - :recipe - (:package "pcre2el" :fetcher github :repo "joddie/pcre2el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b4d846d80dddb313042131cf2b8fbf647567e000")) - (visual-regexp-steroids :source "lockfile" :date - (26402 1607 556851 0) - :recipe - (:package "visual-regexp-steroids" :repo "benma/visual-regexp-steroids.el" :fetcher github :files - ("visual-regexp-steroids.el" "regexp.py") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a6420b25ec0fbba43bf57875827092e1196d8a9e")) - (yasnippet :source "lockfile" :date - (26402 1607 546830 0) - :recipe - (:package "yasnippet" :repo "joaotavora/yasnippet" :fetcher github :files - ("yasnippet.el" "snippets") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fe1f4e0e96ce42d8668920335eb22c3c009dab3e")) - (yasnippet-snippets :source "lockfile" :date - (26402 1607 537428 0) - :recipe - (:package "yasnippet-snippets" :repo "AndreaCrotti/yasnippet-snippets" :fetcher github :files - ("*.el" "snippets" ".nosearch") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "23bcbcd11f567a2659ae413c62c82892eb50a3f1")) - (company-box :source "lockfile" :date - (26402 1607 527178 0) - :recipe - (:package "company-box" :fetcher github :repo "sebastiencs/company-box" :files - (:defaults "images") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c4f2e243fba03c11e46b1600b124e036f2be7691")) - (copilot :source "lockfile" :date - (26402 1607 517275 0) - :recipe - (:source nil :protocol https :inherit t :depth treeless :host github :repo "copilot-emacs/copilot.el" :files - ("*.el") - :package "copilot" :ref "b5878d6a8c741138b5efbf4fe1c594f3fd69dbdd")) - (gptel :source "lockfile" :date - (26402 1607 506786 0) - :recipe - (:package "gptel" :repo "karthink/gptel" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "3cb6d5a193a78820a1dd1377a82f364ae066b959")) - (elysium :source "lockfile" :date - (26402 1607 495268 0) - :recipe - (:package "elysium" :fetcher github :repo "lanceberge/elysium" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "622fe74aaa70a7e4e42bd74a3cfd78e242360bbf")) - (flycheck :source "lockfile" :date - (26402 1607 485155 0) - :recipe - (:package "flycheck" :repo "flycheck/flycheck" :fetcher github :files + (:package "json-snatcher" :fetcher github :repo "Sterlingg/json-snatcher" :files ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "5217e0e02f487d70e3d418e5e6ce884fc9711511")) - (flyspell-correct :source "lockfile" :date - (26402 1607 475219 0) - :recipe - (:package "flyspell-correct" :repo "d12frosted/flyspell-correct" :fetcher github :files - ("flyspell-correct.el" "flyspell-correct-ido.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1e7a5a56362dd875dddf848b9a9e25d1395b9d37")) - (deft :source "lockfile" :date - (26402 1607 465417 0) - :recipe - (:package "deft" :repo "jrblevin/deft" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b369d7225d86551882568788a23c5497b232509c")) - (lsp-ui :source "lockfile" :date - (26402 1607 455554 0) - :recipe - (:package "lsp-ui" :repo "emacs-lsp/lsp-ui" :fetcher github :files - (:defaults "lsp-ui-doc.html" "resources") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "072bb29152038518c2478813b82c8d04d07df84c")) - (dap-mode :source "lockfile" :date - (26402 1607 445623 0) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b28d1c0670636da6db508d03872d96ffddbc10f2"))) + (groovy-mode + (:source #1# :date + (26529 46568 712245 0) :recipe - (:package "dap-mode" :repo "emacs-lsp/dap-mode" :fetcher github :files - (:defaults "icons") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "496dd3a60f71a396df7e9a5ff6c500127d00ec03")) - (dashboard :source "lockfile" :date - (26402 1607 435847 0) - :recipe - (:package "dashboard" :fetcher github :repo "emacs-dashboard/emacs-dashboard" :files - (:defaults "banners") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "946b9957470a3cac6b089bdf2d9edd07a29fcc9c")) - (magit :source "lockfile" :date - (26402 1607 426063 0) - :recipe - (:package "magit" :fetcher github :repo "magit/magit" :files - ("lisp/magit*.el" "lisp/git-*.el" "docs/magit.texi" "docs/AUTHORS.md" "LICENSE" "magit-pkg.el" - (:exclude "lisp/magit-section.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f2a61334430291d2162a68138c95ab310a8557f1")) - (vundo :source "lockfile" :date - (26402 1607 416091 0) - :recipe - (:package "vundo" :repo - ("https://github.com/casouri/vundo" . "vundo") - :files - ("*" - (:exclude ".git" "test")) - :source "GNU-devel ELPA" :protocol https :inherit t :depth treeless :ref "ca590c571546eb1d38c855216db11d28135892f2")) - (speed-type :source "lockfile" :date - (26402 1607 406168 0) - :recipe - (:package "speed-type" :fetcher github :repo "dakra/speed-type" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b982ee6081a11837760eeaed73c4f413eefb07b1")) - (spaceline :source "lockfile" :date - (26402 1607 396239 0) - :recipe - (:package "spaceline" :fetcher github :repo "TheBB/spaceline" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "086420d16e526c79b67fc1edec4c2ae1e699f372")) - (base16-theme :source "lockfile" :date - (26402 1607 386261 0) - :recipe - (:package "base16-theme" :repo "tinted-theming/base16-emacs" :fetcher github :files - (:defaults "build/*.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "077726249216bef6d98d0542eb6289641a58e8d0")) - (clojure-mode :source "lockfile" :date - (26402 1607 376080 0) - :recipe - (:package "clojure-mode" :repo "clojure-emacs/clojure-mode" :fetcher github :files - ("clojure-mode.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "59888c84b61081e9b0085e388f55132925a66e7a")) - (cider :source "lockfile" :date - (26402 1607 366108 0) - :recipe - (:package "cider" :fetcher github :repo "clojure-emacs/cider" :files - ("lisp/*.el" "bin/*.sh" "*.el" "clojure.sh" "lein.sh" - (:exclude ".dir-locals.el")) - :old-names - (nrepl) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b051c4298816fdb70f3d301f0840379e28eca63")) - (clj-refactor :source "lockfile" :date - (26402 1607 356365 0) - :recipe - (:package "clj-refactor" :fetcher github :repo "clojure-emacs/clj-refactor.el" :files - (:defaults "CHANGELOG.md") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "dc1bbc8cdaa723bdbb6669ea7d280625c370755d")) - (dart-mode :source "lockfile" :date - (26402 1607 346190 0) - :recipe - (:package "dart-mode" :fetcher github :repo "emacsorphanage/dart-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "02e919c1cf200b4938139c18068577faff1fb364")) - (lsp-dart :source "lockfile" :date - (26402 1607 336342 0) - :recipe - (:package "lsp-dart" :repo "emacs-lsp/lsp-dart" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "9ffbafb7dcea3ef3d9e29bafb51d5167f0585d2c")) - (dhall-mode :source "lockfile" :date - (26402 1607 325799 0) - :recipe - (:package "dhall-mode" :repo "psibi/dhall-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "87ab69fe765d87b3bb1604a306a8c44d6887681d")) - (lispy :source "lockfile" :date - (26402 1607 315824 0) - :recipe - (:package "lispy" :repo "abo-abo/lispy" :fetcher github :files - (:defaults "lispy-clojure.clj" "lispy-clojure.cljs" "lispy-python.py") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fe44efd21573868638ca86fc8313241148fabbe3")) - (elixir-mode :source "lockfile" :date - (26402 1607 305813 0) - :recipe - (:package "elixir-mode" :fetcher github :repo "elixir-editors/emacs-elixir" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "00d6580a040a750e019218f9392cf9a4c2dac23a")) - (elixir-ts-mode :source "lockfile" :date - (26402 1607 295420 0) - :recipe - (:package "elixir-ts-mode" :repo "wkirschbaum/elixir-ts-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b35c983f551ccf821ebebad50747b5b417133e52")) - (erlang :source "lockfile" :date - (26402 1607 285519 0) - :recipe - (:package "erlang" :fetcher github :repo "erlang/otp" :version-regexp "OTP-%v" :files - ("lib/tools/emacs/*.el" - (:exclude "lib/tools/emacs/erlang_appwiz.el")) - :source "MELPA" :protocol https :inherit t :depth 1 :ref "4f141f41a0ed76a023d56974fba1082480d30887")) - (fsharp-mode :source "lockfile" :date - (26402 1607 275275 0) - :recipe - (:package "fsharp-mode" :fetcher github :repo "fsharp/emacs-fsharp-mode" :files - (:defaults - (:exclude "eglot-fsharp.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "677d78c4d6cb574086408082dedbcaef04a85359")) - (gleam-ts-mode :source "lockfile" :date - (26402 1607 265245 0) - :recipe - (:package "gleam-ts-mode" :fetcher github :repo "gleam-lang/gleam-mode" :files - ("gleam-ts-mode.el") - :source "MELPA" :protocol https :inherit t :depth treeless :type git :host github :ref "d00f37d0b47f5d6810aa295af98c40a7708b4305")) - (go-mode :source "lockfile" :date - (26402 1607 255208 0) - :recipe - (:package "go-mode" :repo "dominikh/go-mode.el" :fetcher github :files - ("go-mode.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "602d73e22646b1b98b2eb97927fd426c0d1d2f92")) - (haskell-mode :source "lockfile" :date - (26402 1607 244954 0) - :recipe - (:package "haskell-mode" :repo "haskell/haskell-mode" :fetcher github :files - (:defaults "NEWS" "logo.svg") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7d4529ac4443d70719638806cb80325a418110b9")) - (lsp-haskell :source "lockfile" :date - (26402 1607 235042 0) - :recipe - (:package "lsp-haskell" :repo "emacs-lsp/lsp-haskell" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "6981f8d1225c038c1a130e8cf70530cfe15f976e")) - (js2-mode :source "lockfile" :date - (26402 1607 224827 0) - :recipe - (:package "js2-mode" :repo "mooz/js2-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "62d6cb169ed4cb6d7ae3ddbd8da9c995fed0ab32")) - (typescript-mode :source "lockfile" :date - (26402 1607 214184 0) - :recipe - (:package "typescript-mode" :fetcher github :repo "emacs-typescript/typescript.el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fc3a4f3b275e8cf6cf41aa0c9ef42e25ef908feb")) - (kotlin-mode :source "lockfile" :date - (26402 1607 204410 0) - :recipe - (:package "kotlin-mode" :repo "Emacs-Kotlin-Mode-Maintainers/kotlin-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fddd747e5b4736e8b27a147960f369b86179ddff")) - (gradle-mode :source "lockfile" :date - (26402 1607 194485 0) - :recipe - (:package "gradle-mode" :fetcher github :repo "scubacabra/emacs-gradle-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "e4d665d5784ecda7ddfba015f07c69be3cfc45f2")) - (lean4-mode :source "lockfile" :date - (26402 1607 184266 0) - :recipe - (:source nil :protocol https :inherit t :depth treeless :type git :host github :repo "leanprover/lean4-mode" :files - ("*.el" "data") - :package "lean4-mode" :ref "004ad0e60b85fb4eac74a5523ee3e648fd5cfce5")) - (merlin :source "lockfile" :date - (26402 1607 174070 0) - :recipe - (:package "merlin" :fetcher github :repo "ocaml/merlin" :files - ("emacs/*.el" - (:exclude "emacs/merlin-ac.el" "emacs/merlin-company.el" "emacs/merlin-iedit.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a36f42a5b181d0c9cc84174e8eb241b11eeabc0f")) - (opam-switch-mode :source "lockfile" :date - (26402 1607 163795 0) - :recipe - (:package "opam-switch-mode" :fetcher github :repo "ProofGeneral/opam-switch-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1069e56a662f23ea09d4e05611bdedeb99257012")) - (dune :source "lockfile" :date - (26402 1607 153742 0) - :recipe - (:package "dune" :fetcher github :repo "ocaml/dune" :files - ("editor-integration/emacs/*.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "d27724b4f0ee27607f78be39191cb9cda0306645")) - (tuareg :source "lockfile" :date - (26402 1607 142633 0) - :recipe - (:package "tuareg" :fetcher github :repo "ocaml/tuareg" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1d53723e39f22ab4ab76d31f2b188a2879305092")) - (dockerfile-mode :source "lockfile" :date - (26402 1607 132527 0) - :recipe - (:package "dockerfile-mode" :fetcher github :repo "spotify/dockerfile-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "4d893bd2da15833ce056332e6c972d5d93e78f04")) - (docker :source "lockfile" :date - (26402 1607 122262 0) - :recipe - (:package "docker" :fetcher github :repo "Silex/docker.el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "6f8bba0d11a5143872dfc25afdabe16cae410d11")) - (terraform-mode :source "lockfile" :date - (26402 1607 111891 0) - :recipe - (:package "terraform-mode" :repo "hcl-emacs/terraform-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "abfc10f5e313c4bb99de136a14636e9bc6df74f6")) - (ansible :source "lockfile" :date - (26402 1607 101523 0) - :recipe - (:package "ansible" :fetcher gitlab :repo "emacs-ansible/emacs-ansible" :files - (:defaults "snippets" "dict") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "e171dacc12eeaba5dbd7fd887f94d11b357fe958")) - (nginx-mode :source "lockfile" :date - (26402 1607 91212 0) - :recipe - (:package "nginx-mode" :fetcher github :repo "ajc/nginx-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c4ac5de975d65c84893a130a470af32a48b0b66c")) - (jenkinsfile-mode :source "lockfile" :date - (26402 1607 79942 0) - :recipe - (:package "jenkinsfile-mode" :repo "https://github.com/john2x/jenkinsfile-mode.git" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :branch "master" :ref "568865ee419e0592de0dd0717d6769a66d9df111")) - (lua-mode :source "lockfile" :date - (26402 1607 68754 0) - :recipe - (:package "lua-mode" :repo "immerrr/lua-mode" :fetcher github :files - (:defaults - (:exclude "init-tryout.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "d074e4134b1beae9ed4c9b512af741ca0d852ba3")) - (graphql-mode :source "lockfile" :date - (26402 1607 57149 0) - :recipe - (:package "graphql-mode" :repo "davazp/graphql-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c3baca92809e6f6c8dd2596a413b277f3b0160ea")) - (yaml-mode :source "lockfile" :date - (26402 1607 45835 0) - :recipe - (:package "yaml-mode" :repo "yoshiki/yaml-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "d91f878729312a6beed77e6637c60497c5786efa")) - (json-mode :source "lockfile" :date - (26402 1607 34114 0) - :recipe - (:package "json-mode" :fetcher github :repo "json-emacs/json-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "77125b01c0ddce537085201098bea9b4b8ba6be3")) - (git-modes :source "lockfile" :date - (26402 1607 22718 0) - :recipe - (:package "git-modes" :fetcher github :repo "magit/git-modes" :old-names - (gitattributes-mode gitconfig-mode gitignore-mode) - :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f99010bbeb8b6d8a0819fac0195a2ef0159d08f0")) - (php-mode :source "lockfile" :date - (26402 1607 12985 0) - :recipe - (:package "php-mode" :repo "emacs-php/php-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "31f702ee2de35d514fb633c0c37531cb648bff70")) - (purescript-mode :source "lockfile" :date - (26402 1607 3611 0) - :recipe - (:package "purescript-mode" :repo "purescript-emacs/purescript-mode" :fetcher github :files - (:defaults "NEWS" "snippets") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "d187b3d4bbb4d9cb36a4c6c55f35d63d159a26e8")) - (rspec-mode :source "lockfile" :date - (26402 1606 985659 0) - :recipe - (:package "rspec-mode" :repo "pezra/rspec-mode" :fetcher github :files - ("rspec-mode.el" "snippets") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "29df3d081c6a1cbdf840cd13d45ea1c100c5bbaa")) - (ruby-end :source "lockfile" :date - (26402 1606 974076 0) - :recipe - (:package "ruby-end" :repo "rejeep/ruby-end.el" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "ba7d7230f9e3ed75c9982d32bb9fdff1dc10935d")) - (rbs-mode :source "lockfile" :date - (26402 1606 962863 0) - :recipe - (:package "rbs-mode" :fetcher github :repo "ybiquitous/rbs-mode" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "21ec7718a2b3149c13464e182fd4e1cf64bff277")) - (rust-mode :source "lockfile" :date - (26402 1606 951901 0) - :recipe - (:package "rust-mode" :repo "rust-lang/rust-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "3bd0863f28414e629ca15ad2852a429a126226c5")) - (flycheck-rust :source "lockfile" :date - (26402 1606 940752 0) - :recipe - (:package "flycheck-rust" :repo "flycheck/flycheck-rust" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "e7692cded99999d2dc3d3df5d977dcdeb1c179fb")) - (fish-mode :source "lockfile" :date - (26402 1606 930053 0) - :recipe - (:package "fish-mode" :fetcher github :repo "wwwjfy/emacs-fish" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2526b1803b58cf145bc70ff6ce2adb3f6c246f89")) - (web-mode :source "lockfile" :date - (26402 1606 920060 0) - :recipe - (:package "web-mode" :repo "fxbois/web-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "0c83581d1e93d1d802c730a1d5e90cd1c740e1b2")) - (zig-mode :source "lockfile" :date - (26402 1606 908555 0) - :recipe - (:package "zig-mode" :repo "ziglang/zig-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f55e42536a3f34b81198b856595dc3a61867aa3e")) - (ace-window :source "lockfile" :date - (26402 1606 897741 0) - :recipe - (:package "ace-window" :repo "abo-abo/ace-window" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "77115afc1b0b9f633084cf7479c767988106c196")) - (pfuture :source "lockfile" :date - (26402 1606 887399 0) - :recipe - (:package "pfuture" :repo "Alexander-Miller/pfuture" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "19b53aebbc0f2da31de6326c495038901bffb73c")) - (hydra :source "lockfile" :date - (26402 1606 877261 0) - :recipe - (:package "hydra" :repo "abo-abo/hydra" :fetcher github :files - (:defaults - (:exclude "lv.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "317e1de33086637579a7aeb60f77ed0405bf359b")) - (cfrs :source "lockfile" :date - (26402 1606 866491 0) - :recipe - (:package "cfrs" :repo "Alexander-Miller/cfrs" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121")) - (posframe :source "lockfile" :date - (26402 1606 855692 0) - :recipe - (:package "posframe" :fetcher github :repo "tumashu/posframe" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "ac9f954ac4c546e68daf403f2ab2b5ad4397f26e")) - (all-the-icons :source "lockfile" :date - (26402 1606 845055 0) - :recipe - (:package "all-the-icons" :repo "domtronn/all-the-icons.el" :fetcher github :files - (:defaults "data") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "39ef44f810c34e8900978788467cc675870bcd19")) - (tree-sitter :source "lockfile" :date - (26402 1606 834552 0) - :recipe - (:package "tree-sitter" :repo "emacs-tree-sitter/elisp-tree-sitter" :fetcher github :branch "release" :files - (:defaults - (:exclude "lisp/tree-sitter-tests.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "3cfab8a0e945db9b3df84437f27945746a43cc71")) - (tsc :source "lockfile" :date - (26402 1606 823089 0) - :recipe - (:package "tsc" :fetcher github :repo "emacs-tree-sitter/elisp-tree-sitter" :branch "release" :files - ("core/*.el" "core/Cargo.toml" "core/Cargo.lock" "core/src") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "3cfab8a0e945db9b3df84437f27945746a43cc71")) - (elisp-refs :source "lockfile" :date - (26402 1606 806529 0) - :recipe - (:package "elisp-refs" :repo "Wilfred/elisp-refs" :fetcher github :files - (:defaults - (:exclude "elisp-refs-bench.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "541a064c3ce27867872cf708354a65d83baf2a6d")) - (visual-regexp :source "lockfile" :date - (26402 1606 795494 0) - :recipe - (:package "visual-regexp" :repo "benma/visual-regexp.el" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "48457d42a5e0fe10fa3a9c15854f1f127ade09b5")) - (frame-local :source "lockfile" :date - (26402 1606 784831 0) - :recipe - (:package "frame-local" :fetcher github :repo "sebastiencs/frame-local" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7ee1106c3bcd4022f48421f8cb1ef4f995da816e")) - (editorconfig :source "lockfile" :date - (26402 1606 774189 0) - :recipe - (:package "editorconfig" :fetcher github :repo "editorconfig/editorconfig-emacs" :old-names - (editorconfig-core editorconfig-fnmatch) - :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "24f5b2b1cd4e37adc245fb59f7edeb6872a707a4")) - (bui :source "lockfile" :date - (26402 1606 763487 0) - :recipe - (:package "bui" :repo "alezost/bui.el" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a137628e112a91910fd33c0cff0948fa58d470")) - (lsp-treemacs :source "lockfile" :date - (26402 1606 752868 0) - :recipe - (:package "lsp-treemacs" :repo "emacs-lsp/lsp-treemacs" :fetcher github :files - (:defaults "icons") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fb1a07ae0a3d781dea8ac78da2933e0173eb48a4")) - (lsp-docker :source "lockfile" :date - (26402 1606 741908 0) - :recipe - (:package "lsp-docker" :repo "emacs-lsp/lsp-docker" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "ce291d0f80533f8eaca120eb745d55669e062636")) - (yaml :source "lockfile" :date - (26402 1606 730796 0) - :recipe - (:package "yaml" :repo "zkry/yaml.el" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "70c4fcead97e9bd6594e418c922ae769818f4245")) - (magit-section :source "lockfile" :date - (26402 1606 719625 0) - :recipe - (:package "magit-section" :fetcher github :repo "magit/magit" :files - ("lisp/magit-section.el" "docs/magit-section.texi" "magit-section-pkg.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f2a61334430291d2162a68138c95ab310a8557f1")) - (with-editor :source "lockfile" :date - (26402 1606 708982 0) - :recipe - (:package "with-editor" :fetcher github :repo "magit/with-editor" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "77cb2403158cfea9d8bfb8adad81b84d1d6d7c6a")) - (powerline :source "lockfile" :date - (26402 1606 697040 0) - :recipe - (:package "powerline" :fetcher github :repo "milkypostman/powerline" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c35c35bdf5ce2d992882c1f06f0f078058870d4a")) - (parseedn :source "lockfile" :date - (26402 1606 686191 0) - :recipe - (:package "parseedn" :repo "clojure-emacs/parseedn" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "3407e4530a367b6c2b857dae261cdbb67a440aaa")) - (queue :source "lockfile" :date - (26402 1606 674933 0) - :recipe - (:package "queue" :repo - ("git://git.sv.gnu.org/emacs/elpa" . "queue") - :branch "externals/queue" :files - ("*" - (:exclude ".git")) - :source "GNU-devel ELPA" :protocol https :inherit t :depth treeless :ref "f986fb68e75bdae951efb9e11a3012ab6bd408ee")) - (sesman :source "lockfile" :date - (26402 1606 662455 0) - :recipe - (:package "sesman" :repo "vspinu/sesman" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022")) - (parseclj :source "lockfile" :date - (26402 1606 652263 0) - :recipe - (:package "parseclj" :repo "clojure-emacs/parseclj" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "6af22372e0fe14df882dd300b22b12ba2d7e00b0")) - (paredit :source "lockfile" :date - (26402 1606 637684 0) - :recipe - (:package "paredit" :fetcher git :url "https://mumble.net/~campbell/git/paredit.git" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "037b9b8acbca75151f133b6c0f7f3ff97d9042e5")) - (multiple-cursors :source "lockfile" :date - (26402 1606 621113 0) - :recipe - (:package "multiple-cursors" :fetcher github :repo "magnars/multiple-cursors.el" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c870c18462461df19382ecd2f9374c8b902cd804")) - (inflections :source "lockfile" :date - (26402 1606 610877 0) - :recipe - (:package "inflections" :repo "eschulte/jump.el" :fetcher github :files - ("inflections.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "55caa66a7cc6e0b1a76143fd40eff38416928941")) - (reformatter :source "lockfile" :date - (26402 1606 600910 0) - :recipe - (:package "reformatter" :repo "purcell/emacs-reformatter" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f13f5b4ce51db95ea317d57a83be0358bbf3ec30")) - (iedit :source "lockfile" :date - (26402 1606 590187 0) - :recipe - (:package "iedit" :repo "victorhge/iedit" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "27c61866b1b9b8d77629ac702e5f48e67dfe0d3b")) - (swiper :source "lockfile" :date - (26402 1606 579830 0) - :recipe - (:package "swiper" :repo "abo-abo/swiper" :fetcher github :files - ("swiper.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "8dc02d5b725f78d1f80904807b46f5406f129674")) - (zoutline :source "lockfile" :date - (26402 1606 569790 0) - :recipe - (:package "zoutline" :repo "abo-abo/zoutline" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "32857c6c4b9b0bcbed14d825a10b91a98d5fed0a")) - (ivy :source "lockfile" :date - (26402 1606 559030 0) - :recipe - (:package "ivy" :repo "abo-abo/swiper" :fetcher github :files - (:defaults "doc/ivy-help.org" - (:exclude "swiper.el" "counsel.el" "ivy-hydra.el" "ivy-avy.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "8dc02d5b725f78d1f80904807b46f5406f129674")) - (heex-ts-mode :source "lockfile" :date - (26402 1606 548629 0) - :recipe - (:package "heex-ts-mode" :repo "wkirschbaum/heex-ts-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "90142df2929956536dc1eaae3bb5ca04dc4232ab")) - (caml :source "lockfile" :date - (26402 1606 538242 0) - :recipe - (:package "caml" :repo "ocaml/caml-mode" :fetcher github :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "47defafa2b08fb680e89bfee9cb9ce82bd9e3bcf")) - (aio :source "lockfile" :date - (26402 1606 527885 0) - :recipe - (:package "aio" :fetcher github :repo "skeeto/emacs-aio" :files - ("aio.el" "README.md" "UNLICENSE") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "da93523e235529fa97d6f251319d9e1d6fc24a41")) - (tablist :source "lockfile" :date - (26402 1606 517745 0) - :recipe - (:package "tablist" :fetcher github :repo "emacsorphanage/tablist" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fcd37147121fabdf003a70279cf86fbe08cfac6f")) - (hcl-mode :source "lockfile" :date - (26402 1606 507807 0) + (:package "groovy-mode" :fetcher github :repo "Groovy-Emacs-Modes/groovy-emacs-modes" :files + ("*groovy*.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb"))) + (hcl-mode + (:source #1# :date + (26529 46568 725203 0) :recipe (:package "hcl-mode" :repo "hcl-emacs/hcl-mode" :fetcher github :files ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1da895ed75d28d9f87cbf9b74f075d90ba31c0ed")) - (groovy-mode :source "lockfile" :date - (26402 1606 497676 0) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1da895ed75d28d9f87cbf9b74f075d90ba31c0ed"))) + (tablist + (:source #1# :date + (26529 46568 735372 0) + :recipe + (:package "tablist" :fetcher github :repo "emacsorphanage/tablist" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fcd37147121fabdf003a70279cf86fbe08cfac6f"))) + (aio + (:source #1# :date + (26529 46568 744811 0) + :recipe + (:package "aio" :fetcher github :repo "skeeto/emacs-aio" :files + ("aio.el" "README.md" "UNLICENSE") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "da93523e235529fa97d6f251319d9e1d6fc24a41"))) + (caml + (:source #1# :date + (26529 46568 753895 0) + :recipe + (:package "caml" :repo "ocaml/caml-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "47defafa2b08fb680e89bfee9cb9ce82bd9e3bcf"))) + (heex-ts-mode + (:source #1# :date + (26529 46568 762622 0) + :recipe + (:package "heex-ts-mode" :repo "wkirschbaum/heex-ts-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "dafed72c254c226cdd28528ac70965ef8efa04ca"))) + (ivy + (:source #1# :date + (26529 46568 770945 0) + :recipe + (:package "ivy" :repo "abo-abo/swiper" :fetcher github :files + (:defaults "doc/ivy-help.org" + (:exclude "swiper.el" "counsel.el" "ivy-hydra.el" "ivy-avy.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "abb9e1e5649bcd078a2a75bcb27abb42311b4f86"))) + (zoutline + (:source #1# :date + (26529 46568 778907 0) + :recipe + (:package "zoutline" :repo "abo-abo/zoutline" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "32857c6c4b9b0bcbed14d825a10b91a98d5fed0a"))) + (swiper + (:source #1# :date + (26529 46568 787372 0) + :recipe + (:package "swiper" :repo "abo-abo/swiper" :fetcher github :files + ("swiper.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "abb9e1e5649bcd078a2a75bcb27abb42311b4f86"))) + (iedit + (:source #1# :date + (26529 46568 795294 0) + :recipe + (:package "iedit" :repo "victorhge/iedit" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "27c61866b1b9b8d77629ac702e5f48e67dfe0d3b"))) + (reformatter + (:source #1# :date + (26529 46568 803513 0) + :recipe + (:package "reformatter" :repo "purcell/emacs-reformatter" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f2cb59466b1c3f85a8c960f7d4b7b7ead015bedc"))) + (inflections + (:source #1# :date + (26529 46568 811840 0) + :recipe + (:package "inflections" :repo "eschulte/jump.el" :fetcher github :files + ("inflections.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "55caa66a7cc6e0b1a76143fd40eff38416928941"))) + (multiple-cursors + (:source #1# :date + (26529 46568 820420 0) + :recipe + (:package "multiple-cursors" :fetcher github :repo "magnars/multiple-cursors.el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "dd10cf2334333838e4550f091a75695448e26765"))) + (paredit + (:source #1# :date + (26529 46568 828771 0) + :recipe + (:package "paredit" :fetcher git :url "https://mumble.net/~campbell/git/paredit.git" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "af075775af91f2dbc63b915d762b4aec092946c4"))) + (parseclj + (:source #1# :date + (26529 46568 837131 0) + :recipe + (:package "parseclj" :repo "clojure-emacs/parseclj" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "6af22372e0fe14df882dd300b22b12ba2d7e00b0"))) + (sesman + (:source #1# :date + (26529 46568 845428 0) + :recipe + (:package "sesman" :repo "vspinu/sesman" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022"))) + (queue + (:source #1# :date + (26529 46568 853719 0) + :recipe + (:package "queue" :repo + ("git://git.sv.gnu.org/emacs/elpa" . "queue") + :branch "externals/queue" :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f986fb68e75bdae951efb9e11a3012ab6bd408ee"))) + (parseedn + (:source #1# :date + (26529 46568 862204 0) + :recipe + (:package "parseedn" :repo "clojure-emacs/parseedn" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "3407e4530a367b6c2b857dae261cdbb67a440aaa"))) + (powerline + (:source #1# :date + (26529 46568 870631 0) + :recipe + (:package "powerline" :fetcher github :repo "milkypostman/powerline" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c35c35bdf5ce2d992882c1f06f0f078058870d4a"))) + (yaml + (:source #1# :date + (26529 46568 878851 0) + :recipe + (:package "yaml" :repo "zkry/yaml.el" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "cd3edfc02cb12514426c00e07160b87bd8340f4a"))) + (lsp-docker + (:source #1# :date + (26529 46568 887144 0) + :recipe + (:package "lsp-docker" :repo "emacs-lsp/lsp-docker" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "ce291d0f80533f8eaca120eb745d55669e062636"))) + (lsp-treemacs + (:source #1# :date + (26529 46568 895702 0) + :recipe + (:package "lsp-treemacs" :repo "emacs-lsp/lsp-treemacs" :fetcher github :files + (:defaults "icons") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fb1a07ae0a3d781dea8ac78da2933e0173eb48a4"))) + (bui + (:source #1# :date + (26529 46568 906122 0) + :recipe + (:package "bui" :repo "alezost/bui.el" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a137628e112a91910fd33c0cff0948fa58d470"))) + (spinner + (:source #1# :date + (26529 46568 914705 0) + :recipe + (:package "spinner" :repo + ("https://github.com/Malabarba/spinner.el" . "spinner") + :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "d4647ae87fb0cd24bc9081a3d287c860ff061c21"))) + (flycheck + (:source #1# :date + (26529 46568 923110 0) + :recipe + (:package "flycheck" :repo "flycheck/flycheck" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "af1e8ca7257298dd6c51ed4424c09283b4fedb7a"))) + (with-editor + (:source #1# :date + (26529 46568 931514 0) + :recipe + (:package "with-editor" :fetcher github :repo "magit/with-editor" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "ca902ae02972bdd6919a902be2593d8cb6bd991b"))) + (magit-section + (:source #1# :date + (26529 46568 939703 0) + :recipe + (:package "magit-section" :fetcher github :repo "magit/magit" :files + ("lisp/magit-section.el" "docs/magit-section.texi" "magit-section-pkg.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "e959ab1057016fd1759b9b4a930eca8aa71828ef"))) + (llama + (:source #1# :date + (26529 46568 947721 0) + :recipe + (:package "llama" :fetcher github :repo "tarsius/llama" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "9802c215a3eea748d9d7f81a1465850388006897"))) + (editorconfig + (:source #1# :date + (26529 46568 956106 0) + :recipe + (:package "editorconfig" :fetcher github :repo "editorconfig/editorconfig-emacs" :old-names + (editorconfig-core editorconfig-fnmatch) + :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "24f5b2b1cd4e37adc245fb59f7edeb6872a707a4"))) + (nerd-icons + (:source #1# :date + (26529 46568 964319 0) + :recipe + (:package "nerd-icons" :repo "rainstormstudio/nerd-icons.el" :fetcher github :files + (:defaults "data") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "546ee20caf825e65da4c5435d31f13d269ed2a81"))) + (popon + (:source #1# :date + (26529 46568 972747 0) + :recipe + (:package "popon" :repo + ("https://codeberg.org/akib/emacs-popon" . "popon") + :files + ("*" + (:exclude ".git")) + :source "NonGNU ELPA" :protocol https :inherit t :depth treeless :ref "bf8174cb7e6e8fe0fe91afe6b01b6562c4dc39da"))) + (visual-regexp + (:source #1# :date + (26529 46568 980992 0) + :recipe + (:package "visual-regexp" :repo "benma/visual-regexp.el" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "48457d42a5e0fe10fa3a9c15854f1f127ade09b5"))) + (diminish + (:source #1# :date + (26529 46568 989164 0) + :recipe + (:package "diminish" :fetcher github :repo "myrjola/diminish.el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fbd5d846611bad828e336b25d2e131d1bc06b83d"))) + (zig-mode + (:source #1# :date + (26529 46568 997353 0) + :recipe + (:package "zig-mode" :repo "ziglang/zig-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f0b4a487530146f99230f4a5ff67e8d56c8f3f80"))) + (web-mode + (:source #1# :date + (26529 46569 5848 0) + :recipe + (:package "web-mode" :repo "fxbois/web-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "be2d59c8fa02b1a45ae54ce4079e502e659cefe6"))) + (fish-mode + (:source #1# :date + (26529 46569 14479 0) + :recipe + (:package "fish-mode" :fetcher github :repo "wwwjfy/emacs-fish" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2526b1803b58cf145bc70ff6ce2adb3f6c246f89"))) + (flycheck-rust + (:source #1# :date + (26529 46569 22788 0) + :recipe + (:package "flycheck-rust" :repo "flycheck/flycheck-rust" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "d499471ec433a62898a95ce76561964e3d015ce5"))) + (rustic + (:source #1# :date + (26529 46569 30925 0) + :recipe + (:package "rustic" :repo "emacs-rustic/rustic" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "31ecd5582cd8f54c736a3ee5f0b0ec1f6d128dcf"))) + (rust-mode + (:source #1# :date + (26529 46569 39237 0) + :recipe + (:package "rust-mode" :repo "rust-lang/rust-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "542f1755d8929ca83564322d7030d558f3392fe1"))) + (rbs-mode + (:source #1# :date + (26529 46569 47679 0) + :recipe + (:package "rbs-mode" :fetcher github :repo "ybiquitous/rbs-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1a96b4b0d8e39a6829f3ec7f798c2863a9cce6ec"))) + (ruby-end + (:source #1# :date + (26529 46569 56145 0) + :recipe + (:package "ruby-end" :repo "rejeep/ruby-end.el" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "ba7d7230f9e3ed75c9982d32bb9fdff1dc10935d"))) + (rspec-mode + (:source #1# :date + (26529 46569 64907 0) + :recipe + (:package "rspec-mode" :repo "pezra/rspec-mode" :fetcher github :files + ("rspec-mode.el" "snippets") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "29df3d081c6a1cbdf840cd13d45ea1c100c5bbaa"))) + (purescript-mode + (:source #1# :date + (26529 46569 73375 0) + :recipe + (:package "purescript-mode" :repo "purescript-emacs/purescript-mode" :fetcher github :files + (:defaults "NEWS" "snippets") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "07e4d6ecfe677d595ed3759c912c0b262d886b98"))) + (php-mode + (:source #1# :date + (26529 46569 82024 0) + :recipe + (:package "php-mode" :repo "emacs-php/php-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "0f756a8c0782ebdc00557addc68763305c91ca51"))) + (git-modes + (:source #1# :date + (26529 46569 90671 0) + :recipe + (:package "git-modes" :fetcher github :repo "magit/git-modes" :old-names + (gitattributes-mode gitconfig-mode gitignore-mode) + :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f99010bbeb8b6d8a0819fac0195a2ef0159d08f0"))) + (json-mode + (:source #1# :date + (26529 46569 99447 0) + :recipe + (:package "json-mode" :fetcher github :repo "json-emacs/json-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "77125b01c0ddce537085201098bea9b4b8ba6be3"))) + (yaml-mode + (:source #1# :date + (26529 46569 108023 0) + :recipe + (:package "yaml-mode" :repo "yoshiki/yaml-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "d91f878729312a6beed77e6637c60497c5786efa"))) + (graphql-mode + (:source #1# :date + (26529 46569 117138 0) + :recipe + (:package "graphql-mode" :repo "davazp/graphql-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "ee49531935ede7a2c9597713e13a4c9d33ef2220"))) + (jenkinsfile-mode + (:source #1# :date + (26529 46569 126382 0) + :recipe + (:package "jenkinsfile-mode" :repo "https://github.com/john2x/jenkinsfile-mode.git" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :branch "master" :ref "568865ee419e0592de0dd0717d6769a66d9df111"))) + (nginx-mode + (:source #1# :date + (26529 46569 135127 0) + :recipe + (:package "nginx-mode" :fetcher github :repo "ajc/nginx-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c4ac5de975d65c84893a130a470af32a48b0b66c"))) + (ansible + (:source #1# :date + (26529 46569 144246 0) + :recipe + (:package "ansible" :fetcher gitlab :repo "emacs-ansible/emacs-ansible" :files + (:defaults "snippets" "dict") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "03e285bb54a687e3fd9e21026b088fdac46679a0"))) + (terraform-mode + (:source #1# :date + (26529 46569 153609 0) + :recipe + (:package "terraform-mode" :repo "hcl-emacs/terraform-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "5bdd734a87f67f6574664f63eb4d02a0bc74c0d0"))) + (docker + (:source #1# :date + (26529 46569 162440 0) + :recipe + (:package "docker" :fetcher github :repo "Silex/docker.el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "46b597a711492e1c19d1260951f39372450278f5"))) + (dockerfile-mode + (:source #1# :date + (26529 46569 171230 0) + :recipe + (:package "dockerfile-mode" :fetcher github :repo "spotify/dockerfile-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4d893bd2da15833ce056332e6c972d5d93e78f04"))) + (tuareg + (:source #1# :date + (26529 46569 179769 0) + :recipe + (:package "tuareg" :fetcher github :repo "ocaml/tuareg" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1d53723e39f22ab4ab76d31f2b188a2879305092"))) + (dune + (:source #1# :date + (26529 46569 188344 0) + :recipe + (:package "dune" :fetcher github :repo "ocaml/dune" :files + ("editor-integration/emacs/*.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "417b3a173e656a9b86b84fa77aee0f8b37c476c9"))) + (opam-switch-mode + (:source #1# :date + (26529 46569 196637 0) + :recipe + (:package "opam-switch-mode" :fetcher github :repo "ProofGeneral/opam-switch-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1069e56a662f23ea09d4e05611bdedeb99257012"))) + (merlin + (:source #1# :date + (26529 46569 204771 0) + :recipe + (:package "merlin" :fetcher github :repo "ocaml/merlin" :files + ("emacs/*.el" + (:exclude "emacs/merlin-ac.el" "emacs/merlin-company.el" "emacs/merlin-iedit.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "834821e1af3426524f3959224447dab03485bdc3"))) + (markdown-mode + (:source #1# :date + (26529 46569 213201 0) + :recipe + (:package "markdown-mode" :fetcher github :repo "jrblevin/markdown-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7659bc470d096e7a53285fa246cbabcb07d66a33"))) + (lua-mode + (:source #1# :date + (26529 46569 221764 0) + :recipe + (:package "lua-mode" :repo "immerrr/lua-mode" :fetcher github :files + (:defaults + (:exclude "init-tryout.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "d074e4134b1beae9ed4c9b512af741ca0d852ba3"))) + (lean4-mode + (:source #1# :date + (26529 46569 231017 0) + :recipe + (:source nil :protocol https :inherit t :depth treeless :type git :host github :repo "leanprover/lean4-mode" :files + ("*.el" "data") + :package "lean4-mode" :ref "76895d8939111654a472cfc617cfd43fbf5f1eb6"))) + (gradle-mode + (:source #1# :date + (26529 46569 239947 0) + :recipe + (:package "gradle-mode" :fetcher github :repo "scubacabra/emacs-gradle-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "e4d665d5784ecda7ddfba015f07c69be3cfc45f2"))) + (kotlin-ts-mode + (:source #1# :date + (26529 46569 248642 0) + :recipe + (:package "kotlin-ts-mode" :fetcher gitlab :repo "bricka/emacs-kotlin-ts-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a25d56cecac9160ba7c140f982ec16ca7b2fe97f"))) + (js2-mode + (:source #1# :date + (26529 46569 257276 0) + :recipe + (:package "js2-mode" :repo "mooz/js2-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "e0c302872de4d26a9c1614fac8d6b94112b96307"))) + (lsp-haskell + (:source #1# :date + (26529 46569 265757 0) + :recipe + (:package "lsp-haskell" :repo "emacs-lsp/lsp-haskell" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1d618c62e87e0dd254cb267e7c41a24f2f054296"))) + (haskell-mode + (:source #1# :date + (26529 46569 274117 0) + :recipe + (:package "haskell-mode" :repo "haskell/haskell-mode" :fetcher github :files + (:defaults "NEWS" "logo.svg") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4cec530008ef4054826eb1b55d6b26ae8e2807c0"))) + (go-mode + (:source #1# :date + (26529 46569 282490 0) + :recipe + (:package "go-mode" :repo "dominikh/go-mode.el" :fetcher github :files + ("go-mode.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "602d73e22646b1b98b2eb97927fd426c0d1d2f92"))) + (gleam-ts-mode + (:source #1# :date + (26529 46569 291010 0) + :recipe + (:package "gleam-ts-mode" :fetcher github :repo "gleam-lang/gleam-mode" :files + ("gleam-ts-mode.el") + :source "MELPA" :protocol https :inherit t :depth treeless :type git :host github :ref "d00f37d0b47f5d6810aa295af98c40a7708b4305"))) + (fsharp-mode + (:source #1# :date + (26529 46569 300052 0) + :recipe + (:package "fsharp-mode" :fetcher github :repo "fsharp/emacs-fsharp-mode" :files + (:defaults + (:exclude "eglot-fsharp.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "677d78c4d6cb574086408082dedbcaef04a85359"))) + (erlang + (:source #1# :date + (26529 46569 308606 0) + :recipe + (:package "erlang" :fetcher github :repo "erlang/otp" :version-regexp "OTP-%v" :files + ("lib/tools/emacs/*.el" + (:exclude "lib/tools/emacs/erlang_appwiz.el")) + :source "MELPA" :protocol https :inherit t :depth 1 :ref "befaffade7d8cf5f1d75f336ea7dc15aa2e7cbb9"))) + (elixir-ts-mode + (:source #1# :date + (26529 46569 317091 0) + :recipe + (:package "elixir-ts-mode" :repo "wkirschbaum/elixir-ts-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "143b94f4a5ac1f161c232e3f25b84c6768be2f25"))) + (lispy + (:source #1# :date + (26529 46569 325524 0) + :recipe + (:package "lispy" :repo "abo-abo/lispy" :fetcher github :files + (:defaults "lispy-clojure.clj" "lispy-clojure.cljs" "lispy-python.py") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fe44efd21573868638ca86fc8313241148fabbe3"))) + (dhall-mode + (:source #1# :date + (26529 46569 333938 0) + :recipe + (:package "dhall-mode" :repo "psibi/dhall-mode" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fca383a9c4622c1d9a39dc977572b34c7fa0b719"))) + (lsp-dart + (:source #1# :date + (26529 46569 342483 0) + :recipe + (:package "lsp-dart" :repo "emacs-lsp/lsp-dart" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7e3d3429418bc42cda7fa7b58e6644a705cf2f89"))) + (dart-mode + (:source #1# :date + (26529 46569 350853 0) + :recipe + (:package "dart-mode" :fetcher github :repo "emacsorphanage/dart-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "02e919c1cf200b4938139c18068577faff1fb364"))) + (clj-refactor + (:source #1# :date + (26529 46569 359308 0) + :recipe + (:package "clj-refactor" :fetcher github :repo "clojure-emacs/clj-refactor.el" :files + (:defaults "CHANGELOG.md") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "dc1bbc8cdaa723bdbb6669ea7d280625c370755d"))) + (cider + (:source #1# :date + (26529 46569 367707 0) + :recipe + (:package "cider" :fetcher github :repo "clojure-emacs/cider" :files + ("lisp/*.el" "bin/*.sh" "*.el" "clojure.sh" "lein.sh" + (:exclude ".dir-locals.el")) + :old-names + (nrepl) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "eb78711b7fb0cb89a9eb1b854aabb174b705f7b2"))) + (clojure-mode + (:source #1# :date + (26529 46569 376088 0) + :recipe + (:package "clojure-mode" :repo "clojure-emacs/clojure-mode" :fetcher github :files + ("clojure-mode.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "eabe29b076fff19db552d36d4babaa36ecf0b704"))) + (base16-theme + (:source #1# :date + (26529 46569 384420 0) + :recipe + (:package "base16-theme" :repo "tinted-theming/base16-emacs" :fetcher github :files + (:defaults "build/*.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1d48474c3c07521276f4e7d73317a654997b4381"))) + (spaceline + (:source #1# :date + (26529 46569 392597 0) + :recipe + (:package "spaceline" :fetcher github :repo "TheBB/spaceline" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "086420d16e526c79b67fc1edec4c2ae1e699f372"))) + (speed-type + (:source #1# :date + (26529 46569 400704 0) + :recipe + (:package "speed-type" :fetcher github :repo "dakra/speed-type" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b982ee6081a11837760eeaed73c4f413eefb07b1"))) + (vundo + (:source #1# :date + (26529 46569 409166 0) + :recipe + (:package "vundo" :repo + ("https://github.com/casouri/vundo" . "vundo") + :files + ("*" + (:exclude ".git" "test")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "288892ee93214ddcaf65fdd9f3134c1bd10100ee"))) + (magit + (:source #1# :date + (26529 46569 417577 0) + :recipe + (:package "magit" :fetcher github :repo "magit/magit" :files + ("lisp/magit*.el" "lisp/git-*.el" "docs/magit.texi" "docs/AUTHORS.md" "LICENSE" "magit-pkg.el" + (:exclude "lisp/magit-section.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "e959ab1057016fd1759b9b4a930eca8aa71828ef"))) + (dashboard + (:source #1# :date + (26529 46569 425647 0) + :recipe + (:package "dashboard" :fetcher github :repo "emacs-dashboard/emacs-dashboard" :files + (:defaults "banners") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b7846689845078cb5604508c5075e28e2160efe"))) + (dap-mode + (:source #1# :date + (26529 46569 434377 0) + :recipe + (:package "dap-mode" :repo "emacs-lsp/dap-mode" :fetcher github :files + (:defaults "icons") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2a5524bef1528945311dd8557b18c53d6e95fa3d"))) + (lsp-ui + (:source #1# :date + (26529 46569 442676 0) + :recipe + (:package "lsp-ui" :repo "emacs-lsp/lsp-ui" :fetcher github :files + (:defaults "lsp-ui-doc.html" "resources") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "00e69463b4f27fb54332a0cae5d4f0dc7e39ac7f"))) + (lsp-mode + (:source #1# :date + (26529 46569 451294 0) + :recipe + (:package "lsp-mode" :repo "emacs-lsp/lsp-mode" :fetcher github :files + (:defaults "clients/*.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "230608ad65809806481adab40ecf41d3780e7b8d"))) + (deft + (:source #1# :date + (26529 46569 459580 0) + :recipe + (:package "deft" :repo "jrblevin/deft" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b369d7225d86551882568788a23c5497b232509c"))) + (flyspell-correct + (:source #1# :date + (26529 46569 467832 0) + :recipe + (:package "flyspell-correct" :repo "d12frosted/flyspell-correct" :fetcher github :files + ("flyspell-correct.el" "flyspell-correct-ido.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1e7a5a56362dd875dddf848b9a9e25d1395b9d37"))) + (flymake-flycheck + (:source #1# :date + (26529 46569 476061 0) + :recipe + (:package "flymake-flycheck" :fetcher github :repo "purcell/flymake-flycheck" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "88455c5e6d8ebf650fb51a45c7511a1c18097344"))) + (elysium + (:source #1# :date + (26529 46569 484231 0) + :recipe + (:package "elysium" :fetcher github :repo "lanceberge/elysium" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "98476a2b7165dc31a9e25c4528db70efecf57f1e"))) + (aider + (:source #1# :date + (26529 46569 492326 0) + :recipe + (:source nil :protocol https :inherit t :depth treeless :host github :repo "tninja/aider.el" :files + ("aider.el") + :package "aider" :ref "c0ba38906cd44397d04c09112ea0b1c52c748fca"))) + (gptel + (:source #1# :date + (26529 46569 500390 0) + :recipe + (:package "gptel" :repo "karthink/gptel" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b6dd0b9d79aaad53a4ca756ebe7daff1885df2a9"))) + (copilot + (:source #1# :date + (26529 46569 508580 0) + :recipe + (:package "copilot" :fetcher github :repo "copilot-emacs/copilot.el" :files + ("*.el") + :source "MELPA" :protocol https :inherit t :depth treeless :host github :ref "867a3debf907cbd7c5b0eb8837354a1efc7c2db9"))) + (nerd-icons-corfu + (:source #1# :date + (26529 46569 517079 0) + :recipe + (:package "nerd-icons-corfu" :fetcher github :repo "LuigiPiucco/nerd-icons-corfu" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "41110180ceab9d0edaa856d19633b2b3fdf82e75"))) + (yasnippet-capf + (:source #1# :date + (26529 46569 525441 0) + :recipe + (:package "yasnippet-capf" :fetcher github :repo "elken/yasnippet-capf" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4c2e33d70cd1d95cf1e08d134b058a6dd90a99c9"))) + (cape + (:source #1# :date + (26529 46569 533843 0) + :recipe + (:package "cape" :repo "minad/cape" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "118db73710466ab03708e7511f4bff7827057000"))) + (corfu-terminal + (:source #1# :date + (26529 46569 542138 0) + :recipe + (:package "corfu-terminal" :repo + ("https://codeberg.org/akib/emacs-corfu-terminal" . "corfu-terminal") + :files + ("*" + (:exclude ".git")) + :source "NonGNU ELPA" :protocol https :inherit t :depth treeless :ref "501548c3d51f926c687e8cd838c5865ec45d03cc"))) + (corfu + (:source #1# :date + (26529 46569 550350 0) + :recipe + (:package "corfu" :repo "minad/corfu" :files + (:defaults "extensions/corfu-*.el") + :fetcher github :source "MELPA" :protocol https :inherit t :depth treeless :ref "2c476b442ccfda9935e472b26d9cd60d45726560"))) + (yasnippet-snippets + (:source #1# :date + (26529 46569 558602 0) + :recipe + (:package "yasnippet-snippets" :repo "AndreaCrotti/yasnippet-snippets" :fetcher github :files + ("*.el" "snippets" ".nosearch") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f1907ed38acc479e78d5c113810465e4d77d8604"))) + (yasnippet + (:source #1# :date + (26529 46569 566794 0) + :recipe + (:package "yasnippet" :repo "joaotavora/yasnippet" :fetcher github :files + ("yasnippet.el" "snippets") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "5b315f1753480ebe669b157b8242448b5eafcfea"))) + (apheleia + (:source #1# :date + (26529 46569 575083 0) + :recipe + (:package "apheleia" :fetcher github :repo "radian-software/apheleia" :files + (:defaults + ("scripts" "scripts/formatters")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "814bb47486ac4fc0707f94882d212c599a1ac7ad"))) + (visual-regexp-steroids + (:source #1# :date + (26529 46569 583159 0) + :recipe + (:package "visual-regexp-steroids" :repo "benma/visual-regexp-steroids.el" :fetcher github :files + ("visual-regexp-steroids.el" "regexp.py") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a6420b25ec0fbba43bf57875827092e1196d8a9e"))) + (pcre2el + (:source #1# :date + (26529 46569 591292 0) + :recipe + (:package "pcre2el" :fetcher github :repo "joddie/pcre2el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b4d846d80dddb313042131cf2b8fbf647567e000"))) + (column-enforce-mode + (:source #1# :date + (26529 46569 599323 0) + :recipe + (:package "column-enforce-mode" :fetcher github :repo "jordonbiondo/column-enforce-mode" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "14a7622f2268890e33536ccd29510024d51ee96f"))) + (dash-at-point + (:source #1# :date + (26529 46569 607502 0) + :recipe + (:package "dash-at-point" :fetcher github :repo "stanaka/dash-at-point" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fba1a6f42ea51d05110e12c62bdced664059eb55"))) + (rainbow-mode + (:source #1# :date + (26529 46569 615417 0) + :recipe + (:package "rainbow-mode" :repo + ("git://git.sv.gnu.org/emacs/elpa" . "rainbow-mode") + :branch "externals/rainbow-mode" :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f7db3b5919f70420a91eb199f8663468de3033f3"))) + (rainbow-delimiters + (:source #1# :date + (26529 46569 623689 0) + :recipe + (:package "rainbow-delimiters" :fetcher github :repo "Fanael/rainbow-delimiters" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f40ece58df8b2f0fb6c8576b527755a552a5e763"))) + (elisp-refs + (:source #1# :date + (26529 46569 631587 0) + :recipe + (:package "elisp-refs" :repo "Wilfred/elisp-refs" :fetcher github :files + (:defaults + (:exclude "elisp-refs-bench.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "541a064c3ce27867872cf708354a65d83baf2a6d"))) + (f + (:source #1# :date + (26529 46569 639739 0) + :recipe + (:package "f" :fetcher github :repo "rejeep/f.el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "931b6d0667fe03e7bf1c6c282d6d8d7006143c52"))) + (compat + (:source #1# :date + (26529 46569 647778 0) + :recipe + (:package "compat" :repo + ("https://github.com/emacs-compat/compat" . "compat") + :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "bfc0a46098be2dcaad0518ec200ff5a2be5cc9bb"))) + (tsc + (:source #1# :date + (26529 46569 656012 0) + :recipe + (:package "tsc" :fetcher github :repo "emacs-tree-sitter/elisp-tree-sitter" :branch "release" :files + ("core/*.el" "core/Cargo.toml" "core/Cargo.lock" "core/src") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "3cfab8a0e945db9b3df84437f27945746a43cc71"))) + (tree-sitter + (:source #1# :date + (26529 46569 663820 0) + :recipe + (:package "tree-sitter" :fetcher github :repo "emacs-tree-sitter/elisp-tree-sitter" :branch "release" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "3cfab8a0e945db9b3df84437f27945746a43cc71"))) + (all-the-icons + (:source #1# :date + (26529 46569 671782 0) + :recipe + (:package "all-the-icons" :repo "domtronn/all-the-icons.el" :fetcher github :files + (:defaults "data") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "39ef44f810c34e8900978788467cc675870bcd19"))) + (lv + (:source #1# :date + (26529 46569 680322 0) + :recipe + (:package "lv" :repo "abo-abo/hydra" :fetcher github :files + ("lv.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "317e1de33086637579a7aeb60f77ed0405bf359b"))) + (posframe + (:source #1# :date + (26529 46569 688644 0) + :recipe + (:package "posframe" :fetcher github :repo "tumashu/posframe" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "81651536827c96bf5af5265ee7918ab70e1dd5b1"))) + (cfrs + (:source #1# :date + (26529 46569 697163 0) + :recipe + (:package "cfrs" :repo "Alexander-Miller/cfrs" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121"))) + (ht + (:source #1# :date + (26529 46569 705407 0) + :recipe + (:package "ht" :fetcher github :repo "Wilfred/ht.el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1c49aad1c820c86f7ee35bf9fff8429502f60fef"))) + (hydra + (:source #1# :date + (26529 46569 713433 0) + :recipe + (:package "hydra" :repo "abo-abo/hydra" :fetcher github :files + (:defaults + (:exclude "lv.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "317e1de33086637579a7aeb60f77ed0405bf359b"))) + (pfuture + (:source #1# :date + (26529 46569 721449 0) + :recipe + (:package "pfuture" :repo "Alexander-Miller/pfuture" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "19b53aebbc0f2da31de6326c495038901bffb73c"))) + (ace-window + (:source #1# :date + (26529 46569 729598 0) + :recipe + (:package "ace-window" :repo "abo-abo/ace-window" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "77115afc1b0b9f633084cf7479c767988106c196"))) + (s + (:source #1# :date + (26529 46569 737908 0) + :recipe + (:package "s" :fetcher github :repo "magnars/s.el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "dda84d38fffdaf0c9b12837b504b402af910d01d"))) + (dash + (:source #1# :date + (26529 46569 746066 0) + :recipe + (:package "dash" :fetcher github :repo "magnars/dash.el" :files + ("dash.el" "dash.texi") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1de9dcb83eacfb162b6d9a118a4770b1281bcd84"))) + (transient + (:source #1# :date + (26529 46569 754356 0) + :recipe + (:package "transient" :fetcher github :repo "magit/transient" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :wait t :ref "e5cb1fd7e8d35e264313436f47972acae0819764"))) + (avy + (:source #1# :date + (26529 46569 762819 0) + :recipe + (:package "avy" :repo "abo-abo/avy" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "933d1f36cca0f71e4acb5fac707e9ae26c536264"))) + (helpful + (:source #1# :date + (26529 46569 771455 0) + :recipe + (:package "helpful" :repo "Wilfred/helpful" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "34328c639ed7aad371a3f57209acad2a5bb66401"))) + (consult + (:source #1# :date + (26529 46569 779989 0) + :recipe + (:package "consult" :repo "minad/consult" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "5b0c682d7092e02a0e8e0f047370be8c61ad3b4e"))) + (marginalia + (:source #1# :date + (26529 46569 788590 0) + :recipe + (:package "marginalia" :repo "minad/marginalia" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a527fb03b76a2bce1e360c6e73a095e06922c3f3"))) + (orderless + (:source #1# :date + (26529 46569 797256 0) + :recipe + (:package "orderless" :repo "oantolin/orderless" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c7cb04499d94ee1c17affb29b1cfcd2a45116c97"))) + (vertico + (:source #1# :date + (26529 46569 805502 0) + :recipe + (:package "vertico" :repo "minad/vertico" :files + (:defaults "extensions/vertico-*.el") + :fetcher github :source "MELPA" :protocol https :inherit t :depth treeless :ref "e69ef62ffa4bc42dd42437881c251ecdcae0e0c5"))) + (tree-sitter-langs + (:source #1# :date + (26529 46569 814061 0) + :recipe + (:package "tree-sitter-langs" :repo "emacs-tree-sitter/tree-sitter-langs" :fetcher github :branch "release" :files + (:defaults "queries") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "0b91637e22182f2102903ca7203909f1a0d16d3d"))) + (which-key + (:source #1# :date + (26529 46569 823458 0) + :recipe + (:package "which-key" :repo "justbur/emacs-which-key" :fetcher github :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "38d4308d1143b61e4004b6e7a940686784e51500"))) + (keyfreq + (:source #1# :date + (26529 46569 832044 0) + :recipe + (:package "keyfreq" :fetcher github :repo "dacap/keyfreq" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c6955162307f37c2ac631d9daf118781009f8dda"))) + (treemacs-all-the-icons + (:source #1# :date + (26529 46569 840607 0) + :recipe + (:package "treemacs-all-the-icons" :fetcher github :repo "Alexander-Miller/treemacs" :files + ("src/extra/treemacs-all-the-icons.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "32bb3dd02ddfca85661614b3b227e770fab821e2"))) + (treemacs + (:source #1# :date + (26529 46569 848801 0) + :recipe + (:package "treemacs" :fetcher github :repo "Alexander-Miller/treemacs" :files + (:defaults "Changelog.org" "icons" "src/elisp/treemacs*.el" "src/scripts/treemacs*.py" + (:exclude "src/extra/*")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "32bb3dd02ddfca85661614b3b227e770fab821e2"))) + (direnv + (:source #1# :date + (26529 46569 856982 0) + :recipe + (:package "direnv" :fetcher github :repo "wbolster/emacs-direnv" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c0bf3b81c7a97e2a0d06d05495e86848254fcc1f"))) + (exec-path-from-shell + (:source #1# :date + (26529 46569 865296 0) + :recipe + (:package "exec-path-from-shell" :fetcher github :repo "purcell/exec-path-from-shell" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4896a797252fbfdac32fb77508500ac7d220f717"))) + (gcmh + (:source #1# :date + (26529 46569 874051 0) + :recipe + (:package "gcmh" :repo "koral/gcmh" :fetcher gitlab :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))) + (buffer-move + (:source #1# :date + (26529 46569 882560 0) + :recipe + (:package "buffer-move" :fetcher github :repo "lukhas/buffer-move" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "e7800b3ab1bd76ee475ef35507ec51ecd5a3f065"))) + (easy-kill + (:source #1# :date + (26529 46569 891079 0) + :recipe + (:package "easy-kill" :fetcher github :repo "leoliu/easy-kill" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "de7d66c3c864a4722a973ee9bc228a14be49ba0c"))) + (benchmark-init + (:source #1# :date + (26529 46569 899328 0) + :recipe + (:package "benchmark-init" :fetcher github :repo "dholm/benchmark-init-el" :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :wait t :ref "2b34432d79fa0aae8abc3db72db1cb79a28c00b2"))) + (elpaca-use-package + (:source #1# :date + (26529 46569 907738 0) + :recipe + (:package "elpaca-use-package" :wait t :repo "https://github.com/progfolio/elpaca.git" :files + ("extensions/elpaca-use-package.el") + :main "extensions/elpaca-use-package.el" :build + (:not elpaca--compile-info) + :source "Elpaca extensions" :protocol https :inherit t :depth treeless :ref "722b36c7391cd7fd03400461fc74f26bee917287"))) + (elpaca + (:source #1# :date + (26529 46569 915747 0) :recipe - (:package "groovy-mode" :fetcher github :repo "Groovy-Emacs-Modes/groovy-emacs-modes" :files - ("*groovy*.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb")) - (json-snatcher :source "lockfile" :date - (26402 1606 486749 0) - :recipe - (:package "json-snatcher" :fetcher github :repo "Sterlingg/json-snatcher" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b28d1c0670636da6db508d03872d96ffddbc10f2"))) + (:source nil :protocol https :inherit ignore :depth 1 :repo "https://github.com/progfolio/elpaca.git" :ref "722b36c7391cd7fd03400461fc74f26bee917287" :files + (:defaults "elpaca-test.el" + (:exclude "extensions")) + :build + (:not elpaca--activate-package) + :package "elpaca")))) diff --git a/lisp/icejam-aider.el b/lisp/icejam-aider.el new file mode 100644 index 0000000..596543e --- /dev/null +++ b/lisp/icejam-aider.el @@ -0,0 +1,81 @@ +;;; icejam-aider.el --- summary -*- lexical-binding: t; -*- + +;; Author: Maciej Szlosarczyk +;; Maintainer: Maciej Szlosarczyk +;; Version: 0.1-snapshot + +;;; Commentary: + +;;; Copilot and other GPT stuff + +;;; Code: +(use-package copilot :ensure (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")) + :defer t + ;; It sort of sucks so let's disable it. + ;; :hook ((prog-mode . copilot-mode)) + :bind (:map copilot-completion-map + ([tab] . copilot-accept-completion)) + :config + (add-to-list 'copilot-indentation-alist '(emacs-lisp-mode . 2))) + +;; Enable Anthropic Claude LLM support for chat (it also sucks) +(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key." + :type 'string + :group 'icejam + :initialize 'custom-initialize-set) + +(use-package gptel :ensure t :defer t + :config + (declare-function gptel-make-anthropic "gptel") + (declare-function gptel-make-ollama "gptel") + (gptel-make-ollama "Ollama@Linux" + :host "192.168.88.110:11434" + :stream t + :models '(qwen2.5-coder:7b qwen2.5-coder:14b deepseek-r1:14b deepseek-r1:32b)) + (setq + gptel-model 'claude-3-5-sonnet-20241022 + gptel-backend (gptel-make-anthropic "Claude" + :stream t :key (lambda () anthropic-api-key)))) + +;; Pretend to be 'AI editor' vol 1. Before usage make sure aider is installed: +;; $ pip install aider-install +;; $ aider install +;; (use-package aider :ensure (:host github :repo "tninja/aider.el") +;; :defer t +;; :config +;; ;; (setenv "OLLAMA_API_BASE" "http://127.0.0.1:11434") +;; (setenv "OLLAMA_API_BASE" "http://192.168.88.110:11434") +;; (setopt aider-args (list "--model" +;; "ollama_chat/deepseek-r1:32b" +;; "--no-auto-commits" +;; "--no-analytics" +;; "--no-gitignore"))) + +(use-package aidermacs :ensure (:host github :repo "MatthewZMD/aidermacs") + :defer t + :config + ;; (setenv "OLLAMA_API_BASE" "http://127.0.0.1:11434") + (setenv "OLLAMA_API_BASE" "http://192.168.88.13:11434") + (setopt aidermacs-default-chat-mode 'architect) + (setopt aidermacs-default-model "ollama_chat/qwen3-coder:30b") + (setopt aider-extra-args (list "--model" + "ollama_chat/qwen3-coder:30b" + "--no-auto-commits" + "--no-analytics" + "--no-gitignore"))) + +;; Pretend to be 'AI editor' vol 2. +(use-package elysium :ensure t :defer t + :config + (setopt + ;; The elysium buffer will be 1/3 your screen + elysium-window-size 0.33 + ;; Elysium buffer will be vertical + elysium-window-style 'vertical)) + +;; Merging with SMerge +(use-package smerge-mode :ensure nil + :hook ((prog-mode . smerge-mode))) + +(provide 'icejam-aider) +;;; icejam-aider.el ends here diff --git a/lisp/icejam-avy.el b/lisp/icejam-avy.el index 21dd355..8e844af 100644 --- a/lisp/icejam-avy.el +++ b/lisp/icejam-avy.el @@ -8,11 +8,12 @@ ;; Avy is a navigation manager. -;;; Code: -(require 'icejam-keys-mode) +(eval-when-compile (defvar icejam-keys-mode-map)) +;;; Code: (use-package avy :ensure t :defer t - :custom (avy-timeout-seconds 1 "Wait for 1 second for candidates") + :config + (setopt avy-timeout-seconds 1.0) ;; Wait for 1 second for candidates :bind (:map icejam-keys-mode-map ;; Jump to text in sight with CMD-j ([(hyper j)] . avy-goto-char-timer))) diff --git a/lisp/icejam-base.el b/lisp/icejam-base.el index 5659f00..13de97f 100644 --- a/lisp/icejam-base.el +++ b/lisp/icejam-base.el @@ -9,11 +9,8 @@ ;; pkg/base defines basic packages and environment. ;;; Code: -(require 'icejam-keys-mode) -;;;;;;;; Other optimizations ;;;;;;;;;;;;;;;;; ;;;;;;;; Stolen from Doom Emacs. ;;;;;;;;;;;;; - ;; Update emacs less often (setopt idle-update-delay 1.0) @@ -21,7 +18,8 @@ ;; this to `nil' in the past, but the `bidi-display-reordering's docs say that ;; is an undefined state and suggest this to be just as good: (setq-default bidi-display-reordering 'left-to-right - bidi-paragraph-direction 'left-to-right) + bidi-paragraph-direction 'left-to-right + bidi-inhibit-bpa t) ;; Reduce rendering/line scan work for Emacs by not rendering cursors or regions ;; in non-focused windows. @@ -33,9 +31,13 @@ ;; quickly self-correct. (setopt fast-but-imprecise-scrolling t) +;; Trust local folder +(setopt trusted-content '("~/.emacs.d/" "~/Development/")) + ;;;;;;;;; TRAMP configuration ;;;;;;;;;;;;;;;; -(require 'tramp) -(setopt tramp-default-method "ssh") +(use-package tramp :ensure nil :defer 5 + :config + (setopt tramp-default-method "ssh")) ;;;;;;;;; Emacs bindings ;;;;;;;;;;;;;;;;;;;;; (global-set-key (kbd "RET") 'newline) @@ -48,32 +50,38 @@ (use-package buffer-move :ensure t :defer t) ;; Garbage collection magic hack -(use-package gcmh :ensure t - :custom ((gcmh-verbose nil "Do not log GC messages.") - (gcmh-idle-delay 'auto "Compute GC delay based on gcmh-auto-idle-delay-factor") - (gcmh-auto-idle-delay-factor 10 "Original value was 10")) +(use-package gcmh :ensure t :defer t + :commands (gcmh-mode) + :hook ((elpaca-after-init . (lambda () (gcmh-mode t)))) :config - (gcmh-mode t)) + (setopt gcmh-verbose nil) ;; Do not log GC messages + (setopt gcmh-idle-delay 'auto) ;; Compute GC delay based on gcmh-auto-idle-delay-factor + (setopt gcmh-auto-idle-delay-factor 10) ;; Original value was 10 + (setopt gcmh-high-cons-threshold (* 256 1024 1024))) ;; #====================== Backup config #============================== (setopt backup-directory-alist - `((".*" . "~/.emacs.d/backups/auto-save-list"))) + `((".*" . "~/.emacs.d/backups/auto-save-list"))) (setopt auto-save-file-name-transforms `((".*", "~/.emacs.d/backups/auto-save-list" t))) (setopt backup-by-copying t) (setopt delete-old-versions t - kept-new-versions 6 - kept-old-versions 2 + kept-new-versions 10 + kept-old-versions 5 version-control t) ; Do not create .#foo.file lock files (setopt create-lockfiles nil) ;; Enable line numbers and show cursors position -(add-hook 'prog-mode-hook 'display-line-numbers-mode) -(add-hook 'text-mode-hook 'display-line-numbers-mode) -(add-hook 'conf-mode-hook 'display-line-numbers-mode) +(dolist (mode '(prog-mode-hook + text-mode-hook + conf-mode-hook)) + (add-hook mode 'display-line-numbers-mode) + ;; Highlight current line. + (add-hook mode 'hl-line-mode)) + ;; (global-display-line-numbers-mode t) (column-number-mode t) @@ -87,7 +95,8 @@ (setopt large-file-warning-threshold 50000000) ;; Numbers are arbitrary, but work on a large screen. Default is 160 -(setopt split-width-threshold 200) +(setopt split-width-threshold 190) + ;;;;;;;;;;;;;;;;;;;;;; Shell stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) @@ -96,18 +105,18 @@ ;; Allow to execute path from shell (use-package exec-path-from-shell - :if (memq window-system '(x mac ns)) + ;; :if (memq window-system '(x mac ns)) :ensure t + :defer t + :hook ((elpaca-after-init . exec-path-from-shell-initialize)) :config + (declare-function exec-path-from-shell-initialize "exec-path-from-shell") (add-to-list 'exec-path "/usr/local/bin") - (dolist (var '("DEFT_PATH" "LANG" "LC_CTYPE")) - (add-to-list 'exec-path-from-shell-variables var)) - (exec-path-from-shell-initialize)) + (dolist (var '("DEFT_PATH" "LANG" "LC_CTYPE")) + (add-to-list 'exec-path-from-shell-variables var))) -(use-package direnv :ensure t - :config - (declare-function direnv-mode "direnv") - (direnv-mode t)) +(use-package direnv :ensure t :defer t + :hook ((elpaca-after-init . direnv-mode))) ;; Draw underline lower (setopt x-underline-at-descent-line t) @@ -119,13 +128,15 @@ indicate-empty-lines nil) ;;;;;;;;;;;;;;;;; Treemacs -(use-package treemacs :ensure t +(eval-when-compile (defvar icejam-keys-mode-map)) + +(use-package treemacs :ensure t :defer t + :hook ((elpaca-after-init . treemacs-follow-mode) + (elpaca-after-init . treemacs-project-follow-mode)) :commands (treemacs-follow-mode treemacs-project-follow-mode treemacs) :bind (:map icejam-keys-mode-map ([(hyper b)] . treemacs)) - :config - (treemacs-follow-mode t) - (treemacs-project-follow-mode t)) + :config (setopt treemacs-tag-follow-delay 1.0)) (use-package treemacs-all-the-icons :ensure t :defer t :requires (treemacs) @@ -133,24 +144,20 @@ :config (treemacs-load-theme "all-the-icons")) ;;;;;;;;;;;;;;;;; Record frequency of different commands. Review them later -(use-package keyfreq :ensure t +(use-package keyfreq :ensure t :defer t + :hook ((elpaca-after-init . keyfreq-mode) + (elpaca-after-init . keyfreq-autosave-mode)) :config - (declare-function keyfreq-mode "keyfreq") - (declare-function keyfreq-autosave-mode "keyfreq") - (keyfreq-mode t) - (keyfreq-autosave-mode t)) + (setopt keyfreq-file (concat user-emacs-directory "emacs.keyfreq"))) ;;;;;;;;;;;;;;;;; Show hints about key combinations -(use-package which-key :ensure t - :custom (which-key-idle-delay 0.5) - :config (which-key-mode t)) +(use-package which-key :ensure nil :defer t + :hook ((elpaca-after-init . which-key-mode)) + :config + (setopt which-key-idle-delay 0.2)) ;;;;;;;;;;;;;;;;; Use C-n to create a new line (setopt next-line-add-newlines t) -;;;;;;;;;;;;;;;;; Speed up long line display by disabling bidirectional text -(setq-default bidi-paragraph-direction 'left-to-right - bidi-inhibit-bpa t) - (provide 'icejam-base) ;;; icejam-base.el ends here diff --git a/lisp/icejam-blocking.el b/lisp/icejam-blocking.el deleted file mode 100644 index b229fdf..0000000 --- a/lisp/icejam-blocking.el +++ /dev/null @@ -1,21 +0,0 @@ -;;; icejam-blocking.el --- summary - -;; Author: Maciej Szlosarczyk -;; Maintainer: Maciej Szlosarczyk -;; Version: 0.1-snapshot - -;;; Commentary: -;; These packages are foundational dependency and possibly can be blocking. -;;; Code: - -(use-package transient :ensure (:wait t)) -(use-package diminish :ensure (:wait t)) -(use-package company :ensure (:wait t)) - -;; https://emacs-lsp.github.io/lsp-mode/page/performance/#use-plists-for-deserialization -;; This supposedly makes it faster. -(setenv "LSP_USE_PLISTS" "true") -(use-package lsp-mode :ensure (:wait t)) - -(provide 'icejam-blocking) -;;; icejam-blocking.el ends here diff --git a/lisp/icejam-company-yasnippet.el b/lisp/icejam-company-yasnippet.el deleted file mode 100644 index f05a13b..0000000 --- a/lisp/icejam-company-yasnippet.el +++ /dev/null @@ -1,90 +0,0 @@ -;;; icejam-company-yasnippet.el -- summary -*- lexical-binding: t; -*- -;;; Commentary: -;;; Company completion framework configuration -;;; Code: -(require 'icejam-blocking) - -(use-package yasnippet :ensure t - :config - (yas-global-mode t) - (unbind-key "C-c & C-n" yas-minor-mode-map) - (unbind-key "C-c & C-s" yas-minor-mode-map) - (unbind-key "C-c & C-v" yas-minor-mode-map)) - -(use-package yasnippet-snippets :ensure t :after (yasnippet)) -(use-package company-box :ensure t :after (company) - :hook (company-mode . company-box-mode)) - -(with-eval-after-load 'company - (global-company-mode t) - - ;; Hacks for orderless - (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 '(partial-completion basic))) - (apply capf-fn args))) - - (advice-add 'company-capf :around #'company-completion-styles) - - (setq-default - company-minimum-prefix-length 3 ;; minimum prefix character number for auto complete. - company-idle-delay 0.1 - company-require-match nil - company-echo-delay 0 ;;;; company-show-numbers t - company-tooltip-align-annotations t ;; align annotations to the right tooltip border. - company-tooltip-flip-when-above t - company-tooltip-limit 10 ;; tooltip candidates max limit. - company-tooltip-minimum 2 ;; minimum candidates limit. - company-tooltip-minimum-width 10 ;; The minimum width of the tooltip's inner area. - ;; This doesn't include the margins and the scroll bar. - company-tooltip-margin 2 ;; width of margin columns to show around the tooltip - company-tooltip-offset-display 'lines ;; 'lines - how to show tooltip unshown candidates number. - company-show-numbers nil ;; t: show quick-access numbers for the first ten candidates. - company-selection-wrap-around t ;; loop over candidates - company-dabbrev-other-buffers t ;; Only offer dabbrev from the same major mode - company-dabbrev-downcase nil ;; Preserve case of candidates - company-format-margin-function nil - ;; company-async-wait 0.03 - ;; company-async-timeout 2 - ) - - ;; Absolute defaults for company mode - (setopt company-backends - '((company-files ; files & directory - company-keywords ; keywords - company-capf - ) - (company-dabbrev company-abbrev) - )) - - ;; Use standard emacs next and previous bindings for navigating company - ;; suggestions - (define-key company-active-map (kbd "C-p") 'company-select-previous-or-abort) - (define-key company-active-map (kbd "C-n") 'company-select-next-or-abort) - - (defun icejam-insert-space-and-complete () - "Insert space before trying to complete a section." - (interactive) - (save-excursion - (insert " ")) - (company-indent-or-complete-common)) - - ;; Only use RETURN for completion in company - (unbind-key "TAB" company-active-map) - -;;; Yasnippet configuration - (define-key prog-mode-map (kbd "C-c y") 'company-yasnippet) - (define-key prog-mode-map (kbd "") 'icejam-insert-space-and-complete) - (define-key prog-mode-map (kbd "TAB") 'company-indent-or-complete-common) - - (define-key text-mode-map (kbd "C-c y") 'company-yasnippet) - (define-key text-mode-map (kbd "") 'icejam-insert-space-and-complete) - (define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common)) - -(provide 'icejam-company-yasnippet) -;;; icejam-company-yasnippet.el ends here diff --git a/lisp/icejam-complete-at-point.el b/lisp/icejam-complete-at-point.el new file mode 100644 index 0000000..694e264 --- /dev/null +++ b/lisp/icejam-complete-at-point.el @@ -0,0 +1,95 @@ +;;; icejam-complete-at-point.el -- summary -*- lexical-binding: t; -*- +;;; Commentary: +;;; Completion framework configuration +;;; Code: +(use-package yasnippet :ensure t :defer t + :hook ((elpaca-after-init . yas-global-mode)) + :config + (unbind-key "C-c & C-n" yas-minor-mode-map) + (unbind-key "C-c & C-s" yas-minor-mode-map) + (unbind-key "C-c & C-v" yas-minor-mode-map)) + +(use-package yasnippet-snippets :ensure t :after (yasnippet)) + +;; Corfu is the main engine for displaying suggestions. +(use-package corfu :ensure t :defer t + :hook ((elpaca-after-init . global-corfu-mode) + (global-corfu-mode . corfu-popupinfo-mode)) + :config + ;; Go up to go the the last item on the list + (setopt corfu-cycle t + corfu-count 20 ;; Show 20 completion candidates + + corfu-max-width 100 ;; Max width of the corfu frame + corfu-right-margin-width 0.5 + corfu-left-margin-width 0.5 + corfu-bar-width 0.5 + ;; Do not insert when you type a word that happens to be a + ;; completion candidate. A typical example is `format`, which + ;; is a yas snippet. + corfu-on-exact-match 'quit + corfu-quit-at-boundary t + corfu-popupinfo-delay '(0.4 . 0.2) + corfu-auto t + corfu-auto-delay 0.2 + corfu-quit-no-match 'separator + + ;; Invoke completion with tab when needed. + tab-always-indent 'complete)) + +;; Allow corfu to work in terminal +(use-package corfu-terminal :ensure t :defer t + :if (not (display-graphic-p)) + :hook ((elpaca-after-init . corfu-terminal-mode))) + +;; These are actual completions +(use-package cape :ensure t :after corfu + :config + (declare-function cape-dabbrev 'cape) + (declare-function cape-file 'cape) + (declare-function cape-keyword 'cape) + (declare-function cape-elisp-symbol 'cape) + (declare-function cape-capf-super 'cape) + + ;; Set default completion values: + (set-default 'completion-at-point-functions + (list (cape-capf-super #'cape-dabbrev #'yasnippet-capf) + #'cape-file + #'cape-keyword))) + +(defun icejam-set-no-eglot-capfs () + "Set `completion-at-point-function` to non-LSP list." + (setq-local completion-at-point-functions + (list (cape-capf-super #'cape-dabbrev #'yasnippet-capf) + #'cape-file + #'cape-keyword))) + +(defun icejam-set-eglot-capfs () + "Set `completion-at-point-function` to list where LSP is supported." + (setq-local completion-at-point-functions + (list (cape-capf-super #'yasnippet-capf #'eglot-completion-at-point) + #'cape-dabbrev + #'cape-file))) + +(defun icejam-set-elisp-capfs () + "Set `completion-at-point-function` to what is useful in Elisp." + (setq-local completion-at-point-functions + (list (cape-capf-super #'elisp-completion-at-point + #'yasnippet-capf) + #'cape-dabbrev + #'cape-file + #'cape-elisp-symbol))) + +(use-package yasnippet-capf :ensure t :after corfu :defer t + :config + (declare-function yasnippet-capf 'yasnippet) + (setopt yasnippet-capf-lookup-by 'name)) + +(use-package nerd-icons-corfu :ensure t :defer 5 + :after corfu + :config + (declare-function nerd-icons-corfu-formatter 'nerd-icons-corfu) + (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter)) + +(provide 'icejam-complete-at-point) +;;; icejam-complete-at-point.el ends here diff --git a/lisp/icejam-completing-read.el b/lisp/icejam-completing-read.el index 667684c..113a734 100644 --- a/lisp/icejam-completing-read.el +++ b/lisp/icejam-completing-read.el @@ -2,11 +2,11 @@ ;;; Commentary: ;;; ;;; completing-read is the way of completing things in minibuffer. This module -;;; provides all of that functionality, everything related to minbuffer being helpful. +;;; provides all of that functionality, everything related to minbuffer being +;;; helpful. ;;; ;;; Code: - -(require 'icejam-keys-mode) +(eval-when-compile (defvar icejam-keys-mode-map)) ;; Preparations for using Vertico/Orderless (setopt @@ -31,30 +31,48 @@ (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode) ;; Actual orderless -(use-package vertico :ensure t - :custom ((vertico-scroll-margin 1 "Scroll on N-1") - (vertico-count 15 "Show 5 more candidates") - (vertico-resize t "Grow and shrink the vertico minibufffer") - (vertico-cycle t "Cycle completion")) +(use-package vertico :ensure t :defer t + :hook ((elpaca-after-init . vertico-mode)) :config - (vertico-mode t)) + (setopt vertico-scroll-margin 1) ;; Scroll on N-1 + (setopt vertico-count 15) ;; Show 5 more candidates + (setopt vertico-resize t) ;; Grow and shrink the vertico minibufffer + (setopt vertico-cycle t) ;; Cycle completion + + ;; Use H-enter to submit current value instead of first matching candidate + (keymap-set vertico-map "H-" 'vertico-exit-input) + + ;; Add working page up /down + (keymap-set vertico-map "" 'vertico-scroll-up) + (keymap-set vertico-map "" 'vertico-scroll-down)) (use-package orderless :ensure t - :custom ((completion-styles '(orderless partial-completion basic) - "Fallback to basic if orderless does not work.") - (completion-category-defaults nil) - (completion-category-overrides - '((file (styles partial-completion)))))) + :config + ;; Fallback to basic if orderless does not work. + (setopt completion-styles '(orderless basic)) + (setopt completion-category-defaults nil) + (setopt completion-category-overrides '((file (styles partial-completion))))) +(use-package marginalia :ensure t :defer t + :hook ((elpaca-after-init . marginalia-mode))) -(use-package marginalia :ensure t - :config (marginalia-mode t)) (use-package consult :ensure t + :config + ;; Using ripgrep, show hidden files but ignore contents of .git + (setopt consult-ripgrep-args + "rg --null --line-buffered --color=never --max-columns=1000 \ +--path-separator / --smart-case --no-heading --with-filename --line-number \ +--search-zip --hidden --glob \"!.git/*\"") :bind (:map icejam-keys-mode-map ("C-c t" . find-file) - ("M-g" . consult-goto-line) + ("M-g g" . consult-goto-line) ("C-c a" . consult-ripgrep))) -(use-package helpful :ensure t) + +(use-package helpful :ensure t :defer t + :bind (([remap describe-key] . helpful-key) + ([remap describe-variable] . helpful-variable) + ([remap describe-function] . helpful-callable) + ([remap describe-command] . helpful-command))) (provide 'icejam-completing-read) ;;; icejam-completing-read.el ends here diff --git a/lisp/icejam-copilot.el b/lisp/icejam-copilot.el deleted file mode 100644 index 9834aa9..0000000 --- a/lisp/icejam-copilot.el +++ /dev/null @@ -1,45 +0,0 @@ -;;; icejam-copilot.el --- summary - -;; Author: Maciej Szlosarczyk -;; Maintainer: Maciej Szlosarczyk -;; Version: 0.1-snapshot - -;;; Commentary: - -;;; Copilot and other GPT stuff - -;;; Code: -(use-package copilot :ensure (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")) - :defer t - ;; It sort of sucks so let's disable it. - ;; :hook ((prog-mode . copilot-mode)) - :bind (:map copilot-completion-map - ([tab] . copilot-accept-completion)) - :config - (add-to-list 'copilot-indentation-alist '(emacs-lisp-mode . 2))) - -;; Enable Anthropic Claude LLM support for chat (it also sucks) -(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key." - :type 'string - :group 'icejam - :initialize 'custom-initialize-set) - -(use-package gptel :ensure t :defer t - :config - (setq - gptel-model 'claude-3-5-sonnet-20241022 - gptel-backend (gptel-make-anthropic "Claude" - :stream t :key (lambda () anthropic-api-key)))) - -;; Pretend to be 'AI editor'. -(use-package elysium :ensure t :defer t - :custom - ((elysium-window-size 0.33 "The elysium buffer will be 1/3 your screen") - (elysium-window-style 'vertical "Elysium buffer will be vertical"))) - -;; Merging with SMerge -(use-package smerge-mode :ensure nil - :hook ((prog-mode . smerge-mode))) - -(provide 'icejam-copilot) -;;; icejam-copilot.el ends here diff --git a/lisp/icejam-custom-init.el b/lisp/icejam-custom-init.el index b9c0682..c420cd7 100644 --- a/lisp/icejam-custom-init.el +++ b/lisp/icejam-custom-init.el @@ -12,18 +12,23 @@ ;; Set GC at 500 MB for startup (setopt gc-cons-threshold 500000000) -(setopt gc-cons-percentage 0.6) +(setopt gc-cons-percentage 5.0) + +(add-hook 'after-init-hook (lambda () + ;; Restore GC to normal, but still high + (setopt gc-cons-threshold 204800000) + (setopt gc-cons-percentage 0.2))) ;; Allow for deeper stacktraces / recursion ;; (setopt max-lisp-eval-depth 10000) ;;; Use elpaca for package management. -(defvar elpaca-installer-version 0.7) +(defvar elpaca-installer-version 0.11) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 + :ref nil :depth 1 :inherit ignore :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) @@ -60,83 +65,85 @@ ;; Use package settings (setopt use-package-verbose t) (setopt use-package-compute-statistics t) -(elpaca elpaca-use-package - ;; Enable use-package :ensure support for Elpaca. - (elpaca-use-package-mode)) -(elpaca-load-lockfile (concat user-emacs-directory "elpaca.lock")) +;; Enable use-package :ensure support for Elpaca. +(defvar elpaca-use-package) +(elpaca elpaca-use-package (elpaca-use-package-mode)) + +;; (elpaca-load-lockfile (concat user-emacs-directory "elpaca.lock")) +;; (setopt elpaca-lock-file (concat user-emacs-directory "elpaca.lock")) + +(use-package benchmark-init :ensure (:wait t) + :config + (add-hook 'after-init-hook 'benchmark-init/deactivate)) (defun icejam-elpaca-write-lock () "Write elpaca lock file." (interactive) - (elpaca-write-lockfile (concat user-emacs-directory "elpaca.lock"))) + (elpaca-write-lock-file (concat user-emacs-directory "elpaca.lock"))) ;; I don't know why this needs to be here and with a lisp directory, but ;; normal subdirs.el file doesn't work. +(add-to-list 'load-path (concat user-emacs-directory "lisp")) (add-to-list 'load-path (concat user-emacs-directory "lisp/themes")) (add-to-list 'load-path (concat user-emacs-directory "lisp/langs")) (defgroup :icejam nil "My customisation group.") ;; General configuration files. -(require 'icejam-keys-mode) -(require 'icejam-blocking) -(require 'icejam-base) -(require 'icejam-sys-specific) -(require 'icejam-tree-sitter) -(require 'icejam-completing-read) -(require 'icejam-avy) -(require 'icejam-transient) -(require 'icejam-prog-mode) -(require 'icejam-company-yasnippet) -(require 'icejam-copilot) -(require 'icejam-flycheck) -(require 'icejam-ispell) -(require 'icejam-deft) -(require 'icejam-lsp) -(require 'icejam-dashboard) -(require 'icejam-magit) -(require 'icejam-vundo) -(require 'icejam-speed-type) +(use-package icejam-keys-mode :ensure nil) +(use-package icejam-base :ensure nil) +(use-package icejam-sys-specific :ensure nil) +(use-package icejam-tree-sitter :ensure nil) +(use-package icejam-completing-read :ensure nil) +(use-package icejam-avy :ensure nil) +(use-package icejam-transient :ensure nil) +(use-package icejam-prog-mode :ensure nil) +(use-package icejam-complete-at-point :ensure nil) +(use-package icejam-aider :ensure nil) +(use-package icejam-flycheck :ensure nil) +(use-package icejam-ispell :ensure nil) +(use-package icejam-deft :ensure nil) +(use-package icejam-eglot :ensure nil) +(use-package icejam-dashboard :ensure nil) +(use-package icejam-magit :ensure nil) +(use-package icejam-vundo :ensure nil) +(use-package icejam-speed-type :ensure nil) ;; Themes -(require 'icejam-themes) -(require 'icejam-fonts) +(use-package icejam-themes :ensure nil) +(use-package icejam-fonts :ensure nil) ;; Actual supported languages and file syntax. -(require 'icejam-lang-clang) -(require 'icejam-lang-clojure) -;; (require 'icejam-lang-common-lisp) -(require 'icejam-lang-dart) -(require 'icejam-lang-dhall) -(require 'icejam-lang-elisp) -(require 'icejam-lang-elixir) -(require 'icejam-lang-erlang) -(require 'icejam-lang-fsharp) -(require 'icejam-lang-gleam) -(require 'icejam-lang-golang) -(require 'icejam-lang-haskell) -(require 'icejam-lang-javascript) -(require 'icejam-lang-kotlin) -(require 'icejam-lang-lean) -(require 'icejam-lang-markdown) -(require 'icejam-lang-ocaml) -(require 'icejam-lang-other) -(require 'icejam-lang-php) -(require 'icejam-lang-purescript) -(require 'icejam-lang-python) -(require 'icejam-lang-ruby) -(require 'icejam-lang-rust) -(require 'icejam-lang-sh) -(require 'icejam-lang-web) -(require 'icejam-lang-ziglang) +(use-package icejam-lang-clang :ensure nil) +(use-package icejam-lang-clojure :ensure nil) +(use-package icejam-lang-dart :ensure nil) +(use-package icejam-lang-dhall :ensure nil) +(use-package icejam-lang-elisp :ensure nil) +(use-package icejam-lang-elixir :ensure nil) +(use-package icejam-lang-erlang :ensure nil) +(use-package icejam-lang-fsharp :ensure nil) +(use-package icejam-lang-gleam :ensure nil) +(use-package icejam-lang-golang :ensure nil) +(use-package icejam-lang-haskell :ensure nil) +(use-package icejam-lang-javascript :ensure nil) +(use-package icejam-lang-kotlin :ensure nil) +;; (use-package icejam-lang-lean :ensure nil) +(use-package icejam-lang-lua :ensure nil) +(use-package icejam-lang-markdown :ensure nil) +(use-package icejam-lang-ocaml :ensure nil) +(use-package icejam-lang-other :ensure nil) +(use-package icejam-lang-php :ensure nil) +(use-package icejam-lang-purescript :ensure nil) +(use-package icejam-lang-python :ensure nil) +(use-package icejam-lang-ruby :ensure nil) +(use-package icejam-lang-rust :ensure nil) +(use-package icejam-lang-sh :ensure nil) +(use-package icejam-lang-web :ensure nil) +(use-package icejam-lang-ziglang :ensure nil) ;; Diminish modeline litter -(require 'icejam-diminish) - -;; Restore GC to normal, but still high -(setopt gc-cons-threshold 200000000) -(setopt gc-cons-percentage 0.2) +(use-package icejam-diminish :ensure nil) (provide 'icejam-custom-init) ;;; icejam-custom-init.el ends here diff --git a/lisp/icejam-dashboard.el b/lisp/icejam-dashboard.el index 32428ae..0d26621 100644 --- a/lisp/icejam-dashboard.el +++ b/lisp/icejam-dashboard.el @@ -10,19 +10,20 @@ ;;; Code: -(use-package dashboard :ensure t :demand t +(use-package dashboard :ensure t :defer t :commands dashboard-setup-startup-hook - :hook - ((elpaca-after-init . dashboard-open)) - :custom - ((dashboard-footer-messages '("Happy coding!" "I showed you my source code, pls respond")) - (dashboard-startup-banner 'logo) - (dashboard-items '((recents . 5) - ;; (bookmarks . 5) - ;; (agenda . 5) - ;; (registers . 5) - (projects . 5)))) - :config (dashboard-setup-startup-hook)) + :hook ((elpaca-after-init . dashboard-open)) + :config + ;; setopt gives a warning here, so let's use setq + (setq dashboard-footer-messages '("Happy coding!" + "I showed you my source code, pls respond")) + (setopt dashboard-startup-banner 'logo) + (setopt dashboard-items '((recents . 5) + ;; (bookmarks . 5) + ;; (agenda . 5) + ;; (registers . 5) + (projects . 5))) + (dashboard-setup-startup-hook)) (provide 'icejam-dashboard) ;;; icejam-dashboard.el ends here diff --git a/lisp/icejam-deft.el b/lisp/icejam-deft.el index 512045d..93142e0 100644 --- a/lisp/icejam-deft.el +++ b/lisp/icejam-deft.el @@ -3,24 +3,21 @@ ;;; Notational velocity, backed by OneDrive. ;;; Code: -(require 'icejam-keys-mode) -(require 'icejam-transient) - -(use-package deft :ensure t - :custom - ((deft-directory (substitute-in-file-name "$DEFT_PATH")) - (deft-default-extension "md") - (deft-ignore-file-regexp "\\._[0-9-A-Z_]+\\.md$") - (deft-strip-summary-regexp (concat "\\(" - "[\n\t]" ;; blank - "\\|^:[[:ascii:]]+:.*$" ;; org-mode properties string - "\\|^Title:.*$" ;; Title string - "\\|^title:.*$" ;; title string - "\\|^\\[\\[file:.*$" ;; org-mode inline-images - ;; org-mode properties - ;; "\\|:PROPERTIES:\n\\(.+\n\\)+:END:\n" ;; - "\\)")) - (deft-auto-save-interval 30.0))) +(use-package deft :ensure t :defer t + :config + (setopt deft-directory (substitute-in-file-name "$DEFT_PATH") + deft-default-extension "md" + deft-ignore-file-regexp "\\._[0-9-A-Z_]+\\.md$" + deft-strip-summary-regexp (concat "\\(" + "[\n\t]" ;; blank + "\\|^:[[:ascii:]]+:.*$" ;; org-mode properties string + "\\|^Title:.*$" ;; Title string + "\\|^title:.*$" ;; title string + "\\|^\\[\\[file:.*$" ;; org-mode inline-images + ;; org-mode properties + ;; "\\|:PROPERTIES:\n\\(.+\n\\)+:END:\n" ;; + "\\)") + deft-auto-save-interval 30.0)) (provide 'icejam-deft) ;;; icejam-deft.el ends here diff --git a/lisp/icejam-diminish.el b/lisp/icejam-diminish.el index 1332de0..879d2bf 100644 --- a/lisp/icejam-diminish.el +++ b/lisp/icejam-diminish.el @@ -6,27 +6,30 @@ ;;; Commentary: -;; diminish minor modes +;; diminish minor modes to remove modeline litter. ;;; Code: -(require 'icejam-blocking) -;; (use-package diminish :ensure t) +(use-package diminish :ensure t :defer t :commands (diminish)) -(with-eval-after-load 'diminish - (with-eval-after-load 'flyspell (diminish 'flyspell-mode)) - (with-eval-after-load 'flycheck (diminish 'flycheck-mode)) - (with-eval-after-load 'rainbow-mode (diminish 'rainbow-mode)) - (with-eval-after-load 'undo-tree (diminish 'undo-tree-mode)) - (with-eval-after-load 'company (diminish 'company-mode)) - (with-eval-after-load 'which-key (diminish 'which-key-mode)) - (with-eval-after-load 'eldoc (diminish 'eldoc-mode)) - (with-eval-after-load 'yasnippet (diminish 'yas-minor-mode)) - (with-eval-after-load 'whitespace (diminish 'whitespace-mode)) - (with-eval-after-load 'autorevert (diminish 'auto-revert-mode)) - (with-eval-after-load 'ivy (diminish 'ivy-mode)) - (with-eval-after-load 'company-box (diminish 'company-box-mode)) - (with-eval-after-load 'smerge-mode (diminish 'smerge-mode)) - (with-eval-after-load 'gcmh (diminish 'gcmh-mode))) +(defun icejam-diminish-modes () + "Diminish selected modes." + (dolist (package-and-mode '((flyspell flyspell-mode) + (flycheck flycheck-mode) + (rainbow-mode rainbow-mode) + (undo-tree undo-tree-mode) + (which-key which-key-mode) + (eldoc eldoc-mode) + (yasnippet yas-minor-mode) + (whitespace whitespace-mode) + (autorevert auto-revert-mode) + (ivy ivy-mode) + (smerge-mode smerge-mode) + (gcmh gcmh-mode))) + (let ((package (car package-and-mode)) + (mode (car (last package-and-mode)))) + (with-eval-after-load package (diminish mode))))) + +(add-hook 'elpaca-after-init-hook 'icejam-diminish-modes) (provide 'icejam-diminish) ;;; icejam-diminish.el ends here diff --git a/lisp/icejam-eglot.el b/lisp/icejam-eglot.el new file mode 100644 index 0000000..d0f717c --- /dev/null +++ b/lisp/icejam-eglot.el @@ -0,0 +1,16 @@ +;;; icejam-eglot -- summary -*- lexical-binding: t; -*- +;;; Commentary: +;;; Global Language Server Protocol Config +;;; Code: + +(use-package eldoc-box :ensure t + :hook ((emacs-lisp-mode . eldoc-box-hover-at-point-mode) + (eglot--managed-mode . eldoc-box-hover-at-point-mode)) + :custom-face + (eldoc-box-markdown-separator ((t (:inherit (fringe)))))) + +;; Add debugger support to emacs. +(use-package dape :ensure t) + +(provide 'icejam-eglot) +;;; icejam-eglot.el ends here diff --git a/lisp/icejam-flycheck.el b/lisp/icejam-flycheck.el index 4477e2b..525284c 100644 --- a/lisp/icejam-flycheck.el +++ b/lisp/icejam-flycheck.el @@ -2,28 +2,67 @@ ;;; Commentary: ;;; Code: -;; Use flycheck globally to check syntax and compile languages -(use-package flycheck :ensure t - :custom ((flycheck-emacs-lisp-load-path 'inherit)) +;; Use flycheck checks with flymake. +(use-package flymake-flycheck :ensure t :defer t :config +(setq-default + flycheck-disabled-checkers + (append (default-value 'flycheck-disabled-checkers) + '(emacs-lisp emacs-lisp-checkdoc + emacs-lisp-package sh-shellcheck)))) + +(declare-function flymake--project-diagnostics-buffer 'flymake) +(declare-function flymake--diagnostics-buffer-name 'flymake) +(declare-function flymake-project-diagnostics-mode 'flymake) +(declare-function flymake-diagnostics-buffer-mode 'flymake) + +(use-package el-patch :ensure t :defer t :config - (global-flycheck-mode t) - (setopt flycheck-emacs-lisp-load-path 'inherit) - (unbind-key "C-c ! C-c" flycheck-mode-map) - (unbind-key "C-c ! C-w" flycheck-mode-map) - (unbind-key "C-c ! ?" flycheck-mode-map) - (unbind-key "C-c ! C" flycheck-mode-map) - (unbind-key "C-c ! H" flycheck-mode-map) - (unbind-key "C-c ! V" flycheck-mode-map) - (unbind-key "C-c ! c" flycheck-mode-map) - (unbind-key "C-c ! e" flycheck-mode-map) - (unbind-key "C-c ! h" flycheck-mode-map) - (unbind-key "C-c ! i" flycheck-mode-map) - (unbind-key "C-c ! l" flycheck-mode-map) - (unbind-key "C-c ! n" flycheck-mode-map) - (unbind-key "C-c ! p" flycheck-mode-map) - (unbind-key "C-c ! s" flycheck-mode-map) - (unbind-key "C-c ! v" flycheck-mode-map) - (unbind-key "C-c ! x" flycheck-mode-map)) + ;; Show the diagnostics from flymake in a second window (usually on the + ;; opposite side from this one) instead of at the bottom of the current one. + ;; Essentially revert the interesting part of this commit: + ;; https://github.com/emacs-mirror/emacs/commit/419550c7907275bf962986e1cc8fba1989d8659c + (el-patch-feature 'flymake) + (with-eval-after-load 'flymake + (el-patch-defun flymake-show-project-diagnostics () + "Show a list of Flymake diagnostics for the current project." + (interactive) + (let* ((prj (project-current)) + (root (project-root prj)) + (buffer (flymake--project-diagnostics-buffer root))) + (with-current-buffer buffer + (flymake-project-diagnostics-mode) + (setq-local flymake--project-diagnostic-list-project prj) + (display-buffer (current-buffer)) + (revert-buffer)))) + + (el-patch-defun flymake-show-buffer-diagnostics () + "Show a list of Flymake diagnostics for current buffer." + (interactive) + (unless flymake-mode + (user-error "Flymake mode is not enabled in the current buffer")) + (let* ((name (flymake--diagnostics-buffer-name)) + (source (current-buffer)) + (target (or (get-buffer name) + (with-current-buffer (get-buffer-create name) + (flymake-diagnostics-buffer-mode) + (current-buffer))))) + (with-current-buffer target + (setq flymake--diagnostics-buffer-source source) + (display-buffer (current-buffer)) + (revert-buffer)))))) + +;; Use flymake, the built in linter/checker. +(use-package flymake :ensure nil + :defer t + :config + ;; Show 'Fly' in mode line. + (setopt flymake-mode-line-lighter "Fly") + ;; Use the same load-path as normal configuration. This makes the errors that + ;; appear in elisp files less jarring. + (setopt elisp-flymake-byte-compile-load-path load-path) + :hook ((prog-mode . flymake-mode) + (text-mode . flymake-mode) + (flymake-mode . flymake-flycheck-auto))) (provide 'icejam-flycheck) ;;; icejam-flycheck.el ends here diff --git a/lisp/icejam-fonts.el b/lisp/icejam-fonts.el index 7b57db3..db86e44 100644 --- a/lisp/icejam-fonts.el +++ b/lisp/icejam-fonts.el @@ -3,13 +3,11 @@ ;; Author: Maciej Szlosarczyk ;; Maintainer: Maciej Szlosarczyk ;; Version: 0.1-snapshot - ;;; Commentary: ;; Set font stuff ;;; Code: - ;; (defconst icejam-font "Monoid" ;; (defconst icejam-font "Fira Mono" ;; (defconst icejam-font "Fira Code" @@ -18,29 +16,47 @@ ;; (defconst icejam-font "Input Mono Condensed" ;; (defconst icejam-font "SF Mono" ;; (defconst icejam-font "Monaco" -;; (defconst icejam-font "JetBrains Mono" +;; (defconst icejam-font "JetBrains Mono" "Default font.") ;; (defconst icejam-font "JuliaMono" ;; (defconst icejam-font "Rec Mono Semicasual" -;; (defconst icejam-font "Victor Mono" ;; (defconst icejam-font "IBM Plex Mono" ;; (defconst icejam-font "Berkeley Mono Trial" ;; (defconst icejam-font "Inconsolata" +;; (defconst icejam-font "Victor Mono Medium" "Default font.") +;; (defconst icejam-font "Iosevka Term" "Default font.") -(defconst icejam-font "Iosevka Term" - "Default font.") -(defconst icejam-font-size 14 - "Default size of then font. -It is used to calculated the size in relation to the screen -in icejam-set-font-to-screen.") +(defconst icejam-default-font-family "Iosevka Term" "Default font.") +(defconst icejam-variable-font-family "Lexica Ultralegible" "Variable pitch font.") +(defconst icejam-markdown-font-family "Iosevka Comfy Motion" + "Font used to render code blocks in markdown. +It is different than default font to keep it visually distinct.") -(defcustom icejam-mut-font - icejam-font +;; Require dash functions to be included: +(declare-function -> "dash.el") + +(defconst icejam-font-height 14 + "Default height of then font. +It is used to calculated the height in relation to the screen +in `icejam-set-font-to-screen`.") + +(defcustom icejam-mut-default-font-family + icejam-default-font-family "Current font, defaults to the one loaded in the beginning." :type 'string :group 'icejam) -(defcustom icejam-mut-font-size - icejam-font-size - "Current font size." +(defcustom icejam-mut-variable-font-family + icejam-default-font-family + "Current variable-pitch font. Defaults to `icejam-variable-font-family`." + :type 'string + :group 'icejam) +(defcustom icejam-mut-markdown-font-family + icejam-markdown-font-family + "Current markdown font family, defaults to the one loaded in the beginning." + :type 'string + :group 'icejam) +(defcustom icejam-mut-font-height + icejam-font-height + "Current font height." :type 'integer :group 'icejam) @@ -49,94 +65,89 @@ in icejam-set-font-to-screen.") (defvar lsp-ui-doc-frame-hook) (defun icejam-set-lsp-ui-font-hook () - "Reset LSP IO font to specified icejam-font and icejam-font-size." + "Reset LSP IO font to specified `icejam-font` and `icejam-font-height`." (setopt lsp-ui-doc-frame-hook nil) (add-hook 'lsp-ui-doc-frame-hook (lambda (frame _w) - (set-face-attribute - 'default frame :font - (format "%s %d" icejam-mut-font (- icejam-mut-font-size 2)))))) + (set-face-attribute 'default frame + :family icejam-mut-default-font-family + :height (-> icejam-mut-font-height + (- 2) + (* 10)))))) -(defun icejam-set-font (name size) - "Set font to NAME and its SIZE to X pixels." - (interactive "sNew font: \nnEnter size for %s: ") - (setopt icejam-mut-font name) - (setopt icejam-mut-font-size size) +(defun icejam-set-font (family height) + "Set font to FAMILY and its HEIGHT to X. - (set-face-attribute 'default nil :font (format "%s %d" name size)) +Not all faces will be set to this value. Some of them look better with being +slightly smaller than the default face, by 1 point. Those are: `tooltip'. - ;; Set completion and modeline font to be 1 pixel point smaller than - ;; the general font - ;; (set-face-attribute - ;; 'markdown-code-face nil :font (format "%s %d" name (- size 1))) - (set-face-attribute - 'tooltip nil :font (format "%s %d" name (- size 1))) - (set-face-attribute - 'company-tooltip nil :font (format "%s %d" name (- size 1))) - (set-face-attribute - 'company-tooltip-annotation nil :font (format "%s %d" name (- size 1))) - (set-face-attribute - 'company-tooltip-mouse nil :font (format "%s %d" name (- size 1))) - (set-face-attribute - 'mode-line nil :font (format "%s %d" name (- size 1))) - (set-face-attribute - 'mode-line-inactive nil :font (format "%s %d" name (- size 1))) +Modeline faces (`mode-line' and `mode-line-inactive') look better if they are +two points smaller." + (interactive "sNew font: \nnEnter height for %s: ") + (setopt icejam-mut-default-font-family family) + (setopt icejam-mut-font-height height) + (setopt icejam-mut-variable-font-family icejam-variable-font-family) + + ;; Set default font. + (set-face-attribute 'default nil + :family family + :height (-> height + (* 10))) + + ;; Set variable-pitch font + (set-face-attribute 'variable-pitch nil + :family icejam-mut-variable-font-family + :height (-> height + (* 10))) + + ;; Some font faces look better when they are 1 point smaller. + (dolist (face '(tooltip)) + (set-face-attribute face nil :height (-> height + (- 1) + (* 10)))) + + ;; And some, mainly in modeline with 2 points. + (dolist (face '(mode-line + mode-line-inactive)) + (set-face-attribute face nil :height (-> height + (- 2) + (* 10)))) ;; Call LSP-UI hook (icejam-set-lsp-ui-font-hook)) (defun icejam-set-font-to-screen () - "Automatically set font size to suit the monitor." - ;; If display is set to emulate FullHD resultion or less, make the font - ;; smaller. + "Automatically set font height to suit the monitor." (interactive) - (cond ((eq (x-display-list) nil)) - ;; built-in screen - ((>= 1050 (x-display-pixel-height)) - (icejam-set-font icejam-font icejam-font-size)) - ;; 4K screen on a Mac - ((>= 1080 (x-display-pixel-height)) - (icejam-set-font icejam-font icejam-font-size)) + ;; Only do anything if there's a display at all. + (if (x-display-list) + (let ((pixel-height (x-display-pixel-height))) + (cond + ;; MacBook 14" built-in screen. + ((>= 1080 pixel-height) + (icejam-set-font icejam-default-font-family icejam-font-height)) - ;; Other screens - ((>= 1120 (x-display-pixel-height)) - (icejam-set-font icejam-font icejam-font-size)) + ;; 27" screen connected to a MacBook. + ((>= 1440 pixel-height) + (icejam-set-font icejam-default-font-family (+ icejam-font-height 3))) - ((>= 1440 (x-display-pixel-height)) - (icejam-set-font icejam-font (+ icejam-font-size 3))) + ;; 4K screen on Windows or Linux + ((>= 2160 pixel-height) + (icejam-set-font icejam-default-font-family (- icejam-font-height 3))))))) - ((>= 1920 (x-display-pixel-height)) - (icejam-set-font icejam-font icejam-font-size)) +;; Run the above function once, after elpaca finishes all downloads. +(add-hook 'elpaca-after-init-hook 'icejam-set-font-to-screen) - ;; 4K screen on Windows or Linux - ((>= 2160 (x-display-pixel-height)) - (icejam-set-font icejam-font (- icejam-font-size 3))) +(defun icejam-set-font-height (height) + "Set font to a specified HEIGHT." + (interactive "nEnter height for font: ") + (icejam-set-font icejam-mut-default-font-family height)) - ;; Default - (t (icejam-set-font icejam-font (- icejam-font-size 3))))) - -;; Do it automatically on startup -(icejam-set-font-to-screen) - -(defun icejam-set-font-size (size) - "Set font to a specified SIZE." - (interactive "nEnter size for font: ") - (icejam-set-font icejam-mut-font size)) - -(defun icejam-set-font-size-for-this-frame (new-size) - "Set font NEW-SIZE for this frame only." - (interactive "nEnter new size for font in this frame: ") - (set-frame-font (format "%s %d" icejam-mut-font new-size))) - -;; Remove ugly black line -(set-face-attribute 'vertical-border nil :foreground - (face-attribute 'fringe :background)) - -;; Set fringe colors to default, so it does not bother you. -(set-face-attribute 'fringe nil - :foreground (face-foreground 'default) - :background (face-background 'default)) +(defun icejam-set-font-height-for-this-frame (new-height) + "Set font NEW-HEIGHT for this frame only." + (interactive "nEnter new height for font in this frame: ") + (set-frame-font (format "%s %d" icejam-mut-default-font-family new-height))) (provide 'icejam-fonts) ;;; icejam-fonts.el ends here diff --git a/lisp/icejam-ispell.el b/lisp/icejam-ispell.el index 87dcc97..3abd1a1 100644 --- a/lisp/icejam-ispell.el +++ b/lisp/icejam-ispell.el @@ -3,12 +3,10 @@ ;;; Highlight misspelled words ;;; Code: - - -(use-package ispell :ensure nil - :custom - ((ispell-program-name "aspell") - (ispell-extra-args '("--run-together" "--run-together-limit=5" "--run-together-min=2")))) +(use-package ispell :ensure nil :defer t + :config + (setopt ispell-program-name "aspell") + (setopt ispell-extra-args '("--run-together" "--run-together-limit=5" "--run-together-min=2"))) (use-package flyspell :ensure nil :hook ((prog-mode . flyspell-mode) diff --git a/lisp/icejam-keys-mode.el b/lisp/icejam-keys-mode.el index 172e5a3..6c223da 100644 --- a/lisp/icejam-keys-mode.el +++ b/lisp/icejam-keys-mode.el @@ -19,43 +19,47 @@ ;; Globally enable my minor mode (icejam-keys-mode) -;;; Helpful key bindings -(define-key icejam-keys-mode-map (kbd "C-c \\") 'split-window-right) ;; Split window to the right -(define-key icejam-keys-mode-map (kbd "C-c /") 'split-window-below) ;; Split window to the bottom - -;; Move between windows key bindings -(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-left) -(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-right) -(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-up) -(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-down) - -;; The same, but without using arrow keys -(define-key icejam-keys-mode-map (kbd "C-c [") 'windmove-left) -(define-key icejam-keys-mode-map (kbd "C-c ]") 'windmove-right) -(define-key icejam-keys-mode-map (kbd "C-c {") 'windmove-up) -(define-key icejam-keys-mode-map (kbd "C-c }") 'windmove-down) - -;; Kill current buffer and window -(define-key icejam-keys-mode-map (kbd "C-c q") 'kill-buffer-and-window) - -;; List buffers -(define-key icejam-keys-mode-map (kbd "C-c b") 'ibuffer) - -;; Revert without asking (defun icejam-revert-buffer-no-confirm () "Revert buffer without confirmation." (interactive) (revert-buffer t t)) -(define-key icejam-keys-mode-map (kbd "C-c r") 'icejam-revert-buffer-no-confirm) +;; Splitting window +(keymap-set icejam-keys-mode-map "C-c \\" #'split-window-right) +(keymap-set icejam-keys-mode-map "C-c /" #'split-window-below) +(keymap-set icejam-keys-mode-map "C-c \"" #'split-window-right) +(keymap-set icejam-keys-mode-map "C-c %" #'split-window-below) +(keymap-set icejam-keys-mode-map "C-c '" #'split-window-right) +(keymap-set icejam-keys-mode-map "C-c 5" #'split-window-below) -;;;;;;;;; Emacs bindings ;;;;;;;;;;;;;;;;;;;;; -(define-key icejam-keys-mode-map [home] 'beginning-of-line) -(define-key icejam-keys-mode-map [end] 'end-of-line) +;; Move between windows +(keymap-set icejam-keys-mode-map "C-c " #'windmove-left) +(keymap-set icejam-keys-mode-map "C-c " #'windmove-right) +(keymap-set icejam-keys-mode-map "C-c " #'windmove-up) +(keymap-set icejam-keys-mode-map "C-c " #'windmove-down) + +;; History of buffers +(keymap-set icejam-keys-mode-map "C-c s [" #'previous-buffer) +(keymap-set icejam-keys-mode-map "C-c s ]" #'next-buffer) + +;; These are slightly more conveniently located on an Ergodox/Moonlander +(keymap-set icejam-keys-mode-map "C-c s " #'previous-buffer) +(keymap-set icejam-keys-mode-map "C-c s " #'next-buffer) + +;; List of buffers buffer +(keymap-set icejam-keys-mode-map "C-c b" #'ibuffer) + +;; Manipulate buffers (kill or revert) +(keymap-set icejam-keys-mode-map "C-c q" #'kill-buffer-and-window) +(keymap-set icejam-keys-mode-map "C-c r" #'icejam-revert-buffer-no-confirm) + +;; Make emacs behave like a normal editor from 21st century. +(keymap-set icejam-keys-mode-map "" #'beginning-of-line) +(keymap-set icejam-keys-mode-map "" #'end-of-line) ;;;;;;;;; Translate keys ;;;;;;;;;;;;;;;;;;;;; -(define-key key-translation-map (kbd "") (kbd "C-c l")) ;; On F6, send C-c l -(define-key key-translation-map (kbd "") (kbd "C-c c")) ;; On F7, send C-c c -(define-key key-translation-map (kbd "") (kbd "C-c p")) ;; On F8, send C-c p +(keymap-set key-translation-map "" "C-c l") ;; On F6, send C-c l +(keymap-set key-translation-map "" "C-c c") ;; On F7, send C-c c +(keymap-set key-translation-map "" "C-c p") ;; On F8, send C-c p (provide 'icejam-keys-mode) ;;; icejam-keys-mode.el ends here diff --git a/lisp/icejam-lsp.el b/lisp/icejam-lsp.el deleted file mode 100644 index 19052d9..0000000 --- a/lisp/icejam-lsp.el +++ /dev/null @@ -1,76 +0,0 @@ -;;; icejam-lsp -- summary -*- lexical-binding: t; -*- -;;; Commentary: -;;; Global Language Server Protocol Config -;;; Code: - -;; (use-package lsp-mode :ensure (:depth 5) :requires (company)) -(with-eval-after-load 'lsp-mode - (setq-default lsp-file-watch-threshold 10000 - lsp-restart 'auto-restart - lsp-prefer-capf t - lsp-completion-provider :capf - lsp-server-trace nil - lsp-lens-enable nil - lsp-lens-mode nil - read-process-output-max (* 1024 1024 4) - ;; Disable the piece of shit vue LSP server. It activates itself in every - ;; project with .js, .ts or .json file due to something called 'takeover - ;; mode' or 'hybrid mode' or some such. - ;; It would be okay, but it also doesn't work 99% of the time. - - ;; When needed, enable this hot garbage in dir-locals.el - lsp-disabled-clients '(vue-semantic-server - ;; Ruby LSP servers, none of which actually work. - ruby-ls rubocop-ls typeprof-ls) - lsp-log-io nil - lsp-enable-file-watchers nil) - (unbind-key "s-l =" lsp-mode-map) - (unbind-key "s-l G" lsp-mode-map) - (unbind-key "s-l T" lsp-mode-map) - (unbind-key "s-l a" lsp-mode-map) - (unbind-key "s-l g" lsp-mode-map) - (unbind-key "s-l r" lsp-mode-map) - (unbind-key "C-S-SPC" lsp-mode-map) - (unbind-key "s-l G g" lsp-mode-map) - (unbind-key "s-l G r" lsp-mode-map) - (unbind-key "s-l G s" lsp-mode-map) - (unbind-key "s-l h g" lsp-mode-map) - (unbind-key "s-l h h" lsp-mode-map) - (unbind-key "s-l h s" lsp-mode-map) - (unbind-key "s-l g a" lsp-mode-map) - (unbind-key "s-l g e" lsp-mode-map) - (unbind-key "s-l g g" lsp-mode-map) - (unbind-key "s-l g h" lsp-mode-map) - (unbind-key "s-l g r" lsp-mode-map) - (unbind-key "s-l T D" lsp-mode-map) - (unbind-key "s-l T L" lsp-mode-map) - (unbind-key "s-l T S" lsp-mode-map) - (unbind-key "s-l T T" lsp-mode-map) - (unbind-key "s-l T b" lsp-mode-map) - (unbind-key "s-l T d" lsp-mode-map) - (unbind-key "s-l T f" lsp-mode-map) - (unbind-key "s-l T l" lsp-mode-map) - (unbind-key "s-l T s" lsp-mode-map) - (unbind-key "s-l F a" lsp-mode-map) - (unbind-key "s-l F b" lsp-mode-map) - (unbind-key "s-l F r" lsp-mode-map) - (unbind-key "s-l = =" lsp-mode-map) - (unbind-key "s-l s D" lsp-mode-map) - (unbind-key "s-l s d" lsp-mode-map) - (unbind-key "s-l s q" lsp-mode-map) - (unbind-key "s-l s r" lsp-mode-map) - (unbind-key "s-l s s" lsp-mode-map)) - -(use-package lsp-ui :ensure t :after (lsp-mode)) -(with-eval-after-load 'lsp-ui - (setq lsp-ui-doc-enable t - lsp-ui-header t - lsp-ui-delay 0.5 ;; Wait half a second to display documentation - lsp-ui-doc-position 'at-point - lsp-ui-doc-include-signature t)) - -;; Lsp debugger mode -(use-package dap-mode :ensure t :after (lsp-mode lsp-ui)) - -(provide 'icejam-lsp) -;;; icejam-lsp.el ends here diff --git a/lisp/icejam-magit.el b/lisp/icejam-magit.el index 48021fe..6a25c20 100644 --- a/lisp/icejam-magit.el +++ b/lisp/icejam-magit.el @@ -2,17 +2,18 @@ ;;; Commentary: ;;; Code: -(require 'icejam-keys-mode) +(eval-when-compile (defvar icejam-keys-mode-map)) (use-package magit :ensure t + :commands (magit-blame-quit) :defer t :bind (:map icejam-keys-mode-map (" c" . magit-checkout) (" b" . magit-blame-addition) (" g" . magit-status)) - (:map magit-blame-mode-map - (" b" . 'magit-blame-quit))) + (:map magit-blame-mode-map + (" b" . 'magit-blame-quit))) (provide 'icejam-magit) ;;; icejam-magit.el ends here diff --git a/lisp/icejam-prog-mode.el b/lisp/icejam-prog-mode.el index 9bfe091..84bf11a 100644 --- a/lisp/icejam-prog-mode.el +++ b/lisp/icejam-prog-mode.el @@ -12,44 +12,42 @@ (global-eldoc-mode t) ;; Revert tag tables without asking -(use-package etags :ensure nil - :custom (tags-revert-without-query t "Revert tag tables without asking")) +(use-package etags :ensure nil :defer t + :config + (setopt tags-revert-without-query t)) ;;; Show trailing whitespace and remove whitespace on save (use-package whitespace :ensure nil - :custom ((whitespace-style #'(face trailing empty) "New whitespace style.") - (require-final-newline 't "Insert newline on save")) :hook ((prog-mode . whitespace-mode) (text-mode . whitespace-mode) (conf-mode . whitespace-mode) - (before-save . whitespace-cleanup))) + (before-save . whitespace-cleanup)) + :config + (setopt whitespace-style #'(face trailing empty) ;; New whitespace style + require-final-newline 't ;; Insert newline on save + )) (setq-default indent-tabs-mode nil) ;; Use colorful, matching parens ;; Rework the code below to enumerate each hook separately: -(use-package rainbow-delimiters :ensure t +(use-package rainbow-delimiters :ensure t :defer t :hook ((prog-mode . rainbow-delimiters-mode) - (text-mode . rainbow-delimiters-mode)) - :config - (electric-pair-mode t) - (show-paren-mode t)) + (text-mode . rainbow-delimiters-mode) + (elpaca-after-init . electric-pair-mode) + (elpaca-after-init . show-paren-mode))) ;;; Show hex (#aaa) colors as colors -(use-package rainbow-mode :ensure t +(use-package rainbow-mode :ensure t :defer t :hook ((prog-mode . rainbow-mode) (text-mode . rainbow-mode))) ;; Dash integration -(use-package dash-at-point :ensure t) -(with-eval-after-load 'dash-at-point +(use-package dash-at-point :ensure t :defer t + :config (add-to-list 'dash-at-point-mode-alist '(enh-ruby-mode . "ruby,rubygems,rails")) (add-to-list 'dash-at-point-mode-alist '(elixir-ts-mode . "elixir,hex"))) -;; By default, use 2 spaces for indentation -(setopt tab-width 2) -(setopt tab-stop-list (number-sequence tab-width 200 tab-width)) - ;; Ensure indentation in steps: (defun icejam-set-indent (step) "Set indentation to STEP." @@ -57,17 +55,25 @@ (setq-local tab-width step) (setq-local tab-stop-list (number-sequence step 200 step))) -(use-package column-enforce-mode :ensure t - :config - (declare-function global-column-enforce-mode "column-enforce-mode") - (global-column-enforce-mode t)) +;; By default, use 2 spaces for indentation +(icejam-set-indent 2) + +(use-package column-enforce-mode :ensure t :defer t + :hook (elpaca-after-init . global-column-enforce-mode)) ;; PCRE to Emacs regex translations -(use-package pcre2el :ensure t) +(use-package pcre2el :ensure t :defer 5) ;; Visual regexp -(use-package visual-regexp-steroids :ensure t :requires (pcre2el) - :custom (vr/engine 'pcre2el "Use pcre2el for regexes")) +(use-package visual-regexp-steroids :ensure t + :after (pcre2el) + :config + ;; Use pcre2el for regexes - so that I can use brackets more naturally with + ;; regexp. + (setopt vr/engine 'pcre2el)) + +;; Format all programming languages with the same package +(use-package apheleia :ensure t :defer t) (provide 'icejam-prog-mode) ;;; icejam-prog-mode.el ends here diff --git a/lisp/icejam-sys-specific.el b/lisp/icejam-sys-specific.el index 3453146..590f768 100644 --- a/lisp/icejam-sys-specific.el +++ b/lisp/icejam-sys-specific.el @@ -4,16 +4,15 @@ ;;; Code: (defconst IS-MAC (eq system-type 'darwin)) -(defconst IS-BSD (eq system-type 'berkeley-unix)) (defconst IS-GNU (eq system-type 'gnu/linux)) -(require 'icejam-keys-mode) +(eval-when-compile (defvar icejam-keys-mode-map)) (defun icejam-function-delete-window () "Kill a window." (interactive) (delete-window)) -;;;;;;;;; Mac-specific config ;;;;;;;;;;;;;;;;;;;;; +;; Mac-specific config (if IS-MAC (progn (setq mac-option-modifier 'meta) @@ -30,30 +29,30 @@ (setq mac-option-modifier nil) (setq mac-command-modifier 'meta)))) - ;;;;;;;;; Mac binding (fix) ;;;;;;;;;;;;;;;;;; - (define-key icejam-keys-mode-map (kbd "H-") #'end-of-line) - (define-key icejam-keys-mode-map (kbd "H-") #'beginning-of-line) - (define-key icejam-keys-mode-map (kbd "H-") #'scroll-down) ; WTF is this reverse, I dunno - (define-key icejam-keys-mode-map (kbd "H-") #'scroll-up) + ;; Mac binding (fix) + (keymap-set icejam-keys-mode-map "H-" #'end-of-line) + (keymap-set icejam-keys-mode-map "H-" #'beginning-of-line) + (keymap-set icejam-keys-mode-map "H-" #'scroll-down) ; WTF is this reverse, I dunno + (keymap-set icejam-keys-mode-map "H-" #'scroll-up) ;; Use CMD bindings that you know from the operating system - (define-key icejam-keys-mode-map [(hyper a)] #'mark-whole-buffer) ;; Select all - (define-key icejam-keys-mode-map [(hyper v)] #'yank) ;; Paste - (define-key icejam-keys-mode-map [(hyper x)] #'kill-region) ;; Cut - (define-key icejam-keys-mode-map [(hyper c)] #'kill-ring-save) ;; Copy - (define-key icejam-keys-mode-map [(hyper s)] #'save-buffer) ;; Save - (define-key icejam-keys-mode-map [(hyper z)] #'undo) ;; Undo - (define-key icejam-keys-mode-map [(hyper q)] #'kill-emacs) ;; Close emacs - (define-key icejam-keys-mode-map [(hyper w)] #'icejam-function-delete-window) ;; Close window + (keymap-set icejam-keys-mode-map "H-a" #'mark-whole-buffer) ;; Select all + (keymap-set icejam-keys-mode-map "H-v" #'yank) ;; Paste + (keymap-set icejam-keys-mode-map "H-x" #'kill-region) ;; Cut + (keymap-set icejam-keys-mode-map "H-c" #'kill-ring-save) ;; Copy + (keymap-set icejam-keys-mode-map "H-s" #'save-buffer) ;; Save + (keymap-set icejam-keys-mode-map "H-z" #'undo) ;; Undo + (keymap-set icejam-keys-mode-map "H-Z" #'undo-redo) ;; Redo + (keymap-set icejam-keys-mode-map "H-q" #'kill-emacs) ;; Close emacs + (keymap-set icejam-keys-mode-map "H-w" #'icejam-function-delete-window) ;; Close window ;; And then some extras - (define-key icejam-keys-mode-map [(hyper l)] #'goto-line) ;; Goto Line + (keymap-set icejam-keys-mode-map "H-l" #'goto-line) ;; Goto Line ;; Disable meta on right alt (useful for Polish characters) ;; (setq mac-right-option-modifier nil) ;; Allow for fullscreen frames without gaps - (setq frame-resize-pixelwise t) - )) + (setq frame-resize-pixelwise t))) (defun icejam-switch-right-left-alt () "Set keyboard to das keyboard." @@ -66,42 +65,25 @@ (setq mac-option-modifier 'meta) (setq mac-right-option-modifier nil)))) -;;;;;;;;; Linux-specific config ;;;;;;;;;;;;;;;;;;;;; +;; Linux-specific config (if IS-GNU (progn - ;;;; Save and undo - (define-key icejam-keys-mode-map (kbd "s-s") 'save-buffer) - (define-key icejam-keys-mode-map (kbd "s-z") 'undo) - (define-key icejam-keys-mode-map (kbd "s-a") 'mark-whole-buffer) + ;; Save and undo + (keymap-set icejam-keys-mode-map "s-s" #'save-buffer) + (keymap-set icejam-keys-mode-map "s-z" #'undo) + (keymap-set icejam-keys-mode-map "s-Z" #'undo-redo) + (keymap-set icejam-keys-mode-map "s-a" #'mark-whole-buffer) - ;;;;;;;; Copy and paste bindings ;;;;;;;;;;;;;;;;;; - (define-key icejam-keys-mode-map (kbd "s-x") 'kill-region) - (define-key icejam-keys-mode-map (kbd "s-v") 'yank) - (define-key icejam-keys-mode-map (kbd "s-c") 'kill-ring-save) + ;; Copy and paste bindings + (keymap-set icejam-keys-mode-map "s-x" #'kill-region) + (keymap-set icejam-keys-mode-map "s-v" #'yank) + (keymap-set icejam-keys-mode-map "s-c" #'kill-ring-save) - ;;;;;;;;; Linux Ergo bindings (fix) ;;;;;;;;;;;;;;;;;; - (define-key icejam-keys-mode-map (kbd "C-") 'end-of-line) - (define-key icejam-keys-mode-map (kbd "C-") 'beginning-of-line) - (define-key icejam-keys-mode-map (kbd "C-") 'scroll-down) ; WTF is this reverse, I dunno - (define-key icejam-keys-mode-map (kbd "C-") 'scroll-up))) - -;;;;;;;;; BSD-specific config ;;;;;;;;;;;;;;;;;;;;; -(if IS-BSD - (progn - (define-key icejam-keys-mode-map (kbd "A-") 'end-of-line) - (define-key icejam-keys-mode-map (kbd "A-") 'beginning-of-line) - (define-key icejam-keys-mode-map (kbd "A-") 'scroll-down) ; WTF is this reverse, I dunno - (define-key icejam-keys-mode-map (kbd "A-") 'scroll-up) - - (define-key icejam-keys-mode-map (kbd "A-a") 'mark-whole-buffer) - (define-key icejam-keys-mode-map (kbd "A-v") 'yank) - (define-key icejam-keys-mode-map (kbd "A-x") 'kill-region) - (define-key icejam-keys-mode-map (kbd "A-c") 'kill-ring-save) - (define-key icejam-keys-mode-map (kbd "A-s") 'save-buffer) - (define-key icejam-keys-mode-map (kbd "A-l") 'goto-line) - (define-key icejam-keys-mode-map (kbd "A-w" '+delete-window) - (define-key icejam-keys-mode-map (kbd "A-z") 'undo) - (define-key icejam-keys-mode-map (kbd "A-q") 'kill-emacs)))) + ;; Linux Ergo bindings (fix) + (keymap-set icejam-keys-mode-map "C-" #'end-of-line) + (keymap-set icejam-keys-mode-map "C-" #'beginning-of-line) + (keymap-set icejam-keys-mode-map "C-" #'scroll-down) ; WTF is this reverse, I dunno + (keymap-set icejam-keys-mode-map "C-" #'scroll-up))) (provide 'icejam-sys-specific) ;;; icejam-sys-specific.el ends here diff --git a/lisp/icejam-themes.el b/lisp/icejam-themes.el index d79a0bc..2574a13 100644 --- a/lisp/icejam-themes.el +++ b/lisp/icejam-themes.el @@ -3,31 +3,20 @@ ;;; Code: (use-package spaceline :ensure t - :hook ((elpaca-after-init . spaceline-emacs-theme))) + :hook ((elpaca-after-init . spaceline-emacs-theme)) + :config + ;; Recompile spaceline after each theme has been reloaded to ensure + ;; that there are no artifacts instead of arrows on the screen. + (setopt enable-theme-functions 'spaceline-compile)) -(use-package base16-theme :ensure t - ;; :config - ;; (load-theme 'base16-atelier-forest-light t t) - ;; (load-theme 'base16-harmonic16-light t t) - ;; (load-theme 'base16-horizon-light t t) - ;; (load-theme 'base16-humanoid-light t t) - ;; (load-theme 'base16-zenburn t) - ;; (load-theme 'base16-tomorrow-night-eighties t t) - ;; (load-theme 'base16-darcula t t) - ;; (load-theme 'base16-solarflare t t) - ;; (load-theme 'base16-snazzy t t) - ;; (load-theme 'base16-onedark t t) - ;; (load-theme 'base16-gruvbox-dark-hard t t) - ;; (load-theme 'modus-vivendi t t) - ;; (load-theme 'base16-zenbones t t) - ) +(use-package base16-theme :ensure t) ;; (use-package apropospriate-theme :ensure t ;; :config (load-theme 'apropospriate-light t t)) ;; (use-package leuven-theme :ensure t ;; :config ;; (load-theme 'leuven t t)) -;; (use-package modus-themes :ensure t ) +(use-package modus-themes :ensure t) ;; (use-package darktooth-theme :ensure t ;; :config ;; (load-theme 'darktooth t t)) @@ -43,6 +32,7 @@ ;; (use-package zenburn-theme :ensure t ;; :config ;; (load-theme 'zenburn t t)) + ;; (use-package catppuccin-theme :ensure t ;; :custom ;; ((catpuccin-flavor 'frappe)) @@ -52,11 +42,19 @@ ;; Disable cursor blinking (blink-cursor-mode 0) +;; Scroll with the trackpad smoothly +(pixel-scroll-precision-mode 1) + ;; My own theme modifications: (with-eval-after-load 'base16-theme (setopt base16-theme-256-color-source 'colors) + (load-theme 'base16-equilibrium-light t t) + (load-theme 'base16-gruvbox-dark-pale t t) + (load-theme 'base16-onedark t t) + (load-theme 'modus-operandi-tinted t t) (require 'icejam-base16-zenburn) (require 'icejam-base16-harmonic-light) + (require 'icejam-base16-catppuccin-latte) (if (memq window-system '(x mac ns)) (enable-theme 'icejam-base16-zenburn) diff --git a/lisp/icejam-transient.el b/lisp/icejam-transient.el index 15a30da..7dee4b6 100644 --- a/lisp/icejam-transient.el +++ b/lisp/icejam-transient.el @@ -2,11 +2,9 @@ ;;; Commentary: ;;; Global Transient definitions. ;;; Code: +(eval-when-compile (defvar icejam-keys-mode-map)) -(require 'icejam-avy) -(require 'icejam-keys-mode) -(require 'icejam-blocking) -;; (use-package transient :ensure (:wait t) :demand t) +(use-package transient :ensure (:wait t)) (defun icejam-mark-and-indent-whole-buffer () "Mark and indent whole buffer." @@ -15,100 +13,116 @@ (transient-define-prefix icejam-project-menu () "Project Commands." - ["" - ["Project" - ("s" "Switch project" project-switch-project) + [["Project" + ("s" "Switch project" project-switch-project) ("f" "Find file in project" project-find-file) - ("g" "Grep in project" consult-ripgrep)] - ["Completions" - ("a" "Grep in buffer" consult-line) - ("b" "Buffer list" consult-buffer) - ("t" "Find file" find-file)] + ("g" "Grep in project" consult-ripgrep) + ("t" "Find file anywhere" find-file)] ["Magit" - ("m" "Git status" magit-status) - ("C" "Git checkout" magit-checkout) - ("M" "Git blame" magit-blame)]] - ["" - ["LISP" + ("m" "Git status" magit-status) + ("C" "Git checkout" magit-checkout) + ("M" "Git blame" magit-blame)] + ["Completions" + ("a" "Find line by contents" consult-line) + ("b" "Find buffer by name" consult-buffer)]] + [["LISP" ("i" "IELM" ielm) + ("B" "iBuffer" ibuffer) ("e" "eval-region" eval-region)] ["Other" ("d" "deft" deft) - ("T" "Speed Type" speed-type-text)]]) + ("T" "Speed Type" speed-type-text)]] + [["" + ("q" "Quit" keyboard-quit)]]) (transient-define-prefix icejam-code-menu () "Code Commands." - ["" - ["Manipulate" + [["Manipulate" ("c" "Toggle Comment" comment-line) ("r" "Replace" vr/replace) - ("i" "Indent" indent-region)] - ["Complete" - ("y" "Snippet" company-yasnippet) - ("m" "Any (Company)" company-complete) - ("g" "Ask GPT" gptel-menu) - ("e" "Refactor (Elysium)" elysium-query)] - ["Find" + ("i" "Indent" indent-region)]] + [["Complete" + ("g" "Ask GPTel" gptel-menu) + ("a" "Aider" aidermacs-transient-menu) + ("e" "Refactor with Elysium" elysium-query)]] + [["Find" ("s" "Swiper" consult-line) ("u" "Vundo" vundo) ("d" "Dash" dash-at-point)]]) -(transient-define-prefix icejam-window-menu () - "Windows Commands." +(transient-define-prefix icejam-buffer-menu () + "Buffers and windows." ["" - ["Move" - ("" " Left" windmove-left) - ("" "Right" windmove-right) - ("" " Up" windmove-up) - ("" " Down" windmove-down)] + ["Move Cursor" + :pad-keys t + ("" "Left buffer" windmove-left) + ("" "Right buffer" windmove-right) + ("" "Top buffer" windmove-up) + ("" "Bottom buffer" windmove-down)] + ["Move this buffer" + :pad-keys t + ("v[" "To left" buf-move-left) + ("v]" "To right" buf-move-right) + ("h[" "Up" buf-move-up) + ("h]" "Down" buf-move-down)]] + [["Jump to" + ("w" "Word" avy-goto-word-1) + ("l" "Line" avy-goto-line) + ("c" "Character" avy-goto-char-2)] ["Split" - ("h" "Horizontally" split-window-below) - ("v" "Vertically" split-window-right)] - ["Kill" - "" - "" - "" - ("k" "Kill Buffer" kill-buffer-and-window)]]) + ("sr" "To right" split-window-right) + ("sb" "To bottom" split-window-below) + ("\\" "To right" split-window-right) + ("/" "To bottom" split-window-below)]] + [["Buffers" + :pad-keys t + ("s[" "Go to previous buffer" previous-buffer) + ("s]" "Go to next buffer" next-buffer) + ("bi" "iBuffer" ibuffer) + ("bf" "Find buffer" consult-buffer) + ("k" "Kill buffer and window" kill-buffer-and-window)]] + [["Fonts" + :pad-keys t + ("fs" "Adjust font size globally" global-text-scale-adjust) + ("fi" "Increase by one in this buffer" + (lambda () (interactive) (text-scale-increase 1))) + ("fd" "Decrease by one in this buffer" + (lambda () (interactive) (text-scale-decrease 1))) + ("fr" "Reset this buffer" + (lambda () (interactive) (text-scale-adjust 0)))]] + [["" + ("q" "Quit" keyboard-quit)]]) (transient-define-prefix icejam-language-menu () "Language (Buffer) Commands." - ["" - ["Buffer" - ("r" "Reload" icejam-revert-buffer-no-confirm) - ("f" "Format" lsp-format-buffer) - ("i" "Indent" icejam-mark-and-indent-whole-buffer)] - ["Other" - ("m" "iMenu" lsp-ui-imenu) - ("e" "Show Errors" flycheck-list-errors)]]) + [[:description + (lambda () + (concat (propertize "Code actions for " 'face 'transient-heading) + (propertize (format "%s" major-mode) 'face 'transient-key) + (propertize ":\n" 'face 'transient-heading))) -(transient-define-prefix icejam-history-menu () - "Buffer History Commands." - ["History" - ("[" "Previous" previous-buffer) - ("]" "Next" previous-buffer)]) + ("r" "Reload buffer" icejam-revert-buffer-no-confirm) + ("e" "Show errors" flymake-show-buffer-diagnostics) + ("f" "Format buffer with apheleia formatter" apheleia-format-buffer) -(transient-define-prefix icejam-move-menu () - "Move Commands." - ["" - ["Move this buffer" - ("{" "Up" buf-move-left) - ("[" "Left" buf-move-right) - ("}" "Right" buf-move-up) - ("]" "Down" buf-move-down)] - ["Jump to" - ("w" "Word" avy-goto-word-1) - ("l" "Character" avy-goto-line) - ("c" "Line" avy-goto-char-2)]]) + ;; This only appears for emacs-lisp-mode + ("d" "Explain thing at point" helpful-at-point :if-mode emacs-lisp-mode) -(transient-define-prefix icejam-font-menu () - "Font Commands." - ["" - ["Everywhere" - ("s" "Adjust font size" global-text-scale-adjust)] - ["In this buffer" - ("i" "Bigger" (lambda () (interactive) (text-scale-increase 1))) - ("d" "Smaller" (lambda () (interactive) (text-scale-decrease 1))) - ("r" "Reset" (lambda () (interactive) (text-scale-adjust 0)))]]) + ("m" "iMenu" consult-imenu) + + ;; Finally, quit. + ("q" "Quit" keyboard-quit)]]) + +(transient-define-prefix icejam-elpaca-menu () + "Commands related to packages." + [["Packages and compilation" + ("m" "Open Elpaca manager" elpaca-manager) + ("f" "Fetch all package updates" elpaca-fetch-all) + ("s" "Symlink treesitter grammar objects" icejam-tree-sitter-symlink-grammar-objects) + ("p" "Prune native compilation cache" native-compile-prune-cache) + ("w" "Write elpaca lockfile" icejam-elpaca-write-lock)]] + [["" + ("q" "Quit" keyboard-quit)]]) (defcustom icejam-language-transient-alist '() @@ -129,13 +143,24 @@ You can pass MAYBE-MODE to find mode explicitly." (interactive) (funcall (icejam-language-transient-for-mode))) -(define-key icejam-keys-mode-map (kbd "C-c p") 'icejam-project-menu) -(define-key icejam-keys-mode-map (kbd "C-c c") 'icejam-code-menu) -(define-key icejam-keys-mode-map (kbd "C-c w") 'icejam-window-menu) -(define-key icejam-keys-mode-map (kbd "C-c s") 'icejam-history-menu) -(define-key icejam-keys-mode-map (kbd "C-c f") 'icejam-font-menu) -(define-key icejam-keys-mode-map (kbd "C-c m") 'icejam-move-menu) -(define-key icejam-keys-mode-map (kbd "C-c l") 'icejam-transient-for-lang) +(transient-define-prefix icejam-command-palette () + "All transient menus in one place." + ["Command palette\n" + ["The thing you are editing" + ("p" "Project" icejam-project-menu) + ("c" "Code" icejam-code-menu) + ("l" "Language" icejam-transient-for-lang) + ("r" "Revert Buffer" icejam-revert-buffer-no-confirm)] + ["The editor itself" + ("b" "iBuffer" ibuffer) + ("P" "Packages" icejam-elpaca-menu) + ("w" "Window" icejam-buffer-menu)]]) + +(keymap-set icejam-keys-mode-map "C-c p" #'icejam-project-menu) +(keymap-set icejam-keys-mode-map "C-c c" #'icejam-code-menu) +(keymap-set icejam-keys-mode-map "C-c w" #'icejam-buffer-menu) +(keymap-set icejam-keys-mode-map "C-c l" #'icejam-transient-for-lang) +(keymap-set icejam-keys-mode-map "H-p" #'icejam-command-palette) (provide 'icejam-transient) ;;; icejam-transient.el ends here diff --git a/lisp/icejam-tree-sitter.el b/lisp/icejam-tree-sitter.el index debd006..30e855b 100644 --- a/lisp/icejam-tree-sitter.el +++ b/lisp/icejam-tree-sitter.el @@ -10,26 +10,27 @@ ;; community. ;;; Code: +(use-package tree-sitter-langs :ensure t :defer t + :commands tree-sitter-langs--bin-dir + :hook + (elpaca-after-init . (lambda () (add-to-list + 'treesit-extra-load-path + (tree-sitter-langs--bin-dir))))) -(use-package tree-sitter-langs :ensure t - :config - (declare-function tree-sitter-langs--bin-dir "tree-sitter-langs") - (add-to-list 'treesit-extra-load-path (tree-sitter-langs--bin-dir)) - - (defun icejam-tree-sitter-symlink-grammar-objects () - "Create symlinks for treesitter grammars. -Tree-sitter-langs-build releases grammars as LANG.so. Treesit needs +(defun icejam-tree-sitter-symlink-grammar-objects () + "Create symlinks for treesitter grammars. +Tree-sitter-langs-build releases grammars as LANG.so. Treesit needs libtree-sitter-LANG.so" - (interactive) - (dolist (file (directory-files (tree-sitter-langs--bin-dir) 'full - (concat "\\" (car tree-sitter-load-suffixes) "$"))) - ;; make symlink (or copy) libtree-sitter-c.so -> c.so - (let ((target (concat (file-name-as-directory (file-name-directory file)) - "libtree-sitter-" - (file-name-nondirectory file)))) - (if (memq system-type '(ms-dos windows-nt cygwin)) - (copy-file file target) - (make-symbolic-link file target)))))) + (interactive) + (dolist (file (directory-files (tree-sitter-langs--bin-dir) 'full + (concat "\\" (car tree-sitter-load-suffixes) "$"))) + ;; make symlink (or copy) libtree-sitter-c.so -> c.so + (let ((target (concat (file-name-as-directory (file-name-directory file)) + "libtree-sitter-" + (file-name-nondirectory file)))) + (if (memq system-type '(ms-dos windows-nt cygwin)) + (copy-file file target) + (make-symbolic-link file target))))) (provide 'icejam-tree-sitter) ;;; icejam-tree-sitter.el ends here diff --git a/lisp/icejam-vundo.el b/lisp/icejam-vundo.el index 2a513d0..ae59a87 100644 --- a/lisp/icejam-vundo.el +++ b/lisp/icejam-vundo.el @@ -10,8 +10,11 @@ ;;; Code: -;;;;;;;;;;;;;;;;; Use more advanced undo options -(use-package vundo :ensure t :defer t) +;; Undo UI +(use-package vundo :ensure t :defer t + :config + ;; Keep 64 MB of undo data, we have enough RAM to do this. + (setopt undo-limit (* 64 1024 1024))) (provide 'icejam-vundo) ;;; icejam-vundo.el ends here diff --git a/lisp/langs/icejam-lang-clang.el b/lisp/langs/icejam-lang-clang.el index 748b814..65e25bf 100644 --- a/lisp/langs/icejam-lang-clang.el +++ b/lisp/langs/icejam-lang-clang.el @@ -2,8 +2,6 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) - (declare-function column-enforce-n "column-enforce-mode" (number)) (defun icejam-lang-activate-clang-mode () @@ -19,10 +17,7 @@ (if (boundp 'c-default-style) (setq-local c-default-style "bsd") - (defvar c-default-style "bsd")) - - (add-to-list (make-local-variable 'company-backends) - '(company-etags company-yasnippet))) + (defvar c-default-style "bsd"))) (add-hook 'c-mode-hook 'icejam-lang-activate-clang-mode) diff --git a/lisp/langs/icejam-lang-clojure.el b/lisp/langs/icejam-lang-clojure.el index 98bf1c9..7ddc331 100644 --- a/lisp/langs/icejam-lang-clojure.el +++ b/lisp/langs/icejam-lang-clojure.el @@ -2,16 +2,14 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(require 'icejam-transient) - (declare-function column-enforce-n "column-enforce-mode" (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) (use-package clojure-mode :defer t :ensure t) (use-package cider :requires clojure-mode - :commands cider-jack-in + :commands (cider-mode cider-jack-in) :defer t :ensure t :config (setq cider-annotate-completion-function t)) @@ -32,7 +30,7 @@ ("r" "Reload" icejam-revert-buffer-no-confirm) ("f" "Format" cider-format-buffer) ("l" "Load" cider-load-buffer) - ("e" "Show Errors" flycheck-list-errors)]] + ("e" "Show Errors" flymake-show-buffer-diagnostics)]] ["" ("q" "Quit" keyboard-quit)]) @@ -41,10 +39,8 @@ (icejam-set-indent 2) ;; Default indentation of 2 characters (column-enforce-n 80) (cider-mode 1) - (setq-local indent-tabs-mode nil) - (define-key - clojure-mode-map (kbd "C-c l") 'icejam-lang-cider-context-menu) + (define-key clojure-mode-map (kbd "C-c l") 'icejam-lang-cider-context-menu) ;; Do not enable paredit for clojure ;; (paredit-mode 1) @@ -58,7 +54,7 @@ (setq-local cider-show-error-buffer 'except-in-repl)) (add-hook 'cider-repl-mode-hook 'icejam-lang-clojure-repl-config) -(add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion) +(add-hook 'cider-mode-hook 'cider-enable-flex-completion) (provide 'icejam-lang-clojure) ;;; icejam-lang-clojure.el ends here diff --git a/lisp/langs/icejam-lang-common-lisp.el b/lisp/langs/icejam-lang-common-lisp.el deleted file mode 100644 index 4f9d359..0000000 --- a/lisp/langs/icejam-lang-common-lisp.el +++ /dev/null @@ -1,22 +0,0 @@ -;;; common-lisp.el --- summary -*- lexical-binding: t; -*- - -;; Author: Maciej Szlosarczyk -;; Maintainer: Maciej Szlosarczyk -;; Version: 0.1-snapshot - -;;; Commentary: - -;;; Code: - -(require 'icejam-prog-mode) -(require 'icejam-company-yasnippet) - -(use-package slime :ensure t) -(use-package slime-company :ensure t - :requires (slime company)) - -(setq inferior-lisp-program "sbcl") -(slime-setup '(slime-fancy slime-company slime-quicklisp slime-asdf)) - -(provide 'icejam-lang-common-lisp) -;;; icejam-lang-common-lisp.el ends here diff --git a/lisp/langs/icejam-lang-dart.el b/lisp/langs/icejam-lang-dart.el index c79ad1c..ae80968 100644 --- a/lisp/langs/icejam-lang-dart.el +++ b/lisp/langs/icejam-lang-dart.el @@ -2,14 +2,11 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) - (use-package dart-mode :ensure t :defer t) -(use-package lsp-dart :defer t :ensure t :requires (dart-mode lsp)) (defun icejam-lang-activate-dart-mode () "Reconfigure dart mode for your own purposes." - (lsp)) + (eglot-ensure)) (add-hook 'dart-mode-hook 'icejam-lang-activate-dart-mode) diff --git a/lisp/langs/icejam-lang-dhall.el b/lisp/langs/icejam-lang-dhall.el index 49c24a6..f92d9f9 100644 --- a/lisp/langs/icejam-lang-dhall.el +++ b/lisp/langs/icejam-lang-dhall.el @@ -2,14 +2,12 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(require 'icejam-lsp) - -(use-package dhall-mode :ensure t :defer t :requires (lsp)) +(use-package dhall-mode :ensure t :defer t) (defun icejam-lang-activate-dhall-mode () "Reconfigure dhall mode for your own purposes." - (lsp)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'dhall-mode-hook 'icejam-lang-activate-dhall-mode) (add-hook 'dhall-mode-hook 'display-line-numbers-mode) diff --git a/lisp/langs/icejam-lang-elisp.el b/lisp/langs/icejam-lang-elisp.el index 749dcd1..513a829 100644 --- a/lisp/langs/icejam-lang-elisp.el +++ b/lisp/langs/icejam-lang-elisp.el @@ -2,43 +2,26 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(require 'icejam-transient) +(eval-when-compile + (declare-function column-enforce-n 'column-enforce-mode (number)) + (declare-function icejam-set-elisp-capfs 'icejam-complete-at-point) + (declare-function icejam-set-indent 'icejam-prog-mode)) -(use-package lispy :ensure t) - -(declare-function column-enforce-n "column-enforce-mode" (number)) (add-to-list 'auto-mode-alist '("/Eask\\'" . emacs-lisp-mode)) -(transient-define-prefix icejam-elisp-lang-menu () - "Elisp Buffer Commands." - ["" - ["Buffer" - ("r" "Reload" icejam-revert-buffer-no-confirm) - ("i" "Indent" icejam-mark-and-indent-whole-buffer) - ("d" "Explain" helpful-at-point) - ("e" "Show Errors" flycheck-list-errors)]] - ["" - ("q" "Quit" keyboard-quit)]) +(use-package lispy :ensure t :defer t :commands (lispy-mode)) +;; (use-package geiser-guile :ensure t :defer t) -(add-to-list - 'icejam-language-transient-alist '(emacs-lisp-mode . icejam-elisp-lang-menu)) +(defun icejam-activate-emacs-lisp-mode () + "Goodies for editing Emacs files." -(with-eval-after-load 'lispy - (declare-function lispy-mode "lispy") - (defun icejam-activate-emacs-lisp-mode () - "Goodies for editing Emacs files." - (icejam-set-indent 2) ;; Default indentation of 2 characters - (column-enforce-n 80) + (icejam-set-indent 2) ;; Default indentation of 2 characters + (column-enforce-n 80) ;; Use 80 char limit. + (lispy-mode t) ;; Modal editing for Lisp + (icejam-set-elisp-capfs)) - (lispy-mode t) - (setq-default indent-tabs-mode nil) - - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-yasnippet company-capf))) - - (add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode)) +(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode) +(add-hook 'ielm-mode-hook 'icejam-set-elisp-capfs) (provide 'icejam-lang-elisp) ;;; icejam-lang-elisp.el ends here diff --git a/lisp/langs/icejam-lang-elixir.el b/lisp/langs/icejam-lang-elixir.el index 2697a43..44b055c 100644 --- a/lisp/langs/icejam-lang-elixir.el +++ b/lisp/langs/icejam-lang-elixir.el @@ -2,32 +2,40 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(require 'icejam-flycheck) -(require 'icejam-transient) +(eval-when-compile + (declare-function transient-define-prefix 'transient) + (declare-function column-enforce-n 'column-enforce-mode (number)) + (declare-function -> 'dash) + (declare-function yas--table-get-create 'yasnippet) + (declare-function yas--remove-template-by-uuid 'yasnippet) + (declare-function icejam-set-indent 'icejam-prog-mode) + (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) + (defvar icejam-language-transient-alist) + (defvar icejam-elixir-lang-menu) + (defvar apheleia-mode-alist)) -(declare-function lsp "lsp-mode" nil) -(declare-function column-enforce-n "column-enforce-mode" (number)) - -(use-package elixir-mode :ensure t) -(use-package elixir-ts-mode :ensure t :requires (elixir-mode lsp-mode lsp-ui)) - -(with-eval-after-load 'elixir-ts-mode - (add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-ts-mode)) - (add-to-list 'auto-mode-alist '("\\.ex\\'" . elixir-ts-mode))) +(use-package elixir-ts-mode :ensure t :defer t :after (apheleia) + :config + (add-to-list 'apheleia-mode-alist '(heex-ts-mode . mix-format))) (transient-define-prefix icejam-elixir-lang-menu () - "Elixir Buffer Commands." - ["" - ["LSP" - ("m" "iMenu" lsp-ui-imenu)] - ["Buffer" - ("r" "Reload" icejam-revert-buffer-no-confirm) - ("f" "Format" elixir-format) - ("i" "Indent" icejam-mark-and-indent-whole-buffer) - ("e" "Show Errors" flycheck-list-errors)]] - ["" - ("q" "Quit" keyboard-quit)]) + [[:description + (lambda () + (concat (propertize "Code actions for " 'face 'transient-heading) + (propertize (format "%s" major-mode) 'face 'transient-key) + (propertize ":\n" 'face 'transient-heading))) + ("m" "iMenu" consult-imenu) + ("r" "Reload buffer" icejam-revert-buffer-no-confirm) + ("e" "Show errors" flymake-show-buffer-diagnostics) + ("f" "Format buffer with Elixir formatter" apheleia-format-buffer) + + ("q" "Quit" keyboard-quit)]]) + +(defun icejam-delete-elixir-snippets () + "This function deletes Elixir snippets I don't use." + (-> 'elixir-mode + (yas--table-get-create) + (yas--remove-template-by-uuid "defmodule XXX end"))) (add-to-list 'icejam-language-transient-alist '(elixir-ts-mode . icejam-elixir-lang-menu)) @@ -36,21 +44,27 @@ "All things Elixir." (icejam-set-indent 2) (column-enforce-n 98) - (lsp) - (setq-local flycheck-check-syntax-automatically '(save mode-enabled)) - (setq-local lsp-eldoc-enable-hover nil) - (setq-local lsp-completion-enable-additional-text-edit nil) - (setq-local company-minimum-prefix-length 3) + (eglot-ensure) ;; If needed, switch the one below to false to disable documentation pop-ups ;; (setq-local lsp-ui-doc-enable t) - - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + (icejam-set-eglot-capfs) + (icejam-delete-elixir-snippets)) (add-hook 'heex-ts-mode-hook 'icejam-activate-elixir-ts-mode) (add-hook 'elixir-ts-mode-hook 'icejam-activate-elixir-ts-mode) +;; (use-package ert :ensure nil :defer t) +;; (ert-deftest icejam-activate-elixir-ts-mode () +;; "Test `elixir-ts-mode` activation." +;; (with-temp-buffer +;; (elixir-ts-mode) +;; (icejam-activate-elixir-ts-mode) +;; (should (eq major-mode 'elixir-ts-mode)) +;; (should (bound-and-true-p column-enforce-mode)) +;; (should (equal " 98col" (buffer-local-value 'column-enforce-mode-line-string +;; (current-buffer)))) +;; (should (eq 2 (buffer-local-value 'tab-width (current-buffer)))))) + (provide 'icejam-lang-elixir) ;;; icejam-lang-elixir.el ends here diff --git a/lisp/langs/icejam-lang-erlang.el b/lisp/langs/icejam-lang-erlang.el index ea378f4..53aea32 100644 --- a/lisp/langs/icejam-lang-erlang.el +++ b/lisp/langs/icejam-lang-erlang.el @@ -2,85 +2,22 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(require 'icejam-lsp) +(declare-function column-enforce-n 'column-enforce-mode) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(declare-function lsp "lsp-mode" nil) -(declare-function column-enforce-n "column-enforce-mode" (number)) - -(use-package erlang - :defer t - :ensure (:depth 1) - :after (lsp lsp-ui)) - -(cl-defun icejam-erlang-emacs-path (erlang-version) - "Find path to Emacs tooling for ERLANG-VERSION." - (car (split-string - (shell-command-to-string - (format "find $HOME/.asdf/installs/erlang/%s/ -name erlang.el" - erlang-version)) "erlang.el"))) - -(cl-defun icejam-erlang-path (erlang-version) - "Find asdf path for ERLANG-VERSION." - (format "$HOME/.asdf/installs/erlang/%s/" erlang-version)) - -(defun icejam-erlang-plist (erlang-version) - "Create property list for ERLANG-VERSION." - (list :version erlang-version - :erlang-path (icejam-erlang-path erlang-version) - :emacs-path (icejam-erlang-emacs-path erlang-version))) - -(cl-defun icejam-installed-erlangs () - "List Erlang versions installed with asdf." - (split-string - (shell-command-to-string - (format "asdf list erlang")))) - -(cl-defun icejam-erlang-available-versions--plist () - "Create plist for all installed Erlang versions." - (mapcar 'icejam-erlang-plist (icejam-installed-erlangs))) - -(defvar icejam-erlang-available-versions (icejam-erlang-available-versions--plist)) - -(cl-defun icejam-erlang-currently-in-use () - "Get Erlang version currently in use." - (car (split-string (shell-command-to-string "asdf current erlang")))) - -(cl-defun icejam-erlang-current-version--plistp (erlang-plist) - "Check if currently in use Erlang is the same as the one in ERLANG-PLIST." - (equal (plist-get erlang-plist :version) (icejam-erlang-currently-in-use))) - -(cl-defun icejam-erlang-current-plist () - "Create plist from current Erlang version." - (seq-find 'icejam-erlang-current-version--plistp icejam-erlang-available-versions)) +(use-package erlang :defer t :ensure (:depth 1)) (defun icejam-activate-erlang-mode () - "All things for all Erlang, including header files." - (when (featurep 'erlang-start) (unload-feature 'erlang-start)) - - (defvar erlang/current-erlang (icejam-erlang-current-plist)) - - (add-to-list (make-local-variable 'load-path) - (plist-get erlang/current-erlang :emacs-path)) - - (add-to-list (make-local-variable 'exec-path) - (format "%slib/tools-3.1/emacs" - (plist-get erlang/current-erlang :erlang-path))) - - (setq-local erlang-man-root-dir - (format "%sman" - (plist-get erlang/current-erlang :erlang-path))) - - (require 'erlang-start) + "Start Erlang related editing process." (icejam-set-indent 4) (column-enforce-n 80) ;; Start LSP - (lsp) + (eglot-ensure) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode) diff --git a/lisp/langs/icejam-lang-fsharp.el b/lisp/langs/icejam-lang-fsharp.el index c22f4f2..4417834 100644 --- a/lisp/langs/icejam-lang-fsharp.el +++ b/lisp/langs/icejam-lang-fsharp.el @@ -9,24 +9,20 @@ ;; Fsharp configuration ;;; Code: +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function column-enforce-n 'column-enforce-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(require 'icejam-prog-mode) -(require 'icejam-lsp) - -(use-package fsharp-mode - :requires (lsp-mode lsp-ui) - :ensure t - :defer t) +(use-package fsharp-mode :ensure t :defer t) (defun icejam-activate-fsharp-mode () "Activate F# goodies." (icejam-set-indent 4) (column-enforce-n 100) - (lsp-deferred) + (eglot-ensure) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'fsharp-mode-hook 'icejam-activate-fsharp-mode) diff --git a/lisp/langs/icejam-lang-gleam.el b/lisp/langs/icejam-lang-gleam.el index 8773b9a..8ae481a 100644 --- a/lisp/langs/icejam-lang-gleam.el +++ b/lisp/langs/icejam-lang-gleam.el @@ -9,24 +9,23 @@ ;; Gleam language support ;;; Code: +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(require 'icejam-prog-mode) +(use-package gleam-ts-mode :defer t :ensure t + :mode (rx ".gleam" eos)) -(use-package gleam-ts-mode - :ensure (:type git - :host github - :repo "gleam-lang/gleam-mode" - :files ("gleam-ts-mode.el"))) - -(add-to-list 'auto-mode-alist '("\\.gleam\\'" . gleam-ts-mode)) +;; (add-to-list 'auto-mode-alist '("\\.gleam\\'" . gleam-ts-mode)) (defun icejam-lang-activate-gleam-mode () "All things Gleam." (icejam-set-indent 2) (column-enforce-n 100) - (lsp)) + (eglot-ensure) + (icejam-set-eglot-capfs)) -(add-hook 'gleam-mode-hook 'icejam-lang-activate-gleam-mode) +(add-hook 'gleam-ts-mode-hook 'icejam-lang-activate-gleam-mode) (provide 'icejam-lang-gleam) ;;; icejam-lang-gleam.el ends here diff --git a/lisp/langs/icejam-lang-golang.el b/lisp/langs/icejam-lang-golang.el index f81087d..6bc653c 100644 --- a/lisp/langs/icejam-lang-golang.el +++ b/lisp/langs/icejam-lang-golang.el @@ -9,21 +9,20 @@ ;; golang mode stuff ;;; Code: +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(require 'icejam-prog-mode) - -(use-package go-mode - :requires (lsp-mode lsp-ui) - :defer t - :ensure t) +(use-package go-mode :defer t :ensure t) (defun icejam-activate-golang-mode () "Activate my own Golang mode settings." (icejam-set-indent 8) (column-enforce-n 100) - (lsp)) + (eglot-ensure) + (icejam-set-eglot-capfs)) -(add-hook 'go-mode-hook 'icejam-activate-golang-mode) +(add-hook 'go-mode-hook #'icejam-activate-golang-mode) (provide 'icejam-lang-golang) ;;; icejam-lang-golang.el ends here diff --git a/lisp/langs/icejam-lang-haskell.el b/lisp/langs/icejam-lang-haskell.el index a27f348..5dab443 100644 --- a/lisp/langs/icejam-lang-haskell.el +++ b/lisp/langs/icejam-lang-haskell.el @@ -10,26 +10,20 @@ ;;; Code: -(require 'icejam-prog-mode) +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package haskell-mode - :ensure t - :defer t) - -(use-package lsp-haskell - :ensure t - :defer t - :requires (lsp-mode lsp-ui haskell-mode)) +(use-package haskell-mode :ensure t :defer t) (defun icejam-activate-haskell-mode () - "Run this in haskell-mode." + "Run this in `haskell-mode'." (icejam-set-indent 2) (column-enforce-n 80) - (lsp-deferred) + (eglot-ensure) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'haskell-mode-hook 'icejam-activate-haskell-mode) diff --git a/lisp/langs/icejam-lang-javascript.el b/lisp/langs/icejam-lang-javascript.el index bfe3398..cb32e82 100644 --- a/lisp/langs/icejam-lang-javascript.el +++ b/lisp/langs/icejam-lang-javascript.el @@ -2,15 +2,24 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(require 'icejam-flycheck) -(require 'icejam-lsp) +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package js2-mode - :requires (web-mode company-web lsp-mode lsp-ui) - :ensure t) +(use-package js2-mode :ensure t :defer t :after(web-mode)) -(use-package typescript-mode :ensure t) +(use-package typescript-ts-mode :ensure nil :defer t) + +(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode)) +(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-ts-mode)) + +(defun icejam-activate-typescript-ts-mode () + "Typescript mode overrides." + (icejam-set-indent 2) + (eglot-ensure) + (column-enforce-n 100)) + +(add-hook 'typescript-ts-mode-hook 'icejam-activate-typescript-ts-mode) ;; (use-package vue-mode ;; :ensure t @@ -25,21 +34,17 @@ (icejam-set-indent 2) (when (not (string-match-p ".json" (buffer-file-name))) - (lsp-deferred)) + (eglot-ensure)) (column-enforce-n 80) (setq-local js2-basic-offset 2) (setq-local js2-strict-missing-semi-warning nil) - (setq-local lsp-eldoc-enable-hover nil) (setq js2-mode-show-parse-errors nil) (setq js2-mode-show-strict-warnings nil) - (setq-local lsp-eldoc-enable-hover nil) (setq-local flycheck-check-syntax-automatically '(save mode-enabled)) - ;; "Company list override." - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + (icejam-set-eglot-capfs)) (add-hook 'js2-mode-hook 'icejam-activate-js2-mode) diff --git a/lisp/langs/icejam-lang-kotlin.el b/lisp/langs/icejam-lang-kotlin.el index 4540118..706081d 100644 --- a/lisp/langs/icejam-lang-kotlin.el +++ b/lisp/langs/icejam-lang-kotlin.el @@ -9,26 +9,25 @@ ;; kotlin does a thing. ;;; Code: +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package kotlin-mode - :defer t - :ensure t) +(use-package kotlin-ts-mode :ensure t :defer t) -(use-package gradle-mode - :defer t - :ensure t) +(add-to-list 'auto-mode-alist '("\\.kt\\'" . kotlin-ts-mode)) +(add-to-list 'auto-mode-alist '("\\.kts\\'" . kotlin-ts-mode)) + +(use-package gradle-mode :defer t :ensure t) (defun icejam-activate-kotlin-mode () "All things Kotlin." - (icejam-set-indent 4) + (icejam-set-indent 2) (column-enforce-n 100) - (lsp) + (eglot-ensure) + (icejam-set-eglot-capfs)) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) - -(add-hook 'kotlin-mode-hook 'icejam-activate-kotlin-mode) +(add-hook 'kotlin-ts-mode-hook 'icejam-activate-kotlin-mode) (provide 'icejam-lang-kotlin) ;;; icejam-lang-kotlin.el ends here diff --git a/lisp/langs/icejam-lang-lean.el b/lisp/langs/icejam-lang-lean.el index 00ca2b0..4782e3a 100644 --- a/lisp/langs/icejam-lang-lean.el +++ b/lisp/langs/icejam-lang-lean.el @@ -1,17 +1,14 @@ ;;; lean -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(require 'icejam-prog-mode) -(require 'icejam-lsp) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) (use-package lean4-mode :ensure (lean4-mode - :type git - :host github - :repo "leanprover/lean4-mode" - :files ("*.el" "data")) - :requires (lsp) + :type git + :host github + :repo "leanprover/lean4-mode" + :files ("*.el" "data")) :defer t) (defun icejam-activate-lean-mode () @@ -19,13 +16,12 @@ (interactive) ;; Run LSP - (lsp-deferred) + (eglot-ensure) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) -(add-hook 'lean4-mode-hook 'icejam-activate-lean-mode) +(add-hook 'lean4-mode-hook #'icejam-activate-lean-mode) (provide 'icejam-lang-lean) ;;; icejam-lang-lean.el ends here diff --git a/lisp/langs/icejam-lang-lua.el b/lisp/langs/icejam-lang-lua.el new file mode 100644 index 0000000..0666ef2 --- /dev/null +++ b/lisp/langs/icejam-lang-lua.el @@ -0,0 +1,30 @@ +;;; icejam-lang-lua.el --- summary -*- lexical-binding: t; -*- + +;; Author: Maciej Szlosarczyk +;; Maintainer: Maciej Szlosarczyk +;; Version: 0.1-snapshot + +;;; Commentary: + +;; Lua mode + +;;; Code: +(eval-when-compile + (declare-function column-enforce-n 'column-enforce-mode (number)) + (declare-function icejam-set-indent 'icejam-prog-mode) + (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) + (defvar icejam-language-transient-alist)) + +(use-package lua-mode :ensure t :defer t) + +(defun icejam-activate-lua-mode () + "All things related to Lua." + (icejam-set-indent 4) + (column-enforce-n 100) + (eglot-ensure) + (icejam-set-eglot-capfs)) + +(add-hook 'lua-mode-hook 'icejam-activate-lua-mode) + +(provide 'icejam-lang-lua) +;;; icejam-lang-lua.el ends here diff --git a/lisp/langs/icejam-lang-markdown.el b/lisp/langs/icejam-lang-markdown.el index c170cd2..b158e16 100644 --- a/lisp/langs/icejam-lang-markdown.el +++ b/lisp/langs/icejam-lang-markdown.el @@ -2,25 +2,36 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) -(declare-function elpaca-installed-p "elpacs") -(unless (elpaca-installed-p 'markdown-mode) - (use-package markdown-mode :ensure t)) +(eval-when-compile + (declare-function elpaca-installed-p "elpaca") + (declare-function column-enforce-n 'column-enforce-mode (number)) + (declare-function icejam-set-indent 'icejam-prog-mode) + (declare-function icejam-set-no-eglot-capfs 'icejam-prog-mode) + (declare-function rxt--re-builder-switch-pcre-mode "pcre2el")) -(with-eval-after-load 'markdown-mode - (setq-default markdown-command "pandoc")) +;; Markdown is a dependency of LSP mode. By wrapping it in unless we silence +;; a warning from the byte compiler. +(unless (elpaca-installed-p 'markdown-mode) + (use-package markdown-mode :ensure t :defer t + :commands (markdown-preview) + :config + ;; Render preview and open it in browser. + (keymap-set markdown-mode-map "C-c C-v" #'markdown-preview) + + ;; Render HTML preview with pandoc + (setq-default markdown-command '("pandoc" + "-f" + "markdown_mmd" + "-t" + "html5" + "--template" + "github.html5" + "--highlight-style" + "pygments")))) (defun icejam-lang-activate-markdown-mode () "Reconfigure markdown mode for your own purposes." - (icejam-set-indent 2) - (column-enforce-n 10000) - - ;; Markdown mode reuses my bindings, remove them. - (define-key markdown-mode-map (kbd "C-c ") nil) - (define-key markdown-mode-map (kbd "C-c ") nil) - (define-key markdown-mode-map (kbd "C-c ") nil) - (define-key markdown-mode-map (kbd "C-c ") nil) - (define-key markdown-mode-map (kbd "C-c C-v") 'markdown-preview)) + (icejam-set-indent 2)) (add-hook 'markdown-mode-hook 'icejam-lang-activate-markdown-mode) (add-hook 'markdown-mode-hook 'display-line-numbers-mode) diff --git a/lisp/langs/icejam-lang-ocaml.el b/lisp/langs/icejam-lang-ocaml.el index fc21cfd..d08b3d2 100644 --- a/lisp/langs/icejam-lang-ocaml.el +++ b/lisp/langs/icejam-lang-ocaml.el @@ -1,13 +1,12 @@ ;;; ocaml -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(require 'icejam-transient) -(require 'icejam-prog-mode) -(declare-function lsp "lsp-mode" nil) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) +(eval-when-compile (defvar icejam-language-transient-alist)) (use-package merlin :defer t :ensure t) -(use-package opam-switch-mode :defer t :ensure t) +(use-package opam-switch-mode :defer t :ensure t :commands (opam-switch-mode)) (use-package dune :defer t :ensure t) (use-package tuareg :defer t :ensure t) @@ -22,7 +21,7 @@ ("i" "Indent" icejam-mark-and-indent-whole-buffer)] ["" ("f" "Format" lsp-format-buffer) - ("e" "Errors" flycheck-list-errors) + ("e" "Errors" flymake-show-buffer-diagnostics) ("o" "Opam Env" opam-switch-set-switch)]] ["" ("q" "Quit" keyboard-quit)]) @@ -48,7 +47,8 @@ (icejam-set-indent 2) (opam-switch-mode t) (icejam-load-ocaml-site-packages) - (lsp)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'tuareg-mode-hook 'icejam-activate-tuareg-mode) diff --git a/lisp/langs/icejam-lang-other.el b/lisp/langs/icejam-lang-other.el index c621c1a..ffa84d5 100644 --- a/lisp/langs/icejam-lang-other.el +++ b/lisp/langs/icejam-lang-other.el @@ -18,22 +18,21 @@ (use-package nginx-mode :ensure t :defer t) (use-package jenkinsfile-mode - :ensure (:repo "https://github.com/john2x/jenkinsfile-mode.git" :branch "master") + :ensure (:repo "https://github.com/john2x/jenkinsfile-mode.git" + :branch "master") :defer t) -(use-package lua-mode :ensure t :defer t) ;; Graphql schema definition files. (use-package graphql-mode :ensure t :defer t :mode ("\\.graphqls\\'" . graphql-mode)) ;; Yaml -(declare-function lsp "lsp-mode" nil) -(use-package yaml-mode :ensure t :defer t :requires (lsp)) +(use-package yaml-mode :ensure t :defer t) (with-eval-after-load 'yaml-mode (defun icejam-lang-activate-yaml-mode () "Activate yaml-mode." - (lsp)) + (eglot-ensure)) (add-hook 'yaml-mode-hook 'icejam-lang-activate-yaml-mode)) ;; Other text files diff --git a/lisp/langs/icejam-lang-php.el b/lisp/langs/icejam-lang-php.el index 5b0cfde..5a48c4a 100644 --- a/lisp/langs/icejam-lang-php.el +++ b/lisp/langs/icejam-lang-php.el @@ -9,25 +9,23 @@ ;; php related settings ;;; Code: +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) +(eval-when-compile (defvar icejam-language-transient-alist)) -(require 'icejam-prog-mode) -(require 'icejam-flycheck) -(require 'icejam-transient) +(use-package php-mode :ensure t :defer t) -(use-package php-mode - :requires (lsp-mode lsp-ui) - :ensure t) - -(transient-define-prefix icejam-lang-php/context-menu () +(transient-define-prefix icejam-lang-php-context-menu () "PHP Buffer Commands." ["" ["LSP" - ("m" "iMenu" lsp-ui-imenu)] + ("m" "iMenu" consult-imenu)] ["Buffer" ("r" "Reload" icejam-revert-buffer-no-confirm) - ("f" "Format" lsp-format-buffer) + ("f" "Format" eglot-format-buffer) ("i" "Indent" icejam-mark-and-indent-whole-buffer) - ("e" "Show Errors" flycheck-list-errors)]] + ("e" "Show Errors" flymake-show-buffer-diagnostics)]] ["" ("q" "Quit" keyboard-quit)]) @@ -37,11 +35,10 @@ (icejam-set-indent 4) (column-enforce-n 80) - (define-key php-mode-map (kbd "C-c l") 'icejam-lang-php/context-menu) + (keymap-set php-mode-map "C-c l" #'icejam-lang-php-context-menu) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'php-mode-hook 'icejam-lang-activate-php-mode) diff --git a/lisp/langs/icejam-lang-purescript.el b/lisp/langs/icejam-lang-purescript.el index 1d32f60..d854719 100644 --- a/lisp/langs/icejam-lang-purescript.el +++ b/lisp/langs/icejam-lang-purescript.el @@ -6,12 +6,17 @@ ;;; Commentary: -;; purescript does a thing. +;; Configuration for purescript. ;;; Code: -(use-package purescript-mode - :requires (lsp-mode lsp-ui) - :ensure t) + +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) + +(use-package purescript-mode :ensure t :defer t) + +(declare-function purescript-indentation-mode "purescript-mode") (defun icejam-activate-purescript-mode () "All things Purescript." @@ -21,9 +26,8 @@ ;; Purescript indentation (purescript-indentation-mode t) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode) diff --git a/lisp/langs/icejam-lang-python.el b/lisp/langs/icejam-lang-python.el index 45ba498..b205d8b 100644 --- a/lisp/langs/icejam-lang-python.el +++ b/lisp/langs/icejam-lang-python.el @@ -1,23 +1,24 @@ ;;; python -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(require 'icejam-prog-mode) -(require 'icejam-transient) - -(declare-function lsp nil) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) (declare-function column-enforce-n "column-enforce-mode" (number)) +(declare-function transient-define-prefix 'transient) + +(eval-when-compile + (defvar icejam-language-transient-alist) + (defvar icejam-python-lang-menu)) (transient-define-prefix icejam-python-lang-menu () "Python Buffer Commands." ["" ["LSP" - ("m" "iMenu" lsp-ui-imenu)] + ("m" "iMenu" consult-imenu)] ["Buffer" ("r" "Reload" icejam-revert-buffer-no-confirm) - ("f" "Format" lsp-format-buffer) + ("f" "Format" eglot-format-buffer) ("i" "Indent" icejam-mark-and-indent-whole-buffer) - ("e" "Show Errors" flycheck-list-errors)]] + ("e" "Show Errors" flymake-show-buffer-diagnostics)]] ["" ("q" "Quit" keyboard-quit)]) @@ -27,12 +28,11 @@ (defun icejam-lang-activate-python-mode () "Activate python mode." - (lsp) + (eglot-ensure) (column-enforce-n 99) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'python-mode-hook 'icejam-lang-activate-python-mode) diff --git a/lisp/langs/icejam-lang-ruby.el b/lisp/langs/icejam-lang-ruby.el index 5cc0613..370c38e 100644 --- a/lisp/langs/icejam-lang-ruby.el +++ b/lisp/langs/icejam-lang-ruby.el @@ -2,9 +2,11 @@ ;;; Commentary: ;;; Code: -(require 'icejam-prog-mode) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) +(eval-when-compile (defvar icejam-language-transient-alist)) -(use-package rspec-mode :ensure t :defer t) +(use-package rspec-mode :ensure t :defer t :commands (rspec-install-snippets)) (use-package ruby-end :ensure t :defer t) (use-package rbs-mode :ensure t :defer t) @@ -21,11 +23,10 @@ (setq ruby-insert-encoding-magic-comment nil) ;; Start LSP - (lsp) + (eglot-ensure) - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + ;; Capf override + (icejam-set-eglot-capfs)) (add-hook 'ruby-ts-mode-hook 'rspec-mode) (add-hook 'ruby-ts-mode-hook 'ruby-end-mode) diff --git a/lisp/langs/icejam-lang-rust.el b/lisp/langs/icejam-lang-rust.el index 202eb20..e6e161b 100644 --- a/lisp/langs/icejam-lang-rust.el +++ b/lisp/langs/icejam-lang-rust.el @@ -1,19 +1,27 @@ ;;; rust -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(require 'icejam-prog-mode) +(eval-when-compile + (declare-function column-enforce-n 'column-enforce-mode (number)) + (declare-function icejam-set-indent 'icejam-prog-mode) + (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)) (use-package rust-mode :ensure t :defer t - :config - (setq rust-mode-treesitter-derive t)) + :config (setopt rust-mode-treesitter-derive t)) + +(use-package rustic + :ensure t + :defer t + :after (rust-mode) + :config (setopt rustic-format-on-save nil) + (setopt rustic-lsp-client 'eglot)) (use-package flycheck-rust :ensure t :defer t - :requires (rust-mode lsp)) + :after (rust-mode lsp)) (defun icejam-activate-rust-mode () "All things for Rust mode." @@ -22,11 +30,8 @@ (column-enforce-n 99) ;; Run LSP - (lsp-deferred) - - ;; Company list override - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet))) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'rust-mode-hook 'icejam-activate-rust-mode) (add-hook 'rust-mode-hook 'flycheck-rust-setup) diff --git a/lisp/langs/icejam-lang-web.el b/lisp/langs/icejam-lang-web.el index 54b4629..6a46ab3 100644 --- a/lisp/langs/icejam-lang-web.el +++ b/lisp/langs/icejam-lang-web.el @@ -1,13 +1,7 @@ ;;; web -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(require 'icejam-lsp) -(require 'icejam-flycheck) - -(use-package web-mode - :requires (lsp-mode flycheck) - :ensure t) +(use-package web-mode :ensure t :defer t) ;; Eex Web mode (add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode)) @@ -33,16 +27,8 @@ (setq-local web-mode-markup-indent-offset 2) (setq-local lsp-eldoc-enable-hover nil) (setq-local flycheck-check-syntax-automatically '(save mode-enabled)) - - (add-to-list (make-local-variable 'company-backends) - '(company-capf company-yasnippet)) - - (when (string-match-p ".jsx" (buffer-file-name)) - (lsp)) - (when (string-match-p ".tsx" (buffer-file-name)) - (lsp)) (when (string-match-p ".vue" (buffer-file-name)) - (lsp))) + (eglot-ensure))) (add-hook 'web-mode-hook 'icejam-activate-web-mode) diff --git a/lisp/langs/icejam-lang-ziglang.el b/lisp/langs/icejam-lang-ziglang.el index fa0080b..2b3bb91 100644 --- a/lisp/langs/icejam-lang-ziglang.el +++ b/lisp/langs/icejam-lang-ziglang.el @@ -9,9 +9,11 @@ ;; ziglang does a thing. ;;; Code: -(require 'icejam-prog-mode) +(declare-function column-enforce-n 'column-enforce-mode (number)) +(declare-function icejam-set-indent 'icejam-prog-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package zig-mode :ensure t :defer t :requires (lsp)) +(use-package zig-mode :ensure t :defer t) (defun icejam-activate-zig-mode () "Goodies for editing zig files." @@ -21,7 +23,8 @@ ;; Set indentation to 4 chars (icejam-set-indent 4) - (lsp)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'zig-mode-hook 'icejam-activate-zig-mode) diff --git a/lisp/themes/icejam-base16-catppuccin-latte.el b/lisp/themes/icejam-base16-catppuccin-latte.el new file mode 100644 index 0000000..60e567b --- /dev/null +++ b/lisp/themes/icejam-base16-catppuccin-latte.el @@ -0,0 +1,49 @@ +;; icejam-base16-catppuccin-latte.el -- A base16 colorscheme + +;;; Commentary: +;; Base16: (https://github.com/tinted-theming/home) + +;;; Authors: +;; Scheme: https://github.com/catppuccin/catppuccin +;; Template: Kaleb Elwert + +;;; Code: + +;; Modifications: +;; 03 darker by 8% #bcc0cc => #aaafbe + +(eval-when-compile + (declare-function base16-theme-define "base16-theme" (theme-name theme-colors))) + +(defvar icejam-base16-catppuccin-latte-theme-colors + '(:base00 "#eff1f5" + :base01 "#e6e9ef" + :base02 "#ccd0da" + :base03 "#aaafbe" + :base04 "#acb0be" + :base05 "#4c4f69" + :base06 "#dc8a78" + :base07 "#7287fd" + :base08 "#d20f39" + :base09 "#fe640b" + :base0A "#df8e1d" + :base0B "#40a02b" + :base0C "#179299" + :base0D "#1e66f5" + :base0E "#8839ef" + :base0F "#dd7878") + "All colors for Base16 Catppuccin Latte are defined here.") + +;; Define the theme +(deftheme icejam-base16-catppuccin-latte) + +;; Add all the faces to the theme +(with-eval-after-load 'base16-theme + (base16-theme-define 'icejam-base16-catppuccin-latte + icejam-base16-catppuccin-latte-theme-colors)) + +;; Mark the theme as provided +(provide-theme 'icejam-base16-catppuccin-latte) +(provide 'icejam-base16-catppuccin-latte) + +;;; icejam-base16-catppuccin-latte.el ends here diff --git a/lisp/themes/icejam-base16-modus-operandi-tinted.el b/lisp/themes/icejam-base16-modus-operandi-tinted.el new file mode 100644 index 0000000..b0196c4 --- /dev/null +++ b/lisp/themes/icejam-base16-modus-operandi-tinted.el @@ -0,0 +1,41 @@ +;;; base16-modus-operandi-tinded.el --- summary +;;; Commentary: + +;; Author: Maciej Szlosarczyk +;; Maintainer: Maciej Szlosarczyk +;; Version: 0.1-snapshot + +;;; Code: + +(use-package icejam-themes :ensure nil) + +(defvar base16-modus-operandi-tinted-colors + '(:base00 "#fbf7f0" + :base01 "#efe9dd" + :base02 "#c9b9b0" + :base03 "#595959" + :base04 "#595959" + :base05 "#000000" + :base06 "#193668" + :base07 "#193668" + :base08 "#a60000" + :base09 "#006300" + :base0A "#006300" + :base0B "#0031a9" + :base0C "#721045" + :base0D "#00598b" + :base0E "#731c52" + :base0F "#80601f") + "All colors for Base16 Modus Operandi are defined here.") + +;; Define the theme +(deftheme base16-modus-operandi-tinted) + +;; Add all the faces to the theme +(declare-function base16-theme-define 'base16-theme) +(base16-theme-define 'base16-modus-operandi-tinted base16-modus-operandi-tinted-colors) + +;; Mark the theme as provided +(provide-theme 'base16-modus-operandi-tinted) +(provide 'icejam-base16-modus-operandi-tinted) +;;; icejam-base16-modus-operandi-tinted.el ends here diff --git a/lisp/themes/icejam-base16-not-harmonic.el b/lisp/themes/icejam-base16-not-harmonic.el index 8d3706d..38a8c62 100644 --- a/lisp/themes/icejam-base16-not-harmonic.el +++ b/lisp/themes/icejam-base16-not-harmonic.el @@ -5,7 +5,7 @@ ;; Based on harmonic-dark theme by Jannik Seibert (https://github.com/janniks) ;;; Code: -(use-package base16-theme :ensure t :defer t) +(use-package icejam-themes :ensure nil) (defvar base16-not-harmonic-colors '(:base00 "#102941" @@ -30,6 +30,7 @@ (deftheme base16-not-harmonic) ;; Add all the faces to the theme +(declare-function base16-theme-define 'base16-theme) (base16-theme-define 'base16-not-harmonic base16-not-harmonic-colors) ;; Customise things diff --git a/lisp/themes/icejam-base16-summerfruit-light.el b/lisp/themes/icejam-base16-summerfruit-light.el index 05dee52..5842e72 100644 --- a/lisp/themes/icejam-base16-summerfruit-light.el +++ b/lisp/themes/icejam-base16-summerfruit-light.el @@ -7,7 +7,7 @@ ;;; Code: -(use-package base16-theme :ensure t :defer t) +(use-package icejam-themes :ensure nil) (defvar base16-summerfruit-light-modified-colors '(:base00 "#fdfcfa" @@ -32,6 +32,7 @@ (deftheme base16-summerfruit-light-modified) ;; Add all the faces to the theme +(declare-function base16-theme-define 'base16-theme) (base16-theme-define 'base16-summerfruit-light-modified base16-summerfruit-light-modified-colors) ;; Mark the theme as provided diff --git a/snippets/text-mode/dco-signoff b/snippets/text-mode/dco-signoff new file mode 100644 index 0000000..619e47b --- /dev/null +++ b/snippets/text-mode/dco-signoff @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: dco-signoff +# -- +Signed-off-by: Maciej Szlosarczyk (${1:maciej@sosek.net})