Commit graph

638 commits

Author SHA1 Message Date
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
Nathaniel Nicandro
78174f4334 Use the execute-reply callback to check for errors
This seems to be the more general way to check for errors.
2018-02-03 19:06:09 -06:00
Nathaniel Nicandro
b2d8dfc2a7 Add documentation 2018-02-03 19:06:09 -06:00
Nathaniel Nicandro
ab3debe0e6 Add key-binding to call jupyter-repl-eval-file 2018-01-22 19:54:26 -06:00
Nathaniel Nicandro
a0d8b25846 Fix number of characters to look for in looking-back 2018-01-22 19:53:50 -06:00
Nathaniel Nicandro
47395455e5 Allow completion with other backends 2018-01-22 19:53:29 -06:00
Nathaniel Nicandro
d150ffdde9 Fix mispelled function name 2018-01-22 19:52:56 -06:00
Nathaniel Nicandro
edca6b7835 Set jupyter-repl-current-client to a proper value before jupyter-repl--inspect 2018-01-22 19:47:53 -06:00
Nathaniel Nicandro
ee2877df71 Use put-text-property instead of add-text-properties 2018-01-22 19:46:10 -06:00
Nathaniel Nicandro
6ad52c0ad8 Take into account changes in jupyter-shutdown-request 2018-01-22 19:43:57 -06:00
Nathaniel Nicandro
af3b343356 Add function declarations 2018-01-22 19:42:36 -06:00
Nathaniel Nicandro
963b7a72da Update jupyter-repl-mode to use jupyter-repl-kernel-language-mode-properties 2018-01-22 19:41:47 -06:00
Nathaniel Nicandro
c80b62bdc6 Raise an error when the current-buffer' has no REPL client in jupyter-repl-pop-to-buffer` 2018-01-22 19:41:01 -06:00
Nathaniel Nicandro
ee69147b72 Only handle execute-result messages originating from us 2018-01-22 19:37:25 -06:00
Nathaniel Nicandro
ac9d4ee6f8 Check mimetypes in an order of decreasing richness 2018-01-22 19:35:52 -06:00
Nathaniel Nicandro
4a482a7e5a Fix mispelled variable name 2018-01-22 19:35:23 -06:00
Nathaniel Nicandro
df419df989 Use jupyter-repl-without-continuation-prompts in jupyter-repl-insert-prompt 2018-01-22 19:34:28 -06:00
Nathaniel Nicandro
a0f654ee8a Fix missing parentheses 2018-01-22 19:33:31 -06:00
Nathaniel Nicandro
c2e4c80df6 Add jupyter-repl-display-other-output
This displays output from IOPub messages originating from other clients
2018-01-22 19:32:27 -06:00
Nathaniel Nicandro
2542f819fb Kill the buffer local value of jupyter-repl-current-client when disabling juptyer-repl-interaction-mode 2018-01-22 19:30:14 -06:00
Nathaniel Nicandro
436b904572 Rename jupyter-repl-kernel-mode-info to jupyter-repl-kernel-language-mode-properties
Also require that the language info be passed instead of the full kernel info
2018-01-22 19:28:50 -06:00
Nathaniel Nicandro
dbd9ee48c1 Check current-buffer in jupyter-repl-same-lang-mode-p 2018-01-22 19:27:28 -06:00
Nathaniel Nicandro
19d2261494 Change semantics of a prefix argument in run-jupyter-repl 2018-01-22 19:26:18 -06:00
Nathaniel Nicandro
9ad1f516c3 Add connect-jupyter-repl to connect to an existing kernel. 2018-01-22 19:25:41 -06:00
Nathaniel Nicandro
db3a73d48f Various insignificant changes 2018-01-22 19:24:26 -06:00
Nathaniel Nicandro
5365052273 Be consistent about method arguments for request methods
Specifically always use keywords
2018-01-22 19:22:22 -06:00
Nathaniel Nicandro
341214f5a9 Add documentation 2018-01-22 19:21:44 -06:00
Nathaniel Nicandro
066cc4efc0 Silence checkdoc warnings 2018-01-22 19:12:47 -06:00