From c367deb4badc9e67b8b917a474196e2bfeb63f26 Mon Sep 17 00:00:00 2001 From: Zelong Kuang Date: Thu, 15 Jan 2026 01:07:26 +1100 Subject: [PATCH] Update --- lisp/init-better-default.el | 61 +++---------------------------------- lisp/init-completion.el | 29 +++++++++--------- lisp/init-edit.el | 6 ++-- 3 files changed, 22 insertions(+), 74 deletions(-) diff --git a/lisp/init-better-default.el b/lisp/init-better-default.el index 9f1cc4e..442efd7 100644 --- a/lisp/init-better-default.el +++ b/lisp/init-better-default.el @@ -7,64 +7,11 @@ ;; To disable collection of benchmark data after init is done. (add-hook 'elpaca-after-init-hook 'benchmark-init/deactivate)) -(defconst my-local-dir (concat user-emacs-directory ".local/")) +(when (memq window-system '(mac ns x)) + (use-package exec-path-from-shell + :init + (exec-path-from-shell-initialize))) -(defconst my-env-file (concat my-local-dir "env")) - -(defun my/generate-envvars-file () - "Generate environment variables file at ~/.emacs.d/.local/env." - (interactive) - ;; Ensure the directory exists - (unless (file-exists-p my-local-dir) - (make-directory my-local-dir t)) - - ;; Run printenv and redirect output to the env file - (with-temp-buffer - (call-process "printenv" nil t nil) - (write-region (point-min) (point-max) my-env-file nil 'silent)) - - (message "Environment variables saved to %s" my-env-file)) - -(defun my/load-envvars-file (file &optional noerror) - "Read and set envvars from FILE. -If NOERROR is non-nil, don't throw an error if the file doesn't exist or is -unreadable. Returns the names of envvars that were changed." - (if (not (file-readable-p file)) - (unless noerror - (signal 'file-error (list "Couldn't read envvar file" file))) - (let (envvars environment) - (with-temp-buffer - (save-excursion - (insert "\n") - (insert-file-contents file)) - (while (re-search-forward "\n *\\([^#= \n]*\\)=" nil t) - (push (match-string 1) envvars) - (push (buffer-substring - (match-beginning 1) - (1- (or (save-excursion - (when (re-search-forward "^\\([^= ]+\\)=" nil t) - (line-beginning-position))) - (point-max)))) - environment))) - (when environment - (setq process-environment - (append (nreverse environment) process-environment) - exec-path - (if (member "PATH" envvars) - (append (split-string (getenv "PATH") path-separator t) - (list exec-directory)) - exec-path) - shell-file-name - (if (member "SHELL" envvars) - (or (getenv "SHELL") shell-file-name) - shell-file-name)) - envvars)))) - -(when (and (or (display-graphic-p) - (daemonp)) - (file-exists-p my-env-file)) - (my/load-envvars-file my-env-file)) - (setq custom-file (expand-file-name "~/.emacs.d/custom.el")) (add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'no-error 'no-message))) diff --git a/lisp/init-completion.el b/lisp/init-completion.el index a0aa265..8e9884e 100644 --- a/lisp/init-completion.el +++ b/lisp/init-completion.el @@ -136,7 +136,7 @@ ;; M-g bindings in `goto-map' ("M-g e" . consult-compile-error) ("M-g r" . consult-grep-match) - ("M-s f" . consult-flycheck) ;; Alternative: consult-flycheck + ("M-g f" . consult-flycheck) ;; Alternative: consult-flycheck ("M-g g" . consult-goto-line) ;; orig. goto-line ("M-g M-g" . consult-goto-line) ;; orig. goto-line ("M-g o" . consult-outline) ;; Alternative: consult-org-heading @@ -145,26 +145,25 @@ ("M-g i" . consult-imenu) ("M-g I" . consult-imenu-multi) - ;; M-s bindings in `search-map' + ;; M-g bindings in `search-map' ("s-f" . consult-line) - ("M-s d" . consult-find) ;; Alternative: consult-fd - ("M-s c" . consult-locate) - ("M-s g" . consult-grep) - ("M-s G" . consult-git-grep) - ("M-s r" . consult-ripgrep) - ("M-s l" . consult-line) - ("M-s L" . consult-line-multi) - ("M-s k" . consult-keep-lines) - ("M-s u" . consult-focus-lines) + ("M-g d" . consult-find) ;; Alternative: consult-fd + ("M-g c" . consult-locate) + ("M-g G" . consult-git-grep) + ("M-g r" . consult-ripgrep) + ("M-g l" . consult-line) + ("M-g L" . consult-line-multi) + ("M-g k" . consult-keep-lines) + ("M-g u" . consult-focus-lines) ("C-x C-r" . consult-recent-file) ("C-x C-b" . consult-buffer) - ("M-s e" . consult-isearch-history) + ("M-g e" . consult-isearch-history) :map isearch-mode-map ("M-e" . consult-isearch-history) ;; orig. isearch-edit-string - ("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string - ("M-s l" . consult-line) ;; needed by consult-line to detect isearch - ("M-s L" . consult-line-multi)) + ("M-g e" . consult-isearch-history) ;; orig. isearch-edit-string + ("M-g l" . consult-line) ;; needed by consult-line to detect isearch + ("M-g L" . consult-line-multi)) :hook (completion-list-mode . consult-preview-at-point-mode) :init (setq register-preview-delay 0.5 diff --git a/lisp/init-edit.el b/lisp/init-edit.el index a4a808c..2b7d423 100644 --- a/lisp/init-edit.el +++ b/lisp/init-edit.el @@ -6,8 +6,10 @@ ;; :config ;; (require 'smartparens-config)) -(setq electric-pair-inhibit-predicate 'electric-pair-conservative-inhibit) -(electric-pair-mode t) +(use-package smartparens + :hook (elpaca-after-init . smartparens-global-mode) + ;; :hook (elpaca-after-init . smartparens-global-strict-mode) + :init (sp-use-paredit-bindings)) ;; Hungry deletion (use-package hungry-delete