breaking: Remove setup script and use chezmoi

This commit is contained in:
js0ny 2025-09-27 02:25:06 +01:00
parent 02bbb24cac
commit 0051a163c3
190 changed files with 118 additions and 3456 deletions

View file

@ -1,35 +0,0 @@
;;; init-beancount.el --- beancount support -*- lexical-binding: t -*-
(after! beancount
;; 1. 自动启用 outline-minor-mode
(add-hook! 'beancount-mode-hook #'outline-minor-mode)
;; 2. 设置大纲导航快捷键 (使用 Doom 的 map! 宏)
(map! :map beancount-mode-map
"C-c C-n" #'outline-next-visible-heading
"C-c C-p" #'outline-previous-visible-heading)
;; 3. 核心功能:跨文件账户补全 (这部分逻辑完全保留)
(defvar my-beancount-accounts-files nil "List of account files.")
(setq my-beancount-accounts-files
(directory-files "~/Documents/Finance/Beancount/config/" 'full (rx ".beancount" eos)))
(defun my-beancount--collect-accounts-from-files (oldfun &rest args)
"Collect all accounts from files specified in `my-beancount-accounts-files'."
(let ((keys (apply oldfun args))
(hash (make-hash-table :test 'equal)))
(dolist (key keys)
(puthash key nil hash))
;; collect accounts from files
(save-excursion
(dolist (f my-beancount-accounts-files)
;; `ignore-errors` is a good practice for file operations
(ignore-errors
(with-current-buffer (find-file-noselect f)
(goto-char (point-min))
(while (re-search-forward beancount-account-regexp nil t)
(puthash (match-string-no-properties 1) nil hash))))))
(hash-table-keys hash)))
(advice-add #'beancount-collect
:around #'my-beancount--collect-accounts-from-files))