Add Eglot to the menu bar
* lisp/progmodes/eglot.el (eglot): Improve the doc string. * lisp/menu-bar.el (menu-bar-tools-menu): Add Eglot to the menu.
This commit is contained in:
parent
3bab832894
commit
1324baea72
2 changed files with 24 additions and 16 deletions
|
@ -1847,6 +1847,10 @@ mail status in mode line"))
|
|||
:help "Toggle automatic parsing in source code buffers (Semantic mode)"
|
||||
:button (:toggle . (bound-and-true-p semantic-mode))))
|
||||
|
||||
(bindings--define-key menu [eglot]
|
||||
'(menu-item "Language Server Support (Eglot)" eglot
|
||||
:help "Start language server suitable for this buffer's major-mode"))
|
||||
|
||||
(bindings--define-key menu [ede]
|
||||
'(menu-item "Project Support (EDE)"
|
||||
global-ede-mode
|
||||
|
|
|
@ -1039,26 +1039,30 @@ suitable root directory for a given LSP server's purposes."
|
|||
;;;###autoload
|
||||
(defun eglot (managed-major-mode project class contact language-id
|
||||
&optional interactive)
|
||||
"Manage a project with a Language Server Protocol (LSP) server.
|
||||
"Start LSP server in support of PROJECT's buffers under MANAGED-MAJOR-MODE.
|
||||
|
||||
This starts a Language Server Protocol (LSP) server suitable for the
|
||||
buffers of PROJECT whose `major-mode' is MANAGED-MAJOR-MODE.
|
||||
CLASS is the class of the LSP server to start and CONTACT specifies
|
||||
how to connect to the server.
|
||||
|
||||
Interactively, the command attempts to guess MANAGED-MAJOR-MODE
|
||||
from the current buffer's `major-mode', CLASS and CONTACT from
|
||||
`eglot-server-programs' looked up by the major mode, and PROJECT from
|
||||
`project-find-functions'. The search for active projects in this
|
||||
context binds `eglot-lsp-context' (which see).
|
||||
|
||||
If it can't guess, it prompts the user for the mode and the server.
|
||||
With a single \\[universal-argument] prefix arg, it always prompts for COMMAND.
|
||||
With two \\[universal-argument], it also always prompts for MANAGED-MAJOR-MODE.
|
||||
|
||||
The LSP server of CLASS is started (or contacted) via CONTACT.
|
||||
If this operation is successful, current *and future* file
|
||||
buffers of MANAGED-MAJOR-MODE inside PROJECT become \"managed\"
|
||||
by the LSP server, meaning information about their contents is
|
||||
exchanged periodically to provide enhanced code-analysis via
|
||||
`xref-find-definitions', `flymake-mode', `eldoc-mode',
|
||||
`completion-at-point', among others.
|
||||
|
||||
Interactively, the command attempts to guess MANAGED-MAJOR-MODE
|
||||
from current buffer, CLASS and CONTACT from
|
||||
`eglot-server-programs' and PROJECT from
|
||||
`project-find-functions'. The search for active projects in this
|
||||
context binds `eglot-lsp-context' (which see).
|
||||
|
||||
If it can't guess, the user is prompted. With a single
|
||||
\\[universal-argument] prefix arg, it always prompt for COMMAND.
|
||||
With two \\[universal-argument] prefix args, also prompts for
|
||||
MANAGED-MAJOR-MODE.
|
||||
by the LSP server, meaning the information about their contents is
|
||||
exchanged periodically with the server to provide enhanced
|
||||
code-analysis via `xref-find-definitions', `flymake-mode',
|
||||
`eldoc-mode', and `completion-at-point', among others.
|
||||
|
||||
PROJECT is a project object as returned by `project-current'.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue