diff options
Diffstat (limited to 'users/grfn/emacs.d/show-matching-paren.el')
-rw-r--r-- | users/grfn/emacs.d/show-matching-paren.el | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/users/grfn/emacs.d/show-matching-paren.el b/users/grfn/emacs.d/show-matching-paren.el deleted file mode 100644 index ab65a912a8d1..000000000000 --- a/users/grfn/emacs.d/show-matching-paren.el +++ /dev/null @@ -1,61 +0,0 @@ -;;; -*- lexical-binding: t; -*- - -;;; https://with-emacs.com/posts/ui-hacks/show-matching-lines-when-parentheses-go-off-screen/ - -;; we will call `blink-matching-open` ourselves... -(remove-hook 'post-self-insert-hook - #'blink-paren-post-self-insert-function) -;; this still needs to be set for `blink-matching-open` to work -(setq blink-matching-paren 'show) - -(let ((ov nil)) ; keep track of the overlay - (advice-add - #'show-paren-function - :after - (defun show-paren--off-screen+ (&rest _args) - "Display matching line for off-screen paren." - (when (overlayp ov) - (delete-overlay ov)) - ;; check if it's appropriate to show match info, - ;; see `blink-paren-post-self-insert-function' - (when (and (overlay-buffer show-paren--overlay) - (not (or cursor-in-echo-area - executing-kbd-macro - noninteractive - (minibufferp) - this-command)) - (and (not (bobp)) - (memq (char-syntax (char-before)) '(?\) ?\$))) - (= 1 (logand 1 (- (point) - (save-excursion - (forward-char -1) - (skip-syntax-backward "/\\") - (point)))))) - ;; rebind `minibuffer-message' called by - ;; `blink-matching-open' to handle the overlay display - (cl-letf (((symbol-function #'minibuffer-message) - (lambda (msg &rest args) - (let ((msg (apply #'format-message msg args))) - (setq ov (display-line-overlay+ - (window-start) msg )))))) - (blink-matching-open)))))) - -(defun display-line-overlay+ (pos str &optional face) - "Display line at POS as STR with FACE. - -FACE defaults to inheriting from default and highlight." - (let ((ol (save-excursion - (goto-char pos) - (make-overlay (line-beginning-position) - (line-end-position))))) - (overlay-put ol 'display str) - (overlay-put ol 'face - (or face '(:inherit default :inherit highlight))) - ol)) - -(setq show-paren-style 'paren - show-paren-delay 0.03 - show-paren-highlight-openparen t - show-paren-when-point-inside-paren nil - show-paren-when-point-in-periphery t) -(show-paren-mode 1) |