From 4164b067b48092d2fc7f3f0460e495c991e2a0b0 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Tue, 1 Jul 2025 18:01:06 -0400 Subject: [PATCH] AutoYADM commit: 2025-07-01 18:01:06 --- .config/kak/autoload/insert-mode.kak | 49 ++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/.config/kak/autoload/insert-mode.kak b/.config/kak/autoload/insert-mode.kak index 91b57c45..a60e5e41 100644 --- a/.config/kak/autoload/insert-mode.kak +++ b/.config/kak/autoload/insert-mode.kak @@ -1,5 +1,50 @@ -map global insert -map global insert +# arrow keys for completions + +declare-option -hidden str completions_status 'completions-off' +define-command -hidden completions-off fail +define-command -hidden completions-on nop +define-command -hidden completions-up nop +define-command -hidden completions-down fail + +hook global InsertCompletionShow .* %{ + set-option window completions_status 'completions-on' +} + +hook global InsertCompletionHide .* %{ + set-option window completions_status 'completions-off' +} + +define-command -hidden assert-completions %{ + %opt{completions_status} +} + +# arg: "completions-up" or "completions-down" +define-command -hidden -params 1 move-or-complete %{ + try %{ + # completions are visible + %opt{completions_status} + try %{ + # up + %arg{1} + execute-keys + } catch %{ + # down + execute-keys + } + } catch %{ + # completions are not visible + try %{ + # up + %arg{1} + execute-keys + } catch %{ + execute-keys + } + } +} + +map global insert ': move-or-complete completions-down' +map global insert ': move-or-complete completions-up' map global insert map global insert