mirror of
https://github.com/mawww/kakoune.git
synced 2024-11-09 20:39:59 +03:00
rc/make.kak reuse make_error_pattern
This commit is contained in:
parent
760f63b827
commit
8424fbe0f0
@ -1,9 +1,7 @@
|
||||
declare-option -docstring "shell command run to build the project" \
|
||||
str makecmd make
|
||||
declare-option -hidden -docstring "pattern that find lines containing information about errors in the output of the `makecmd` command" \
|
||||
str make_error_pattern " (?:fatal )?error:"
|
||||
declare-option -docstring "pattern that describes lines containing information about errors in the output of the `makecmd` command. Capture groups must be: 1: filename 2: line number 3: optional column 4: optional error description" \
|
||||
regex make_error_line_pattern "^(?:\w:)?([^:\n]+):(\d+):(?:(\d+):)? (?:fatal )?error:([^\n]+)?"
|
||||
regex make_error_pattern "^(?:\w:)?([^:\n]+):(\d+):(?:(\d+):)? (?:fatal )?error:([^\n]+)?"
|
||||
|
||||
|
||||
declare-option -docstring "name of the client in which utilities display information" \
|
||||
@ -62,7 +60,7 @@ define-command -hidden make-jump %{
|
||||
set-option buffer make_current_error_line %val{cursor_line}
|
||||
make-open-error "%reg{1}/%reg{2}" "%reg{3}" "%reg{4}" "%reg{5}"
|
||||
} catch %{
|
||||
set-register / %sh{ if [ "$kak_opt_make_error_pattern" != " (?:fatal )?error:" ] ; then printf %s "^(?:\w:)?([^:\n]+):(\d+):(?:(\d+):)?${kak_opt_make_error_pattern}([^\n]+)?\z" ; else printf %s "${kak_opt_make_error_line_pattern}"; fi }
|
||||
set-register / %opt{make_error_pattern}
|
||||
execute-keys <a-h><a-l> s<ret>l
|
||||
set-option buffer make_current_error_line %val{cursor_line}
|
||||
make-open-error "%reg{1}" "%reg{2}" "%reg{3}" "%reg{4}"
|
||||
@ -73,7 +71,7 @@ define-command -hidden make-jump %{
|
||||
define-command make-next-error -docstring 'Jump to the next make error' %{
|
||||
evaluate-commands -try-client %opt{jumpclient} -save-regs / %{
|
||||
buffer '*make*'
|
||||
set-register / %sh{ if [ "$kak_opt_make_error_pattern" != " (?:fatal )?error:" ] ; then printf %s "^(?:\w:)?[^:\n]+:\d+:(?:\d+:)?$kak_opt_make_error_pattern" ; else printf %s "$kak_opt_make_error_line_pattern"; fi }
|
||||
set-register / %opt{make_error_pattern}
|
||||
execute-keys "%opt{make_current_error_line}ggl" "/<ret>"
|
||||
make-jump
|
||||
}
|
||||
@ -88,7 +86,7 @@ define-command make-next-error -docstring 'Jump to the next make error' %{
|
||||
define-command make-previous-error -docstring 'Jump to the previous make error' %{
|
||||
evaluate-commands -try-client %opt{jumpclient} -save-regs / %{
|
||||
buffer '*make*'
|
||||
set-register / %sh{ if [ "$kak_opt_make_error_pattern" != " (?:fatal )?error:" ] ; then printf %s "^(?:\w:)?[^:\n]+:\d+:(?:\d+:)?$kak_opt_make_error_pattern" ; else printf %s "$kak_opt_make_error_line_pattern"; fi }
|
||||
set-register / %opt{make_error_pattern}
|
||||
execute-keys "%opt{make_current_error_line}g" "<a-/><ret>"
|
||||
make-jump
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user