1
1
mirror of https://github.com/mawww/kakoune.git synced 2024-08-17 00:30:26 +03:00
This commit is contained in:
Bob 2024-06-26 14:50:34 +02:00 committed by GitHub
commit cbca6f11ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,6 +2,8 @@ declare-option -docstring "name of the client in which all source code jumps wil
str jumpclient
declare-option -docstring "name of the client in which utilities display information" \
str toolsclient
declare-option -docstring "the pattern for the jump information in the line, such as file:line:col" \
str jump_pattern "^([^:\n]+)(?::(\d+))(?::(\d+))?"
provide-module jump %{
@ -11,7 +13,7 @@ define-command -hidden jump %{
evaluate-commands -save-regs a %{ # use evaluate-commands to ensure jumps are collapsed
try %{
evaluate-commands -draft %{
execute-keys ',xs^([^:\n]+):(\d+):(\d+)?<ret>'
execute-keys ",xs%opt{jump_pattern}<ret>"
set-register a %reg{1} %reg{2} %reg{3}
}
set-option buffer jump_current_line %val{cursor_line}
@ -41,7 +43,10 @@ define-command -hidden jump-select-next %{
# First jump to end of buffer so that if jump_current_line == 0
# 0g<a-l> will be a no-op and we'll jump to the first result.
# Yeah, thats ugly...
execute-keys ge %opt{jump_current_line}g<a-l> /^[^:\n]+:\d+:<ret>
evaluate-commands -save-regs / %{
set-register / %opt{jump_pattern}
execute-keys ge %opt{jump_current_line}g<a-l>/<ret>
}
}
define-command jump-previous -params 1.. -docstring %{
@ -62,7 +67,10 @@ define-command jump-previous -params 1.. -docstring %{
complete-command jump-previous buffer
define-command -hidden jump-select-previous %{
# See comment in jump-select-next
execute-keys ge %opt{jump_current_line}g<a-h> <a-/>^[^:\n]+:\d+:<ret>
evaluate-commands -save-regs / %{
set-register / %opt{jump_pattern}
execute-keys ge %opt{jump_current_line}g<a-h> <a-/><ret>
}
}
}