Commit graph

783 commits

Author SHA1 Message Date
Nathaniel Nicandro
554e519bf0 Avoid delays during message processing
- Allow specifying a msg-id before a call to `jupyter-send`

  - This avoid sending a message to the browser displaying the widgets on every
    message send to the kernel. The previous implementation generated a new ID
    without allowing the caller to pass one in.

- Simplify message polling by sending received messages from the kernel to the
  parent Emacs process at the moment of arrival.
2018-05-28 01:25:09 -05:00
Nathaniel Nicandro
276e2a0668 Support widgets in the REPL 2018-05-28 01:25:09 -05:00
Nathaniel Nicandro
50088df2e0 Add widget support 2018-05-28 01:25:09 -05:00
Nathaniel Nicandro
82c45fc3b9 Add jupyter-message-type-as-keyword 2018-05-28 01:25:09 -05:00
Nathaniel Nicandro
e3c7cce7c2 Add jupyter-message-parent-message-type 2018-05-28 01:25:09 -05:00
Nathaniel Nicandro
c357ee9c00 Avoid unnecessary work, remove improper usage of variable in ob-jupyter
- Do not add callbacks if source code block has no results

- Remove improper use of language argument to `org-babel-insert-result`
2018-05-28 01:25:01 -05:00
Nathaniel Nicandro
49c1f29d15 Better completion support
- Strip extra prefix from completion matches if necessary

  - The python kernel returns matches like foo.bar.baz, but we just want to
    show the baz part as a completion.

- Prevent completion after '.' in floating point numbers

  - Note this may be undesirable since numbers are just objects in many
    languages and thus have methods associated with them.

- Remove unused no-cache and match cases in `company-jupyter-repl`
2018-05-28 00:50:23 -05:00
Nathaniel Nicandro
be6a6b5c4c Call destructor methods in jupyter-repl-kill-buffer-query-function 2018-05-28 00:35:58 -05:00
Nathaniel Nicandro
4edc22832b Override json-encode in jupyter--encode to take into account message types 2018-05-20 11:03:58 -05:00
Nathaniel Nicandro
2f83bfd3ae Use jupyter-message-status-starting-p where appropriate 2018-05-20 11:03:06 -05:00
Nathaniel Nicandro
ccf3633604 Do not rename the connection file after is has been used to start a kernel 2018-05-20 11:02:24 -05:00
Nathaniel Nicandro
704e6d53ce Update documentation 2018-05-20 10:58:13 -05:00
Nathaniel Nicandro
97a5003b9b Update README to take into account recent changes 2018-05-16 22:27:27 -05:00
Nathaniel Nicandro
2d68aefa6e Better wording 2018-05-16 22:20:26 -05:00
Nathaniel Nicandro
ca7ff07a23 Update src blocks in README 2018-05-16 22:02:31 -05:00
Nathaniel Nicandro
b4b2c988b3 Update src blocks in README 2018-05-16 22:01:30 -05:00
Nathaniel Nicandro
cbf8010116 Take into account invisible characters in jupyter-repl-code-context-at-point 2018-05-16 21:54:30 -05:00
Nathaniel Nicandro
3a04fcfe5b Update tests 2018-05-16 21:54:30 -05:00
Nathaniel Nicandro
0cbe7f2114 Rename jupyter-repl-client.el to jupyter-repl.el 2018-05-16 21:54:30 -05:00
Nathaniel Nicandro
39c985d65d Validate jupyter-inhibit-handlers before sending a message 2018-05-16 21:54:30 -05:00
Nathaniel Nicandro
94171eba4a Update documentation 2018-05-16 21:54:29 -05:00
Nathaniel Nicandro
d74a28bc0c Validate the output of jupyter kernelspec list 2018-05-16 21:54:29 -05:00
Nathaniel Nicandro
4dd295cb2c Update README 2018-05-16 21:54:26 -05:00
Nathaniel Nicandro
1841e49b5d Be consistent with message types
Only use the message symbol's as defined in `jupyter-message-types` and switch
to the string representation only when sending a message.
2018-05-16 20:46:10 -05:00
Nathaniel Nicandro
1226c938fe Refactor jupyter-repl-kill-buffer-query-function for readability 2018-05-16 20:46:10 -05:00
Nathaniel Nicandro
8a2468973e Fix wrong order of variable names 2018-05-16 20:46:10 -05:00
Nathaniel Nicandro
3b3fe9c43f jupyter-<type> -> jupyter-send-<type> where appropriate 2018-05-16 12:25:57 -05:00
Nathaniel Nicandro
07ee759f90 Introduce jupyter-tunnel-connection 2018-05-15 23:43:33 -05:00
Nathaniel Nicandro
d93b7d7099 Add jupyter-read-plist 2018-05-15 23:43:32 -05:00
Nathaniel Nicandro
211a6a377b Do not unbind when collecting ports 2018-05-15 23:43:32 -05:00
Nathaniel Nicandro
f2ce9ae70b Tiny changes 2018-05-15 23:43:32 -05:00
Nathaniel Nicandro
c65803448a Introduce jupyter-repl-propagate-client 2018-05-15 23:43:32 -05:00
Nathaniel Nicandro
da222cf5e0 Use :with when setting company-backends 2018-05-15 23:43:25 -05:00
Nathaniel Nicandro
466449ecf4 Fix edge case when getting the code context of an inspect request 2018-05-15 23:43:24 -05:00
Nathaniel Nicandro
f2e8558f3d Fix going backward in REPL history 2018-05-15 23:43:24 -05:00
Nathaniel Nicandro
f8146f5542 Disable undo in a REPL buffer 2018-05-15 23:43:24 -05:00
Nathaniel Nicandro
aa2c818c03 Simplify logic when grabbing prefix for completion 2018-05-15 23:43:24 -05:00
Nathaniel Nicandro
b293747839 Fix variable name issues 2018-05-15 23:43:24 -05:00
Nathaniel Nicandro
ea2736d26f Fix off by one issue 2018-05-15 23:43:24 -05:00
Nathaniel Nicandro
ffb84c5354 Slight refactor of org-babel-execute:jupyter 2018-05-15 16:45:26 -05:00
Nathaniel Nicandro
62e63412de Tiny changes 2018-05-15 16:45:26 -05:00
Nathaniel Nicandro
dfd676edea Update the REPL when the kernel restarts 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
f77e5dc22e Refactor jupyter-repl-construct-completion-candidates 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
c0e4383c49 Add more debug statements 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
b49d138fdb Check that the process is live in jupyter-stop-channels 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
29ccac12d0 Add hearbeat channel convenience methods 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
631e0d9c80 Update tests to take into account changes in ZMQ 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
d0c09808e7 Fix bug in jupyter-repl-client-has-manager-p 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
16f5adcb9b Sync execution state if kernel was previously busy 2018-05-15 16:45:25 -05:00
Nathaniel Nicandro
936bc34c9b Remove xterm-color dependency 2018-05-15 16:45:25 -05:00