Nathaniel Nicandro
c00357d43a
Add jupyter-repl-insert-markdown
2018-01-12 18:39:45 -06:00
Nathaniel Nicandro
a517712e78
Fix insertion of html output
2018-01-12 18:39:27 -06:00
Nathaniel Nicandro
ae0943daa0
Introduce jupyter-repl-add-font-lock-properties
...
This function adds the necessary text properties to text inserted in a REPL
buffer.
2018-01-12 18:34:10 -06:00
Nathaniel Nicandro
dc7f13306c
Cache fontification buffers
2018-01-12 18:28:23 -06:00
Nathaniel Nicandro
a5d188e32f
Move jupyter-wait-until-startup
to jupyter-kernel-manager.el
...
Also make `jupyter-wait-until-startup` private by renaming to
`jupyter--wait-until-startup`. Startup messages are only sent once at kernel
startup, since the only way to start a kernel is through a
`jupyter-kernel-manager` it makes more sense to only allow a kernel manager to
wait for a startup message.
2018-01-12 18:14:04 -06:00
Nathaniel Nicandro
1760d4942b
Remove unused variable
2018-01-12 18:10:11 -06:00
Nathaniel Nicandro
ce9321be09
Add timeout when starting a kernel
2018-01-12 18:09:30 -06:00
Nathaniel Nicandro
7d516f2126
No need for apply-partially
2018-01-12 18:07:39 -06:00
Nathaniel Nicandro
6b5742e4cf
Introduce message hook variables for received messages
...
The `jupyter-<channel>-message-hook` variables (where <channel> is one of
`shell`, `stdin`, or `iopub`) are run as the first step when calling the
`jupyter-handle-message` methods for a channel. The hooks take a single
argument, the message which was received on the channel.
Adding a function to `jupyter-iopub-message-hook` in combination with setting
`jupyter-include-other-output` to t eliminate the need for
`jupyter-missing-request` which was a way to add callbacks for messages which
did not have a parent header. Namely the status: starting message.
2018-01-12 18:07:02 -06:00
Nathaniel Nicandro
eae62a50af
Remove cl
requirement
...
It was previously only used for `lexical-let`, but the file now sets
`lexical-binding` to t.
2018-01-12 17:51:31 -06:00
Nathaniel Nicandro
1a81182112
Add missing group definition
2018-01-12 17:51:16 -06:00
Nathaniel Nicandro
5f8717981b
Add jupyter-include-other-output
2018-01-12 17:50:24 -06:00
Nathaniel Nicandro
10f8115b8e
Add with-jupyter-client-buffer
, jupyter-set
, jupyter-get
...
Use a client's IOLoop subprocess buffer as a way to store variables local to a
client
2018-01-12 17:49:22 -06:00
Nathaniel Nicandro
8ac8d2de15
Update doc strings
2018-01-12 17:43:55 -06:00
Nathaniel Nicandro
15583eab19
Refactor of jupyter--ioloop-pop-request
2018-01-12 17:42:53 -06:00
Nathaniel Nicandro
12b11e421b
Cleanup comments in jupyter-kernel-client
shell handler method
2018-01-12 17:41:53 -06:00
Nathaniel Nicandro
3385498cab
Handle the case when a kernel does not respond to an is_complete_request
2018-01-11 12:26:31 -06:00
Nathaniel Nicandro
af82c55b1c
Introduce jupyter-wait-until-startup
2018-01-11 12:14:35 -06:00
Nathaniel Nicandro
c86ab40514
Fix no method found error in jupyter-shutdown-kernel
2018-01-11 12:13:33 -06:00
Nathaniel Nicandro
53f7f3be36
Use setq-local
instead of defvar-local
2018-01-11 12:12:52 -06:00
Nathaniel Nicandro
8f774120c9
Better handling of when to remove requests from a client's request table
...
For each message received in response to a request, record the
`last-message-time` of any received messages for a request. When a request's
`idle-received-p` field is non-nil and the `last-message-time` is larger than
some number of seconds, remove the request from the request table.
2018-01-11 12:06:26 -06:00
Nathaniel Nicandro
62691611e4
Add jupyter--ioloop-collect-messages
to simplify jupyter--ioloop
even more
2018-01-11 12:04:42 -06:00
Nathaniel Nicandro
b9f83a60d6
Allow passing an id
to the jupyter-session
constructor
2018-01-11 12:03:32 -06:00
Nathaniel Nicandro
85b3dc3167
Refactor REPL buffer initialization
2018-01-11 03:28:04 -06:00
Nathaniel Nicandro
46b70e85d0
Refactor jupyter-initialize-connection
...
- Use `ignore-errors` around `jupyter-connection` slots since they can be
inherited by the `parent-instance`. Note that checking if the slot is
available does not also check if the slots availability in the
`parent-instance`
- Set `addr` where it is used, namely in `cl-loop`
2018-01-11 00:26:03 -06:00
Nathaniel Nicandro
34b0d45078
Use quoted lists
2018-01-11 00:25:08 -06:00
Nathaniel Nicandro
56e5f047bd
car
instead of caar
in jupyter--ioloop-queue-message
...
`elem` is a list not a list of lists
2018-01-11 00:22:19 -06:00
Nathaniel Nicandro
f705dc96fe
Indentation
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
ef6b72f1b7
Proper cleanup of all buffers associated with a REPL
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
bcc1677ec0
Update doc of jupyter-repl-initialize-fontification
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
5d9244b17b
Rename jupyter--encode-object
-> jupyter--encode
, jupyter-decode-string ->
jupyter--decode`
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
ec1d9073a1
Fix use of argument in jupyter-repl-insert-latex
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
f3951ee9af
Fix debug message
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
839e5d855a
[WIP] Add ability to stop channels initially in jupyter-start-channels
...
Also add TODO about channel methods
2018-01-09 00:44:35 -06:00
Nathaniel Nicandro
a9f2bac2c8
Better logic on when to send queued messages in an ioloop subprocess
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
7a1a7871d3
jupyter-start-new-kernel
already unpauses the heartbeat channel
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
b198a02f45
Add note about how `jupyter-channel's are used in a client
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
912a367190
Error out when no ioloop process is present in jupyter-send
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
c358e37b23
Add missing initform
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
047968c4e9
Refactor jupyter-start-channel
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
a7539dc37b
Fix checkdoc warnings
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
c7dee4aa55
Simplify kernel shutdown and interruptions in a kernel manager
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
d44d9d0c64
Actually set the kernel process of a manager when starting the kernel
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
14e02c95bf
Handle {resource_dir} when starting kernel
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
9ba6ad331e
Remove uses of lexical-let
2018-01-09 00:44:34 -06:00
Nathaniel Nicandro
326ff15d92
Add standard header comments
2018-01-09 00:44:33 -06:00
Nathaniel Nicandro
ebd616998e
Add/update lots of documentation
2018-01-09 00:44:33 -06:00
Nathaniel Nicandro
85fe15ae4c
Only unfinalized cells can have their code replaced
...
Don't set `inhibit-read-only` to t when replacing cell code. This prevents one
from replacing the cell code of a finalized cell.
2018-01-09 00:44:33 -06:00
Nathaniel Nicandro
6178a53638
Refactor jupyter-start-new-kernel
to use jupyter-missing-request
2018-01-09 00:44:33 -06:00
Nathaniel Nicandro
7e36ea1101
Add jupyter-missing-request
...
This is a function which should be called on a `jupyter-kernel-client` and it
returns a request object which can be used to add callbacks to messages that
have no parent message such as the status: startup message sent be a kernel.
2018-01-09 00:44:33 -06:00