[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/elpa 7ec0dcf 029/139: Events buffer uses eglot-mode, so
From: |
João Távora |
Subject: |
[elpa] externals/elpa 7ec0dcf 029/139: Events buffer uses eglot-mode, source buffers use eglot-editing-mode |
Date: |
Mon, 14 May 2018 09:53:29 -0400 (EDT) |
branch: externals/elpa
commit 7ec0dcfb25e225e4317a7ad97c525beadfbbf0e6
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>
Events buffer uses eglot-mode, source buffers use eglot-editing-mode
* eglot.el (eglot--special-buffer-process): New var.
(eglot--current-process): Consider eglot--special-buffer-process.
(eglot-events-buffer): Use eglot-mode
(eglot-editing-mode): New minor mode.
(eglot-mode): Turns on eglot-editing-mode maybe.
---
eglot.el | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/eglot.el b/eglot.el
index 457f316..9742f88 100644
--- a/eglot.el
+++ b/eglot.el
@@ -43,11 +43,15 @@
(defvar eglot--processes-by-project (make-hash-table :test #'equal))
+(defvar eglot--special-buffer-process nil
+ "Current buffer's eglot process.")
+
(defun eglot--current-process ()
"The current logical EGLOT process."
- (let ((cur (project-current)))
- (and cur
- (gethash cur eglot--processes-by-project))))
+ (or eglot--special-buffer-process
+ (let ((cur (project-current)))
+ (and cur
+ (gethash cur eglot--processes-by-project)))))
(defun eglot--current-process-or-lose ()
(or (eglot--current-process)
@@ -270,8 +274,9 @@ INTERACTIVE is t if called interactively."
(with-current-buffer buffer
(buffer-disable-undo)
(read-only-mode t)
- (setf (eglot--events-buffer process)
- buffer))
+ (setf (eglot--events-buffer process) buffer
+ eglot--special-buffer-process process)
+ (eglot-mode))
buffer))))
(when interactive
(display-buffer buffer))
@@ -610,12 +615,15 @@ running. INTERACTIVE is t if called interactively."
(defvar eglot-mode-map (make-sparse-keymap))
-(define-minor-mode eglot-mode
- "Minor mode for buffers where EGLOT is possible"
+(defvar eglot-editing-mode-map (make-sparse-keymap))
+
+(define-minor-mode eglot-editing-mode
+ "Minor mode for source buffers where EGLOT helps you edit."
nil
nil
eglot-mode-map
- (cond (eglot-mode
+ (cond (eglot-editing-mode
+ (eglot-mode 1)
(add-hook 'after-change-functions 'eglot--after-change nil t)
(add-hook 'flymake-diagnostic-functions 'eglot-flymake-backend nil t)
(if (eglot--current-process)
@@ -625,6 +633,17 @@ running. INTERACTIVE is t if called interactively."
(remove-hook 'flymake-diagnostic-functions 'eglot-flymake-backend t)
(remove-hook 'after-change-functions 'eglot--after-change t))))
+(define-minor-mode eglot-mode
+ "Minor mode for all buffers managed by EGLOT in some way." nil
+ nil eglot-mode-map
+ (cond (eglot-mode
+ (when (and buffer-file-name
+ (not eglot-editing-mode))
+ (eglot-editing-mode 1)))
+ (t
+ (when eglot-editing-mode
+ (eglot-editing-mode -1)))))
+
(defvar eglot-menu)
(easy-menu-define eglot-menu eglot-mode-map "EGLOT"
- [elpa] externals/elpa 39e8b9e 081/139: Add (dummy) tests and Travis CI integration, (continued)
- [elpa] externals/elpa 39e8b9e 081/139: Add (dummy) tests and Travis CI integration, João Távora, 2018/05/14
- [elpa] externals/elpa 1356844 097/139: Fix odd bugs, João Távora, 2018/05/14
- [elpa] externals/elpa 889ef20 085/139: Tweak the async request engine., João Távora, 2018/05/14
- [elpa] externals/elpa 1add335 078/139: Workaround two suspected Emacs bugs, João Távora, 2018/05/14
- [elpa] externals/elpa 9d404c9 054/139: Update README.md, João Távora, 2018/05/14
- [elpa] externals/elpa c417eb4 009/139: Cancel timeouts when process dies unexpectedly, João Távora, 2018/05/14
- [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 <=
- [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, 2018/05/14
- [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