Commit graph

362 commits

Author SHA1 Message Date
Nathaniel Nicandro
3170a2305f Add documentation for jupyter-message convenience functions 2018-01-18 23:02:24 -06:00
Nathaniel Nicandro
43d5d4a8c9 Use cl-defgeneric for jupyter-kernel-manager methods
Also cleanup documentation
2018-01-18 23:00:31 -06:00
Nathaniel Nicandro
6934118012 Add progress reporters when starting a kernel 2018-01-18 22:47:18 -06:00
Nathaniel Nicandro
de635fdc3a Add customizable jupyter-runtime-directory variable
- Also fix the handling of `resource_dir` in a kernelspec argument vector
2018-01-18 22:45:17 -06:00
Nathaniel Nicandro
f27fad472b Add documentation to jupyter-kernel-manager slots 2018-01-18 22:43:52 -06:00
Nathaniel Nicandro
6c44684a9a Handle all cases in jupyter-repl-next-history
The default case in the `cond` should actually replace the cell code if
`no-replace` is nil since it represents the case when the current cell code is
not the top most element in the history ring but we would like it to be.
2018-01-18 22:39:02 -06:00
Nathaniel Nicandro
d92df1b88c Prevent prompt overlays from inheriting text properties
This is an issue when HTML output is inserted, it causes the output prompt to
misalign due to the text properties of adjacent text.
2018-01-18 22:29:26 -06:00
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