Sha256: 5e751fc14734b912b129a4a686e3c67b332c94a2d27e7d6141c6f95e8c90f1a7
Contents?: true
Size: 1.57 KB
Versions: 12
Compression:
Stored size: 1.57 KB
Contents
module Steep module Drivers class Langserver attr_reader :stdout attr_reader :stderr attr_reader :stdin attr_reader :latest_update_version attr_reader :write_mutex attr_reader :type_check_queue attr_reader :type_check_thread include Utils::DriverHelper include Utils::JobsCount TypeCheckRequest = Struct.new(:version, keyword_init: true) def initialize(stdout:, stderr:, stdin:) @stdout = stdout @stderr = stderr @stdin = stdin @write_mutex = Mutex.new @type_check_queue = Queue.new end def writer @writer ||= LanguageServer::Protocol::Transport::Io::Writer.new(stdout) end def reader @reader ||= LanguageServer::Protocol::Transport::Io::Reader.new(stdin) end def project @project or raise "Empty #project" end def run @project = load_config() interaction_worker = Server::WorkerProcess.spawn_worker(:interaction, name: "interaction", steepfile: project.steepfile_path, steep_command: steep_command) typecheck_workers = Server::WorkerProcess.spawn_typecheck_workers(steepfile: project.steepfile_path, args: [], steep_command: steep_command, count: jobs_count) master = Server::Master.new( project: project, reader: reader, writer: writer, interaction_worker: interaction_worker, typecheck_workers: typecheck_workers ) master.typecheck_automatically = true master.start() 0 end end end end
Version data entries
12 entries across 12 versions & 1 rubygems