Commit graph

1485 commits

Author SHA1 Message Date
dickmao
e5fdb91b8d itertools.accumulate not in python2
also fix an install error
2018-12-28 21:45:12 -05:00
dickmao
129afa5fb4 Respect cursor_start and cursor_end in matches
The :cursor_start and :cursor_end fields tell us whether we need to
prepend the prefix ourselves.

Fixes #436
2018-12-28 21:14:11 -05:00
John Miller
4c84801be0 Revert "Merge pull request #441 from dickmao/bug-issue-436"
This reverts commit 1b5d23e7db, reversing
changes made to 57cf533466.
2018-12-26 15:26:18 -06:00
John Miller
1b5d23e7db
Merge pull request #441 from dickmao/bug-issue-436
[WIP] Respect cursor_start and cursor_end in company
2018-12-26 15:10:12 -06:00
dickmao
fb15e82d1a WIP Respect cursor_start and cursor_end in matches
With respect to ein-company,
Py2 kernels prepend prefixes, e.g., np.array.
Py3 kernels do not, e.g., array.
The :cursor_start and :cursor_end fields tell us whether we need to
prepend the prefix ourselves.

Fixes #436
2018-12-26 03:17:51 -05:00
dickmao
387ceb0046 complete-on-dot is not optional if you agree to auto-completion 2018-12-25 19:12:26 -05:00
dickmao
e328e86105 Clarify what notebook version means
Say `Contents API 5.7.4` instead of `Notebook v5` in notebooklist.

EIN doesn't care about the python version (2.7, 3.5) or the
ipython version (5.8.0, 6.2.1).  The "jupyter notebook contents api"
version (currently at 5.7.4) is the thing that matters.
2018-12-25 10:59:18 -05:00
Sam Steingold
25835fdce4 ein:version: accept optional prefix arg to copy version to clipboard 2018-12-24 11:20:27 -05:00
dickmao
dc48a7e75d Fixes #433 2018-12-13 13:27:27 -05:00
John Miller
76c3ddb7ce Revert "Merge pull request #426 from millejoh/faster-generate-menu"
This reverts commit 0ba5e42009, reversing
changes made to 483bbe8d3f.
2018-12-12 09:37:21 -06:00
John Miller
0ba5e42009
Merge pull request #426 from millejoh/faster-generate-menu
ein-utils: Make ein:get-docstring a deferred construct.
2018-12-12 08:33:50 -06:00
dickmao
3c18cda125 reverse hunks 2018-12-11 08:48:40 -05:00
dickmao
bead667ee0 Clean up multilang
Do not assume python... leverage ESS to improve R interaction.
Fix both undo and fontify in the presence of toggling cells (`C-c
C-t`)
Fix and test switching kernels
2018-12-08 21:25:48 -05:00
John Miller
ba1c812147 ein-utils: Make ein:get-docstring a deferred construct.
This may or may not help performance during startup. See issue #409.
2018-12-06 09:11:45 -06:00
John Miller
a6fca6b8d0
Merge pull request #424 from dickmao/jupyterhub
jupyterhub basic (PAM only)
2018-12-05 10:09:47 -06:00
John Miller
269b8f38cb ein-jupyterhub: Whitespace cleanup. 2018-12-05 09:41:47 -06:00
John Miller
50cb7a0348 ein-websocket: Look for jupyterhub cookies when opening a websocket.
Jupyterhub loves her cookies - we try to find them all now.
2018-12-05 09:40:46 -06:00
dickmao
f0984eab55 jupyterhub basic (PAM only)
`ein:login` or `ein:notebooklist-login` is the preferred way to access
jupyterhub, although `ein:jupyterhub-connect` is still autoloaded.
2018-12-04 18:31:44 -05:00
John Miller
608058e07c ein-worksheet: Fix unhelpful error message.
Be more informative to the user when we cannot find an executing cell in either
`ein:worksheet-jump-to-first-executing-cell' or
`ein:worksheet-jump-to-next-executing-cell'.
2018-12-04 09:25:16 -06:00
John Miller
e8f9202edf
Merge pull request #421 from dickmao/bug-login-420
the whir is occluding the prompt
2018-12-03 09:52:41 -06:00
dickmao
9f1ed02895 retry more times under travis 2018-12-02 17:23:55 -05:00
dickmao
fb1b527121 the whir is occluding the prompt 2018-12-02 15:23:20 -05:00
dickmao
20de508c52 make test-compile and make install
test-compile attempts to egrep "bad" warnings with hardcoded strings.
This is better than nothing, but misses a lot.  We are close
to elimiinating this hack in favor of `(setq
byte-compile-error-on-warn t)` to enforce no warnings whatsoever.  Until
then, keep adding egrep strings to `test-compile`.

Without `(package-refresh-contents)`, the `make install` won't be able
to download and install dependencies for new users.  Remedy this.

Retire files that will never be used.
2018-12-01 08:32:56 -05:00
John Miller
16c14fa695
Merge pull request #415 from dickmao/autocomplete-initial-refactor
Allow disabling of autocomplete
2018-11-29 21:05:52 -06:00
dickmao
8c3d4fc502 keep fortifying 2018-11-28 22:25:20 -05:00
dickmao
d4ef4ed81c Allow disabling of autocomplete
```
M-x customize-group RET ein-completion
```
Set `Ein:Completion Backend` to `ein:use-none-backend`, Set `State` to
`Save for Future Sessions`.

Also use `featurep` and `with-eval-after-load` to clean up the
subpackage requiring gymnastics.
2018-11-28 17:45:23 -05:00
dickmao
4e8a9b51b5 notebook-mode as a proper minor mode
Previously `notebook-mode` was an ordinary function that called
`notebook-minor-mode` to install `ein:notebook-mode-map`.  Make
`ein:notebook-mode` a proper minor mode via `define-minor-mode`.  This
has a few visible benefits primarily that `describe-mode` or `F1 m` will now
show all the keybindings, and mode-line will reflect.

As a consequence `ein:notebook-mode-hook` is no longer an explicit
`defcustom` (proper minor modes get it for free).  This had been a
dangerous situation as the default hook containing critical functions could be overridden.
2018-11-28 13:31:23 -05:00
John Miller
5e1406b912 ein-worksheet: Jump to executing cell.
Add commands `ein:worksheet-jump-to-first-executing-cell' and
`ein:worksheet-jumpto-next-executing-cell' which do pretty much what they say.
2018-11-27 16:57:41 -06:00
stardiviner
f6e55fde96
ob-ein support automatically create direct with parents 2018-11-26 14:57:31 +08:00
John Miller
36afeaa6ea
Merge pull request #407 from millejoh/company-caching
ein-company: Add completion caching, make caching kernel specific.
2018-11-24 09:55:57 -07:00
John Miller
f459747352 ein-company: Install pytools when missing.
During kernel resets ein's pytools code can be lost. We try, crudely, to detect
this situation and reinject the code.
2018-11-24 10:23:34 -06:00
Jack Kamm
f96558004e Always prefer text to html for ob-ein output 2018-11-22 11:23:22 -08:00
Jack Kamm
9c98beaab2 Allow non-Python languages in ob-ein. 2018-11-22 11:22:43 -08:00
John Miller
e280bb8633 ein-company: Add completion caching, make caching kernel specific. 2018-11-22 09:07:02 -07:00
Sam Steingold
7a6781f05d ein:notification: fix help 2018-11-13 16:17:41 -05:00
Sam Steingold
5af9956dba use defconst to define ein:source-dir
This resets `ein:source-dir's value every time the file is reloaded,
which means that `ein:dev-reload' as well as elpa upgrades will reset it.
2018-11-12 09:04:44 -05:00
dickmao
6ca6752319 C-c C-q improved visual feedback
As `ein:notebok-kill-kernel-then-close-cmmand` must wait for the
server to delete the session, the buffer wouldn't disappear right
away, leaving the user nonplussed whether the `C-c C-q` took.  Display
a status message "Ending session" with a modest animation instead.

Also add a "Stop" test for notebooklist.  Sorry about breaking "Stop"
in ee3b0f0
2018-11-10 00:09:44 -05:00
John Miller
6f19d8bf83 Correct typos, make some code more succinct.
Let this be a lesson kids - never program while under the influence of
power antihistamines...
2018-11-09 18:53:40 -06:00
John Miller
815ff1a10d Merge branch 'master' of ssh://github.com/millejoh/emacs-ipython-notebook 2018-11-09 18:31:38 -06:00
John Miller
573b745509 Reintroduce proper behavior for kernel stop from nblist buffer.
Once upon a time it was possible to stop/delete/kill running kernels from the
notebooklist buffer regardless of whether there were any open notebooks
associated with the kernel session.

Some commmits ago this behavior was changed, and the code has recently required
that there a notebook buffer associated with the active kernel/session exist
before the stop command will proceed. This is incorrect behavior and is
inconsistent with the interface provided by the notebook web browser interface.
Kernels and notebooks are independent entities and should be treated as such in
the code.
2018-11-09 18:27:23 -06:00
dickmao
c0d46e96df for the time being, revert a org-8.0 versus org-9.0 change 2018-11-09 15:07:30 -05:00
dickmao
20cf261a8e fixes #399 2018-11-09 14:50:16 -05:00
John Miller
e4e0fc4abc Merge branch 'pr-397' 2018-11-08 20:52:29 -06:00
dickmao
04c16cf2b0 avoid leaving EIN in an uninstallable state. Fixes #395. 2018-11-08 19:02:23 -05:00
Sam Steingold
25f2f49943 use cl-defmethod instead of defmethod
defmethod macro is obsolete.
it expands to a defun eieio-defmethod which cannot use cl-call-next-method
2018-11-08 16:24:28 -05:00
dickmao
52ae7c2e31 remove f.el dependency 2018-11-08 14:41:48 -05:00
dickmao
270f157751 squash one of possibly many bugs that could cause intermittent travis failure 2018-11-08 11:36:10 -06:00
dickmao
b4c51b46b9 try one more time with new notebook not being ready quickly enough in test
and fix PR #393
2018-11-08 11:36:10 -06:00
dickmao
aaed15f1e5 add f.el to pkg 2018-11-08 11:36:10 -06:00
Sam Steingold
1c6270c425 update the code base to avoid compilation warnings about obsolete functions
call-next-method -> cl-call-next-method
set-slot-value -> (setf slot-value)
*-child-p -> cl-typep
oref <keyword> -> slot-value <symbol>
object-p -> eieio-object-p
Closes https://github.com/millejoh/emacs-ipython-notebook/issues/394
2018-11-08 09:36:35 -05:00