From fd8d623b7b8085356a0d26f21b07a43e22321a84 Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Tue, 15 Jan 2013 20:45:44 -0500 Subject: [PATCH] Catch one line stack traces References #38. --- autoload/nrepl/foreplay_connection.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/autoload/nrepl/foreplay_connection.vim b/autoload/nrepl/foreplay_connection.vim index 7b4d7e6..a580714 100644 --- a/autoload/nrepl/foreplay_connection.vim +++ b/autoload/nrepl/foreplay_connection.vim @@ -129,8 +129,8 @@ function! s:nrepl_process(payload) dict abort if index(combined[key], response[key]) < 0 call extend(combined[key], [response[key]]) endif - elseif key ==# 'out' && response.out =~# '^.*(.*:\d\+)\t.*)$' - let combined.stacktrace = split(response.out, "\t") + elseif key ==# 'out' && response.out =~# '^\b.*(.*)$' + let combined.stacktrace = split(response.out, "\b") elseif type(response[key]) == type('') let combined[key] = get(combined, key, '') . response[key] else @@ -146,7 +146,7 @@ endfunction function! s:nrepl_eval(expr, ...) dict abort let payload = {"op": "eval"} - let payload.code = '(try (eval ''(do '.a:expr."\n".')) (catch Exception e (print (apply str (interpose "\t" (map str (.getStackTrace e))))) (throw e)))' + let payload.code = '(try (eval ''(do '.a:expr."\n".')) (catch Exception e (print (apply str (interleave (repeat "\b") (map str (.getStackTrace e))))) (throw e)))' let options = a:0 ? a:1 : {} if has_key(options, 'ns') let payload.ns = options.ns