Commit graph

93 commits

Author SHA1 Message Date
John Miller
ae85045d85 Setup multilang hy more like how hy-mode does it.
Also try to work around travis's inexplicable failures with emacs 25.1
2020-01-14 13:51:31 -07:00
John Miller
cdf0350de5 Scenario was too generic.
There is another WS action error in the log on travis, unrelated as far as I can
tell.
2019-12-07 17:33:47 -07:00
John Miller
f36ae22b48 buffer-undo-list can become a dotted list in certain situations.
Unsure what those situations are, but when it happens it breakes ein's undo
facility. Calling `length' on a dotted list will generate wrong-argument-type
errors. To help soften the consequences of those situations we call `safe-length'
instead of `length'.
2019-12-07 17:33:47 -07:00
John Miller
7f66b95a73 Update version of ein_remote_safe.py 2019-12-01 11:31:00 -07:00
John Miller
a338f58329 Add some regression tests for pytools. 2019-11-29 20:19:20 -07:00
John Miller
b82bf127f8 New commands for setting matplotlib configuration.
See new functions `ein:pytools-set-figure-dpi',
`ein:pytools-set-matplotlib-parameter'. Added some tests as well.
2019-11-28 20:37:51 -07:00
John Miller
f76edbbf42
Better consistency with kernel connections in anonymous ob-ein blocks. (#624)
* Better consistency with kernel connections in anonymous ob-ein blocks.

And some tests to try to prove this is the case.

* Make sure company-mode is enabled.

* Undo cursor shifts.

* Company mode still not catching.

* Travis unhappy with undo and anonymous completion.

Tests work locally, but fail on travis. Let's play around a bit.

* Revert undo position jiggers.

I think the issue is character or line ending encoding in WSL (i.e. Windows) and
a "normal" Linux setup.
2019-11-27 08:59:52 -07:00
John Miller
143b6e3a93
Merge pull request #611 from millejoh/better-completion
ein-completer: Use entire cell/buffer for completion context.
2019-11-13 06:11:05 -07:00
John Miller
6b33adcfa5 Completion w/o cell execution only works with ipy versions > 7. 2019-11-11 05:59:17 -07:00
John Miller
12aae1444a Test case for completion without cell execution. 2019-11-10 10:12:19 -07:00
Tomasz Mieszkowski
9b1d9876bd Add commands to execute all cells above/below current one 2019-11-10 15:40:32 +01:00
John Miller
91b7375dbf
Issue 608 jedi completion (#609)
* ein-ac: Fail silently for unexpected ein:completion-backend values.

Fixes #608, though we really need a test cases for completion in polymode.

* Only define ein ac-sources when the user explicitly sets the backend.

* Test case for issue #608.

* Only test jedi completion when testing polymode.

* Add epc dependency for emacs-jedi.

* Flanging up with travis is always a challenge.

* Forgot to update the scenario.

* Give jedi time to install.

* Add virtualenv to travis OS X build.

Also add some addition TOX environments for future testing cases.

* OS X travis is failing - is it a timeout issue?
2019-10-28 20:28:37 -06:00
John Miller
0c207dfac1 Revert emacs 25 version, tool for downloading travis logs.
Update help message in travis as well. Get rid of case-fold check for the
moment. It works fine locally, but travis can't seem to wrap its head around the
test.
2019-10-20 13:34:51 -06:00
John Miller
e0900ac745 It's a bit fiddily, but seems to get the job done.
Testing for breakage with case-fold-search is set to nil (see issue #600).
2019-10-20 13:34:51 -06:00
John Miller
f232c45fdb Simulating human interaction from the machine is not easy. 2019-10-12 08:37:46 -05:00
John Miller
f49b2559d6 Company completion popups may be corrupting the connect.py buffer.
Hard to reproduce exactly what is happening, but try to work around the
possibility of a company completion popup appearing in the buffer or minibuffer.
2019-10-06 18:05:36 -05:00
dickmao
b3179a12d1 ein:notebooklist cannot see ein:jupyter-default-server-command on startup.
move default-kernel defcustom to ein:jupyter
2019-09-30 18:36:01 -04:00
dickmao
e4e04fdc3d Specifying default kernel
```
M-x customize-group RET ein
Select Ein:Notebooklist-Default-Kernel
```

Closes #82
2019-09-29 12:19:10 -04:00
dickmao
2ca536fdec add org-export test 2019-08-10 21:16:51 -04:00
dickmao
84a9fe7d21 Imperfect polymode testing
Unfortunately, no good way to test font-lock as font-lock-mode won't
activate under noninteractive ecukes (can try --no-win or --win, but
won't fly under travis)

In practice, polymode font-lock bugs often manifest themselves much as
issue #456 did.  The rear-nonsticky property on the input prompt gets
washed away by font-lock and brokenness ensues.
2019-06-10 20:07:58 -04:00
dickmao
3f6e507857 Do not assume "notebook" subcommand
Some users run jupyter via `jupyter-notebook` instead of `jupyter`,
and break because we unilaterally impose the "notebook" subcommand.

Those users can now:
```
M-x customize-group ein
Jupyter Server Use Subcommand: Omit
```
2019-06-05 14:30:26 -04:00
dickmao
1b745d4781 evil doesn't turn off undo-tree-mode when you toggle it 2019-05-24 16:39:12 -04:00
dickmao
f79a211c6c The only thing necessary for the triumph of evil...
Protect against undo-tree-mode both now and in the future.
2019-05-24 16:39:06 -04:00
dickmao
c7b8b4cb27 ob-ein bugfix
Currently, an org block that has no output (e.g., `foo = 5`) never
clears the `[....]` upon block completion.

Also, no `:session` should default to localhost.
2019-05-21 19:24:24 -04:00
dickmao
e491ac6f1c Ob-ein Improvements
Bring the org offering to feature parity.
2019-05-20 10:59:43 -04:00
dickmao
88d9158a66 add diagnostic for undo test 2019-05-16 10:51:57 -04:00
dickmao
6e53d8f1a8 futz with undo.ipynb 2019-05-16 10:15:11 -04:00
dickmao
cb0a819929 Julia, etc.
Prove we are agnostic about kernels.
2019-05-15 06:40:10 -04:00
dickmao
dcda68310b half-baked cookie jar messes up websocket 2019-05-07 22:46:37 -04:00
dickmao
f4d301d8c9 Cleanup save-before-quit logic, and polymode kill buffer bugfix
Before: Exit emacs with modified notebooks.  Be asked "You have
unsaved notebooks.  Discard changes?"  Respond no, and manually figure
out which notebooks haven't been saved.

After: Exit emacs with modified notebooks.  Be asked "Save A?".
Respond yes.  Quit without further ado.

Also, bugfix killing of buffers in polymode.  Must kill host buffer,
not indirect buffers.
2019-05-07 09:54:20 -04:00
dickmao
1da03d69f6 Stop bug, Image bug
Initial SIGTERM prompts server to dutifully shutdown kernel, but
another SIGTERM necessary to kill server.  Perhaps ipython changed
since the last time I tested this.

Ipython doesn't send a display_data message upon initial plot
request.  This is probably our bug, or is it?  Document this bug in an
ecukes test.

Also enforce emacs version >= 25
2019-04-29 13:15:53 -04:00
dickmao
921b3a94e4 need to see websocket output of eldoc call 2019-04-14 14:39:46 -04:00
John Miller
5736cb3716 Fortify tests, tweak cursor motion in notebooklist buffers. 2019-04-03 17:34:37 -05:00
dickmao
7cb37f4093 add diagnostic to eldoc test failure 2019-04-02 11:00:31 -04:00
dickmao
234cf391f9 Polymode
M-x customize-group RET ein
Toggle Ein:Polymode

Avoid trying to emulate jump-to-definition, eldoc, and autocompletion
functionalities that Elpy will always do better.

Fixes #497 #482 #418
2019-04-02 09:35:17 -04:00
John Miller
419a74ce67
Connect features (#492)
* Testing for shared eval and connecting buffers.

* Forgot the feature.

* Need a small delay to make sure code is evaluated.

* Testing for shared eval and connecting buffers.

* Forgot the feature.

* Need a small delay to make sure code is evaluated.

* Add scenario for company completion in a connected buffer.

* Works better if we test completion first.

* Update ipython version tested in travis.

* Stab in the dark to fix travis erroring under ipython 6.x

* Revert "Stab in the dark to fix travis erroring under ipython 6.x"

This reverts commit 7255d31fdb.
2019-03-27 15:53:47 -05:00
dickmao
188b2c0dec Toggle output (C-c C-e) should also invalidate footer
Attempt fixing longstanding annoyance whereby `C-c C-e` leaves a
peachpuff or pink newline when toggling output with nonempty stderr.
2019-03-08 18:33:15 -05:00
John Miller
80306130cf
Merge pull request #475 from dickmao/ob-ein-reconnect-kernel
reconnect kernel if necessary under org-ctrl-c-ctrl-c
2019-02-26 19:51:14 -06:00
dickmao
7ba5a0d5d3 Be less opaque about unfound jupyter executable
Fixes #473
2019-02-26 18:04:50 -05:00
dickmao
dd01c4578c reconnect kernel if necessary under org-ctrl-c-ctrl-c
when `C-c C-c`, reconnect to kernel if it disconnected
2019-02-26 17:58:42 -05:00
dickmao
a4d591255a maybe matplotlib needs warming up 2019-02-22 00:18:13 -05:00
dickmao
4f468ee5f7 Singleton
We can't be certain when the shared output cell can be safely turned
over to the next org block.  I have witnessed `display_data` updates being
received *after* both the `execute_result` and `execute_reply`
messages.  As a HACK, we `run-at-time 2` seconds the turning over of
the cell to accommodate any eleventh hour straggler display_data's.
2019-02-21 23:14:11 -05:00
dickmao
0f7f8b14cd Test C-c ' 2019-02-20 11:50:46 -05:00
dickmao
2f19904fe7 travis buttressing 2019-02-19 15:29:18 -05:00
dickmao
ed6482096e Add ob-ein tests
Also, speed up login and other cleanups
2019-02-19 10:06:15 -05:00
dickmao
fbda27ba7f Surface curl errors
In light of #425 and #456, provide more guidance on curl errors.

Also, clean up eldoc stub.  Leveraging elpy's eldoc perfection seems
the only sensible choice, however.
2019-01-21 13:42:35 -05:00
John Miller
624e9549ef
Merge pull request #444 from dickmao/undo-default-true
Enable undo by default
2018-12-29 17:15:06 -06:00
dickmao
97997798d1 fix a test now that undo defaults true 2018-12-28 22:38:52 -05:00
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