@@ -17,7 +17,7 @@ The rough details:
17
17
- key definitions :: =keymap=, =repeat=
18
18
- code navigation :: [[info:emacs#Xref][xref]], [[https://github.com/jacktasia/dumb-jump][dumb-jump]], [[https://github.com/vspinu/imenu-anywhere][imenu-anywhere]]
19
19
- syntax checker :: [[info:flymake#Top][flymake]]
20
- - persistent undo :: via ~ desktop-save-mode~
20
+ - persistent undo :: = desktop=
21
21
- language server integration :: [[info:eglot#Top][eglot]]
22
22
- structured editing :: [[https://github.com/AmaiKinono/puni][puni]]
23
23
@@ -362,22 +362,6 @@ Fringe control:
362
362
(set-fringe-style nil)))
363
363
#+end_src
364
364
365
- ** History
366
- *** savehist
367
- Persist history.
368
- #+begin_src emacs-lisp :tangle yes
369
- (use-package savehist
370
- :hook
371
- (after-init-hook . savehist-mode)
372
- :init
373
- (setq savehist-additional-variables
374
- '(kill-ring
375
- search-ring
376
- regexp-search-ring))
377
- (setq savehist-autosave-interval 60)
378
- (setq savehist-save-minibuffer-history t))
379
- #+end_src
380
-
381
365
** Localization
382
366
#+begin_src emacs-lisp :tangle yes
383
367
(setq-default calendar-week-start-day 1)
@@ -541,6 +525,7 @@ Add window dividers, mainly to add a border below the mode line.
541
525
#+begin_src emacs-lisp :tangle yes
542
526
(use-package frame
543
527
:hook
528
+ (after-make-frame-functions . window-divider-mode)
544
529
(server-after-make-frame-hook . window-divider-mode)
545
530
:init
546
531
(setq window-divider-default-places t)
@@ -2567,27 +2552,6 @@ Specific safe local code can be specified via:
2567
2552
- ~safe-local-eval-forms~
2568
2553
- ~safe-local-eval-function~
2569
2554
2570
- *** ielm
2571
- Persist ielm history.
2572
- #+begin_src emacs-lisp :tangle yes
2573
- (defvar +ielm-comint-input-ring nil)
2574
- (with-eval-after-load 'savehist
2575
- (cl-pushnew '+ielm-comint-input-ring savehist-additional-variables :test #'equal))
2576
-
2577
- (defun +ielm-set-comint-input-ring ()
2578
- "Restore `ielm' history."
2579
- (setq-local comint-input-ring-size 200)
2580
- (add-hook 'kill-buffer-hook #'+ielm-save-comint-input-ring nil t)
2581
- (when +ielm-comint-input-ring
2582
- (setq comint-input-ring +ielm-comint-input-ring)))
2583
-
2584
- (defun +ielm-save-comint-input-ring ()
2585
- "Save `ielm' history."
2586
- (setq +ielm-comint-input-ring comint-input-ring))
2587
-
2588
- (add-hook 'ielm-mode-hook #'+ielm-set-comint-input-ring)
2589
- #+end_src
2590
-
2591
2555
*** Packages
2592
2556
**** package-lint-flymake
2593
2557
#+begin_src emacs-lisp :tangle yes
@@ -3187,32 +3151,6 @@ Add faces to =outline-minor-mode= in order to make the headings stand out.
3187
3151
(:map interactive-haskell-mode-map ("M-." . nil)))
3188
3152
#+end_src
3189
3153
3190
- *** REPL
3191
- Persist REPL history.
3192
- #+begin_src emacs-lisp :tangle yes
3193
- (use-package haskell-mode
3194
- :functions
3195
- (haskell-interactive-save-history)
3196
- :defines
3197
- (haskell-interactive-mode-history)
3198
- :hook
3199
- (haskell-interactive-mode-hook . haskell-interactive-load-history)
3200
- :config
3201
- (defvar haskell-interactive-global-history nil)
3202
-
3203
- (defun haskell-interactive-save-history ()
3204
- "Save `haskell-interactive-mode' history."
3205
- (setq haskell-interactive-global-history haskell-interactive-mode-history))
3206
-
3207
- (defun haskell-interactive-load-history ()
3208
- "Restore `haskell-interactive-mode' history."
3209
- (add-hook 'kill-buffer-hook #'haskell-interactive-save-history nil t)
3210
- (when haskell-interactive-global-history
3211
- (setq haskell-interactive-mode-history haskell-interactive-global-history)))
3212
-
3213
- (cl-pushnew 'haskell-interactive-global-history savehist-additional-variables :test #'equal))
3214
- #+end_src
3215
-
3216
3154
** java
3217
3155
#+begin_src emacs-lisp :tangle yes
3218
3156
(use-package java-ts-mode
@@ -3769,16 +3707,29 @@ it really useful.
3769
3707
- Restore no buffers to begin with to avoid slow starts with huge sessions.
3770
3708
#+begin_src emacs-lisp :tangle yes
3771
3709
(use-package desktop
3772
- :demand t
3710
+ :hook
3711
+ (server-after-make-frame-hook . desktop-read)
3773
3712
:init
3713
+ (setq desktop-save t)
3774
3714
(setq desktop-files-not-to-save "\\(\\`/[^/:]*:\\|(ftp)\\|\\.gz\\'\\)")
3715
+
3716
+ (setq desktop-load-locked-desktop t)
3775
3717
(setq desktop-restore-eager 0)
3776
- (setq desktop-save (daemonp))
3777
- (setq desktop-load-locked-desktop (daemonp))
3718
+ (setq desktop-restore-frames nil)
3719
+
3720
+ (desktop-save-mode 1)
3778
3721
:config
3779
- (dolist (var '(buffer-undo-list))
3780
- (cl-pushnew var desktop-locals-to-save :test #'equal))
3781
- (desktop-save-mode 1))
3722
+ (dolist (var '(compile-history
3723
+ extended-command-history
3724
+ grep-history
3725
+ kill-ring
3726
+ minibuffer-history
3727
+ query-replace-history
3728
+ read-expression-history
3729
+ shell-command-history))
3730
+ (cl-pushnew var desktop-globals-to-save :test #'equal))
3731
+ (dolist (var '(buffer-undo-list comint-input-ring))
3732
+ (cl-pushnew var desktop-locals-to-save :test #'equal)))
3782
3733
#+end_src
3783
3734
3784
3735
** Speed reading
0 commit comments