Ensure edit-in-kitty works even if kitten is not in PATH

Still needs to be implemented for fish shell
This commit is contained in:
Kovid Goyal 2023-01-31 20:41:39 +05:30
parent 077f71cad5
commit 47641456da
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 9 additions and 3 deletions

View File

@ -7,7 +7,7 @@ import subprocess
from contextlib import suppress from contextlib import suppress
from typing import Callable, Dict, List, Optional from typing import Callable, Dict, List, Optional
from .constants import shell_integration_dir from .constants import kitten_exe, shell_integration_dir
from .fast_data_types import get_options from .fast_data_types import get_options
from .options.types import Options, defaults from .options.types import Options, defaults
from .utils import log_error, which from .utils import log_error, which
@ -221,6 +221,7 @@ def modify_shell_environ(opts: Options, env: Dict[str, str], argv: List[str]) ->
if shell is None or not ksi: if shell is None or not ksi:
return return
env['KITTY_SHELL_INTEGRATION'] = ksi env['KITTY_SHELL_INTEGRATION'] = ksi
env['KITTY_KITTEN_EXE'] = kitten_exe()
if not shell_integration_allows_rc_modification(opts): if not shell_integration_allows_rc_modification(opts):
return return
f = ENV_MODIFIERS.get(shell) f = ENV_MODIFIERS.get(shell)

View File

@ -209,7 +209,10 @@ _ksi_main() {
_ksi_prompt[ps0]+="\[\e]133;C\a\]" _ksi_prompt[ps0]+="\[\e]133;C\a\]"
fi fi
alias edit-in-kitty="kitten edit-in-kitty" [[ -z "${KITTY_KITTEN_EXE}" ]] && KITTY_KITTEN_EXE="kitten"
alias edit-in-kitty="${KITTY_KITTEN_EXE} edit-in-kitty"
builtin unset KITTY_KITTEN_EXE
if [[ "${_ksi_prompt[complete]}" == "y" ]]; then if [[ "${_ksi_prompt[complete]}" == "y" ]]; then
_ksi_completions() { _ksi_completions() {
builtin local src builtin local src

View File

@ -386,7 +386,9 @@ _ksi_deferred_init() {
fi fi
builtin unset KITTY_IS_CLONE_LAUNCH KITTY_CLONE_SOURCE_STRATEGIES builtin unset KITTY_IS_CLONE_LAUNCH KITTY_CLONE_SOURCE_STRATEGIES
alias edit-in-kitty="kitten edit-in-kitty" [[ -z "${KITTY_KITTEN_EXE}" ]] && KITTY_KITTEN_EXE="kitten"
alias edit-in-kitty="${KITTY_KITTEN_EXE} edit-in-kitty"
builtin unset KITTY_KITTEN_EXE
# Map alt+left/right to move by word if not already mapped. This is expected behavior on macOS and I am tired # Map alt+left/right to move by word if not already mapped. This is expected behavior on macOS and I am tired
# of answering questions about it. # of answering questions about it.