In Files

  • typeprof-0.21.1/lib/typeprof/lsp.rb

Parent

Methods

Class/Module Index [+]

Quicksearch

TypeProf::LSP::Reader

Public Class Methods

new(io) click to toggle source
 
               # File typeprof-0.21.1/lib/typeprof/lsp.rb, line 778
def initialize(io)
  @io = io
end
            

Public Instance Methods

read() click to toggle source
 
               # File typeprof-0.21.1/lib/typeprof/lsp.rb, line 782
def read
  while line = @io.gets
    line2 = @io.gets
    if line =~ /\AContent-length: (\d+)\r\n\z/i && line2 == "\r\n"
      len = $1.to_i
      json = JSON.parse(@io.read(len), symbolize_names: true)
      yield json
    else
      raise ProtocolError, "LSP broken header"
    end
  end
end