@@ -10,10 +10,12 @@ your way:
1010* 📽 Scroll down this README for some [ pretty gifs] ( #animated_gifs )
1111* 📚 Read Eglot's [ manual] [ manual ] and [ release notes] [ release-notes ]
1212* 🏆 Folks over at Google [ seem to like it] [ gospb ] . Thanks!
13- * 👾 Eglot now lives in [ Emacs itself] ( #emacscore ) !
13+ * ✨ Get the [ stable] ( #stable ) or the [ latest] ( #latest ) version
14+ * 👾 Eglot now [ lives in Emacs itself] ( #core ) ! Learn how to [ contribute] ( #emacscore ) !
1415
15- See also [ eglot-x] [ eglot-x ] for non-standard protocol extensions support.
16+ Also see [ eglot-x] [ eglot-x ] for non-standard protocol extensions support.
1617
18+ <a name =stable ></a >
1719# Get stable [ GNU ELPA] [ gnuelpa ] version
1820
1921Just type ` M-x package-install RET eglot RET ` into Emacs 26.3+.
@@ -24,58 +26,20 @@ Now find some source file, any source file, and type `M-x eglot`.
2426for the language you're using. Otherwise, it prompts you to enter
2527one.
2628
27- # Get latest development version from [ GNU-Devel ELPA] [ gnudevelelpa ]
29+ <a name =latest ></a >
30+ # Get latest [ GNU-Devel ELPA] [ gnudevelelpa ] version
2831
29- First, configure this repository.
32+ First, configure GNU-Devel ELPA as your ELPA source repository.
3033``` lisp
3134(add-to-list 'package-archives '("gnu-devel" . "https://elpa.gnu.org/devel/"))
3235```
3336
34- Then, use ` M-x package-install ` or ` M-x package-update ` to install
35- an ELPA package from the latest upstream.
37+ Then, use ` M-x package-install ` or ` M-x package-update ` as before install
38+ an ELPA package from the latest upstream. You will be running the same
39+ Eglot version as if you were running Emacs master!
3640
37- <a name =emacscore ></a >
38- # Contribute to Eglot's development
39-
40- _ ** Eglot is now in Emacs's core!** _ Upcoming Emacs 29 will have `M-x
41- eglot` built-in.
42-
43- The recommended way to experiment with changes to the latest Eglot is
44- to [ compile] [ compile-emacs1 ] [ Emacs] [ compile-emacs2 ]
45- [ yourself] [ compile-emacs3-official ] .
46-
47- From a development perspective, moving to core allows us to work on
48- Eglot in tandem with other related packages already in Emacs, such as
49- [ Flymake] [ flymake ] , [ ElDoc] [ eldoc ] , [ Xref] [ xref ] , [ Project] [ project ] .
50-
51- This means adding or tweaking an Emacs LSP feature is a matter of
52- submitting a single patch targetting multiple relevant packages, not
53- just Eglot.
54-
55- These ` :core ` packages (Eglot included) are then released periodically
56- to GNU ELPA, so users of other Emacs's versions can get them via
57- ` M-x package-install ` .
58-
59- # Status of this GitHub repository
60-
61- This repository is ** not the development upstream anymore** , but it's
62- ** not** dead (yet):
63-
64- * It may be used to start [ discussions] [ discussion ] .
65-
66- Sometimes, it's possible the discussion or bug report will be moved
67- to [ Emacs's bug tracker] [ emacs-bug-tracker-eglot ] . You may take the
68- initiative and start discussion there using ` M-x report-emacs-bug `
69- or simply sending mail to ` bug-gnu-emacs@gnu.org ` .
70-
71- Please the [ Eglot-specific bug-reporting instructions] [ bug-reporting ] .
72-
73- * The [ ` eglot.el ` ] [ eglot.el ] file here is periodically updated to mirror
74- the [ Emacs upstream] [ upstream-eglot.el ]
75-
76- * The existing tests of [ ` eglot-tests.el ` ] [ eglot-tests.el ] , also
77- periodically updated, may be used to rehearse and validate patches
78- using [ GitHub CI infrastructure] [ build-status ] .
41+ ` M-x eglot-upgrade-eglot ` should also work if you have already installed
42+ it.
7943
8044<a name =" connecting " ></a >
8145# Connecting to a server
@@ -125,6 +89,72 @@ variable, where you can [easily add your own servers][manual].
12589* YAML's [ yaml-language-server] [ yaml-language-server ]
12690* Zig's [ zls] [ zls ]
12791
92+
93+ <a name =" core " ></a >
94+ # Eglot is in Emacs's core since Emacs 29!
95+
96+ ⚠️ This repository is ** not the development upstream anymore** ⚠️
97+
98+ It's ** not** dead (yet 🧟)
99+
100+ * Pull requests ** won't** be merged. You can still use them to show ideas
101+ for patches. See [ below] ( #emacscore ) for how to properly contribute.
102+
103+ * You can start a [ discussion] [ discussion ]
104+
105+ Say what is on your mind. It's possible discussion or bug report will
106+ be moved to [ Emacs's bug tracker] [ emacs-bug-tracker-eglot ] . You may
107+ jump straight to that forum using ` M-x report-emacs-bug ` or simply
108+ sending mail to ` bug-gnu-emacs@gnu.org ` .
109+
110+ Please the [ Eglot-specific bug-reporting instructions] [ bug-reporting ] .
111+
112+ * The [ ` eglot.el ` ] [ eglot.el ] file here is periodically updated to mirror
113+ the [ Emacs upstream] [ upstream-eglot.el ]
114+
115+ * The existing tests of [ ` eglot-tests.el ` ] [ eglot-tests.el ] , also
116+ periodically updated, may be used to rehearse and validate patches
117+ using [ GitHub CI infrastructure] [ build-status ] .
118+
119+ <a name =" emacscore " ></a >
120+ # Contribute to Eglot's development
121+
122+ Contributing to Eglot is done by contributing to the Emacs
123+ project. Read below for how Eglot fits in and how to quickly
124+ [ submit a patch] ( #submitpatch ) .
125+
126+ ## Understanding : core packages
127+
128+ From a development perspective, moving to core allows us to work on
129+ Eglot in tandem with other related packages already in Emacs, such as
130+ [ Flymake] [ flymake ] , [ ElDoc] [ eldoc ] , [ Xref] [ xref ] , [ Project] [ project ] .
131+
132+ This means adding or tweaking an Emacs LSP feature is a matter of
133+ submitting a single patch to Emacs targetting multiple relevant
134+ packages, not just Eglot. You may even propose a new package
135+ altogether.
136+
137+ These -- Eglot included -- are so-called ` :core ` packages. They
138+ are released periodically to GNU ELPA, so users of older Emacs
139+ versions can get all the googies via ` M-x package-install ` .
140+
141+ <a name =" submitpatch " ></a >
142+ ## Actualy submitting a patch
143+
144+ The recommended way to experiment with changes the code is to
145+ compile Emacs from a Git repo like
146+ [ this one] ( https://cgit.git.savannah.gnu.org/cgit/emacs.git )
147+ or [ this one] ( https://github.com/emacs-mirror/emacs ) . Here are
148+ [ three] [ compile-emacs1 ] [ separate] [ compile-emacs2 ]
149+ [ guides] [ compile-emacs3-official ] for doing so.
150+
151+ When you are content with your tweaks to Eglot (and/or its sibling
152+ ` :core ` packages), submit you patch ** 💪via email💪** to
153+ ` bug-gnu-emacs@gnu.org ` . You may CC the authors/maintainers of
154+ packages if you know their emails but it isn't strictly necessary.
155+ We'll guide you if any more steps are needed (like copyright
156+ assignments, etc).
157+
128158<a name =" animated_gifs " ></a >
129159# _ Obligatory animated gif section_
130160
0 commit comments