Add jupyter-describe function for interactive inspect#238
Add jupyter-describe function for interactive inspect#238non-Jedi wants to merge 2 commits intoemacs-jupyter:masterfrom
Conversation
jupyter-describe implements an interface (with completion) similar to emacs builtin describe-function for interacting with jupyter kernels. Closes emacs-jupyter#199
| (minibuffer-with-setup-hook | ||
| (lambda () | ||
| (setq jupyter-current-client client) | ||
| (add-hook 'completion-at-point-functions |
There was a problem hiding this comment.
This should probably be using completing-read. Any idea why it was written this way instead?
There was a problem hiding this comment.
I copied it over from read--expression called by eval-expression (M-:). My intention with jupyter-read-expression is to parallel read--expression. Also completing-read is more for completing collections right? jupyter-read-expression is supposed to read a line of code for evaluation from the minibuffer while also allowing completion from the kernel within the line.
Although the documentation for jupyter-read-expression does say for completion instead of something more approriate like for evalution so its purpose isn't that clear.
There was a problem hiding this comment.
Hm. That makes sense. So for this new purpose I'm putting this code to, using completing-read probably makes more sense, but it doesn't make sense in the context of jupyter-read-expression which is likely to complete multiple symbols. I think this is an acceptable hack though until I finish a completing-read based implementation (I started to do so over at non-Jedi@72b84b8, and it's probably only an hour or so more work on my part to finish, but with 2 young children in the house, I have no idea when I'll have time to finish)?
There was a problem hiding this comment.
In either case, I think it probably makes more sense to just refactor jupyter-read-expression to take optional parameters rather than define an internal jupyter--read-with-completion. :/
Co-Authored-By: Nathaniel Nicandro <[email protected]>
jupyter-describe implements an interface (with completion) similar to
emacs builtin describe-function for interacting with jupyter kernels.
Closes #199
This was actually easier than I expected, so kudos for the sane architecture. :)