[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/elpa 29d4103 056/139: Fix mode-line mouse-clicks from o
From: |
João Távora |
Subject: |
[elpa] externals/elpa 29d4103 056/139: Fix mode-line mouse-clicks from outside selected window |
Date: |
Mon, 14 May 2018 09:53:34 -0400 (EDT) |
branch: externals/elpa
commit 29d4103a947c255361c600f9ed74381ad3f2ec6a
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>
Fix mode-line mouse-clicks from outside selected window
* eglot.el (eglot--mode-line-call): New helper.
(eglot--mode-line-format): Use it.
---
eglot.el | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/eglot.el b/eglot.el
index 693535a..bdd339d 100644
--- a/eglot.el
+++ b/eglot.el
@@ -695,6 +695,13 @@ that case, also signal textDocument/didOpen."
(put 'eglot--mode-line-format 'risky-local-variable t)
+(defun eglot--mode-line-call (what)
+ "Make an interactive lambda for calling WHAT from mode-line."
+ (lambda (event)
+ (interactive "e")
+ (with-selected-window (posn-window (event-start event))
+ (call-interactively what))))
+
(defun eglot--mode-line-format ()
"Compose the mode-line format spec."
(pcase-let* ((proc (eglot--current-process))
@@ -715,7 +722,7 @@ that case, also signal textDocument/didOpen."
face eglot-mode-line
keymap ,(let ((map (make-sparse-keymap)))
(define-key map [mode-line down-mouse-1]
- eglot-menu)
+ (eglot--mode-line-call 'eglot-menu))
map)
mouse-face mode-line-highlight
help-echo "mouse-1: pop-up EGLOT menu"
@@ -726,9 +733,12 @@ that case, also signal textDocument/didOpen."
,name
face eglot-mode-line
keymap ,(let ((map (make-sparse-keymap)))
- (define-key map [mode-line mouse-1] 'eglot-events-buffer)
- (define-key map [mode-line mouse-2] 'eglot-shutdown)
- (define-key map [mode-line mouse-3] 'eglot-reconnect)
+ (define-key map [mode-line mouse-1]
+ (eglot--mode-line-call 'eglot-events-buffer))
+ (define-key map [mode-line mouse-2]
+ (eglot--mode-line-call 'eglot-shutdown))
+ (define-key map [mode-line mouse-3]
+ (eglot--mode-line-call 'eglot-reconnect))
map)
mouse-face mode-line-highlight
help-echo ,(concat "mouse-1: go to events buffer\n"
@@ -744,9 +754,9 @@ that case, also signal textDocument/didOpen."
face compilation-mode-line-fail
keymap ,(let ((map (make-sparse-keymap)))
(define-key map [mode-line mouse-1]
- 'eglot-events-buffer)
+ (eglot--mode-line-call 'eglot-events-buffer))
(define-key map [mode-line mouse-3]
- 'eglot-clear-status)
+ (eglot--mode-line-call 'eglot-clear-status))
map))))
,@(when (and doing (not done-p))
`("/"
@@ -757,7 +767,7 @@ that case, also signal textDocument/didOpen."
face compilation-mode-line-run
keymap ,(let ((map (make-sparse-keymap)))
(define-key map [mode-line mouse-1]
- 'eglot-events-buffer)
+ (eglot--mode-line-call 'eglot-events-buffer))
map))))
,@(when (cl-plusp pending)
`("/"
@@ -775,9 +785,9 @@ that case, also signal textDocument/didOpen."
'eglot-mode-line))
keymap ,(let ((map (make-sparse-keymap)))
(define-key map [mode-line mouse-1]
- 'eglot-events-buffer)
+ (eglot--mode-line-call 'eglot-events-buffer))
(define-key map [mode-line mouse-3]
- 'eglot-forget-pending-continuations)
+ (eglot--mode-line-call
'eglot-forget-pending-continuations))
map)))))))))
(add-to-list 'mode-line-misc-info
- [elpa] externals/elpa 6689a15 026/139: Add eglot-clear-status interactive command, (continued)
- [elpa] externals/elpa 6689a15 026/139: Add eglot-clear-status interactive command, João Távora, 2018/05/14
- [elpa] externals/elpa 63f2208 030/139: Less obstrusive flymake stuff for now, João Távora, 2018/05/14
- [elpa] externals/elpa 3403f86 027/139: Correctly report what we currently are capable of, João Távora, 2018/05/14
- [elpa] externals/elpa 92bf3a0 038/139: Signal textDocument/didClose, João Távora, 2018/05/14
- [elpa] externals/elpa 7ec0dcf 029/139: Events buffer uses eglot-mode, source buffers use eglot-editing-mode, João Távora, 2018/05/14
- [elpa] externals/elpa 17e0ca4 047/139: Fix Flymake diagnostic positions, João Távora, 2018/05/14
- [elpa] externals/elpa 0e95167 042/139: Watch for files opened under umbrella of existing process, João Távora, 2018/05/14
- [elpa] externals/elpa 9665a3e 051/139: Fix textDocument/didChange, João Távora, 2018/05/14
- [elpa] externals/elpa 1514e0f 052/139: Fix a couple of Rust-related edge cases, João Távora, 2018/05/14
- [elpa] externals/elpa d90efdf 001/139: Initial commit, João Távora, 2018/05/14
- [elpa] externals/elpa 29d4103 056/139: Fix mode-line mouse-clicks from outside selected window,
João Távora <=
- [elpa] externals/elpa ea918ab 066/139: Include source info in diagnostics, João Távora, 2018/05/14
- [elpa] externals/elpa 2b61a3b 048/139: Delete two useless forward declarations, João Távora, 2018/05/14
- [elpa] externals/elpa 7d0bf64 062/139: Workaround RLS's regusal to treat nil as empty json object, João Távora, 2018/05/14
- [elpa] externals/elpa e7ffc31 067/139: Make reported capabilities into its own function, João Távora, 2018/05/14
- [elpa] externals/elpa c2862f4 063/139: Don't auto-reconnect if last attempt lasted less than 3 seconds, João Távora, 2018/05/14
- [elpa] externals/elpa e86f9b4 073/139: New helper eglot--sync-request, João Távora, 2018/05/14
- [elpa] externals/elpa 95187cf 058/139: Connect to LSP server via TCP, João Távora, 2018/05/14
- [elpa] externals/elpa f8bfb7e 064/139: Handle requests from server correctly, João Távora, 2018/05/14
- [elpa] externals/elpa 8160cd4 071/139: Handle dynamic registration in general (but nothing specific yet), João Távora, 2018/05/14
- [elpa] externals/elpa 9ff97a6 079/139: Increase request timeout length to 10 seconds, João Távora, 2018/05/14