Commit graph

975 commits

Author SHA1 Message Date
Nathaniel Nicandro
0fc402cd6b Add jupyter-repl-cell-reset-prompt 2018-11-04 23:56:42 -06:00
Nathaniel Nicandro
d86eea253b jupyter-handle-status: Force a mode line update after changing status 2018-11-04 23:56:42 -06:00
Nathaniel Nicandro
bd2333a432 Only consider the REPL buffer modified when editing an input cell 2018-11-04 23:56:42 -06:00
Nathaniel Nicandro
983ccf6ec7 Add jupyter-with-control-code-handling
This macro takes care of any ANSI control codes that the kernel output may
produce.
2018-11-04 23:56:42 -06:00
Nathaniel Nicandro
6c6712bb0a jupyter-with-output-buffer: Refactor
* Rename `jupyter-repl-output-buffer-marker` to `jupyter-output-buffer-marker`

* Rename `jupyter-repl-output-buffer-last-request-id` to
  `jupyter-output-buffer-request-id`

* Add `jupyter--reset-output-buffer-p` which returns non-nil if the current
  input buffer should be reset.

* Simplify the `jupyter-with-output-buffer` macro
2018-11-04 23:56:42 -06:00
Nathaniel Nicandro
4cfa8b19fc jupyter-repl-eval-string: Simplify conditional 2018-11-04 23:56:42 -06:00
Nathaniel Nicandro
28d4390a1f jupyter-repl-eval-string: Use jupyter-with-message-content 2018-11-04 17:05:44 -06:00
Nathaniel Nicandro
4f40b050df Simplify working with buffers to insert kernel output
* Rename `jupyter-repl-with-output-buffer` to `jupyter-with-output-buffer`.

* Replace uses of `jupyter-repl-with-doc-buffer` with
  `jupyter-with-output-buffer`. The difference between the two was that
  `jupyter-repl-with-doc-buffer` always reset the buffer before inserting new
  output.
2018-11-04 17:05:44 -06:00
Nathaniel Nicandro
55b5f680ec Enable undo in a REPL input cell 2018-11-02 09:14:29 -05:00
Nathaniel Nicandro
b4cdf9de0b jupyter-repl-propertize-output: Also suppress fontification of comments 2018-11-02 09:10:17 -05:00
Nathaniel Nicandro
58e1515e75 Fix beginning-of-buffer error 2018-11-01 21:12:59 -05:00
Nathaniel Nicandro
57f262c2e3 Implement option to show a progress reporting message in jupyter-wait-until* functions 2018-11-01 19:20:25 -05:00
Nathaniel Nicandro
8edcb1cff0 Simplify jupyter-channel tests 2018-11-01 01:56:59 -05:00
Nathaniel Nicandro
8badade6d1 jupyter-hb-unpause: Set paused to nil when sending a ping is guaranteed 2018-11-01 01:56:59 -05:00
Nathaniel Nicandro
e929cffba1 jupyter-stop-channel: Group oref calls 2018-11-01 01:56:59 -05:00
Nathaniel Nicandro
2ae44ebcd6 jupyter--kernel-sentinel: Kill the process buffer when the kernel process is dead 2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
91e766ed27 jupyter--kernel-sentinel: Use with-slots 2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
0f2818b039 Ensure javascript builds without errors 2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
f0a45c7889 Fix package.json
* Simplify clean step

* Use GPL license
2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
df69ed6daa jupyter-test.el: Add generalized versions of jupyter-with-python-(client|repl) 2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
3ff1a590a4 Rename jupyter-test-info -> jupyter-ert-info 2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
2e97d8ce01 Remove code duplication when connecting heartbeat channels
* Add `jupyter-channel--reset-socket` which does the work of connecting the
  heartbeat channel to its endpoint and takes care of possibly reseting the
  socket after sending a ping.
2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
90b9223108 [WIP] Widget documentation 2018-11-01 01:56:58 -05:00
Nathaniel Nicandro
a2fb08c99f jupyter-widgets-on-message: Error if a message gives an unsupported channel 2018-10-31 18:49:37 -05:00
Nathaniel Nicandro
089e0b7f17 jupyter-widget-client.el: Fix documentation wording 2018-10-31 18:49:37 -05:00
Nathaniel Nicandro
c30357badb jupyter-with-message-content: Allow debugging inside the macro 2018-10-31 18:49:37 -05:00
Nathaniel Nicandro
06ae31a699 jupyter-repl-after-insert-message: Fontify Python doc strings after inspect requests 2018-10-31 18:49:37 -05:00
Nathaniel Nicandro
4f78ef34a2 Add jupyter-repl-insert-message
This function is essentially the same as `jupyter-repl-insert-data` but also
allows different kernel languages to do post-processing to the inserted data.

This is done by defining a new method, `jupyter-repl-after-insert-message`
which is called with the buffer narrowed to the inserted data.

One of its uses is to fontify documentation strings of Python kernels when
making inspect requests.
2018-10-31 18:49:37 -05:00
Nathaniel Nicandro
01be7be844 jupyter-inspect: Ensure the right client is used for `help-setup-xref' 2018-10-31 18:49:37 -05:00
Nathaniel Nicandro
589bfecdb0 jupyter-handle-display-data: Only inhibit redisplay if debug-on-error is nil 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
b1bbfd0e1a Move python specific traceback handling to jupyter-python.el 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
cc95092797 jupyter-handle-status: Don't error if a REPL cell is not found
This change is required because when evaluating code in other contexts than the
REPL, the convention is to set `jupyter-inhibit-handlers` to `(not :status)` so
that the `execution-state` can be updated for the mode-line construct.
2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
23caa99670 jupyter-repl-insert-data: Remove code duplication when inserting images 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
890f5ab3cb Silence byte compiler
* Declare undeclared external functions

* Add ext: prefix to filename of external packages that may not be present on
  every system

* Remove `company-grab-symbol-cons` function declaration since this function is
  no longer used.
2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
2f2ac53851 jupyter-repl-after-change: Mention that cl-call-next-method needs to be called 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
1697f44761 jupyter-with-message-content: Reword documentation 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
f60a3df749 Mention order of org-babel-load-languages in README 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
0efc00d49d Update README 2018-10-27 22:16:54 -05:00
Nathaniel Nicandro
77aad6630c jupyter-repl-initialize-fontification: Fix string syntax in output
* Previously any odd number of quote characters in the output of a cell messes
  up fontification of the next input cell since it will consider the input as
  part of a string. I had mistakenly thought that changing the syntax of the
  quote characters when inserting cell output fixed the problem but did not
  realize that as a part of fontification, the region being fontified is
  unfontified first by `font-lock-unfontify-region` whose default
  `font-lock-default-unfontify-region` removes the `syntax-table` property if
  `font-lock-syntactic-keywords` is non-nil for a major mode which means the
  `syntax-table` property that we add in the cell output gets removed.

  * The solution is to add our own `syntax-propertize-function` which calls
    `jupyter-repl-propertize-output` when attempting to fontify a region that
    is not cell code and calls the REPL languages `syntax-propertize-function`
    if available.

* In `jupyter-repl-propertize-output`, also change the syntax of ' characters
2018-10-27 22:15:49 -05:00
Nathaniel Nicandro
a3f4cf5d70 jupyter-repl-with-output-buffer: Fix misspelled documentation 2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
2f3f910598 Replace deprecated destructor method with jupyter-finalizer 2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
4c710ed235 jupyter-load-language-support: Fix assertion 2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
a5a20cad04 Unmark REPL cell as busy in jupyter-handle-status
Since evaluation functions like `jupyter-repl-eval-string` inhibit handlers
except the status handler it makes more sense to do this in the status handler
as well.
2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
795c9b2542 Add jupyter-load-file-code 2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
7efea4d582 Add note about moving output insertion and inspection functions to jupyter-client.el 2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
4949e7f3bc jupyter-repl-markdown-mouse-map: Add documentation 2018-10-25 23:59:47 -05:00
Nathaniel Nicandro
60eed5b773 jupyter-repl-eval-string: Better condition for when to show the traceback buffer 2018-10-25 23:59:46 -05:00
Nathaniel Nicandro
50d1f395f6 jupyter-completion--arg-extract-1: Fix documentation 2018-10-25 23:59:46 -05:00
Nathaniel Nicandro
e243b9f496 jupyter-repl-after-init: Fix documentation 2018-10-25 23:59:46 -05:00
Nathaniel Nicandro
2911ac34bf Add jupyter-repl-propertize-output
Currently this function changes the syntax of " characters in inserted output
so that they do not get recognized for syntactic fontification. Syntactic
fontification should only happen for cell code.
2018-10-25 23:59:46 -05:00