Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

introduce jump_pattern option #5193

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions rc/tools/jump.kak
Original file line number Diff line number Diff line change
Expand Up @@ -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 %{

Expand All @@ -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}
Expand Down Expand Up @@ -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 %{
Expand All @@ -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>
}
}

}
Expand Down