Class: RubyLsp::Requests::CodeActions

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_lsp/requests/code_actions.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri, document, range) ⇒ CodeActions

Returns a new instance of CodeActions.



10
11
12
13
14
# File 'lib/ruby_lsp/requests/code_actions.rb', line 10

def initialize(uri, document, range)
  @document = document
  @uri = uri
  @range = range
end

Class Method Details

.run(uri, document, range) ⇒ Object



6
7
8
# File 'lib/ruby_lsp/requests/code_actions.rb', line 6

def self.run(uri, document, range)
  new(uri, document, range).run
end

Instance Method Details

#runObject



16
17
18
19
20
21
22
# File 'lib/ruby_lsp/requests/code_actions.rb', line 16

def run
  diagnostics = Diagnostics.run(@uri, @document)
  corrections = diagnostics.select { |diagnostic| diagnostic.correctable? && diagnostic.in_range?(@range) }
  return if corrections.empty?

  corrections.map!(&:to_lsp_code_action)
end