class TypeProf::LSP::Writer

Public Class Methods

new(io) click to toggle source
# File typeprof-0.30.1/lib/typeprof/lsp/server.rb, line 190
def initialize(io)
  @io = io
  @mutex = Mutex.new
end

Public Instance Methods

write(**json) click to toggle source
# File typeprof-0.30.1/lib/typeprof/lsp/server.rb, line 195
def write(**json)
  json = JSON.generate(json.merge(jsonrpc: "2.0"))
  @mutex.synchronize do
    @io << "Content-Length: #{ json.bytesize }\r\n\r\n" << json
    @io.flush
  end
end