forked from aniani/vim
patch 7.4.1373
Problem: Calling a Vim function over a channel requires turning the arguments into a string. Solution: Add the "call" command. (Damien) Also merge "expr" and "eval" into one.
This commit is contained in:
@@ -78,26 +78,26 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||
response = "ok"
|
||||
elif decoded[1] == 'eval-works':
|
||||
# Send an eval request. We ignore the response.
|
||||
cmd = '["eval","\\"foo\\" . 123", -1]'
|
||||
cmd = '["expr","\\"foo\\" . 123", -1]'
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = "ok"
|
||||
elif decoded[1] == 'eval-fails':
|
||||
# Send an eval request that will fail.
|
||||
cmd = '["eval","xxx", -2]'
|
||||
cmd = '["expr","xxx", -2]'
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = "ok"
|
||||
elif decoded[1] == 'eval-error':
|
||||
# Send an eval request that works but the result can't
|
||||
# be encoded.
|
||||
cmd = '["eval","function(\\"tr\\")", -3]'
|
||||
cmd = '["expr","function(\\"tr\\")", -3]'
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = "ok"
|
||||
elif decoded[1] == 'eval-bad':
|
||||
# Send an eval request missing the third argument.
|
||||
cmd = '["eval","xxx"]'
|
||||
cmd = '["expr","xxx"]'
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = "ok"
|
||||
@@ -107,6 +107,11 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = "ok"
|
||||
elif decoded[1] == 'call-func':
|
||||
cmd = '["call","MyFunction",[1,2,3], 0]'
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = "ok"
|
||||
elif decoded[1] == 'redraw':
|
||||
cmd = '["redraw",""]'
|
||||
print("sending: {}".format(cmd))
|
||||
@@ -135,6 +140,9 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||
print("sending: {}".format(cmd))
|
||||
self.request.sendall(cmd.encode('utf-8'))
|
||||
response = ""
|
||||
elif decoded[1] == 'wait a bit':
|
||||
time.sleep(0.2)
|
||||
response = "waited"
|
||||
elif decoded[1] == '!quit!':
|
||||
# we're done
|
||||
self.server.shutdown()
|
||||
|
Reference in New Issue
Block a user