From f7bca0102a01f5f0d6392a5cbb783f7350d5ab3e Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Sat, 4 May 2024 10:31:08 +0100 Subject: [PATCH] Tweak .build-dir widget and only enable during build-dir --- build/build.plugin.zsh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/build/build.plugin.zsh b/build/build.plugin.zsh index df7ec2f..456a1e7 100644 --- a/build/build.plugin.zsh +++ b/build/build.plugin.zsh @@ -194,6 +194,10 @@ EOF if [[ -n $do_build ]]; then eval build fi + + # Bind C-B to fuzzy find & complete cmake variables. + zle -N .build-var + bindkey '^B' .build-var } # Build then run a target residing in `~build/bin`. @@ -210,9 +214,6 @@ build-debug() { # Fuzzy find CMake variables, select one to set the variable via a command. .build-var() { - if [[ ! -n $build_dir ]]; then - build-dir - fi local var=$( cat $build_dir/CMakeCache.txt | grep --color=never -Ex '^\w+:\w+=.*$' | @@ -220,10 +221,12 @@ build-debug() { --cycle --height=50% ) if [[ -n "$var" ]]; then - BUFFER="cmake -B\$build_dir -D$var" + if [[ "$BUFFER" = "cmake"* ]]; then + BUFFER="$BUFFER-D$var" + else + BUFFER="cmake -B\$build_dir -D$var" + fi zle end-of-line fi zle reset-prompt } -zle -N .build-var -bindkey '^B' .build-var