Config: replace smart-mode-line by simple-modeline, optimize org-ql config, add basic guile support
This commit is contained in:
@@ -127,7 +127,7 @@
|
||||
(insert-file-contents filepath)
|
||||
(buffer-string)))
|
||||
(changes 0))
|
||||
|
||||
|
||||
;; Fix space-separated colors
|
||||
(dolist (fix theme-fixes-space)
|
||||
(let ((old-color (car fix))
|
||||
@@ -139,7 +139,7 @@
|
||||
(format "\"%s\"" new-color)
|
||||
content))
|
||||
(setq changes (1+ changes)))))
|
||||
|
||||
|
||||
;; Fix invalid colors
|
||||
(dolist (fix theme-fixes-invalid)
|
||||
(let ((old-color (car fix))
|
||||
@@ -151,7 +151,7 @@
|
||||
(format "\"%s\"" new-color)
|
||||
content))
|
||||
(setq changes (1+ changes)))))
|
||||
|
||||
|
||||
;; Fix :box properties
|
||||
(dolist (fix theme-fixes-box)
|
||||
(let ((old-prop (car fix))
|
||||
@@ -162,7 +162,7 @@
|
||||
new-prop
|
||||
content))
|
||||
(setq changes (1+ changes)))))
|
||||
|
||||
|
||||
;; Fix :family inside :box (invalid property)
|
||||
(dolist (fix theme-fixes-box-family)
|
||||
(let ((old-prop (car fix))
|
||||
@@ -173,7 +173,7 @@
|
||||
new-prop
|
||||
content))
|
||||
(setq changes (1+ changes)))))
|
||||
|
||||
|
||||
(with-temp-file filepath
|
||||
(insert content))
|
||||
(message " Fixed %d issue(s)" changes)
|
||||
@@ -203,18 +203,18 @@ This function can be called interactively or from Lisp."
|
||||
(interactive)
|
||||
(let* ((themes-dir (expand-file-name "~/.emacs.d/straight/repos/replace-colorthemes/"))
|
||||
(build-dir (expand-file-name "~/.emacs.d/straight/build/color-theme-modern/")))
|
||||
|
||||
|
||||
(message "=== Fixing theme files ===\n")
|
||||
|
||||
|
||||
;; Fix source files
|
||||
(if (file-directory-p themes-dir)
|
||||
(progn
|
||||
(message "Processing source files in: %s" themes-dir)
|
||||
(fix-all-themes themes-dir))
|
||||
(message "WARNING: Source themes directory not found: %s" themes-dir))
|
||||
|
||||
|
||||
(message "\n")
|
||||
|
||||
|
||||
;; Fix build files (these are what Emacs actually loads)
|
||||
(if (file-directory-p build-dir)
|
||||
(progn
|
||||
@@ -222,7 +222,7 @@ This function can be called interactively or from Lisp."
|
||||
(fix-all-themes build-dir)
|
||||
(remove-compiled-themes build-dir))
|
||||
(message "WARNING: Build themes directory not found: %s" build-dir))
|
||||
|
||||
|
||||
(message "\n=== Done! ===")
|
||||
(message "Restart Emacs to load fixed themes.")))
|
||||
|
||||
|
||||
@@ -6,10 +6,12 @@
|
||||
|
||||
;; eglot
|
||||
(use-package eglot
|
||||
:hook ((python-mode . eglot-ensure))
|
||||
|
||||
:hook ((python-mode . eglot-ensure)
|
||||
(scheme-mode . eglot-ensure))
|
||||
:config
|
||||
(setq eglot-send-changes-idle-time 0.25))
|
||||
(setq eglot-send-changes-idle-time 0.25)
|
||||
(add-to-list 'eglot-server-programs
|
||||
'(scheme-mode . ("guile-lsp-server"))))
|
||||
|
||||
;; corfu
|
||||
(use-package corfu
|
||||
@@ -117,6 +119,13 @@
|
||||
(global-treesit-auto-mode)
|
||||
(setq treesit-font-lock-level 4))
|
||||
|
||||
(use-package geiser)
|
||||
|
||||
(use-package geiser-guile)
|
||||
|
||||
(with-eval-after-load 'geiser
|
||||
(setq geiser-default-implementation 'guile))
|
||||
|
||||
(provide 'init-completion)
|
||||
|
||||
;;; init-completion.el ends here
|
||||
|
||||
@@ -27,31 +27,45 @@
|
||||
(use-package dirvish
|
||||
:init
|
||||
(dirvish-override-dired-mode)
|
||||
|
||||
:config
|
||||
(if *is-mac*
|
||||
(setq dirvish-hide-details t)
|
||||
(setq dirvish-hide-details '(dirvish-side)))
|
||||
(setq dirvish-use-mode-line 'global)
|
||||
|
||||
(unless *is-windows*
|
||||
(setq dirvish-attributes '(file-time file-size)))
|
||||
|
||||
(setq dirvish-default-layout '(1 0.15 0.45))
|
||||
|
||||
:custom
|
||||
(dirvish-quick-access-entries
|
||||
(cond
|
||||
(*is-windows*
|
||||
'(("h" "~/" "Home")
|
||||
("e" "~/.emacs.d/")
|
||||
'(("h" "~/" "Home")
|
||||
("e" "~/.emacs.d/" "Emacs config")
|
||||
("p" "c:/Users/gaozh/Pictures/Screenshots/" "Pictures")
|
||||
("d" "f:/下载25-2-10/" "Download")
|
||||
("v" "f:/luping26-1-11/" "Videos")
|
||||
("n" "h:/emacs/my-org-note/" "Notes")))
|
||||
("d" "f:/下载25-2-10/" "Download")
|
||||
("v" "f:/luping26-1-11/" "Videos")
|
||||
("n" "h:/emacs/my-org-note/" "Notes")))
|
||||
|
||||
(*is-mac*
|
||||
'(("h" "~/" "Home")
|
||||
("e" "~/.emacs.d/")
|
||||
("p" "~/Pictures/" "Pictures")
|
||||
("d" "~/Downloads/" "Download")
|
||||
("v" "~/Movies/" "Videos")
|
||||
("n" "~/org/my-org-note/")))
|
||||
("e" "~/.emacs.d/" "Emacs config")
|
||||
("p" "~/Pictures/" "Pictures")
|
||||
("d" "~/Downloads/" "Download")
|
||||
("v" "~/Movies/" "Videos")
|
||||
("n" "~/org/my-org-note/" "Notes")))
|
||||
|
||||
(*is-linux*
|
||||
'(("h" "~/" "Home")
|
||||
("e" "~/.emacs.d/" "Emacs config")
|
||||
("s" "~/.config/guix/" "System config")
|
||||
("p" "~/图片/" "Pictures")
|
||||
("d" "~/downloads/" "Downloads")
|
||||
("v" "~/视频/" "Videos")
|
||||
("n" "~/org/my-org-note/" "Notes")))
|
||||
(t nil))))
|
||||
|
||||
(use-package trashed
|
||||
|
||||
@@ -5,13 +5,25 @@
|
||||
;;; Code:
|
||||
|
||||
;; Clash 代理配置
|
||||
(setq url-proxy-services
|
||||
'(("http" . "127.0.0.1:7890")
|
||||
("https" . "127.0.0.1:7890")
|
||||
("no_proxy" . "\\(localhost\\|127\\.0\\.0\\.1\\|192\\.168\\.*\\)")))
|
||||
(if *is-linux*
|
||||
(progn
|
||||
(setq url-proxy-services
|
||||
'(("http" . "192.168.31.121:7890")
|
||||
("https" . "192.168.31.121:7890")
|
||||
("no_proxy" . "\\(localhost\\|127\\.0\\.0\\.1\\|192\\.168\\.*\\)")))
|
||||
|
||||
(setenv "http_proxy" "127.0.0.1:7890")
|
||||
(setenv "https_proxy" "127.0.0.1:7890")
|
||||
(setenv "http_proxy" "192.168.31.121:7890")
|
||||
(setenv "https_proxy" "192.168.31.121:7890"))
|
||||
|
||||
(progn
|
||||
(setq url-proxy-services
|
||||
'(("http" . "127.0.0.1:7890")
|
||||
("https" . "127.0.0.1:7890")
|
||||
("no_proxy" . "\\(localhost\\|127\\.0\\.0\\.1\\|192\\.168\\.*\\)")))
|
||||
|
||||
(setenv "http_proxy" "127.0.0.1:7890")
|
||||
(setenv "https_proxy" "127.0.0.1:7890"))
|
||||
)
|
||||
|
||||
;; straight.el
|
||||
(defvar bootstrap-version)
|
||||
|
||||
11
lisp/init-exwm.el
Normal file
11
lisp/init-exwm.el
Normal file
@@ -0,0 +1,11 @@
|
||||
;;; init-exwm.el --- exwm config -*- lexical-binding: t -*-
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package exwm)
|
||||
|
||||
(provide 'init-exwm)
|
||||
|
||||
;;; init-exwm.el ends here
|
||||
@@ -443,6 +443,8 @@ Disable jinx-mode if it's enable and global-jinx-mode is disable , otherwise tog
|
||||
;; perspective
|
||||
(global-set-key (kbd "C-M-<left>") 'persp-prev)
|
||||
(global-set-key (kbd "C-M-<right>") 'persp-next)
|
||||
(define-key persp-mode-map (kbd "C-c p c") nil)
|
||||
(global-set-key (kbd "C-c p d") 'persp-kill)
|
||||
|
||||
(provide 'init-kbd)
|
||||
|
||||
|
||||
@@ -107,10 +107,11 @@
|
||||
;; 文件头
|
||||
(insert (format "#+title: %s\n" user-filename))
|
||||
(insert (format "#+date: %s\n" (format-time-string "[%Y-%m-%d %a %H:%M]")))
|
||||
(insert (format "#+category: %s\n\n" category))
|
||||
(insert (format "#+category: %s\n" category))
|
||||
(insert "#+STARTUP: content\n\n")
|
||||
|
||||
;; 插入标题和tag
|
||||
(insert (format "* STARTED %s %s\n"
|
||||
(insert (format "* STARTED %s :root%s\n"
|
||||
;; (if todo (concat todo " ") "")
|
||||
user-filename
|
||||
formatted-tags))
|
||||
|
||||
@@ -44,10 +44,8 @@
|
||||
(format-time-string "%Y-%m-%d %a" time)))
|
||||
org-journal-carryover-items "TODO=\"TODO\"|TODO=\"STARTED\"|TODO=\"WAITING\"|TODO=\"SOMEDAY\"")
|
||||
|
||||
(when *is-windows*
|
||||
(setq org-journal-dir "h:/emacs/my-org-daily/"))
|
||||
|
||||
(when *is-mac*
|
||||
(if *is-windows*
|
||||
(setq org-journal-dir "h:/emacs/my-org-daily/")
|
||||
(setq org-journal-dir "~/org/my-org-daily/"))
|
||||
|
||||
(add-hook 'org-journal-mode-hook 'font-lock-update)
|
||||
@@ -111,7 +109,6 @@
|
||||
(lambda ()
|
||||
(global-cns-mode-enable-in-buffer)))
|
||||
|
||||
|
||||
;; 一些随org-mode加载的基础配置
|
||||
(add-hook 'org-mode-hook
|
||||
(lambda ()
|
||||
@@ -163,34 +160,53 @@
|
||||
(setq org-agenda-files '("~/org/my-org-daily"
|
||||
"~/org/my-org-note/")))
|
||||
|
||||
(when *is-linux*
|
||||
(setq org-agenda-files '("~/org/my-org-daily/"
|
||||
"~/org/my-org-note/")))
|
||||
|
||||
(setq org-agenda-span 'day)
|
||||
|
||||
(setq org-default-priority ?D)
|
||||
(setq org-default-priority ?C)
|
||||
|
||||
(setq org-agenda-skip-function-global
|
||||
'(org-agenda-skip-entry-if 'todo '("COMMENT")))
|
||||
|
||||
;; org-ql
|
||||
(use-package org-ql)
|
||||
(use-package org-ql
|
||||
:config
|
||||
(with-eval-after-load 'org-ql-view
|
||||
(keymap-set org-ql-view-map (kbd "q") 'org-agenda-Quit))
|
||||
|
||||
(setq org-ql-views
|
||||
'(("tags: emacs category:note"
|
||||
:buffers-files org-agenda-files
|
||||
:query (and (tags "emacs") (category "note"))
|
||||
:sort date)
|
||||
(setq org-ql-views
|
||||
'(("tags: emacs category:note"
|
||||
:buffers-files org-agenda-files
|
||||
:query (and (tags "emacs") (category "note"))
|
||||
:sort date)
|
||||
|
||||
("tags: org"
|
||||
:buffers-files org-agenda-files
|
||||
:query (tags "org"))
|
||||
("tags: org"
|
||||
:buffers-files org-agenda-files
|
||||
:query (tags "org")
|
||||
:super-groups ((:auto-property "CATEGORY")))
|
||||
|
||||
("all important todos"
|
||||
:buffers-files org-agenda-files
|
||||
:query (and (not (done)) (todo))
|
||||
:super-groups
|
||||
((:name "priority = A" :priority "A")
|
||||
(:name "priority = B" :priority "B")
|
||||
(:name "started" :todo "STARTED")
|
||||
(:name "someday" :todo "SOMEDAY")))))
|
||||
("group by time"
|
||||
:buffers-files org-agenda-files
|
||||
:query (and (ts :to "today") (tags "root"))
|
||||
:sort date
|
||||
:super-groups ((:auto-ts t)))
|
||||
|
||||
("group by category"
|
||||
:buffers-files org-agenda-files
|
||||
:query (tags "root")
|
||||
:super-groups ((:auto-property "CATEGORY")))
|
||||
|
||||
("all important todos"
|
||||
:buffers-files org-agenda-files
|
||||
:query (and (not (done)) (todo))
|
||||
:super-groups
|
||||
((:name "started" :todo "STARTED")
|
||||
(:name "priority = A" :priority "A")
|
||||
(:name "priority = B" :priority "B")
|
||||
(:name "someday" :todo "SOMEDAY"))))))
|
||||
|
||||
;; org-super-agenda 配置
|
||||
(use-package org-super-agenda
|
||||
@@ -258,11 +274,13 @@
|
||||
"~/org/my-org-note/"
|
||||
(format-time-string "%Y%m%d")
|
||||
my-org-capture-temp-title)))))
|
||||
"#+title: %(symbol-value 'my-org-capture-temp-title)
|
||||
"
|
||||
#+title: %(symbol-value 'my-org-capture-temp-title)
|
||||
#+date: %U
|
||||
#+category: %^{Category|none|project|book|article|note|insight|fun}
|
||||
#+category: %^{Category|none|project|book|article|note|wisdom|fun|data}
|
||||
#+STARTUP: content
|
||||
|
||||
* %(symbol-value 'my-org-capture-temp-title) %^g
|
||||
* %(symbol-value 'my-org-capture-temp-title) :root%^g
|
||||
:PROPERTIES:
|
||||
:END:
|
||||
%U
|
||||
@@ -276,6 +294,8 @@
|
||||
"
|
||||
:jump-to-captured t)))
|
||||
|
||||
(setq org-bookmark-names-plist nil)
|
||||
|
||||
(global-set-key (kbd "C-c o c") 'org-capture)
|
||||
|
||||
;; 批量调整表格
|
||||
|
||||
@@ -191,7 +191,7 @@ targets."
|
||||
|
||||
;; 启用savehist,保存命令顺序
|
||||
(use-package savehist
|
||||
:hook (after-init . savehist-mode)
|
||||
;; :hook (after-init . savehist-mode)
|
||||
:init (setq enable-recursive-minibuffers t
|
||||
history-length 50
|
||||
savehist-additional-variables '(mark-ring
|
||||
@@ -199,11 +199,12 @@ targets."
|
||||
search-ring
|
||||
regexp-search-ring
|
||||
extended-command-history)
|
||||
savehist-autosave-interval 300))
|
||||
savehist-autosave-interval 300)
|
||||
(savehist-mode))
|
||||
|
||||
;; saveplace,保存光标位置
|
||||
(use-package saveplace
|
||||
:hook (after-init . save-place-mode))
|
||||
:init (save-place-mode))
|
||||
|
||||
;; undo增强
|
||||
(use-package undo-fu)
|
||||
@@ -253,7 +254,7 @@ targets."
|
||||
("M-Z" . avy-zap-up-to-char-dwim)))
|
||||
|
||||
;; jinx,拼写检查
|
||||
(unless *is-windows*
|
||||
(if *is-mac*
|
||||
(use-package jinx
|
||||
:hook (org-mode-hook . jinx-mode)
|
||||
:bind ([remap ispell-word] . jinx-correct)
|
||||
@@ -276,6 +277,10 @@ targets."
|
||||
:init
|
||||
(add-hook 'after-init-hook #'global-flycheck-mode))
|
||||
|
||||
(use-package flycheck-guile
|
||||
:hook (scheme-mode . (lambda ()
|
||||
(require 'flycheck-guile))))
|
||||
|
||||
;; consult-flycheck
|
||||
(use-package consult-flycheck)
|
||||
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; emacs-chinese-word-segmentation 配置
|
||||
(when *is-windows*
|
||||
;; emacs-chinese-word-segmentation
|
||||
(cond
|
||||
(*is-windows*
|
||||
(add-to-list 'load-path "h:/emacs/emacs-chinese-word-segmentation/")
|
||||
;; 设置为进程调用方式
|
||||
(setq cns-process-type 'shell)
|
||||
@@ -15,22 +16,22 @@
|
||||
(setq cns-dict-directory "h:/emacs/emacs-chinese-word-segmentation/cppjieba/dict")
|
||||
;; 直接设置进程命令,绕过 Windows shell 检测
|
||||
(setq cns-process-shell-command
|
||||
(format "%s %s %s %s %s %s"
|
||||
cns-prog
|
||||
(concat (file-name-as-directory cns-dict-directory) "jieba.dict.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "hmm_model.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "user.dict.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "idf.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "stop_words.utf8"))))
|
||||
(format "%s %s %s %s %s %s"
|
||||
cns-prog
|
||||
(concat (file-name-as-directory cns-dict-directory) "jieba.dict.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "hmm_model.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "user.dict.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "idf.utf8")
|
||||
(concat (file-name-as-directory cns-dict-directory) "stop_words.utf8"))))
|
||||
|
||||
(when *is-mac*
|
||||
(t
|
||||
(add-to-list 'load-path "~/emacs-stuff/emacs-chinese-word-segmentation/")
|
||||
;; 设置为进程调用方式
|
||||
(setq cns-process-type 'shell)
|
||||
;; 设置可执行文件路径
|
||||
(setq cns-prog "~/emacs-stuff/emacs-chinese-word-segmentation/cnws")
|
||||
;; 设置字典目录
|
||||
(setq cns-dict-directory "~/emacs-stuff/emacs-chinese-word-segmentation/cppjieba/dict/"))
|
||||
(setq cns-dict-directory "~/emacs-stuff/emacs-chinese-word-segmentation/cppjieba/dict/")))
|
||||
|
||||
;; 其他配置
|
||||
(setq cns-recent-segmentation-limit 40)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;;; Code:
|
||||
|
||||
;; mac自动全屏
|
||||
(when *is-mac*
|
||||
(unless *is-windows*
|
||||
(toggle-frame-fullscreen)
|
||||
(global-unset-key (kbd "<f12>"))
|
||||
(global-set-key (kbd "<f12>") 'toggle-frame-fullscreen))
|
||||
|
||||
@@ -56,17 +56,24 @@
|
||||
(load-theme 'my-base16-dark t))
|
||||
|
||||
;; 很多主题
|
||||
(use-package doom-themes)
|
||||
(use-package color-theme-modern)
|
||||
;; (use-package doom-themes)
|
||||
;; (use-package color-theme-modern)
|
||||
(use-package naysayer-theme)
|
||||
|
||||
;; 安装smart-mode-line
|
||||
(use-package smart-mode-line
|
||||
:defer 0.5
|
||||
;; (use-package smart-mode-line
|
||||
;; :config
|
||||
;; (setq sml/no-confirm-load-theme t)
|
||||
;; ;; sml/theme 'respectful)
|
||||
;; (sml/setup))
|
||||
|
||||
(use-package simple-modeline
|
||||
:init (simple-modeline-mode)
|
||||
:config
|
||||
(setq sml/no-confirm-load-theme t)
|
||||
;; sml/theme 'respectful)
|
||||
(sml/setup))
|
||||
;; (defun simple-modeline-segment-buffer-name ()
|
||||
;; "Displays the full path of current file in the mode-line."
|
||||
;; (propertize " %f" 'face 'mode-line-buffer-id))
|
||||
)
|
||||
|
||||
;; eshell高亮
|
||||
(use-package eshell-syntax-highlighting
|
||||
|
||||
Reference in New Issue
Block a user