Commit graph

717 commits

Author SHA1 Message Date
Nathaniel Nicandro
39382227e7 Take into account newer versions of zmq 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
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