Class: RubyLsp::RubyfmtFormatter::Formatter

Inherits:
Object
  • Object
show all
Includes:
RubyLsp::Requests::Support::Formatter
Defined in:
lib/ruby_lsp/rubyfmt_formatter/addon.rb

Instance Method Summary collapse

Constructor Details

#initialize(global_state) ⇒ Formatter

Returns a new instance of Formatter.



26
27
28
# File 'lib/ruby_lsp/rubyfmt_formatter/addon.rb', line 26

def initialize(global_state)
  @global_state = global_state
end

Instance Method Details

#run_diagnostic(_uri, _document) ⇒ Object



47
48
49
# File 'lib/ruby_lsp/rubyfmt_formatter/addon.rb', line 47

def run_diagnostic(_uri, _document)
  # rubyfmt doesn't emit diagnostics
end

#run_formatting(uri, document) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/ruby_lsp/rubyfmt_formatter/addon.rb', line 30

def run_formatting(uri, document)
  source = document.source
  command = build_command(uri)

  stdout, stderr, status = Open3.capture3(*command, stdin_data: source)

  unless status.success?
    raise StandardError, "`rubyfmt` failed: #{stderr}"
  end

  stdout
end

#run_range_formatting(_uri, _source, _base_indentation) ⇒ Object



43
44
45
# File 'lib/ruby_lsp/rubyfmt_formatter/addon.rb', line 43

def run_range_formatting(_uri, _source, _base_indentation)
  # rubyfmt doesn't support range formatting
end