Nathaniel Nicandro
c9e8b952eb
Consider packages like smartparens when expanding argument snippets
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
603ab12444
Ensure lock files are enabled when testing them
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
394a82a5c2
Update note on injecting render parameters for displaying org-mode
results
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
3d8049da6d
Reduce the use of deprecated functions
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
4bb716e401
Update test to remove old jupyter-request
slot
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
da6587f5f6
Only modify the result parameters if needed in jupyter-org-add-result
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
1198965d57
Documentation changes
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
ac812a8599
Add a custom method generalizer for a kernel language
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
854f660bd3
jupyter-find-kernelspecs
allows a regular expression instead of a prefix
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
6e59813dc4
Add to CAPF for code block completion when org-mode is enabled
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
f0fe7ff5e8
Document the status slot of jupyter-async-channel
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
ceed853658
Convert jupyter-hb-on-kernel-dead
to a method
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
b6428b441f
Fix the heartbeat channel implementation
...
* Actually set the paused slot to nil when un-pausing the
heartbeat channel
* Ensure the heartbeat socket is actually a socket when
receiving. This is to handle edge cases when the
heartbeat channel is stopped, but there still is a timer
left in the `timer-list`.
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
0735198579
Update channel tests
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
35433ea68d
Update jupyter-hb-channel
test
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
14ef40acd4
Reduce priority of jupyter-land
method context
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
Nathaniel Nicandro
327bbede75
Only attempt to complete at point if jupyter-current-client
is non-nil
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
3cd573f5c3
Fix jupyter-repl-fixup-font-lock-properties
...
This function is only used to update the face property,
have it reflect this.
2018-10-25 23:17:25 -05:00
Nathaniel Nicandro
90f2878617
Fix code beginning position of completion context for org-mode
source blocks
2018-10-25 23:17:24 -05:00
Nathaniel Nicandro
e7719163e4
Fix jupyter-repl-after-init
...
* Add a context rewriter `jupyter-repl-mode` which checks
that the variable `jupyter-repl-lang-mode` is of the
right mode.
* Remove the check for `jupyter-repl-mode` since major
modes do not have a mode variable.
* Add `jupyter-repl-after-init` to `jupyter-repl-mode-hook`
* Move the special case of syntax highlighting for javascript kernels that
use `js2-mode` to its own `jupyter-repl-after-init`
specialized method.
2018-10-25 23:17:24 -05:00
Nathaniel Nicandro
3c6b45e53f
Fix jupyter-repl-cell-finalized-p
...
`point-max` is now considered the end of a cell but if the
end of a cell is `point-max`, then it is by definition
un-finalized. Also return t if the current line is not a
cell line since those parts of the buffer that are not
cells are finalized.
2018-10-25 23:17:24 -05:00
Nathaniel Nicandro
bc6d067d26
Use org-preview-latex-image-directory
when inserting LaTeX fragments
2018-10-25 23:17:24 -05:00
Nathaniel Nicandro
0c4dc0fa42
Don't scan for font lock properties twice
2018-10-25 23:17:24 -05:00
Nathaniel Nicandro
19abd9a5c6
Define and use the jupyter-lang
method context specializer
...
* Define the `jupyter-lang` method context specializer that
specializes against the kernel language of
`jupyter-current-client`
* Remove the kernel support API
* Replace the kernel support API with methods that can be
specialized using the `jupyter-lang` context specializer.
2018-10-25 23:17:09 -05:00
Nathaniel Nicandro
c0c9d8dd70
Ensure the return value of jupyter-org-prepare-result
has a non-nil car and cdr
2018-10-25 23:07:46 -05:00
Nathaniel Nicandro
276c02cfce
Add more documentation
2018-10-25 23:07:46 -05:00
Nathaniel Nicandro
f13f18b12b
Rename jupyter-completion-floating-point-p
to jupyter-completion-number-p
...
* Add tests for `jupyter-completion-number-p`
* Simplify functions that use `jupyter-completion-number-p`
2018-10-25 23:07:46 -05:00
Nathaniel Nicandro
2492ce3143
Use buffer-substring-no-properties
to avoid copying properties
2018-10-25 23:07:46 -05:00
Nathaniel Nicandro
a8231db79b
Rename jupyter-repl-current-client
to jupyter-current-client
...
Also move `jupyter-current-client` to `jupyter-client.el`
2018-10-25 23:07:46 -05:00
Nathaniel Nicandro
8bb43e6c68
Rename jupyter-repl-language
to jupyter-kernel-language
...
Also move `jupyter-kernel-language` to `jupyter-client.el`
2018-10-25 23:07:46 -05:00
Nathaniel Nicandro
d1588b2fd9
Define jupyter-completion-prefix
as a method to use it in different contexts
2018-10-25 23:07:04 -05:00
Nathaniel Nicandro
34aaaf2a66
Update documentation of jupyter-start-channels
2018-10-25 22:57:33 -05:00
Nathaniel Nicandro
44d1af31bb
Generalize retrieving the code context
...
* Rename `jupyter-code-context-at-point` to `jupyter-code-context`
* Use `cl-defmethod` and specializers to handle the
different kinds of contexts
* Move the newly defined code context methods to their
appropriate locations
2018-10-25 22:57:33 -05:00
Nathaniel Nicandro
883197074e
Move the kernel-info slot of jupyter-repl-client' to
jupyter-kernel-client'
...
* Define new method `jupyter-kernel-info` which takes care
of caching the result of a kernel info request. All
access of the kernel info plist should happen through
this method.
* Do not return the kernel info plist in
`jupyter-start-new-kernel`, callers should access the
kernel info through `jupyter-kernel-info`
2018-10-25 22:57:33 -05:00
Nathaniel Nicandro
d03270c7ed
Update commentary
2018-10-25 22:57:33 -05:00
Nathaniel Nicandro
2d5a854e2f
Fix typo
2018-10-25 22:57:33 -05:00
Nathaniel Nicandro
beef9471f0
Use with-jupyter-repl-doc-buffer
where appropriate
2018-10-25 22:57:31 -05:00
Nathaniel Nicandro
94358e9ef2
Rename jupyter-repl-do-at-request
to jupyter-repl-append-output
2018-10-25 22:57:23 -05:00
Nathaniel Nicandro
b06a586831
Handle the invisible characters in the REPL buffer when extracting code context
2018-10-25 22:57:23 -05:00
Nathaniel Nicandro
65dc7796ed
Require yasnippet
automatically when a snippet can be expanded
2018-10-25 22:57:23 -05:00
Nathaniel Nicandro
c070f2d04d
Update documentation and comments
2018-10-25 22:57:23 -05:00