diff options
| author | Alex Leferry 2 <alexherbo2@gmail.com> | 2020-08-17 04:57:14 +0200 |
|---|---|---|
| committer | Alex Leferry 2 <alexherbo2@gmail.com> | 2020-08-17 05:02:55 +0200 |
| commit | 6e7d0341de360a0ffa889c9f00c27ff301a60944 (patch) | |
| tree | 858dc9b635c1856664420eee1d7b43e8ad0cc46d | |
| parent | ad7d2636d4aa253370848a5d641fa1664179d240 (diff) | |
Add an :edit-wait command
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | rc/env/git.env | 2 | ||||
| -rwxr-xr-x | rc/paths/commands/:edit-wait | 27 |
3 files changed, 29 insertions, 2 deletions
@@ -149,7 +149,7 @@ change or export environment variables. ``` kak set-option global connect_environment %{ SHELL=elvish - export GIT_EDITOR=:attach + export GIT_EDITOR=kak } ``` diff --git a/rc/env/git.env b/rc/env/git.env index d90e610..c7e5fd1 100644 --- a/rc/env/git.env +++ b/rc/env/git.env @@ -1 +1 @@ -export GIT_EDITOR=kak +export GIT_EDITOR=:edit-wait diff --git a/rc/paths/commands/:edit-wait b/rc/paths/commands/:edit-wait new file mode 100755 index 0000000..7da1c3d --- /dev/null +++ b/rc/paths/commands/:edit-wait @@ -0,0 +1,27 @@ +#!/bin/sh + +# Open files +:edit "$@" + +# Prompt and wait +printf '[e]dit, [c]ontinue or [a]bort' +read -n 1 key + +# Attach the session +[ "$key" = 'e' ] && :attach; edit_exit_code=$? + +# Close buffers +for file do + :send delete-buffer "$file" +done + +# Set exit code +case "$key" in + e) exit_code=$edit_exit_code ;; + c) exit_code=0 ;; + a) exit_code=1 ;; + *) exit_code=0 ;; +esac + +# Exit code +exit "$exit_code" |
