Sha256: b7f160ba4a24a63a11d509e12ed7927f7ed021fd904de1c34df0ac24250bc668
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 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) typecheck_workers = Server::WorkerProcess.spawn_typecheck_workers(steepfile: project.steepfile_path, args: [], count: jobs_count) master = Server::Master.new( project: project, reader: reader, writer: writer, interaction_worker: interaction_worker, typecheck_workers: typecheck_workers ) master.start() 0 end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
steep-0.42.0 | lib/steep/drivers/langserver.rb |