some more bugs in epc fixed - removed try

This commit is contained in:
Simon Hafner 2015-05-02 08:24:05 +05:00
commit b500907978

View file

@ -83,7 +83,9 @@ proc sexp(s: Suggest): SexpNode =
]) ])
proc sexp(s: seq[Suggest]): SexpNode = proc sexp(s: seq[Suggest]): SexpNode =
result = sexp(s) result = newSList()
for sug in s:
result.add(sexp(sug))
proc listEPC(): SexpNode = proc listEPC(): SexpNode =
let let
@ -126,11 +128,13 @@ proc executeEPC(cmd: IdeCmd, args: SexpNode) =
file = args[0].getStr file = args[0].getStr
line = args[1].getNum line = args[1].getNum
column = args[2].getNum column = args[2].getNum
var dirtyfile = ""
if len(args) > 3:
dirtyfile = args[3].getStr(nil) dirtyfile = args[3].getStr(nil)
execute(cmd, file, dirtyfile, int(line), int(column)) execute(cmd, file, dirtyfile, int(line), int(column))
proc returnEPC(socket: var Socket, uid: string, s: SexpNode, return_symbol = "return") = proc returnEPC(socket: var Socket, uid: BiggestInt, s: SexpNode, return_symbol = "return") =
let response = $convertSexp([newSSymbol(return_symbol), [uid, s]]) let response = $convertSexp([newSSymbol(return_symbol), uid, s])
socket.send(toHex(len(response), 6)) socket.send(toHex(len(response), 6))
socket.send(response) socket.send(response)
@ -237,15 +241,16 @@ proc serve() =
let let
message = parseSexp($messageBuffer) message = parseSexp($messageBuffer)
messageType = message[0].getSymbol messageType = message[0].getSymbol
try: echo("received message: " & $message)
case messageType: case messageType:
of "call": of "call":
var results: seq[Suggest] = @[] var results: seq[Suggest] = @[]
suggest.suggestionResultHook = proc (s: Suggest) = suggest.suggestionResultHook = proc (s: Suggest) =
echo(s)
results.add(s) results.add(s)
let let
uid = message[1].getStr uid = message[1].getNum
cmd = parseIdeCmd(message[2].getStr) cmd = parseIdeCmd(message[2].getStr)
args = message[3] args = message[3]
executeEPC(cmd, args) executeEPC(cmd, args)
@ -258,11 +263,9 @@ proc serve() =
stderr.writeln("recieved epc error: " & $messageBuffer) stderr.writeln("recieved epc error: " & $messageBuffer)
raise newException(IOError, "epc error") raise newException(IOError, "epc error")
of "methods": of "methods":
returnEPC(client, message[1].getStr, listEPC()) returnEPC(client, message[1].getNum, listEPC())
else: else:
raise newException(EUnexpectedCommand, "unexpected call: " & messageType) raise newException(EUnexpectedCommand, "unexpected call: " & messageType)
except:
returnEPC(client, message[1].getStr, sexp(getCurrentException().getStackTrace()), "return-error")
proc mainCommand = proc mainCommand =
registerPass verbosePass registerPass verbosePass