Nathaniel Nicandro
13b92d7d33
Remove jupyter-repl-filter-substring
...
This was previously used to remove invisible characters from the cell input due
to invisible characters previously added by continuation prompts. These
characters are no longer inserted so there is no need for this function. Also,
there are situations where invisible characters should still be a part of the
cell code, for example when hiding the REPL mode character for the Julia
kernel.
2018-10-25 23:17:28 -05:00
Nathaniel Nicandro
cab40bf692
Change REPL prompt modifications
...
* Add `jupyter-repl-prompt-string` to get the text of the current REPL prompt
* Allow `jupyter-repl-cell-prompt` to be given a face to use for the prompt
string
* Only mark and unmark a cell prompt as busy, if the current cell prompt looks
like it can be marked or unmarked, i.e. is the standard input prompt
These changes are in preparation for emulating REPL modes that some languages
implement such as Julia, which updates the prompt to indicate which mode it is
in.
2018-10-25 23:17:28 -05:00
Nathaniel Nicandro
15268c59ca
Ensure that parse-sexp-lookup-properties
is non-nil in REPL buffers
...
This is so that output that inserts string delimiters does not mess up font
lock in the REPL cell code.
2018-10-25 23:17:28 -05:00
Nathaniel Nicandro
60510453b3
Define variables as buffer local instead of using setq-local
2018-10-25 23:17:28 -05:00
Nathaniel Nicandro
66c3fc4eb7
jupyter-repl-ret: Don't block the status handler while waiting for an is-complete-reply
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
5395d4d44a
Rename connect-jupyter-repl
-> jupyter-connect-repl
, run-jupyter-repl
-> jupyter-run-repl
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
842c920760
Be more robust when checking the jupyter-lang
method specializer
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
67e8844e31
jupyter-completion-prefix: Include \ in completion prefix for Julia kernels
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
4c6fee45b9
jupyter-completion-at-point: Check for a non-nil `jupyter-current-client' later
...
Since, as a hack, the `jupyter-org-client' sets the `jupyter-current-client'
based on the source code block at `point' in its `jupyter-completion-prefix`
function, check for it after calling `jupyter-completion-prefix`.
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
5a4e50266c
Move defvar
to top-level
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
52f32f7c6a
Update jupyter-channels
tests for changes in zmq
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
e02bed9a50
Add jupyter-hb-consider-dead-periods
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
56477b2eae
jupyter-client.el: Add jupyter-startup-timeout
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
43c34ddffc
jupyter-handle-input-request: Do not display the prompt and value
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
288fb17ece
Update comments
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
0807fd7b83
jupyter-repl-associate-buffer: Fix interactive spec
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
673747dc03
Add kill-emacs-hook
functions for cleaning up clients and managers
...
If `kill-emacs` is called while the kernel process or client channel processes
are still alive, the process sentinels do not run and thus the cleanup of the
clients and managers does not happen. Thus we need to explicitly do this
cleanup when `kill-emacs` is called.
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
7b68acbe69
Small refactoring to REPL evaluation functions
...
* Ensure that a REPL result is displayed correctly if it contains format
specifiers in `jupyter-repl-eval-string`
* Use `jupyter-with-message-data` in `jupyter-repl-eval-line-or-region` and
ensure that ANSI color codes are not shown when displaying results.
* Add a `C-x C-e` binding to `jupyter-repl-interaction-map`
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
477b1ceeb1
ob-jupyter.el: Ensure that macros are available when compiling
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
d2d0452c82
org-babel-jupyter-initiate-session-by-key: Take into account changes to run-jupyter-repl
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
8247714cb5
jupyter-repl-associate-buffer: Verify the client after ensuring its a client
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
09951544ed
jupyter-completion-grab-symbol-cons: Handle edge case
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
c66ff6e943
Enable font-lock-mode
in the company-doc-buffer
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
c3690eb2ea
Use accept-process-output
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
6d48406eb5
jupyter-repl-client: Fix class hierarchy
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
c1248442f6
jupyter-repl-interaction-map: A more convenient jupyter-inspect-at-point
binding
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
5505bc2532
Add jupyter-repl-eval-defun
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
a7023078cc
jupyter-code-context: Update documentation
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
4f53240e24
Use the default jupyter-code-context' for
jupyter-repl-mode` buffers
...
Previously an invisible character would be added in the
buffer to prevent the margin from inheriting any text
properties but this is unneeded since the default margin
does not contain any text that can inherit the properties.
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
c51d3b3a6c
jupyter-start-kernel: Remove ANSI color codes in process output
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
6d3b326124
jupyter-shutdown-kernel: Fix wording of documentation
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
c7ec4613be
jupyter-repl-insert-banner: Use font-lock-fontified
to avoid syntactic fontification
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
e06e61e9fd
jupyter-messages.el: Small documentation changes
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
799c9ea2aa
jupyter-repl-eval-string: Add stream and error handlers
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
3bfa393596
jupyter-repl-eval-string: Allow a custom callback when evaluating results
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
f6698d8bc1
Add convenience macro jupyter-repl-with-output-buffer
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
948fa6adfc
Rename jupyter-with-doc-buffer
to jupyter-repl-with-doc-buffer
...
Also rename `jupyter-get-doc-buffer` to `jupyter-repl-get-special-buffer`
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
e43c6597ad
Add convenience macros for working with messages
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
4374d9dd2c
jupyter-repl-eval-string: Don't store history when evaluating silently
...
We still want to display the results so we can't pass the
silent key to the kernel.
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
56a90717a1
Add jupyter-repl-display-traceback
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
ed8603f845
jupyter-completion-prefix: Remove type specifier
...
This is not needed and it seems to create issues when the
method is called without arguments.
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
6dc9f0cc89
run-jupyter-repl, connect-jupyter-repl: Allow specifying a new REPL name with a prefix argument
2018-10-25 23:17:27 -05:00
Nathaniel Nicandro
f0c5f002c4
jupyter-repl-propagate-client: Propagate clients regardless of the current-buffer
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
4a7e95eb18
jupyter-repl-available-repl-buffers: Refactor
...
Also give an option to return the first found REPL buffer
that can be used for a major mode.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
6c836bd3d8
jupyter-completion-symbol-beginning: Allow operator completions
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
7d824f4915
Add new :input-request
message type
...
This replaces the behavior of the `:input-reply` message
type. A kernel sends an `:input-request` to the frontend
and the client sends an `:input-reply`.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
84fce2cd08
Silence byte compiler about undefined variables
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
e4b820d07c
jupyter-repl-eval-string: Pass the silent argument to jupyter-send-execute-request
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
0afa562a5e
jupyter-repl-insert-html: Remove javascript tags
...
`shr` does not handle javascript so there is no point in
keeping it. It also slows down `libxml-parse-html-region`.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
03769a9b01
Don't test for certain html tags
2018-10-25 23:17:26 -05:00