Commit graph

405 commits

Author SHA1 Message Date
Nathaniel Nicandro
81a7536753 Move most of the REPL initialization to jupyter-repl-mode 2018-01-18 22:09:22 -06:00
Nathaniel Nicandro
3c0564c4f8 Cleanup how buffers displaying text are displayed 2018-01-18 22:02:51 -06:00
Nathaniel Nicandro
694eb6fd11 Remove the need for jupyter-repl-kernel-manager
If a `jupyter-repl-client` was created using a `juptyer-kernel-manager`, it
already has the manager as its `parent-instance`. Use this information.
2018-01-18 21:29:29 -06:00
Nathaniel Nicandro
fc052d3baf jupyter-connection objects have a kernel-info slot
This allows the kernel info to be shared between a kernel manager and the
clients that have the manager as its parent instance.
2018-01-18 21:14:27 -06:00
Nathaniel Nicandro
ba695ceec9 Remove links between buffers editing files and the REPL buffer when the clien is closed 2018-01-18 16:43:36 -06:00
Nathaniel Nicandro
131990311f Cleanup indentation 2018-01-18 16:43:04 -06:00
Nathaniel Nicandro
2e34f07edf Narrow to the cell code not the entire cell 2018-01-18 16:41:35 -06:00
Nathaniel Nicandro
4660b097b1 Fixup documentation 2018-01-18 16:40:27 -06:00
Nathaniel Nicandro
95ae9f15fc Rely on jupyter-repl-cell-code-beginning-position when getting the cell code 2018-01-18 16:36:46 -06:00
Nathaniel Nicandro
8f3d6132a0 Only display graphic mimetypes when a graphic display is available 2018-01-18 16:35:16 -06:00
Nathaniel Nicandro
f445e6d951 Optimize jupyter-request-id 2018-01-18 16:33:54 -06:00
Nathaniel Nicandro
fec7183933 Only insert error messages when they are from us and when they have a traceback 2018-01-18 16:14:58 -06:00
Nathaniel Nicandro
5c89657995 Handle stream messages not made by our client
Stream messages not made by our client will be sent to a buffer and displayed.
Note this will only take affect if `jupyter-include-other-output` is non-nil
for the client.
2018-01-18 16:08:43 -06:00
Nathaniel Nicandro
e457ecbfa7 Add object destructors for jupyter-kernel-manager and jupyter-kernel-client
These are used when an object definately needs to be destroyed. They are needed
to cleanup resources like processes and internal buffers.
2018-01-18 16:06:22 -06:00
Nathaniel Nicandro
dd6ec47bdb Use jupyter-repl-insert-ansi-coded-text when appropriate 2018-01-17 21:33:39 -06:00
Nathaniel Nicandro
4a7c463931 Refactor jupyter-repl-cell-line-p
- The use of `jupyter-repl-previous-cell` is to avoid erroring out in
  `jupyter-repl-cell-code-beginning-position` if point is within the output of
  a cell.
2018-01-17 21:30:39 -06:00
Nathaniel Nicandro
4b794ac3f9 Remove unecessary error handling 2018-01-17 21:29:54 -06:00
Nathaniel Nicandro
47c50f7c73 Remove edge case that doesn't matter anymore
If `pos` is not the beginning of a cell then a beginning can always be found
unless no cell beginning exists, even when `point-min` is the beginning of a
cell. These cases are already handled by the
surround code.
2018-01-17 21:27:04 -06:00
Nathaniel Nicandro
c670e4e620 Cleanup latex insertion 2018-01-17 21:25:16 -06:00
Nathaniel Nicandro
b95f8ce256 Update jupyter-repl-insert-markdown to take into account newer version of markdown-mode 2018-01-17 21:24:29 -06:00
Nathaniel Nicandro
b30fc63e48 Add jupyter-repl-fixup-font-lock-properties 2018-01-17 21:23:52 -06:00
Nathaniel Nicandro
5cfb8d329b Make use of the current execution state of a kernel 2018-01-17 21:22:12 -06:00
Nathaniel Nicandro
e2eafa64a4 Simplify builtin is-complete check 2018-01-17 21:05:50 -06:00
Nathaniel Nicandro
0a0e0df213 Add customizable timeout for is-complete requests 2018-01-17 21:04:22 -06:00
Nathaniel Nicandro
a363f639dd Check if kernel is alive before attempting to execute cell 2018-01-17 21:02:56 -06:00
Nathaniel Nicandro
f67a486e9a Use the language modes syntax table for the REPL buffer 2018-01-17 21:00:54 -06:00
Nathaniel Nicandro
1f457a4b1c Add option to associate the current buffer automatically in run-jupyter-repl 2018-01-17 21:00:00 -06:00
Nathaniel Nicandro
2d0328dde5 Use a better workaround for margin display issue 2018-01-17 20:56:42 -06:00
Nathaniel Nicandro
1ee4b2b15d Set the REPL kill buffer query function as a local hook 2018-01-17 20:56:06 -06:00
Nathaniel Nicandro
75e89bf9a1 Allow evaluating a region silently 2018-01-17 20:48:53 -06:00
Nathaniel Nicandro
5d18c6b6c1 Add jupyter-repl-eval-file to send contents of a file to the kernel 2018-01-17 20:48:23 -06:00
Nathaniel Nicandro
00374cb41c Add option to evaluate code without inserting into the REPL buffer 2018-01-17 20:47:05 -06:00
Nathaniel Nicandro
d0257740bb Simplify variable names 2018-01-17 20:37:34 -06:00
Nathaniel Nicandro
1ce282a7a5 Indentation 2018-01-17 20:35:06 -06:00
Nathaniel Nicandro
e4c3088749 Add jupyter-inhibit-handlers
This removes the need for `jupyter-request-inhibit-handlers`
2018-01-17 20:34:32 -06:00
Nathaniel Nicandro
1159342c26 Make jupyter-initialize-connection a function instead of a method
Initializing a connection does not change depending on the client. Or at least
it doesn't seem likely.
2018-01-17 20:15:50 -06:00
Nathaniel Nicandro
91a45c3ce3 Remove :jupyter- prefix for ioloop process plist 2018-01-17 20:15:10 -06:00
Nathaniel Nicandro
bd1d4c8908 Fix callbacks when multiple callbacks exist for a single message type 2018-01-17 20:11:43 -06:00
Nathaniel Nicandro
10bcb8859f Add jupyter-completing-read-kernelspec and jupyter-kernelspecs-for-mode 2018-01-17 20:04:40 -06:00
Nathaniel Nicandro
fb0269ae64 Return the resource directory as well as the kernelspec plist
- Also update lots of documentation
2018-01-17 20:02:29 -06:00
Nathaniel Nicandro
b5d9b98f17 Add header to jupyter-kernelspec 2018-01-17 20:00:44 -06:00
Nathaniel Nicandro
3c1416a3f6 Add -buffer slot for a jupyter-kernel-client
Since client local variables are associated with a buffer a buffer needs to be
present when the client is first initialized. This buffer is also used as the
process buffer of the ioloop subprocess.
2018-01-16 12:08:33 -06:00
Nathaniel Nicandro
e9bd7e5542 Warn if the channel subprocess did not shutdown in time 2018-01-16 12:02:23 -06:00
Nathaniel Nicandro
123a51b648 Process the list of channels once in jupyter--ioloop-filter 2018-01-16 12:01:07 -06:00
Nathaniel Nicandro
06acb2ab8c Handle quit signal when sending input to a kernel 2018-01-16 11:58:55 -06:00
Nathaniel Nicandro
ce19029838 Revert back to old behavior in jupyter--ioloop-filter
Do not rely on message handling to be fast when processing subprocess output
2018-01-16 11:55:53 -06:00
Nathaniel Nicandro
a0effbf359 Use client local value of jupyter-include-other-output 2018-01-16 11:54:11 -06:00
Nathaniel Nicandro
b50522102f Use quoted lists 2018-01-16 11:53:35 -06:00
Nathaniel Nicandro
1d024d54cc Handle signal interrupts in the heartbeat channel 2018-01-16 11:52:59 -06:00
Nathaniel Nicandro
f302445ac2 Handle more failure cases when starting a new kernel 2018-01-16 11:52:26 -06:00