Dont import all of the ssh kitten just to detect commandlines

This commit is contained in:
Kovid Goyal
2022-05-18 15:58:06 +05:30
parent 5efcb35cfb
commit bba1455e28
4 changed files with 52 additions and 42 deletions

View File

@@ -613,7 +613,7 @@ def clone_and_launch(msg: str, window: Window) -> None:
is_clone_launch = serialize_env(c.shell, env_to_serialize)
ssh_kitten_cmdline = window.ssh_kitten_cmdline()
if ssh_kitten_cmdline:
from kittens.ssh.main import (
from kittens.ssh.utils import (
patch_cmdline, set_cwd_in_cmdline, set_env_in_cmdline
)
cmdline = ssh_kitten_cmdline

View File

@@ -97,7 +97,7 @@ class CwdRequest:
if argv[0] == resolved_shell(get_options())[0]:
ssh_kitten_cmdline = window.ssh_kitten_cmdline()
if ssh_kitten_cmdline:
from kittens.ssh.main import set_cwd_in_cmdline
from kittens.ssh.utils import set_cwd_in_cmdline
argv[:] = ssh_kitten_cmdline
set_cwd_in_cmdline(reported_cwd, argv)
return ''
@@ -1319,7 +1319,7 @@ class Window:
return False
def ssh_kitten_cmdline(self) -> List[str]:
from kittens.ssh.main import is_kitten_cmdline
from kittens.ssh.utils import is_kitten_cmdline
for p in self.child.foreground_processes:
q = list(p['cmdline'] or ())
if is_kitten_cmdline(q):