Commit graph

1347 commits

Author SHA1 Message Date
Nathaniel Nicandro
3f3db53527 Handle ANSI escape sequences in org-mode src-block results 2019-03-20 21:08:53 -05:00
Nathaniel Nicandro
efeae99131 Add jupyter-ansi-color-apply-on-region 2019-03-20 21:08:53 -05:00
Nathaniel Nicandro
0e8e10babb
jupyter-repl-initialize-fontification: Protect against nil font-lock-defaults 2019-03-20 21:05:46 -05:00
Nathaniel Nicandro
0499e187d0
jupyter-org--define-key-filter: Filter out keys when point is invisible 2019-03-19 13:21:55 -05:00
Nathaniel Nicandro
4ef27c274c
jupyter-tunnel-connection: Consider /docker: TRAMP method
For this case, no tunnels actually need to be created since docker can expose
ports using the -p flag to `docker run`. This is assumed here. A complete
example to start a kernel in a docker container using one of the official
Jupyter docker images is below:

docker pull jupyter/base-notebook
docker run --name test -it --rm -p 56406-56410:56406-56410 \
    jupyter/base-notebook start.sh jupyter-kernel \
       --ip=0.0.0.0 \
       --KernelManager.control_port=56406 \
       --KernelManager.hb_port=56407 \
       --KernelManager.iopub_port=56408 \
       --KernelManager.shell_port=56409 \
       --KernelManager.stdin_port=56410
2019-03-19 00:44:30 -05:00
Nathaniel Nicandro
33bae1762d
org-babel-execute:jupyter: Remove export sync hook before waiting 2019-03-18 10:41:44 -05:00
Nathaniel Nicandro
c010d83696
jupyter-repl-initialize-fontification: Don't fail if functions aren't present 2019-03-17 20:31:25 -05:00
Nathaniel Nicandro
e299a3b3eb
jupyter-code-context (completion): Only consider the deepest nested parenthesis level
This is a better default when considering kernels like Clojupyter.
2019-03-17 20:31:25 -05:00
Nathaniel Nicandro
ffb53244ce jupyter-completion--company-idle-begin: Shorter delay 2019-03-17 02:07:00 -05:00
Nathaniel Nicandro
3b6b60d803 jupyter-org-insert-async-id -> jupyter-org-pending-async-results 2019-03-17 02:06:00 -05:00
Nathaniel Nicandro
cdc826259e jupyter-with-timeout: Don't spin wait so much
`accept-process-output` will return when any output has been read from a
process (after it has been handled by the process filter function) which is
usually the time when we want to check on the wait condition so there is no
need to have such a low time resolution.
2019-03-17 02:05:00 -05:00
Nathaniel Nicandro
c0d13396bb org-babel-execute:jupyter: Make all blocks synchronous during export 2019-03-17 02:04:00 -05:00
Nathaniel Nicandro
129f53f7a8 Add org-babel-jupyter-language-p 2019-03-17 02:03:00 -05:00
Nathaniel Nicandro
3f489d3883 jupyter-org-with-src-block-client: Clarify when BODY is evaluated 2019-03-17 02:02:00 -05:00
Nathaniel Nicandro
5e1e30630b jupyter-handle-message: Properly handle :shutdown-reply
A shutdown-reply message received by a request implies that no other messages
will be received for that request since the kernel will shutdown. Also set
`jupyter-request-idle-received-p` to `t` in such cases.
2019-03-17 02:01:00 -05:00
Nathaniel Nicandro
08d974f4db jupyter-requests-pending-p: Fix issues and add test
* Use `hash-table-count`

* Fix the check on determining how many pending requests there are
2019-03-17 02:00:00 -05:00
Nathaniel Nicandro
3f55bb0def jupyter-test-with-kernel-client: Consider a shutdown kernel 2019-03-17 01:59:00 -05:00
Nathaniel Nicandro
89ab86ca18
jupyter-eval-string: Don't message error when traceback is being shown 2019-03-16 16:34:18 -05:00
Nathaniel Nicandro
52253f4f84
README.org: Add note about Emacs module support 2019-03-16 14:39:28 -05:00
Nathaniel Nicandro
3adf0dc336
Add TODO on supporting ":results link" in org-mode source blocks 2019-03-15 14:41:22 -05:00
Nathaniel Nicandro
e4110ae81b
org-babel-execute:jupyter: Also remove file params in synchronous blocks
See #59.
2019-03-15 14:41:22 -05:00
Nathaniel Nicandro
40624d8930
Simplify quieting of message logging during source block evaluation 2019-03-15 12:53:15 -05:00
Nathaniel Nicandro
26f191a44b
Fix latex fragment toggling 2019-03-15 00:51:47 -05:00
Nathaniel Nicandro
173ec1cfaa
org-babel-jupyter-transform-code (julia): Really fix issues with the :dir argument 2019-03-14 20:04:11 -05:00
Nathaniel Nicandro
4f168bfc47 jupyter-handle-message: Always handle a startup message 2019-03-14 19:57:00 -05:00
Nathaniel Nicandro
1cc29e2ba0 Add jupyter-requests-pending-p 2019-03-14 19:56:00 -05:00
Nathaniel Nicandro
83af335166
Bump version 2019-03-14 09:29:11 -05:00
Nathaniel Nicandro
7e0470c129
Fix indentation 2019-03-14 09:29:11 -05:00
Nathaniel Nicandro
f28d4a5400
Avoid recursive require when loading ob-jupyter
This can happen, e.g. when loading jupyter-org-client.el directly from source
since `org-element` requires `org`.
2019-03-14 09:29:11 -05:00
Nathaniel Nicandro
6a81470be9
jupyter-eval-short-result-display-function: Don't fail when result has '%' characters 2019-03-14 09:16:44 -05:00
Nathaniel Nicandro
662e983612
Don't require subr-x at runtime 2019-03-14 09:16:44 -05:00
Nathaniel Nicandro
139949528c
jupyter-org-jump-to-block: Consider nil context 2019-03-14 02:33:03 -05:00
Nathaniel Nicandro
75648917cb
jupyter-org-select-block-and-results -> jupyter-org-src-block-bounds 2019-03-14 02:28:30 -05:00
Nathaniel Nicandro
23481e1d51
Add jupyter-org-inspect-src-block 2019-03-14 02:28:25 -05:00
UndeadKernel
d065b2f25c Port scimax's source block helper functions (#45)
* Port scimax's org facility functions

We provide a hydra to easily use the functions.
By default, the binding to call the hydra is `C-c h`
The hydra is only created if the hydra package is loaded.

* Move org extensions to its own file.

* Integrate revision comments

* Replaced manual placement of src blocks with
`org-element-interpret-data`
* Refactor some functions

* Add a hydra to `jupyter-org-interaction-mode-map`

Only actually define the Hydra if the package `hydra` exists.

* Refactor org extension functions.

* org-extensions: refactor and cleanup

* Remove compiler warnings
* Change condition-case for ignore-errors
* Functions that restart the kernel now work
* Use ivy and avy functions only if package exists

* org-extensions: change hydra bindings

* Match the hydra bindings better to emacs conventions

* org-extensions: improvements and code refactoring

* add where external functions should be found
* take into account empty RESULTS when moving blocks

* org-extensions: use context variable for jumping

* org-extensions: improve jumping to block function

* Set a default variable to specify how many lines of context to show
* Consider the case when a user supplies the nil value
2019-03-14 02:26:30 -05:00
Nathaniel Nicandro
6eb86f0a52
README.org: Fix confusing wording 2019-03-13 18:24:37 -05:00
Nathaniel Nicandro
744e27e945
jupyter-eval-string: Don't inhibit :input-request handler
See #35.
2019-03-12 18:35:44 -05:00
Nathaniel Nicandro
8f304e5b66
README.org: Add note about ob-async integration 2019-03-12 17:53:14 -05:00
Nathaniel Nicandro
60670a6a35
org-babel-jupyter-transform-code (julia): Use let block in :dir expression 2019-03-12 15:13:36 -05:00
Nathaniel Nicandro
247a96fb95
org-babel-jupyter-transform-code (julia): Don't wrap :dir expression in function
Allows top level expressions like `using Plots` to work. Fixes #57.
2019-03-12 14:29:24 -05:00
Nathaniel Nicandro
98e4bd29d2
README.org: Add note about language support files 2019-03-12 14:28:46 -05:00
Nathaniel Nicandro
4f8e5da4ba
Ensure the REPL buffer is current when inserting banner 2019-03-10 04:39:43 -05:00
Nathaniel Nicandro
49d43b690e
jupyter-repl.el: Update commentary 2019-03-10 03:06:16 -05:00
Nathaniel Nicandro
0cfb156a7e
jupyter-org--wrappable-element-p: Consider error comments wrappable 2019-03-10 03:06:16 -05:00
Nathaniel Nicandro
fbbef48bee
jupyter-completion-at-point: Handle edge case
Some kernels (e.g. IPython) do not send a `:complete-reply` when the
`:complete-request` is empty, handle this case.
2019-03-07 23:16:37 -06:00
Nathaniel Nicandro
6894a73d57
Cleanup stale comments 2019-03-07 22:51:25 -06:00
Nathaniel Nicandro
dd0feef022
jupyter-repl-mode: Prevent a major-mode change
Changing `major-mode`s would kill the local `jupyter-current-client` variable
which we don't want to happen. There is no reason (that I can think of) to
change the `major-mode' in a REPL buffer anyways.
2019-03-07 22:51:25 -06:00
Nathaniel Nicandro
581aab10b6
jupyter-kernel-language: Change return value to be a symbol
This avoids interning a string for every method dispatch using the
jupyter-lang method specializer.
2019-03-07 22:51:25 -06:00
Nathaniel Nicandro
9c94cee8a2
jupyter-ioloop-handler: Simplify debug printing 2019-03-07 22:44:52 -06:00
Nathaniel Nicandro
4d247595bb
jupyter-insert-html: Don't use proportional fonts
Closes #52.
2019-03-06 11:16:54 -06:00