Commit graph

665 commits

Author SHA1 Message Date
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
Nathaniel Nicandro
05c7f73e8f Update README 2018-02-03 19:25:29 -06:00
Nathaniel Nicandro
91da143fb1 Simplify making jupyter-request objects when sending a message 2018-02-03 19:16:16 -06:00
Nathaniel Nicandro
80509f275c Only allow stdin messages when the stdin channel is alive 2018-02-03 19:15:28 -06:00
Nathaniel Nicandro
019309efcd Cleanup indentation 2018-02-03 19:14:24 -06:00
Nathaniel Nicandro
95a5cfbd74 Add jupyter--get-channel 2018-02-03 19:10:30 -06:00
Nathaniel Nicandro
aa054178b7 Refactor jupyter-start-new-kernel 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
8627c4892a Fix mispelled variable name 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
91be45df3a Add declare spec for client handlers 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
43a59ba74d Update channel implementation
- Distinguish between an asynchronous channel and a synchronous one

  - `jupyter-async-channel` :: Messages are sent and received through an ioloop
                               subprocess that the channel has access to. The
                               subprocess uses the `jupyter-sync-channel` for
                               sending and receiving messages.

  - `jupyter-sync-channel` :: Messages are sent and received through a
                               `zmq-socket` in the current Emacs session.

  - Define `jupyter-send` and `jupyter-recv` methods for channels.

  - Update `jupyter-kernel-client` and ioloop interfaces to take into account
    changes with channels.
2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
c2c62329cb Take into account a narrowed buffer 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
14276c74f9 Don't let bind jupyter-repl-current-client
This gets rid of a warning when locally setting a let binded variable
2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
d77f17be8f Remove the rest of the uses of jupyter-repl-same-lang-mode 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
82f0701a94 Be clearer when starting a kernel interactively or non-interactively in run-jupyter-repl 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
0504bf36e0 Update documentation and comments 2018-02-03 19:06:10 -06:00
Nathaniel Nicandro
d9f99de7bb Change ob-jupyter to specific language aliases instead of checking the kernel argument 2018-02-03 19:06:09 -06:00
Nathaniel Nicandro
a55079f5fd Add ob-jupyter.el 2018-02-03 19:06:09 -06:00
Nathaniel Nicandro
778a97aa2f Externalize payload handling to jupyter-repl--handle-payload 2018-02-03 19:06:09 -06:00
Nathaniel Nicandro
57353c0f86 Silence checkdoc warnings 2018-02-03 19:06:09 -06:00