enum

LSProtocol::CodeActionKind

Inherits Enum / Comparable / Value / Object

A set of predefined code action kinds

Constants

Empty = 0

Empty kind.

QuickFix = 1

Base kind for quickfix actions: 'quickfix'

Refactor = 2

Base kind for refactoring actions: 'refactor'

RefactorExtract = 3

Base kind for refactoring extraction actions: 'refactor.extract'

Example extract actions:

  • Extract method
  • Extract function
  • Extract variable
  • Extract interface from class
  • ...
RefactorInline = 4

Base kind for refactoring inline actions: 'refactor.inline'

Example inline actions:

  • Inline function
  • Inline variable
  • Inline constant
  • ...
RefactorMove = 5

Base kind for refactoring move actions: refactor.move

Example move actions:

  • Move a function to a new file
  • Move a property between classes
  • Move method to base class
  • ...

@since 3.18.0 @proposed

RefactorRewrite = 6

Base kind for refactoring rewrite actions: 'refactor.rewrite'

Example rewrite actions:

  • Convert JavaScript function to class
  • Add or remove parameter
  • Encapsulate field
  • Make method static
  • Move method to base class
  • ...
Source = 7

Base kind for source actions: source

Source code actions apply to the entire file.

SourceOrganizeImports = 8

Base kind for an organize imports source action: source.organizeImports

SourceFixAll = 9

Base kind for auto-fix source actions: source.fixAll.

Fix all actions automatically fix errors that have a clear fix that do not require user input. They should not suppress errors or perform unsafe fixes such as generating new types or classes.

@since 3.15.0

Notebook = 10

Base kind for all code actions applying to the entire notebook's scope. CodeActionKinds using this should always begin with notebook.

@since 3.18.0

Constructors

from_json(pull : JSON::PullParser) : self
Source
new(pull : JSON::PullParser) : self
Source
parse(string : String) : self
Source

Instance methods

empty?

Returns true if this enum value equals Empty

Source
notebook?

Returns true if this enum value equals Notebook

Source
quick_fix?

Returns true if this enum value equals QuickFix

Source
refactor?

Returns true if this enum value equals Refactor

Source
refactor_extract?

Returns true if this enum value equals RefactorExtract

Source
refactor_inline?

Returns true if this enum value equals RefactorInline

Source
refactor_move?

Returns true if this enum value equals RefactorMove

Source
refactor_rewrite?

Returns true if this enum value equals RefactorRewrite

Source
source?

Returns true if this enum value equals Source

Source
source_fix_all?

Returns true if this enum value equals SourceFixAll

Source
source_organize_imports?

Returns true if this enum value equals SourceOrganizeImports

Source
to_json(builder : JSON::Builder)

Serializes this enum member by name.

For non-flags enums, the serialization is a JSON string. The value is the member name (see #to_s) transformed with String#underscore.

enum Stages
  INITIAL
  SECOND_STAGE
end

Stages::INITIAL.to_json      # => %("initial")
Stages::SECOND_STAGE.to_json # => %("second_stage")

For flags enums, the serialization is a JSON array including every flagged member individually serialized in the same way as a member of a non-flags enum. None is serialized as an empty array, All as an array containing all members.

@[Flags]
enum Sides
  LEFT
  RIGHT
end

Sides::LEFT.to_json                  # => %(["left"])
(Sides::LEFT | Sides::RIGHT).to_json # => %(["left","right"])
Sides::All.to_json                   # => %(["left","right"])
Sides::None.to_json                  # => %([])

ValueConverter.to_json offers a different serialization strategy based on the member value.

Source
to_s(io : IO) : Nil

Appends a String representation of this enum member to the given io.

See also: to_s.

Source
to_s

Returns a String representation of this enum member. In the case of regular enums, this is just the name of the member. In the case of flag enums, it's the names joined by vertical bars, or "None", if the value is zero.

If an enum's value doesn't match a member's value, the raw value is returned as a string.

Color::Red.to_s                     # => "Red"
IOMode::None.to_s                   # => "None"
(IOMode::Read | IOMode::Write).to_s # => "Read | Write"

Color.new(10).to_s # => "10"
Source