summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorfossdd <fossdd@pwned.life>2025-01-23 20:43:27 +0100
committerGitHub <noreply@github.com>2025-01-23 20:43:27 +0100
commit69410e702014b6f6f09f659a5747c5a6ace7a09a (patch)
treec4a3ac6e9b17e85fcc372853a932320c95ba27cb /plugins
parent4e29c670a48a17276d04b3e47262b10f28dfcc0b (diff)
downloadzsh-69410e702014b6f6f09f659a5747c5a6ace7a09a.tar.gz
zsh-69410e702014b6f6f09f659a5747c5a6ace7a09a.tar.bz2
zsh-69410e702014b6f6f09f659a5747c5a6ace7a09a.zip
feat(foot): add foot plugin (#12849)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/foot/README.md35
-rw-r--r--plugins/foot/foot.plugin.zsh10
2 files changed, 45 insertions, 0 deletions
diff --git a/plugins/foot/README.md b/plugins/foot/README.md
new file mode 100644
index 000000000..67777d9fa
--- /dev/null
+++ b/plugins/foot/README.md
@@ -0,0 +1,35 @@
+# foot
+
+This plugin adds shell integration for [foot, a fast, lightweight and
+minimalistic Wayland terminal emulator](https://codeberg.org/dnkl/foot).
+
+To use, add `foot` to the list of plugins in your `.zshrc` file:
+
+```zsh
+plugins=(... foot)
+```
+
+## Spawning new terminal instances in the current working directory
+
+When spawning a new terminal instance (with `ctrl+shift+n` by default), the new
+instance will start in the current working directory.
+
+## Jumping between prompts
+
+Foot can move the current viewport to focus prompts of already executed
+commands (bound to ctrl+shift+z/x by default).
+
+## Piping last command's output
+
+The key binding `pipe-command-output` can pipe the last command's output to an
+application of your choice (similar to the other `pipe-*` key bindings):
+
+```
+[key-bindings]
+pipe-command-output=[sh -c "f=$(mktemp); cat - > $f; footclient emacsclient -nw $f; rm $f"] Control+Shift+g
+```
+
+When pressing ctrl+shift+g, the last command's output is written to a
+temporary file, then an emacsclient is started in a new footclient instance.
+The temporary file is removed after the footclient instance has closed.
+
diff --git a/plugins/foot/foot.plugin.zsh b/plugins/foot/foot.plugin.zsh
new file mode 100644
index 000000000..c1d077e26
--- /dev/null
+++ b/plugins/foot/foot.plugin.zsh
@@ -0,0 +1,10 @@
+function precmd {
+ print -Pn "\e]133;A\e\\"
+ if ! builtin zle; then
+ print -n "\e]133;D\e\\"
+ fi
+}
+
+function preexec {
+ print -n "\e]133;C\e\\"
+}