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
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
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
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
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
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
c7ec4613be
jupyter-repl-insert-banner: Use font-lock-fontified
to avoid syntactic fontification
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
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
Nathaniel Nicandro
1705c48167
Add jupyter-repl-persistent-mode
...
Instead of advising `switch-to-buffer` whenever
`jupyter-repl` is required, introduce the global minor mode
which attempts to handle all different scenarios where you
would like to propagate the `jupyter-current-client` to
another buffer or keep `jupyter-repl-interaction-mode`
enabled.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
29ede2f44a
jupyter-repl-interaction-mode: Handle buffer reverts
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
f81d77c4d2
jupyter-repl-propagate-client: Add as before advice instead of around
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
3734b2d3a4
jupyter-repl-associate-buffer: Fix interactive argument
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
ac053e16d4
jupyter-repl-scratch-buffer: Create a scratch buffer for every unique client
...
Also insert a message when creating a buffer to give hints
on keybindings.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
5276193502
Add jupyter-repl-interaction-mode
bindings
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
c7eaed8f95
Add jupyter-repl-eval-buffer
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
19fcf4bd9a
jupyter-repl-eval-string: Refactor
...
* Use a `cond' for readability
* Also use `jupyter-with-doc-buffer` when not inserting
plain text results
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
dc0bccef7f
jupyter-repl-eval-string: Enable auto-completion during an interactive call
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
2e0fef2649
jupyter-repl-on-kernel-restart: Only switch to the client buffer when needed
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
52e663b550
jupyter-inspect: Use the help
buffer when called without a buffer
...
This allows us to use `help-setup-xref` so that we can
navigate backward and forward through help. This is
especially useful in the Julia kernel.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
01c58f05eb
jupyter-completion--company-doc-buffer: Fix call to jupyter-inspect
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
3763764394
Abstract out company
idle completion timer from jupyter-completion-at-point
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
54810022a9
Consider operators during completion
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
1f812ddf7c
Limit overlay calls to jupyter-repl--make-prompt
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
f8768b7f87
jupyter-markdown-follow-link: Call jupyter-inspect
when not in the REPL buffer
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
768d640beb
Use with-silent-modification
in jupyter-repl-append-output
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
4abf2daafa
Update completion prefetching
...
* Add `jupyter-completion-prefetch-p` which determines if a
prefetch should be performed.
* Remove `jupyter-completion-last-prefix`. Store all of the
necessary information in `jupyter-completion-cache`.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
a4a4bfb4c8
Ask to start a new REPL if one isn't available in jupyter-repl-associate-buffer
2018-10-25 23:17:26 -05:00