ruby 修复了SublimeRepl以使其与jruby一起使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 修复了SublimeRepl以使其与jruby一起使用相关的知识,希望对你有一定的参考价值。
require 'rubygems'
gem 'pry'
require 'pry'
require 'socket'
require 'thread'
require 'json'
include Socket::Constants
class PryInput
def readline(prompt)
$stdout.print prompt
$stdout.flush
$stdin.readline
end
end
class PryOutput
def puts(data="")
$stdout.puts(data.gsub('`', "'"))
$stdout.flush
end
end
Pry.config.input = PryInput.new()
Pry.config.output = PryOutput.new()
Pry.config.color = false
Pry.config.editor = ARGV[0]
Pry.config.auto_indent = false
Pry.config.correct_indent = false
port = ENV["SUBLIMEREPL_AC_PORT"].to_i
socket = TCPSocket.new('127.0.0.1', port)
completer = Pry::InputCompleter.build_completion_proc(binding)
def read_netstring(s)
size = 0
while true
ch = s.recvfrom(1)[0]
if ch == ':'
break
end
size = size * 10 + ch.to_i
end
msg = ""
while size > 0
msg += s.recvfrom(size)[0]
size -= msg.length
end
#ch = s.recvfrom(1)[0]
return msg
end
# Thread.abort_on_exception = true
t1 = Thread.new do
while true
data = read_netstring(socket)
req = JSON.parse(data)
line = req["line"]
completions = completer.call(req["line"])
response = [line, completions]
response_msg = JSON.dump(response)
payload = response_msg.length.to_s + ":" + response_msg + ","
socket.write(payload)
end
end
Pry.start # self
以上是关于ruby 修复了SublimeRepl以使其与jruby一起使用的主要内容,如果未能解决你的问题,请参考以下文章
使用 CSS 包含自定义字体以使其与最大浏览器兼容的最佳方法是啥?
如何使用 Spring Security 实现登录页面以使其与 Spring Web 流一起使用?
如何重新采样 DataFrame 以使其与另一个 DataFrame 正确对齐?
设置啥 CursorAdapter(Context context, Cursor c, int flags) 以使其与 CursorLoader 一起工作?
xmpp-connection (spring integration) 的正确参数是啥,以使其与 google gcm 一起使用?
如何安装 Finder Sync Extension 以使其与 Finder 持久集成?