Sha256: 640b9de8d9bd8d409fe9a50b1466d4fcd8f8e329675061cc232b5fb72c70c0a4
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 KB
Contents
module Steep module Drivers class Validate attr_reader :stdout attr_reader :stderr include Utils::DriverHelper def initialize(stdout:, stderr:) @stdout = stdout @stderr = stderr end def run project = load_config() loader = Project::FileLoader.new(project: project) loader.load_signatures() type_check(project) project.targets.each do |target| Steep.logger.tagged "target=#{target.name}" do case (status = target.status) when Project::Target::SignatureErrorStatus formatter = Diagnostic::LSPFormatter.new diagnostics = status.errors.group_by {|e| e.location.buffer }.transform_values do |errors| errors.map {|error| formatter.format(error) } end diagnostics.each do |buffer, ds| printer = DiagnosticPrinter.new(stdout: stdout, buffer: buffer) ds.each do |d| printer.print(d) stdout.puts end end end end end project.targets.all? {|target| target.status.is_a?(Project::Target::TypeCheckStatus) } ? 0 : 1 end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
steep-0.41.0 | lib/steep/drivers/validate.rb |
steep-0.40.0 | lib/steep/drivers/validate.rb |