dev: merge branch 'master' into emenel

This commit is contained in:
Matt Nish-Lapidus 2024-04-09 10:37:06 -04:00
commit 0df1e0ca5d
10 changed files with 128 additions and 108 deletions

View file

@ -14,10 +14,6 @@
;; buffers anyway.
(setq-hook! 'emacs-everywhere-init-hooks doom-inhibit-local-var-hooks t)
;; REVIEW: Fixes tecosaur/emacs-everywhere#75. Remove when dealt with
;; upstream.
(define-key emacs-everywhere-mode-map "\C-c\C-c" #'emacs-everywhere-finish)
(after! doom-modeline
(doom-modeline-def-segment emacs-everywhere
(concat

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; app/everywhere/packages.el
(package! emacs-everywhere :pin "fbeff19825336777dccaefedf3f376dd622cd294")
(package! emacs-everywhere :pin "bc91164151ab012ff884af92321557f9b37eeed1")

View file

@ -51,16 +51,19 @@
:hook (flycheck-mode . +syntax-init-popups-h)
:config
(setq flycheck-popup-tip-error-prefix "X ")
(after! evil
;; Don't display popups while in insert or replace mode, as it can affect
;; the cursor's position or cause disruptive input delays.
(add-hook! '(evil-insert-state-entry-hook evil-replace-state-entry-hook)
#'flycheck-popup-tip-delete-popup)
(defadvice! +syntax--disable-flycheck-popup-tip-maybe-a (&rest _)
:before-while #'flycheck-popup-tip-show-popup
(if evil-local-mode
(eq evil-state 'normal)
(not (bound-and-true-p company-backend))))))
;; HACK: Only display the flycheck popup if we're in normal mode (for evil
;; users) or if no selection or completion is active. This popup can
;; interfere with the active evil mode, clear active regions, and other
;; funny business (see #7242).
(defadvice! +syntax--disable-flycheck-popup-tip-maybe-a (&rest _)
:before-while #'flycheck-popup-tip-show-popup
(if (and (bound-and-true-p evil-local-mode)
(not (evil-emacs-state-p)))
(evil-normal-state-p)
(and (not (region-active-p))
(not (bound-and-true-p company-backend))
(not (ignore-errors (>= corfu--index 0)))))))
(use-package! flycheck-posframe

View file

@ -138,10 +138,12 @@ TAB/S-TAB.")
(after! dabbrev
(setq dabbrev-friend-buffer-function #'+dabbrev-friend-buffer-p
dabbrev-ignored-buffer-regexps
'("^ "
'("\\` "
"\\(TAGS\\|tags\\|ETAGS\\|etags\\|GTAGS\\|GRTAGS\\|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 'pdf-view-mode)
(add-to-list 'dabbrev-ignored-buffer-modes 'doc-view-mode)
(add-to-list 'dabbrev-ignored-buffer-modes 'tags-table-mode)))
;; Make these capfs composable.
(advice-add #'lsp-completion-at-point :around #'cape-wrap-noninterruptible)

View file

@ -44,7 +44,9 @@ Can be negative.")
;; symbol at point.
helm-imenu-execute-action-at-once-if-one nil
;; Disable special behavior for left/right, M-left/right keys.
helm-ff-lynx-style-map nil)
helm-ff-lynx-style-map nil
;; Don't commandeer the entire frame for helm commands.
helm-always-two-windows nil)
(map! [remap apropos] #'helm-apropos
[remap find-library] #'helm-locate-library
@ -189,7 +191,13 @@ Can be negative.")
(use-package! helm-descbinds
:hook (helm-mode . helm-descbinds-mode))
:hook (helm-mode . helm-descbinds-mode)
:config
;; HACK: Upstream claims that the two packages are incompatible, but changing
;; `prefix-help-command' seems to smooth the incompatibility over. More
;; testing is needed...
(setq helm-descbinds-disable-which-key nil
prefix-help-command #'helm-descbinds))
(use-package! helm-icons

View file

@ -1,10 +1,10 @@
;; -*- no-byte-compile: t; -*-
;;; editor/snippets/packages.el
(package! yasnippet :pin "33587a8551b8f6991b607d3532062a384c010ce1")
(package! yasnippet :pin "eb5ba2664c3a68ae4a53bb38b85418dd131b208f")
(package! auto-yasnippet :pin "6a9e406d0d7f9dfd6dff7647f358cb05a0b1637e")
(package! doom-snippets
:recipe (:host github
:repo "doomemacs/snippets"
:files (:defaults "*"))
:pin "07b3bdaf60b74080f899b12c3d46594c7fa75e04")
:pin "c1384cc7975ee7ca7d551eb56c104d768440c3cb")

View file

@ -23,8 +23,7 @@
(cond ((and (string-prefix-p "jupyter-" lang)
(require 'jupyter nil t))
(jupyter-eval-region beg end))
((let ((major-mode (org-src-get-lang-mode lang)))
(+eval/region beg end))))))))
((+eval-region-as-major-mode beg end (org-src-get-lang-mode lang))))))))
;;;###autoload

View file

@ -72,6 +72,38 @@
output source-buffer)
output)
;;;###autoload
(defun +eval-region-as-major-mode (beg end &optional runner-major-mode)
"Evaluate a region between BEG and END and display the output.
Evaluate as in RUNNER-MAJOR-MODE. If RUNNER-MAJOR-MODE is nil, use major-mode
of the buffer instead."
(let ((load-file-name buffer-file-name)
(load-true-file-name
(or buffer-file-truename
(if buffer-file-name
(file-truename buffer-file-name))))
(runner-major-mode (or runner-major-mode major-mode)))
(cond ((if (fboundp '+eval--ensure-in-repl-buffer)
(ignore-errors
(get-buffer-window (or (+eval--ensure-in-repl-buffer)
t))))
(funcall (or (plist-get (cdr (alist-get runner-major-mode +eval-repls)) :send-region)
#'+eval/send-region-to-repl)
beg end))
((let (lang)
(if-let ((runner
(or (alist-get runner-major-mode +eval-runners)
(and (require 'quickrun nil t)
(equal (setq
lang (quickrun--command-key
(buffer-file-name (buffer-base-buffer))))
"emacs")
(alist-get 'emacs-lisp-mode +eval-runners)))))
(funcall runner beg end)
(let ((quickrun-option-cmdkey lang))
(quickrun-region beg end))))))))
;;
;;; Commands
@ -103,31 +135,7 @@
(defun +eval/region (beg end)
"Evaluate a region between BEG and END and display the output."
(interactive "r")
(let ((load-file-name buffer-file-name)
(load-true-file-name
(or buffer-file-truename
(if buffer-file-name
(file-truename buffer-file-name)))))
(cond ((and (fboundp '+eval--ensure-in-repl-buffer)
(ignore-errors
(get-buffer-window (or (+eval--ensure-in-repl-buffer)
t))))
(funcall (or (plist-get (cdr (alist-get major-mode +eval-repls)) :send-region)
#'+eval/send-region-to-repl)
beg end))
((let ((runner
(or (alist-get major-mode +eval-runners)
(and (require 'quickrun nil t)
(equal (setq
lang (quickrun--command-key
(buffer-file-name (buffer-base-buffer))))
"emacs")
(alist-get 'emacs-lisp-mode +eval-runners))))
lang)
(if runner
(funcall runner beg end)
(let ((quickrun-option-cmdkey lang))
(quickrun-region beg end))))))))
(+eval-region-as-major-mode beg end))
;;;###autoload
(defun +eval/line-or-region ()

View file

@ -1,5 +1,5 @@
;; -*- no-byte-compile: t; -*-
;;; ui/doom/packages.el
(package! doom-themes :pin "37d2182f5078d29fb22bbace346e523bb84b2c4e")
(package! solaire-mode :pin "8af65fbdc50b25ed3214da949b8a484527c7cc14")
(package! doom-themes :pin "3b2422b208d28e8734b300cd3cc6a7f4af5eba55")
(package! solaire-mode :pin "8ccdceeb9298b3c4e35f630914f467bf164f39ad")