Skip to content

Commit ec48bc1

Browse files
committed
change input/output prompts and color scheme
1 parent c8f726f commit ec48bc1

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

examples/rtb.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,23 @@
3131
help='specify script to run')
3232
parser.add_argument('--backend', '-b', default=None,
3333
help='specify graphics frontend')
34+
parser.add_argument('--color', '-c', default='neutral',
35+
help='specify terminal color scheme (neutral, lightbg, nocolor, linux), linux is for dark mode')
36+
parser.add_argument('--confirmexit', '-x', default=False,
37+
help='confirm exit')
38+
parser.add_argument('--prompt', '-p', default='>>> ',
39+
help='input prompt')
40+
parser.add_argument('--resultprefix', '-r', default=None,
41+
help='execution result prefix, include {} for execution count number')
42+
parser.add_argument('--showassign', '-a', default=False,
43+
help='display the result of assignments')
3444
args = parser.parse_args()
3545

3646
if args.backend is not None:
3747
print(f"Using matplotlub backend {args.backend}")
3848
plt.use(args.backend)
3949

40-
# load some models
50+
# load some robot models
4151
puma = models.DH.Puma560()
4252
panda = models.DH.Panda()
4353

@@ -74,15 +84,26 @@
7484

7585
class MyPrompt(Prompts):
7686
def in_prompt_tokens(self, cli=None):
77-
return [(Token.Prompt, '>>> ')]
87+
return [(Token.Prompt, args.prompt)]
88+
def out_prompt_tokens(self, cli=None):
89+
if args.resultprefix is None:
90+
# traditional behaviour
91+
return [
92+
(Token.OutPrompt, 'Out['),
93+
(Token.OutPromptNum, str(self.shell.execution_count)),
94+
(Token.OutPrompt, ']: '),
95+
]
96+
else:
97+
return [(Token.Prompt, args.resultprefix.format(self.shell.execution_count))]
7898

7999
# set configuration options, there are lots, see
80100
# https://ipython.readthedocs.io/en/stable/config/options/terminal.html
81101
c = Config()
82-
c.InteractiveShellEmbed.colors = "Linux"
83-
c.InteractiveShell.colors = 'Neutral'
84-
c.InteractiveShell.confirm_exit = False
102+
c.InteractiveShellEmbed.colors = args.color
103+
c.InteractiveShell.confirm_exit = args.confirmexit
85104
# c.InteractiveShell.prompts_class = ClassicPrompts
86105
c.InteractiveShell.prompts_class = MyPrompt
106+
if showassign:
107+
c.InteractiveShell.ast_node_interactivity = 'last_expr_or_assign'
87108

88109
IPython.embed(config=c)

0 commit comments

Comments
 (0)