On Sat, Feb 02, 2019 at 02:10:06PM +1100, Steven D'Aprano <st...@pearwood.info> wrote: > On Fri, Feb 01, 2019 at 09:31:21PM +0100, Oleg Broytman wrote: > > > Python REPL is missing the following batteries: > > > > * Persistent history; > > On Linux/Unix systems, that has been available for about 18+ years, > since the rlcompleter module was introduced in Python 2.0: > > https://docs.python.org/release/2.0/lib/module-rlcompleter.html > > It's been automatically enabled for more than six years: > > https://hg.python.org/cpython/rev/d5ef330bac50
I've configured my own .pythonrc long before that so I missed that it's now finally enabled. Thanks for pointing this out. > Windows is another story. > > > > * Syntax highlighting; > > bpython provides syntax highlighting in the REPL, but I've never seen > the point. In an editor, perhaps, but why bother in the REPL? > > https://bpython-interpreter.org/ > > So does DreamPie: > > http://www.dreampie.org/ > > > * Clear separation (using, for example, different colors) > > between input, output and errors; > > Input always starts with a prompt; And I have a different color just for prompt. > exception tracebacks always start > with the line "Traceback..."; other errors are generally not > programmatically distinguishable from non-errors. > > One could modify the displayhook and excepthook to deal with the usual > cases, but colour codes are not just platform-specific but console- > specific. > > https://docs.python.org/3.5/library/sys.html#sys.displayhook > > https://docs.python.org/3.5/library/sys.html#sys.excepthook > > > > * Paging of very long output/errors. > > I don't know how I feel about that. Now that Python shrinks long > tracebacks filled with identical lines, I'm not sure that this is so > important or desirable. > > >>> import sys > >>> sys.setrecursionlimit(30) > >>> def spam(): > ... spam() > ... > >>> spam() > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "<stdin>", line 2, in spam > File "<stdin>", line 2, in spam > File "<stdin>", line 2, in spam > [Previous line repeated 26 more times] > RecursionError: maximum recursion depth exceeded > -- > Steve Oleg. -- Oleg Broytman https://phdru.name/ p...@phdru.name Programmers don't die, they just GOSUB without RETURN. _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/