dev: merge from master
This commit is contained in:
commit
06976a85a0
13 changed files with 58 additions and 39 deletions
|
@ -13,9 +13,9 @@
|
|||
;;
|
||||
;;; Commands
|
||||
|
||||
(defcli-obsolete! ((build b)) (sync "--rebuild") "v3.0.0")
|
||||
(defcli-obsolete! ((build b)) (sync "--rebuild") "3.0.0")
|
||||
|
||||
(defcli-obsolete! ((purge p)) (gc) "v3.0.0")
|
||||
(defcli-obsolete! ((purge p)) (gc) "3.0.0")
|
||||
|
||||
;; TODO Rename to "doom gc" and move to its own file
|
||||
(defcli! (gc)
|
||||
|
|
|
@ -73,12 +73,14 @@ OPTIONS:
|
|||
;; recompiled. This is necessary because Emacs byte-code is not
|
||||
;; necessarily back/forward compatible across major versions, and many
|
||||
;; packages bake in hardcoded data at compile-time.
|
||||
(pcase-let ((`(,old-version . ,old-host) (doom-file-read doom-cli-sync-info-file :by 'read :noerror t))
|
||||
(pcase-let ((`(,old-version . ,hash)
|
||||
(doom-file-read doom-cli-sync-info-file :by 'read :noerror t))
|
||||
(to-rebuild nil))
|
||||
(when (and old-version (not (equal old-version emacs-version)))
|
||||
(print! (warn "Emacs version has changed since last sync (from %s to %s)") old-version emacs-version)
|
||||
(setq to-rebuild t))
|
||||
(when (and old-host (not (equal old-host (system-name))))
|
||||
(when (and (integerp hash)
|
||||
(not (equal hash (doom-sync--system-hash))))
|
||||
(print! (warn "Your system has changed since last sync"))
|
||||
(setq to-rebuild t))
|
||||
(when (and to-rebuild (not rebuild?) (not (doom-cli-context-suppress-prompts-p context)))
|
||||
|
@ -101,7 +103,8 @@ OPTIONS:
|
|||
(run-hooks 'doom-after-sync-hook))
|
||||
(when (or rebuild? (not (file-exists-p doom-cli-sync-info-file)))
|
||||
(with-temp-file doom-cli-sync-info-file
|
||||
(prin1 (cons emacs-version (system-name)) (current-buffer))))
|
||||
(prin1 (cons emacs-version (doom-sync--system-hash))
|
||||
(current-buffer))))
|
||||
t)
|
||||
(remove-hook 'kill-emacs-hook #'doom-sync--abort-warning-h)))
|
||||
|
||||
|
@ -109,6 +112,9 @@ OPTIONS:
|
|||
;;
|
||||
;;; Helpers
|
||||
|
||||
(defun doom-sync--system-hash ()
|
||||
(sxhash (list doom-local-dir system-type system-configuration-features)))
|
||||
|
||||
(defun doom-sync--abort-warning-h ()
|
||||
(print! (warn "Script was abruptly aborted, leaving Doom in an incomplete state!"))
|
||||
(print! (item "Run 'doom sync' to repair it.")))
|
||||
|
|
|
@ -89,7 +89,7 @@ list is returned as-is."
|
|||
;;
|
||||
;;; Public library
|
||||
|
||||
(define-obsolete-function-alias 'doom-enlist 'ensure-list "v3.0.0")
|
||||
(define-obsolete-function-alias 'doom-enlist 'ensure-list "3.0.0")
|
||||
|
||||
(defun doom-unquote (exp)
|
||||
"Return EXP unquoted."
|
||||
|
|
|
@ -12,7 +12,7 @@ Emacs.")
|
|||
(defvar doom-projectile-cache-purge-non-projects nil
|
||||
"If non-nil, non-projects are purged from the cache on `kill-emacs-hook'.")
|
||||
|
||||
(define-obsolete-variable-alias 'doom-projectile-fd-binary 'doom-fd-executable "v3.0.0")
|
||||
(define-obsolete-variable-alias 'doom-projectile-fd-binary 'doom-fd-executable "3.0.0")
|
||||
(defvar doom-fd-executable (cl-find-if #'executable-find (list "fdfind" "fd"))
|
||||
"The filename of the fd executable.
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ And jumps to your `doom!' block."
|
|||
(defmacro doom--if-compile (command on-success &optional on-failure)
|
||||
(declare (indent 2))
|
||||
`(let ((default-directory doom-emacs-dir)
|
||||
(exec-path (cons doom-bin-dir exec-path)))
|
||||
(doom-bin (expand-file-name "doom" doom-bin-dir)))
|
||||
;; Ensure the bin/doom operates with the same environment as this
|
||||
;; running session.
|
||||
(letenv! (("EMACS" (doom-path invocation-directory invocation-name))
|
||||
|
@ -64,7 +64,7 @@ And jumps to your `doom!' block."
|
|||
("DOOMDIR" doom-user-dir)
|
||||
("DOOMLOCALDIR" doom-local-dir)
|
||||
("DEBUG" (and doom-debug-mode "1")))
|
||||
(with-current-buffer (compile ,command t)
|
||||
(with-current-buffer (compile (format ,command doom-bin) t)
|
||||
(let ((w (get-buffer-window (current-buffer))))
|
||||
(select-window w)
|
||||
(add-hook
|
||||
|
@ -77,7 +77,7 @@ And jumps to your `doom!' block."
|
|||
,on-failure))
|
||||
nil 'local))))))
|
||||
|
||||
(defvar doom-reload-command "doom sync -B -e"
|
||||
(defvar doom-reload-command "%s sync -B -e"
|
||||
"Command that `doom/reload' runs.")
|
||||
;;;###autoload
|
||||
(defun doom/reload ()
|
||||
|
@ -141,7 +141,7 @@ imported into Emacs."
|
|||
(doom-load-envvars-file doom-env-file)
|
||||
(message "Reloaded %S" (abbreviate-file-name doom-env-file))))))
|
||||
|
||||
(defvar doom-upgrade-command "doom upgrade -B --force"
|
||||
(defvar doom-upgrade-command "%s upgrade -B --force"
|
||||
"Command that `doom/upgrade' runs.")
|
||||
;;;###autoload
|
||||
(defun doom/upgrade ()
|
||||
|
|
|
@ -31,8 +31,8 @@ playback.")
|
|||
(format (format "%%%ds | %%s" +irc-left-padding)
|
||||
(concat "*** " left) right))
|
||||
|
||||
(define-obsolete-variable-alias '+irc-notifications-watch-strings 'circe-notifications-watch-strings "v3.0.0")
|
||||
(define-obsolete-variable-alias '+irc-time-stamp-format 'lui-time-stamp-format "v3.0.0")
|
||||
(define-obsolete-variable-alias '+irc-notifications-watch-strings 'circe-notifications-watch-strings "3.0.0")
|
||||
(define-obsolete-variable-alias '+irc-time-stamp-format 'lui-time-stamp-format "3.0.0")
|
||||
|
||||
|
||||
;;
|
||||
|
|
|
@ -140,7 +140,7 @@ TAB/S-TAB.")
|
|||
(setq dabbrev-friend-buffer-function #'+dabbrev-friend-buffer-p
|
||||
dabbrev-ignored-buffer-regexps
|
||||
'("\\` "
|
||||
"\\(TAGS\\|tags\\|ETAGS\\|etags\\|GTAGS\\|GRTAGS\\|GPATH\\)\\(<[0-9]+>\\)?")
|
||||
"\\(?:\\(?:[EG]?\\|GR\\)TAGS\\|e?tags\\|GPATH\\)\\(<[0-9]+>\\)?")
|
||||
dabbrev-upcase-means-case-search t)
|
||||
(add-to-list 'dabbrev-ignored-buffer-modes 'pdf-view-mode)
|
||||
(add-to-list 'dabbrev-ignored-buffer-modes 'doc-view-mode)
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
;;; editor/evil/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(defvar +evil-repeat-keys (cons ";" ",")
|
||||
"The keys to use for universal repeating motions.
|
||||
|
||||
This is a cons cell whose CAR is the key for repeating a motion forward, and
|
||||
whose CDR is for repeating backward. They should both be `kbd'-able strings.
|
||||
|
||||
Set this to `nil' to disable universal-repeating on these keys.")
|
||||
|
||||
(defvar +evil-want-o/O-to-continue-comments t
|
||||
"If non-nil, the o/O keys will continue comment lines if the point is on a
|
||||
line with a linewise comment.")
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
;;; editor/fold/autoload/hideshow.el -*- lexical-binding: t; -*-
|
||||
|
||||
(defface +fold-hideshow-folded-face
|
||||
`((t (:inherit font-lock-comment-face :weight light)))
|
||||
"Face to hightlight `hideshow' overlays."
|
||||
:group 'doom-themes)
|
||||
|
||||
;;;###autoload
|
||||
(defun +fold-hideshow-haml-forward-sexp-fn (arg)
|
||||
(haml-forward-sexp arg)
|
||||
|
@ -30,7 +25,8 @@
|
|||
'empty-line
|
||||
'vimish-fold-fringe))))
|
||||
(overlay-put
|
||||
ov 'display (propertize " [...] " 'face '+fold-hideshow-folded-face))))
|
||||
ov 'display (propertize +fold-ellipsis
|
||||
'face '+fold-hideshow-folded-face))))
|
||||
|
||||
|
||||
;;
|
||||
|
|
|
@ -1,5 +1,22 @@
|
|||
;;; editor/fold/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(defcustom +fold-ellipsis " [...] "
|
||||
"The ellipsis to show for ellided regions (folds).
|
||||
|
||||
`org-ellipsis', `truncate-string-ellipsis', and `ts-fold-replacement' are set to
|
||||
this."
|
||||
:type 'string
|
||||
:group '+fold)
|
||||
|
||||
(defface +fold-hideshow-folded-face
|
||||
`((t (:inherit font-lock-comment-face :weight light)))
|
||||
"Face to hightlight `hideshow' overlays."
|
||||
:group 'doom-themes)
|
||||
|
||||
|
||||
;;
|
||||
;;; Global config
|
||||
|
||||
(when (modulep! :editor evil)
|
||||
;; Add vimish-fold, outline-mode & hideshow support to folding commands
|
||||
(define-key! 'global
|
||||
|
@ -18,9 +35,15 @@
|
|||
"zd" #'vimish-fold-delete
|
||||
"zE" #'vimish-fold-delete-all)))
|
||||
|
||||
(after! org
|
||||
(setq org-ellipsis +fold-ellipsis))
|
||||
|
||||
(after! mule-util
|
||||
(setq truncate-string-ellipsis +fold-ellipsis))
|
||||
|
||||
|
||||
;;
|
||||
;; Packages
|
||||
;;; Packages
|
||||
|
||||
(use-package! hideshow ; built-in
|
||||
:commands (hs-toggle-hiding
|
||||
|
@ -91,11 +114,5 @@
|
|||
:when (modulep! :tools tree-sitter)
|
||||
:after tree-sitter
|
||||
:config
|
||||
;; we want to use our own face so we nullify this one to have no effect and
|
||||
;; make it more similar to hideshows
|
||||
(custom-set-faces! '(ts-fold-replacement-face :foreground unspecified
|
||||
:box nil
|
||||
:inherit font-lock-comment-face
|
||||
:weight light))
|
||||
(setq ts-fold-replacement " [...] ")
|
||||
(setq ts-fold-replacement +fold-ellipsis)
|
||||
(global-ts-fold-mode +1))
|
||||
|
|
|
@ -486,7 +486,8 @@ Made for `org-tab-first-hook'."
|
|||
(evil-emacs-state-p))
|
||||
(or (and (bound-and-true-p yas--tables)
|
||||
(gethash major-mode yas--tables))
|
||||
(progn (yas-reload-all) t))
|
||||
(with-memoization (get 'yas-reload-all 'reloaded)
|
||||
(always (yas-reload-all))))
|
||||
(yas--templates-for-key-at-point))
|
||||
(yas-expand)
|
||||
t)
|
||||
|
|
|
@ -9,8 +9,15 @@
|
|||
;;; Packages
|
||||
|
||||
(use-package! rustic
|
||||
:mode ("\\.rs\\'" . rust-mode)
|
||||
:mode ("\\.rs\\'" . rustic-mode)
|
||||
:preface
|
||||
;; HACK: `rust-mode' and `rustic' add entries to `auto-mode-alist', but
|
||||
;; package load order makes which gets precedence unpredictable. By removing
|
||||
;; them early, we rely on the `:mode' directives above to re-insert them
|
||||
;; with the correct order.
|
||||
(setq auto-mode-alist (assoc-delete-all "\\.rs\\'" auto-mode-alist))
|
||||
|
||||
;; HACK `rustic' sets up some things too early. I'd rather disable it and let
|
||||
;; our respective modules standardize how they're initialized.
|
||||
(setq rustic-lsp-client nil)
|
||||
|
|
|
@ -63,11 +63,11 @@ font.")
|
|||
|
||||
(defvar +ligatures-prog-mode-list nil
|
||||
"A list of ligatures to enable in all `prog-mode' buffers.")
|
||||
(make-obsolete-variable '+ligatures-prog-mode-list "Use `+ligatures-alist' instead" "v3.0.0")
|
||||
(make-obsolete-variable '+ligatures-prog-mode-list "Use `+ligatures-alist' instead" "3.0.0")
|
||||
|
||||
(defvar +ligatures-all-modes-list nil
|
||||
"A list of ligatures to enable in all buffers.")
|
||||
(make-obsolete-variable '+ligatures-all-modes-list "Use `+ligatures-alist' instead" "v3.0.0")
|
||||
(make-obsolete-variable '+ligatures-all-modes-list "Use `+ligatures-alist' instead" "3.0.0")
|
||||
|
||||
(defvar +ligatures-extra-alist '((t))
|
||||
"A map of major modes to symbol lists (for `prettify-symbols-alist').")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue