[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 1.2 5e30066 032/101: Update README.md
From: |
Christian Johansson |
Subject: |
[elpa] 1.2 5e30066 032/101: Update README.md |
Date: |
Thu, 29 Apr 2021 15:08:55 -0400 (EDT) |
tag: 1.2
commit 5e3006650f2418ec45b55a5da877b332f0ab49f0
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>
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] 1.2 3c9e00e 068/101: * .travis.yml (install): Download eclipse.jdt.ls server., (continued)
- [elpa] 1.2 3c9e00e 068/101: * .travis.yml (install): Download eclipse.jdt.ls server., Christian Johansson, 2021/04/29
- [elpa] 1.2 be464f2 005/101: Add entry for haskell-ide-engine in eglot-server-programs (#49), Christian Johansson, 2021/04/29
- [elpa] 1.2 0694579 009/101: Fix typo in willSaveWaitUntil RPC request (#51), Christian Johansson, 2021/04/29
- [elpa] 1.2 f4f93d3 014/101: Fix placement of diagnostics with same start and end positions, Christian Johansson, 2021/04/29
- [elpa] 1.2 01ec85f 011/101: Implement TextDocument/rangeFormatting, Christian Johansson, 2021/04/29
- [elpa] 1.2 d1cfc9e 008/101: Work around Emacs bugs 32237, 32278 (#53), Christian Johansson, 2021/04/29
- [elpa] 1.2 e33fadb 012/101: * eglot.el (eglot-client-capabilities): Fix a typo., Christian Johansson, 2021/04/29
- [elpa] 1.2 ee372b4 022/101: * eglot.el (advice-add jsonrpc-request): Add &allow-other-keys, Christian Johansson, 2021/04/29
- [elpa] 1.2 9bf88ee 031/101: Allow tests to be run with custom jsonrpc.el, Christian Johansson, 2021/04/29
- [elpa] 1.2 cf3376a 034/101: Close #64: handle edits to same position in the correct order, Christian Johansson, 2021/04/29
- [elpa] 1.2 5e30066 032/101: Update README.md,
Christian Johansson <=
- [elpa] 1.2 afa5439 027/101: Kill server's output and events buffers from eglot-shutdown (#66), Christian Johansson, 2021/04/29
- [elpa] 1.2 d6b49d8 028/101: * README.md (Build Status): Show status for master, Christian Johansson, 2021/04/29
- [elpa] 1.2 c2e05a3 030/101: Close #68: Implement asynchronous server connection, Christian Johansson, 2021/04/29
- [elpa] 1.2 3432d21 037/101: Per #74: Fix eglot-capabilities when querying for multiple features, Christian Johansson, 2021/04/29
- [elpa] 1.2 6eac51f 061/101: Sort references and definitions by line number, Christian Johansson, 2021/04/29
- [elpa] 1.2 88a4f8c 044/101: Actually add snippet example gif referenced in README.md, Christian Johansson, 2021/04/29
- [elpa] 1.2 29d641b 066/101: Handle case when project was not found in eclipse.jdt.ls contact, Christian Johansson, 2021/04/29
- [elpa] 1.2 2971683 075/101: Rework test macros for hopefully more stable testing, Christian Johansson, 2021/04/29
- [elpa] 1.2 3b3c1db 036/101: Close #73: Prompt for server in interactive eglot-shutdown, Christian Johansson, 2021/04/29
- [elpa] 1.2 a1cc0ad 043/101: * README.md (Obligatory animated gif section): Add snippet gif., Christian Johansson, 2021/04/29