[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eglot dc26745 38/62: Update README.md
From: |
Stefan Monnier |
Subject: |
[elpa] externals/eglot dc26745 38/62: Update README.md |
Date: |
Sat, 29 Sep 2018 17:13:34 -0400 (EDT) |
branch: externals/eglot
commit dc267451be0e2f2ff284934782a15ae108562140
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>
Update README.md
* README.md (Differences to lsp-mode.el): Rewrite.
---
README.md | 53 +++++++++++++++++++++++++++++++----------------------
1 file changed, 31 insertions(+), 22 deletions(-)
diff --git a/README.md b/README.md
index e0b5cb7..a7afbb7 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
[![Build
Status](https://travis-ci.org/joaotavora/eglot.png?branch=master)](https://travis-ci.org/joaotavora/eglot)
[![MELPA](http://melpa.org/packages/eglot-badge.svg)](http://melpa.org/#/eglot)
-Eglot
------
+M-x Eglot
+---------
*E*macs Poly*glot*. Emacs client to [Language Server Protocol][lsp]
servers. Scroll down this README for some
@@ -116,8 +116,8 @@ information in stderr, jumps to a buffer with these
contents.
- `M-x eglot-signal-didChangeConfiguration` updates the LSP server
configuration according to the value of the variable
-`eglot-workspace-configuration`, which you may, for example set in a
-`.dir-locals` file.`
+`eglot-workspace-configuration`, which you may be set in a
+`.dir-locals` file, for example.
There are *no keybindings* specific to Eglot, but you can bind stuff
in `eglot-mode-map`, which is active as long as Eglot is managing a
@@ -223,29 +223,38 @@ eglot-shutdown`.
# Differences to lsp-mode.el
-Eglot is **beta**. It may currently underperform
-[lsp-mode.el][emacs-lsp], both in functionality and correctness. That
-other extension is much more mature and has a host of
-[plugins][emacs-lsp-plugins] for bells and whistles. If you don't
-like the minimalist approach of `eglot.el`, you could be better served
-with `lsp-mode.el` for now.
+Eglot and [lsp-mode.el][emacs-lsp] share a common goal, which is to
+bring LSP to Emacs. lsp-mode.el is a more mature extension with a
+host of [plugins][emacs-lsp-plugins] for bells and whistles. Eglot
+may still lag it in some aspects, but the gap is closing as more
+features make it into Eglot and more servers are supported
+out-of-the-box.
+
+Conversely, you may find Eglot surpasses lsp-mode.el in other aspects,
+namely simplicity. Eglot is considerably less code and hassle than
+lsp-mode.el. In most cases, there's nothing to configure. It's a
+minimalist approach focused on user experience and performance.
User-visible differences:
-- Single and friendly entry point `M-x eglot`, not `M-x
- eglot-<language>`. Also no `eglot-<language>` extra packages.
-- No "whitelisting" or "blacklisting" directories to languages. `M-x
- eglot` starts servers to handle major modes inside a specific
- project. Uses Emacs's built-in `project.el` library to discover
- projects. Automatically detects current and future opened files
- under that project and syncs with server.
+- The single most visible difference is the friendly entry point `M-x
+ eglot`, not `M-x eglot-<language>`. Also, there are no
+ `eglot-<language>` extra packages.
+
+- There's no "whitelisting" or "blacklisting" directories to
+ languages. `M-x eglot` starts servers to handle file of a major
+ mode inside a specific project, using Emacs's built-in `project.el`
+ library to discover projects. Then it automatically detects current
+ and future opened files under that project and syncs with server;
+
- Easy way to quit/restart a server, just middle/right click on the
- connection name.
+ connection name;
- Pretty interactive mode-line section for live tracking of server
- communication.
-- Automatically restarts frequently crashing servers (like RLS).
-- Server-initiated edits are confirmed with the user.
-- Diagnostics work out-of-the-box (no `flycheck.el` needed).
+ communication;
+- Automatically restarts frequently crashing servers (like RLS);
+- Slow-to-start servers start asynchronously in the background;
+- Server-initiated edits are confirmed with the user;
+- Diagnostics work out-of-the-box (no `flycheck.el` needed);
- Smoother/more responsive (read below).
Under the hood:
- [elpa] externals/eglot 6b14711 18/62: * eglot.el (eglot-client-capabilities): Fix a typo., (continued)
- [elpa] externals/eglot 6b14711 18/62: * eglot.el (eglot-client-capabilities): Fix a typo., Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 4c019bd 24/62: * eglot.el (eglot-initialization-options): Fix spurious typo., Stefan Monnier, 2018/09/29
- [elpa] externals/eglot a62c2da 25/62: Close #60: Notify server of recent changes before save notification, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot c8191b2 32/62: Improve eglot-execute-command API to ease overriding by servers, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 991d129 34/62: * README.md (Build Status): Show status for master, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot ae37c2a 35/62: Add a test for eglot-ensure. Make, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot cac728a 33/62: Kill server's output and events buffers from eglot-shutdown (#66), Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 9ae03af 39/62: Close #41: Control the size of the events buffer, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot c25c0e3 40/62: Close #64: handle edits to same position in the correct order, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 6874895 42/62: Close #73: Prompt for server in interactive eglot-shutdown, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot dc26745 38/62: Update README.md,
Stefan Monnier <=
- [elpa] externals/eglot e05360a 50/62: Actually add snippet example gif referenced in README.md, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot c8cccee 52/62: Ignore extra keys in textDocument/publishDiagnostics (#81), Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 6f1d64c 59/62: Close #100: Don't send other notifications before initialized, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot f482c3e 60/62: Close #115: Don't block kill-buffer-hook if server somehow hangs, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 821b498 62/62: Correctly map DocumentSymbol's :kind to its name (#121), Stefan Monnier, 2018/09/29
- [elpa] externals/eglot bd6304d 57/62: Fix serious breakage introduced by #93, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 8e1a91b 31/62: Add a generic eglot-execute-command API, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot d5167ea 29/62: Minor fixes to test infrastructure, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot b0b16e2 37/62: Allow tests to be run with custom jsonrpc.el, Stefan Monnier, 2018/09/29
- [elpa] externals/eglot 8e0cf60 45/62: Fix textDocument/hover responses where MarkedString is a plist (#72), Stefan Monnier, 2018/09/29