enum LSProtocol::CodeActionKind
Overview
A set of predefined code action kinds
Defined in:
lsprotocol/types.crEnum Members
-
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
- .new(pull : JSON::PullParser) : self
- .parse(string : String) : self
Instance Method Summary
- #empty?
- #notebook?
- #quick_fix?
- #refactor?
- #refactor_extract?
- #refactor_inline?
- #refactor_move?
- #refactor_rewrite?
- #source?
- #source_fix_all?
- #source_organize_imports?
-
#to_json(builder : JSON::Builder)
Serializes this enum member by name.
-
#to_s(io : IO) : Nil
Appends a
String
representation of this enum member to the given io. -
#to_s : String
Returns a
String
representation of this enum member.
Constructor Detail
Instance Method Detail
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.
Appends a String
representation of this enum member to the given io.
See also: #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"