Variable: eglot-confirm-server-edits
eglot-confirm-server-edits is a customizable variable defined in
eglot.el.gz.
Value
((eglot-rename) (t . maybe-summary))
Documentation
Control if changes proposed by LSP should be confirmed with user.
If this variable's value is the symbol diff, a diff buffer is
pops up, allowing the user to apply each change individually. If
the symbol summary or any other non-nil value, the user is
prompted in the minibuffer with aa short summary of changes. The
symbols maybe-diff and maybe-summary mean that the
confirmation is offered to the user only if the changes target
files visited in buffers. Finally, a nil value means all changes
are applied directly without any confirmation.
If this variable's value can also be an alist ((COMMAND . ACTION)
...) where COMMAND is a symbol designating a command, such as
eglot-rename, eglot-code-actions,
eglot-code-action-quickfix, etc. ACTION is one of the symbols
described above. The value t for COMMAND is accepted and its
ACTION is the default value for commands not in the alist.
This variable was added, or its default value changed, in Eglot version 1.17.30.
Aliases
eglot-confirm-server-initiated-edits (obsolete since 1.16)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(defcustom eglot-confirm-server-edits '((eglot-rename . nil)
(t . maybe-summary))
"Control if changes proposed by LSP should be confirmed with user.
If this variable's value is the symbol `diff', a diff buffer is
pops up, allowing the user to apply each change individually. If
the symbol `summary' or any other non-nil value, the user is
prompted in the minibuffer with aa short summary of changes. The
symbols `maybe-diff' and `maybe-summary' mean that the
confirmation is offered to the user only if the changes target
files visited in buffers. Finally, a nil value means all changes
are applied directly without any confirmation.
If this variable's value can also be an alist ((COMMAND . ACTION)
...) where COMMAND is a symbol designating a command, such as
`eglot-rename', `eglot-code-actions',
`eglot-code-action-quickfix', etc. ACTION is one of the symbols
described above. The value t for COMMAND is accepted and its
ACTION is the default value for commands not in the alist."
:type (let ((basic-choices
'((const :tag "Use diff" diff)
(const :tag "Summarize and prompt" summary)
(const :tag "Maybe use diff" maybe-diff)
(const :tag "Maybe summarize and prompt" maybe-summary)
(const :tag "Don't confirm" nil))))
`(choice ,@basic-choices
(alist :tag "Per-command alist"
:key-type (choice (function :tag "Command")
(const :tag "Default" t))
:value-type (choice . ,basic-choices))))
:package-version '(Eglot . "1.17.30"))