Subject: bug#68559: [PATCH] Improve Python shell completion

From: kobarity <[email-masked]>
Date: Tue, 23 Jan 2024 23:15:30 +0900

Liu Hui wrote:
> kobarity <[email-masked]> 于2024年1月21日周日 17:34写道：
> 
> > Is it possible to allow completion of keyword arguments in a
> > multi-line function call like the following?
> >
> > #+begin_src python
> > re.split(
> >     'b',
> >     'abc',
> >     maxs
> > #+end_src
> 
> I have added experimental support in the attached patch, can you test
> it please?

Thank you.  I tried the new patch and confirmed that the Python Shell
buffer allows keyword argument completion on multi-line function
calls.  However, my expectation is that it can be done in Python
buffer as well (after calling `python-shell-send-buffer').  Is this
also possible?

> > I am not sure if Python snippets should be separated.  Do other
> > language supports keep them separate?
> 
> I think it allows to reduce code duplication (e.g. the IPython support
> code existing in both python-shell-completion-setup-code and
> python-shell-readline-ipython-setup-code) and make code more simple.
> It seems other languages do not contain as many code snippets as
> python.el.

Sorry, I misunderstood that snippets meant skeletons.  I agree that
python.el has long Python codes, which is not easy to maintain.  Are
you proposing to separate the snippets into .py file?  If it's
acceptable from the Emacs' source code management perspective, I think
that is a good approach.