refactor: refine Windows support and convert use-package :if to conditionals

This commit is contained in:
2026-06-13 08:25:44 +08:00
parent 5c7391dcf8
commit e3dda7fd65
8 changed files with 95 additions and 95 deletions

View File

@@ -42,20 +42,19 @@
(server-mode 1))))) (server-mode 1)))))
;; recentf最近打开的文件 ;; recentf最近打开的文件
(use-package recentf (if (or (display-graphic-p) *is-android*)
:if (use-package recentf
(or (display-graphic-p) *is-android*) :hook
:hook (after-init . recentf-mode)
(after-init . recentf-mode) :init
:init (setq recentf-max-saved-items 30)
(setq recentf-max-saved-items 30) :config
:config (if *is-android*
(if *is-android* (add-to-list 'recentf-exclude "~/storage/shared/my-org-note/journal/.*\\.org\\'")
(add-to-list 'recentf-exclude "~/storage/shared/my-org-note/journal/.*\\.org\\'") (add-to-list 'recentf-exclude "~/org/my-org-note/journal/.*\\.org\\'")
(add-to-list 'recentf-exclude "~/org/my-org-note/journal/.*\\.org\\'") (add-to-list 'recentf-exclude "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org\\.org"))
(add-to-list 'recentf-exclude "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org\\.org")) (add-to-list 'recentf-exclude "~/.emacs.d/emms/history")
(add-to-list 'recentf-exclude "~/.emacs.d/emms/history") (add-to-list 'recentf-exclude "~/.emacs.d/bookmarks")))
(add-to-list 'recentf-exclude "~/.emacs.d/bookmarks"))
;; savehist保存命令顺序 ;; savehist保存命令顺序
(use-package savehist (use-package savehist
@@ -81,14 +80,13 @@
(use-package restart-emacs) (use-package restart-emacs)
;; async ;; async
(if *is-android*
(use-package async (use-package async
:if
(not *is-android*)
:hook :hook
(after-init . dired-async-mode) (after-init . dired-async-mode)
(after-init . async-bytecomp-package-mode) (after-init . async-bytecomp-package-mode)
:init :init
(setq async-bytecomp-allowed-packages '(all))) (setq async-bytecomp-allowed-packages '(all))))
;; autorevert buffer ;; autorevert buffer
(use-package autorevert (use-package autorevert

View File

@@ -166,11 +166,11 @@ targets."
(:map corfu-map (:map corfu-map
("RET" . nil))) ("RET" . nil)))
(use-package corfu-terminal (if (not (and (display-graphic-p)
:if (not (and (display-graphic-p) (>= emacs-major-version 31)))
(>= emacs-major-version 31))) (use-package corfu-terminal
:hook :hook
(after-init . corfu-terminal-mode)) (after-init . corfu-terminal-mode)))
(use-package emacs (use-package emacs
:custom :custom

View File

@@ -73,7 +73,7 @@
:init :init
(if *is-android* (add-hook 'after-init-hook 'god-mode-all)) (if *is-android* (add-hook 'after-init-hook 'god-mode-all))
:config :config
(unless *is-android* (which-key-enable-god-mode-support)) (unless (or *is-android* (not use-package-always-defer)) (which-key-enable-god-mode-support))
(setq god-mode-enable-function-key-translation nil (setq god-mode-enable-function-key-translation nil
god-exempt-major-modes god-exempt-major-modes
(cl-union '(diff-mode exwm-mode) god-exempt-major-modes :test 'equal) (cl-union '(diff-mode exwm-mode) god-exempt-major-modes :test 'equal)

View File

@@ -32,7 +32,7 @@
;; (straight-use-package 'use-package) ;; (straight-use-package 'use-package)
;; 配置 use-package ;; 配置 use-package
(setq use-package-always-defer t (setq use-package-always-defer (if *is-windows* nil t)
use-package-expand-minimally t use-package-expand-minimally t
use-package-verbose t use-package-verbose t
straight-use-package-version t straight-use-package-version t

View File

@@ -8,11 +8,16 @@
:hook :hook
(org-mode . org-indent-mode) (org-mode . org-indent-mode)
(org-mode . visual-line-mode) (org-mode . visual-line-mode)
(org-mode . jinx-mode)
(org-mode . my-org-electric-pair-fix) (org-mode . my-org-electric-pair-fix)
(org-mode . electric-pair-local-mode) (org-mode . electric-pair-local-mode)
:config :config
(if *is-windows*
(add-hook 'org-mode-hook 'font-lock-update))
(unless *is-windows*
(add-hook 'org-mode 'jinx-mode))
(defun my-org-electric-pair-fix () (defun my-org-electric-pair-fix ()
(setq-local electric-pair-inhibit-predicate (setq-local electric-pair-inhibit-predicate
(lambda (char) (lambda (char)
@@ -71,9 +76,13 @@
(after-init . denote-rename-buffer-mode) (after-init . denote-rename-buffer-mode)
(dired-mode . denote-dired-mode) (dired-mode . denote-dired-mode)
:config :config
(if *is-android* (cond
(setq denote-directory "~/storage/shared/my-org-note/") (*is-android*
(setq denote-directory "~/org/my-org-note/")) (setq denote-directory "~/storage/shared/my-org-note/"))
(*is-windows*
(setq denote-directory "H:/emacs/my-org-note/"))
(t
(setq denote-directory "~/org/my-org-note/")))
(setq denote-prompts '(title signature keywords)) (setq denote-prompts '(title signature keywords))
(setq denote-title-history nil) (setq denote-title-history nil)
(setq denote-signature-history (setq denote-signature-history

View File

@@ -5,7 +5,8 @@
;;; Code: ;;; Code:
;; keycast按键广播 ;; keycast按键广播
(use-package keycast) (if use-package-always-defer
(use-package keycast))
;; anzu显示isearch匹配数字 ;; anzu显示isearch匹配数字
(use-package anzu (use-package anzu
@@ -35,55 +36,51 @@
(?v "Variables" font-lock-variable-name-face))))))) (?v "Variables" font-lock-variable-name-face)))))))
;; jinx拼写检查 ;; jinx拼写检查
(use-package jinx (unless *is-windows*
:if (use-package jinx
(not *is-windows*) :delight
:delight (jinx-mode " Jinx" jinx)
(jinx-mode " Jinx" jinx) :bind
:bind ([remap ispell-word] . jinx-correct)
([remap ispell-word] . jinx-correct) :config
:config (setq jinx-languages "en_US")
(setq jinx-languages "en_US") (add-to-list 'jinx-exclude-regexps '(t "\\cc"))
(add-to-list 'jinx-exclude-regexps '(t "\\cc")) (with-eval-after-load 'jinx
(with-eval-after-load 'jinx (dolist (range '((#x4E00 . #x9FFF)
(dolist (range '((#x4E00 . #x9FFF) (#x3400 . #x4DBF)
(#x3400 . #x4DBF) (#x3000 . #x303F)
(#x3000 . #x303F) (#xFF00 . #xFFEF)
(#xFF00 . #xFFEF) (#x20000 . #x2A6DF)))
(#x20000 . #x2A6DF))) (let ((start (car range))
(let ((start (car range)) (end (cdr range)))
(end (cdr range))) (dotimes (i (- end start))
(dotimes (i (- end start)) (modify-syntax-entry (+ start i) "_" jinx--syntax-table))))))
(modify-syntax-entry (+ start i) "_" jinx--syntax-table))))))
(use-package consult-jinx (use-package consult-jinx
:if :after jinx
(not *is-windows*) :demand t
:after jinx :straight nil))
:demand t
:straight nil)
;; eat终端 ;; eat终端
(use-package eat (unless *is-windows*
:if (use-package eat
(not *is-windows*) :straight
:straight (eat :type git
(eat :type git :host codeberg
:host codeberg :repo "akib/emacs-eat"
:repo "akib/emacs-eat" :files ("*.el"
:files ("*.el" ("term" "term/*.el")
("term" "term/*.el") "*.texi"
"*.texi" "*.ti"
"*.ti" ("terminfo/e" "terminfo/e/*")
("terminfo/e" "terminfo/e/*") ("terminfo/65" "terminfo/65/*")
("terminfo/65" "terminfo/65/*") ("integration" "integration/*")
("integration" "integration/*") (:exclude ".dir-locals.el" "*-tests.el")))
(:exclude ".dir-locals.el" "*-tests.el"))) :hook
:hook ((eshell-load . eat-eshell-mode)
((eshell-load . eat-eshell-mode) (eshell-load . eat-eshell-visual-command-mode))
(eshell-load . eat-eshell-visual-command-mode)) :config
:config (setq eat-term-terminfo-directory eat--terminfo-path)))
(setq eat-term-terminfo-directory eat--terminfo-path))
;; perspective工作区管理 ;; perspective工作区管理
(use-package perspective (use-package perspective

View File

@@ -20,8 +20,6 @@
(after-init . benchmark-init/deactivate)) (after-init . benchmark-init/deactivate))
(use-package recentf (use-package recentf
:if
(or (display-graphic-p) *is-android*)
:hook :hook
(after-init . recentf-mode) (after-init . recentf-mode)
:init :init

View File

@@ -63,11 +63,10 @@
(use-package naysayer-theme) (use-package naysayer-theme)
(use-package ef-themes) (use-package ef-themes)
(use-package simple-modeline (if *is-android*
:if (use-package simple-modeline
*is-android* :hook
:hook (after-init . simple-modeline-mode)))
(after-init . simple-modeline-mode))
;; eshell高亮 ;; eshell高亮
(use-package eshell-syntax-highlighting (use-package eshell-syntax-highlighting
@@ -101,19 +100,18 @@
(after-init . global-hl-line-mode)) (after-init . global-hl-line-mode))
;; 显示时间 ;; 显示时间
(use-package time (unless *is-android*
:if (use-package time
(not *is-android*) :hook
:hook (persp-mode . display-time-mode)
(persp-mode . display-time-mode) :config
:config (setq display-time-default-load-average nil
(setq display-time-default-load-average nil display-time-string-forms
display-time-string-forms '((propertize
'((propertize (concat
(concat (propertize (format-time-string " %I:%M") 'face 'display-time-date-and-time)
(propertize (format-time-string " %I:%M") 'face 'display-time-date-and-time) (propertize (format-time-string "-%p") 'face 'font-lock-comment-face))
(propertize (format-time-string "-%p") 'face 'font-lock-comment-face)) 'help-echo (format-time-string "%A, %B %d, %Y"))))))
'help-echo (format-time-string "%A, %B %d, %Y")))))
;; 安装cnfonts脚本用于修复中英文对齐 ;; 安装cnfonts脚本用于修复中英文对齐
(use-package cnfonts (use-package cnfonts