[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eglot 0cde01f 05/12: Close #26: Guess server for js2-mo
From: |
João Távora |
Subject: |
[elpa] externals/eglot 0cde01f 05/12: Close #26: Guess server for js2-mode and rjsx-mode |
Date: |
Fri, 22 Jun 2018 11:52:16 -0400 (EDT) |
branch: externals/eglot
commit 0cde01f984b4278b1a964a79a98f2758afd10e7c
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>
Close #26: Guess server for js2-mode and rjsx-mode
* eglot.el (eglot-server-programs): Add entries for js2-mode and
rjsx-mode. Coalesce entries for c++ and c-mode. Improve
docstring.
(eglot--guess-contact): Allow lists are keys in
eglot-server-programs.
---
eglot.el | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/eglot.el b/eglot.el
index ecbd509..447e8c1 100644
--- a/eglot.el
+++ b/eglot.el
@@ -78,15 +78,19 @@
(defvar eglot-server-programs '((rust-mode . (eglot-rls "rls"))
(python-mode . ("pyls"))
- (js-mode . ("javascript-typescript-stdio"))
+ ((js-mode
+ js2-mode
+ rjsx-mode) . ("javascript-typescript-stdio"))
(sh-mode . ("bash-language-server" "start"))
- (c++-mode . (eglot-cquery "cquery"))
- (c-mode . (eglot-cquery "cquery"))
+ ((c++-mode
+ c-mode) . (eglot-cquery "cquery"))
(php-mode . ("php" "vendor/felixfbecker/\
language-server/bin/php-language-server.php")))
"How the command `eglot' guesses the server to start.
An association list of (MAJOR-MODE . SPEC) pair. MAJOR-MODE is a
-mode symbol. SPEC is
+mode symbol, or a list of mode symbols. The associated SPEC
+specifies how to start a server for managing buffers of those
+modes. SPEC can be:
* In the most common case, a list of strings (PROGRAM [ARGS...]).
PROGRAM is called with ARGS and is expected to serve LSP requests
@@ -359,7 +363,10 @@ be guessed."
(eglot--error "Can't guess mode to manage for `%s'"
(current-buffer)))
(t guessed-mode)))
(project (or (project-current) `(transient . ,default-directory)))
- (guess (cdr (assoc managed-mode eglot-server-programs)))
+ (guess (cdr (assoc managed-mode eglot-server-programs
+ (lambda (m1 m2)
+ (or (eq m1 m2)
+ (and (listp m1) (memq m2 m1)))))))
(class (or (and (consp guess) (symbolp (car guess))
(prog1 (car guess) (setq guess (cdr guess))))
'eglot-lsp-server))
- [elpa] externals/eglot updated (a1f1dd6 -> 0176264), João Távora, 2018/06/22
- [elpa] externals/eglot 04ef055 11/12: Close #27: empty ranges are valid in LSP, João Távora, 2018/06/22
- [elpa] externals/eglot 0176264 12/12: * eglot.el (Version): Bump to 0.11, João Távora, 2018/06/22
- [elpa] externals/eglot 610d95b 03/12: Use gfm-mode for formatted strings (#20), João Távora, 2018/06/22
- [elpa] externals/eglot 0cde01f 05/12: Close #26: Guess server for js2-mode and rjsx-mode,
João Távora <=
- [elpa] externals/eglot 364348d 04/12: Close #25: Improve eglot-ensure and mention it in README.md, João Távora, 2018/06/22
- [elpa] externals/eglot efc0f45 02/12: Minor cleanup to new textDocument/formatting feature, João Távora, 2018/06/22
- [elpa] externals/eglot a9010f1 01/12: Implement formatting (#19), João Távora, 2018/06/22
- [elpa] externals/eglot 17ef74e 07/12: Defer textDocument/formatting requests, João Távora, 2018/06/22
- [elpa] externals/eglot 0b9cffe 08/12: Per #22: Apply text edits atomically, João Távora, 2018/06/22
- [elpa] externals/eglot 48c3f45 10/12: Close #22: Apply text edits as a single undoable edit, João Távora, 2018/06/22
- [elpa] externals/eglot cbc418c 06/12: Per #22: Simplify eglot-format-buffer, João Távora, 2018/06/22
- [elpa] externals/eglot df5e72e 09/12: Close #23: Report progress when applying edits, João Távora, 2018/06/22