Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add jupyter-describe function for interactive inspect #238

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

non-Jedi
Copy link
Contributor

@non-Jedi non-Jedi commented Apr 3, 2020

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. :)

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
Copy link
Contributor Author

@non-Jedi non-Jedi Apr 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be using completing-read. Any idea why it was written this way instead?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor Author

@non-Jedi non-Jedi Apr 5, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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. :/

jupyter-client.el Outdated Show resolved Hide resolved
Co-Authored-By: Nathaniel Nicandro <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Interactive jupyter-inspect with prompt
2 participants