Commit graph

23 commits

Author SHA1 Message Date
John Miller
dd8a1607cd ein-pytools: Make pytools work over remote connections.
Python running on a remote connection doesn't know how to find files on the
local machine, apparently, so we take the route instead of sending the contents
of a temporary buffer loaded with the pytools python code to the running kernel.
2018-11-02 06:32:10 -05:00
John Miller
78994fbe58 Always return an info object, don't always log a completer error.
I am expecting that `ein:completions--prepare-oinfo' will error out depending on
the type of python object we are looking at, so no need to log an error every
time this happens as it will unnecessarily fill the ein log buffer and generate
lots of annoying notifications in the notebook buffer.
2018-11-01 20:59:23 -05:00
John Miller
3df0552104 Get rid of log messages, fix some ein.py blunders.
*ein:log-all* will grow very quickly if we keep these log commands in.
2018-11-01 20:29:13 -05:00
John Miller
db310073c4 Robustly build oinfo cache.
EIN tries to build a cached of pdef's for all potential completion symbols. This
is problematic because not all completion symbols have a pdef and can cause
python to throw exceptions in entertaining and hard to catch ways. We take a
liberal approach and ignore anything that throws an exception when we try to
inspect it.

Eldoc support should also be more robust because of these changes as well.
2018-11-01 20:26:42 -05:00
dickmao
aaeffa4596 end deferred chain on bad login 2018-10-28 13:48:53 -04:00
dickmao
b950bd3a4c Fix "Kernel is busy..." bug
One line change to fix header not updating after cell execution
(keeps saying "Kernel is busy").

The bug does not manifest when running with `ein:debug` true since
EMACS's display loop updates more frequently with debug messages.

In tracking this bug, noticed eldoc support isn't quite there.
`__import__('ein').print_object_info_for(%s)` appears in
`ein-completer` and `ein-pytools`, and is invalid python syntax
afaict.  Took a few steps to make it whole, but incomplete.
2018-10-27 23:04:04 -04:00
John Miller
a3482660a2 Support eldoc.
Really basic support for eldoc, buidling off the oinfo cache code written to
support function annotations for the ein company backend. In theory should also
work the other completion backends, but untested at the moment.
2018-09-18 21:48:07 -05:00
Sam Steingold
5cb717a9c2 fix typos in the last patch 2018-09-04 10:35:35 -04:00
John Miller
7320c16b47 ein-company: Function annotations via oinfo db
As ein builds completions for company it will build a database of object-info
data that can later be used for function annotations.
2018-09-03 16:06:15 -05:00
John Miller
8b7f26d668 Refactor object info for company annotations. 2018-09-02 23:24:21 -05:00
Sam Steingold
9cb9dd7345 now that auto-complete is an official dependency, we can require it unconditionally
this allows us to get rid of the ugly eval on a macro
2018-05-31 19:55:45 -04:00
John Miller
08d2792d69 Better interface for customizing code completion in ein.
Please see the new variable `ein:completion-backend'. Use this variable to
configure which completion backend to use in ein. Currently we support
auto-complete, company-mode, and jedi using auto-complete.
2017-07-14 19:53:14 -05:00
John Miller
261576f94b Fix Issue #67.
Only six months late. Jupyter changed callback signature for
complete_request, breaking ein's autocomplete code. Missed this for so
long because I am lazy and almost exclusively used jedi for
autocompletion. Ugh.
2016-02-03 22:26:53 -06:00
Takafumi Arakaki
5ab8e39d7c Change ein:completer-complete call signature 2012-12-06 17:48:05 +01:00
Takafumi Arakaki
b501948d6d Do not expand common part by ein:completer-dot-complete
* Change the call signature of completer callback, to
  pass arguments to completer callback.
* Use expand option to suppress auto expansion when
  used as dot-complete.
2012-12-06 16:52:56 +01:00
Takafumi Arakaki
42508f6bc3 Docstring for ein:completer-complete 2012-12-05 22:13:11 +01:00
Takafumi Arakaki
4efb68e226 Refactoring: ein:completer-complete can take CALLBACKS argument 2012-11-19 20:46:09 +01:00
Takafumi Arakaki
ca8c1678fe (require 'ein-utils) -> (require 'ein-core) 2012-08-28 15:26:32 +02:00
Takafumi Arakaki
c55e4c83c0 Move completion functions to ein-completer.el
Unify functions in ein-notebook.el and ein-connect.el.
2012-08-19 23:04:00 +02:00
Takafumi Arakaki
12fae49898 Fix arguments of other callbacks
Any callbacks called from ein:kernel--handle-shell-reply are passed
metadata.  Therefore, complete/tooltip callbacks must be changed.
2012-08-08 23:27:07 +02:00
Takafumi Arakaki
99c0441992 Respect ein:use-auto-complete in ein:completer-choose 2012-07-23 20:37:32 +02:00
Takafumi Arakaki
182cfe8672 Add debug logs in finish-completing functions 2012-07-23 20:33:46 +02:00
Takafumi Arakaki
d1031fd61e mv *ein*.el ein.py lisp/
fixes #6
2012-07-02 16:47:20 +02:00
Renamed from ein-completer.el (Browse further)