Show More
@@ -52,6 +52,7 from .prompts import Prompts, ClassicPrompts, RichPromptDisplayHook | |||
|
52 | 52 | from .ptutils import IPythonPTCompleter, IPythonPTLexer |
|
53 | 53 | from .shortcuts import ( |
|
54 | 54 | KEY_BINDINGS, |
|
55 | UNASSIGNED_ALLOWED_COMMANDS, | |
|
55 | 56 | create_ipython_shortcuts, |
|
56 | 57 | create_identifier, |
|
57 | 58 | RuntimeBinding, |
@@ -508,19 +509,23 class TerminalInteractiveShell(InteractiveShell): | |||
|
508 | 509 | # rebuild the bindings list from scratch |
|
509 | 510 | key_bindings = create_ipython_shortcuts(self) |
|
510 | 511 | |
|
511 |
# for now we only allow adding shortcuts for |
|
|
512 |
# |
|
|
513 |
|
|
|
512 | # for now we only allow adding shortcuts for a specific set of | |
|
513 | # commands; this is a security precution. | |
|
514 | allowed_commands = { | |
|
514 | 515 | create_identifier(binding.command): binding.command |
|
515 | 516 | for binding in KEY_BINDINGS |
|
516 | 517 | } |
|
518 | allowed_commands.update({ | |
|
519 | create_identifier(command): command | |
|
520 | for command in UNASSIGNED_ALLOWED_COMMANDS | |
|
521 | }) | |
|
517 | 522 | shortcuts_to_skip = [] |
|
518 | 523 | shortcuts_to_add = [] |
|
519 | 524 | |
|
520 | 525 | for shortcut in user_shortcuts: |
|
521 | 526 | command_id = shortcut["command"] |
|
522 |
if command_id not in |
|
|
523 |
allowed_commands = "\n - ".join( |
|
|
527 | if command_id not in allowed_commands: | |
|
528 | allowed_commands = "\n - ".join(allowed_commands) | |
|
524 | 529 | raise ValueError( |
|
525 | 530 | f"{command_id} is not a known shortcut command." |
|
526 | 531 | f" Allowed commands are: \n - {allowed_commands}" |
@@ -544,7 +549,7 class TerminalInteractiveShell(InteractiveShell): | |||
|
544 | 549 | new_keys = shortcut.get("new_keys", None) |
|
545 | 550 | new_filter = shortcut.get("new_filter", None) |
|
546 | 551 | |
|
547 |
command = |
|
|
552 | command = allowed_commands[command_id] | |
|
548 | 553 | |
|
549 | 554 | creating_new = shortcut.get("create", False) |
|
550 | 555 | modifying_existing = not creating_new and ( |
General Comments 0
You need to be logged in to leave comments.
Login now