Sha256: 87c05e39cf7d9f48710dafcc2fb525d3ccacb834d8bad19351dc9859eb3153b9
Contents?: true
Size: 1.84 KB
Versions: 26
Compression:
Stored size: 1.84 KB
Contents
module Steep module Drivers class Worker attr_reader :stdout, :stderr, :stdin attr_accessor :steepfile_path attr_accessor :worker_type attr_accessor :worker_name attr_accessor :delay_shutdown attr_accessor :max_index attr_accessor :index attr_accessor :commandline_args include Utils::DriverHelper def initialize(stdout:, stderr:, stdin:) @stdout = stdout @stderr = stderr @stdin = stdin @commandline_args = [] end def run() Steep.logger.tagged("#{worker_type}:#{worker_name}") do project = load_config() reader = LanguageServer::Protocol::Transport::Io::Reader.new(stdin) writer = LanguageServer::Protocol::Transport::Io::Writer.new(stdout) worker = case worker_type when :typecheck assignment = Services::PathAssignment.new(max_index: max_index, index: index) Server::TypeCheckWorker.new(project: project, reader: reader, writer: writer, assignment: assignment, commandline_args: commandline_args) when :interaction Server::InteractionWorker.new(project: project, reader: reader, writer: writer) else raise "Unknown worker type: #{worker_type}" end unless delay_shutdown worker.skip_jobs_after_shutdown! end Steep.logger.info "Starting #{worker_type} worker..." worker.run() rescue Interrupt Steep.logger.info "Shutting down by interrupt..." end 0 end end end end
Version data entries
26 entries across 26 versions & 1 rubygems