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.



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

def initialize(global_state)
  @global_state = global_state
end

Instance Method Details

#run_diagnostic(_uri, _document) ⇒ Object



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

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

#run_formatting(uri, document) ⇒ Object



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

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

  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



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

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