Sha256: eba166babeae75a8540cfc8e7ef866fe66bd1e197911f9eb6d8abfc6dc13db8b
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true module RubyLsp module Requests # The [formatting](https://microsoft.github.io/language-server-protocol/specification#textDocument_formatting) # request uses RuboCop to fix auto-correctable offenses in the document. This requires enabling format on save and # registering the ruby-lsp as the Ruby formatter. # # # Example # # ```ruby # def say_hello # puts "Hello" # --> formatting: fixes the indentation on save # end # ``` class Formatting < RuboCopRequest RUBOCOP_FLAGS = (COMMON_RUBOCOP_FLAGS + ["--auto-correct"]).freeze def initialize(uri, document) super @formatted_text = nil end def run super @formatted_text = @options[:stdin] # Rubocop applies the corrections on stdin return unless @formatted_text [ LanguageServer::Protocol::Interface::TextEdit.new( range: LanguageServer::Protocol::Interface::Range.new( start: LanguageServer::Protocol::Interface::Position.new(line: 0, character: 0), end: LanguageServer::Protocol::Interface::Position.new( line: text.size, character: text.size ) ), new_text: @formatted_text ), ] end private def rubocop_flags RUBOCOP_FLAGS end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-lsp-0.0.3 | lib/ruby_lsp/requests/formatting.rb |