From 4f770fd649906c72aafbc2c4717fe21655d7fe8b Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Sat, 28 Jun 2025 12:21:26 +0100 Subject: [PATCH] Add popup to choose an interpreter and launch it --- interpreter.sh | 30 ++++++++++++++++++++++++++++++ tmux.conf | 2 ++ 2 files changed, 32 insertions(+) create mode 100755 interpreter.sh diff --git a/interpreter.sh b/interpreter.sh new file mode 100755 index 0000000..3a9013c --- /dev/null +++ b/interpreter.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -e + +interpreters=() + +add() { + local interp=$1 + if command -v $interp &> /dev/null; then + interpreters+=($(where $interp)) + fi +} + +add ipython +add python +add cling +add lua +add luajit +add node + +add bash +add zsh +add fish + +interpreter=$( + echo "${interpreters[@]}" | tr ' ' '\n' | + fzf --layout=reverse --info=hidden --border=none --cycle +) + +$interpreter diff --git a/tmux.conf b/tmux.conf index bc4db89..ad6c3f2 100644 --- a/tmux.conf +++ b/tmux.conf @@ -66,6 +66,8 @@ if -b '[ "`uname`" = "Darwin" ]' \ bind C-t display-popup -S fg=#54546D -b rounded -d '#{pane_current_path}' -E $SHELL # Open a popup with session creator/switcher bind C-s display-popup -B -w 60 -h 10 -E '~/.config/tmux/session.sh' +# Open a popup to pick an interpreter then launch it +bind C-i display-popup -S fg=#54546D -b rounded -d '#{pane_current_path}' -E '$SHELL -i ~/.config/tmux/interpreter.sh' # Restore old next/previous window bindings bind C-n next-window