diff options
author | Vitalie Spinu <spinuvit@gmail.com> | 2017-08-28 16:07:07 +0200 |
---|---|---|
committer | Bozhidar Batsov <bozhidar.batsov@gmail.com> | 2017-09-05 20:37:45 +0300 |
commit | 60556831155b5382aef46939270a93f76cf0708a (patch) | |
tree | a2f23dbc1759bbca6a86949861c80c64873ef5db /cider-repl.el | |
parent | 7a53a92054d12b698790b3ec59af757014522b95 (diff) |
Rely on cider-find-file when locref cannot be resolved by info middleware
Diffstat (limited to 'cider-repl.el')
-rw-r--r-- | cider-repl.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/cider-repl.el b/cider-repl.el index a22e8292..78d02371 100644 --- a/cider-repl.el +++ b/cider-repl.el @@ -1046,10 +1046,13 @@ regexes from `cider-locref-regexp-alist' to infer locations at point." (if-let ((loc (cider-locref-at-point pos))) (let* ((var (plist-get loc :var)) (line (plist-get loc :line)) - (file (if var - (or (cider-sync-request:ns-path var) - (nrepl-dict-get (cider-sync-request:info var) "file")) - (plist-get loc :file)))) + (file (or + ;; retrieve from info middleware + (when var + (or (cider-sync-request:ns-path var) + (nrepl-dict-get (cider-sync-request:info var) "file"))) + ;; when not found, return the file detected by regexp + (plist-get loc :file)))) (if file (cider--jump-to-loc-from-info (nrepl-dict "file" file "line" line)) (error "No source location for %s" var))) |