From 03adcf13345cc04d3bee259239794f4c4e55610c Mon Sep 17 00:00:00 2001 From: bh Date: Wed, 10 Dec 2025 17:24:50 +0800 Subject: Initial Commit! --- .gitignore | 51 ++ config/evil.el | 21 + early-init.el | 30 + .../30.2-6a8b22b2/annalist-e67d06c1-9d5db23a.eln | Bin 0 -> 89528 bytes .../30.2-6a8b22b2/bind-key-fc9c2fa3-466ac555.eln | Bin 0 -> 52192 bytes .../30.2-6a8b22b2/cl-seq-f464c4e2-fe43febc.eln | Bin 0 -> 136224 bytes .../30.2-6a8b22b2/diminish-457214fa-3ab06659.eln | Bin 0 -> 20312 bytes eln-cache/30.2-6a8b22b2/evil-3b9df396-2200b0d8.eln | Bin 0 -> 17224 bytes .../evil-collection-635d1a79-770d5135.eln | Bin 0 -> 75840 bytes .../evil-command-window-6f88d451-fbf17beb.eln | Bin 0 -> 34432 bytes .../evil-commands-b78d56af-386d1154.eln | Bin 0 -> 716816 bytes .../evil-common-3f3282bc-0a909e10.eln | Bin 0 -> 350632 bytes .../30.2-6a8b22b2/evil-core-e6fa0c01-7d34b371.eln | Bin 0 -> 125792 bytes .../evil-development-0cdad305-ae22128f.eln | Bin 0 -> 16608 bytes .../evil-digraphs-74df060a-8e42f67f.eln | Bin 0 -> 47480 bytes .../30.2-6a8b22b2/evil-ex-8c866cac-d2bda056.eln | Bin 0 -> 137304 bytes .../evil-integration-56de7cda-f2b4b6d0.eln | Bin 0 -> 91496 bytes .../30.2-6a8b22b2/evil-jumps-aee09ca6-9d8dba39.eln | Bin 0 -> 52768 bytes .../evil-keybindings-5acb9700-bcb81388.eln | Bin 0 -> 33912 bytes .../evil-macros-5b627b1e-4f3f68ac.eln | Bin 0 -> 74896 bytes .../30.2-6a8b22b2/evil-maps-306f3b17-de99e2e5.eln | Bin 0 -> 41576 bytes .../evil-repeat-57508ec5-772a99a3.eln | Bin 0 -> 61616 bytes .../evil-search-3ab5310c-a0b68c03.eln | Bin 0 -> 134176 bytes .../evil-states-7e0cccc1-7c61d17a.eln | Bin 0 -> 126984 bytes .../evil-test-helpers-ed647920-b9102404.eln | Bin 0 -> 60896 bytes .../30.2-6a8b22b2/evil-types-37562c2a-f5d539bb.eln | Bin 0 -> 53240 bytes .../30.2-6a8b22b2/evil-vars-cdfd8b7a-fe052f18.eln | Bin 0 -> 153896 bytes .../30.2-6a8b22b2/goto-chg-277b1f35-ea46ed77.eln | Bin 0 -> 30768 bytes .../30.2-6a8b22b2/straight-cadee787-563068f8.eln | Bin 0 -> 684504 bytes .../straight-cadee787-563068f8qCkfxw.eln.tmp | 0 .../straight-ert-print-hack-706f2303-dade6fc6.eln | Bin 0 -> 16360 bytes .../30.2-6a8b22b2/straight-x-c5d103f9-037658ad.eln | Bin 0 -> 36760 bytes ...652d766563746f72_read_key_sequence_vector_0.eln | Bin 0 -> 16096 bytes ...b65792d73657175656e6365_read_key_sequence_0.eln | Bin 0 -> 16096 bytes ...-73656c6563742d77696e646f77_select_window_0.eln | Bin 0 -> 16032 bytes ...96e646f772d627566666572_set_window_buffer_0.eln | Bin 0 -> 16032 bytes ...73652d676c6f62616c2d6d6170_use_global_map_0.eln | Bin 0 -> 16032 bytes ...-7573652d6c6f63616c2d6d6170_use_local_map_0.eln | Bin 0 -> 16032 bytes .../use-package-bind-key-ca10bce3-d6d286d9.eln | Bin 0 -> 24600 bytes .../use-package-c3721aaa-85fd959d.eln | Bin 0 -> 15888 bytes .../use-package-core-138cecc2-e7c762ae.eln | Bin 0 -> 194640 bytes .../use-package-delight-fdf87cc0-2d299cea.eln | Bin 0 -> 17128 bytes .../use-package-diminish-fad65662-39de7713.eln | Bin 0 -> 17672 bytes .../use-package-ensure-bb75634c-67745105.eln | Bin 0 -> 23328 bytes ...age-ensure-system-package-92ab5909-ced165a4.eln | Bin 0 -> 19256 bytes .../use-package-jump-bc0daa1f-ddce5033.eln | Bin 0 -> 17280 bytes .../use-package-lint-eec4a348-30162e93.eln | Bin 0 -> 16920 bytes init.el | 218 +++++++ straight/build-cache.el | 709 +++++++++++++++++++++ straight/build/annalist/annalist-autoloads.el | 45 ++ straight/build/annalist/annalist.el | 1 + straight/build/annalist/annalist.elc | Bin 0 -> 28837 bytes straight/build/annalist/annalist.info | 545 ++++++++++++++++ straight/build/annalist/annalist.texi | 1 + straight/build/annalist/dir | 19 + .../bind-key/.github/PULL_REQUEST_TEMPLATE.md | 1 + straight/build/bind-key/bind-key-autoloads.el | 106 +++ straight/build/bind-key/bind-key-pkg.el | 1 + straight/build/bind-key/bind-key.el | 1 + straight/build/bind-key/bind-key.elc | Bin 0 -> 16382 bytes .../diminish/.github/PULL_REQUEST_TEMPLATE.md | 1 + straight/build/diminish/README.md | 1 + straight/build/diminish/diminish-autoloads.el | 61 ++ straight/build/diminish/diminish-pkg.el | 1 + straight/build/diminish/diminish.el | 1 + straight/build/diminish/diminish.elc | Bin 0 -> 4284 bytes .../evil-collection/evil-collection-autoloads.el | 108 ++++ straight/build/evil-collection/evil-collection.el | 1 + straight/build/evil-collection/evil-collection.elc | Bin 0 -> 29801 bytes straight/build/evil/evil-autoloads.el | 114 ++++ straight/build/evil/evil-command-window.el | 1 + straight/build/evil/evil-command-window.elc | Bin 0 -> 8163 bytes straight/build/evil/evil-commands.el | 1 + straight/build/evil/evil-commands.elc | Bin 0 -> 292484 bytes straight/build/evil/evil-common.el | 1 + straight/build/evil/evil-common.elc | Bin 0 -> 118778 bytes straight/build/evil/evil-core.el | 1 + straight/build/evil/evil-core.elc | Bin 0 -> 43594 bytes straight/build/evil/evil-development.el | 1 + straight/build/evil/evil-development.elc | Bin 0 -> 493 bytes straight/build/evil/evil-digraphs.el | 1 + straight/build/evil/evil-digraphs.elc | Bin 0 -> 30762 bytes straight/build/evil/evil-ex.el | 1 + straight/build/evil/evil-ex.elc | Bin 0 -> 37619 bytes straight/build/evil/evil-integration.el | 1 + straight/build/evil/evil-integration.elc | Bin 0 -> 31526 bytes straight/build/evil/evil-jumps.el | 1 + straight/build/evil/evil-jumps.elc | Bin 0 -> 16259 bytes straight/build/evil/evil-keybindings.el | 1 + straight/build/evil/evil-keybindings.elc | Bin 0 -> 5587 bytes straight/build/evil/evil-macros.el | 1 + straight/build/evil/evil-macros.elc | Bin 0 -> 20949 bytes straight/build/evil/evil-maps.el | 1 + straight/build/evil/evil-maps.elc | Bin 0 -> 24662 bytes straight/build/evil/evil-repeat.el | 1 + straight/build/evil/evil-repeat.elc | Bin 0 -> 17046 bytes straight/build/evil/evil-search.el | 1 + straight/build/evil/evil-search.elc | Bin 0 -> 46436 bytes straight/build/evil/evil-states.el | 1 + straight/build/evil/evil-states.elc | Bin 0 -> 59357 bytes straight/build/evil/evil-test-helpers.el | 1 + straight/build/evil/evil-test-helpers.elc | Bin 0 -> 13410 bytes straight/build/evil/evil-types.el | 1 + straight/build/evil/evil-types.elc | Bin 0 -> 19657 bytes straight/build/evil/evil-vars.el | 1 + straight/build/evil/evil-vars.elc | Bin 0 -> 74606 bytes straight/build/evil/evil.el | 1 + straight/build/evil/evil.elc | Bin 0 -> 583 bytes straight/build/goto-chg/goto-chg-autoloads.el | 57 ++ straight/build/goto-chg/goto-chg.el | 1 + straight/build/goto-chg/goto-chg.elc | Bin 0 -> 7353 bytes straight/build/straight/straight-autoloads.el | 456 +++++++++++++ straight/build/straight/straight-ert-print-hack.el | 1 + .../build/straight/straight-ert-print-hack.elc | Bin 0 -> 499 bytes straight/build/straight/straight-x.el | 1 + straight/build/straight/straight-x.elc | Bin 0 -> 7246 bytes straight/build/straight/straight.el | 1 + straight/build/straight/straight.elc | Bin 0 -> 288855 bytes .../use-package/.github/PULL_REQUEST_TEMPLATE.md | 1 + straight/build/use-package/dir | 1 + straight/build/use-package/doclicense.info | 488 ++++++++++++++ straight/build/use-package/doclicense.texi | 1 + straight/build/use-package/docstyle.info | 12 + straight/build/use-package/docstyle.texi | 1 + straight/build/use-package/emacsver.info | 12 + straight/build/use-package/emacsver.texi | 1 + .../build/use-package/use-package-autoloads.el | 206 ++++++ straight/build/use-package/use-package-bind-key.el | 1 + .../build/use-package/use-package-bind-key.elc | Bin 0 -> 4363 bytes straight/build/use-package/use-package-core.el | 1 + straight/build/use-package/use-package-core.elc | Bin 0 -> 65317 bytes straight/build/use-package/use-package-delight.el | 1 + straight/build/use-package/use-package-delight.elc | Bin 0 -> 1425 bytes straight/build/use-package/use-package-diminish.el | 1 + .../build/use-package/use-package-diminish.elc | Bin 0 -> 1322 bytes .../use-package-ensure-system-package.el | 1 + .../use-package-ensure-system-package.elc | Bin 0 -> 2353 bytes straight/build/use-package/use-package-ensure.el | 1 + straight/build/use-package/use-package-ensure.elc | Bin 0 -> 3189 bytes straight/build/use-package/use-package-jump.el | 1 + straight/build/use-package/use-package-jump.elc | Bin 0 -> 1430 bytes straight/build/use-package/use-package-lint.el | 1 + straight/build/use-package/use-package-lint.elc | Bin 0 -> 1189 bytes straight/build/use-package/use-package-pkg.el | 1 + straight/build/use-package/use-package.el | 1 + straight/build/use-package/use-package.elc | Bin 0 -> 394 bytes straight/build/use-package/use-package.info | 1 + straight/build/use-package/use-package.texi | 1 + straight/repos/annalist | 1 + straight/repos/bind-key | 1 + straight/repos/diminish | 1 + straight/repos/el-get | 1 + straight/repos/emacsmirror-mirror | 1 + straight/repos/evil | 1 + straight/repos/evil-collection | 1 + straight/repos/gnu-elpa-mirror | 1 + straight/repos/goto-chg | 1 + straight/repos/melpa | 1 + straight/repos/nongnu-elpa | 1 + straight/repos/straight.el | 1 + straight/repos/use-package | 1 + 161 files changed, 3321 insertions(+) create mode 100644 .gitignore create mode 100644 config/evil.el create mode 100644 early-init.el create mode 100755 eln-cache/30.2-6a8b22b2/annalist-e67d06c1-9d5db23a.eln create mode 100755 eln-cache/30.2-6a8b22b2/bind-key-fc9c2fa3-466ac555.eln create mode 100755 eln-cache/30.2-6a8b22b2/cl-seq-f464c4e2-fe43febc.eln create mode 100755 eln-cache/30.2-6a8b22b2/diminish-457214fa-3ab06659.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-3b9df396-2200b0d8.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-collection-635d1a79-770d5135.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-command-window-6f88d451-fbf17beb.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-commands-b78d56af-386d1154.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-common-3f3282bc-0a909e10.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-core-e6fa0c01-7d34b371.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-development-0cdad305-ae22128f.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-digraphs-74df060a-8e42f67f.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-ex-8c866cac-d2bda056.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-integration-56de7cda-f2b4b6d0.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-jumps-aee09ca6-9d8dba39.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-keybindings-5acb9700-bcb81388.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-macros-5b627b1e-4f3f68ac.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-maps-306f3b17-de99e2e5.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-repeat-57508ec5-772a99a3.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-search-3ab5310c-a0b68c03.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-states-7e0cccc1-7c61d17a.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-test-helpers-ed647920-b9102404.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-types-37562c2a-f5d539bb.eln create mode 100755 eln-cache/30.2-6a8b22b2/evil-vars-cdfd8b7a-fe052f18.eln create mode 100755 eln-cache/30.2-6a8b22b2/goto-chg-277b1f35-ea46ed77.eln create mode 100755 eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8.eln create mode 100644 eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8qCkfxw.eln.tmp create mode 100755 eln-cache/30.2-6a8b22b2/straight-ert-print-hack-706f2303-dade6fc6.eln create mode 100755 eln-cache/30.2-6a8b22b2/straight-x-c5d103f9-037658ad.eln create mode 100755 eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e63652d766563746f72_read_key_sequence_vector_0.eln create mode 100755 eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e6365_read_key_sequence_0.eln create mode 100755 eln-cache/30.2-6a8b22b2/subr--trampoline-73656c6563742d77696e646f77_select_window_0.eln create mode 100755 eln-cache/30.2-6a8b22b2/subr--trampoline-7365742d77696e646f772d627566666572_set_window_buffer_0.eln create mode 100755 eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d676c6f62616c2d6d6170_use_global_map_0.eln create mode 100755 eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d6c6f63616c2d6d6170_use_local_map_0.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-bind-key-ca10bce3-d6d286d9.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-c3721aaa-85fd959d.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-core-138cecc2-e7c762ae.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-delight-fdf87cc0-2d299cea.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-diminish-fad65662-39de7713.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-ensure-bb75634c-67745105.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-ensure-system-package-92ab5909-ced165a4.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-jump-bc0daa1f-ddce5033.eln create mode 100755 eln-cache/30.2-6a8b22b2/use-package-lint-eec4a348-30162e93.eln create mode 100644 init.el create mode 100644 straight/build-cache.el create mode 100644 straight/build/annalist/annalist-autoloads.el create mode 120000 straight/build/annalist/annalist.el create mode 100644 straight/build/annalist/annalist.elc create mode 100644 straight/build/annalist/annalist.info create mode 120000 straight/build/annalist/annalist.texi create mode 100644 straight/build/annalist/dir create mode 120000 straight/build/bind-key/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 straight/build/bind-key/bind-key-autoloads.el create mode 120000 straight/build/bind-key/bind-key-pkg.el create mode 120000 straight/build/bind-key/bind-key.el create mode 100644 straight/build/bind-key/bind-key.elc create mode 120000 straight/build/diminish/.github/PULL_REQUEST_TEMPLATE.md create mode 120000 straight/build/diminish/README.md create mode 100644 straight/build/diminish/diminish-autoloads.el create mode 120000 straight/build/diminish/diminish-pkg.el create mode 120000 straight/build/diminish/diminish.el create mode 100644 straight/build/diminish/diminish.elc create mode 100644 straight/build/evil-collection/evil-collection-autoloads.el create mode 120000 straight/build/evil-collection/evil-collection.el create mode 100644 straight/build/evil-collection/evil-collection.elc create mode 100644 straight/build/evil/evil-autoloads.el create mode 120000 straight/build/evil/evil-command-window.el create mode 100644 straight/build/evil/evil-command-window.elc create mode 120000 straight/build/evil/evil-commands.el create mode 100644 straight/build/evil/evil-commands.elc create mode 120000 straight/build/evil/evil-common.el create mode 100644 straight/build/evil/evil-common.elc create mode 120000 straight/build/evil/evil-core.el create mode 100644 straight/build/evil/evil-core.elc create mode 120000 straight/build/evil/evil-development.el create mode 100644 straight/build/evil/evil-development.elc create mode 120000 straight/build/evil/evil-digraphs.el create mode 100644 straight/build/evil/evil-digraphs.elc create mode 120000 straight/build/evil/evil-ex.el create mode 100644 straight/build/evil/evil-ex.elc create mode 120000 straight/build/evil/evil-integration.el create mode 100644 straight/build/evil/evil-integration.elc create mode 120000 straight/build/evil/evil-jumps.el create mode 100644 straight/build/evil/evil-jumps.elc create mode 120000 straight/build/evil/evil-keybindings.el create mode 100644 straight/build/evil/evil-keybindings.elc create mode 120000 straight/build/evil/evil-macros.el create mode 100644 straight/build/evil/evil-macros.elc create mode 120000 straight/build/evil/evil-maps.el create mode 100644 straight/build/evil/evil-maps.elc create mode 120000 straight/build/evil/evil-repeat.el create mode 100644 straight/build/evil/evil-repeat.elc create mode 120000 straight/build/evil/evil-search.el create mode 100644 straight/build/evil/evil-search.elc create mode 120000 straight/build/evil/evil-states.el create mode 100644 straight/build/evil/evil-states.elc create mode 120000 straight/build/evil/evil-test-helpers.el create mode 100644 straight/build/evil/evil-test-helpers.elc create mode 120000 straight/build/evil/evil-types.el create mode 100644 straight/build/evil/evil-types.elc create mode 120000 straight/build/evil/evil-vars.el create mode 100644 straight/build/evil/evil-vars.elc create mode 120000 straight/build/evil/evil.el create mode 100644 straight/build/evil/evil.elc create mode 100644 straight/build/goto-chg/goto-chg-autoloads.el create mode 120000 straight/build/goto-chg/goto-chg.el create mode 100644 straight/build/goto-chg/goto-chg.elc create mode 100644 straight/build/straight/straight-autoloads.el create mode 120000 straight/build/straight/straight-ert-print-hack.el create mode 100644 straight/build/straight/straight-ert-print-hack.elc create mode 120000 straight/build/straight/straight-x.el create mode 100644 straight/build/straight/straight-x.elc create mode 120000 straight/build/straight/straight.el create mode 100644 straight/build/straight/straight.elc create mode 120000 straight/build/use-package/.github/PULL_REQUEST_TEMPLATE.md create mode 120000 straight/build/use-package/dir create mode 100644 straight/build/use-package/doclicense.info create mode 120000 straight/build/use-package/doclicense.texi create mode 100644 straight/build/use-package/docstyle.info create mode 120000 straight/build/use-package/docstyle.texi create mode 100644 straight/build/use-package/emacsver.info create mode 120000 straight/build/use-package/emacsver.texi create mode 100644 straight/build/use-package/use-package-autoloads.el create mode 120000 straight/build/use-package/use-package-bind-key.el create mode 100644 straight/build/use-package/use-package-bind-key.elc create mode 120000 straight/build/use-package/use-package-core.el create mode 100644 straight/build/use-package/use-package-core.elc create mode 120000 straight/build/use-package/use-package-delight.el create mode 100644 straight/build/use-package/use-package-delight.elc create mode 120000 straight/build/use-package/use-package-diminish.el create mode 100644 straight/build/use-package/use-package-diminish.elc create mode 120000 straight/build/use-package/use-package-ensure-system-package.el create mode 100644 straight/build/use-package/use-package-ensure-system-package.elc create mode 120000 straight/build/use-package/use-package-ensure.el create mode 100644 straight/build/use-package/use-package-ensure.elc create mode 120000 straight/build/use-package/use-package-jump.el create mode 100644 straight/build/use-package/use-package-jump.elc create mode 120000 straight/build/use-package/use-package-lint.el create mode 100644 straight/build/use-package/use-package-lint.elc create mode 120000 straight/build/use-package/use-package-pkg.el create mode 120000 straight/build/use-package/use-package.el create mode 100644 straight/build/use-package/use-package.elc create mode 120000 straight/build/use-package/use-package.info create mode 120000 straight/build/use-package/use-package.texi create mode 160000 straight/repos/annalist create mode 160000 straight/repos/bind-key create mode 160000 straight/repos/diminish create mode 160000 straight/repos/el-get create mode 160000 straight/repos/emacsmirror-mirror create mode 160000 straight/repos/evil create mode 160000 straight/repos/evil-collection create mode 160000 straight/repos/gnu-elpa-mirror create mode 160000 straight/repos/goto-chg create mode 160000 straight/repos/melpa create mode 160000 straight/repos/nongnu-elpa create mode 160000 straight/repos/straight.el create mode 160000 straight/repos/use-package diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5b42ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,51 @@ +# Auto-save files +auto-save-list/ + +# Native compilation cache +eln-cache/ + +# Straight.el package manager +straight/build/ +straight/build-cache.el +straight/repos/ + +# Emacs backup files +*~ +\#*\# +.\#* + +# Compiled files +*.elc + +# Transient files +transient/ + +# Network security +network-security.data + +# Org mode +.org-id-locations +org-clock-save.el + +# Project files +.projectile +projectile-bookmarks.eld +projectile.cache + +# Recentf +recentf + +# Session files +session.* +.session + +# Bookmarks +bookmarks + +# TAGS +TAGS + +# Other +.cache/ +.local/ +var/ diff --git a/config/evil.el b/config/evil.el new file mode 100644 index 0000000..e335c54 --- /dev/null +++ b/config/evil.el @@ -0,0 +1,21 @@ +;; Evil: Vim emulation layer +;; Must disable evil-want-keybinding before loading evil +;; This allows evil-collection to handle mode-specific keybindings +(setq evil-want-keybinding nil) + +(use-package evil + :init + (setq evil-want-integration t) ;; Required for evil-collection + (setq evil-undo-system 'undo-redo) ;; Use Emacs 28+ built-in undo-redo + :config + (evil-mode 1)) + ;; Restore Emacs-style C-n/C-p in insert mode for line movement + ;; (define-key evil-insert-state-map (kbd "C-n") 'next-line) + ;; (define-key evil-insert-state-map (kbd "C-p") 'previous-line)) + +(use-package evil-collection + :after evil + :straight (evil-collection :type git :host github :repo "emacs-evil/evil-collection" + :files (:defaults "modes")) + :config + (evil-collection-init)) ;; Provides Evil bindings for many Emacs modes diff --git a/early-init.el b/early-init.el new file mode 100644 index 0000000..af0ae4e --- /dev/null +++ b/early-init.el @@ -0,0 +1,30 @@ +;; early-init.el --- Early initialization for fast startup -*- lexical-binding: t -*- + +;; ===================================== +;; πŸš€ Performance Optimization +;; ===================================== + +;; Maximize GC threshold during startup (restored in init.el) +(setq gc-cons-threshold most-positive-fixnum) + +;; ===================================== +;; 🎨 UI Configuration (Pre-GUI Init) +;; ===================================== + +;; Configure frame appearance BEFORE GUI initializes +;; This prevents the white flash on startup +(setq default-frame-alist + '((font . "JetBrainsMono Nerd Font-10.5:weight=semi-bold:antialias=true:hinting=true:hintstyle=slight") + (background-color . "#003636") ;; Dark cyan background + (foreground-color . "#8affff") ;; Bright cyan text + (alpha-background . 75) ;; 75% opacity (GUI only) + (internal-border-width . 0) + (vertical-scroll-bars . nil) + (menu-bar-lines . 0) + (tool-bar-lines . 0))) + +;; Use system font rendering settings for better anti-aliasing +(setq-default font-use-system-font t) + +;; Prevent package.el from loading (we use straight.el instead) +(setq package-enable-at-startup nil) diff --git a/eln-cache/30.2-6a8b22b2/annalist-e67d06c1-9d5db23a.eln b/eln-cache/30.2-6a8b22b2/annalist-e67d06c1-9d5db23a.eln new file mode 100755 index 0000000..b5740bd Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/annalist-e67d06c1-9d5db23a.eln differ diff --git a/eln-cache/30.2-6a8b22b2/bind-key-fc9c2fa3-466ac555.eln b/eln-cache/30.2-6a8b22b2/bind-key-fc9c2fa3-466ac555.eln new file mode 100755 index 0000000..08ec7e5 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/bind-key-fc9c2fa3-466ac555.eln differ diff --git a/eln-cache/30.2-6a8b22b2/cl-seq-f464c4e2-fe43febc.eln b/eln-cache/30.2-6a8b22b2/cl-seq-f464c4e2-fe43febc.eln new file mode 100755 index 0000000..cad50ea Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/cl-seq-f464c4e2-fe43febc.eln differ diff --git a/eln-cache/30.2-6a8b22b2/diminish-457214fa-3ab06659.eln b/eln-cache/30.2-6a8b22b2/diminish-457214fa-3ab06659.eln new file mode 100755 index 0000000..eecee1e Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/diminish-457214fa-3ab06659.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-3b9df396-2200b0d8.eln b/eln-cache/30.2-6a8b22b2/evil-3b9df396-2200b0d8.eln new file mode 100755 index 0000000..0505e03 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-3b9df396-2200b0d8.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-collection-635d1a79-770d5135.eln b/eln-cache/30.2-6a8b22b2/evil-collection-635d1a79-770d5135.eln new file mode 100755 index 0000000..cd46947 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-collection-635d1a79-770d5135.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-command-window-6f88d451-fbf17beb.eln b/eln-cache/30.2-6a8b22b2/evil-command-window-6f88d451-fbf17beb.eln new file mode 100755 index 0000000..cb969ac Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-command-window-6f88d451-fbf17beb.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-commands-b78d56af-386d1154.eln b/eln-cache/30.2-6a8b22b2/evil-commands-b78d56af-386d1154.eln new file mode 100755 index 0000000..43d4bca Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-commands-b78d56af-386d1154.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-common-3f3282bc-0a909e10.eln b/eln-cache/30.2-6a8b22b2/evil-common-3f3282bc-0a909e10.eln new file mode 100755 index 0000000..f4860d4 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-common-3f3282bc-0a909e10.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-core-e6fa0c01-7d34b371.eln b/eln-cache/30.2-6a8b22b2/evil-core-e6fa0c01-7d34b371.eln new file mode 100755 index 0000000..c930745 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-core-e6fa0c01-7d34b371.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-development-0cdad305-ae22128f.eln b/eln-cache/30.2-6a8b22b2/evil-development-0cdad305-ae22128f.eln new file mode 100755 index 0000000..2e1e6ab Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-development-0cdad305-ae22128f.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-digraphs-74df060a-8e42f67f.eln b/eln-cache/30.2-6a8b22b2/evil-digraphs-74df060a-8e42f67f.eln new file mode 100755 index 0000000..524e252 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-digraphs-74df060a-8e42f67f.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-ex-8c866cac-d2bda056.eln b/eln-cache/30.2-6a8b22b2/evil-ex-8c866cac-d2bda056.eln new file mode 100755 index 0000000..08bf0ea Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-ex-8c866cac-d2bda056.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-integration-56de7cda-f2b4b6d0.eln b/eln-cache/30.2-6a8b22b2/evil-integration-56de7cda-f2b4b6d0.eln new file mode 100755 index 0000000..73f18ad Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-integration-56de7cda-f2b4b6d0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-jumps-aee09ca6-9d8dba39.eln b/eln-cache/30.2-6a8b22b2/evil-jumps-aee09ca6-9d8dba39.eln new file mode 100755 index 0000000..7c8d942 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-jumps-aee09ca6-9d8dba39.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-keybindings-5acb9700-bcb81388.eln b/eln-cache/30.2-6a8b22b2/evil-keybindings-5acb9700-bcb81388.eln new file mode 100755 index 0000000..54b014a Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-keybindings-5acb9700-bcb81388.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-macros-5b627b1e-4f3f68ac.eln b/eln-cache/30.2-6a8b22b2/evil-macros-5b627b1e-4f3f68ac.eln new file mode 100755 index 0000000..dc4b960 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-macros-5b627b1e-4f3f68ac.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-maps-306f3b17-de99e2e5.eln b/eln-cache/30.2-6a8b22b2/evil-maps-306f3b17-de99e2e5.eln new file mode 100755 index 0000000..35ceaee Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-maps-306f3b17-de99e2e5.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-repeat-57508ec5-772a99a3.eln b/eln-cache/30.2-6a8b22b2/evil-repeat-57508ec5-772a99a3.eln new file mode 100755 index 0000000..a1a8320 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-repeat-57508ec5-772a99a3.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-search-3ab5310c-a0b68c03.eln b/eln-cache/30.2-6a8b22b2/evil-search-3ab5310c-a0b68c03.eln new file mode 100755 index 0000000..da3f100 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-search-3ab5310c-a0b68c03.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-states-7e0cccc1-7c61d17a.eln b/eln-cache/30.2-6a8b22b2/evil-states-7e0cccc1-7c61d17a.eln new file mode 100755 index 0000000..5354d3d Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-states-7e0cccc1-7c61d17a.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-test-helpers-ed647920-b9102404.eln b/eln-cache/30.2-6a8b22b2/evil-test-helpers-ed647920-b9102404.eln new file mode 100755 index 0000000..dd150af Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-test-helpers-ed647920-b9102404.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-types-37562c2a-f5d539bb.eln b/eln-cache/30.2-6a8b22b2/evil-types-37562c2a-f5d539bb.eln new file mode 100755 index 0000000..97a63e5 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-types-37562c2a-f5d539bb.eln differ diff --git a/eln-cache/30.2-6a8b22b2/evil-vars-cdfd8b7a-fe052f18.eln b/eln-cache/30.2-6a8b22b2/evil-vars-cdfd8b7a-fe052f18.eln new file mode 100755 index 0000000..ba842e5 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/evil-vars-cdfd8b7a-fe052f18.eln differ diff --git a/eln-cache/30.2-6a8b22b2/goto-chg-277b1f35-ea46ed77.eln b/eln-cache/30.2-6a8b22b2/goto-chg-277b1f35-ea46ed77.eln new file mode 100755 index 0000000..2e28645 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/goto-chg-277b1f35-ea46ed77.eln differ diff --git a/eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8.eln b/eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8.eln new file mode 100755 index 0000000..0c1a242 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8.eln differ diff --git a/eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8qCkfxw.eln.tmp b/eln-cache/30.2-6a8b22b2/straight-cadee787-563068f8qCkfxw.eln.tmp new file mode 100644 index 0000000..e69de29 diff --git a/eln-cache/30.2-6a8b22b2/straight-ert-print-hack-706f2303-dade6fc6.eln b/eln-cache/30.2-6a8b22b2/straight-ert-print-hack-706f2303-dade6fc6.eln new file mode 100755 index 0000000..994157c Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/straight-ert-print-hack-706f2303-dade6fc6.eln differ diff --git a/eln-cache/30.2-6a8b22b2/straight-x-c5d103f9-037658ad.eln b/eln-cache/30.2-6a8b22b2/straight-x-c5d103f9-037658ad.eln new file mode 100755 index 0000000..4821df9 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/straight-x-c5d103f9-037658ad.eln differ diff --git a/eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e63652d766563746f72_read_key_sequence_vector_0.eln b/eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e63652d766563746f72_read_key_sequence_vector_0.eln new file mode 100755 index 0000000..2b3c6e8 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e63652d766563746f72_read_key_sequence_vector_0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e6365_read_key_sequence_0.eln b/eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e6365_read_key_sequence_0.eln new file mode 100755 index 0000000..6260430 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/subr--trampoline-726561642d6b65792d73657175656e6365_read_key_sequence_0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/subr--trampoline-73656c6563742d77696e646f77_select_window_0.eln b/eln-cache/30.2-6a8b22b2/subr--trampoline-73656c6563742d77696e646f77_select_window_0.eln new file mode 100755 index 0000000..ff13a47 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/subr--trampoline-73656c6563742d77696e646f77_select_window_0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/subr--trampoline-7365742d77696e646f772d627566666572_set_window_buffer_0.eln b/eln-cache/30.2-6a8b22b2/subr--trampoline-7365742d77696e646f772d627566666572_set_window_buffer_0.eln new file mode 100755 index 0000000..0f01864 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/subr--trampoline-7365742d77696e646f772d627566666572_set_window_buffer_0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d676c6f62616c2d6d6170_use_global_map_0.eln b/eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d676c6f62616c2d6d6170_use_global_map_0.eln new file mode 100755 index 0000000..c4ce2b7 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d676c6f62616c2d6d6170_use_global_map_0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d6c6f63616c2d6d6170_use_local_map_0.eln b/eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d6c6f63616c2d6d6170_use_local_map_0.eln new file mode 100755 index 0000000..48f3ed3 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/subr--trampoline-7573652d6c6f63616c2d6d6170_use_local_map_0.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-bind-key-ca10bce3-d6d286d9.eln b/eln-cache/30.2-6a8b22b2/use-package-bind-key-ca10bce3-d6d286d9.eln new file mode 100755 index 0000000..6540269 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-bind-key-ca10bce3-d6d286d9.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-c3721aaa-85fd959d.eln b/eln-cache/30.2-6a8b22b2/use-package-c3721aaa-85fd959d.eln new file mode 100755 index 0000000..58f6779 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-c3721aaa-85fd959d.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-core-138cecc2-e7c762ae.eln b/eln-cache/30.2-6a8b22b2/use-package-core-138cecc2-e7c762ae.eln new file mode 100755 index 0000000..2954059 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-core-138cecc2-e7c762ae.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-delight-fdf87cc0-2d299cea.eln b/eln-cache/30.2-6a8b22b2/use-package-delight-fdf87cc0-2d299cea.eln new file mode 100755 index 0000000..79c212c Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-delight-fdf87cc0-2d299cea.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-diminish-fad65662-39de7713.eln b/eln-cache/30.2-6a8b22b2/use-package-diminish-fad65662-39de7713.eln new file mode 100755 index 0000000..0b35658 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-diminish-fad65662-39de7713.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-ensure-bb75634c-67745105.eln b/eln-cache/30.2-6a8b22b2/use-package-ensure-bb75634c-67745105.eln new file mode 100755 index 0000000..a894ded Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-ensure-bb75634c-67745105.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-ensure-system-package-92ab5909-ced165a4.eln b/eln-cache/30.2-6a8b22b2/use-package-ensure-system-package-92ab5909-ced165a4.eln new file mode 100755 index 0000000..6727ae5 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-ensure-system-package-92ab5909-ced165a4.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-jump-bc0daa1f-ddce5033.eln b/eln-cache/30.2-6a8b22b2/use-package-jump-bc0daa1f-ddce5033.eln new file mode 100755 index 0000000..86d6e03 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-jump-bc0daa1f-ddce5033.eln differ diff --git a/eln-cache/30.2-6a8b22b2/use-package-lint-eec4a348-30162e93.eln b/eln-cache/30.2-6a8b22b2/use-package-lint-eec4a348-30162e93.eln new file mode 100755 index 0000000..64c9b26 Binary files /dev/null and b/eln-cache/30.2-6a8b22b2/use-package-lint-eec4a348-30162e93.eln differ diff --git a/init.el b/init.el new file mode 100644 index 0000000..2dc6c7b --- /dev/null +++ b/init.el @@ -0,0 +1,218 @@ +;;; init.el --- Emacs configuration entry point -*- lexical-binding: t -*- + +;; ===================================== +;; πŸš€ Performance Optimization +;; ===================================== + +;; Restore GC threshold after startup (maximized in early-init.el) +(add-hook 'emacs-startup-hook + (lambda () + (setq gc-cons-threshold (* 100 1024 1024)))) + +;; ===================================== +;; πŸ“¦ Package Management (straight.el) +;; ===================================== + +;; Only check for modifications when explicitly checking +(setq straight-check-for-modifications '(find-when-checking)) + +;; Bootstrap straight.el from XDG config directory +(defvar bootstrap-version) +(let* ((user-dir (file-name-as-directory + (or (getenv "XDG_CONFIG_HOME") "~/.config/"))) + (emacs-dir (concat user-dir "emacs/")) + (bootstrap-file + (expand-file-name "straight/repos/straight.el/bootstrap.el" emacs-dir)) + (bootstrap-version 6)) + (unless (file-exists-p bootstrap-file) + (with-current-buffer + (url-retrieve-synchronously + "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el" + 'silent 'inhibit-cookies) + (goto-char (point-max)) + (eval-print-last-sexp))) + (load bootstrap-file nil 'nomessage)) + +;; Freeze File +(setq straight-freeze-file (expand-file-name "versions.el" user-emacs-directory)) + +;; Integrate straight.el with use-package +(straight-use-package 'use-package) +(setq straight-use-package-by-default t) + +;; Essential use-package utilities +(use-package diminish) ;; Hide/abbreviate minor modes +(use-package bind-key) ;; Key binding utilities + +;; ===================================== +;; 🎨 UI & Visual Configuration +;; ===================================== + +;; Disable unnecessary UI elements +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) +(tooltip-mode -1) +(blink-cursor-mode -1) +(fringe-mode 0) + +;; Disable startup messages and bell +(setq inhibit-startup-screen t + inhibit-startup-message t + inhibit-startup-echo-area-message t + ring-bell-function 'ignore) + +;; Configure line numbers with themed colors +(global-display-line-numbers-mode 1) +(setq display-line-numbers-type 'relative) ;; Relative line numbers for Evil mode +(set-face-attribute 'line-number nil + :foreground "#4fa8a8" ;; Softer cyan for line numbers + :background "#003636") +(set-face-attribute 'line-number-current-line nil + :foreground "#8affff" ;; Bright cyan for current line + :background "#003636" + :weight 'bold) +(set-face-attribute 'fringe nil :background "#003636") + +;; Configure cursor and selection colors +(set-face-attribute 'cursor nil + :background "#FFC600") ;; Yellow/gold cursor +(set-face-attribute 'region nil + :background "#395e5e" ;; Dark teal selection + :foreground 'unspecified) ;; Keep text color unchanged + +;; Configure mode-line colors +(set-face-attribute 'mode-line nil + :background "#004344" ;; Dark teal background + :foreground "#8affff" ;; Bright cyan text + :box nil) ;; Remove border +(set-face-attribute 'mode-line-inactive nil + :background "#003030" ;; Darker background for inactive + :foreground "#808080" ;; Gray text for inactive + :box nil) ;; Remove border + +;; ===================================== +;; πŸ”§ Editing Behavior +;; ===================================== + +;; Auto-pair parentheses, brackets, quotes, etc. +(electric-pair-mode 1) + +;; Enable electric-indent for auto-indenting on RET +(electric-indent-mode 1) + +;; Set tab-width to 4 globally (setq-default applies to all buffers) +(setq-default tab-width 4) + +;; Use TAB characters when indenting +(setq-default indent-tabs-mode t) + +;; ===================================== +;; Whitespace Visualization (listchars) +;; ===================================== + +;; Show whitespace characters like Vim's listchars +(use-package whitespace + :straight nil ;; Built-in package + :hook (prog-mode . whitespace-mode) + :config + ;; What to visualize + (setq whitespace-style '(face + tabs + spaces + trailing + space-mark + tab-mark + newline + newline-mark)) + + ;; Character mappings (like Vim listchars) + (setq whitespace-display-mappings + '( + ;; tab: show as "│»»»" (char 9 = tab) + (tab-mark 9 [9474 187 187 187] [124 187 187 187]) + ;; space: show as "Β·" (char 32 = space) + (space-mark 32 [183] [46]) + ;; newline: show as "↲" (char 10 = newline) + (newline-mark 10 [8626 10] [182 10]) + ;; non-breaking space: show as "␣" + (space-mark 160 [9251] [95]))) + + ;; Face colors for whitespace characters + (set-face-attribute 'whitespace-tab nil + :foreground "#016868" + :background nil) + (set-face-attribute 'whitespace-space nil + :foreground "#016868" + :background nil) + (set-face-attribute 'whitespace-newline nil + :foreground "#016868" + :background nil) + (set-face-attribute 'whitespace-trailing nil + :foreground "#d2691e" + :background "#003030")) + +;; Toggle whitespace-mode with a keybinding +;; (global-set-key (kbd "C-c w") 'whitespace-mode) + +;; ===================================== +;; Ligatures +;; ===================================== + +;; Enable ligatures for JetBrains Mono +;; Uses composition-function-table for proper ligature rendering +(defconst jetbrains-mono-ligatures + '("-->" "//" "/**" "/*" "*/" "