   (cond ((null identifier) (user-error "Nothing under point"))
 
         ((and +lookup-definition-functions
-              (+lookup--jump-to :definition identifier)))
+              (+lookup--jump-to :definition identifier other-window)))
 
         ((error "Couldn't find the definition of '%s'" identifier))))
 

  (cond ((null identifier) (user-error "Nothing under point"))

        ((and +lookup-documentation-functions
              (+lookup--jump-to :documentation identifier)))

        ((user-error "Couldn't find documentation for '%s'" identifier))))


        ((require 'xref nil t)
         (xref-backend-identifier-at-point (xref-find-backend)))))

(defun +lookup--jump-to (prop identifier &optional other-window)
  (cl-loop with origin = (point-marker)
           for fn
           in (plist-get (list :definition +lookup-definition-functions
                               :references +lookup-references-functions
                               :documentation +lookup-documentation-functions
                               :file +lookup-file-functions)
                         prop)
           for cmd = (or (command-remapping fn) fn)
           if (condition-case e
                  (save-window-excursion
                    (when (or (if (commandp cmd)
                                  (call-interactively cmd)
                                (funcall cmd identifier))
                              (/= (point-marker) origin))
                      (point-marker)))
                (error (ignore (message "%s" e))))
           return
           (progn
             (funcall (if other-window
                          #'pop-to-buffer
                        #'pop-to-buffer-same-window)
                      (marker-buffer it))
             (goto-char it))))

(defun +lookup--file-search (identifier)
  (unless identifier
