fix(emacs): Autosave fixes

This commit is contained in:
Madeleine Sydney
2025-02-15 16:26:19 -07:00
parent 12038a92b6
commit 753f0c2dd9
2 changed files with 29 additions and 23 deletions

View File

@@ -2,35 +2,39 @@
(require 'syd-prelude) (require 'syd-prelude)
(use-package emacs
:config
(setq backup-directory-alist (setq backup-directory-alist
`(("." . (file-name-concat syd-data-dir "backup"))) `(("." . ,(file-name-concat syd-data-dir "backup")))
auto-save-list-file-prefix (file-name-concat syd-cache-dir auto-save-list-file-prefix (let ((dir (file-name-concat syd-cache-dir
"autosave") "autosave/")))
(make-directory dir t)
dir)
;; Nil means untracked files under VC won't get backed up. ;; Nil means untracked files under VC won't get backed up.
vc-make-backup-files t vc-make-backup-files t
;; Nil will clobber symlinks. ;; Nil will clobber symlinks.
backup-by-copying t backup-by-copying t
;; Use versioned backups. ;; Use versioned backups.
version-control t version-control t
;; Don't create ugly lockfiles. See
;; https://www.gnu.org/software/emacs/manual/html_node/emacs/Interlocking.html#Interlocking
;; This is a good feature, but not very relevant to a single-user system.
create-lockfiles nil
auto-save-file-name-transforms auto-save-file-name-transforms
;; Good grief, girl... ;; Good grief, girl...
`(("\\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'" `(("\\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'"
,(file-name-concat syd-cache-dir "autosave" "tramp-\\2") t) ,(concat auto-save-list-file-prefix "tramp-\\2") t)
(".*" (".*"
,(file-name-concat syd-cache-dir "autosave") t)) ,(file-name-concat syd-cache-dir "autosave") t))
kept-new-versions 5 kept-new-versions 5
delete-old-versions t)) delete-old-versions t)
;; Save your cursor position in recently-opened files. ;; Save your cursor position in recently-opened files.
(use-package saveplace (use-package saveplace
:hook (on-first-file . save-place-mode) :hook (on-first-file-hook . save-place-mode)
:custom (save-place-file (file-name-concat syd-cache-dir "places"))) :custom (save-place-file (file-name-concat syd-cache-dir "places")))
;; Keep track of recently-visited files. ;; Keep track of recently-visited files.
(use-package recentf (use-package recentf
:hook ((on-first-file . recentf-mode) :hook ((on-first-file-hook . recentf-mode)
(find-file-hook . recentf-save-list)) (find-file-hook . recentf-save-list))
:custom (recentf-save-file (file-name-concat syd-data-dir "recentf"))) :custom (recentf-save-file (file-name-concat syd-data-dir "recentf")))

View File

@@ -3,6 +3,8 @@
(use-package tramp (use-package tramp
:defer t :defer t
:custom ((tramp-persistency-file-name (file-name-concat syd-cache-dir :custom ((tramp-persistency-file-name (file-name-concat syd-cache-dir
"tramp")))) "tramp"))
(tramp-auto-save-directory
(file-name-concat syd-cache-dir "tramp-autosave/"))))
(provide 'syd-tramp) (provide 'syd-tramp)