Open robsmith11 opened 4 years ago
Completion in emacs-jupyter
is done through Emacs built-in completion-at-point
mechanism. There is no specific keybinding for completion that is defined by emacs-jupyter
. In my case, I use company
which has completions bound to TAB
and integrates well with completion-at-point
.
I agree that completion acts in the way you say, sometimes it takes a couple of presses of TAB
to get anything.
Maybe the issue lies in the use of sit-for
when getting the completion results
When jupyter-complete-at-point
is called it makes a complete_request
to the kernel and returns a function for completion-at-point
to call to complete the current completion prefix. If the complete_reply
message hasn't come in by the time that function is called, the sit-for
is there to give a chance for it to come in. Maybe it would be more consistent if we wait for as long as needed for the complete_reply
to come in.
When using the the REPL with a Julia kernel, the tab completion is very buggy. It's not documented in the README, but it seems completion is bound to
C-M-i
(why not TAB??). The first time I pressC-M-i
, I always get a message saying "No matches". The 2nd time I press it, I will sometimes get the completion, but sometimes it will still do nothing and I will need to type it 3-4 times to get the completion.Completion works perfectly with this kernel in the browser btw.