View Source GenLSP.Structures.CodeAction (gen_lsp v0.10.0)
A code action represents a change that can be performed in code, e.g. to fix a problem or to refactor code.
A CodeAction must set either edit
and/or a command
. If both are supplied, the edit
is applied first, then the command
is executed.
Link to this section Summary
Functions
Fields
title: A short, human-readable, title for this code action.
Link to this section Types
@type t() :: %GenLSP.Structures.CodeAction{ command: GenLSP.Structures.Command.t() | nil, data: GenLSP.TypeAlias.LSPAny.t() | nil, diagnostics: [GenLSP.Structures.Diagnostic.t()] | nil, disabled: map() | nil, edit: GenLSP.Structures.WorkspaceEdit.t() | nil, is_preferred: boolean() | nil, kind: GenLSP.Enumerations.CodeActionKind.t() | nil, title: String.t() }
Link to this section Functions
fields
Fields
title: A short, human-readable, title for this code action.
kind: The kind of the code action.
Used to filter code actions.
diagnostics: The diagnostics that this code action resolves.
is_preferred: Marks this as a preferred action. Preferred actions are used by the
auto fix
command and can be targeted by keybindings.A quick fix should be marked preferred if it properly addresses the underlying error. A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
@since 3.15.0
disabled: Marks that the code action cannot currently be applied.
Clients should follow the following guidelines regarding disabled code actions:
Disabled code actions are not shown in automatic lightbulbs code action menus.
Disabled actions are shown as faded out in the code action menu when the user requests a more specific type of code action, such as refactorings.
If the user has a keybinding that auto applies a code action and only disabled code actions are returned, the client should show the user an error message with
reason
in the editor.
@since 3.16.0
edit: The workspace edit this code action performs.
command: A command this code action executes. If a code action provides an edit and a command, first the edit is executed and then the command.
data: A data entry field that is preserved on a code action between a
textDocument/codeAction
and acodeAction/resolve
request.@since 3.16.0