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
Nathaniel Nicandro
4f73d1397e
Ensure the buffer local value of syntax-propertize-function
is set
...
This caused much headache. This variable really should be
automatically buffer local.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
5caf82cf81
Fix continuation prompt insertion
...
* Remove the invisible character inserted along with the
continuation prompt as it is really unneeded.
* Make the inserted space two characters wide. For some
reason this is needed, otherwise the continuation prompt
will be one character short when starting up a REPL from
the byte compiled functions. Curiously when I evaluate
`jupyter-repl-insert-prompt` in the current Emacs
session, the prompt looks fine afterwards.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
c651f16ae2
Check for both end of word and symbol in jupyter-completion-grab-symbol-cons
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
abdf63a517
Only fontify syntactically when the text is not considered fontified
...
Text may not have a `font-lock-face` property, but may be
marked fontified if it has a non-nil `font-lock-fontified` property.
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
52a44b7e30
Take into account syntax-propertize-function
in jupyter-repl-initialize-fontification
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
33495f0281
Don't try to insert continuation prompts on self-insert-command
2018-10-25 23:17:26 -05:00
Nathaniel Nicandro
4c95c8c6d2
Add note about possibly using indirect buffers
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
ed094f93ea
Use buffer ticks in jupyter-repl-indent-line
...
Previously a string comparison was done to check if the
cell code was indented, this is faster.
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
6671904cee
Fix edge case in jupyter-repl-history--previous
...
If there is no history at all to go back to, return nil.
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
59eba9d3c4
Check for widget dependencies in jupyter-repl-insert-data
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
cadc26f32b
Prioritize mimetypes that have dependencies in jupyter-repl-insert-data
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
3d6d90d6da
Simplify jupyter-repl-insert-html
...
Insert the HTML directly into the REPL buffer and use
`shr-render-region`. This avoids copying the HTML to a
temporary buffer first and extracting the rendered HTML to
place in the REPL buffer.
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
f4d375a380
Add whitespace after inserting images
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
3145453d93
Fix svg image display
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
a9246fcecb
Rename with-jupyter-*
to jupyter-with
...
Ensure that all functions and macros have the same
pseudo-namespace
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
31d7cfe34f
Do not supply new arguments for obtaining the completion prefix
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
a26655c66f
Handle python kernels specially when constructing completion candidates
...
The python kernel includes every attribute up to the parent
object, we need to split on the dots to only have the last
attribute or method since that is what the bounds are in
the completion mechanism.
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
c9e8b952eb
Consider packages like smartparens when expanding argument snippets
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
34e52de1d4
Simplify inspect requests
...
* Rename `jupyter-repl-inspect-at-point` -> `jupyter-inspect-at-point`
* Refactor inspection
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
1198965d57
Documentation changes
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
be06102c99
Explicitly make REPL variables buffer local
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
c48d5ca814
Fix jupyter-repl-fixup-font-lock-properties
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
21ca6ead04
Use filter-buffer-substring-function
to extract cell code
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
b00b28490f
Handle terminal control codes in REPL output
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
58078c4e69
Document behavior of jupyter-repl-associate-buffer
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
6ca612168a
Handle edge case when obtaining completion prefix
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
9cd52d25c3
Cleanup CAPF when jupyter-repl-interaction-mode
is disabled
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
cccc680a6c
Always finalize the previous cell on kernel restart
2018-10-25 23:17:25 -05:00