Skip to content

Conversation

trekdemo
Copy link

The strategy adds support for :Make/:Dispatch and :Start/:Spawn task execution using the Kitty terminal emulator's windows and tabs.

:Make/:Dispatch tasks use kitty's get-text1 feature to avoid piping command outputs. This allows interactive debugging sessions and complex TUIs to function. It also allows outputs to display in color during execution and capture the output without ANSI codes.

Environment isolation is implemented using the --copy-env and --env flags. Environment variables are copied over, except the ones set by (neo)vim itself.

vim-dispatch-kitty.mp4

👋 Hey Mr. Pope,

A huge fan here. I've used this plugin for the last decade. I'm grateful for your work and glad that this plugin helped me have fun and earn a living.

I used this plugin with the tmux strategy since the beginning. Lately, I grew apart from tmux and started using the multiplexing capabilities of the Kitty terminal emulator.

I've been testing this patch for the last month and have fixed all the issues I encountered. It's my first major Vimscript project, so I'm unsure if everything meets the standards.

Please let me know if this strategy is something you would like to add to this esteemed plugin.

Footnotes

  1. https://sw.kovidgoyal.net/kitty/remote-control/#kitten-get-text

@kelvinst
Copy link

I have being using it and it works like a charm. Maybe just a good idea to be clearer on the instruction about setting remote control. I mean, I was just setting as allow_remote_control yes and was not setting listen_on option in kitty.conf. After I did that it work perfectly

The strategy adds support for :Make/:Dispatch and :Start/:Spawn
task execution using Kitty windows and tabs.

:Make/:Dispatch tasks use kitty's get-text[^1] feature to avoid piping
command outputs. This allows interactive debugging sessions and complex
TUIs to function. It also allows outputs to display in color during
execution and capture the output without ANSI codes.

Environment isolation is implemented using the `--copy-env` and `--env`
flags. Environment variables are copied over except the ones set by
(neo)vim itself.

[^1]: https://sw.kovidgoyal.net/kitty/remote-control/#kitten-get-text
@trekdemo
Copy link
Author

I have being using it and it works like a charm. Maybe just a good idea to be clearer on the instruction about setting remote control. I mean, I was just setting as allow_remote_control yes and was not setting listen_on option in kitty.conf. After I did that it work perfectly

@kelvinst, thank you for the tip. I added an example kitty config with some explanation and a reference to the neovim issue tracker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants