Commit graph

1348 commits

Author SHA1 Message Date
Nathaniel Nicandro
1c6a5e4363
jupyter--decode-message-part: Return nil when MSG is nil 2019-01-17 18:59:41 -06:00
Nathaniel Nicandro
9b955398cd
Fix 09ebdac jupyter-org-result (text/plain): Be stricter with usage of `org-babel-script-escape
I guess I should actually run the tests before uploading to github...
2019-01-16 18:50:02 -06:00
Nathaniel Nicandro
4a392fce68
Update Travis for new default build option in emacs-zmq 2019-01-16 17:57:22 -06:00
Nathaniel Nicandro
03c75caf32
jupyter-drop-request (jupyter-org-request): Verify marker 2019-01-16 17:56:32 -06:00
Nathaniel Nicandro
09ebdac3f0
jupyter-org-result (text/plain): Be stricter with usage of org-babel-script-escape 2019-01-16 17:56:08 -06:00
Nathaniel Nicandro
0dd3946e1e
jupyter-inspect: Increase default timeout 2019-01-16 17:54:59 -06:00
Nathaniel Nicandro
5689819fc6
jupyter-eval-string: Handle stderr 2019-01-16 17:54:44 -06:00
Nathaniel Nicandro
8aec6a9f2e
jupyter-org-result: Fix method arguments 2019-01-16 17:53:57 -06:00
Nathaniel Nicandro
bf761b7990
org-babel-jupyter-cleanup-file-links: Another fix for search bound
`org-babel-result-end` assumes that `point` is on the first line of the result
not on the line containing the RESULTS keyword.
2019-01-15 16:05:48 -06:00
Nathaniel Nicandro
51a4d9b2d6
org-babel-jupyter-cleanup-file-links: Fix search bound 2019-01-14 19:00:36 -06:00
Nathaniel Nicandro
4878f6a41e
Don't assume point is in the org-mode buffer 2019-01-13 22:37:54 -06:00
Nathaniel Nicandro
3d6f3234e4
Update README 2019-01-13 22:19:25 -06:00
Nathaniel Nicandro
27c5b34717
Remove redundancy 2019-01-13 22:19:25 -06:00
Nathaniel Nicandro
6b7ecfcf08
Add execution-count slot to a jupyter-kernel-client
This allows the default `jupyter-kernel-client' implementation to do the work
of updating the execution count instead of having subclasses track it.
2019-01-13 22:19:25 -06:00
Nathaniel Nicandro
0c92afea26
Add the jupyter-handle-payload method
This replaces the `jupyter-repl--handle-payload` function and allows payloads
to be handled in other contexts than the REPL, for example inserting a new
source block when receiving a set_next_input payload for the `org-mode` client.
2019-01-13 22:19:25 -06:00
Nathaniel Nicandro
bf057552d8
Promote org-babel-jupyter--cleanup-file-links to a public function 2019-01-13 22:19:25 -06:00
Nathaniel Nicandro
36d2cd32ca
Better dynamic keybindings for Jupyter src-block's 2019-01-13 22:19:25 -06:00
Nathaniel Nicandro
2231eb2378
Add the org-babel-jupyter-transform-code method
This method allows kernel languages to do transformations of a src-block's code
based on the parameters supplied to the src-block before sending the code to
the kernel. The method is called in `org-babel-expand-body:jupyter`. Currently
the only parameter supported is the `:dir` option of a src-block.
2019-01-13 22:05:35 -06:00
Nathaniel Nicandro
30be4a37d3
Be more robust when creating request objects in an org-mode buffer 2019-01-13 22:05:35 -06:00
Nathaniel Nicandro
e2a9d9b645
Support inline Jupyter code blocks 2019-01-13 22:05:35 -06:00
Nathaniel Nicandro
5c004a43a5
Remove stale comments; fix documentation 2019-01-13 22:05:35 -06:00
Nathaniel Nicandro
37b80ddbcd
Fix some typos and formatting issues 2019-01-12 20:57:22 -06:00
Nathaniel Nicandro
05011fa04e
Support images with width and height metadata 2019-01-12 20:38:35 -06:00
Nathaniel Nicandro
1fcbf6ac5b
Delete files of unreachable links from org-babel-jupyter-resource-directory 2019-01-12 20:38:35 -06:00
Nathaniel Nicandro
86ec099379
jupyter-completion-at-point: Inhibit completion when the kernel is busy 2019-01-12 20:27:19 -06:00
Nathaniel Nicandro
2294add50b
Add jupyter-org-interaction-mode
This is a minor mode, enabled in `org-mode` buffers by default, that provides
completion and Jupyter specific keybindings in Jupyter code blocks.

Whenever `point` is inside a Jupyter code block, some of the keybindings
available in `jupyter-repl-interaction-mode` are available directly in the
`org-mode` buffer. Completion is also available from the `org-mode` buffer.
2019-01-12 20:27:19 -06:00
Nathaniel Nicandro
8f1826dabb
jupyter-org--coalesce-stream-results: Loop over list once 2019-01-12 20:21:48 -06:00
Nathaniel Nicandro
86da392a17
Run append image link tests on asynchronous code blocks 2019-01-12 20:21:48 -06:00
Nathaniel Nicandro
cee0db9b2b
Remove unused function 2019-01-11 11:35:48 -06:00
Nathaniel Nicandro
786ff55ff4
Add test for appending multiple file links in org-mode blocks 2019-01-10 23:08:27 -06:00
Nathaniel Nicandro
cabb7e022b
Properly handle org element objects when appending results
Any `org-element` that has a type in `org-element-all-objects` does not have a
newline appended to it when converting to a string representation. This commit
ensures that a newline is added wherever necessary for such elements.

Fixes #8
2019-01-10 23:08:27 -06:00
Nathaniel Nicandro
8e142b32f3
Fix file headers 2019-01-10 23:08:27 -06:00
Nathaniel Nicandro
4c16398448
jupyter-test-ipython-kernel-version: Set the process-environment
Needed to pick up `PYTHONPATH` settings and the like.
2019-01-10 23:08:27 -06:00
Adam B
fc4d2c3487 Cleanup table of keybindings for jupyter-repl-interaction-mode (#7)
Misnamed function and duplicate entry removed. Functions of form
jupyter-repl-eval-* were updated in README to point to new form jupyter-eval-*.
2019-01-10 23:07:00 -06:00
Nathaniel Nicandro
f4eb8fee7c
org-babel-jupyter--after-execute: Remove redundancy
`jupyter-org--append-result` already handles making the right buffer current.
2019-01-08 20:26:31 -06:00
Nathaniel Nicandro
b2368a920c
jupyter-org--clear-request-id: Ensure the correct buffer is current 2019-01-08 20:25:50 -06:00
Nathaniel Nicandro
bbcafd4276
jupyter-insert-markdown: Fontify inline LaTeX 2018-12-28 12:59:03 -06:00
Nathaniel Nicandro
38d6712200
jupyter-eval-string: Include the error name 2018-12-28 12:59:03 -06:00
Nathaniel Nicandro
f5fe8df750
Cleanup of function documentation 2018-12-28 12:59:03 -06:00
Nathaniel Nicandro
5a3b3bde3a
Use font-lock-fontify-region-function in a REPL buffer
Uses the new function `jupyter-repl-font-lock-fontify-region` to fontify a REPL
buffer. This function will only fontify regions corresponding to input cells
and excludes all other regions from fontification. Regions besides input cells
correspond mainly to output from the kernel and use font-lock-face to fontify
their contents.

This allows us to remove the functions and variables related to adding syntax
properties to the output of a cell since these were previously used to avoid
syntactic fontification of the output.
2018-12-28 12:59:03 -06:00
Nathaniel Nicandro
675bfb0a38
jupyter-repl-initialize-fontification: Use regexp-quote 2018-12-20 19:26:25 -06:00
Nathaniel Nicandro
109ee2cce5
jupyter-repl-initialize-fontification: Fix syntax propertize function
Adds `jupyter-repl--syntax-propertize` which generalizes the old
`syntax-propertize-function` to handle regions containing both cell code and
cell output.
2018-12-20 18:58:23 -06:00
Nathaniel Nicandro
80ac63598f
jupyter-org-result: Handle ANSI color codes in text/plain results 2018-12-20 17:15:33 -06:00
Nathaniel Nicandro
03141c6535
jupyter-read-expression: Cleanup variables on minibuffer exit 2018-12-19 21:09:32 -06:00
Nathaniel Nicandro
169b5647e5
jupyter-rep-sync-execution-state: Only update the last cell count 2018-12-19 21:05:12 -06:00
Nathaniel Nicandro
b31c23861e
jupyter-handle-error (:after, python): Inherit text properties
This ensures that the `jupyter-repl-traceback` face is used for the face of the
inserted spaces.
2018-12-19 21:01:35 -06:00
Nathaniel Nicandro
ac2b5ccfbe
jupyter-start-new-kernel: Use default wait time when starting the kernel
`jupyter-start-kernel` defaults to `jupyter-long-timeout` which already
defaults to 10 s.
2018-12-19 20:59:31 -06:00
Nathaniel Nicandro
3debb298e1
jupyter-completion--arg-extract: Handle ; in Julia kernels
This also saves the separator after an argument so that
`jupyter-completion--make-arg-snippet` uses the right separator (either `,` or
`;`)
2018-12-19 20:56:47 -06:00
Nathaniel Nicandro
ee0402ab8e
jupyter-inspect: Ensure jupyter-current-client is valid 2018-12-19 20:55:42 -06:00
Nathaniel Nicandro
8add10db86
jupyter-org--append-result: Fix handling of org-element objects
In particular, file link objects. When an object (in the sense of the
`org-element` API) is inserted by `org-element-interpret-data` it does not
insert a newline since objects are entities that can appear inline with a
paragraph. But for our purposes, we need the newline.

Previously we handled this by wrapping `result` in a list with a newline as the
second element before calling `org-element-interpret-data`, but this interfered
with what `jupyter-org-babel-result-p` (called by
`jupyter-org--wrap-result-maybe`) expected as its argument. With this commit,
the result is never wrapped in a list.
2018-12-19 06:54:41 -06:00