diff options
-rw-r--r-- | config.org | 90 | ||||
-rw-r--r-- | early-init.el | 34 | ||||
-rw-r--r-- | init.el | 3 |
3 files changed, 93 insertions, 34 deletions
diff --git a/config.org b/config.org index bacb5f6..5479ab4 100644 --- a/config.org +++ b/config.org | |||
@@ -97,7 +97,7 @@ want it to resize by pixels -- we /are/ using a GUI, after all. | |||
97 | 97 | ||
98 | *** Fringes | 98 | *** Fringes |
99 | :PROPERTIES: | 99 | :PROPERTIES: |
100 | :header-args: :noweb-ref settings | 100 | :header-args: :noweb-ref early-init-frame |
101 | :END: | 101 | :END: |
102 | 102 | ||
103 | I have grown to love Emacs's little fringes on the side of the | 103 | I have grown to love Emacs's little fringes on the side of the |
@@ -127,33 +127,41 @@ and have made a custom fringe bitmap. | |||
127 | ***** Curly arrows (continuation lines) | 127 | ***** Curly arrows (continuation lines) |
128 | 128 | ||
129 | #+begin_src emacs-lisp | 129 | #+begin_src emacs-lisp |
130 | (define-fringe-bitmap 'left-curly-arrow | 130 | (defun hook--setup-fringes-curly-arrows () |
131 | [#b11000000 | 131 | "Set up curly-arrow fringes." |
132 | #b01100000 | 132 | (define-fringe-bitmap 'left-curly-arrow |
133 | #b00110000 | 133 | [#b11000000 |
134 | #b00011000]) | 134 | #b01100000 |
135 | #b00110000 | ||
136 | #b00011000]) | ||
137 | |||
138 | (define-fringe-bitmap 'right-curly-arrow | ||
139 | [#b00011000 | ||
140 | #b00110000 | ||
141 | #b01100000 | ||
142 | #b11000000])) | ||
135 | 143 | ||
136 | (define-fringe-bitmap 'right-curly-arrow | 144 | (add-hook 'after-init-hook #'hook--setup-fringes-curly-arrows) |
137 | [#b00011000 | ||
138 | #b00110000 | ||
139 | #b01100000 | ||
140 | #b11000000]) | ||
141 | #+end_src | 145 | #+end_src |
142 | 146 | ||
143 | ***** Arrows (truncation lines) | 147 | ***** Arrows (truncation lines) |
144 | 148 | ||
145 | #+begin_src emacs-lisp | 149 | #+begin_src emacs-lisp |
146 | (define-fringe-bitmap 'left-arrow | 150 | (defun hook--setup-fringes-arrows () |
147 | [#b00000000 | 151 | "Setup arrow fringe bitmaps." |
148 | #b01010100 | 152 | (define-fringe-bitmap 'left-arrow |
149 | #b01010100 | 153 | [#b00000000 |
150 | #b00000000]) | 154 | #b01010100 |
155 | #b01010100 | ||
156 | #b00000000]) | ||
157 | |||
158 | (define-fringe-bitmap 'right-arrow | ||
159 | [#b00000000 | ||
160 | #b00101010 | ||
161 | #b00101010 | ||
162 | #b00000000])) | ||
151 | 163 | ||
152 | (define-fringe-bitmap 'right-arrow | 164 | (add-hook 'after-init-hook #'hook--setup-fringes-arrows) |
153 | [#b00000000 | ||
154 | #b00101010 | ||
155 | #b00101010 | ||
156 | #b00000000]) | ||
157 | #+end_src | 165 | #+end_src |
158 | 166 | ||
159 | ** Windows | 167 | ** Windows |
@@ -484,13 +492,13 @@ into my personal fork, I'll use the workaround described in the | |||
484 | issue. | 492 | issue. |
485 | 493 | ||
486 | #+begin_src emacs-lisp :noweb-ref hooks | 494 | #+begin_src emacs-lisp :noweb-ref hooks |
487 | (defun hook--unicode-fonts-setup (frame) | 495 | (defun hook--unicode-fonts-setup () |
488 | "Run `unicode-fonts-setup', then remove the hook." | 496 | "Run `unicode-fonts-setup', then remove the hook." |
489 | (select-frame frame) | 497 | (when (window-system) |
490 | (unicode-fonts-setup) | 498 | (unicode-fonts-setup)) |
491 | (remove-hook 'after-make-frame-functions #'hook--unicode-fonts-setup)) | 499 | (remove-hook 'after-init-hook #'hook--unicode-fonts-setup)) |
492 | 500 | ||
493 | (add-hook 'after-make-frame-functions #'hook--unicode-fonts-setup) | 501 | (add-hook 'after-init-hook #'hook--unicode-fonts-setup) |
494 | #+end_src | 502 | #+end_src |
495 | 503 | ||
496 | *** Draw form-feeds (=^L=) properly :package: | 504 | *** Draw form-feeds (=^L=) properly :package: |
@@ -1738,13 +1746,17 @@ to auto-fill in programming modes, but /only/ the comments. | |||
1738 | #+begin_src emacs-lisp :noweb-ref settings | 1746 | #+begin_src emacs-lisp :noweb-ref settings |
1739 | (setq-default show-paren-delay 0 | 1747 | (setq-default show-paren-delay 0 |
1740 | ;; Show the matching paren if visible, else the whole expression | 1748 | ;; Show the matching paren if visible, else the whole expression |
1741 | show-paren-style 'mixed) | 1749 | show-paren-style 'mixed |
1750 | show-paren-when-point-inside-paren t | ||
1751 | show-paren-when-point-in-periphery t) | ||
1742 | #+end_src | 1752 | #+end_src |
1743 | 1753 | ||
1744 | *** Smart parens :package: | 1754 | *** COMMENT Smart parentheses :package: |
1745 | 1755 | ||
1746 | #+begin_src emacs-lisp :noweb-ref packages | 1756 | #+begin_src emacs-lisp :noweb-ref packages |
1747 | (straight-use-package 'smartparens) | 1757 | (straight-use-package '(smartparens |
1758 | :host github | ||
1759 | :repo "Fuco1/smartparens")) | ||
1748 | (require 'smartparens-config) | 1760 | (require 'smartparens-config) |
1749 | #+end_src | 1761 | #+end_src |
1750 | 1762 | ||
@@ -1782,10 +1794,19 @@ to auto-fill in programming modes, but /only/ the comments. | |||
1782 | #+end_src | 1794 | #+end_src |
1783 | 1795 | ||
1784 | #+begin_src emacs-lisp :noweb-ref modes | 1796 | #+begin_src emacs-lisp :noweb-ref modes |
1785 | (with-eval-after-load 'smart-parens | 1797 | (with-eval-after-load 'smartparens |
1786 | (sp-use-paredit-bindings)) | 1798 | (sp-use-paredit-bindings)) |
1787 | #+end_src | 1799 | #+end_src |
1788 | 1800 | ||
1801 | *** Electric pairs | ||
1802 | |||
1803 | =smart-parens= is acting up on me, and Emacs has an included mode to do pretty | ||
1804 | much everything I do with =smart-parens= -- =electric-pair-mode=. Let's try it. | ||
1805 | |||
1806 | #+begin_src emacs-lisp :noweb-ref hooks | ||
1807 | (add-hook 'prog-mode-hook #'electric-pair-local-mode) | ||
1808 | #+end_src | ||
1809 | |||
1789 | ** Formatting | 1810 | ** Formatting |
1790 | 1811 | ||
1791 | *** Aggressive indent :package: | 1812 | *** Aggressive indent :package: |
@@ -1948,7 +1969,8 @@ At work, I need to tell Emacs where Firefox is. | |||
1948 | *** SHR | 1969 | *** SHR |
1949 | 1970 | ||
1950 | #+begin_src emacs-lisp :noweb-ref settings | 1971 | #+begin_src emacs-lisp :noweb-ref settings |
1951 | (setq-default shr-max-width fill-column) | 1972 | (setq-default shr-max-width fill-column |
1973 | shr-width fill-column) | ||
1952 | #+end_src | 1974 | #+end_src |
1953 | 1975 | ||
1954 | ** Dired | 1976 | ** Dired |
@@ -3393,6 +3415,7 @@ the =unless= form -- it was pretty tough for me to wrap my head around | |||
3393 | the needed boolean expression to tangle config.org. Booleans, yall! | 3415 | the needed boolean expression to tangle config.org. Booleans, yall! |
3394 | 3416 | ||
3395 | #+begin_src emacs-lisp | 3417 | #+begin_src emacs-lisp |
3418 | (message "%s..." "Loading init.el") | ||
3396 | (let* (;; Speed up init | 3419 | (let* (;; Speed up init |
3397 | (gc-cons-threshold most-positive-fixnum) | 3420 | (gc-cons-threshold most-positive-fixnum) |
3398 | ;; (gc-cons-percentage 0.6) | 3421 | ;; (gc-cons-percentage 0.6) |
@@ -3423,7 +3446,7 @@ the needed boolean expression to tangle config.org. Booleans, yall! | |||
3423 | (require 'org) | 3446 | (require 'org) |
3424 | (org-babel-load-file config.org) | 3447 | (org-babel-load-file config.org) |
3425 | (message "%s... Done" "Loading config.org"))) | 3448 | (message "%s... Done" "Loading config.org"))) |
3426 | 3449 | (message "%s... Done." "Loading init.el") | |
3427 | ;;; init.el ends here | 3450 | ;;; init.el ends here |
3428 | #+end_src | 3451 | #+end_src |
3429 | 3452 | ||
@@ -3441,11 +3464,12 @@ little as possible in this file, so I only have what I need. | |||
3441 | <<disclaimer>> | 3464 | <<disclaimer>> |
3442 | ;;; Code: | 3465 | ;;; Code: |
3443 | 3466 | ||
3467 | (message "%s..." "Loading early-init.el") | ||
3444 | ;; BOOTSTRAP PACKAGE MANAGEMENT | 3468 | ;; BOOTSTRAP PACKAGE MANAGEMENT |
3445 | <<early-init-package>> | 3469 | <<early-init-package>> |
3446 | ;; SETUP FRAME | 3470 | ;; SETUP FRAME |
3447 | <<early-init-frame>> | 3471 | <<early-init-frame>> |
3448 | 3472 | (message "%s... Done." "Loading early-init.el") | |
3449 | ;;; early-init.el ends here | 3473 | ;;; early-init.el ends here |
3450 | #+end_src | 3474 | #+end_src |
3451 | 3475 | ||
diff --git a/early-init.el b/early-init.el index b8a6c6c..1a26b03 100644 --- a/early-init.el +++ b/early-init.el | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | ;;; Code: | 15 | ;;; Code: |
16 | 16 | ||
17 | (message "%s..." "Loading early-init.el") | ||
17 | ;; BOOTSTRAP PACKAGE MANAGEMENT | 18 | ;; BOOTSTRAP PACKAGE MANAGEMENT |
18 | (let ((win-app-dir "~/Applications")) | 19 | (let ((win-app-dir "~/Applications")) |
19 | (dolist (path (list | 20 | (dolist (path (list |
@@ -85,5 +86,38 @@ | |||
85 | (horizontal-scroll-bar-mode -1) | 86 | (horizontal-scroll-bar-mode -1) |
86 | (setq-default frame-inhibit-implied-resize t | 87 | (setq-default frame-inhibit-implied-resize t |
87 | frame-resize-pixelwise t) | 88 | frame-resize-pixelwise t) |
89 | (setq-default indicate-empty-lines t) | ||
90 | (setq-default indicate-buffer-boundaries 'right) | ||
91 | (setq-default visual-line-fringe-indicators '(left-curly-arrow nil)) | ||
92 | (defun hook--setup-fringes-curly-arrows () | ||
93 | "Set up curly-arrow fringes." | ||
94 | (define-fringe-bitmap 'left-curly-arrow | ||
95 | [#b11000000 | ||
96 | #b01100000 | ||
97 | #b00110000 | ||
98 | #b00011000]) | ||
88 | 99 | ||
100 | (define-fringe-bitmap 'right-curly-arrow | ||
101 | [#b00011000 | ||
102 | #b00110000 | ||
103 | #b01100000 | ||
104 | #b11000000])) | ||
105 | |||
106 | (add-hook 'after-init-hook #'hook--setup-fringes-curly-arrows) | ||
107 | (defun hook--setup-fringes-arrows () | ||
108 | "Setup arrow fringe bitmaps." | ||
109 | (define-fringe-bitmap 'left-arrow | ||
110 | [#b00000000 | ||
111 | #b01010100 | ||
112 | #b01010100 | ||
113 | #b00000000]) | ||
114 | |||
115 | (define-fringe-bitmap 'right-arrow | ||
116 | [#b00000000 | ||
117 | #b00101010 | ||
118 | #b00101010 | ||
119 | #b00000000])) | ||
120 | |||
121 | (add-hook 'after-init-hook #'hook--setup-fringes-arrows) | ||
122 | (message "%s... Done." "Loading early-init.el") | ||
89 | ;;; early-init.el ends here | 123 | ;;; early-init.el ends here |
diff --git a/init.el b/init.el index 0d48e0d..28238aa 100644 --- a/init.el +++ b/init.el | |||
@@ -16,6 +16,7 @@ | |||
16 | 16 | ||
17 | (setq-default load-prefer-newer t) | 17 | (setq-default load-prefer-newer t) |
18 | 18 | ||
19 | (message "%s..." "Loading init.el") | ||
19 | (let* (;; Speed up init | 20 | (let* (;; Speed up init |
20 | (gc-cons-threshold most-positive-fixnum) | 21 | (gc-cons-threshold most-positive-fixnum) |
21 | ;; (gc-cons-percentage 0.6) | 22 | ;; (gc-cons-percentage 0.6) |
@@ -46,5 +47,5 @@ | |||
46 | (require 'org) | 47 | (require 'org) |
47 | (org-babel-load-file config.org) | 48 | (org-babel-load-file config.org) |
48 | (message "%s... Done" "Loading config.org"))) | 49 | (message "%s... Done" "Loading config.org"))) |
49 | 50 | (message "%s... Done." "Loading init.el") | |
50 | ;;; init.el ends here | 51 | ;;; init.el ends here |