pagedown
7160027c14
Use the fish built-in function name to report current working directory
...
If the feature is enabled by fish in the future, it will override the
built-in one and there will be no duplicate reporting.
2022-03-16 01:03:26 +08:00
pagedown
736d6cf7e6
Simplify fish prompt state checking
2022-03-16 01:03:16 +08:00
Kovid Goyal
c05c0353fd
Dont report directory changes during command substitution
2022-03-15 20:34:18 +05:30
Kovid Goyal
e944e2ecae
Make a note that cwd reporting is builtin to fish
2022-03-15 20:33:14 +05:30
Kovid Goyal
47b3c37bf0
Add cwd reporting to fish integration
2022-03-15 20:25:39 +05:30
Kovid Goyal
f982e754e4
Enable CWD reporting in bash integration
2022-03-15 15:37:17 +05:30
Kovid Goyal
4a1ad7755a
Enable CWD reporting in the zsh integration
2022-03-15 14:30:21 +05:30
Kovid Goyal
2780630a18
Suppress STDERR for tar
2022-03-15 10:28:14 +05:30
Kovid Goyal
08ce8ffa54
py2 compat
2022-03-14 12:36:43 +05:30
Kovid Goyal
90561682cf
Make using kitty askpass optional
2022-03-14 11:38:31 +05:30
Kovid Goyal
71027e74e0
py2 compat
2022-03-14 11:28:46 +05:30
Kovid Goyal
2b06ca5e1a
ssh kitten: Send data without a roundtrip
...
Send data to the remote side without waiting for a data request. Avoids
an extra roundtrip during initialization.
2022-03-13 13:55:30 +05:30
Kovid Goyal
434ef97952
Dont need atexit anymore since cleanup only closes tty_fd
2022-03-13 13:55:30 +05:30
Kovid Goyal
e1504c4775
Avoid needing to initialize tty state in bootstrap scripts
2022-03-13 13:55:30 +05:30
Kovid Goyal
74f0057ec8
Dont change tty state to raw
...
Just turn off echo. Makes the code much simpler, can just use shell
builtin POSIX read function.
2022-03-13 13:55:30 +05:30
Kovid Goyal
b2e74e4830
Switch to using the hostname from the CLI for settings
...
This removes the need to wait for data from the remote machine
before sending data to it.
2022-03-13 13:55:30 +05:30
Kovid Goyal
f54a3e8036
Make requesting data optional
2022-03-13 13:55:30 +05:30
Kovid Goyal
d5c48ddb94
Allow inputting fingerprint check
2022-03-12 08:23:10 +05:30
Kovid Goyal
8613c6e1cd
...
2022-03-11 16:44:08 +05:30
Kovid Goyal
5bb6b29ca3
Allow controlling the prompt used to input the password
2022-03-11 16:44:08 +05:30
Kovid Goyal
61558d518e
Get askpass basically working
2022-03-11 16:44:08 +05:30
Kovid Goyal
3b724c8415
Start work on SSH askpass implementation
2022-03-11 16:44:08 +05:30
Kovid Goyal
910565aa7c
Mention the shell in the error message
2022-03-11 15:52:51 +05:30
pagedown
72718cbab7
Remove login shell name suffix restriction
...
Some shells do not end with sh, consistent with the python bootstrap
implementation.
2022-03-11 15:42:45 +08:00
pagedown
ea28951e0e
Fall back to run the shell without -l option
2022-03-11 15:42:34 +08:00
pagedown
39a78f6be3
Explicitly set STDOUT to binary mode
2022-03-11 15:42:23 +08:00
pagedown
fe8aaca320
Use POSIX LOGNAME environment variable
2022-03-11 15:42:09 +08:00
pagedown
f5cc58ea9d
Unset the safe source function in sh script and minor refactoring
2022-03-11 15:41:56 +08:00
Kovid Goyal
6789eb88e2
Fix replacement of symlinks to directories
2022-03-11 07:51:50 +05:30
Kovid Goyal
cac2c153c2
Fix #4809
2022-03-10 22:55:47 +05:30
Kovid Goyal
92abaad22c
Handle cross filesystem untarring in bootstrap.py
2022-03-10 22:43:54 +05:30
Kovid Goyal
f774841ee0
More robust copying of terminfo
...
Dont use symlinks in the tarball, instead create them
in the bootstrap scripts, only if needed.
2022-03-10 21:08:20 +05:30
Kovid Goyal
704717ff1d
Handle case of tty not being OK
2022-03-09 15:27:24 +05:30
Kovid Goyal
405c472d13
Cleanup previous PR
2022-03-09 14:59:08 +05:30
pagedown
4322825ac7
Add support for sh that does not support the -l login shell option
...
FreeBSD sh does not support using the -l option to run as a login shell.
2022-03-09 16:12:20 +08:00
Kovid Goyal
08bb63fa92
Ensure tdir is deleted on exit
2022-03-09 13:24:24 +05:30
pagedown
f1df7b1c1f
Use Python in preference to Perl
2022-03-08 13:59:32 +08:00
Kovid Goyal
65b9c69bd8
Use python in preference to perl
...
I know how to make python code robust, no clue about perl.
2022-03-08 11:05:02 +05:30
pagedown
0e3a11c53b
Use Perl in bootstrap.sh if available
2022-03-08 12:28:09 +08:00
pagedown
53d8d2aaad
Use the more explicit b64encode
...
Fix using ssh kitten to connect to OpenBSD.
2022-03-08 12:19:57 +08:00
Kovid Goyal
84303cbf2e
Use head -c only if available
2022-03-07 21:48:06 +05:30
Kovid Goyal
5e457da30b
Only use bz2 compression if bzip2 is available
2022-03-07 20:44:26 +05:30
Kovid Goyal
d037c0b0fc
OpenBSD compat
2022-03-07 20:14:02 +05:30
Kovid Goyal
90f5937413
Forgot to use the actual python variable
2022-03-07 19:41:18 +05:30
Kovid Goyal
cbbea37b0c
...
2022-03-07 19:37:30 +05:30
Kovid Goyal
4d74b23f20
Merge branch 'ksi-bash' of https://github.com/page-down/kitty
2022-03-07 19:26:56 +05:30
Kovid Goyal
79dd26a43a
...
2022-03-07 18:38:06 +05:30
Kovid Goyal
259e3076fa
Ensure python is searched for only once
2022-03-07 18:36:56 +05:30
Kovid Goyal
f2cb2422f0
Use python when base64 is not available
2022-03-07 18:34:02 +05:30
pagedown
4aea64261e
...
2022-03-07 20:56:02 +08:00
pagedown
cf0cd9acd9
Remove trailing semicolons
2022-03-07 20:53:35 +08:00
pagedown
b4b0bdc853
DCS @ kitty-print should be output to STDERR
2022-03-07 20:49:18 +08:00
pagedown
0b2837fcfa
Fix bash integration debug log printing
2022-03-07 20:43:14 +08:00
Kovid Goyal
f20ad7df01
Better error message when base64 is not found
2022-03-07 18:12:01 +05:30
Kovid Goyal
c9071a66ca
ssh kitten: Add an option to change the cwd at login
2022-03-07 12:24:37 +05:30
Kovid Goyal
b0ea960159
Dont use --no-same-owner when extracting tar archives
...
This flag is missing on OpenBSD and is the default on other platforms
when extracting as non-root. Make the uname/gname taringo field empty so
when extracting as root files will always be owned by root.
2022-03-07 12:10:45 +05:30
Kovid Goyal
0e7f1d60d6
Have bootstrap.sh preserve file permissions when untarring
2022-03-07 11:45:14 +05:30
Kovid Goyal
03c79502f9
Use uname -m for hostname in bootstrap.sh if needed
2022-03-07 11:24:44 +05:30
Kovid Goyal
d4d4e00f9d
Merge branch 'ksi' of https://github.com/page-down/kitty
2022-03-07 11:18:15 +05:30
Kovid Goyal
b52e5e795e
Dont use a double quote in bootstrap.py
2022-03-07 11:11:10 +05:30
Kovid Goyal
68df13d3fe
Fix recursive definitions in env vars not expanded
2022-03-07 11:07:26 +05:30
pagedown
5f3d90e411
...
2022-03-07 12:39:49 +08:00
pagedown
1b68e41db4
Remove the fish integration prompt end B prompt marking
...
Currently kitty does not use the B prompt marking.
This is consistent with the zsh and bash implementations.
Improve compatibility with most user configurations.
2022-03-07 12:12:52 +08:00
pagedown
817ac82968
Detect SSH sessions without affecting performance
...
Exclude local runs by KITTY_PID.
Check KITTY_WINDOW_ID to detect connections via ssh kitten.
Check SSH via who -m with the integration manually installed and sudo.
2022-03-07 12:00:55 +08:00
pagedown
43fd8cb13c
Unify exec function definition order
2022-03-07 11:36:52 +08:00
pagedown
397fbe7ad3
Avoid unnecessary which and fix typos
2022-03-07 11:30:12 +08:00
pagedown
3095e7a256
Remove trailing semicolons
2022-03-07 11:25:22 +08:00
pagedown
df9e893cbe
Explicitly use builtin and command
2022-03-07 11:24:18 +08:00
Kovid Goyal
2404eba11f
ssh kitten: Passthrough to ssh if run outside of kitty
...
Also, ensure that the ssh data request is only served if it is received
over the tty of the correct kitty window.
2022-03-07 06:48:18 +05:30
Kovid Goyal
795953a341
get rid of the who -m ssh session test
...
I dont like executing a binary in a fast startup script. Lets see
if there are a lot of sessions in the wild that dont use the SSH_TTY
env var
2022-03-06 15:47:08 +05:30
Kovid Goyal
00d2a8527f
Fix parsing of env vars in bootstrap.py
2022-03-06 15:05:40 +05:30
Kovid Goyal
a1ade8fc42
Dont use format strings in bootstrap.py
2022-03-06 14:47:44 +05:30
Kovid Goyal
7f9fec061a
bootstrap.py is now tested the same as bootsstrap.sh
2022-03-06 14:26:15 +05:30
Kovid Goyal
ec782d3296
More work on bootstrap.py
2022-03-06 13:23:30 +05:30
Kovid Goyal
2444864508
Make compiling of terminfo atomic
2022-03-06 13:04:57 +05:30
Kovid Goyal
1ccc50b21b
More work on bootstrap.py
2022-03-06 12:55:36 +05:30
Kovid Goyal
85c6d8f16e
More robust check for exec -a support
2022-03-06 12:20:06 +05:30
Kovid Goyal
14d391cc2e
Check $pipestatus for zsh as well
2022-03-06 11:43:33 +05:30
Kovid Goyal
8fe87a0df5
Search PATH when executing login shell
2022-03-06 11:13:40 +05:30
Kovid Goyal
675411df85
Start work on python bootstrap
2022-03-05 15:43:55 +05:30
Kovid Goyal
f94d33fa6a
...
2022-03-05 15:29:09 +05:30
Kovid Goyal
7fe110dff1
Move code to initialize TTY into its own function
2022-03-05 15:16:04 +05:30
Kovid Goyal
591f711886
DRYer
2022-03-05 15:10:09 +05:30
Kovid Goyal
1dc7fc8ac7
Note that zsh's read function is terminally broken
2022-03-05 14:56:57 +05:30
Kovid Goyal
01dd0416ac
Add an option to control the login shell
2022-03-05 11:16:15 +05:30
Kovid Goyal
0bd1676978
Some cleanup
2022-03-05 10:58:42 +05:30
Kovid Goyal
30e635a934
Use zsh's builtin functions to do I/O with TTY
...
Far more robust than the system tools
2022-03-05 10:31:00 +05:30
Kovid Goyal
f6706a55ec
...
2022-03-05 09:20:08 +05:30
Kovid Goyal
e469b46ce5
Avoid calling who is either of SSH_TTY or SSH2_TTY are defined
2022-03-04 21:40:24 +05:30
Kovid Goyal
0a2b09da40
Prevent inject loop
2022-03-04 21:12:41 +05:30
Kovid Goyal
c02d578468
Nicer error message if bash version < 4
...
macOS has bash 3
2022-03-04 20:59:22 +05:30
Kovid Goyal
e990d233e5
ooops
2022-03-04 20:54:26 +05:30
Kovid Goyal
a7cdcfcc16
Bash integration: Prevent shell integration code from running twice if user enables both automatic and manual integration
2022-03-04 20:48:57 +05:30
Kovid Goyal
75224e1661
Merge branch 'ksi-bash' of https://github.com/page-down/kitty
2022-03-04 20:37:05 +05:30
pagedown
c8313409ff
Explicitly call bash builtin
2022-03-04 19:36:38 +08:00
Kovid Goyal
6cba8e0166
remove unused variable
2022-03-04 14:52:55 +05:30
Kovid Goyal
0067726bbe
spelling
2022-03-04 13:52:33 +05:30
Kovid Goyal
95efeee7de
Also return user name when requesting bootstrap data
2022-03-04 12:16:45 +05:30
Kovid Goyal
da30536709
bash/zsh integration: Show hostname in title when in an SSH session
2022-03-04 11:13:59 +05:30
Kovid Goyal
108ccffcd8
assume grep is present
2022-03-04 10:13:23 +05:30
Kovid Goyal
c3ce0c26e7
...
2022-03-04 10:01:33 +05:30
Kovid Goyal
e0c984046c
EXEC_CMD must come after login_shell detection since it can use login_shell
2022-03-04 10:00:12 +05:30
Kovid Goyal
64d6337612
...
2022-03-04 09:54:17 +05:30
Kovid Goyal
603684211f
bootstrap should not fail if no tty present
2022-03-04 08:30:23 +05:30
Kovid Goyal
3f3efab221
Fix hostname detection when hostname binary not present
2022-03-04 07:22:59 +05:30
Kovid Goyal
ad7c251f56
Fix ln failing if link exists
2022-03-04 07:08:04 +05:30
Kovid Goyal
1c558be524
Port HISTFILE fix to ssh bash launcher
2022-03-03 21:24:45 +05:30
Kovid Goyal
b4cc38a1d9
Fix symlink extraction over ssh
2022-03-03 21:24:45 +05:30
Kovid Goyal
8867317b6a
Allow transferring files outside of HOME
2022-03-03 21:24:45 +05:30
Kovid Goyal
e5ba15949b
$size doesnt need to be global
2022-03-03 21:24:45 +05:30
Kovid Goyal
0e2125cda3
When die-ing bring cursor back to zero column explicitly since it could happen in raw mode
2022-03-03 21:24:45 +05:30
Kovid Goyal
95da414511
Avoid one record read
2022-03-03 21:24:45 +05:30
Kovid Goyal
ae48407b20
untar files atomically
2022-03-03 21:24:45 +05:30
Kovid Goyal
ae6665493a
Implement setting of env vars
2022-03-03 21:24:44 +05:30
Kovid Goyal
59f656e3ca
Allow controlling where on the remote computer the ssh kitten installs its data
2022-03-03 21:24:44 +05:30
Kovid Goyal
12658c4756
Make ssh data start request transmission more robust
2022-03-03 21:24:44 +05:30
Kovid Goyal
37c185462a
Handle error messages form terminal during bootstrap
2022-03-03 21:24:44 +05:30
Kovid Goyal
5c8651c7cd
bootstrap script should work even when stdout is redirected
2022-03-03 21:24:44 +05:30
Kovid Goyal
02a68e7541
Pass the value of shell_integration in the tarfile
...
Allows per host overrides and also avoids needing to read kitty.conf in
the ssh kitten
2022-03-03 21:24:44 +05:30
Kovid Goyal
6e5dbc5285
Test for handling of leading data
2022-03-03 21:24:44 +05:30
Kovid Goyal
fda9415873
Use a record separator to delimit the start of data
...
Needed because the user could press keys and send data to the tty
before kitty can send the ssh data
2022-03-03 21:24:44 +05:30
Kovid Goyal
4054163447
DRYer
2022-03-03 21:24:44 +05:30
Kovid Goyal
44baeb6924
Run login_shell detection tests with all available shells
2022-03-03 21:24:44 +05:30
Kovid Goyal
c00e8b1709
Add tests for the individual login_shell detection functions
2022-03-03 21:24:44 +05:30
Kovid Goyal
86b15ad693
fix detection of python when no python2 or python3 links present
2022-03-03 21:24:43 +05:30
Kovid Goyal
53c00ac631
Fix detection of login shell from passwd
2022-03-03 21:24:43 +05:30
Kovid Goyal
99d0c2d846
Get reading data working on macOS
2022-03-03 21:24:43 +05:30
Kovid Goyal
a71e7d7eb1
Simplify data transmission
2022-03-03 21:24:43 +05:30
Kovid Goyal
3c28a4f723
sh on macOS doesnt have echo -n
2022-03-03 21:24:43 +05:30
Kovid Goyal
c24e16e8cd
debug function
2022-03-03 21:24:43 +05:30
Kovid Goyal
198dd52700
Better error messages
2022-03-03 21:24:43 +05:30
Kovid Goyal
2dfea0f213
Fix a couple of conditions so they work in older dash
2022-03-03 21:24:43 +05:30
Kovid Goyal
78b553e55e
Add tests for turning off shell integration in the bootstrap script
2022-03-03 21:24:43 +05:30
Kovid Goyal
8ca3a511cc
Get the ssh bootstrap tests fully working
2022-03-03 21:24:43 +05:30
Kovid Goyal
ddb8753548
Work on enabling shell integration over ssh
2022-03-03 21:24:43 +05:30
Kovid Goyal
e73525d0a2
Start work on testing the bootstrap script
2022-03-03 21:24:43 +05:30
Kovid Goyal
f37d947dd5
more work on ssh data transmission
2022-03-03 21:24:42 +05:30
Kovid Goyal
2dd7c3b939
More work on ssh bootstrap
2022-03-03 21:24:42 +05:30
Kovid Goyal
8c7ffc90f3
Fix the default bash HISTFILE changing to .sh_history instead of .bash_history
...
Fixes #4765
2022-02-28 20:06:48 +05:30
pagedown
74c56d69ac
Also fall back to check the last known working version of fish
2022-02-28 19:26:20 +08:00
Kovid Goyal
ef5c66ee17
Dont bother with new escape code for setting title
...
Since we are only sending the last command, it cannot have CSI
sequences in it anyway except in extremely contrived situations, so just
strip all ctrl chars out.
2022-02-27 10:55:02 +05:30
Kovid Goyal
33abd31d1a
...
2022-02-27 10:48:52 +05:30
Kovid Goyal
30146007d3
Avoid extra tr invocation
2022-02-27 10:23:04 +05:30
Kovid Goyal
d53f8f24c4
Fix #4757
...
Still have to do the fix for zsh/fish
2022-02-27 10:20:19 +05:30
pagedown
121778e5c6
Remove unnecessary function checks
2022-02-27 00:08:36 +08:00
pagedown
ef32488890
Shell integration: Fix fish pipestatus being overwritten
2022-02-27 00:07:46 +08:00
pagedown
4f3da2bc00
Output warnings for outdated versions of fish
2022-02-24 20:25:48 +08:00
pagedown
7b8c2c846f
Shell integration: Check fish version and exit on outdated versions
2022-02-24 18:43:46 +08:00
Kovid Goyal
27f3a5e16a
Fix previous PR breaking bash integration
2022-02-23 12:30:02 +05:30
pagedown
444a690a86
Remove the extra comment line
2022-02-23 14:37:45 +08:00
pagedown
3d7b3f7d72
Use the official project name of Bash
2022-02-23 14:21:13 +08:00
pagedown
741ef7f115
Remove new lines with bash
2022-02-23 14:09:13 +08:00
pagedown
e0c84c7176
Use bash builtin
2022-02-23 14:01:47 +08:00
pagedown
393425e3d1
Remove trailing spaces
2022-02-23 13:59:39 +08:00
Kovid Goyal
c47f41cfc0
Add tests for bash startup file sourcing
2022-02-23 08:35:24 +05:30
Kovid Goyal
d4f4d56f94
DRYer
2022-02-22 21:32:33 +05:30
Kovid Goyal
0108037076
Dont leak the ENV environ var we use to load our integration script into the shell
2022-02-22 21:29:32 +05:30
Kovid Goyal
88091b4ab3
BASH integration: No longer modify .bashrc to load shell integration
...
I think I have things setup robustly so that the shell integration
is loaded transparently via env vars and the normal bash startup files
are sourced, in the same way that vanilla bash does it. Let's hope I
haven't overlooked something.
2022-02-22 21:24:51 +05:30
Kovid Goyal
dac9b07f16
bash shell integration: Handle both literal and escaped newlines in PS1
2022-02-22 18:30:20 +05:30
Kovid Goyal
05617f7dca
strip kitty markup from ps1 before checking for newlines
2022-02-22 11:40:09 +05:30
Kovid Goyal
2d2f4b9ba9
Multi-line processing of bash prompts should only be done when the prompt actually contains a newline
2022-02-21 22:54:10 +05:30
Kovid Goyal
9bfa4553a8
Shell integration: bash: Fix rendering of multiline prompts with more than two lines
...
Fixes #4681
2022-02-11 06:08:34 +05:30
pagedown
f5415ca824
Restore XDG_DATA_DIRS right after fish integration script is loaded
2022-02-09 13:06:38 +08:00
Kovid Goyal
dc6138d286
Add a note about why we check _ksi_prompt_command
2022-02-08 19:52:02 +05:30
Kovid Goyal
7457f637a2
bash shell integration: Dont call _ksi_prompt_command from PROMPT_COMMAND unlessit is set
2022-02-08 19:48:30 +05:30
Kovid Goyal
f9d9fe6db4
Shell integration: bash: Dont fail if an existing PROMPT_COMMAND ends with a semi-colon
...
Fixes #4645
2022-02-06 19:02:39 +05:30
Kovid Goyal
bc873ad838
bash shell integration: To title and cursor escape codes at end of PS1/PS0 so that they override pre-existing ones
...
This is needed because some distros like Debian patch the default bashrc
to set a user@host:/pwd style title which is extremely unsuitable for
kitty.
2022-01-30 11:13:46 +05:30
Kovid Goyal
44e3a6f0fb
Shell integration: Set cursor shape to whatever is specified in the cursor_shape option when executing a command rather than the block shape
2022-01-25 13:30:48 +05:30
pagedown
a47b3bf578
Fix the blinking block cursor shape for commands in bash integration
2022-01-25 14:00:28 +08:00
pagedown
3aec573d40
Use blinking block for commands consistent with zsh and bash integration
2022-01-25 13:58:11 +08:00
pagedown
5d4b0c0bef
Set the pre-exec cursor shape in fish vi mode and config on demand
2022-01-25 13:01:54 +08:00
pagedown
11c0343420
Add comments and minor tweaks to fish integration
2022-01-25 11:52:34 +08:00
Kovid Goyal
287b843d13
add a comment
2022-01-24 22:14:56 +05:30
Kovid Goyal
1fea4777fa
zsh shell integration: Restore cursor to blinking block before running external commands
2022-01-24 22:06:52 +05:30
pagedown
c5e8a36f9b
Shell integration: Improvements for fish integration
...
Move the completion function to the autocomplete script.
Fix some issues with cursor shape setting, respect user configuration.
Functions and vars start with two underscores, following the convention.
Other minor refactoring.
2022-01-19 09:39:23 +08:00
Kovid Goyal
71106bcd39
Shell integration: Dont override fish's native title setting functionality
...
See discussion: https://github.com/fish-shell/fish-shell/issues/8641
2022-01-16 15:58:11 +05:30
Kovid Goyal
fa6c74a9b1
...
2022-01-15 11:49:02 +05:30
Kovid Goyal
8174ecb318
Use only bash builtins to get currently executing command
2022-01-15 11:46:25 +05:30
Kovid Goyal
5f20d69309
Move extraction of last cmd into its own function
2022-01-15 10:58:16 +05:30
pagedown
85254746bf
Shell integration: Remove functions that run only once at start
2022-01-15 12:34:52 +08:00
pagedown
77787bdc7c
Shell integration: Improvements in fish integration
2022-01-15 12:01:47 +08:00
pagedown
9813ad04c2
Shell integration: Set the fish vi mode cursor to blink
2022-01-15 10:29:26 +08:00
Kovid Goyal
e51b520897
Merge branch 'ksi-fish-title' of https://github.com/page-down/kitty
2022-01-14 23:29:48 +05:30
Kovid Goyal
35207af3de
Another use of builtin
2022-01-14 23:28:10 +05:30
Kovid Goyal
96269510d3
Abort before defining anything and dont touch global state via set
2022-01-14 23:26:40 +05:30
pagedown
ceb7c440a1
Shell integration: Only override default fish_title
2022-01-15 01:46:14 +08:00
Kovid Goyal
25e1edf52e
...
2022-01-14 23:03:44 +05:30
Kovid Goyal
7a903adeea
let _ksi_debug_print handle multiple args
2022-01-14 22:53:39 +05:30
Kovid Goyal
914f4e9ec9
Dont break if user aliases or redefines various builtins we use
2022-01-14 22:47:49 +05:30
Kovid Goyal
4c5673dc4d
Freeze _ksi_prompt to prevent it from being edited
2022-01-14 22:35:37 +05:30
pagedown
a0476c03c3
Improve fish cursor shape integration
2022-01-14 22:57:31 +08:00
Kovid Goyal
9dd5410433
Dont rely on declare -g existing in bash
2022-01-14 18:21:21 +05:30
Kovid Goyal
b53d756bc2
Shell integration: Fix bash integration not working when PROMPT_COMMAND is used to change the prompt variables
...
Fixes #4476
2022-01-14 12:14:48 +05:30
Roman Perepelitsa
6c1fd3015f
Fix a minor bug in zsh integration
...
This bug is extremely unlikely to cause issues.
2022-01-09 10:45:47 +01:00
Silent Crafter
e106562ef1
Bash: for loop array iteration fix
...
the array iteration wasn't implemented correctly for KITTY_SHELL_INTEGRATION variable. the i variable in for loop wasn't iterating through all the elements of that array
2022-01-06 09:52:59 +05:30
Kovid Goyal
d3a20f00d6
Add a comment explaining where we use PS2 marks
2022-01-06 09:25:41 +05:30
Kovid Goyal
a574081012
Merge branch 'zsh-integration' of https://github.com/romkatv/kitty
2022-01-05 21:29:30 +05:30
Roman Perepelitsa
4f06ce9d72
Once again start embedding marks in PS2 on zsh
2022-01-05 16:36:00 +01:00
Kovid Goyal
6713580455
Explicitly turn off aliases in a more functions
...
Not really needed, but I like to be explicit
2022-01-05 21:04:27 +05:30
Roman Perepelitsa
9194d1db6b
Disable aliases when patching functions in zsh integration
2022-01-05 16:16:18 +01:00
Roman Perepelitsa
8009b85073
Make writing to the TTY more robust in zsh integration
...
See https://github.com/kovidgoyal/kitty/issues/4440 .
2022-01-05 09:55:19 +01:00
Roman Perepelitsa
4decac26f6
Fix a typo in _ksi_debug_print
2022-01-05 09:22:00 +01:00
Roman Perepelitsa
a6b74f190f
Revert "Get _ksi_debug_print working again"
...
This reverts commit ff63e58f95 .
2022-01-05 09:20:33 +01:00
Kovid Goyal
266e70222f
Avoid hooking LE widgets at all when using no-cursor
2022-01-05 07:46:20 +05:30
Roman Perepelitsa
ca8975891b
Replace add-zle-hook-widget with a series of hacks in zsh integration
2022-01-04 19:56:57 +01:00
Kovid Goyal
78495a7f64
spelling
2022-01-04 20:35:21 +05:30
Kovid Goyal
dadf496a68
remove leftover debug print
2022-01-04 12:01:23 +05:30
Kovid Goyal
f17d71454a
...
2021-12-31 22:51:16 +05:30
Kovid Goyal
59ea7485e4
Fix loading of kitty completions broken by unfunctioning of kitty-integration
2021-12-31 22:49:09 +05:30
Kovid Goyal
ff63e58f95
Get _ksi_debug_print working again
2021-12-31 22:38:39 +05:30
pagedown
ae35507f80
Use the lowercase kitty
2021-12-24 12:02:54 +08:00
pagedown
73ff508b51
Docs: unfunction kitty-integration
2021-12-24 11:46:08 +08:00
Roman Perepelitsa
9bba38bd11
Unfunction kitty-integration in zsh
2021-12-23 19:09:09 +01:00
Roman Perepelitsa
37741ac808
Add a comment within zsh integration related to cursor shape changes
2021-12-22 15:04:31 +01:00
Roman Perepelitsa
6d790237c3
Rewrite zsh integration
...
Note:
- Very lightly tested.
- Docs not updated.
2021-12-22 14:04:40 +01:00
Roman Perepelitsa
09d025d88f
Minor robustness improvements to zsh shell integration
2021-12-20 13:20:38 +01:00
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