* 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
Changing `major-mode`s would kill the local `jupyter-current-client` variable
which we don't want to happen. There is no reason (that I can think of) to
change the `major-mode' in a REPL buffer anyways.
This avoids situations where a paragraph or headline context is deleted
whenever there is no whitespace after the #+RESULTS line and the element after
the #+RESULTS keyword is not a valid result.
This handles an edge case where `field-end` would return the position at the
beginning of a cell even though there was text that was part of the cell code
after that position. The issue had to do with the interaction between the
sticky text properties at field boundaries. See #38.
For Pkg mode, help mode, and shell command mode just add the corresponding
prompt as part of the REPL cell itself (as an overlay of the mode character)
instead of overriding the REPL input prompt. Fixes#39.
Whenever a prompt string exceeds `jupyter-repl-prompt-margin-width`, increase
`jupyter-repl-prompt-margin-width` so that is can accommodate the string and
redisplay all prompts.