##// END OF EJS Templates
PR: Unassigned allowed commands (#14564)...
PR: Unassigned allowed commands (#14564) From git git: > Modify binding mechanism to allow binding to one of a set of whitelisted commands, Add five such commands ("beginning_of_buffer", "end_of_buffer", "end_of_line", "forward_word", "unix_line_discard"). Currently, only commands which are assigned by default are allowed to be reassigned: ```python known_commands = { create_identifier(binding.command): binding.command for binding in KEY_BINDINGS } ... if command_id not in known_commands: ... raise ValueError( f"{command_id} is not a known shortcut command." f" Allowed commands are: \n - {allowed_commands}" ) ``` This PR adds a List UNASSIGNED_ALLOWED_COMMANDS and updates `known_commands` (now renamed to be more clear as `allowed_commands`): ```python allowed_commands.update({ create_identifier(command): command for command in UNASSIGNED_ALLOWED_COMMANDS }) ``` The five unassigned allowed commands are: ```python UNASSIGNED_ALLOWED_COMMANDS = [ nc.beginning_of_buffer, nc.end_of_buffer, nc.end_of_line, nc.forward_word, nc.unix_line_discard, ] ``` Motivation tldr: Until now, it is not possible to bind eg the common keybindng `ctrl+e` to prompt_toolkit's `end_of_line` (because it is not bound by default). Full motivation: https://github.com/ipython/ipython/issues/14369
M Bussonnier -
r28945:08be4c99 merge
Show More
Name Size Modified Last Commit Author
/ IPython / core / tests
daft_extension
2x2.jpg Loading ...
2x2.png Loading ...
__init__.py Loading ...
bad_all.py Loading ...
nonascii.py Loading ...
nonascii2.py Loading ...
print_argv.py Loading ...
refbug.py Loading ...
simpleerr.py Loading ...
tclass.py Loading ...
test_alias.py Loading ...
test_application.py Loading ...
test_async_helpers.py Loading ...
test_autocall.py Loading ...
test_compilerop.py Loading ...
test_completer.py Loading ...
test_completerlib.py Loading ...
test_debugger.py Loading ...
test_display.py Loading ...
test_displayhook.py Loading ...
test_events.py Loading ...
test_exceptiongroup_tb.py Loading ...
test_extension.py Loading ...
test_formatters.py Loading ...
test_guarded_eval.py Loading ...
test_handlers.py Loading ...
test_history.py Loading ...
test_hooks.py Loading ...
test_imports.py Loading ...
test_inputsplitter.py Loading ...
test_inputtransformer.py Loading ...
test_inputtransformer2.py Loading ...
test_inputtransformer2_line.py Loading ...
test_interactiveshell.py Loading ...
test_iplib.py Loading ...
test_logger.py Loading ...
test_magic.py Loading ...
test_magic_arguments.py Loading ...
test_magic_terminal.py Loading ...
test_oinspect.py Loading ...
test_page.py Loading ...
test_paths.py Loading ...
test_prefilter.py Loading ...
test_profile.py Loading ...
test_prompts.py Loading ...
test_pylabtools.py Loading ...
test_run.py Loading ...
test_shellapp.py Loading ...
test_splitinput.py Loading ...
test_ultratb.py Loading ...