diff options
| author | Akshay Nair <phenax5@gmail.com> | 2026-06-26 13:51:29 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2026-06-26 13:51:29 +0530 |
| commit | fb52df34924781ed3d42ca8864402c3e7a52d4aa (patch) | |
| tree | 5e23ea801e0e1482ed87c56ee1aa813af2613bf3 /autoload/files.kak | |
| parent | d2f4982e389431b74357bbc108567ae0e1d912a5 (diff) | |
| download | kakoune-config-fb52df34924781ed3d42ca8864402c3e7a52d4aa.tar.gz kakoune-config-fb52df34924781ed3d42ca8864402c3e7a52d4aa.zip | |
Move dir and file:lineno handling to files.kak
Diffstat (limited to 'autoload/files.kak')
| -rw-r--r-- | autoload/files.kak | 25 |
1 files changed, 25 insertions, 0 deletions
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<ret>' + 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} + " +} |
