From f0d475e3b5d4f226d24837256efc697271b1c611 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 19:36:10 +0200 Subject: Adding upstream version 3.0.22. Signed-off-by: Daniel Baumann --- examples/python-embed-with-custom-prompt.py | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 examples/python-embed-with-custom-prompt.py (limited to 'examples/python-embed-with-custom-prompt.py') diff --git a/examples/python-embed-with-custom-prompt.py b/examples/python-embed-with-custom-prompt.py new file mode 100755 index 0000000..968aedc --- /dev/null +++ b/examples/python-embed-with-custom-prompt.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python +""" +Example of embedding a Python REPL, and setting a custom prompt. +""" +from prompt_toolkit.formatted_text import HTML + +from ptpython.prompt_style import PromptStyle +from ptpython.repl import embed + + +def configure(repl): + # Probably, the best is to add a new PromptStyle to `all_prompt_styles` and + # activate it. This way, the other styles are still selectable from the + # menu. + class CustomPrompt(PromptStyle): + def in_prompt(self): + return HTML("Input[%s]: ") % ( + repl.current_statement_index, + ) + + def in2_prompt(self, width): + return "...: ".rjust(width) + + def out_prompt(self): + return HTML("Result[%s]: ") % ( + repl.current_statement_index, + ) + + repl.all_prompt_styles["custom"] = CustomPrompt() + repl.prompt_style = "custom" + + +def main(): + embed(globals(), locals(), configure=configure) + + +if __name__ == "__main__": + main() -- cgit v1.2.3