* jupyter-org-extensions.el (jupyter-org-closest-jupyter-language)
(jupyter-org-between-block-end-and-result-p):
(jupyter-org-next-busy-src-block):
(jupyter-org-move-src-block): Do it.
* jupyter-org-extensions.el (jupyter-org-next-busy-src-block)
(jupyter-org-previous-busy-src-block): Do it.
(jupyter-org-hydra/body): Add N and P bindings.
* jupyter-org-extensions.el (jupyter-org-interrupt-kernel): Do it.
(jupyter-org-hydra/body): Add i binding.
* jupyter-repl.el (jupyter-repl-interrupt-kernel): Clarify error message.
When `point` is between a src-block and its result with only whitespace
separating the end of a src-block and the beginning of its results, insert a
new src-block after the result.
Fixes#137
* jupyter-base.el (jupyter-kernelspec): Un-require.
(jupyter-command, jupyter-locate-python)
(jupyter-runtime-directory): Move to new file `jupyter-env.el`
(jupyter-include-other-output, jupyter-iopub-message-hook)
(jupyter-shell-message-hook)
(jupyter-stdin-message-hook): Move to `jupyter-client.el`
(jupyter-sha256, jupyter-hmac-sha256):
(jupytern-new-uuid): Move to `jupyter-messages.el`. Add declaration of
`jupyter-new-uuid` to account for its removal.
(jupyter-create-connection-info)
(jupyter-write-connection-file): Move to `jupyter-kernel-manager.el`
(jupyter-connect-endpoint, jupyter-connect-channel): Move to `jupyter-channels.el`
* jupyter-channels.el: Accept moved functions.
* jupyter-client.el: Accept moved variables.
* jupyter-kernel-manager.el: Accept moved functions.
(jupyter-env, jupyter-kernelspec): New requires.
* jupyter-kernelspec (jupyter-env): New require.
(jupyter-command): Remove declaration.
(jupyter-read-plist-from-string): New declaration.
* jupyter-messages.el: Accept moved functions.
(hmac-def, json): New requires.
* jupyter-org-extensions.el (jupyter-kernelspec): New require.
* jupyter-repl.el (jupyter-kernelspec): New require.
* jupyter-env.el: New file.
* ob-jupyter.el (jupyter-env, jupyter-kernelspec): New requires.
* test/jupyter-test.el (jupyter-env): New require.
`avy-with` is a macro that might not be defined at compile time, but at the
same time we do not want to depend on `avy` so we have to ensure that we only
do byte compilation when first loading the function at run time.
* Port scimax's org facility functions
We provide a hydra to easily use the functions.
By default, the binding to call the hydra is `C-c h`
The hydra is only created if the hydra package is loaded.
* Move org extensions to its own file.
* Integrate revision comments
* Replaced manual placement of src blocks with
`org-element-interpret-data`
* Refactor some functions
* Add a hydra to `jupyter-org-interaction-mode-map`
Only actually define the Hydra if the package `hydra` exists.
* Refactor org extension functions.
* org-extensions: refactor and cleanup
* Remove compiler warnings
* Change condition-case for ignore-errors
* Functions that restart the kernel now work
* Use ivy and avy functions only if package exists
* org-extensions: change hydra bindings
* Match the hydra bindings better to emacs conventions
* org-extensions: improvements and code refactoring
* add where external functions should be found
* take into account empty RESULTS when moving blocks
* org-extensions: use context variable for jumping
* org-extensions: improve jumping to block function
* Set a default variable to specify how many lines of context to show
* Consider the case when a user supplies the nil value