This commit is contained in:
Zelong Kuang
2026-03-20 22:04:25 +11:00
parent 570d0275f1
commit 3ca5933292
7 changed files with 107 additions and 29 deletions

1
.gitignore vendored
View File

@@ -62,3 +62,4 @@ emacs.desktop
/undo-fu-session/ /undo-fu-session/
/..emacs.d-tabspaces-session.el /..emacs.d-tabspaces-session.el
/easysession /easysession
/tramp-rpc

View File

@@ -11,8 +11,8 @@
(setq package-enable-at-startup nil) (setq package-enable-at-startup nil)
;; (setq native-comp-deferred-compilation t) (setq native-comp-jit-compilation nil)
(setq native-comp-async-report-warnings-errors nil) (setq native-comp-async-report-pwarnings-errors nil)
(add-to-list 'load-path (expand-file-name "lisp/" user-emacs-directory)) (add-to-list 'load-path (expand-file-name "lisp/" user-emacs-directory))
(setq use-package-enable-imenu-support t) (setq use-package-enable-imenu-support t)

View File

@@ -8,29 +8,62 @@
(setq magit-show-long-lines-warning nil) (setq magit-show-long-lines-warning nil)
) )
;; (use-package eat (setq system-uses-terminfo nil)
;; :ensure `(eat :repo "https://codeberg.org/akib/emacs-eat" (setq compilation-environment '("TERM=xterm-256color"))
;; :files ("*.el" ("term" "term/*.el") "*.texi" (setq eshell-banner-message "")
;; "*.ti" ("terminfo/e" "terminfo/e/*")
;; ("terminfo/65" "terminfo/65/*")
;; ("integration" "integration/*")
;; (:exclude ".dir-locals.el" "*-tests.el")))
;; :config
;; )
(use-package vterm)
(use-package vterm-toggle (use-package eat
:bind ("C-`" . vterm-toggle) :bind ("C-`" . eat-toggle)
:hook ((eshell-load . eat-eshell-mode)
(eshell-load . eat-eshell-visual-command-mode))
:ensure `(eat :repo "https://codeberg.org/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")))
:custom
(eat-term-name "xterm-256color")
(eat-kill-buffer-on-exit t)
(eat-shell )
:config :config
(define-key vterm-mode-map (kbd "C-`") #'vterm-toggle)) (defun eat-toggle () (interactive)
(if (string= (buffer-name) "*eshell*")
(delete-window)
(eshell)))
(setq tramp-remote-process-environment '("TERM=xterm-256color" "TERMINFO=''" "ENV=''" "TMOUT=0" "LC_CTYPE=''" "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=cat" "autocorrect=" "correct="))
(when (eq system-type 'darwin)
(define-key eat-semi-char-mode-map (kbd "C-h") #'eat-self-input)
(define-key eat-semi-char-mode-map (kbd "<backspace>") (kbd "C-h"))))
(use-package eshell-prompt-extras
:after esh-opt
:defines eshell-highlight-prompt
:autoload (epe-theme-lambda epe-theme-dakrone epe-theme-pipeline)
:init
(setq eshell-highlight-prompt nil
eshell-prompt-function #'epe-theme-lambda))
(use-package eshell-z
:hook (eshell-mode . (lambda () (require 'eshell-z))))
(use-package esh-help
:commands setup-esh-help-eldoc
:init (setup-esh-help-eldoc))
;; (use-package vterm)
;; (use-package vterm-toggle
;; :bind ("C-`" . vterm-toggle)
;; :config
;; (define-key vterm-mode-map (kbd "C-`") #'vterm-toggle))
(use-package editorconfig (use-package editorconfig
:diminish :diminish
:hook elpaca-after-init) :hook elpaca-after-init)
(use-package yaml-mode) (use-package yaml-mode)
;; Fish shell mode and auto-formatting ;; Fish shell mode and auto-formatting
(use-package fish-mode (use-package fish-mode
@@ -46,8 +79,6 @@
(use-package docker-compose-mode) (use-package docker-compose-mode)
(use-package leetcode)
(use-package treesit-auto (use-package treesit-auto
:hook (elpaca-after-init . global-treesit-auto-mode) :hook (elpaca-after-init . global-treesit-auto-mode)
:custom :custom

View File

@@ -1,5 +1,9 @@
;; -*- lexical-binding: t -*- ;; -*- lexical-binding: t -*-
(use-package delsel
:ensure nil
:hook (elpaca-after-init . delete-selection-mode))
(use-package smartparens (use-package smartparens
:diminish :diminish
:hook (elpaca-after-init . smartparens-global-mode) :hook (elpaca-after-init . smartparens-global-mode)
@@ -56,6 +60,11 @@
:diminish :diminish
:hook (elpaca-after-init . global-auto-revert-mode)) :hook (elpaca-after-init . global-auto-revert-mode))
(use-package goto-addr
:ensure nil
:hook ((text-mode . goto-address-mode)
(prog-mode . goto-address-prog-mode)))
(use-package multiple-cursors (use-package multiple-cursors
:hook elpaca-after-init :hook elpaca-after-init
:bind (("C-S-c C-S-c" . mc/edit-lines) :bind (("C-S-c C-S-c" . mc/edit-lines)
@@ -78,7 +87,35 @@
(use-package avy (use-package avy
:bind :bind
(("C-'" . avy-goto-char-timer))) (("C-'" . avy-goto-char-timer))
:config
(setq avy-all-windows nil
avy-all-windows-alt t
avy-background t
avy-style 'pre))
;; Kill text between cursor and char
(use-package avy-zap
:bind (("M-z" . avy-zap-to-char-dwim)
("M-Z" . avy-zap-up-to-char-dwim)))
(use-package ace-pinyin
:diminish
:hook (elpaca-after-init . ace-pinyin-global-mode))
;; show number of matches
(use-package anzu
:diminish
:bind (([remap query-replace] . anzu-query-replace)
([remap query-replace-regexp] . anzu-query-replace-regexp)
:map isearch-mode-map
([remap isearch-query-replace] . anzu-isearch-query-replace)
([remap isearch-query-replace-regexp] . anzu-isearch-query-replace-regexp))
:hook (elpaca-after-init . global-anzu-mode))
;; Goto last change
(use-package goto-chg
:bind ("C-," . goto-last-change))
;; Treat undo history as a tree ;; Treat undo history as a tree
(use-package vundo (use-package vundo

View File

@@ -41,7 +41,7 @@
(use-package doric-themes (use-package doric-themes
:demand t :demand t
:bind ("<f5>" . doric-load-random) :bind ("<f5>" . doric-themes-load-random)
:bind ("C-<f5>" . doric-load-random-light) :bind ("C-<f5>" . doric-load-random-light)
:bind ("M-<f5>" . doric-load-random-dark) :bind ("M-<f5>" . doric-load-random-dark)
:init :init
@@ -61,12 +61,20 @@
doric-coral doric-coral
doric-earth doric-earth
doric-almond)) doric-almond))
(defun doric-load-random ()
(interactive) (defun synchronise-theme ()
(let* ((hour (string-to-number
(substring (current-time-string) 11 13)))
(theme-list (if (member hour (number-sequence 6 18))
my/doric-light-themes
my/doric-dark-themes))
(loaded (seq-random-elt theme-list)))
(mapc #'disable-theme custom-enabled-themes) (mapc #'disable-theme custom-enabled-themes)
(let ((loaded (seq-random-elt (append my/doric-light-themes my/doric-dark-themes))))
(load-theme loaded :no-confirm))) (load-theme loaded :no-confirm)))
(synchronise-theme)
(run-with-timer 3600 3600 'synchronise-theme)
(defun doric-load-random-light () (defun doric-load-random-light ()
(interactive) (interactive)
(mapc #'disable-theme custom-enabled-themes) (mapc #'disable-theme custom-enabled-themes)
@@ -77,8 +85,7 @@
(interactive) (interactive)
(mapc #'disable-theme custom-enabled-themes) (mapc #'disable-theme custom-enabled-themes)
(let ((loaded (seq-random-elt my/doric-dark-themes))) (let ((loaded (seq-random-elt my/doric-dark-themes)))
(load-theme loaded :no-confirm))) (load-theme loaded :no-confirm))))
(doric-load-random))
(use-package rainbow-delimiters (use-package rainbow-delimiters
:hook ((prog-mode . rainbow-delimiters-mode) :hook ((prog-mode . rainbow-delimiters-mode)

View File

@@ -44,4 +44,6 @@
;; :config ;; :config
;; (setq keycast-mode-line-remove-tail-elements nil)) ;; (setq keycast-mode-line-remove-tail-elements nil))
(use-package elcord)
(provide 'init-utils) (provide 'init-utils)