try for clojure and clojurescript stacktraces

This commit is contained in:
John Bintz 2016-01-22 11:18:47 -05:00
parent 2bab337396
commit a9f4b53155
1 changed files with 2 additions and 1 deletions

View File

@ -192,7 +192,8 @@ function! s:extract_last_stacktrace(nrepl, session) abort
return map(stacktrace, 'v:val.class.".".v:val.method."(".v:val.file.":".v:val.line.")"') return map(stacktrace, 'v:val.class.".".v:val.method."(".v:val.file.":".v:val.line.")"')
endif endif
endif endif
let format_st = '(symbol (str "\n\b" (apply str (interleave (repeat "\n") (map str (.getStackTrace *e)))) "\n\b\n"))' let try_for_stacktrace = '(map #(str % "\n") (try (.getStackTrace *e) (catch :default je (try (aget *e "stack") (catch :default jse [])) [])))'
let format_st = '(symbol (str "\n\b" (apply str '.try_for_stacktrace.') "\n\b\n"))'
let response = a:nrepl.process({'op': 'eval', 'code': '['.format_st.' *3 *2 *1]', 'ns': 'user', 'session': a:session}) let response = a:nrepl.process({'op': 'eval', 'code': '['.format_st.' *3 *2 *1]', 'ns': 'user', 'session': a:session})
try try
let stacktrace = split(get(split(response.value[0], "\n\b\n"), 1, ""), "\n") let stacktrace = split(get(split(response.value[0], "\n\b\n"), 1, ""), "\n")