refactor: refine Windows support and convert use-package :if to conditionals
This commit is contained in:
@@ -42,20 +42,19 @@
|
||||
(server-mode 1)))))
|
||||
|
||||
;; recentf,最近打开的文件
|
||||
(use-package recentf
|
||||
:if
|
||||
(or (display-graphic-p) *is-android*)
|
||||
:hook
|
||||
(after-init . recentf-mode)
|
||||
:init
|
||||
(setq recentf-max-saved-items 30)
|
||||
:config
|
||||
(if *is-android*
|
||||
(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/20260509T232442==agenda--all-my-todos__org\\.org"))
|
||||
(add-to-list 'recentf-exclude "~/.emacs.d/emms/history")
|
||||
(add-to-list 'recentf-exclude "~/.emacs.d/bookmarks"))
|
||||
(if (or (display-graphic-p) *is-android*)
|
||||
(use-package recentf
|
||||
:hook
|
||||
(after-init . recentf-mode)
|
||||
:init
|
||||
(setq recentf-max-saved-items 30)
|
||||
:config
|
||||
(if *is-android*
|
||||
(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/20260509T232442==agenda--all-my-todos__org\\.org"))
|
||||
(add-to-list 'recentf-exclude "~/.emacs.d/emms/history")
|
||||
(add-to-list 'recentf-exclude "~/.emacs.d/bookmarks")))
|
||||
|
||||
;; savehist,保存命令顺序
|
||||
(use-package savehist
|
||||
@@ -81,14 +80,13 @@
|
||||
(use-package restart-emacs)
|
||||
|
||||
;; async
|
||||
(if *is-android*
|
||||
(use-package async
|
||||
:if
|
||||
(not *is-android*)
|
||||
:hook
|
||||
(after-init . dired-async-mode)
|
||||
(after-init . async-bytecomp-package-mode)
|
||||
:init
|
||||
(setq async-bytecomp-allowed-packages '(all)))
|
||||
(setq async-bytecomp-allowed-packages '(all))))
|
||||
|
||||
;; autorevert buffer
|
||||
(use-package autorevert
|
||||
|
||||
@@ -166,11 +166,11 @@ targets."
|
||||
(:map corfu-map
|
||||
("RET" . nil)))
|
||||
|
||||
(use-package corfu-terminal
|
||||
:if (not (and (display-graphic-p)
|
||||
(>= emacs-major-version 31)))
|
||||
:hook
|
||||
(after-init . corfu-terminal-mode))
|
||||
(if (not (and (display-graphic-p)
|
||||
(>= emacs-major-version 31)))
|
||||
(use-package corfu-terminal
|
||||
:hook
|
||||
(after-init . corfu-terminal-mode)))
|
||||
|
||||
(use-package emacs
|
||||
:custom
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
:init
|
||||
(if *is-android* (add-hook 'after-init-hook 'god-mode-all))
|
||||
: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
|
||||
god-exempt-major-modes
|
||||
(cl-union '(diff-mode exwm-mode) god-exempt-major-modes :test 'equal)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
;; (straight-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-verbose t
|
||||
straight-use-package-version t
|
||||
|
||||
@@ -8,11 +8,16 @@
|
||||
:hook
|
||||
(org-mode . org-indent-mode)
|
||||
(org-mode . visual-line-mode)
|
||||
(org-mode . jinx-mode)
|
||||
(org-mode . my-org-electric-pair-fix)
|
||||
(org-mode . electric-pair-local-mode)
|
||||
|
||||
: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 ()
|
||||
(setq-local electric-pair-inhibit-predicate
|
||||
(lambda (char)
|
||||
@@ -71,9 +76,13 @@
|
||||
(after-init . denote-rename-buffer-mode)
|
||||
(dired-mode . denote-dired-mode)
|
||||
:config
|
||||
(if *is-android*
|
||||
(setq denote-directory "~/storage/shared/my-org-note/")
|
||||
(setq denote-directory "~/org/my-org-note/"))
|
||||
(cond
|
||||
(*is-android*
|
||||
(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-title-history nil)
|
||||
(setq denote-signature-history
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
;;; Code:
|
||||
|
||||
;; keycast,按键广播
|
||||
(use-package keycast)
|
||||
(if use-package-always-defer
|
||||
(use-package keycast))
|
||||
|
||||
;; anzu,显示isearch匹配数字
|
||||
(use-package anzu
|
||||
@@ -35,55 +36,51 @@
|
||||
(?v "Variables" font-lock-variable-name-face)))))))
|
||||
|
||||
;; jinx,拼写检查
|
||||
(use-package jinx
|
||||
:if
|
||||
(not *is-windows*)
|
||||
:delight
|
||||
(jinx-mode " Jinx" jinx)
|
||||
:bind
|
||||
([remap ispell-word] . jinx-correct)
|
||||
:config
|
||||
(setq jinx-languages "en_US")
|
||||
(add-to-list 'jinx-exclude-regexps '(t "\\cc"))
|
||||
(with-eval-after-load 'jinx
|
||||
(dolist (range '((#x4E00 . #x9FFF)
|
||||
(#x3400 . #x4DBF)
|
||||
(#x3000 . #x303F)
|
||||
(#xFF00 . #xFFEF)
|
||||
(#x20000 . #x2A6DF)))
|
||||
(let ((start (car range))
|
||||
(end (cdr range)))
|
||||
(dotimes (i (- end start))
|
||||
(modify-syntax-entry (+ start i) "_" jinx--syntax-table))))))
|
||||
(unless *is-windows*
|
||||
(use-package jinx
|
||||
:delight
|
||||
(jinx-mode " Jinx" jinx)
|
||||
:bind
|
||||
([remap ispell-word] . jinx-correct)
|
||||
:config
|
||||
(setq jinx-languages "en_US")
|
||||
(add-to-list 'jinx-exclude-regexps '(t "\\cc"))
|
||||
(with-eval-after-load 'jinx
|
||||
(dolist (range '((#x4E00 . #x9FFF)
|
||||
(#x3400 . #x4DBF)
|
||||
(#x3000 . #x303F)
|
||||
(#xFF00 . #xFFEF)
|
||||
(#x20000 . #x2A6DF)))
|
||||
(let ((start (car range))
|
||||
(end (cdr range)))
|
||||
(dotimes (i (- end start))
|
||||
(modify-syntax-entry (+ start i) "_" jinx--syntax-table))))))
|
||||
|
||||
(use-package consult-jinx
|
||||
:if
|
||||
(not *is-windows*)
|
||||
:after jinx
|
||||
:demand t
|
||||
:straight nil)
|
||||
(use-package consult-jinx
|
||||
:after jinx
|
||||
:demand t
|
||||
:straight nil))
|
||||
|
||||
;; eat,终端
|
||||
(use-package eat
|
||||
:if
|
||||
(not *is-windows*)
|
||||
:straight
|
||||
(eat :type git
|
||||
:host codeberg
|
||||
:repo "akib/emacs-eat"
|
||||
:files ("*.el"
|
||||
("term" "term/*.el")
|
||||
"*.texi"
|
||||
"*.ti"
|
||||
("terminfo/e" "terminfo/e/*")
|
||||
("terminfo/65" "terminfo/65/*")
|
||||
("integration" "integration/*")
|
||||
(:exclude ".dir-locals.el" "*-tests.el")))
|
||||
:hook
|
||||
((eshell-load . eat-eshell-mode)
|
||||
(eshell-load . eat-eshell-visual-command-mode))
|
||||
:config
|
||||
(setq eat-term-terminfo-directory eat--terminfo-path))
|
||||
(unless *is-windows*
|
||||
(use-package eat
|
||||
:straight
|
||||
(eat :type git
|
||||
:host codeberg
|
||||
:repo "akib/emacs-eat"
|
||||
:files ("*.el"
|
||||
("term" "term/*.el")
|
||||
"*.texi"
|
||||
"*.ti"
|
||||
("terminfo/e" "terminfo/e/*")
|
||||
("terminfo/65" "terminfo/65/*")
|
||||
("integration" "integration/*")
|
||||
(:exclude ".dir-locals.el" "*-tests.el")))
|
||||
:hook
|
||||
((eshell-load . eat-eshell-mode)
|
||||
(eshell-load . eat-eshell-visual-command-mode))
|
||||
:config
|
||||
(setq eat-term-terminfo-directory eat--terminfo-path)))
|
||||
|
||||
;; perspective,工作区管理
|
||||
(use-package perspective
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
(after-init . benchmark-init/deactivate))
|
||||
|
||||
(use-package recentf
|
||||
:if
|
||||
(or (display-graphic-p) *is-android*)
|
||||
:hook
|
||||
(after-init . recentf-mode)
|
||||
:init
|
||||
|
||||
@@ -63,11 +63,10 @@
|
||||
(use-package naysayer-theme)
|
||||
(use-package ef-themes)
|
||||
|
||||
(use-package simple-modeline
|
||||
:if
|
||||
*is-android*
|
||||
:hook
|
||||
(after-init . simple-modeline-mode))
|
||||
(if *is-android*
|
||||
(use-package simple-modeline
|
||||
:hook
|
||||
(after-init . simple-modeline-mode)))
|
||||
|
||||
;; eshell高亮
|
||||
(use-package eshell-syntax-highlighting
|
||||
@@ -101,19 +100,18 @@
|
||||
(after-init . global-hl-line-mode))
|
||||
|
||||
;; 显示时间
|
||||
(use-package time
|
||||
:if
|
||||
(not *is-android*)
|
||||
:hook
|
||||
(persp-mode . display-time-mode)
|
||||
:config
|
||||
(setq display-time-default-load-average nil
|
||||
display-time-string-forms
|
||||
'((propertize
|
||||
(concat
|
||||
(propertize (format-time-string " %I:%M") 'face 'display-time-date-and-time)
|
||||
(propertize (format-time-string "-%p") 'face 'font-lock-comment-face))
|
||||
'help-echo (format-time-string "%A, %B %d, %Y")))))
|
||||
(unless *is-android*
|
||||
(use-package time
|
||||
:hook
|
||||
(persp-mode . display-time-mode)
|
||||
:config
|
||||
(setq display-time-default-load-average nil
|
||||
display-time-string-forms
|
||||
'((propertize
|
||||
(concat
|
||||
(propertize (format-time-string " %I:%M") 'face 'display-time-date-and-time)
|
||||
(propertize (format-time-string "-%p") 'face 'font-lock-comment-face))
|
||||
'help-echo (format-time-string "%A, %B %d, %Y"))))))
|
||||
|
||||
;; 安装cnfonts脚本,用于修复中英文对齐
|
||||
(use-package cnfonts
|
||||
|
||||
Reference in New Issue
Block a user