Commit Graph
38 Commits
Author SHA1 Message Date
Kovid Goyal 9441cf15c3 Move the bash integration script into its own dir
This matches the other shells and might be useful someday
if bash ever gets a way for the invoking process to inject code
into it.

Also use KITTY_INSTALLATION_DIR when loading the bash integration code.
2021-11-29 12:30:10 +05:30
Kovid Goyal daefb926d9 Fix zsh kitty completion when the matching style includes anchor based matchers
Debian apparently adds these by default.
2021-11-28 11:02:03 +05:30
Kovid Goyal 3d76c916a5 Simplify zsh shell integration code
Use the add-zsh-hook and add-zle-hook-widget functions
2021-11-28 08:45:53 +05:30
Kovid Goyal 0a5ffe9b73 Add a note about _ksi_first_run 2021-11-28 08:14:16 +05:30
Kovid Goyal 325603bf41 Shell integration zsh: Handle the case when a function that breaks prompt marking is installed after _ksi_precmd
We now install the real precmd hook only in the first run of the precmd
hook. This ensures that our precmd and preexec hooks are run last,
unless something else uses this trick, which is unlikely, and at that
point, the user is on their own.

Also ensure that the integration script is run only once even if the
user tries to source it twice with setting of KITTY_SHELL_INTEGRATION
each time.
2021-11-27 12:24:19 +05:30
Kovid Goyal f6e0eb4005 Shell integration: Dont modify ~/.zshrc
Instead use the ZDOTDIR env var to load the shell integration code
2021-11-27 07:19:59 +05:30
Kovid Goyal cf7e43fa26 Simplify nested if 2021-11-07 19:23:31 +05:30
Kovid Goyal b5e8b5a124 Allow users to modify XDG_DATA_DIRS in the fish rc files
The only downside of this new technique is that it is no
longer possible to set XDG_DATA_DIRS to an empty var in kitty.conf
Since an empty XDG_DATA_DIRS breaks lots fo things, I dont think that
is a big concern.
2021-11-07 18:59:50 +05:30
Kovid Goyal f48a430493 Use --global when re-exporting XDG_DATA_DIRS 2021-11-07 10:31:57 +05:30
Kovid Goyal 35514e0cc3 Dont change XDG_DATA_DIRS for child processes in fish shell integration
Fixes #4199
2021-11-07 10:06:18 +05:30
Kovid Goyal 5eb87b9f10 Micro-optimizations of fish sheel integration script
By @page-down
2021-10-29 21:51:48 +05:30
Kovid Goyal d3a3f99848 Use an env var for fish shell integration
Less intrusive (in some ways) than adding symlinks to ~/.config/fish
Exploits the fact that fish loads scripts from XDG_DATA_DIRS on startup.
Thanks to @page-down for noticing
2021-10-27 14:59:11 +05:30
Kovid Goyal 089ab9ee9f Use a pre zsh 5.5 syntax for assoc arrays 2021-10-24 08:16:44 +05:30
Kovid Goyal 899b5078eb bash integration: fix newline replace in PS1 2021-10-23 18:48:45 +05:30
Kovid Goyal 0f9944190d Shell integration: Better fix for multi-line prompts in bash
Also fix bash redrawing only the last PS2 prompt
2021-10-22 12:19:03 +05:30
Kovid Goyal 6d02ef59f8 Shell integration: Fix PS2 support
zsh only redraws the prompt from the last PS2 on a multiline prompt.
Take this into account.
2021-10-22 12:02:21 +05:30
Kovid Goyal eeb02ceef4 Shell integration: Workaround bash not redrawing multiline prompts 2021-10-01 09:30:26 +05:30
Kovid Goyal f277cbf3f3 Improved trailing newline handling in the fish shell integration
Thanks to some assistance from @faho
See https://github.com/kovidgoyal/kitty/issues/4032#issuecomment-919936913
2021-09-15 21:06:28 +05:30
Kovid Goyal 0a56ab7a1e Workaround for fish splitting on newlines when doing command substitution 2021-09-15 18:12:40 +05:30
Kovid Goyal a073936997 Fish shell integration: Strip trailing newlines from the original fish prompt as fish does this 2021-09-15 16:58:31 +05:30
Kovid Goyal 72e15d8b4f Fish integration: Have the value of $status preserved by the prompt functions 2021-08-24 20:29:12 +05:30
Kovid Goyal a10c19456a Fix completions for fish 2021-08-18 10:06:07 +05:30
Kovid Goyal f4b3948168 Use a shortened dir path for window title
Also respect named directories
2021-08-18 10:06:07 +05:30
Kovid Goyal 2245d4506f Add title and cursor to fish integration 2021-08-18 10:06:06 +05:30
Kovid Goyal 7f3da135e2 ... 2021-08-18 10:06:06 +05:30
Kovid Goyal 23f94b6e67 Get prompt marking working for th fish shell 2021-08-18 10:06:06 +05:30
Kovid Goyal 0ec10b52e0 Add shebangs 2021-08-18 10:06:06 +05:30
Kovid Goyal a993a71857 Add shell integration for bash 2021-08-18 10:06:06 +05:30
Kovid Goyal 6e172bdc09 Fix cursor in zsh vicmd mode 2021-08-18 10:06:06 +05:30
Kovid Goyal 725ec57bee Automatically setup shell integration for ZSH 2021-08-18 10:06:06 +05:30
Kovid Goyal 2263cd1355 Use a _ksi_ prefix for shell integration
Sadly function in zsh are global so prefix all function and global var
names with _ksi_ as poor mans namespacing.
2021-08-18 10:06:05 +05:30
Kovid Goyal 1bb87c71aa Make all shell integrations disablable 2021-08-18 10:06:05 +05:30
Kovid Goyal 7dec7d615a Use an env var to control shell integration 2021-08-18 10:06:05 +05:30
Kovid Goyal 2e5308ad40 Use an associative array for prompt data 2021-08-18 10:06:05 +05:30
Kovid Goyal d1015de700 Workaround for base64 on linux inserting line breaks by default 2021-08-18 10:06:05 +05:30
Kovid Goyal 85f6d3fed8 Use PS1 to set the prompt start mark
Needed as precmd functions are not called when redrawing the prompt. As
far as I can tell zsh stupidly has no hook that is called when the
prompt is redrawn after a window resize or when a background job
finishes.
2021-08-18 10:06:05 +05:30
Kovid Goyal a4925eeeb4 ... 2021-08-18 10:06:05 +05:30
Kovid Goyal 46b9aca16e Start work on shell integration 2021-08-18 10:06:04 +05:30