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