class Rubydex::Linter::RubyLsp::Linter
Constants
- DIAGNOSTIC_SEVERITIES
Attributes
current_diagnostics
[R]
Hash[String, Array[::RubyLsp::Interface::Diagnostic]]
diagnostics_to_clear
[R]
Array[String]
Public Class Methods
(::RubyLsp::GlobalState) → void
Source
# File lib/ruby_lsp/rubydex/addon.rb, line 122 def initialize(global_state) @graph = global_state.graph #: ::Rubydex::Graph @workspace_path = global_state.workspace_path #: String ::Rubydex::Linter::RuleLoader.load(@workspace_path) @custom_rules = ::Rubydex::Linter::CustomRule.subclasses #: Array[singleton(::Rubydex::Linter::CustomRule)] @config = ::Rubydex::Config.load(@workspace_path) #: ::Rubydex::Config @runner = ::Rubydex::Linter::Runner.new(@graph, custom_rules: @custom_rules, config: @config.linter) #: ::Rubydex::Linter::Runner @current_diagnostics = {} #: Hash[String, Array[::RubyLsp::Interface::Diagnostic]] @diagnostics_to_clear = [] #: Array[String] end
Public Instance Methods
() → void
Source
# File lib/ruby_lsp/rubydex/addon.rb, line 150 def lint! @diagnostics_to_clear = @current_diagnostics.keys @current_diagnostics.clear linter_config = @config.linter @runner.run.each do |diagnostic| uri = diagnostic.location.uri (@current_diagnostics[uri] ||= []) << to_lsp_diagnostic(diagnostic, linter_config) end @diagnostics_to_clear -= @current_diagnostics.keys end
() → void
Source
# File lib/ruby_lsp/rubydex/addon.rb, line 165 def reload_configuration @config = ::Rubydex::Config.load(@workspace_path) #: ::Rubydex::Config @runner = ::Rubydex::Linter::Runner.new(@graph, custom_rules: @custom_rules, config: @config.linter) #: ::Rubydex::Linter::Runner end
(URI::Generic, ::RubyLsp::Document[untyped]) → Array[::RubyLsp::Interface::Diagnostic]?
Source
# File lib/ruby_lsp/rubydex/addon.rb, line 137 def run_diagnostic(uri, _document) @current_diagnostics[uri.to_s] end
@override
(URI::Generic, ::RubyLsp::RubyDocument) → String?
Source
# File lib/ruby_lsp/rubydex/addon.rb, line 143 def run_formatting(uri, document); end
@override
(URI::Generic, String, Integer) → String?
Source
# File lib/ruby_lsp/rubydex/addon.rb, line 147 def run_range_formatting(uri, source, base_indentation); end
@override