1
1
mirror of https://github.com/mawww/kakoune.git synced 2024-08-16 16:20:38 +03:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Bob
cbca6f11ae
Merge edafb6b968 into 80fcfebca8 2024-06-26 14:50:34 +02:00
Bob Qi
edafb6b968 keep old pattern 2024-06-24 08:38:29 +08:00
Bob Qi
7519871aec introduce jump_pattern 2024-06-21 09:58:54 +08:00
Bob Qi
e1e6a76b84 support three path style in jump 2024-06-19 16:05:30 +08:00

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>
}
}
}