When mapping a custom kitten allow using shell escaping for the kitten path

Fixes #8178
This commit is contained in:
Kovid Goyal 2024-12-31 12:13:17 +05:30
parent dac6f88453
commit 909bccb807
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
3 changed files with 10 additions and 5 deletions

View file

@ -84,6 +84,10 @@ consumption to do the same tasks.
Detailed list of changes
-------------------------------------
0.38.2 [future]
- When mapping a custom kitten allow using shell escaping for the kitten path (:iss:`8178`)
0.38.1 [2024-12-26]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -122,12 +122,10 @@ def send_key(func: str, rest: str) -> FuncArgsType:
@func_with_args('run_kitten', 'run_simple_kitten', 'kitten')
def kitten_parse(func: str, rest: str) -> FuncArgsType:
parts = to_cmdline(rest)
if func == 'kitten':
args = rest.split(maxsplit=1)
else:
args = rest.split(maxsplit=2)[1:]
func = 'kitten'
return func, [args[0]] + (to_cmdline(args[1]) if len(args) > 1 else [])
return func, parts
return 'kitten', args[1:]
@func_with_args('open_url')

View file

@ -114,6 +114,9 @@ class TestConfParsing(BaseTest):
self.ae((ac().func, ac(1).func), ('new_window', 'launch'))
self.ae(ac(1).args, ('--moo', 'XXX'))
opts = p('clear_all_shortcuts y', 'action_alias ss kitten "space 1"', 'map f1 ss "space 2"')
self.ae(ac().args, ('space 1', 'space 2'))
opts = p('kitty_mod alt')
self.ae(opts.kitty_mod, to_modifiers('alt'))
self.ae(next(keys_for_func(opts, 'next_layout')).mods, opts.kitty_mod)