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

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
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.

1 participant