Commit graph

783 commits

Author SHA1 Message Date
Nathaniel Nicandro
255247788c Remove uses of seq functions
Since this is an emacs 25 dependency and there were not many uses of these
functions, remove them.
2018-02-09 09:11:57 -06:00
Nathaniel Nicandro
5f72b85db3 Refactor jupyter-repl-code-context-at-point for readability
Also remove unused code
2018-02-09 03:16:50 -06:00
Nathaniel Nicandro
58f1135262 Add a way to transform kernel results based on kernel language
For example for python kernels, we would like to convert results to tables if
they look like a table.
2018-02-08 14:15:27 -06:00
Nathaniel Nicandro
a2decc7baf Selectively inhibit REPL handlers when executing a Jupyter src-block
This allows the REPL client to preserve the execution state of the kernel
while `org-babel-execute:jupyter` takes care of all of the output generated by
the kernel without having to preserve the state of the REPL.
2018-02-08 13:44:40 -06:00
Nathaniel Nicandro
b5f958ac99 More granular way of inhibiting handlers
`jupyter-inhibit-handlers` can now be a list of message types. If a message is
received and has one of these message types, then the client handler
corresponding to that message type is prevented from running.
2018-02-08 13:39:55 -06:00
Nathaniel Nicandro
4121cee1ba Use jupyter-repl-cell-code-beginning-position when getting position in cell code 2018-02-08 12:49:17 -06:00
Nathaniel Nicandro
d1e008e6d1 Fix edge case in history navigation
When the cell code initially does not contain a history element and you would
like to navigate backward in history, the previous behavior did not take into
account the N argument of `jupyter-repl-history-previous` in this case.

The new behavior does.
2018-02-08 12:29:08 -06:00
Nathaniel Nicandro
ff51ee8740 Remove the busy status of a cell when an idle message is received 2018-02-08 12:14:35 -06:00
Nathaniel Nicandro
e032285f9a [WIP] Make ob-jupyter unaware of the REPL buffer
Try not to modify the REPL buffer in any way from `ob-jupyter` except for
inserting a code cell.
2018-02-07 17:28:33 -06:00
Nathaniel Nicandro
dc7c1e00e8 More generic extraction of image data from html image 2018-02-07 17:26:25 -06:00
Nathaniel Nicandro
83881bf4e0 Ensure the startup message is caught
Setup the necessary hooks before starting the kernel so that we can ensure that
the startup message is caught.

A short delay is also added whenever we start a channel. This was necessary for
the client to catch the startup message of a python kernel.
2018-02-07 12:08:07 -06:00
Nathaniel Nicandro
48c07e1f04 Do nothing when there is no render parameter when clearing/injecting one 2018-02-06 17:46:47 -06:00
Nathaniel Nicandro
5f902e1593 Remove unused code 2018-02-06 17:46:07 -06:00
Nathaniel Nicandro
a28952c643 Silence byte compiler 2018-02-06 17:45:53 -06:00
Nathaniel Nicandro
2a602246de Revert back to correct behavior 2018-02-06 17:45:12 -06:00
Nathaniel Nicandro
85efbf9c04 Refactor org-babel-jupyter-prepare-result
- Return the correct result when HTML contains only image data
  - Still need to handle all possible cases of the data URL scheme
- Add `org-babel-jupyter--image-result`
2018-02-06 16:49:48 -06:00
Nathaniel Nicandro
072dce7c00 Negligible changes 2018-02-04 18:22:56 -06:00
Nathaniel Nicandro
43fc5a6ab8 Remove superfluous newlines when executing code 2018-02-04 18:21:12 -06:00
Nathaniel Nicandro
731480a4dd Don't add a newline in stream output 2018-02-04 18:20:11 -06:00
Nathaniel Nicandro
f466b3adcc [WIP] Better support for display-data messages 2018-02-04 18:19:08 -06:00
Nathaniel Nicandro
8d7e0a3bd7 Update comments 2018-02-04 18:18:19 -06:00
Nathaniel Nicandro
90dd699a7a Update comments 2018-02-04 18:15:32 -06:00
Nathaniel Nicandro
2cb665e744 Check if the ioloop process is live in jupyter-channel-alive-p for async channels 2018-02-04 18:10:32 -06:00
Nathaniel Nicandro
e6d9fcbf5a Add kernel-died-cb for heartbeat channels
This is a callback function which is called when no response has been received
from the kernel after 5 `time-to-dead` periods.
2018-02-04 18:08:05 -06:00
Nathaniel Nicandro
a94c6cc4c6 Remove redundancy in org-babel-execute:jupyter 2018-02-04 18:06:55 -06:00
Nathaniel Nicandro
ca6c2ae37a Simplify wording of jupyter-add-callback documentation 2018-02-04 18:06:11 -06:00
Nathaniel Nicandro
8784b9fcc3 Update comments and documentation 2018-02-04 17:58:11 -06:00
Nathaniel Nicandro
09ef799535 Use jupyter-inhibit-handlers 2018-02-04 17:57:18 -06:00
Nathaniel Nicandro
4a0cff991d Add jupyter-ioloop-wait-until to wait for events from ioloop subprocess 2018-02-04 17:55:47 -06:00
Nathaniel Nicandro
2ffbf74149 Flush stdout after sending all messages in ioloop subprocess 2018-02-04 17:44:27 -06:00
Nathaniel Nicandro
fe323cf623 Properly stop channels in ioloop subprocess 2018-02-04 17:43:59 -06:00
Nathaniel Nicandro
290f3a2d96 Block until channel is alive in jupyter-start-channel for async channels 2018-02-04 17:43:20 -06:00
Nathaniel Nicandro
b72713b00c Remove the special behavior when dropping requests 2018-02-04 17:41:48 -06:00
Nathaniel Nicandro
74ccc47a6e Get the kernel language from the kernel-info slot of a jupyter-kernel-client 2018-02-04 17:41:13 -06:00
Nathaniel Nicandro
c6d78872cb Refactor the injection of render parameters when inserting results 2018-02-04 17:40:01 -06:00
Nathaniel Nicandro
84cf20c863 Simplify adding results 2018-02-04 17:38:24 -06:00
Nathaniel Nicandro
0dec139a3a Simplify synchronous output in org-babel-execute:jupyter 2018-02-04 17:36:29 -06:00
Nathaniel Nicandro
9fa2d34ec5 Add org-babel-jupyter-aliases-from-kernelspecs 2018-02-04 17:35:34 -06:00
Nathaniel Nicandro
7bc3021302 Unset require-final-newline when writing image files 2018-02-04 00:01:02 -06:00
Nathaniel Nicandro
1a4739fa19 Save the match data when searching html results 2018-02-03 23:48:42 -06:00
Nathaniel Nicandro
b680aee309 Set the default header args for Jupyter src block aliases 2018-02-03 23:48:14 -06:00
Nathaniel Nicandro
d15ba28956 Remove the need for the src block info in org-babel-execute:jupyter 2018-02-03 23:47:18 -06:00
Nathaniel Nicandro
f804f6fbfd Remove the need to pass the src block info to org-babel-jupyter-insert-results 2018-02-03 23:34:31 -06:00
Nathaniel Nicandro
562d6643e4 Remove the need for passing the src block info to orb-babel-jupyter-prepare-result 2018-02-03 23:31:10 -06:00
Nathaniel Nicandro
dae244f146 Fix mispelled word 2018-02-03 21:51:01 -06:00
Nathaniel Nicandro
84cc6d1b12 Add jupyter-repl-connected-p 2018-02-03 21:49:46 -06:00
Nathaniel Nicandro
aff2a6e925 Heavily refactor org-babel integration
- Externalize some of the functions implemented within the body of
  `org-babel-execute:jupyter`

- Use the `:status` callback to finalize the collected results

- Handle the `:display-data` messages
2018-02-03 21:14:53 -06:00
Nathaniel Nicandro
8d2272e75b Change group of ob-jupyter to org-babel 2018-02-03 21:10:21 -06:00
Nathaniel Nicandro
db485268c8 Simplify jupyter-repl-cell-line-p 2018-02-03 20:59:57 -06:00
Nathaniel Nicandro
265b6b874b Document jupyter-session and jupyter-request 2018-02-03 19:25:50 -06:00