Commit graph

1552 commits

Author SHA1 Message Date
Nathaniel Nicandro
c0c8ac7fae
jupyter-start-kernel: Error if no valid kernelspec could be found 2019-03-22 20:10:22 -05:00
Nathaniel Nicandro
ca64ff75c5
jupyter-start-kernel: Cleanup resources on a kernel restart
When a kernel restarts, `jupyter-start-kernel` will overwrite the slots
corresponding to external resources of the old, shutdown, kernel, like the
connection file. Ensure resources are cleaned up before overwriting those
slots.
2019-03-22 20:10:22 -05:00
Nathaniel Nicandro
7ea17ae492
Refactor heartbeat channel
Mainly variable re-naming and in preparation for adding in auto-restart
support.

* `jupyter-hb-consider-dead-periods` -> `jupyter-hb-max-failures`

  * Also convert to a customizable variable

* `kernel-died-cb` -> `dead-cb`
2019-03-22 20:10:22 -05:00
Dan
8004ca188f guard against nil connection file in jupyter-kernel-manager--cleanup (#67) 2019-03-22 18:25:22 -05:00
Nathaniel Nicandro
7fec895c03 Before export, remove ANSI escapes from source block results 2019-03-20 21:08:53 -05:00
Nathaniel Nicandro
3f3db53527 Handle ANSI escape sequences in org-mode src-block results 2019-03-20 21:08:53 -05:00
Nathaniel Nicandro
efeae99131 Add jupyter-ansi-color-apply-on-region 2019-03-20 21:08:53 -05:00
Nathaniel Nicandro
0e8e10babb
jupyter-repl-initialize-fontification: Protect against nil font-lock-defaults 2019-03-20 21:05:46 -05:00
Nathaniel Nicandro
0499e187d0
jupyter-org--define-key-filter: Filter out keys when point is invisible 2019-03-19 13:21:55 -05:00
Nathaniel Nicandro
4ef27c274c
jupyter-tunnel-connection: Consider /docker: TRAMP method
For this case, no tunnels actually need to be created since docker can expose
ports using the -p flag to `docker run`. This is assumed here. A complete
example to start a kernel in a docker container using one of the official
Jupyter docker images is below:

docker pull jupyter/base-notebook
docker run --name test -it --rm -p 56406-56410:56406-56410 \
    jupyter/base-notebook start.sh jupyter-kernel \
       --ip=0.0.0.0 \
       --KernelManager.control_port=56406 \
       --KernelManager.hb_port=56407 \
       --KernelManager.iopub_port=56408 \
       --KernelManager.shell_port=56409 \
       --KernelManager.stdin_port=56410
2019-03-19 00:44:30 -05:00
Nathaniel Nicandro
33bae1762d
org-babel-execute:jupyter: Remove export sync hook before waiting 2019-03-18 10:41:44 -05:00
Nathaniel Nicandro
c010d83696
jupyter-repl-initialize-fontification: Don't fail if functions aren't present 2019-03-17 20:31:25 -05:00
Nathaniel Nicandro
e299a3b3eb
jupyter-code-context (completion): Only consider the deepest nested parenthesis level
This is a better default when considering kernels like Clojupyter.
2019-03-17 20:31:25 -05:00
Nathaniel Nicandro
ffb53244ce jupyter-completion--company-idle-begin: Shorter delay 2019-03-17 02:07:00 -05:00
Nathaniel Nicandro
3b6b60d803 jupyter-org-insert-async-id -> jupyter-org-pending-async-results 2019-03-17 02:06:00 -05:00
Nathaniel Nicandro
cdc826259e jupyter-with-timeout: Don't spin wait so much
`accept-process-output` will return when any output has been read from a
process (after it has been handled by the process filter function) which is
usually the time when we want to check on the wait condition so there is no
need to have such a low time resolution.
2019-03-17 02:05:00 -05:00
Nathaniel Nicandro
c0d13396bb org-babel-execute:jupyter: Make all blocks synchronous during export 2019-03-17 02:04:00 -05:00
Nathaniel Nicandro
129f53f7a8 Add org-babel-jupyter-language-p 2019-03-17 02:03:00 -05:00
Nathaniel Nicandro
3f489d3883 jupyter-org-with-src-block-client: Clarify when BODY is evaluated 2019-03-17 02:02:00 -05:00
Nathaniel Nicandro
5e1e30630b jupyter-handle-message: Properly handle :shutdown-reply
A shutdown-reply message received by a request implies that no other messages
will be received for that request since the kernel will shutdown. Also set
`jupyter-request-idle-received-p` to `t` in such cases.
2019-03-17 02:01:00 -05:00
Nathaniel Nicandro
08d974f4db jupyter-requests-pending-p: Fix issues and add test
* Use `hash-table-count`

* Fix the check on determining how many pending requests there are
2019-03-17 02:00:00 -05:00
Nathaniel Nicandro
3f55bb0def jupyter-test-with-kernel-client: Consider a shutdown kernel 2019-03-17 01:59:00 -05:00
Nathaniel Nicandro
89ab86ca18
jupyter-eval-string: Don't message error when traceback is being shown 2019-03-16 16:34:18 -05:00
Nathaniel Nicandro
52253f4f84
README.org: Add note about Emacs module support 2019-03-16 14:39:28 -05:00
Nathaniel Nicandro
3adf0dc336
Add TODO on supporting ":results link" in org-mode source blocks 2019-03-15 14:41:22 -05:00
Nathaniel Nicandro
e4110ae81b
org-babel-execute:jupyter: Also remove file params in synchronous blocks
See #59.
2019-03-15 14:41:22 -05:00
Nathaniel Nicandro
40624d8930
Simplify quieting of message logging during source block evaluation 2019-03-15 12:53:15 -05:00
Nathaniel Nicandro
26f191a44b
Fix latex fragment toggling 2019-03-15 00:51:47 -05:00
Nathaniel Nicandro
173ec1cfaa
org-babel-jupyter-transform-code (julia): Really fix issues with the :dir argument 2019-03-14 20:04:11 -05:00
Nathaniel Nicandro
4f168bfc47 jupyter-handle-message: Always handle a startup message 2019-03-14 19:57:00 -05:00
Nathaniel Nicandro
1cc29e2ba0 Add jupyter-requests-pending-p 2019-03-14 19:56:00 -05:00
Nathaniel Nicandro
83af335166
Bump version 2019-03-14 09:29:11 -05:00
Nathaniel Nicandro
7e0470c129
Fix indentation 2019-03-14 09:29:11 -05:00
Nathaniel Nicandro
f28d4a5400
Avoid recursive require when loading ob-jupyter
This can happen, e.g. when loading jupyter-org-client.el directly from source
since `org-element` requires `org`.
2019-03-14 09:29:11 -05:00
Nathaniel Nicandro
6a81470be9
jupyter-eval-short-result-display-function: Don't fail when result has '%' characters 2019-03-14 09:16:44 -05:00
Nathaniel Nicandro
662e983612
Don't require subr-x at runtime 2019-03-14 09:16:44 -05:00
Nathaniel Nicandro
139949528c
jupyter-org-jump-to-block: Consider nil context 2019-03-14 02:33:03 -05:00
Nathaniel Nicandro
75648917cb
jupyter-org-select-block-and-results -> jupyter-org-src-block-bounds 2019-03-14 02:28:30 -05:00
Nathaniel Nicandro
23481e1d51
Add jupyter-org-inspect-src-block 2019-03-14 02:28:25 -05:00
UndeadKernel
d065b2f25c Port scimax's source block helper functions (#45)
* 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
2019-03-14 02:26:30 -05:00
Nathaniel Nicandro
6eb86f0a52
README.org: Fix confusing wording 2019-03-13 18:24:37 -05:00
Nathaniel Nicandro
744e27e945
jupyter-eval-string: Don't inhibit :input-request handler
See #35.
2019-03-12 18:35:44 -05:00
Nathaniel Nicandro
8f304e5b66
README.org: Add note about ob-async integration 2019-03-12 17:53:14 -05:00
Nathaniel Nicandro
60670a6a35
org-babel-jupyter-transform-code (julia): Use let block in :dir expression 2019-03-12 15:13:36 -05:00
Nathaniel Nicandro
247a96fb95
org-babel-jupyter-transform-code (julia): Don't wrap :dir expression in function
Allows top level expressions like `using Plots` to work. Fixes #57.
2019-03-12 14:29:24 -05:00
Nathaniel Nicandro
98e4bd29d2
README.org: Add note about language support files 2019-03-12 14:28:46 -05:00
Nathaniel Nicandro
4f8e5da4ba
Ensure the REPL buffer is current when inserting banner 2019-03-10 04:39:43 -05:00
Nathaniel Nicandro
49d43b690e
jupyter-repl.el: Update commentary 2019-03-10 03:06:16 -05:00
Nathaniel Nicandro
0cfb156a7e
jupyter-org--wrappable-element-p: Consider error comments wrappable 2019-03-10 03:06:16 -05:00
Nathaniel Nicandro
fbbef48bee
jupyter-completion-at-point: Handle edge case
Some kernels (e.g. IPython) do not send a `:complete-reply` when the
`:complete-request` is empty, handle this case.
2019-03-07 23:16:37 -06:00