Skip to content

Commit

Permalink
racket-pdb-mode doc and describe: Support zero-width items
Browse files Browse the repository at this point in the history
  • Loading branch information
greghendershott committed Apr 25, 2023
1 parent 69f2bae commit 22d4e5a
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions racket-pdb.el
Original file line number Diff line number Diff line change
Expand Up @@ -551,24 +551,32 @@ Uses pdb to query for sites among multiple files."
(interactive "P")
(if (equal prefix '(16))
(racket-describe-search)
(pcase (racket--symbol-at-point-or-prompt prefix "Describe: "
racket--xp-binding-completions)
((and (pred stringp) str)
(let* ((path (racket--buffer-file-name))
(how (pcase (racket--cmd/await nil `(pdb-doc-link ,path ,(point)))
(`(,path . ,anchor) `(,path . ,anchor))
(_ path))))
(racket--do-describe how nil str))))))
(let ((path (racket--buffer-file-name)))
(if (equal prefix '(4))
(if-let (str (racket--symbol-at-point-or-prompt
t
"Describe: "
racket--xp-binding-completions))
(racket--do-describe path nil str)
(message "No documentation available"))
(racket--cmd/async nil `(pdb-doc-link ,path ,(point))
(lambda (path+anchor)
(if path+anchor
(racket--do-describe path+anchor nil "")
(message "No documentation available"))))))))

(defun racket-pdb-documentation (&optional prefix)
"See documentation for similar command `racket-xp-documentation'."
(interactive "P")
(let ((path (racket--buffer-file-name)))
(pcase (racket--cmd/await nil `(pdb-doc-link ,path ,(point)))
((and `(,path . ,anchor) (guard (not prefix)))
(racket-browse-file-url path anchor))
(_
(racket--doc prefix path racket--xp-binding-completions)))))
(if prefix
(racket--doc prefix path racket--xp-binding-completions)
(racket--cmd/async nil `(pdb-doc-link ,path ,(point))
(lambda (path+anchor)
(if path+anchor
(racket-browse-file-url (car path+anchor)
(cdr path+anchor))
(message "No documentation available")))))))

;;; Next/previous use

Expand Down

0 comments on commit 22d4e5a

Please sign in to comment.