class

LSProtocol::CodeAction

Inherits JSON::Serializable / Reference / Object

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.

Constructors

new(pull : JSON::PullParser)
Source
new(title : String | Nil, command : Command | Nil = nil, data : LSPAny | Nil = nil, diagnostics : Array(Diagnostic) | Nil = nil, disabled : CodeActionDisabled | Nil = nil, edit : WorkspaceEdit | Nil = nil, is_preferred : Bool | Nil = nil, kind : CodeActionKind | String | Nil = nil, tags : Array(CodeActionTag) | Nil = nil)
Source
new(*, __pull_for_json_serializable pull : JSON::PullParser)
Source

Instance methods

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.

Source
data

A data entry field that is preserved on a code action between a textDocument/codeAction and a codeAction/resolve request.

@since 3.16.0

Source
diagnostics

The diagnostics that this code action resolves.

Source
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

Source
edit

The workspace edit this code action performs.

Source
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

Source
kind

The kind of the code action.

Used to filter code actions.

Source
tags

Tags for this code action.

@since 3.18.0 - proposed

Source
title

A short, human-readable, title for this code action.

Source