From fb52df34924781ed3d42ca8864402c3e7a52d4aa Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 26 Jun 2026 13:51:29 +0530 Subject: Move dir and file:lineno handling to files.kak --- autoload/+init.kak | 32 -------------------------------- autoload/files.kak | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 32 deletions(-) (limited to 'autoload') diff --git a/autoload/+init.kak b/autoload/+init.kak index f235e65..898c04b 100644 --- a/autoload/+init.kak +++ b/autoload/+init.kak @@ -38,35 +38,3 @@ hook global RegisterModified '/' %{ # Highlight search add-highlighter -override global/search regex "%reg{/}" 0:search } - -# # Preserve count for user modes (look for alternatives) -# declare-option -hidden int user_mode_count 0 -# define-command enter-user-mode-with-count -params 1 %{ -# set-option window user_mode_count %val{count} -# enter-user-mode %arg{1} -# } - -# Open directory (bits from explore.kak) -hook global RuntimeError '\d+:\d+: ''(?:edit|e)''(.+): is a directory' %{ - file-manager %val(hook_param_capture_1) -} -hook global KakBegin .* %{ hook -once global WinCreate .* %{ hook -once global NormalIdle '' %{ - try %{ evaluate-commands -draft -save-regs '/' %{ - buffer *debug* - set-register / 'error while opening file ''(.+?)'':\n\h+(.+?): is a directory' - execute-keys '%1s' - evaluate-commands -draft -itersel %{ - evaluate-commands -client %val(client) file-manager %reg(.) - } - }} -}}} - -# Open file:linenum -hook global WinDisplay (.*):(\d+)$ %{ - # Use string to eval quickly - # FIXME: Replace normalidle hack with better approach to "defer" - hook -once buffer NormalIdle .* " - delete-buffer %val{hook_param} - edit %val{hook_param_capture_1} %val{hook_param_capture_2} - " -} diff --git a/autoload/files.kak b/autoload/files.kak index 652111c..e4c24bf 100644 --- a/autoload/files.kak +++ b/autoload/files.kak @@ -60,3 +60,28 @@ def buffer-jump -params 1 %{ fi } } + +# Open directory (bits from explore.kak) +hook global RuntimeError '\d+:\d+: ''(?:edit|e)''(.+): is a directory' %{ + file-manager %val(hook_param_capture_1) +} +hook global KakBegin .* %{ hook -once global WinCreate .* %{ hook -once global NormalIdle '' %{ + try %{ evaluate-commands -draft -save-regs '/' %{ + buffer *debug* + set-register / 'error while opening file ''(.+?)'':\n\h+(.+?): is a directory' + execute-keys '%1s' + evaluate-commands -draft -itersel %{ + evaluate-commands -client %val(client) file-manager %reg(.) + } + }} +}}} + +# Open file:linenum +hook global WinDisplay (.*):(\d+)$ %{ + # Use string to eval quickly + # FIXME: Replace normalidle hack with better approach to "defer" + hook -once buffer NormalIdle .* " + delete-buffer %val{hook_param} + edit %val{hook_param_capture_1} %val{hook_param_capture_2} + " +} -- cgit v1.3.1